アクセス制御ガイド

Stackdriver Logging は、Cloud Identity and Access Management を使用して、プロジェクト、組織、フォルダ、請求先アカウントのロギングデータへのアクセスを制御します。

概要

Cloud IAM の権限と役割によって、Logging APIログビューアの使用方法が決まります。

Cloud IAM 役割は権限のコレクションです。これらの役割をメンバーに割り当てます。権限をメンバーに直接割り当てることはできないため、代わりに役割を付与します。そうすることで、役割に含まれるすべての権限を付与できます。

ログデータは、プロジェクト、組織、フォルダ、請求先アカウントなどのリソースに存在します。これらのリソースはそれぞれ、独自のメンバーセットと独自のロギングの役割セットを持つことができます。

リソース内で Stackdriver Logging のログデータを作成または使用するには、適切な権限を含む Cloud IAM の役割を持つメンバーである必要があります。Cloud IAM の役割と権限をまとめた一覧を、次に示します。

  • roles/logging.viewer(ログ閲覧者)によって、Logging のすべての機能に対する読み取り専用アクセス権がメンバーに付与されます。ただし、プライベート ログの読み取り権限を除きます。

  • roles/logging.privateLogViewer(プライベート ログ閲覧者)によって、roles/logging.viewer の権限とプライベート ログの読み取り権限がメンバーに付与されます。

  • roles/logging.logWriter(ログ書き込み)をサービス アカウントであるメンバーに割り当てることで、ログの書き込みに十分な権限のみをメンバーに付与できます。この役割は、ログビューアへのアクセスを許可しません。

  • roles/logging.configWriter(ログ設定書き込み)によって、ログベースの指標とエクスポート シンクの作成権限がメンバーに付与されます。ログビューアを使用するには、roles/logging.viewer の役割を追加します。

  • roles/logging.admin(Logging 管理者)によって、Logging に関連するすべての権限がメンバーに付与されます。これらの権限の一覧については、API 権限をご覧ください。

  • roles/viewerプロジェクト閲覧者)によって、roles/logging.viewer と同じ権限がプロジェクト レベルでメンバーに付与されます。この役割を付与すると、ほとんどの GCP サービスに対する権限がプロジェクト レベルで適用されること、またその用途が Logging の使用に限定されないことに注意してください。

  • roles/editorプロジェクト編集者)によって、roles/logging.viewer と同じ権限、ログエントリの書き込み権限、ログの削除権限、ログベースの指標の作成権限が、プロジェクト レベルでメンバーに付与されます。この役割では、エクスポート シンクの作成や、プライベート ログの読み取りを行うことはできません。この役割を付与すると、ほとんどの GCP サービスに対する権限がプロジェクト レベルで適用されること、またその用途が Logging の使用に限定されないことに注意してください。

  • roles/owner(プロジェクト オーナー)によって、Logging に対する完全アクセス権(プライベート ログを含む)が付与されます。この役割を付与すると、ほとんどの GCP サービスに対する権限がプロジェクト レベルで適用されること、またその用途が Logging の使用に限定されないことに注意してください。

データアクセス監査ログ(BigQuery 用を除く)は、唯一のプライベート ログです。このログを読み取るには、読み取り専用のアクセス権だけでなくその他の権限も必要になります。

Logging の役割と権限の詳細については、このページの権限と役割をご覧ください。

API 権限

Logging API メソッドでは、特定の Cloud IAM の権限が必要になります。次の表に、API メソッドで必要な権限を示します。

ロギングのメソッド 必要な権限 リソースの種類
billingAccounts.logs.* logging.logs.*projects.logs.* をご覧ください) 請求先アカウント
billingAccounts.sinks.* logging.sinks.*projects.sinks.* をご覧ください) 請求先アカウント
entries.list logging.logEntries.list または
logging.privateLogEntries.list
プロジェクト、組織、
フォルダ、請求先アカウント
entries.write logging.logEntries.create プロジェクト、組織、
フォルダ、請求先アカウント
folders.logs.* logging.logs.*projects.logs.* をご覧ください) フォルダ
folders.sinks.* logging.sinks.*projects.sinks.* をご覧ください) フォルダ
monitoredResourceDescriptors.list (なし) (なし)
organizations.logs.* logging.logs.*projects.logs.* をご覧ください) 組織
organizations.sinks.* logging.sinks.*projects.sinks.* をご覧ください) 組織
projects.exclusions.create logging.exclusions.create プロジェクト
projects.exclusions.delete logging.exclusions.delete プロジェクト
projects.exclusions.get logging.exclusions.get プロジェクト
projects.exclusions.list logging.exclusions.list プロジェクト
projects.exclusions.patch logging.exclusions.<b>update<b> プロジェクト
projects.logs.list logging.logs.list プロジェクト
projects.logs.delete logging.logs.delete プロジェクト
projects.sinks.list logging.sinks.list プロジェクト
projects.sinks.get logging.sinks.get プロジェクト
projects.sinks.create logging.sinks.create プロジェクト
projects.sinks.update logging.sinks.update プロジェクト
projects.sinks.delete logging.sinks.delete プロジェクト
projects.metrics.list logging.logMetrics.list プロジェクト
projects.metrics.get logging.logMetrics.get プロジェクト
projects.metrics.create logging.logMetrics.create プロジェクト
projects.metrics.update logging.logMetrics.update プロジェクト
projects.metrics.delete logging.logMetrics.delete プロジェクト

