在 Google Cloud 中运行合规性审核

执行审核,以收集评估您的Google Cloud 组织是否符合合规性框架所需的证据。

审核是一项长时间运行的操作,可能需要几个小时。时长取决于审核范围内的资源数量,即您之前注册的项目或文件夹。

准备工作

  • 确保您拥有以下 IAM 角色之一:

    • Audit Manager Admin (roles/auditmanager.admin)
    • Audit Manager Auditor (roles/auditmanager.auditor)
  • 如果您想针对自定义合规性框架(预览版)运行审核,请确保您拥有 Audit Manager Custom Compliance Framework Viewer (roles/auditmanager.ccfViewer) IAM 角色。

  • 确保您的项目或文件夹已注册以进行审核。

运行审核

控制台

  1. 在 Google Cloud 控制台中,前往 Audit Manager 中的运行评估页面。

    前往“审核管理器”

  2. 选择资源和法规部分中,执行以下操作:

    1. 选择需要审核的项目或文件夹。

    2. 选择要用来审核资源的合规性框架。 您可以从可用框架列表中选择内置或自定义合规性框架(预览版)。如需了解详情,请参阅支持的合规性框架

    3. 选择必须在哪个位置处理审核评估。如需查看受支持位置的列表,请参阅 Audit Manager 位置

    4. 点击下一步

  3. 可选:在查看评估计划部分中,您可以下载一个 ODS 文件,其中包含有关审核范围的信息,这些信息基于您选择的合规性框架。如需下载该文件,请点击相应链接,然后点击下一步

  4. 选择存储桶部分中,选择必须保存审核报告和证据的存储桶,然后点击完成。如果您的存储桶未列出,请让管理员将您的资源与存储桶相关联

  5. 如需开始审核,请点击运行审核

    您可以在查看评估页面上查看审核状态。

gcloud

可选:生成审核评估

在运行实际审核之前,您可以生成审核评估(或范围),其中包含根据您选择的合规性框架进行的详细审核任务分解。

gcloud audit-manager audit-scopes generate 命令会生成审核范围。

在使用下面的命令数据之前,请先进行以下替换:

  • RESOURCE_TYPE:资源类型,可以是项目或文件夹。例如:folder
  • RESOURCE_ID:项目或文件夹的资源 ID。例如:8767234
  • LOCATION:审核管理器 API 端点的位置。如需查看可用端点的列表,请参阅 Audit Manager 位置。例如:us-central1
  • COMPLIANCE_TYPE:要根据哪个合规性框架进行审核。
    • 对于内置合规性框架,请指定要进行审核的框架的名称。 例如:CIS_CONTROLS_V8
    • 对于自定义合规性框架(预览版),请按以下格式指定框架名称:
      organizations/ORG_ID/locations/global/customComplianceFrameworks/CUSTOM_COMPLIANCE_FRAMEWORK_ID
          
    • 替换以下内容:
      • ORG_ID:组织 ID
      • CUSTOM_COMPLIANCE_FRAMEWORK_ID:自定义合规性框架的 ID
  • AUDIT_REPORT_FORMAT:输出审核报告的格式。 仅支持 ODF 格式:odf
  • OUTPUT_DIRECTORY:必须存储输出的目录。例如:reports
  • OUTPUT_FILENAME:输出文件的名称。请勿在文件名中添加文件扩展名。例如:scopeReport

执行以下命令:

Linux、macOS 或 Cloud Shell

gcloud audit-manager audit-scopes generate \
    --RESOURCE_TYPE=RESOURCE_ID \
    --location=LOCATION \
    --compliance-framework=COMPLIANCE_TYPE \
    --report-format=AUDIT_REPORT_FORMAT \
    --output-directory=OUTPUT_DIRECTORY \
    --output-file-name=OUTPUT_FILENAME

Windows (PowerShell)

gcloud audit-manager audit-scopes generate `
    --RESOURCE_TYPE=RESOURCE_ID `
    --location=LOCATION `
    --compliance-framework=COMPLIANCE_TYPE `
    --report-format=AUDIT_REPORT_FORMAT `
    --output-directory=OUTPUT_DIRECTORY `
    --output-file-name=OUTPUT_FILENAME

