Cloud Audit Logging

Cloud Audit Logging では、プロジェクトおよび組織ごとに、管理アクティビティデータアクセスという 2 つの監査ログが維持されます。Google Cloud Platform サービスによって、これらのログに監査ログエントリが書き込まれ、Google Cloud Platform のプロジェクト内で「誰が、何を、どこで、いつ行ったか」という質問に答えるのに役立ちます。

監査ログを書き込む Cloud Platform サービスの一覧については、監査ログを書き込むサービスをご覧ください。最終的には、Cloud Platform のすべてのサービスが監査ログを書き込むようになります。

管理アクティビティ ログ

管理アクティビティ ログには、リソースの設定またはメタデータを変更する API 呼び出しやその他の管理アクションのログエントリが含まれます。たとえば、VM インスタンスおよび App Engine アプリケーションの作成時や権限の変更時にログに記録されます。ログを表示するには、Logging / ログ閲覧者またはプロジェクト / 閲覧者という IAM 役割が必要です。

管理アクティビティ ログは常に有効です。管理アクティビティ監査ログは無料で使用できます。詳細については、ログの割り当てと超過料金をご覧ください。

データアクセス ログ

データアクセス監査ログには、ユーザー提供データを作成、変更、または読み込む API 呼び出しが記録されます。ログを表示するには、Logging / プライベート ログ閲覧者またはプロジェクト / オーナーという IAM 役割が必要です。

データアクセス監査ログは、非常に大きくなる可能性があるため、デフォルトで無効になっています。ログを有効にすると、追加のログ使用量がプロジェクトに対して請求される可能性があります。

BigQuery のデータアクセス ログは、他のデータアクセス ログとは異なる方法で処理されます。BigQuery ログはデフォルトで有効になっており、無効にすることはできません。それらはログの割り当てにはカウントされず、追加のログ請求はありません。

データアクセス ログを有効にして設定するには、データアクセス ログの設定をご覧ください。

ログの割り当てと請求の詳細については、ログの割り当てと超過料金をご覧ください。

監査ログの表示

プロジェクトの [アクティビティ] ページ、ログビューア、Stackdriver Logging API、Cloud SDK で監査ログエントリを表示できます。監査ログエントリを Cloud Storage、BigQuery、Cloud Pub/Sub にエクスポートすることもできます。

ログを表示するには、管理アクティビティ ログの場合は Logging / ログ閲覧者、データアクセス ログの場合は Logging / プライベート ログ閲覧者という IAM 役割が必要です。Stackdriver Logging の役割の詳細については、アクセス制御をご覧ください。

監査ログエントリの構造

すべての監査ログエントリには、監査ログの名前、リソース、サービスが含まれています。これらの名前を使用して、監査ログエントリをフィルタリングできます。

  • ログ名: 監査ログエントリは、プロジェクトおよび組織内のログに属します。ログ名は次のとおりです。

    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
    

    プロジェクトまたは組織内では、これらのログ名は通常、アクティビティおよびデータアクセスと略されます。

  • リソース: 各監査ログエントリには、なんらかのリソースが含まれています。たとえば、単一の Compute Engine VM インスタンスまたはすべての VM インスタンスからの監査ログエントリを表示できます。リソースタイプの一覧については、モニタリング対象リソースタイプをご覧ください。

  • サービス: サービスは、Compute Engine、Cloud SQL、Cloud Pub/Sub などの個別のプロダクトです。各サービスは名前で識別されます。Compute Engine は compute.googleapis.com、Cloud SQL は cloudsql.googleapis.com などです。

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

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

[アクティビティ] ページの使用

GCP Console のプロジェクトの [アクティビティ] ページで、短縮された監査ログエントリを表示できます。[ホーム] > [アクティビティ] ページを参照してください。[フィルタ] を使用して、表示するエントリを選択します。実際の監査ログエントリには、[アクティビティ] ページに表示される情報よりも多くの情報が含まれている場合があります。

[アクティビティ] ページに移動

ログビューアの使用

すべての監査ログエントリの詳細は、GCP Console のログビューアを使用して表示できます。

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

ログビューアの基本表示インターフェースで監査ログを表示するには、メニューを使用してリソースまたはリソースタイプを選択し、ログ activity または data_access を選択します。たとえば、Cloud Storage バケットの管理アクティビティ監査ログを探している場合は、リソースタイプ GCS Bucket とログ名 activity を選択します。

ログビューアの高度なフィルタ インターフェースで、表示する監査ログエントリを選択する高度なログフィルタを入力します。いくつかの例を次に示します。

  • プロジェクト内のすべての監査ログエントリを検索します。

    logName = ("projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity" OR
               "projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fdata_access")
    
  • 1 つの Compute Engine VM インスタンスの管理アクティビティ ログを検索します。

    resource.type = gce_instance AND
    resource.labels.instance_id = "[INSTANCE_ID]" AND
    logName  = "projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity"
    

