在 Google Cloud 中运行合规性审核

安排并执行审核,以收集评估Google Cloud 组织是否符合受支持的框架所需的证据。

审核是一项长时间运行的操作,可能需要几个小时才能完成。审核时长取决于审核范围内的资源数量,审核范围是指您之前注册的组织(预览版)、项目或文件夹。

您可以安排定期运行审核(预览版),并为已安排的审核指定时间范围。只有在特定框架和资源组合尚无有效或已暂停的时间表时,您才能为该框架和资源组合创建时间表。

准备工作

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

    • Audit Manager Admin (roles/auditmanager.admin)
    • Audit Manager Auditor (roles/auditmanager.auditor)
    • Compliance Manager Viewer (roles/cloudsecuritycompliance.viewer)(如果您要审核使用 Compliance Manager 创建的框架,则必须具备此角色)
  • 确保您的组织、项目或文件夹已注册接受审核。

运行审核

控制台

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

    前往 Audit Manager

  2. 选择资源和区域部分,执行以下操作:

    1. 选择需要审核的组织(预览版)、文件夹或项目。

    2. 选择要用于审核资源的框架。如需了解支持的框架,请参阅支持的框架

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

    4. 点击下一步

  3. 选择要用来审核资源的框架,然后点击下一步。如需了解支持的框架,请参阅支持的框架

  4. 可选:在查看评估计划部分,您可以下载一个 ODS 文件,其中包含根据您选择的框架确定的审核范围的相关信息。如需下载该文件,请点击相应链接,然后点击下一步

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

  6. 预览)可选:在时间表部分中,设置以下任一选项:

    • 审核的重复频率(每天、每月、每季度或每年)。

    • 要纳入审核的时间段。如果您选择永不结束,审核将从您指定的开始日期开始持续运行,直到您手动停止为止。

  7. 如需开始审核,请点击运行审核运行预定审核

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

gcloud

可选:生成审核评估

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

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

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

  • RESOURCE_TYPE:资源类型,可以是组织(预览版)、文件夹或项目。例如:foldersprojects
  • RESOURCE_ID:组织(预览版)、项目或文件夹的资源 ID。例如:8767234
  • LOCATION:Audit Manager API 端点的位置。如需查看可用端点的列表,请参阅 Audit Manager 位置。例如:us-central1
  • FRAMEWORK:要进行审核的框架的 ID。例如:builtin-cis-v8。如需查找框架的 ID,请参阅 Audit Manager 中的查看评估页面。
  • AUDIT_REPORT_FORMAT:输出审核报告的格式。 仅支持 ODF 格式:AUDIT_REPORT_FORMAT_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=FRAMEWORK \
    --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=FRAMEWORK `
    --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=FRAMEWORK ^
    --report-format=AUDIT_REPORT_FORMAT ^
    --output-directory=OUTPUT_DIRECTORY ^
    --output-file-name=OUTPUT_FILENAME

运行按需审核

您无法使用 gcloud CLI 安排审核(预览版)或运行组织级报告(预览版)。

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

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

  • RESOURCE_TYPE:资源类型,可以是组织(预览版)、文件夹或项目。例如:foldersprojects
  • RESOURCE_ID:组织(预览版)、项目或文件夹的资源 ID。例如:8767234
  • LOCATION:Audit Manager API 端点的位置。如需查看可用端点的列表,请参阅 Audit Manager 位置。例如:us-central1
  • FRAMEWORK:要进行审核的框架的 ID。例如:builtin-cis-v8。如需查找框架的 ID,请参阅 Audit Manager 中的查看评估页面。
  • BUCKET_URI:Cloud Storage 存储桶的 URI。例如:gs://testbucketauditmanager
  • AUDIT_REPORT_FORMAT:输出审核报告的格式。 仅支持 ODF 格式:AUDIT_REPORT_FORMAT_ODF

执行以下命令:

Linux、macOS 或 Cloud Shell

gcloud audit-manager audit-reports generate \
    --RESOURCE_TYPE=RESOURCE_ID \
    --location=LOCATION \
    --compliance-framework=FRAMEWORK \
    --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=FRAMEWORK `
    --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=FRAMEWORK ^
    --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:资源类型,可以是组织(预览版)、文件夹或项目。例如:foldersprojects
  • RESOURCE_ID:组织(预览版)、项目或文件夹的资源 ID。例如:8767234
  • LOCATION:Audit Manager API 端点的位置。如需查看可用端点的列表,请参阅 Audit Manager 位置。例如:us-central1
  • FRAMEWORK:要进行审核的框架的 ID。例如:builtin-cis-v8。如需查找框架的 ID,请参阅 Audit Manager 中的查看评估页面。
  • AUDIT_REPORT_FORMAT:输出审核报告的格式。 仅支持 ODF 格式:AUDIT_REPORT_FORMAT_ODF

HTTP 方法和网址:

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

请求 JSON 正文:


{
  "compliance_framework" : "FRAMEWORK"
  "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/v1/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/v1/RESOURCE_TYPE/RESOURCE_ID/locations/LOCATION/auditScopesReport:generate" | Select-Object -Expand Content

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

{

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

响应包含以下信息:

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

  • name:适用资源的唯一字符串标识符。

运行按需审核

您无法使用 REST API 安排审核运行(预览版)。

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

  • RESOURCE_TYPE:资源类型,可以是组织(预览版)、文件夹或项目。例如:foldersprojects
  • RESOURCE_ID:组织(预览版)、项目或文件夹的资源 ID。例如:8767234
  • LOCATION:Audit Manager API 端点的位置。如需查看可用端点的列表,请参阅 Audit Manager 位置。例如:us-central1
  • FRAMEWORK:要进行审核的框架的 ID。例如:builtin-cis-v8。如需查找框架的 ID,请参阅 Audit Manager 中的查看评估页面。
  • BUCKET_URI:Cloud Storage 存储桶的 URI。例如:gs://testbucketauditmanager
  • AUDIT_REPORT_FORMAT:输出审核报告的格式。 仅支持 ODF 格式:AUDIT_REPORT_FORMAT_ODF

HTTP 方法和网址:

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

请求 JSON 正文:


{
  "destination" : {
    "gcs_uri" : "BUCKET_URI"
  },
  "compliance_framework" : "FRAMEWORK"
  "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/v1/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/v1/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

更新预定审核

您可以暂停、恢复和停止定期审核。如果您想更改时间安排,必须删除现有的定期审核,然后创建新的定期审核。

控制台

  1. 在 Google Cloud 控制台中,前往 Audit Manager 中的审核管理页面。

    前往 Audit Manager

  2. 安排标签页中,找到要更新的已安排审核。

  3. 执行下列其中一项操作:

    • 如需暂停审核安排,请点击 暂停安排

    • 如需重新开始已暂停的审核,请点击 恢复时间表

    • 如需删除已安排的审核,请点击 停止安排

后续步骤