Windows (cmd.exe)

gcloud audit-manager audit-scopes generate ^
    --RESOURCE_TYPE=RESOURCE_ID ^
    --location=LOCATION ^
    --compliance-framework=COMPLIANCE_TYPE ^
    --report-format=AUDIT_REPORT_FORMAT ^
    --output-directory=OUTPUT_DIRECTORY ^
    --output-file-name=OUTPUT_FILENAME

运行审核

gcloud audit-manager audit-reports generate 命令会运行审核。

在使用下面的命令数据之前,请先进行以下替换:

  • RESOURCE_TYPE:资源类型,可以是项目或文件夹。例如:folder
  • RESOURCE_ID:项目或文件夹的资源 ID。例如:8767234
  • LOCATION:审核管理器 API 端点的位置。如需查看可用端点的列表,请参阅 Audit Manager 位置。例如:us-central1
  • COMPLIANCE_TYPE:要根据哪个合规性框架进行审核。
    • 对于内置合规性框架,请指定要进行审核的框架的名称。 例如:CIS_CONTROLS_V8
    • 对于自定义合规性框架(预览版),请按以下格式指定框架名称:
      organizations/ORG_ID/locations/global/customComplianceFrameworks/CUSTOM_COMPLIANCE_FRAMEWORK_ID
           
    • 替换以下内容:
      • ORG_ID:组织 ID
      • CUSTOM_COMPLIANCE_FRAMEWORK_ID:自定义合规性框架的 ID
  • BUCKET_URI:Cloud Storage 存储桶的 URI。例如:gs://testbucketauditmanager
  • AUDIT_REPORT_FORMAT:输出审核报告的格式。 仅支持 ODF 格式:odf

执行以下命令:

Linux、macOS 或 Cloud Shell

gcloud audit-manager audit-reports generate \
    --RESOURCE_TYPE=RESOURCE_ID \
    --location=LOCATION \
    --compliance-framework=COMPLIANCE_TYPE \
    --report-format=AUDIT_REPORT_FORMAT \
    --gcs-uri=BUCKET_URI

Windows (PowerShell)

