如何配置审计日志保留期以满足等保 2.0 要求?
解读
面试官抛出此题,核心想验证三件事:
- 你是否准确理解等保 2.0 对“审计日志留存≥6 个月”的刚性条款;
- 能否把Google Cloud SQL 原生能力与国内合规要求无缝映射,而不是生搬硬套;
- 是否具备落地闭环思维:配置→验证→防篡改→成本治理,形成可审计的证据链。
在国内金融、政务云项目中,若答不出“6 个月”或只提 Cloud Logging 默认 30 天,会被直接判为“合规风险”,面试即挂。
知识点
- 等保 2.0 通用要求安全审计控制点(安全区域边界、安全计算环境):审计记录留存不少于 6 个月。
- Cloud SQL 审计日志类型:ADMIN_READ、ADMIN_WRITE、DATA_READ、DATA_WRITE,统一归入Cloud Logging的
cloudsql.googleapis.com服务桶。 - 日志桶保留策略:默认 30 天,可通过自定义日志桶(_Default、_Required 之外自建)设置保留 180 天;如需更长,可叠加**Log Storage 桶锁(Bucket Lock)**防篡改。
- 国内合规交付常要求日志在中国境内存储:需选用Google Cloud 中国合作伙伴托管的 Cloud Logging 分区(如北京/上海 region),否则需导出至满足本地化存储的 BigQuery Dataset 或 Cloud Storage 桶(Region=asia-east2/asia-east1)。
- 成本与权限:保留 6 个月日志,每 GiB 每月约 0.01 USD,需提前算入FinOps 预算;同时授予审计员(IAM 角色:roles/logging.viewer + roles/bigquery.dataViewer)只读权限,防止运维人员自改自删。
- 证据链闭环:Cloud Audit Logs + VPC Service Controls 边界 + Bucket Lock + 日志完整性校验(Signed URL + SHA256),可应对等保现场测评的**“日志是否被篡改”**抽检。
答案
分五步落地,每一步都给出可复现的命令与合规证据。
-
创建合规日志桶
在中国境内项目执行:
gcloud logging buckets create cloudsql_audit_cn \
--location=asia-east2 \
--retention-days=180 \
--description="等保2.0 Cloud SQL审计日志留存6个月"
关键点:location 必须选asia-east2(香港)或合作伙伴境内 region,否则日志物理落地不在中国,等保测评会被开不符合项。 -
将 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" -
启用桶锁(防篡改)
等保测评会抽检“能否事后删除”,需Bucket Lock:
gcloud logging buckets update cloudsql_audit_cn \
--location=asia-east2 \
--locked
锁定后 7 天内可回退,7 天后不可删除,满足“不可否认”条款。 -
验证留存期与完整性
① 查询最早日志:
gcloud logging read 'resource.type="cloudsql_database"' \
--bucket=cloudsql_audit_cn \
--limit=1 \
--order=asc \
--freshness=180d
② 使用Logs Integrity Verification API生成SHA256 校验和,打印结果截屏作为等保测评证据。 -
成本与权限收口
在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 年”而非 6 个月,只需把 retention-days 调到 365,但需评估日志量*单价≈成本翻倍**;可叠加Cloud Storage 归档桶(Archive class)做双轨:热日志 180 天 + 冷日志 1 年,既满足条款又降 40% 费用。
- 多云混合场景:部分日志在阿里云 RDS,需在Google Cloud侧做统一日志湖;可用BigQuery Omni(asia-east1)跨云查询,但注意跨境数据流动安全评估,需通过网信办数据出境安全评估方可落地。
- 面试官可能追问“如果 Google 方运维人员误删日志桶怎么办?”——可答:Bucket Lock 后连 project owner 都无法删除;再叠加VPC Service Controls 感知型边界,把logging.googleapis.com加入perimeter,Google 内部运维账号也被拒,实现**“双因子”防篡改**,此答案可体现零信任深度防御思维,直接加分。