为裸金属解决方案配置 IAM

如果您希望主帐号获得裸金属解决方案环境中资源的访问权限,则需要向用户帐号和服务帐号授予适当的角色和权限。与 Google Cloud 的其他组件类似,您可以创建 Identity and Access Management (IAM) 政策并授予特定于裸金属解决方案的预定义角色。

您需要向与您的 Google Cloud 项目关联的主帐号授予角色。请遵循 Google Cloud 安全最小权限原则,向主账号授予具有足够权限的角色,让主帐号能够执行其工作,但无权执行其他操作。

裸金属解决方案的预定义角色

裸金属解决方案的每个 IAM 角色都包含一些权限,这些权限可授予主帐号对特定资源的访问权限,如下表所示。

角色名称 路径 说明
Bare Metal Solution Admin roles/baremetalsolution.admin
(Owner 基本角色也拥有这些权限)
拥有当前和未来的所有裸金属解决方案资源的完全控制权。
Bare Metal Solution Editor roles/baremetalsolution.editor
(Editor 基本角色也拥有这些权限)
可以修改当前和未来的所有裸金属解决方案资源。
Bare Metal Solution Viewer roles/baremetalsolutions.viewer
(Viewer 基本角色也拥有这些权限)
可以查看当前和未来的所有裸金属解决方案资源。此角色拥有只读权限。
Bare Metal Solution Instances Admin 角色 roles/baremetalsolution.instancesadmin 可以管理裸金属解决方案服务器。此角色在项目级层拥有此类实例的读写权限。
Bare Metal Solution Instances Viewer roles/baremetalsolution.instancesviewer 可以查看裸金属解决方案服务器。此角色在项目级层拥有此类实例的只读权限。

对于上述角色,我们建议按如下所示应用:

  • 填写登记表

    • 裸金属解决方案角色:Admin、Editor 或 Instances Admin
    • 基本角色:Admin 或 Editor
  • 重启 Bare Metal 解决方案服务器

    • 裸金属解决方案角色:Admin 或 Editor
    • 基本角色:Admin 或 Editor
  • 列出服务器或请求状态

    • 裸金属解决方案角色:Viewer 或 Instances Viewer
    • 基本角色:Viewer

授予 IAM 角色

添加 Identity and Access Management (IAM) 政策,以向主帐号(Cloud 项目用户或服务帐号)授予裸金属解决方案角色。该角色包含使主帐号能够执行特定操作的权限。要授予角色,请执行以下操作:

  1. 确保您拥有的角色包含适当的 IAM 权限,可向其他角色授予角色,例如 OwnerProject IAM AdminSecurity Admin。如需详细了解此要求,请参阅所需权限
  2. 在 Cloud 项目中打开 Cloud Shell 窗口。
  3. 将您的 Cloud 项目 ID、主帐号的 Google Cloud 帐号的电子邮件地址和所需的裸金属解决方案角色路径添加到以下命令中:

    gcloud projects add-iam-policy-binding PROJECT_ID \
     --member=user:username@example.com \
     --role=roles/baremetalsolution.admin
     

  4. 复制该命令并将其粘贴到 Cloud Shell 窗口中。

  5. Enter 键或 Return 键。

  6. 在某些情况下,系统会打开为 Cloud Shell 提供授权窗口,要求您允许 API 调用。如果您看到此窗口,请点击授权

  7. 成功输入命令后,输出将如下所示:

    Updated IAM policy for project [PROJECT_ID].
      bindings:
      - members:
       - user:username@example.com
       role: roles/baremetalsolution.admin
      - members:
       - serviceAccount:service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
       role: roles/compute.serviceAgent
      - members:
       - serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com
       - serviceAccount:PROJECT_NUMBER@cloudservices.gserviceaccount.com
       role: roles/editor
      - members:
       - user:username@example.com
       role: roles/owner
      etag: ETAG_NUMBER
      version: 1
     

如需详细了解 IAM,请参阅 Identity and Access Management