如需使用 Monitoring,您必须拥有适当的 Identity and Access Management (IAM) 权限。通常情况下,API 中的每个 REST 方法都有关联的权限。如需使用该方法,或使用依赖于该方法的控制台功能,您必须拥有使用相应方法的权限。 权限不会直接授予用户;而是通过角色间接授予。角色可将多项权限分为一组,以便于管理:
- 如需详细了解访问权限控制,请参阅与访问管理相关的概念。
- 如需了解如何向主帐号授予角色,请参阅授予对 Cloud Monitoring 的访问权限。
系统已为您预先设定常用权限组合的角色。但是,您还可以通过创建 IAM 自定义角色来创建自己的权限组合。
最佳实践
我们建议您创建 Google 群组来管理对 Google Cloud 项目的访问权限:
- 如需了解详情,请参阅在 Google Cloud 控制台中管理群组。
- 如需了解如何设置角色限制,请参阅设置角色限制。
- 如需查看 IAM 角色和权限的完整列表,请参阅 IAM 基本角色和预定义角色参考文档。
VPC Service Controls
如需进一步控制对监控数据的访问权限,除了使用 IAM 以外,还请使用 VPC Service Controls。
VPC Service Controls 可为 Cloud Monitoring 提供额外的安全保护,有助于降低数据泄露的风险。使用 VPC Service Controls,您可以向服务边界添加指标范围,以保护 Cloud Monitoring 资源和服务免受来自该范围之外的请求的影响。
如需详细了解服务边界,请参阅 VPC Service Controls 服务边界配置文档。
如需了解 VPC Service Controls 的 Monitoring 支持,包括已知限制,请参阅 Monitoring VPC Service Controls 文档。
授予对 Cloud Monitoring 的访问权限
如需管理主帐号的 IAM 角色,您可以使用 Google Cloud 控制台中的“Identity and Access Management”页面。但是,Cloud Monitoring 提供了简化的界面,可让您管理 Monitoring 专属角色、项目级角色以及 Cloud Logging 和 Cloud Trace 的常见角色。
如需向主帐号授予对 Monitoring、Cloud Logging 或 Cloud Trace 的访问权限,或者向主帐号授予项目级角色,请执行以下操作:
Google Cloud 控制台
-
在 Google Cloud 控制台中,选择 Monitoring,然后选择
权限,或者点击以下按钮:权限页面不会显示所有主帐号。它仅会列出具有项目级角色或特定于 Monitoring、Logging 或 Trace 的角色。
通过本页面上的选项,您可以查看其角色包含任何 Monitoring 权限的所有主帐号。
点击
授予访问权限。点击新的主帐号,然后输入主帐号的用户名。您可以添加多个主帐号。
展开 arrow_drop_down 选择角色,从按产品或服务菜单中选择一个值,然后从角色菜单中选择一个角色:
按产品或服务选择 选择角色 说明 监控 Monitoring Viewer 查看 Monitoring 数据和配置信息。 例如,具有此角色的主帐号可以查看自定义信息中心和提醒政策。 监控 Monitoring Editor 查看 Monitoring 数据以及创建和修改配置。例如,具有此角色的主帐号可以创建自定义信息中心和提醒政策。 监控 Monitoring Admin 查看 Monitoring 数据、创建和修改配置以及修改指标范围。 Cloud Trace Cloud Trace 用户 拥有对 Trace 控制台的完整访问权限,以及对跟踪记录的读写权限,以及对接收器的读写权限。如需了解详情,请参阅 Trace 角色。 Cloud Trace Cloud Trace 管理员 拥有对 Trace 控制台的完整访问权限,以及对跟踪记录的读写权限,以及对接收器的读写权限。如需了解详情,请参阅 Trace 角色。 日志记录 日志查看器 可以查看日志。如需了解详情,请参阅 Logging 角色。 日志记录 日志记录管理员 拥有对 Cloud Logging 所有功能的完整访问权限。如需了解详情,请参阅 Logging 角色。 项目 查看者 可以查看大多数 Google Cloud 资源。 项目 Editor 查看、创建、更新和删除大部分 Google Cloud 资源。 项目 Owner 拥有对大多数 Google Cloud 资源的完整访问权限。 可选:如需向同一主帐号授予其他角色,请点击添加其他角色,然后重复执行上一步。
点击保存。
前面的步骤介绍了如何使用 Google Cloud 控制台中的 Monitoring 页面向主帐号授予某些角色。对于这些角色,本页面还支持修改和删除选项:
如需移除主帐号的角色,请选中主帐号旁边的复选框,然后点击
移除访问权限。如需修改主帐号的角色,请点击 edit 修改。更新设置后,点击保存。
Google Cloud CLI
使用 gcloud projects add-iam-policy-binding
命令授予 monitoring.viewer
或 monitoring.editor
角色。
例如:
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
预定义角色
Cloud Monitoring 预定义了以下 IAM 角色。 这些角色仅授予针对 Monitoring 的权限。
Monitoring 角色
以下角色可授予针对 Monitoring 的一般权限:
名称 职位 |
具有的权限 |
---|---|
roles/monitoring.viewer Monitoring 查看者 |
授予对 Google Cloud 控制台和 API 中的 Monitoring 的只读权限。 |
roles/monitoring.editor Monitoring 编辑器 |
授予对 Google Cloud 控制台和 API 中的 Monitoring 的读写权限: ,授予使用 Google Cloud 控制台时对指标范围的读写权限。拥有对指标范围的写入权限,才能向该指标范围添加(或移除)受监控的 Google Cloud 项目。 |
roles/monitoring.admin Monitoring Admin |
授予对 Google Cloud 控制台和 API 中的 Monitoring 的完整访问权限, 以及授予对指标范围的读写权限。拥有对指标范围的写入权限,才能向该指标范围添加(或移除)受监控的 Google Cloud 项目。 |
以下角色可为服务账号提供只写权限:
名称 职位 |
说明 |
---|---|
roles/monitoring.metricWriter Monitoring Metric Writer |
允许将监控数据写入指标范围; 不允许在 Google Cloud 控制台中访问 Monitoring。 此角色用于服务帐号和代理。 |
提醒政策角色
以下角色可授予提醒政策权限:
名称 职位 |
说明 |
---|---|
roles/monitoring.alertPolicyViewer Monitoring AlertPolicy Viewer |
授予对提醒政策的只读权限。 |
roles/monitoring.alertPolicyEditor Monitoring AlertPolicy Editor |
授予对提醒政策的读写权限。 |
信息中心角色
以下角色仅授予针对信息中心的权限:
名称 职位 |
说明 |
---|---|
roles/monitoring.dashboardViewer Monitoring Dashboard Configuration Viewer |
授予对信息中心配置的只读权限。 |
roles/monitoring.dashboardEditor Monitoring Dashboard Configuration Editor |
授予对信息中心配置的读写权限。 |
突发事件角色
以下角色仅授予事件权限:
名称 职位 |
说明 |
---|---|
roles/monitoring.cloudConsoleIncidentViewer 监控 Cloud Console 突发事件查看器 |
使用 Google Cloud 控制台授予查看突发事件的权限。 |
roles/monitoring.cloudConsoleIncidentEditor 监控 Cloud Console 突发事件编辑器 |
授予使用 Google Cloud 控制台查看、确认和关闭突发事件的权限。 |
如需了解如何解决查看突发事件时的 IAM 权限错误,请参阅因权限错误而无法查看突发事件详情。
通知渠道角色
以下角色仅授予针对通知渠道的权限:
名称 职位 |
说明 |
---|---|
roles/monitoring.notificationChannelViewer Monitoring NotificationChannel Viewer |
授予对通知渠道的只读权限。 |
roles/monitoring.notificationChannelEditor Monitoring NotificationChannel Editor |
授予对通知渠道的读写权限。 |
延后通知角色
以下角色授予了暂停通知的权限:
名称 职位 |
说明 |
---|---|
roles/monitoring.snoozeViewer 监控延后查看器 |
授予对延后的只读权限。 |
roles/monitoring.snoozeEditor 监控延后编辑器 |
授予对延后的读写权限。 |
Service Monitoring 角色
以下角色授予管理服务的权限:
名称 职位 |
说明 |
---|---|
roles/monitoring.servicesViewer Monitoring Services Viewer |
授予对服务的只读权限。 |
roles/monitoring.servicesEditor Monitoring Services Editor |
授予对服务的读写权限。 |
如需详细了解服务监控,请参阅 SLO 监控。
拨测配置角色
以下角色仅授予针对正常运行时间检查配置的权限:
名称 职位 |
说明 |
---|---|
roles/monitoring.uptimeCheckConfigViewer Monitoring Uptime Check Configurations Viewer |
授予对拨测配置的只读权限。 |
roles/monitoring.uptimeCheckConfigEditor Monitoring Uptime Check Configurations Editor |
授予对拨测配置的读写权限。 |
指标范围配置角色
以下角色授予了指标范围的一般权限:
名称 职位 |
说明 |
---|---|
roles/monitoring.metricsScopesViewer Monitoring Metrics Scopes Viewer |
授予对指标范围的只读权限。 |
roles/monitoring.metricsScopesAdmin Monitoring Metrics Scopes Admin |
授予对指标范围的读写权限。 |
Google Cloud 角色
以下角色授予针对 Google Cloud 中多项服务和资源(包括 Monitoring)的权限:
名称 职位 |
具有的权限 |
---|---|
roles/viewer Viewer |
Monitoring 权限恰好是 roles/monitoring.viewer 的权限。
|
roles/editor 编辑器 |
Monitoring 权限与 此角色不授予修改指标范围的权限。
如需在使用 API 时修改指标范围,您的角色必须包含 |
roles/owner 所有者 |
Monitoring 权限与 roles/monitoring.admin 中的权限相同。 |
预定义角色的权限
本部分列出了分配给与 Monitoring 关联的预定义角色的权限。
如需详细了解预定义角色,请参阅 IAM:角色和权限。如需有关选择最适合的预定义角色的帮助,请参阅选择预定义角色。
Monitoring 角色的权限
Role | Permissions |
---|---|
Monitoring Admin(
Provides the same access as the Monitoring Editor role ( Lowest-level resources where you can grant this role:
|
cloudnotifications. monitoring.*
opsconfigmonitoring.*
resourcemanager.projects.get resourcemanager.projects.list serviceusage.services.enable stackdriver.*
|
Monitoring AlertPolicy Editor( Read/write access to alerting policies. |
monitoring.alertPolicies.*
|
Monitoring AlertPolicy Viewer( Read-only access to alerting policies. |
monitoring.alertPolicies.get monitoring.alertPolicies.list |
Monitoring Cloud Console Incident Editor Beta( Read/write access to incidents from Cloud Console. |
|
Monitoring Cloud Console Incident Viewer Beta( Read access to incidents from Cloud Console. |
|
Monitoring Dashboard Configuration Editor( Read/write access to dashboard configurations. |
monitoring.dashboards.*
|
Monitoring Dashboard Configuration Viewer( Read-only access to dashboard configurations. |
monitoring.dashboards.get monitoring.dashboards.list |
Monitoring Editor( Provides full access to information about all monitoring data and configurations. Lowest-level resources where you can grant this role:
|
cloudnotifications. monitoring.alertPolicies.*
monitoring.dashboards.*
monitoring.groups.*
monitoring.metricDescriptors.*
monitoring.
monitoring.
monitoring. monitoring. monitoring. monitoring. monitoring. monitoring. monitoring. monitoring.publicWidgets.*
monitoring.services.*
monitoring.slos.*
monitoring.snoozes.*
monitoring.timeSeries.*
monitoring.
opsconfigmonitoring.*
resourcemanager.projects.get resourcemanager.projects.list serviceusage.services.enable stackdriver.*
|
Monitoring Metric Writer( Provides write-only access to metrics. This provides exactly the permissions needed by the Cloud Monitoring agent and other systems that send metrics. Lowest-level resources where you can grant this role:
|
monitoring. monitoring. monitoring.
monitoring.
monitoring.timeSeries.create |
Monitoring Metrics Scopes Admin Beta( Access to add and remove monitored projects from metrics scopes. |
monitoring.metricsScopes.link resourcemanager.projects.get resourcemanager.projects.list |
Monitoring Metrics Scopes Viewer Beta( Read-only access to metrics scopes and their monitored projects. |
resourcemanager.projects.get resourcemanager.projects.list |
Monitoring NotificationChannel Editor Beta( Read/write access to notification channels. |
monitoring.
monitoring. monitoring. monitoring. monitoring. monitoring. monitoring. monitoring. |
Monitoring NotificationChannel Viewer Beta( Read-only access to notification channels. |
monitoring.
monitoring. monitoring. |
Monitoring Services Editor( Read/write access to services. |
monitoring.services.*
monitoring.slos.*
|
Monitoring Services Viewer( Read-only access to services. |
monitoring.services.get monitoring.services.list monitoring.slos.get monitoring.slos.list |
Monitoring Snooze Editor(
|
monitoring.snoozes.*
|
Monitoring Snooze Viewer(
|
monitoring.snoozes.get monitoring.snoozes.list |
Monitoring Uptime Check Configuration Editor Beta( Read/write access to uptime check configurations. |
monitoring.
|
Monitoring Uptime Check Configuration Viewer Beta( Read-only access to uptime check configurations. |
monitoring. monitoring. |
Monitoring Viewer( Provides read-only access to get and list information about all monitoring data and configurations. Lowest-level resources where you can grant this role:
|
cloudnotifications. monitoring.alertPolicies.get monitoring.alertPolicies.list monitoring.dashboards.get monitoring.dashboards.list monitoring.groups.get monitoring.groups.list monitoring. monitoring.
monitoring.
monitoring.
monitoring. monitoring. monitoring.publicWidgets.get monitoring.publicWidgets.list monitoring.services.get monitoring.services.list monitoring.slos.get monitoring.slos.list monitoring.snoozes.get monitoring.snoozes.list monitoring.timeSeries.list monitoring. monitoring. opsconfigmonitoring. resourcemanager.projects.get resourcemanager.projects.list stackdriver.projects.get stackdriver. |
Ops Config Monitoring 角色的权限
Role | Permissions |
---|---|
Ops Config Monitoring Resource Metadata Viewer Beta( Read-only access to resource metadata. |
opsconfigmonitoring. |
Ops Config Monitoring Resource Metadata Writer Beta( Write-only access to resource metadata. This provides exactly the permissions needed by the Ops Config Monitoring metadata agent and other systems that send metadata. |
opsconfigmonitoring. |
Stackdriver 角色的权限
Role | Permissions |
---|---|
Stackdriver Accounts Editor( Read/write access to manage Stackdriver account structure. |
resourcemanager.projects.get resourcemanager.projects.list serviceusage.services.enable stackdriver.projects.*
|
Stackdriver Accounts Viewer( Read-only access to get and list information about Stackdriver account structure. |
resourcemanager.projects.get resourcemanager.projects.list stackdriver.projects.get |
Stackdriver Resource Metadata Writer Beta( Write-only access to resource metadata. This provides exactly the permissions needed by the Stackdriver metadata agent and other systems that send metadata. |
stackdriver. |
Google Cloud 角色
Google Cloud 角色具备以下权限:
名称 职位 |
具有的权限 |
---|---|
roles/viewer Viewer |
Monitoring 权限恰好是 roles/monitoring.viewer 的权限。
|
roles/editor 编辑器 |
Monitoring 权限与 此角色不授予修改指标范围的权限。
如需在使用 API 时修改指标范围,您的角色必须包含 |
roles/owner 所有者 |
Monitoring 权限与 roles/monitoring.admin 中的权限相同。 |
自定义角色
如果您想为主帐号授予一组比预定义角色更受限的权限,可能需要创建自定义角色。例如,如果您因为存在数据驻留或 Impact Level 4 (IL4) 要求而设置了 Assured Workloads,则不应使用正常运行时间检查,因为无法保证拨测数据保存在特定的地理位置。为阻止使用拨测,请创建不包含任何前缀为 monitoring.uptimeCheckConfigs
的权限的角色。
要创建具备 Monitoring 权限的自定义角色,请执行以下操作:
对于仅授予 Monitoring API 权限的角色,请从权限和预定义角色部分中选择权限。
对于在 Google Cloud 控制台中授予 Monitoring 权限的角色,请从 Monitoring 角色部分的权限组中进行选择。
如需授予写入监控数据的权限,请在权限和预定义角色部分中添加角色
roles/monitoring.metricWriter
的权限。
如需详细了解自定义角色,请转到了解 IAM 自定义角色。
Compute Engine 访问权限范围
访问权限范围是为 Compute Engine 虚拟机实例指定权限的传统方法。以下访问权限范围适用于 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 的完整访问权限。 |
如需了解详情,请转到访问权限范围。
最佳做法。 由于服务账号 IAM 角色易于配置和更改,因此合理的做法是为虚拟机实例提供最强大的访问权限范围 (cloud-platform
),然后使用 IAM 角色限制对特定 API 和操作的访问权限。如需了解详情,请转到服务账号权限。