Cloud Source Repositories の監査ロギング情報

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

概要

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

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

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

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

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

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

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

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

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

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

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

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

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

監査ログのカテゴリ Cloud Source Repositories のオペレーション
管理アクティビティ ログ SourceRepo.UpdateProjectConfig
SourceRepo.UpdateRepo
SourceRepo.CreateRepo
SourceRepo.DeleteRepo
SourceRepo.SetIamPolicy
データアクセス ログ(ADMIN_READ) SourceRepo.GetProjectConfig
SourceRepo.ListRepos
SourceRepo.GetRepo
SourceRepo.GetIamPolicy
データアクセス ログ(DATA_READ) GitProtocol.LsRemote
GitProtocol.UploadPack
Browser.Access
データアクセス ログ(DATA_WRITE) GitProtocol.ReceivePack

監査ログ形式

Cloud Logging でログビューア、API、または SDK の gcloud logging コマンドを使用して表示できる監査ログエントリには、次のオブジェクトが含まれています。

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

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

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

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

ログ名

Cloud 監査ログのログ名は、監査ログを所有するプロジェクトまたはその他のエンティティを示します。この名前を見ると、ログに管理アクティビティ、データアクセス情報のどちらが含まれているかわかります。たとえば、次のログ名はプロジェクトの管理アクティビティ ログと組織のデータアクセス ログを表しています。

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

サービス名

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

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

リソースタイプ

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

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

監査ログの有効化

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

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

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

データアクセスログを構成すると、Google Cloud のオペレーションスイートのログの料金に影響する可能性があります。このページの料金セクションをご覧ください。

監査ログに関する権限

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

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

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

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

ログの表示

次のいずれかの方法で、プロジェクトの監査ログを表示できます。

詳細については、次のオプションをご覧ください。

基本ビューア

ログビューアの基本的なインターフェースを使用し、次の手順で監査ログのエントリを取得できます。

  1. 最初のメニューで、監査ログを表示するリソースタイプを選択します。特定のリソースまたはすべてのリソースを選択します。
  2. 2 番目のメニューで、表示するログ名を選択します。管理アクティビティ監査ログの場合は、activity、データアクセス監査ログの場合は data_access をご覧ください。これらのオプションの一方または両方が表示されない場合、そのタイプの監査ログは使用できません。

高度なビューア

  1. ログビューアで高度なフィルタ インターフェースに切り替えます。
  2. 目的のリソースタイプとログ名を指定するフィルタを作成します。詳細については、監査ログの取得をご覧ください。

API

Logging API を使用してログエントリを読み取る方法については、entries.list をご覧ください。

SDK

Cloud SDK の gcloud コマンドライン ツールを使用してログエントリを読み取るには、ログエントリの読み取りをご覧ください。

監査ログのエクスポート

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

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

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

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

料金

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

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

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