権限と役割

次の表に、Stackdriver Logging へのアクセスを許可する Cloud IAM の役割を示します。各役割には、特定のロギングの権限セットがあります。役割は、一覧表示されたリソースの種類のメンバーに割り当てることができます。

表の a.b.{x,y}a.b.xa.b.y を意味します。

役割名 役割のタイトル ロギングの権限 リソースの種類
roles/
logging.viewer
ログ閲覧者 logging.logEntries.list
logging.logMetrics.{list, get}
logging.logs.list
logging.logServiceIndexes.list
logging.logServices.list
logging.sinks.{list, get}
logging.usage.get
resourcemanager.projects.get
プロジェクト、組織、
フォルダ、請求先アカウント
roles/
logging.privateLogViewer
プライベート ログ閲覧者 roles/logging.viewer 権限に加え
logging.privateLogEntries.list
プロジェクト、組織、
フォルダ、請求先アカウント
roles/
logging.logWriter
ログ書き込み logging.logEntries.create プロジェクト、組織、
フォルダ、請求先アカウント
roles/
logging.configWriter
ログ設定書き込み logging.exclusions.{list, create, get, update, delete}
logging.logMetrics.{list, create, get, update, delete}
logging.logs.list
logging.logServiceIndexes.list
logging.logServices.list
logging.sinks.{list, create, get, update, delete}
resourcemanager.projects.get
プロジェクト、組織、
フォルダ、請求先アカウント
roles/
logging.admin
Logging 管理者 logging.exclusions.{list, create, get, update, delete}
logging.logEntries.create
logging.logEntries.list
logging.logMetrics.{list, create, get, update, delete}
logging.logs.delete
logging.logs.list
logging.logServiceIndexes.list
logging.logServices.list
logging.privateLogEntries.list
logging.sinks.{list, create, get, update, delete}
resourcemanager.projects.get
プロジェクト、組織、
フォルダ、請求先アカウント
roles/viewer 閲覧者 logging.logEntries.list
logging.logMetrics.{list, get}
logging.logs.list
logging.logServiceIndexes.list
logging.logServices.list
logging.sinks.{list, get}
resourcemanager.projects.get
プロジェクト
roles/editor 編集者 roles/viewer ロギングの権限に加え
logging.logEntries.create
logging.logMetrics.{create, update, delete}
logging.logs.delete
プロジェクト
roles/owner オーナー roles/editor ロギングの権限に加え
logging.privateLogEntries.list
logging.sinks.{create, update, delete}
プロジェクト

カスタムの役割

Logging の権限を含むカスタムの役割を作成するには、次の手順に従います。

  • Logging API の権限のみを付与する役割の場合は、上記の API 権限セクションから権限を選択します。

  • ログビューアを使用する権限を付与する役割の場合は、次のコンソール権限の権限グループから選択します。

カスタムの役割の詳細については、Cloud IAM のカスタム役割についてをご覧ください。

コンソール権限

次の表に、ログビューアの使用に必要な権限を示します。

表の a.b.{x,y}a.b.xa.b.y を意味します。

コンソール アクティビティ 必要な権限
最小限の読み取り専用アクセス logging.logEntries.list
logging.logs.list
logging.logServiceIndexes.list
logging.logServices.list
resourcemanager.projects.get
ログベースの指標を表示できるようにする logging.logMetrics.{list, get} を追加します
エクスポートを表示できるようにする logging.sinks.{list, get} を追加します
ログ使用量を表示できるようにする logging.usage.get を追加します
ログを除外できるようにする logging.exclusions.{list, create, get, update, delete} を追加します
ログをエクスポートできるようにする logging.sinks.{list, create, get, update, delete} を追加します
ログベースの指標を作成できるようにする logging.logMetrics.{list, create, get, update, delete} を追加します

エクスポートされたログへのアクセス

ログをエクスポートするためにシンクを作成するには、roles/logging.configWriterroles/logging.adminroles/owner の権限のいずれかが必要です。

シンクは、ログのエクスポートを開始すると、受信したすべてのログエントリへの完全アクセス権が付与されます。シンクはプライベート ログエントリをエクスポートできます。

ログエントリがエクスポートされると、エクスポートされたコピーへのアクセスは、エクスポート先の Cloud Storage、BigQuery、Cloud Pub/Sub の Cloud IAM の権限と役割によって完全に制御されます。

Logging のアクセス スコープ

アクセス スコープは、Compute Engine VM インスタンスの権限を指定するレガシーな方法です。Logging API には次のアクセス スコープが適用されます。

アクセス スコープ 付与される権限
https://www.googleapis.com/auth/logging.read role/logging.viewer
https://www.googleapis.com/auth/logging.write roles/logging.logWriter
https://www.googleapis.com/auth/logging.admin Logging API への完全アクセス権。
https://www.googleapis.com/auth/cloud-platform Logging API と他の有効なすべての Google Cloud API への完全アクセス権。

おすすめの方法

これで Cloud IAM の役割を使用できるようになりました。すべての VM インスタンスに「有効なすべての Google Cloud API に対する完全アクセス権」スコープを設定することをおすすめします。

https://www.googleapis.com/auth/cloud-platform

VM インスタンスのサービス アカウントに特定の Cloud IAM の役割を付与して、特定の API へのアクセスを制限できます。詳しくは、サービス アカウント権限をご覧ください。

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

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