默认情况下,项目中的用户可以使用任何公共映像以及项目成员可以通过 IAM 角色进行访问的任何映像来创建永久性磁盘或复制映像。但在某些情况下,您可能希望限定项目成员只能通过包含符合政策或安全要求的获准软件的映像来创建启动磁盘。
使用可信映像功能定义组织政策,只允许项目成员通过特定项目中的映像创建永久性磁盘。
如要限制可以使用映像的位置,请参阅限制共享映像、磁盘和快照的使用。
准备工作
- 如果您要使用本指南中的命令行示例,请执行以下操作:
- 安装或更新到 gcloud 命令行工具的最新版本。
- 设置默认地区和区域。
- 如果您要使用本指南中的 API 示例,请设置 API 访问权限。
- 阅读使用限制页面。
- 阅读了解层次结构评估,了解组织政策的传播方式。
限制
可信映像政策不限制对以下映像的访问:
本地项目中的自定义映像。
Cloud Storage 存储分区中的映像文件。
可信映像政策不会阻止用户在其本地项目中创建映像资源。
设置映像访问限制
通过对项目、组织或文件夹设置 compute.trustedImageProjects
限制可制定映像访问政策。您必须具有修改组织政策的权限才能设置这些限制。例如,resourcemanager.organizationAdmin
角色拥有设置这些限制的权限。如需详细了解如何在组织级别管理政策,请参阅使用限制条件。
控制台
- 转到组织政策页面。
- 在政策列表中,点击定义可信映像项目。
- 点击修改,修改现有的可信映像限制。
设置限制以允许或拒绝您的项目可从中获取映像的一个或多个项目。允许和拒绝的发布者项目列表是采用以下格式的字符串列表:
projects/[PROJECT_ID]
其中,[PROJECT_ID] 是您要标记为可信映像源的项目的项目 ID。
如果组织或文件夹已有现有限制,则这些限制可能与您设置的项目级层限制冲突。
点击保存应用限制设置。
gcloud
获取项目的现有政策设置。
gcloud beta resource-manager org-policies describe \ compute.trustedImageProjects --effective \ --project [PROJECT_ID] > policy.yaml
其中,
[PROJECT_ID]
是您的项目 ID。在文本编辑器中打开
policy.yaml
文件并修改compute.trustedImageProjects
限制。添加所需的限制并移除不再需要的限制。修改完此文件后,请保存更改。例如,您可以在政策文件中设置以下限制条目:constraint: constraints/compute.trustedImageProjects listPolicy: allowedValues: - projects/debian-cloud - projects/cos-cloud deniedValues: - projects/unwanted-images
或者,您也可能希望拒绝访问项目中除自定义映像之外的所有映像。对于这种情况,请使用以下示例:
constraint: constraints/compute.trustedImageProjects listPolicy: allValues: DENY
将
policy.yaml
文件应用于您的项目。如果组织或文件夹已有现有限制,则这些限制可能与您设置的项目级层限制冲突。gcloud beta resource-manager org-policies set-policy \ --project [PROJECT_ID] policy.yaml
其中,
[PROJECT_ID]
是您的项目 ID。
在配置完限制条件后,请进行测试以确保这些条件会创建您所需要的限制。
后续步骤
- 详细了解组织政策服务。
- 查看默认情况下可供您使用的公共映像。
- 与其他项目共享您的私有映像。
- 了解如何限制共享映像、磁盘和快照的使用。
- 了解如何从映像启动实例。