アクセス制御

Monitoring は、Cloud Identity and Access Management(Cloud IAM)の役割と権限を使用してワークスペースのモニタリング データへのアクセスを制御します。

概要

Monitoring を使用するには、該当する Cloud IAM 権限がワークスペースに付与されている必要があります。

一般に、API の各 REST メソッドには権限が関連付けられているので、特定のメソッドを使用するには、それに関連付けられている権限が必要です。権限はユーザーに直接付与されるのではなく、役割を通して間接的に付与されます。役割は、複数の権限をグループ化して管理しやすいようにしたものです。これらのコンセプトの詳細については、役割、権限、関連するコンセプトに関する Cloud IAM のドキュメントをご覧ください。

一般的な権限の組み合わせに対する役割は事前に定義されていますが、Cloud IAM のカスタム役割を作成することで、独自の権限の組み合わせを作成することもできます。

事前定義された役割

以下に、Monitoring で事前に定義されている Cloud IAM 役割について説明します。これらは Monitoring に関する権限のみを付与します。

モニタリング

以下の役割は、モニタリングに関する一般的な権限を付与します。

役割 ID
役割名
説明
roles/monitoring.viewer
モニタリング閲覧者
Stackdriver Monitoring Console および API に対する読み取り専用アクセス権を付与します。
roles/monitoring.editor
モニタリング編集者
Stackdriver Monitoring Console および API に対する読み取り / 書き込みアクセス権を付与し、ワークスペースへのモニタリング データの書き込みを可能にします。
roles/monitoring.admin
モニタリング管理者
すべての Monitoring 機能に対する完全アクセス権を付与します。

サービス アカウントでは、書き込み専用アクセス権として以下の役割を使用します。

役割 ID
役割名
説明
roles/monitoring.metricWriter
モニタリング指標の書き込み
ワークスペースへのモニタリング データの書き込みを許可します。Stackdriver Monitoring Console へのアクセスは許可しません。サービス アカウント用。

アラート ポリシー

以下の役割は、アラート ポリシーに関する権限のみを付与します。

役割 ID
役割名
説明
roles/monitoring.alertPolicyViewer
Monitoring AlertPolicy 閲覧者
アラート ポリシーに対する読み取り専用アクセス権を付与します。
roles/monitoring.alertPolicyEditor
Monitoring AlertPolicy 編集者
アラート ポリシーに対する読み取り / 書き込みアクセス権を付与します。

通知チャネル

以下の役割は、通知チャネルに関する権限のみを付与します。

役割 ID
役割名
説明
roles/monitoring.notificationChannelViewer
モニタリング通知チャネルの閲覧者
通知チャンネルに対する読み取り専用アクセス権を付与します。
roles/monitoring.notificationChannelEditor
モニタリング通知チャネルの編集者
通知チャネルに対する読み取り / 書き込みアクセス権を付与します。

Google Cloud Platform

以下の役割は、モニタリングなどの Google Cloud Platform(GCP)の多くのサービスとリソースに対する権限を付与します。

役割 ID
役割名
説明
roles/viewer
プロジェクト閲覧者
Stackdriver Monitoring Console および API に対する読み取り専用アクセス権を付与します。
roles/editor
プロジェクト編集者
Stackdriver Monitoring Console および API に対する読み取り / 書き込みアクセス権を付与します。
roles/owner
プロジェクト オーナー
Stackdriver Monitoring Console および API に対する完全なアクセス権を付与します。

カスタムの役割

権限のリストを含む独自のカスタム役割を作成することもできます。役割と権限の詳細については、このページの「権限と役割」と「カスタムの役割」をご覧ください。

権限と役割

ここでは、Monitoring に適用される Cloud IAM の権限と役割を示します。

API 権限

それぞれの Monitoring API メソッドを使用するには、次の表に記載する特定の Cloud IAM 権限が必要となります。

