控制对批处理作业虚拟机操作系统映像的访问权限

本页介绍了如何配置可信映像政策限制条件。 借助此限制条件,您可以控制对操作系统 (OS) 映像的访问权限,这些映像可用于为任何 Compute Engine 虚拟机 (VM) 实例创建启动磁盘。

默认情况下,用户可以使用任何公共映像或与他们共享的任何自定义映像来创建运行 Batch 作业的 Compute Engine 虚拟机。 如果未启用可信映像政策限制条件,并且您不想限制虚拟机操作系统映像,则可以停止阅读本文档。

如果您想要求项目、文件夹或组织中的所有用户创建包含符合您的政策或安全要求的已获批准软件的虚拟机,请启用可信映像政策限制条件。 如果启用了可信映像政策限制条件,受影响的用户 将无法运行 Batch 作业 ,除非其作业的虚拟机操作系统映像是允许的。 如需在启用可信映像政策限制条件后创建和运行作业,请执行以下至少一项操作:

如需详细了解虚拟机操作系统映像和启动磁盘,请参阅 虚拟机操作系统环境概览。 如需了解为您的项目、文件夹或组织启用了哪些政策限制条件,请查看组织政策。

准备工作

  1. 如果您之前未使用过 Batch,请查看 Batch 使用入门 ,并完成 项目和用户的前提条件,以启用 Batch。
  2. 如需获得配置组织政策所需的权限,请让您的管理员为您授予组织的Organization Policy Administrator (roles/orgpolicy.policyAdmin) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。

    您也可以通过自定义 角色或其他预定义 角色来获取所需的权限。

允许来自 Batch 的映像

以下步骤介绍了如何修改可信映像政策限制条件 ,以允许来自 Batch 的所有虚拟机操作系统映像,方法是使用 Google Cloud 控制台或 Google Cloud CLI。

如需详细了解如何使用可信映像 (compute.trustedImageProjects) 政策限制条件,请参阅 Compute Engine 文档中的设置可信映像政策 。

控制台

  1. 前往组织政策 页面。

    前往组织政策

  2. 在政策列表中,点击定义可信映像项目 。

    随即会打开政策详情 页面。

  3. 在政策详情 页面上,点击 管理政策。随即会打开修改政策 页面。

  4. 在修改政策 页面上,选择自定义 。

  5. 在强制执行政策 部分,选择强制执行选项。

  6. 点击添加规则 。

  7. 在政策值 列表中,您可以选择添加一条规则,该规则允许访问所有未指定的映像项目、拒绝访问所有未指定的映像项目,或者指定一组自定义项目以允许或拒绝访问。如需允许来自 Batch 的所有映像,请执行以下操作:

    1. 在政策值 列表中,选择自定义 。 随即会显示政策类型 和自定义值 字段。
    2. 在政策类型 列表中,选择允许 。
    3. 在自定义值 字段中,输入 projects/batch-custom-image。
  8. 如需保存规则,请点击完成 。

  9. 如需保存并应用组织政策,请点击保存 。

gcloud

以下示例介绍了如何允许特定项目使用来自 Batch 的映像:

  1. 如需获取项目的现有政策设置,请运行 resource-manager org-policies describe 命令:

    gcloud resource-manager org-policies describe \
       compute.trustedImageProjects --project=PROJECT_ID \
       --effective > policy.yaml
    

    将 PROJECT_ID 替换为您要更新的项目的项目 ID 。

  2. 在文本编辑器中打开 policy.yaml 文件。然后,通过将 projects/batch-custom-image 添加到 allowedValues 字段来修改 compute.trustedImageProjects 限制条件。 例如,如需仅允许来自 Batch 的虚拟机操作系统映像,请将 compute.trustedImageProjects 限制条件设置为以下内容:

    constraint: constraints/compute.trustedImageProjects
    listPolicy:
     allowedValues:
        - projects//batch-custom-image
    

    修改完 policy.yaml 文件后,请保存更改。

  3. 如需将 policy.yaml 文件应用于您的项目,请使用 resource-manager org-policies set-policy 命令:

    gcloud resource-manager org-policies set-policy \
       policy.yaml --project=PROJECT_ID
    

    将 PROJECT_ID 替换为您要更新的项目的项目 ID 。

更新限制条件后,建议您测试这些限制条件,以验证它们是否按预期运行。

后续步骤