Cloud Build での Cloud Audit Logging の使用

このページでは、Cloud Build によって作成される監査ログについて説明します。

監査ログの概要

Google Cloud Platform サービスは、Google Cloud Platform プロジェクトや組織内で「誰がいつどこで何をしたか」を調べるために役立つ監査ログを記録します。

監査情報は次のカテゴリに分類できます。

  • 管理アクティビティ: Cloud Build リソースの構成またはメタデータを変更するオペレーション。ビルドの作成やキャンセル、トリガーの作成、削除、有効化、無効化、更新を行う API 呼び出しがこのカテゴリに該当します。この監査情報はデフォルトで提供されます。

  • データアクセス(ADMIN_READ): プロジェクト、ビルド、トリガーの構成またはメタデータを読み取るオペレーション。デフォルトでは、この監査情報は提供されません。

  • データアクセス(DATA_READ): リソースからユーザー提供のデータを読み取るオペレーション。デフォルトでは、この監査情報は提供されません。

  • データアクセス(DATA_WRITE): ユーザー提供のデータをリソースに書き込むオペレーション。デフォルトでは、この監査情報は提供されません。

詳細については、Cloud Audit Logging をご覧ください。

監査されるオペレーション

次の表に、各監査ログのカテゴリに該当する Cloud Build API のオペレーションをまとめます。

監査ログのカテゴリ Cloud Build のオペレーション
管理アクティビティ
  • projects.builds.create
  • projects.builds.cancel
  • projects.triggers.create
  • projects.triggers.delete
  • projects.triggers.update
  • Google Cloud Platform Console で [トリガーを実行] ボタンを使用して実行したトリガー
  • IAM ポリシーの作成 / 更新
データアクセス(ADMIN_READ
  • projects.builds.get
  • projects.builds.list
  • projects.triggers.list
  • projects.triggers.get
  • IAM ポリシーの取得
データアクセス(DATA_READ なし
データアクセス(DATA_WRITE なし

他のサービスの監査ログと異なり、Cloud Build は ADMIN_READ データアクセス ログのみ提供し、DATA_READ ログと DATA_WRITE ログを提供しません。これは、DATA_READ ログも DATA_WRITE ログも、ユーザーデータを格納および管理するサービスにのみ使用されるためです。Cloud Build は、ビルドとトリガーを管理構成情報と見なします。

ログにアクセスするための権限

次のユーザーは管理アクティビティ ログを閲覧できます。

次のユーザーは、データアクセス ログを閲覧できます。

IAM 権限の付与方法については、アクセス制御の構成をご覧ください。

監査ログ形式

監査ログエントリの構造は、次のとおりです。

  • 完全なログエントリを含む LogEntry タイプのオブジェクト。
  • LogEntry オブジェクトの protoPayload フィールドに保持されている、AuditLog タイプのオブジェクト。

これらのオブジェクトにどのような情報が保持されているかを知ると監査ログエントリについて理解を深めることができ、ログビューアや Stackdriver Logging API を使用して監査ログエントリを取得するのに役立ちます。

すべての監査ログエントリには、監査ログの名前、リソース、サービスが含まれています。

  • logName: このフィールドは、ログが管理アクティビティの監査ログとデータアクセスの監査ログのどちらであるかを表します。次に例を示します。

    projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity
    projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fdata_access
    organizations/[ORGANIZATION_ID]/logs/cloudaudit.googleapis.com%2Factivity
    organizations/[ORGANIZATION_ID]/logs/cloudaudit.googleapis.com%2Fdata_access
    

    プロジェクトまたは組織内では、これらのログ名の最後には activitydata_access という略称が付きます。

  • モニタリング対象のリソースタイプ:

    • build: 監査対象オペレーションのプロジェクト、ビルド、ビルドトリガーが含まれます。
  • serviceName: Cloud Build の場合、このフィールドには cloudbuild.googleapis.com が含まれます。

    リソースタイプは単一のサービスに属しますが、サービスは複数のリソースタイプを持つことができます。サービスとリソースの一覧については、サービスとリソースのマッピングをご覧ください。

詳細については、監査ログのデータ型をご覧ください。

ログを有効にする

管理者アクティビティ ログはデフォルトで有効になり、ログに記録されます。これらのログは、ログ取り込み割り当ての計算対象になりません。

デフォルトでは、Cloud Build オペレーションに関連するデータアクセス ログは記録されません。プロジェクトまたは組織でデータアクセス監査ログを構成できます。データアクセスに関連するオペレーションのロギングを有効にする方法については、データアクセス ログの構成をご覧ください。

割り当てと制限

管理アクティビティ ログは、ログ取り込み割り当ての計算対象になりません。

データアクセス オペレーションは大量になり、ログ取り込み割り当ての計算対象になります。

詳細については、割り当てと制限をご覧ください。

ログの表示

管理アクティビティの概要を表示するには:

ログを選択してフィルタリングし、詳細を表示するには:

  1. [ログビューア] ページを開きます。

    [ログビューア] ページに移動

  2. 最初のプルダウン メニューで、表示する監査ログのリソースを選択します。特定のプロジェクトまたは [すべてのプロジェクト] を選択します。

  3. 次のメニューで、表示するログ名を選択します。管理アクティビティの監査ログには activity を選択し、データアクセスの監査ログ(ログが利用できる場合)には data_access を選択します。

監査ログがログビューアに表示されます。

ログビューアの高度なフィルタのインターフェースを使用して、リソースタイプとログ名を指定することもできます。詳細については、監査ログの取得をご覧ください。

監査ログのエクスポート

ログの一部またはすべてのコピーを他のアプリケーション、他のリポジトリ、サードパーティにエクスポートすることができます。ログをエクスポートする方法については、ログのエクスポートをご覧ください。

組織では、集約エクスポート シンクを作成して、組織のすべてのプロジェクト、フォルダ、請求先アカウントのログエントリをエクスポートすることができます。他のシンクと同様に、集約エクスポート シンクにも個々のログエントリを選択するフィルタが含まれます。監査ログを集約してエクスポートする方法については、監査ログの選択をご覧ください。

API を使用してログエントリを読み取る方法については、entries.list をご覧ください。SDK を使用してログエントリを読み取る方法については、ログエントリの読み取りをご覧ください。

次のステップ

フィードバックを送信...