如何配置审计日志保留期以满足等保 2.0 要求?

解读

面试官抛出此题,核心想验证三件事:

  1. 你是否准确理解等保 2.0 对“审计日志留存≥6 个月”的刚性条款
  2. 能否把Google Cloud SQL 原生能力与国内合规要求无缝映射,而不是生搬硬套;
  3. 是否具备落地闭环思维:配置→验证→防篡改→成本治理,形成可审计的证据链。
    在国内金融、政务云项目中,若答不出“6 个月”或只提 Cloud Logging 默认 30 天,会被直接判为“合规风险”,面试即挂。

知识点

  1. 等保 2.0 通用要求安全审计控制点(安全区域边界、安全计算环境):审计记录留存不少于 6 个月
  2. Cloud SQL 审计日志类型:ADMIN_READ、ADMIN_WRITE、DATA_READ、DATA_WRITE,统一归入Cloud Loggingcloudsql.googleapis.com 服务桶。
  3. 日志桶保留策略:默认 30 天,可通过自定义日志桶(_Default、_Required 之外自建)设置保留 180 天;如需更长,可叠加**Log Storage 桶锁(Bucket Lock)**防篡改。
  4. 国内合规交付常要求日志在中国境内存储:需选用Google Cloud 中国合作伙伴托管的 Cloud Logging 分区(如北京/上海 region),否则需导出至满足本地化存储的 BigQuery Dataset 或 Cloud Storage 桶(Region=asia-east2/asia-east1)
  5. 成本与权限:保留 6 个月日志,每 GiB 每月约 0.01 USD,需提前算入FinOps 预算;同时授予审计员(IAM 角色:roles/logging.viewer + roles/bigquery.dataViewer)只读权限,防止运维人员自改自删。
  6. 证据链闭环:Cloud Audit Logs + VPC Service Controls 边界 + Bucket Lock + 日志完整性校验(Signed URL + SHA256),可应对等保现场测评的**“日志是否被篡改”**抽检。

答案

分五步落地,每一步都给出可复现的命令与合规证据

  1. 创建合规日志桶
    中国境内项目执行:
    gcloud logging buckets create cloudsql_audit_cn \
    --location=asia-east2 \
    --retention-days=180 \
    --description="等保2.0 Cloud SQL审计日志留存6个月"
    关键点:location 必须选asia-east2(香港)或合作伙伴境内 region,否则日志物理落地不在中国,等保测评会被开不符合项。

  2. 将 Cloud SQL 审计日志路由到该桶
    创建 sink:
    gcloud logging sinks create cloudsql_audit_sink \
    logging.googleapis.com/projects/PROJECT_ID/locations/asia-east2/buckets/cloudsql_audit_cn \
    --log-filter='resource.type="cloudsql_database" AND (protoPayload.methodName:"cloudsql.instances" OR protoPayload.methodName:"cloudsql.databases")' \
    --include-children
    授予 sink 写权限:
    gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="serviceAccount:cloudsql_audit_sink@PROJECT_ID.iam.gserviceaccount.com" \
    --role="roles/logging.bucketWriter"

  3. 启用桶锁(防篡改)
    等保测评会抽检“能否事后删除”,需Bucket Lock
    gcloud logging buckets update cloudsql_audit_cn \
    --location=asia-east2 \
    --locked
    锁定后 7 天内可回退,7 天后不可删除,满足“不可否认”条款

  4. 验证留存期与完整性
    ① 查询最早日志:
    gcloud logging read 'resource.type="cloudsql_database"' \
    --bucket=cloudsql_audit_cn \
    --limit=1 \
    --order=asc \
    --freshness=180d
    ② 使用Logs Integrity Verification API生成SHA256 校验和,打印结果截屏作为等保测评证据

  5. 成本与权限收口
    Terraform 模板中固化:
    resource "google_logging_project_bucket_config" "sql_audit" {
    project = var.project_id
    location = "asia-east2"
    retention_days = 180
    bucket_id = "cloudsql_audit_cn"
    locked = true
    }
    同时创建自定义角色:roles/cloudsql.auditReader(仅 logs.view + bigquery.read),授予第三方审计机构,实现权限最小化

完成以上五步,即可在等保 2.0 现场测评中出具180 天不可篡改的 Cloud SQL 审计日志,闭环合规。

拓展思考

  1. 如果客户要求**“1 年”而非 6 个月,只需把 retention-days 调到 365,但需评估日志量*单价≈成本翻倍**;可叠加Cloud Storage 归档桶(Archive class)双轨:热日志 180 天 + 冷日志 1 年,既满足条款又降 40% 费用。
  2. 多云混合场景:部分日志在阿里云 RDS,需在Google Cloud侧做统一日志湖;可用BigQuery Omni(asia-east1)跨云查询,但注意跨境数据流动安全评估,需通过网信办数据出境安全评估方可落地。
  3. 面试官可能追问“如果 Google 方运维人员误删日志桶怎么办?”——可答:Bucket Lock 后连 project owner 都无法删除;再叠加VPC Service Controls 感知型边界,把logging.googleapis.com加入perimeterGoogle 内部运维账号也被拒,实现**“双因子”防篡改**,此答案可体现零信任深度防御思维,直接加分。