准备 IAM 权限

在 Google Distributed Cloud (GDC) 气隙式设备中对虚拟机 (VM) 执行任务之前,您必须拥有适当的身份和访问管理 (IAM) 角色和权限。

GDC 空气隔离设备提供 Identity and Access Management (IAM),可让您授予对特定 GDC 空气隔离设备资源的细化访问权限,并防止对其他资源进行不必要的访问。IAM 遵循最小权限安全原则,可控制(身份)对哪些资源具有哪些权限(角色)。您必须先获得必要的角色和权限,然后才能使用虚拟机 (VM)。

准备工作

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

获取 kubeconfig 文件路径

  1. 针对 gdcloud auth login管理 API 服务器运行。

    1. 记录生成文件的路径。以下是记录路径的示例:
      /tmp/admin-kubeconfig-with-user-identity.yaml

    2. 使用该路径替换这些说明中的 MANAGEMENT_API_SERVER

IAM 简介

GDC 空气隔离设备提供 Identity and Access Management (IAM),可让您授予对特定 GDC 空气隔离设备资源的细化访问权限,并防止对其他资源进行不必要的访问。IAM 遵循最小权限安全原则,并使用 IAM 角色和权限来控制哪些人有权访问指定资源。

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

预定义角色到虚拟机资源的映射

如需在项目中创建虚拟机和虚拟机磁盘,请向项目 IAM 管理员申请相应权限。如需管理虚拟机,您的项目 IAM 管理员可以为您分配以下预定义角色:

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

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

以下是虚拟机的预定义通用角色。如需详细了解常见角色,请参阅常见角色

  • 虚拟机类型查看者:拥有对预定义虚拟机类型的读取权限。
  • 公共映像查看者:拥有对 GDC 网闸隔离设备提供的映像的读取权限。

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

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

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

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

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

    使用以下定义替换变量。

    变量 替换
    MANAGEMENT_API_SERVER 管理 API 服务器 kubeconfig 的路径(从 gdcloud auth login 开始)
    PROJECT 创建虚拟机映像

    如果输出为 yes,则表示您有权在项目 PROJECT 中创建虚拟机。
    如果输出为 no,则表示您没有相应权限。请与您的 Project IAM Admin 联系,请求分配 Project VirtualMachine Admin (project-vm-admin) 角色。

  3. 可选:验证用户是否可以访问项目级虚拟机映像,以及是否可以在项目级层创建和使用 VirtualMachineImage 资源:

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

    使用以下定义替换变量。

    变量 替换
    MANAGEMENT_API_SERVER 管理 API 服务器 kubeconfig 路径
    PROJECT 创建虚拟机映像的项目名称
    • 如果输出为 yes,则表示用户有权访问项目 PROJECT 中的自定义虚拟机映像。
    • 如果输出为 no,则表示您没有相应权限。请与您的 Project IAM Admin 角色联系,并请求分配 Project VirtualMachine Image Admin (project-vm-image-admin) 角色。