Trace 監査ログ情報

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

概要

Google Cloud サービスは、「誰がいつどこで何をしたか」の確認に役立つ監査ログを記録します。Cloud プロジェクトで記録されるのは、そのプロジェクト内に直接存在するリソースの監査ログのみです。フォルダ、組織、Cloud 請求先アカウントなどの他のエンティティでは、そのエンティティ自体の監査ログが記録されます。

Cloud Audit Logging の概要については、Cloud Audit Logging をご覧ください。Cloud 監査ログの詳細については、監査ログについてをご覧ください。

Cloud 監査ログでは、Cloud プロジェクト、フォルダ、組織ごとに次の 3 つの監査ログが保持されます。

  • 管理アクティビティ監査ログ
  • データアクセス監査ログ
  • システム イベント監査ログ

Trace では、明示的に有効にした場合に限り、データアクセス監査ログが書き込まれます。データアクセス監査ログには、リソースの構成やメタデータを読み取る API 呼び出しや、ユーザー提供のリソースデータの作成、変更、読み取りを行うユーザー主導の API 呼び出しが含まれます。(すべてのユーザーまたはすべての認証済みユーザーが利用できる)一般公開リソースや、Google Cloud へのログインなしでアクセスできるリソースに対するデータアクセス オペレーションは、データアクセス監査ログに記録されません。

Trace では管理アクティビティ監査ログは書き込まれません。

Trace ではシステム イベント監査ログは書き込まれません。

監査対象のオペレーション

以下は、Trace の各監査ログタイプに対応する API オペレーションをまとめたものです。

監査ログのカテゴリ オペレーション
DATA_READ cloudtrace.traces.get
cloudtrace.traces.list

監査ログ形式

Cloud Logging でログビューア、Cloud Logging API、gcloud コマンドライン ツールを使用して表示できる監査ログエントリには、次のオブジェクトがあります。

  • ログエントリ自体。LogEntry 型のオブジェクトです。よく使用されるフィールドは次のとおりです。

    • logName: プロジェクト ID と監査ログタイプが格納されます。
    • resource: 監査対象オペレーションのターゲットが格納されます。
    • timeStamp: 監査対象オペレーションの時間が格納されます。
    • protoPayload: 監査対象の情報が格納されます。
  • 監査ロギングデータ。ログエントリの protoPayload フィールドに保持される AuditLog オブジェクトです。

  • サービス固有の監査情報(省略可)。AuditLog オブジェクトの serviceData フィールドに保持されるサービス固有のオブジェクトです。詳細は、サービス固有の監査データをご覧ください。

これらのオブジェクトのその他のフィールドと、それらを解釈する方法については、監査ログについてをご覧ください。

ログ名

Cloud 監査ログのリソース名は、監査ログを所有する Cloud プロジェクトまたは他の Google Cloud エンティティを表します。この名前を見ると、ログに管理アクティビティ、データアクセス、システム イベントの監査ロギングデータが含まれているかどうかがわかります。たとえば次のログ名は、プロジェクトの管理アクティビティ監査ログと組織のデータアクセス監査ログを表しています。変数は、プロジェクトと組織の識別子を表します。

projects/project-id/logs/cloudaudit.googleapis.com%2Factivity
organizations/organization-id/logs/cloudaudit.googleapis.com%2Fdata_access

サービス名

トレース監査ログではサービス名 cloudaudit.googleapis.com が使用されます。

すべてのロギング サービスについては、サービスとリソースのマッピングをご覧ください。

リソースタイプ

トレース監査ログでは、すべての監査ログにリソースタイプ audited_resource が使用されます。

リソースタイプの一覧については、モニタリング対象リソースタイプをご覧ください。

監査ログの有効化

データアクセス監査ログはデフォルトで無効になっており、明示的に有効にしない限り書き込まれません(例外は BigQuery のデータアクセス監査ログで、これは無効にすることができません)。

データアクセス監査ログの一部またはすべてを有効にする手順については、データアクセス ログの構成をご覧ください。

データアクセス監査ログを有効にすると、Cloud Logging のログの料金に影響が及ぶ場合があります。このページの料金を確認してください。

Trace では管理アクティビティ監査ログは書き込まれません。

監査ログに関する権限

どの監査ログを表示またはエクスポートできるかは、Cloud Identity and Access Management の権限とロールによって決まります。ログは、Cloud プロジェクトの中、および組織、フォルダ、Cloud 請求先アカウントなどの他のいくつかのエンティティの中に存在します。詳細しくは、ロールについてをご覧ください。

データアクセス監査ログを表示するには、監査ログを含むプロジェクト内でユーザーが次のいずれかの役割を持っている必要があります。

組織などプロジェクト以外のエンティティから取得した監査ログを使用する場合は、Cloud プロジェクトのロールを適切な組織のロールに変更します。

ログの表示

監査ログを検索して表示するには、監査ログ情報を表示する対象の Cloud プロジェクト、フォルダ、または組織の識別子を把握している必要があります。resource.type などの他のインデックス付き LogEntry フィールドをさらに指定できます。詳しくは、ログエントリの迅速な検索をご覧ください。