Monitoring API メソッド 権限 リソースの種類
projects.alertPolicies.create monitoring.alertPolicies.create プロジェクト1
projects.alertPolicies.delete monitoring.alertPolicies.delete AlertPolicy
projects.alertPolicies.get monitoring.alertPolicies.get AlertPolicy
projects.alertPolicies.list monitoring.alertPolicies.list プロジェクト1
projects.alertPolicies.patch monitoring.alertPolicies.update AlertPolicy
projects.groups.create monitoring.groups.create プロジェクト1
projects.groups.delete monitoring.groups.delete Group
projects.groups.get monitoring.groups.get Group
projects.groups.list monitoring.groups.list プロジェクト1
projects.groups.update monitoring.groups.update Group
projects.groups.members.list monitoring.groups.get Group
projects.metricDescriptors.create monitoring.metricDescriptors.create プロジェクト
projects.metricDescriptors.delete monitoring.metricDescriptors.delete MetricDescriptor
projects.metricDescriptors.get monitoring.metricDescriptors.get MetricDescriptor
projects.metricDescriptors.list monitoring.metricDescriptors.list プロジェクト
projects.monitoredResourceDescriptors.get monitoring.monitoredResourceDescriptors.get MonitoredResourceDescriptor
projects.monitoredResourceDescriptors.list monitoring.monitoredResourceDescriptors.list プロジェクト
projects.notificationChannelDescriptors.get monitoring.notificationChannelDescriptors.get NotificationChannelDescriptor
projects.notificationChannelDescriptors.list monitoring.notificationChannelDescriptors.list プロジェクト1
projects.notificationChannels.create monitoring.notificationChannels.create プロジェクト1
projects.notificationChannels.delete monitoring.notificationChannels.delete NotificationChannel
projects.notificationChannels.get monitoring.notificationChannels.get NotificationChannel
projects.notificationChannels.getVerificationCode monitoring.notificationChannels.getVerificationCode NotificationChannel
projects.notificationChannels.list monitoring.notificationChannels.list プロジェクト1
projects.notificationChannels.patch monitoring.notificationChannels.update NotificationChannel
projects.notificationChannels.sendVerificationCode monitoring.notificationChannels.sendVerificationCode NotificationChannel
projects.notificationChannels.verify monitoring.notificationChannels.verify NotificationChannel
projects.timeSeries.create monitoring.timeSeries.create プロジェクト
projects.timeSeries.list monitoring.timeSeries.list プロジェクト
projects.uptimeCheckConfigs.create monitoring.uptimeCheckConfigs.create UptimeCheckConfig
projects.uptimeCheckConfigs.delete monitoring.uptimeCheckConfigs.delete UptimeCheckConfig
projects.uptimeCheckConfigs.get monitoring.uptimeCheckConfigs.get UptimeCheckConfig
projects.uptimeCheckConfigs.list monitoring.uptimeCheckConfigs.list UptimeCheckConfig
projects.uptimeCheckConfigs.patch monitoring.uptimeCheckConfigs.update UptimeCheckConfig

1 プロジェクトはワークスペースでなければなりません。

Stackdriver Monitoring Console の権限

Stackdriver Monitoring Console の各機能には、その機能を実装するために使用される API に対する権限が必要です。たとえば、グループを閲覧する機能には、グループとグループ メンバーに適用可能な list メソッドと get メソッドに対する権限が必要です。必要な権限が取り消されると、Stackdriver Monitoring Console は機能を失う可能性があります。

Stackdriver Monitoring Console を使用するために必要となる権限のリストを次の表に示します。

Stackdriver Monitoring Console のアクティビティ 必要な権限 リソースタイプ
完全な読み取り専用アクセス roles/monitoring.viewer の役割に含まれている権限のセット プロジェクト1
Console への読み書きアクセス roles/monitoring.editor の役割に含まれている権限のセット プロジェクト1
Console への完全アクセス roles/monitoring.admin の役割に含まれている権限のセット プロジェクト1

1 プロジェクトはワークスペースでなければなりません。

役割

次の表に、Monitoring に対するアクセス権を付与する Cloud IAM 役割と、それぞれの役割に関連付けられている権限を記載します。これらの役割の中には累進的なものがあります。たとえば roles/monitoring.editor 役割には、roles/monitoring.viewer 役割に含まれるすべての権限の他に、追加の一連の権限が含まれます。

役割はプロジェクト レベルでのみ割り当てることができ、プロジェクトはワークスペースでなければなりません。

モニタリング

モニタリング関連の役割には、以下の権限が含まれています。

