Google Cloud でコンプライアンス監査を実行する

監査を実施して、コンプライアンス フレームワークに対してGoogle Cloud 組織を評価するために必要な証拠を収集します。

監査は長時間実行オペレーションであり、数時間かかることがあります。所要時間は、監査範囲内のリソースの数によって異なります。監査範囲は、以前に登録したプロジェクトまたはフォルダです。

始める前に

  • 次のいずれかの IAM ロールがあることを確認します。

    • Audit Manager 管理者(roles/auditmanager.admin
    • Audit Manager 監査者(roles/auditmanager.auditor
  • カスタム コンプライアンス フレームワーク(プレビュー)に対して監査を実行する場合は、監査マネージャーのカスタム コンプライアンス フレームワーク閲覧者(roles/auditmanager.ccfViewer)の IAM ロールがあることを確認します。

  • プロジェクトまたはフォルダが監査に登録されていることを確認します。

監査を実行する

コンソール

  1. Google Cloud コンソールで、Audit Manager の [Run assessment] ページに移動します。

    監査マネージャーに移動

  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: Audit Manager 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: Audit Manager 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: Audit Manager 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 メソッドと URL:

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: Audit Manager 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 メソッドと URL:

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 形式に変換する必要があります。

次のステップ