我想通过 IAM 向同事授予对 Google Cloud Monitoring 资源的权限。他给我发了错误信息
Error loading /monitoring/alerting/incidents/[incident id]?project=[project]
以及从错误消息继续操作所需的角色:
monitoring.incidents.get
stackdriver.projects.get
我认为我可以使用策略疑难解答来列出我需要在 IAM 中分配的所需角色,但这也许是一个误解。
假设可以使用疑难解答,我输入了同事用于 Google Cloud 登录的电子邮件地址以及一对带有
Permission
monitoring.incidents.get
的电子邮件地址。我尝试了以下Resource
:
/monitoring/alerting/incidents/[incident id]
/monitoring/alerting/incidents/[incident id]?project=[project]
//monitoring/alerting/incidents/[incident id]
//monitoring/alerting/incidents/[incident id]?project=[project]
//monitoring/alerting/incidents
//monitoring.googleapis.com/alerting/incidents/[incident id]
//monitoring.googleapis.com/alerting/incidents/[incident id]?project=[project]
//monitoring.googleapis.com/alerting/incidents
UI 不提供任何填写此字段的支持,也不提供错误消息中的任何反馈。据我了解 文档 预计带有
monitoring.googleapis.com
的完整表格。
我没有打开日志记录,因此无法按照建议使用日志浏览器。
Google 的 IAM 权限参考提供了一个表,将 权限映射到包含它们的预定义角色。
此表是可搜索的,因此您应该能够弹出目标权限以查找已包含该权限的预定义角色。然后,您只需浏览结果,寻找对您的用例有意义的角色。例如:
虽然这通常效果很好,但我实际上没有看到任何结果
monitoring.incidents.get
!这是我个人遇到的第一个未包含在该表中的权限——对我来说这感觉像是一个文档错误。也许这也是政策疑难解答中让您感到悲伤的原因。
权限参考页面的替代方法是检查您正在使用的特定产品的“使用 IAM 进行访问控制”文档。此页面通常会列出适用于给定产品的预定义角色(以及这些权限适用的范围)。
根据我的经验,大多数 Google Cloud 产品都非常擅长提供此 IAM 文档,并且通常搜索
<product> IAM GCP
应找到正确的页面。
例如,用于监控的“使用 IAM 进行访问控制”页面可以在以下位置找到:https://cloud.google.com/monitoring/access-control
再次:我没有看到任何对
monitoring.incidents.get
权限的引用。我(在撰写本文时)所能找到的只是一个“事件”部分,该部分建议使用基本的“monitoring.viewer
”、“monitoring.editor
”和“monitoring.admin
”角色来管理事件访问控制。这些角色过去曾为我提供过关闭事件所需的 monitoring.incidents.update
权限。如果这些角色对于您的用例来说过于广泛,您可以改为
创建自定义角色。
% gcloud iam roles describe roles/monitoring.cloudConsoleIncidentViewer
description: Read access to incidents from Cloud Console.
etag: AA==
name: roles/monitoring.cloudConsoleIncidentViewer
stage: BETA
title: Monitoring Cloud Console Incident Viewer
尽管它没有明确显示monitoring.incidents.get权限是该角色的一部分,但我可以确认它可以在GCP UI中添加查看事件的权限。https://gcp.permissions.cloud/predefinedroles/monitoring.cloudConsoleIncidentViewer