役割 ID
役割名
含まれている権限
roles/monitoring.viewer
モニタリング閲覧者
monitoring.alertPolicies.get
monitoring.alertPolicies.list
monitoring.analyzedMetrics.get1
monitoring.analyzedMetrics.list1
monitoring.dashboards.get
monitoring.dashboards.list
monitoring.groups.get
monitoring.groups.list
monitoring.metricDescriptors.get
monitoring.metricDescriptors.list
monitoring.monitoredResourceDescriptors.get
monitoring.monitoredResourceDescriptors.list
monitoring.notificationChannelDescriptors.get
monitoring.notificationChannelDescriptors.list
monitoring.notificationChannels.get
monitoring.notificationChannels.list
monitoring.publicWidgets.get
monitoring.publicWidgets.list
monitoring.timeSeries.list
monitoring.uptimeCheckConfigs.get
monitoring.uptimeCheckConfigs.list
resourcemanager.projects.get
resourcemanager.projects.list
stackdriver.projects.get
roles/monitoring.editor
モニタリング編集者
monitoring.alertPolicies.create
monitoring.alertPolicies.delete
monitoring.alertPolicies.get
monitoring.alertPolicies.list
monitoring.alertPolicies.update
monitoring.analyzedMetrics.create1
monitoring.analyzedMetrics.delete1
monitoring.dashboards.create
monitoring.dashboards.delete
monitoring.dashboards.get
monitoring.dashboards.list
monitoring.dashboards.update
monitoring.groups.create
monitoring.groups.delete
monitoring.groups.get
monitoring.groups.list
monitoring.groups.update
monitoring.metricDescriptors.create
monitoring.metricDescriptors.delete
monitoring.metricDescriptors.get
monitoring.metricDescriptors.list
monitoring.monitoredResourceDescriptors.get
monitoring.monitoredResourceDescriptors.list
monitoring.notificationChannelDescriptors.list
monitoring.notificationChannelDescriptors.get
monitoring.notificationChannels.create
monitoring.notificationChannels.delete
monitoring.notificationChannels.get
monitoring.notificationChannels.list
monitoring.notificationChannels.sendVerificationCode
monitoring.notificationChannels.update
monitoring.notificationChannels.verify
monitoring.publicWidgets.create
monitoring.publicWidgets.delete
monitoring.publicWidgets.get
monitoring.publicWidgets.list
monitoring.publicWidgets.update
monitoring.timeSeries.create
monitoring.timeSeries.list
monitoring.uptimeCheckConfigs.create
monitoring.uptimeCheckConfigs.delete
monitoring.uptimeCheckConfigs.get
monitoring.uptimeCheckConfigs.list
monitoring.uptimeCheckConfigs.update
resourcemanager.projects.get
resourcemanager.projects.list
stackdriver.projects.edit
stackdriver.projects.get
stackdriver.resourceMetadata.write
roles/monitoring.admin
モニタリング管理者
roles/monitoring.editor に含まれる権限に加えて、以下の権限が含まれます。
monitoring.notificationChannels.getVerificationCode

1 これらの権限は、Stackdriver Monitoring Console をサポートするために存在します。カスタム役割ではこれらを使用できません。

サービス アカウントでは、書き込み専用アクセス権として以下の役割を使用します。

役割 ID
役割名
含まれている権限
roles/monitoring.metricWriter
モニタリング指標の書き込み
monitoring.metricDescriptors.create
monitoring.metricDescriptors.get
monitoring.metricDescriptors.list
monitoring.monitoredResourceDescriptors.get
monitoring.monitoredResourceDescriptors.list
monitoring.timeSeries.create

アラート ポリシー

アラート ポリシー関連の役割には、以下の権限が含まれています。

役割 ID
役割名
含まれている権限
roles/monitoring.alertPolicyViewer
Monitoring AlertPolicy 閲覧者
monitoring.alertPolicies.get
monitoring.alertPolicies.list
roles/monitoring.alertPolicyEditor
Monitoring AlertPolicy 編集者
monitoring.alertPolicies.create
monitoring.alertPolicies.delete
monitoring.alertPolicies.get
monitoring.alertPolicies.list
monitoring.alertPolicies.update

通知チャネル

通知チャネル関連の役割には、以下の権限が含まれています。

役割 ID
役割名
含まれている権限
roles/monitoring.notificationChannelViewer
モニタリング通知チャネルの閲覧者
monitoring.notificationChannelDescriptors.get
monitoring.notificationChannelDescriptors.list
monitoring.notificationChannels.get
monitoring.notificationChannels.list
roles/monitoring.notificationChannelEditor
モニタリング通知チャネルの編集者
monitoring.notificationChannelDescriptors.get
monitoring.notificationChannelDescriptors.list
monitoring.notificationChannels.create
monitoring.notificationChannels.delete
monitoring.notificationChannels.get
monitoring.notificationChannels.list
monitoring.notificationChannels.sendVerificationCode
monitoring.notificationChannels.update
monitoring.notificationChannels.verify

