准备 IAM 权限

本页概述了从组织和项目 IAM 管理员处请求资源访问权限所需的 Identity and Access Management (IAM) 角色和权限。如需在 Google Distributed Cloud (GDC) 空气隔离环境中对虚拟机 (VM) 执行任务,您必须拥有适当的 IAM 角色和权限。

本页面适用于平台管理员或应用运维者群组中的开发者,他们会在 GDC 环境中创建和管理虚拟机。 如需了解详情,请参阅 GDC 空气隔离环境文档的受众群体

准备工作

如需使用 gdcloud CLI 命令,请完成gdcloud 命令行界面 (CLI) 部分中的必需步骤。Google Distributed Cloud air-gapped 的所有命令都使用 gdcloudkubectl CLI,并且需要操作系统 (OS) 环境。

获取 kubeconfig 文件路径

如需针对管理 API 服务器运行命令,请确保您拥有以下资源:

  1. 登录并生成管理 API 服务器的 kubeconfig 文件(如果您还没有)。

  2. 使用管理 API 服务器的 kubeconfig 文件路径替换这些说明中的 MANAGEMENT_API_SERVER

IAM 简介

Distributed Cloud 提供 Identity and Access Management (IAM),可实现对特定 Distributed Cloud 资源的精细访问,并防止对其他资源进行不必要的访问。IAM 遵循最小权限安全原则,并使用 IAM 角色和权限来控制哪些人有权访问指定资源。

请参阅登录中的 IAM 文档,其中提供了有关登录 GDC 控制台或 gdcloud CLI 并使用 kubectl 访问工作负载的说明。

针对虚拟机资源的预定义角色

如需在项目中创建虚拟机和虚拟机磁盘,请向项目 IAM 管理员申请相应权限。所有虚拟机角色都必须绑定到虚拟机所在项目的命名空间。如需管理虚拟机,您的项目 IAM 管理员可以为您分配以下预定义角色:

  • Project VirtualMachine Admin project-vm-admin:管理项目命名空间中的虚拟机。
  • Project VirtualMachine Image Admin project-vm-image-admin:管理项目命名空间中的虚拟机映像。

如需查看所有预定义的应用运算符 (AO) 角色的列表,请参阅角色说明

如需授予或接收对虚拟机资源的访问权限,请参阅授予对项目资源的访问权限

验证用户对虚拟机资源的访问权限

  1. 以请求或验证权限的用户身份登录

  2. 验证您或用户是否可以创建虚拟机:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      auth can-i create virtualmachines.virtualmachine.gdc.goog
    

    使用以下定义替换变量。

    变量 替换
    MANAGEMENT_API_SERVER 来自 gdcloud auth login 的系统 kubeconfig 文件。
    PROJECT 用于创建虚拟机映像的项目名称。
    • 如果输出为 yes,则表示您有权在项目 PROJECT 中创建虚拟机。
    • 如果输出为 no,则表示您没有相应权限。与您的项目 IAM 管理员联系,并请求在虚拟机所在项目的命名空间中授予 Project VirtualMachine Admin (project-vm-admin) 角色。
  3. 可选:验证用户是否可以访问项目级虚拟机映像。例如,运行以下命令可验证它们是否可以在项目级创建和使用 VirtualMachineImage 资源:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      auth can-i get virtualmachineimages.virtualmachine.gdc.goog
    
    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      auth can-i create virtualmachineimageimports.virtualmachine.gdc.goog
    

    使用以下定义替换变量。

    变量 替换
    MANAGEMENT_API_SERVER 管理 API 服务器 kubeconfig 文件。
    PROJECT 创建虚拟机映像的项目名称。
    • 如果输出为 yes,则表示用户有权访问项目 PROJECT 中的自定义虚拟机映像。
    • 如果输出为 no,则表示您没有相应权限。联系您的项目 IAM 管理员角色,并请求在虚拟机所在项目的命名空间中授予项目虚拟机映像管理员 (project-vm-image-admin) 角色。