Cloud DLP の監査ロギングの情報

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

概要

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

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

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

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

Cloud DLP によって書き込まれる管理アクティビティ監査ログには、リソースの構成やメタデータを変更するオペレーションが記録されます。管理アクティビティ監査ログを無効にすることはできません。

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

Cloud DLP では、システム イベント監査ログは記録されません。

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

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

監査ログのカテゴリ Cloud DLP のオペレーション
管理アクティビティ ログ CreateDeidentifyTemplate
DeleteDeidentifyTemplate
UpdateDeidentifyTemplate
CreateInspectTemplate
DeleteInspectTemplate
UpdateInspectTemplate
CreateJobTrigger
DeleteJobTrigger
UpdateJobTrigger
データアクセス ログ(ADMIN_READ) GetDeidentifyTemplate
ListDeidentifyTemplates
GetInspectTemplate
ListInspectTemplates
GetJobTrigger
ListJobTriggers
データアクセス ログ(DATA_READ) GetDlpJob
ListDlpJobs
データアクセス ログ(DATA_WRITE) CancelDlpJob
CreateDlpJob
DeleteDlpJob

監査ログ形式

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

サービス名

Cloud DLP 監査ログでは、サービス名 dlp.googleapis.com が使用されます。

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

リソースタイプ

Cloud DLP の監査ログではさまざまなタイプのリソースをモニタリングできるため、すべての監査ログに対してリソースタイプ audited_resource が使用されます。

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

監査ログの有効化

管理アクティビティ監査ログは常に有効になっています。無効にすることはできません。

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

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

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

監査ログに関する権限

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

管理アクティビティ監査ログを表示するユーザーには、その監査ログが存在するプロジェクト内で次のいずれかの Cloud IAM ロールが割り当てられている必要があります。

  • プロジェクト オーナー、プロジェクト編集者、またはプロジェクト閲覧者。
  • Logging のログ閲覧者ロール。
  • カスタムの Cloud IAM 役割logging.logEntries.list Cloud IAM 権限が付与されていること)。

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

組織などプロジェクト以外のエンティティから取得した監査ログを使用する場合は、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 が含まれている場合、指定するプロジェクト 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-idorganization-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 から除外できます。詳細については、ログの除外をご覧ください。

料金

Cloud Logging では、無効にできない監査ログ(すべての管理アクティビティ監査ログを含む)は無料です。明示的にリクエストしたデータアクセス監査ログについては課金されます。

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