google-cloud-platform - 在项目中看不到共享机器映像
问题描述
我正在遵循使用其他项目中的图像指南。有一个项目 A,我被授予了 compute.imageUser(不是所有者)和一个我拥有的项目 B。项目 A 有一个机器映像,我想在项目 B 中使用它来创建虚拟机。
即使在被授予访问权限后,我也看不到项目 B 控制台中计算引擎选项卡下的机器映像。
有人经历过类似的事情并愿意帮助我吗?
谢谢
解决方案
首先确保您有一个正确的服务帐户帐户名称绑定到项目 A。这是如何找到正确服务帐户的分步说明(这听起来很简单,但任何拼写错误的字符都会导致访问被拒绝)。
有一些限制(确保不是这种情况):
- 您必须在项目级别授予 compute.imageUser 角色。
- 授予 compute.imageUser 角色会授予特定项目中所有图像的权限。无法共享特定图像。
- 您必须将此角色授予特定用户,而不是授予
allAuthenticatedUsers
或allUsers
。
此外 -您可以创建自定义图像并共享它,但您必须在项目 A 中获得额外的权限:
- compute.images.create 创建新图像
- compute.images.list 列出项目中的图像
- compute.disks.use 如果图像将从磁盘创建
- 如果您想授予用户查看项目中磁盘列表的能力,请使用 compute.disks.list
如果您只需要访问一个或两个图像,则后一种解决方案(共享自定义图像)可能最适合您。
推荐阅读
- azure-devops - azure devop 服务器中的 Nuget 还原错误:NU1106:无法满足冲突的请求
- visual-studio-code - VS Code 等效代码。用于在编辑器上打开当前目录的 WebStorm 命令
- php - 让 php 爬虫跳过特定的 url
- python - 为什么这个 Python 函数在 Enum 值不匹配时不会抛出错误?
- ios - UISegmentedControl 不完全遵循高度约束
- html - bootstrap 边距间距
- python - 散景:从堆叠条形图中的工具栏中删除 Hovertool
- java - 如何在库中使用上下文?
- python - 如何在 exec_command 之后获取退出代码?
- java - 春季调度