Google Cloud Build - 查看日志权限

Posted

技术标签:

【中文标题】Google Cloud Build - 查看日志权限【英文标题】:Google Cloud Build - View logs permissions 【发布时间】:2019-10-15 03:57:32 【问题描述】:

我是一个项目的所有者,想将 权限 授予其他用户以查看 Google Cloud Build 的日志,但我无法确定该用户需要哪个角色/权限。


我尝试失败的角色是: 云构建编辑器, 云构建查看器, Stackdriver 调试器代理, Stackdriver 调试器用户, Cloud Trace 管理员, 记录管理员, 私人日志查看器, 日志查看器, 监控管理员

【问题讨论】:

您的问题缺少一些东西。 Viewer、Logs Viewer 和 Private Logs Viewer 提供必要的权限。日志查看者是添加到用户的正确角色。给用户日志查看器。然后用户可以转到 Stackdriver 并直接查看 Cloud Build 的日志吗? 我也被这个难住了。用户可以在 Stackdriver 中看到构建日志输出,但在构建详细信息中看不到。下载链接也会抛出 403 Forbidden。 可能是 Gcloud 错误?我也没有解决;( 试试这个:gsutil iam ch user:mail@example.com:objectViewer gs://<project number>.cloudbuild-logs.googleusercontent.com 对你有用吗?这几天我会尝试,因为现在我们的设置有点不同 【参考方案1】:

如果您添加项目查看者角色,那么这将解决问题。但是,这似乎是一个问题(或者可能是一个功能请求 - 向日志查看器添加必要的权限,以便也可以在其他 UI 中查看 Stackdriver 日志记录页面之外的日志),查看documentation它说 “roles/viewer (Project Viewer) 在项目级别为成员提供与角色/logging.viewer 相同的权限。” 这意味着只需分配 Logs Viewer,它就应该赋予用户在 Cloud Build UI 中查看日志的必要权限。

【讨论】:

是的,这也是我的解释,不幸的是,没有成功【参考方案2】:

Google Cloud 企业支持向我确认,目前唯一授予此权限的角色是项目级查看者权限(或编辑者/所有者)。

一种解决方法是在将构建提交到您控制的存储桶(而不是默认的 Google 管理的 gs://[PROJECT_NUMBER].cloudbuild-logs.googleusercontent.com/ 存储桶)时设置 --gcs-log-dir 标志。

他们正在跟踪在此功能请求中提供更精细的权限:https://issuetracker.google.com/issues/134928412,您可以订阅更新。

【讨论】:

以上是关于Google Cloud Build - 查看日志权限的主要内容,如果未能解决你的问题,请参考以下文章

在 Google Cloud Scheduler 日志中查看响应正文

在 Google Cloud Logs 中看不到应用程序日志

使用 Go 在 Google Container/Compute Engine 中登录到 Google Cloud

Google Cloud 获取 API Key 的日志使用信息

Google Cloud Build 超时

Google Cloud Run 不加载 .env 文件