監査ログ名は次のようになります。名前には、Cloud プロジェクト、フォルダ、または組織の識別子の変数が含まれています。

   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

   folders/folder-id/logs/cloudaudit.googleapis.com%2Factivity
   folders/folder-id/logs/cloudaudit.googleapis.com%2Fdata_access
   folders/folder-id/logs/cloudaudit.googleapis.com%2Fsystem_event

   organizations/organization-id/logs/cloudaudit.googleapis.com%2Factivity
   organizations/organization-id/logs/cloudaudit.googleapis.com%2Fdata_access
   organizations/organization-id/logs/cloudaudit.googleapis.com%2Fsystem_event

監査ログエントリを表示する方法はいくつかあります。

Console

Cloud Console のログビューアを使用して、Cloud プロジェクトの監査ログエントリを取得できます。

  1. Cloud Console で、[Cloud Logging] > [ログ](ログビューア)のページに移動します。

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

  2. [Classic] から [新しいログビューアをプレビュー] を選択します。

  3. 既存の Cloud プロジェクトを選択します。

  4. [クエリビルダー] ペインで、次の操作を行います。

    • [リソース] から、監査ログを表示する対象の Google Cloud リソースタイプを選択します。

    • [ログ名] で、表示する監査ログタイプを選択します。

    • 管理アクティビティ監査ログの場合は、[activity] を選択します。

    • データアクセス監査ログの場合は、[data_access] を選択します。

    • システム イベント監査ログの場合は、[system_events] を選択します。

    これらのオプションが表示されない場合、Cloud プロジェクトにそのタイプの監査ログが存在しないことを意味します。

    新しいログビューアを使用したクエリの詳細については、ログクエリの作成(プレビュー版)をご覧ください。

API

クエリを作成する場合は、変数を有効な値に置き換え、適切なプロジェクトレベル、フォルダレベル、または監査ログ名に表示されている組織レベルの監査ログ名もしくは ID を代わりに使用します。たとえば、クエリに project-id が含まれている場合、指定するプロジェクト識別子は、現在選択された Cloud プロジェクトを参照している必要があります。

Logging API を使用して監査ログエントリを確認する手順は次のとおりです。

  1. entries.list メソッドのドキュメント内の [Try this API] セクションに移動します。

  2. [Try this API] フォームのリクエストの本文に、次のコードを入力します。この事前入力されたフォームをクリックすると、リクエストの本文が自動的に入力されますが、それぞれのログ名に有効な project-id を指定する必要があります。

    {
      "resourceNames": [
        "projects/project-id"
      ],
      "pageSize": 5,
      "filter": "logName : projects/project-id/logs/cloudaudit.googleapis.com"
    }
    
  3. [Execute] をクリックします。

クエリの詳細については、ロギングクエリ言語をご覧ください。

gcloud

gcloud コマンドライン ツールは、Cloud Logging API へのコマンドライン インターフェースを提供します。それぞれのログ名の中で有効な project-idfolder-id または organization-id を指定します。

Google Cloud プロジェクト レベルの監査ログエントリを読み取るには、次のコマンドを実行します。

gcloud logging read "logName : projects/project-id/logs/cloudaudit.googleapis.com" --project=project-id

フォルダレベルの監査ログエントリを読み取るには、次のコマンドを実行します。

gcloud logging read "logName : folders/folder-id/logs/cloudaudit.googleapis.com" --folder=folder-id

組織レベルの監査ログエントリを読み取るには、次のコマンドを実行します。

gcloud logging read "logName : organizations/organization-id/logs/cloudaudit.googleapis.com" --organization=organization-id

gcloud ツールの使用の詳細については、ログエントリの読み取りをご覧ください。

監査ログエントリのサンプルと、その中にある特に重要な情報を見つける方法については、監査ログについてをご覧ください。

監査ログのエクスポート

監査ログは、他の種類のログをエクスポートする場合と同じ方法でエクスポートできます。ログのエクスポート方法の詳細については、ログのエクスポートをご覧ください。監査ログのエクスポートに関する応用例の一部を以下に示します。

  • 監査ログを長期間保持する、またはより強力な検索機能を使用するには、監査ログのコピーを Cloud Storage、BigQuery、または Pub/Sub にエクスポートします。Pub/Sub を使用すると、他のアプリケーション、他のリポジトリ、サードパーティ製品にエクスポートできます。

  • 組織全体の監査ログを管理するには、集約シンクを作成します。これにより、組織内の一部またはすべての Cloud プロジェクトからログをエクスポートできます。

  • 有効にしたデータアクセス監査ログが原因で Cloud プロジェクトのログ割り当て量を超過した場合は、データアクセス監査ログをエクスポートして Logging から除外できます。詳細については、ログの除外をご覧ください。

料金

明示的にリクエストしたデータアクセス監査ログについては課金されます。Trace では、管理アクティビティ監査ログやシステム イベント監査ログは書き込まれません。

監査ログの料金の詳細については、Google Cloud のオペレーション スイート料金をご覧ください。