監査ログ

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

監査ログの概要

Google Cloud サービスでは、Google Cloud プロジェクトおよび組織内で「誰がいつどこで何をしたか」の確認に役立つ監査ログが記録されます。

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

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

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

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

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

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

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

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

監査ログのカテゴリ Cloud Build のオペレーション
管理アクティビティ
  • projects.builds.create
  • projects.builds.cancel
  • projects.builds.approve
  • projects.triggers.create
  • projects.triggers.delete
  • projects.triggers.update
  • Google Cloud 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
    

    プロジェクトまたは組織内で、これらのログ名の末尾には省略形の activity または data_access が付されています。

  • 監視対象のリソースタイプ:

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

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

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

ログを有効にする

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

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

割り当てと制限

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

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

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

ログの表示

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

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

  1. [ログ エクスプローラ] ページを開きます。

    [ログ エクスプローラ] ページに移動

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

  3. 2 番目のメニューで、表示するログの名前を選択します。管理アクティビティの監査ログの場合は activity、データアクセス監査ログの場合は data_access です(ログが使用可能な場合)。

監査ログがログ エクスプローラに表示されます。

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

監査ログのエクスポート

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

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

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

次のステップ