このページでは、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 ロールを持っている必要があります。
- プロジェクト オーナー、プロジェクト編集者、またはプロジェクト閲覧者。IAM の役割をご覧ください。
- Logging のログ閲覧者のロール。
- カスタムの IAM ロール(
logging.logEntries.list
IAM 権限を含む)。
データアクセス ログを表示するには、その監査ログが存在するプロジェクト内で次のいずれかの役割を持っている必要があります。
- プロジェクト オーナー。
- Logging のプライベート ログ閲覧者ロール。
- カスタムの IAM ロール(
logging.privateLogEntries.list
IAM 権限を含む)。
組織などのプロジェクト以外のエンティティからの監査ログを使用する場合は、プロジェクトのロールを適切な組織のロールに変更します。
ログの表示
次のいずれかの方法で、プロジェクトの監査ログを表示できます。
アクティビティ ダッシュボードで管理アクティビティ ログの概要を表示します。
ログビューアを使用してすべての監査ログを表示します。
詳細については、次のオプションをご覧ください。
基本ビューア
ログビューアの基本的なインターフェースを使用し、次の手順で監査ログのエントリを取得できます。
- 最初のメニューで、監査ログを表示するリソースタイプを選択します。特定のリソースまたはすべてのリソースを選択します。
- 2 番目のメニューで、表示するログ名を選択します。管理アクティビティ監査ログの場合は、
activity
、データアクセス監査ログの場合はdata_access
をご覧ください。これらのオプションの一方または両方が表示されない場合、そのタイプの監査ログは使用できません。
高度なビューア
- ログビューアで高度なフィルタ インターフェースに切り替えます。
- 目的のリソースタイプとログ名を指定するフィルタを作成します。詳細については、監査ログの取得をご覧ください。
API
Logging API を使用してログエントリを読み取る方法については、entries.list をご覧ください。
SDK
Cloud SDK の gcloud
コマンドライン ツールを使用してログエントリを読み取るには、ログエントリの読み取りをご覧ください。
監査ログのエクスポート
監査ログは、他の種類のログをエクスポートする場合と同じ方法でエクスポートできます。ログのエクスポート方法について詳しくは、ログのエクスポートをご覧ください。監査ログのエクスポートに関する応用例の一部を以下に示します。
監査ログを長期間保持する、またはより強力な検索機能を使用するには、監査ログのコピーを Cloud Storage、BigQuery、または Pub/Sub にエクスポートします。Pub/Sub を使用すると、他のアプリケーション、他のリポジトリ、サードパーティ製品にエクスポートできます。
組織全体の監査ログを管理するには、組織内の一部またはすべてのプロジェクトからログをエクスポートできる集約シンクを作成します。
- 有効にしたデータアクセス ログが原因でプロジェクトのログ割り当てを超過した場合は、データアクセス ログをエクスポートしてロギングから除外できます。詳細については、ログの除外をご覧ください。
料金
Cloud Logging のデフォルトで有効になっている監査ログ(すべての管理アクティビティログを含む)は無料です。
明示的にリクエストしたデータアクセスログについては課金されます。
ログ(監査ログを含む)の料金の詳細については、Google Cloud のオペレーション スイート料金をご覧ください。