Google Cloud Platform

GCP 関連の役割には、以下の権限が含まれています。

役割 ID
役割名
含まれている権限
roles/viewer
プロジェクト閲覧者
モニタリング権限は、正確には roles/monitoring.viewer の権限です。
roles/editor
プロジェクト編集者
モニタリング権限は、roles/monitoring.editor の権限と同じです。
roles/owner
プロジェクト オーナー
モニタリング権限は、roles/editor の権限と同じです。

Cloud IAM 役割の付与

Compute Engine と App Engine のプロジェクト オーナー、編集者、デフォルト サービス アカウントには、必要な権限がすでに割り当てられていますが、他のユーザー アカウントに権限を明示的に付与する必要が生じることがあります。

たとえば、ユーザー アカウントで API を使用して MetricDescriptors を読み書きするには、適切な monitoring.metricDescriptors.* Cloud IAM 権限をそのユーザーに付与する必要があります。これを行うには、事前定義された Monitoring Viewermonitoring.viewer)と Monitoring Editormonitoring.editor)の役割を付与します。詳しくは、API 権限をご覧ください。

これらの権限を付与するには、Cloud SDK gcloud コマンドライン ツールまたは Google Cloud Platform Console(GCP Console)を使用します。

Cloud SDK

monitoring.viewer または monitoring.editor の役割を付与するには、gcloud projects add-iam-policy-binding コマンドを使用します。

例:

export PROJECT_ID="my-test-project"
export EMAIL_ADDRESS="myuser@gmail.com"
gcloud projects add-iam-policy-binding \
      $PROJECT_ID \
      --member="user:$EMAIL_ADDRESS" \
      --role="roles/monitoring.editor"

付与された役割を確認するには、以下のように gcloud projects get-iam-policy コマンドを使用します。

export PROJECT_ID="my-test-project"
gcloud projects get-iam-policy $PROJECT_ID

GCP Console

  1. GCP Console に移動します。

    GCP Console に移動する

  2. 必要に応じて、GCP プロジェクトのプルダウン リストをクリックし、API を有効にするプロジェクトの名前を選択します。

  3. ナビゲーション メニューを展開するには、[メニュー] メニューをクリックします。

  4. [IAM と管理] をクリックします。

  5. ユーザーが存在しない場合は、[追加] ボタンをクリックし、[役割を選択] の横にあるプルダウン リストをクリックします。ユーザーが存在する場合は、権限を編集する既存ユーザーの横にある [役割] 列の下にある切り替えボタンをクリックします。

  6. [役割を管理] ウィンドウで、ポインタを左側に移動して [モニタリング] までスクロールします。

  7. [役割を管理] ウィンドウで、ポインタを右側に移動して適切な役割を選択します。

    • Monitoring Editor は読み取り / 書き込みアクセス権を付与します。
    • Monitoring Viewer は読み取り専用アクセス権を付与します。

カスタムの役割

Monitoring 権限を持つカスタムの役割を作成するには、次のようにします。

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

  • Stackdriver Monitoring Console に関する権限を付与する役割の場合は、Stackdriver Monitoring Console の権限セクションにある権限グループから選択します。

  • モニタリング データを書き込む機能を付与するには、役割セクションにある roles/monitoring.metricWriter 役割の権限を含めます。

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

Compute Engine のアクセス スコープ

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

アクセス スコープ 付与される権限
https://www.googleapis.com/auth/monitoring.read roles/monitoring.viewer の権限と同じです。
https://www.googleapis.com/auth/monitoring.write roles/monitoring.metricWriter の権限と同じです。
https://www.googleapis.com/auth/monitoring Monitoring に対する完全アクセス権です。
https://www.googleapis.com/auth/cloud-platform 有効にされているすべての Cloud API に対する完全アクセス権です。

詳しくは、アクセス スコープをご覧ください。

ベスト プラクティス。 サービス アカウント Cloud IAM の役割は簡単に構成したり変更したりできるので、VM インスタンスに最も強力なアクセス スコープ(cloud-platform)を付与し、次に Cloud IAM の役割を使用して特定の API やオペレーションへのアクセスを制限することをおすすめします。詳しくは、サービス アカウント権限をご覧ください。

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

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

ご不明な点がありましたら、Google のサポートページをご覧ください。