Cloud Audit Logging

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

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

管理アクティビティ ログ

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

管理アクティビティ ログは常に有効です。管理アクティビティ監査ログは無料で使用できます。詳細については、ロギングの使用制限をご覧ください。

システム イベント ログ

システム イベント ログには、Compute Engine によって実行されたシステム イベントに関するログエントリが含まれます。たとえば、各ライブ マイグレーションがシステム イベントとして記録されます。ログを表示するには、Logging / ログ閲覧者またはプロジェクト / 閲覧者という Cloud Identity and Access Management 役割が必要です。

システム イベント ログは常に有効です。システム イベント監査ログは無料で使用できます。詳細については、ロギングの使用制限をご覧ください。

データアクセス ログ

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

データアクセス監査ログには、一般公開リソース(すべてのユーザーまたはすべての認証済みユーザーが利用可能)や GCP にログインせずにアクセスできるリソースに対して、上記のデータアクセス オペレーションは記録されません。

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

BigQuery のデータアクセス ログは、他のデータアクセス ログとは異なる方法で処理されます。BigQuery ログはデフォルトで有効になっており、無効にすることはできません。これらはログ割り当てにカウントされません。データアクセス ログを有効にして構成するには、データアクセス ログの構成をご覧ください。

ログ割り当ての詳細については、ロギングの使用制限をご覧ください。

監査ログの表示

プロジェクトの [アクティビティ] ページ、ログビューア、Stackdriver Logging API、Cloud SDK で監査ログエントリを表示できます。監査ログエントリを Stackdriver Logging または 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
    projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fsystem_event
    organizations/[ORGANIZATION_ID]/logs/cloudaudit.googleapis.com%2Factivity
    organizations/[ORGANIZATION_ID]/logs/cloudaudit.googleapis.com%2Fsystem_event
    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 Functions サービスのデータアクセス監査ログを探す場合は、リソースタイプ Cloud Function とログ名 data_access を選択します。

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

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

    logName = ("projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity" OR
               "projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fdata_access" OR
               "projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fsystem_event")
    
  • 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] を使用して、必要な監査ログエントリを選択します。例:

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

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

監査ログのエクスポート

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

監査ログの保持期間

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

監査ログのタイプ 保持期間
管理アクティビティ 400 日
データアクセス 30 日
システム イベント 400 日

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

監査ログのユーザー ID

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

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

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

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

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

    • これは読み取り専用アクセスではありません。
    • ユーザーはプロジェクトに属しているサービス アカウントです。
    • ユーザーは、プロジェクトに関連付けられたドメインのメンバーです。

    このコンテキストのプロジェクト ドメインは、BigQuery の設定です。プロジェクトに関連付けられたドメインを変更したい場合は、BigQuery サポートにお問い合わせください。

    プロジェクト間のアクセスに適用される追加のルールがあります。

    ここで、課金プロジェクトは要求を発行するプロジェクトであり、データ プロジェクトはリソースがジョブの実行中にもアクセスされるプロジェクトです。たとえば、データ プロジェクトからテーブルデータを読み込む課金プロジェクトのクエリジョブです。

    課金プロジェクトのリソース ID は、プロジェクトに同じドメインが関連付けられているか、同じ組織に属していない限り、データ プロジェクト ログから編集されます。

    上記のいずれかの条件が当てはまる場合を除いて、ID と発信者の IP アドレスはデータ プロジェクト ログから編集されます。

    • 課金プロジェクトとデータ プロジェクトが同じドメインに関連付けられているか、同じ組織内にあり、課金プロジェクトにすでに ID と発信者の IP アドレスが含まれています。
    • ユーザーがプロジェクトでクエリを実行する権限を持ち、アクションは job.insert アクションです。

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

次の表は、管理アクティビティまたはデータアクセスの監査ログを書き込む Google Cloud Platform サービスを示しています。GA は、サービスに対してログタイプが一般的に利用可能であることを示します。ベータは、ログタイプが利用可能であるものの、下位互換性のない方法で変更される可能性があり、SLA または非推奨ポリシーの対象ではないことを示します。

Compute Engine は、システム イベント監査ログを生成する唯一のサービスです。

Stackdriver Logging API サービス名の一覧については、サービスとリソースのマッピングをご覧ください。

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

監査ログを持つサービス 管理
アクティビティ
ログ
データ
アクセス
ログ
App Engine GA なし1
Application Identity4 ベータ なし1
BigQuery GA GA2
Cloud AutoML ベータ ベータ
Cloud Bigtable ベータ なし1
Cloud Billing ベータ なし1
Cloud Composer 一般提供 なし1
Cloud Dataflow GA なし1
Cloud Dataproc GA GA
Cloud Datastore6 GA GA
Cloud Deployment Manager GA GA
Cloud Data Loss Prevention API GA GA
Cloud DNS GA GA
Cloud Functions ベータ ベータ
Cloud Genomics ベータ ベータ
Cloud Identity and Access Management GA GA
Cloud Identity-Aware Proxy なし3 GA
Cloud IoT Core GA GA
Cloud Key Management Service GA GA
Cloud Memorystore ベータ ベータ
Cloud Machine Learning ベータ ベータ
Cloud Pub/Sub ベータ ベータ
Cloud Source Repositories ベータ ベータ
Cloud Spanner GA GA
Cloud SQL GA GA
Cloud Storage5 GA GA
Compute Engine GA GA
Compute Engine シリアルポート アクセス GA なし1
Cloud Build 一般提供 GA
Dialogflow Enterprise Edition なし3 ベータ
Google Kubernetes Engine ベータ ベータ
Service Management GA なし1
Resource Manager GA GA
Stackdriver Debugger GA GA
Stackdriver Error Reporting GA GA
Stackdriver Logging GA GA
Stackdriver Monitoring GA GA
Stackdriver Trace なし3 GA
Stackdriver Profiler なし3 ベータ

1: このサービスではデータアクセス ログは生成されません。
2: BigQuery のデータアクセス ログはデフォルトで有効になっており、ログの割り当てにはカウントされません。
3: このサービスでは管理アクティビティ ログは生成されません。
4: OAuth 2.0 のクライアント ID とブランドを監査します。
5: リクエスト / レスポンスの情報はまだ含まれていません。
6: マネージド インポートまたはエクスポート オペレーションを開始するリクエストを監査します。監査には、それらのオペレーションのエンティティ固有の読み取り / 書き込みログは含まれません。

このページは役立ちましたか?評価をお願いいたします。

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