gcloud audit-manager audit-reports generate `
    --RESOURCE_TYPE=RESOURCE_ID `
    --location=LOCATION `
    --compliance-framework=COMPLIANCE_TYPE `
    --report-format=AUDIT_REPORT_FORMAT `
    --gcs-uri=BUCKET_URI

Windows (cmd.exe)

gcloud audit-manager audit-reports generate ^
    --RESOURCE_TYPE=RESOURCE_ID ^
    --location=LOCATION ^
    --compliance-framework=COMPLIANCE_TYPE ^
    --report-format=AUDIT_REPORT_FORMAT ^
    --gcs-uri=BUCKET_URI

您应该会收到类似如下所示的响应:

done: false
name: projects/10398413/locations/987234/operations/operation-1726842525305-6228ddb4dca96-78a6db59-f9dd9a24

REST

可选:生成审核评估

在运行实际审核之前,您可以生成审核评估(或范围),其中包含根据您选择的合规性框架进行的详细审核任务分解。

在使用任何请求数据之前,请先进行以下替换:

  • RESOURCE_TYPE:资源类型,可以是项目或文件夹。例如:folder
  • RESOURCE_ID:项目或文件夹的资源 ID。例如:8767234
  • LOCATION:审核管理器 API 端点的位置。如需查看可用端点的列表,请参阅 Audit Manager 位置。例如:us-central1
  • COMPLIANCE_TYPE:要根据哪个合规性框架进行审核。
    • 对于内置合规性框架,请指定要进行审核的框架的名称。 例如:CIS_CONTROLS_V8
    • 对于自定义合规性框架(预览版),请按以下格式指定框架名称:
      organizations/ORG_ID/locations/global/customComplianceFrameworks/CUSTOM_COMPLIANCE_FRAMEWORK_ID
          
    • 替换以下内容:
      • ORG_ID:组织 ID
      • CUSTOM_COMPLIANCE_FRAMEWORK_ID:自定义合规性框架的 ID
  • AUDIT_REPORT_FORMAT:输出审核报告的格式。 仅支持 ODF 格式:odf
  • OUTPUT_DIRECTORY:必须存储输出的目录。例如:reports
  • OUTPUT_FILENAME:输出文件的名称。请勿在文件名中添加文件扩展名。例如:scopeReport

HTTP 方法和网址:

POST https://auditmanager.googleapis.com/RESOURCE_TYPE/RESOURCE_ID/locations/LOCATION/auditScopesReport:generate

请求 JSON 正文:


{
  "compliance_framework" : "COMPLIANCE_TYPE"
  "report_format" : "AUDIT_REPORT_FORMAT"
}

如需发送请求,请选择以下方式之一:

curl

将请求正文保存在名为 request.json 的文件中,然后执行以下命令:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://auditmanager.googleapis.com/RESOURCE_TYPE/RESOURCE_ID/locations/LOCATION/auditScopesReport:generate"

PowerShell

将请求正文保存在名为 request.json 的文件中,然后执行以下命令:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://auditmanager.googleapis.com/RESOURCE_TYPE/RESOURCE_ID/locations/LOCATION/auditScopesReport:generate" | Select-Object -Expand Content

您应该收到类似以下内容的 JSON 响应:

{

  "scope_report_contents" : "980u43nrf090834uhbkfehf......"
  "name" : "folders/8767234/locations/us-west"
}

运行审核

在使用任何请求数据之前,请先进行以下替换:

  • RESOURCE_TYPE:资源类型,可以是项目或文件夹。例如:folder
  • RESOURCE_ID:项目或文件夹的资源 ID。例如:8767234
  • LOCATION:审核管理器 API 端点的位置。如需查看可用端点的列表,请参阅 Audit Manager 位置。例如:us-central1
  • COMPLIANCE_TYPE:要根据哪个合规性框架进行审核。
    • 对于内置合规性框架,请指定要进行审核的框架的名称。 例如:CIS_CONTROLS_V8
    • 对于自定义合规性框架(预览版),请按以下格式指定框架名称:
      organizations/ORG_ID/locations/global/customComplianceFrameworks/CUSTOM_COMPLIANCE_FRAMEWORK_ID
           
    • 替换以下内容:
      • ORG_ID:组织 ID
      • CUSTOM_COMPLIANCE_FRAMEWORK_ID:自定义合规性框架的 ID
  • BUCKET_URI:Cloud Storage 存储桶的 URI。例如:gs://testbucketauditmanager
  • AUDIT_REPORT_FORMAT:输出审核报告的格式。 仅支持 ODF 格式:odf

HTTP 方法和网址:

POST https://auditmanager.googleapis.com/RESOURCE_TYPE/RESOURCE_ID/locations/LOCATION//auditReport:generate

请求 JSON 正文:


{
  "destination" : {
    "gcs_uri" : "BUCKET_URI"
  },
  "compliance_framework" : "COMPLIANCE_TYPE"
  "report_format" : "AUDIT_REPORT_FORMAT"
}

如需发送请求,请选择以下方式之一:

curl

将请求正文保存在名为 request.json 的文件中,然后执行以下命令:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://auditmanager.googleapis.com/RESOURCE_TYPE/RESOURCE_ID/locations/LOCATION//auditReport:generate"

PowerShell

将请求正文保存在名为 request.json 的文件中,然后执行以下命令:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://auditmanager.googleapis.com/RESOURCE_TYPE/RESOURCE_ID/locations/LOCATION//auditReport:generate" | Select-Object -Expand Content

您应该收到类似以下内容的 JSON 响应:

{
  "name": "organizations/834/projects/10398413/locations/987234/operations/098234",
  "done": false
}

响应包含以下信息:

  • name:审核评估操作请求的唯一字符串标识符。 此标识符用于跟踪审核评估流程的进度。例如:operation/098234
  • done:一个布尔值标志,设置为 false 表示进程已被触发。审核评估完成后,此属性会设置为 true

scope_reports_contents 字段是内容的字节格式,必须先转换为 ODF 格式,然后才能进行审核。

后续步骤