Container Analysis の監査ロギングに関する情報

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

概要

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

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

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

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

Container Analysis はシステム イベントの監査ログを書き込みます。このログには、Compute Engine によって実行されたシステム イベントのログエントリが記録されます。Container Analysis はデフォルトでこれらのログを提供します。

Container Analysis は管理アクティビティに関する監査ログを書き込みます。このようなアクティビティには、リソースの構成やメタデータを変更するオペレーションが含まれます。このログはデフォルトで提供されます。

Container Analysis はデータアクセスに関する監査ログを書き込みます。このログには、ユーザー提供データを作成、変更、または読み込む API 呼び出しが記録されます。このログはデフォルトでは提供されません。

データアクセス監査ログは、次のようなカテゴリに分類されます。

  • データアクセス(ADMIN_READ): リソースの構成やメタデータを読み取るオペレーション。

    Container Analysis は、デフォルトでは管理読み取り情報を提供しません。

  • データアクセス(DATA_READ): ユーザー提供データをリソースから読み取るオペレーション。

    Container Analysis は、デフォルトではデータ読み取り情報を提供しません。

  • データアクセス(DATA_WRITE): ユーザー提供データをリソースに書き込むオペレーション。

    Container Analysis は、デフォルトではデータ書き込み情報を提供しません。

デフォルトでは提供されない監査情報は構成できます。詳細については、データアクセス ログの構成をご覧ください。

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

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

監査ログのカテゴリ Container Analysis のオペレーション
管理アクティビティ ログ SetIamPolicy
UpdateScanConfig
データアクセス ログ(ADMIN_READ) GetIamPolicy
GetScanConfig
ListScanConfigs
データアクセス ログ(DATA_READ) GetNote
GetOccurrence
GetOccurrenceNote
GetVulnerabilityOccurrencesSummary
ListNotes
ListNoteOccurrences
ListOccurrences
データアクセス ログ(DATA_WRITE) BatchCreateNotes
BatchCreateOccurrences
CreateNote
CreateOccurrence
DeleteNote
DeleteOccurrence
UpdateNote
UpdateOccurrence

監査ログ形式

Stackdriver Logging でログビューア、Stackdriver Logging API、または Cloud SDK を使用して表示できる監査ログエントリには、次のオブジェクトがあります。

  • ログエントリ自体。LogEntry 型のオブジェクトです。次のようなフィールドが有用です。

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

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

これらのオブジェクトの他のフィールドとその内容の例、オブジェクト内の情報に対するクエリの例については、監査ログのデータ型をご覧ください。

ログ名

Cloud Audit Logging のリソース名は、監査ログを所有するプロジェクトまたはその他のエンティティと、そのログに管理アクティビティ、データアクセス、またはシステム イベントの監査ログデータが含まれているかどうかを示します。たとえば、次のログ名はプロジェクトの管理アクティビティ ログと組織のデータアクセス ログを表しています。

projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity
organizations/[ORGANIZATION_ID]/logs/cloudaudit.googleapis.com%2Fdata_access

サービス名

Container Analysis の監査ログではサービス名 containeranalysis.googleapis.com が使用されます。

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

リソースタイプ

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

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

監査ログの有効化

システム イベントログはデフォルトで有効になっており、無効にすることはできません。

管理アクティビティ監査ログはデフォルトで有効になっており、無効にすることはできません。

ほとんどのデータアクセス監査ログは、デフォルトで無効になっています。例外は BigQuery のデータアクセス監査ログです。これはデフォルトで有効で、無効にすることはできません。BigQuery のデータアクセス ログは、プロジェクトのロギングの割り当てにはカウントされません。

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

構成したデータアクセス ログは、Stackdriver のログの料金に影響する可能性があります。このページの料金セクションをご覧ください。

監査ログに関する権限

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

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

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

システム イベントログを表示するには、その監査ログが存在するプロジェクト内で次のいずれかの Cloud IAM の役割を持っている必要があります。

組織などのプロジェクト以外のエンティティで記録された監査ログを使用する場合は、プロジェクトの役割を適切な組織の役割に変更します。

ログの表示

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

基本ビューア

GCP Console でログビューアの基本的なインターフェースを使用して、監査ログエントリを取得できます。次の操作を行います。

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

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

  2. ページの上部で既存の GCP プロジェクトを選択するか、新しいプロジェクトを作成します。

  3. 最初のプルダウン メニューで、監査ログを表示するリソースタイプを選択します。特定のリソースを選択するか、Global を指定してすべてのリソースを選択できます。

  4. 2 番目のプルダウン メニューで、表示するログタイプを選択します(管理アクティビティの監査ログの場合は activity、データアクセス監査ログの場合は data_access、システム イベント ログの場合は system_events)。

    これらのオプションのいずれかが表示されない場合は、そのタイプの監査ログはプロジェクトで使用できません。

高度なビューア

GCP Console でログビューアの高度なインターフェースを使用して、監査ログエントリを取得できます。次の手順に沿って操作します。

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

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

  2. ページの上部で既存の GCP プロジェクトを選択するか、新しいプロジェクトを作成します。

  3. 最初のプルダウン メニューで、監査ログを表示するリソースタイプを選択します。特定のリソースを選択するか、Global を指定してすべてのリソースを選択できます。

  4. 検索フィルタ ボックスの右端にあるプルダウン矢印(▾)をクリックして、[高度なフィルタに変換] を選択します。

  5. 表示するログエントリをさらに指定するフィルタを作成します。プロジェクト内のすべての監査ログを取得するには、次のフィルタを追加します。それぞれのログ名の中で有効な [PRODUCT_ID] を指定します。

      logName = ("projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity" OR
          OR "projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fsystem_events"
          OR "projects/[PROJECT_ID]logs/cloudaudit.googleapis.com%2Fdata_access")
    

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

API

Stackdriver Logging API を使用して監査ログエントリを表示するには:

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

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

      {
        "resourceNames": [
          "projects/[PROJECT_ID]"
        ],
        "pageSize": 5,
        "filter": "logName=(projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity OR projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fsystem_events OR projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fdata_access)"
      }
    
  3. [Execute] をクリックします。

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

SDK

Cloud SDK を使用してログエントリを読み取るには、次のコマンドを実行します。それぞれのログ名の中で有効な [PRODUCT_ID] を指定します。

gcloud logging read "logName=(projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity OR projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fsystem_events OR projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fdata_access)

Cloud SDK の使用について詳しくは、ログエントリの読み取りをご覧ください。

サンプルの監査ログエントリを表示して、監査ログエントリに記述されている最も重要な情報を見つけるには、監査ログについてをご覧ください。

監査ログのエクスポート

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

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

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

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

料金

Stackdriver Logging のデフォルトで有効になっている監査ログ(すべての管理アクティビティ ログとシステム イベントログを含む)は無料です。

明示的にリクエストされるデータアクセス ログについては課金されます。

ログ(監査ログを含む)の料金の詳細については、Stackdriver の料金をご覧ください。

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

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