監査ログエントリの特定のフィールドを調べるには、ログビューアでサンプルを参照するか、監査ログのデータ型をご覧ください。

ログフィルタの詳細については、高度なログフィルタをご覧ください。

API の使用

監査ログエントリを取得するには、Stackdriver Logging API メソッド entries.list を使用します。メソッドにフィルタを渡して、監査ログエントリを選択します。

Cloud SDK の使用

ログエントリを読み取るには、次の Cloud SDK コマンドを使用します。

gcloud logging read [FILTER]

[FILTER] を使用して、必要な監査ログエントリを選択します。前のセクションの例をご覧ください。

Stackdriver Logging コマンドラインインターフェースの詳細については、gcloud ロギングをご覧ください。

監査ログのエクスポート

監査ログエントリを Stackdriver Logging の外部にエクスポートするには、ログシンクを作成します。エクスポートする監査ログエントリを選択するフィルタをシンクに指定します。

監査ログの保持期間

個々の監査ログエントリは、一定期間保持され、その後削除されます。ログエントリの保持期間は、Stackdriver Logging の割り当てポリシーで説明されています。監査ログとそのエントリを、これ以外の方法で削除したり変更したりすることはできません。

監査ログのタイプ 保持期間
管理アクティビティ監査ログ 400 日(プレミアム階層)
400 日(基本階層)
データアクセス監査ログ 30 日(プレミアム階層)
7 日(基本階層)

Stackdriver のプレミアム サービス階層と基本サービス階層の詳細については、Stackdriver の料金をご覧ください。

ログを長く保持したい場合は、Stackdriver Logging のその他のログエントリと同様に監査ログのエントリをエクスポートすれば、いつまでも保持できます。

監査ログのユーザー ID

監査ログには、ログに記録された操作を実行したユーザーの ID が記録されます。ID は、AuditLog オブジェクトの AuthenticationInfo フィールドに保持されます。

次の状況では、ユーザー ID は利用できないか、特定できないように編集されます。

  • すべての監査ログ: プライバシー上の理由から、「アクセスが拒否されました」エラーとなるすべての読み取り専用オペレーションについて、主要メールアドレスが編集されます。

  • App Engine: ID はレガシー App Engine API から収集されません。

  • BigQuery: 現在、監査ログ内の ID と発信者 IP アドレスは特定できないように編集されます。ただし、次のいずれかの条件が満たされる場合はその限りでありません。

    • ユーザーがサービス アカウントである。
    • ユーザーが、プロジェクトに関連付けられた承認済みドメインのメンバーである。
    • ユーザーが、プロジェクトでクエリを実行する権限を持ち、そのアクションが管理アクションか job.insert アクションである。

監査ログを生成するサービス

次のサービスによって、管理アクティビティ監査ログまたはデータアクセス監査ログが書き込まれます。データアクセス ログを有効にするには、データアクセス ログの設定をご覧ください。

監査ログを持つサービス 管理
アクティビティ
データ
アクセス
備考
App Engine 一般提供 なし1
Application Identity ベータ版 なし1 OAuth 2.0 のクライアント ID とブランドを監査します。
BigQuery 一般提供 一般提供2
Cloud Bigtable ベータ版 なし1
Cloud Billing ベータ版 なし1
Cloud Dataflow 一般提供 なし1
Cloud Dataproc 一般提供 一般提供
Cloud Deployment Manager 一般提供 一般提供
Cloud DNS 一般提供 一般提供
Cloud Functions ベータ版 ベータ版
Cloud Identity and Access Management(IAM) 一般提供 一般提供 サービス アカウント API を監査します。
Cloud Identity-Aware Proxy(IAP) なし3 一般提供
Cloud Key Management Service(KMS) 一般提供 一般提供
Cloud ML Engine ベータ版 ベータ版
Cloud Resource Manager 一般提供 なし1 プロジェクト API を監査します。
Cloud Spanner ベータ版 なし1
Cloud SQL 一般提供 一般提供
Cloud Storage 一般提供 一般提供 リクエスト / レスポンスの情報はまだ含まれていません。
Compute Engine 一般提供 一般提供
Compute Engine シリアルポート アクセス 一般提供 なし1
Container Builder 一般提供 一般提供
Kubernetes Engine ベータ版 ベータ版
Genomics ベータ版 ベータ版
Google Service Management 一般提供 なし1
Stackdriver Debugger 一般提供 一般提供
Stackdriver Error Reporting 一般提供 一般提供
Stackdriver ログ 一般提供 一般提供
Stackdriver Monitoring 一般提供 一般提供

1: このサービスではデータアクセス ログは生成されません。
2: BigQuery のデータアクセス ログはデフォルトで有効になっており、ログの割り当てにはカウントされません。
3: このサービスでは管理アクティビティ ログは生成されません。

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