IBM Cloud Docs
使用 IBM Cloud IAM 分配访问权

使用 IBM Cloud IAM 分配访问权

要授予对 Satellite 资源的访问权,请使用 IBM Cloud IAM。 有关在控制台中分配用户角色的信息,请参阅 管理对资源的访问

访问策略

策略在不同级别启用访问权。 IBM Cloud Satellite 的一些选项包括以下内容。

  • 跨帐户中所有资源类型的所有 Satellite 服务实例进行访问。

  • 访问 Satellite中的特定资源类型。 有关资源类型的更多信息,请参阅 了解 Satellite 用于访问的资源类型

    • UI 中的 位置,API 和 CLI 中的 位置。 (限定作用域时,用户必须 以区域端点为目标。)
    • UI 中的 链接,API 和 CLI 中的 链接
    • Satellite 配置资源类型:
      • UI 中的 集群,API 和 CLI 中的 集群
      • UI 中的 集群组,API 和 CLI 中的 集群组
      • UI 中的 配置,API 和 CLI 中的 配置
      • UI 中的 预订,API 和 CLI 中的 预订
  • 访问特定资源类型的单个资源,例如特定位置 Satellite。 可以将以下资源类型的作用域限定为特定实例。

    • UI 中的 位置,API 和 CLI 中的 位置。 (限定作用域时,用户必须 以区域端点为目标。)
    • UI 中的 链接,API 和 CLI 中的 链接
    • Satellite 配置资源类型:
      • UI 中的 集群,API 和 CLI 中的 集群
      • UI 中的 集群组,API 和 CLI 中的 集群组

定义访问策略的范围后,就可以分配角色,角色决定用户的访问级别。 查看以下部分,这些部分概述了每个平台和服务角色在 Satellite 服务中允许的操作。

用于在 IBM Cloud IAM 中设置对 IBM Cloud Satellite 的访问权的过程概述

通常,您可以邀请用户加入 IBM Cloud 帐户,将他们添加到访问组,并为他们分配对 IAM 中 IBM Cloud Satellite 资源的访问权。 您还可以为其他 IBM Cloud 服务添加访问策略,或者分配个别用户访问权。

  1. 邀请用户加入您的帐户
  2. 创建访问组 以向其添加用户。
  3. 分配访问组,具有 Satellite 资源以及 IAM 平台和服务角色的相应作用域,用于您要让访问组中的用户执行的操作。
    • 要限定对服务的访问范围,请在 UI 中使用 IBM Cloud Satellite,或者在 API 或 CLI 中使用 Satellite
    • 您可以限制对帐户或特定资源组的访问权。 请牢记以下几点。
      • 帐户级别访问权与对所有资源组的访问权不同。
      • 并非所有 Satellite 资源类型都支持对资源组进行作用域限定。 例如,不能将 Satellite 配置资源类型 (配置,预订,集群或集群组) 或 Satellite 存储服务的作用域限定为资源组 (仅限于帐户)。
    • 有关将角色作用域限定为正确的 Satellite 资源类型的帮助,请参阅 了解用于访问的 Satellite 资源类型。 您可以将访问策略的作用域限定为以下资源类型。
    • 您可以进一步对以下资源类型的特定资源进行作用域访问。
    • 有关选择平台和服务角色的帮助,请参阅以下参考信息:
    • 请考虑将 Reader 服务策略创建到 IBM Cloud Satellite (并且作用域未限定为特定资源类型或资源),以便用户可以查看在 Satellite 集群 (例如 pod 或部署) 中运行的 Satellite 配置资源。
  4. 分配访问组,具有您计划在 Satellite 位置中使用的任何其他 IBM Cloud 服务的相应作用域。 请参阅每个服务文档以了解所需的访问级别。 共同事务包括:
    • Red Hat OpenShift on IBM Cloud 集群: Kubernetes Service (在 UI 中),containers-kubernetes (在 API 和 CLI 中)。
    • IBM Cloud Container Registry 表示跨集群的专用注册表: Container Registry (在 UI 中),container-registry (在 API 和 CLI 中)。
    • IBM Cloud Object Storage 用于位置信息的支持存储器: Cloud Object Storage (在 UI 中),cos (在 API 和 CLI 中)。
  5. 分配访问组 具有您计划与 Satellite配合使用的任何资源组的 查看者 平台访问角色。

使用控制台将访问策略分配给访问组

使用 IBM Cloud IAM 控制台将访问策略分配给访问组,以管理 Satellite 位置,主机和端点,如以下示例中所示。

  1. 登录到 IBM Cloud

  2. 从菜单栏中,单击管理 > 访问权 (IAM)

  3. 单击 访问组,然后单击要将访问权分配给 IBM Cloud Satellite的访问组。

  4. 单击访问策略选项卡,然后单击分配访问权

  5. 选择 IAM 服务磁贴后,在服务访问下拉字段中选择 IBM Cloud Satellite.

    您可以开始输入诸如 sat 之类的字母,并且字段过滤结果可帮助您查找 IBM Cloud Satellite

  6. 保留 帐户 中的设置,以便您可以将资源作用域限定为特定实例。

  7. 对于 资源类型 字符串等于字段,请将策略作用域限定为 Satellite 资源,例如 位置

  8. Resource string equals 字段中,输入Satellite位置的名称,如 Port-NewYork。 请记住各种 Satellite 资源的以下注意事项。

    • Satellite 位置: 如果将 资源 字段留空,那么用户可以访问用户创建位置所需的所有位置。 将作用域限定为某个位置时,用户必须 以区域端点为目标
    • Satellite 配置: 无法将策略作用域限定为单个 configurationsubscription 资源。 请改为保留 资源 字段为空,并在 clustergroup 级别控制对 Satellite 配置资源的访问权。
  9. 对于 平台访问权,选择 编辑者 角色,以便访问组中的所有用户都可以从 Satellite 位置添加和除去主机和端点,但无法创建或删除位置。 有关其他角色 (按资源类型),请参阅 IAM 平台IAM 服务 角色。

  10. 单击 Add+

  11. 在“访问权摘要”窗格中,查看访问权策略,然后单击 分配

  12. 从访问组 访问策略 表中,验证是否已将“编辑者”策略添加到访问组。

使用 CLI 向访问组分配访问策略

使用 IBM Cloud IAM CLI 向访问组授予访问策略,以管理 Satellite 资源,如以下示例中所示。

  1. 登录到 IBM Cloud。 如果您有联合帐户,请包括 --sso 选项。

    ibmcloud login [--sso]
    
  2. 为 IBM Cloud Satellite创建 IBM Cloud IAM 访问策略。 根据要分配对其的访问权的内容来限定访问策略的作用域。 有关更多信息,请查看以下示例命令和表。

    例如,运行以下命令,为用户分配缺省资源组中所有 Satellite 位置的管理员角色。

    ibmcloud iam user-policy-create user@email.com --service-name satellite --resource-group-name default --resource-type location --roles Administrator
    

    运行以下命令以将“编辑者”角色分配给特定 Satellite 位置的访问组。

    ibmcloud iam access-group-policy-create team1 --service-name satellite --resource-type location --resource Port-NewYork --roles Editor
    
    访问策略范围的选项。
    作用域 描述
    用户
    CLI 选项: 不适用
    可以将策略分配给单个用户或一组用户。 将此位置参数直接放在命令后面。 对于个人用户,请输入用户的电子邮件地址。 对于访问组,输入用户访问组的名称。 可以使用 ibmcloud iam access-group-create 命令来创建访问组。 要列出可用的访问组,请运行 ibmcloud iam access-groups。 要将用户添加到访问组,请运行 ibmcloud iam access-group-user-add <access_group_name> <user_email>
    IBM Cloud 服务
    CLI 选项: --service-name
    输入 satellite 以将访问策略的作用域限定为 IBM Cloud Satellite。
    资源组
    CLI 选项: --resource-group-name
    可以为资源组授予策略。 如果未指定资源组,那么策略将应用于所有资源组的所有服务实例。 要列出可用的资源组,请运行 ibmcloud resource groups
    Satellite 资源
    CLI 选项: --resource-type
    您可以将策略限制为 IBM Cloud Satellite中的某种资源类型,例如所有 Satellite 位置或 Satellite 配置。 要查看资源类型,请参阅 了解 Satellite 用于访问的资源类型。 可能的值包括 locationlinkconfigurationclusterclustergroupsubscription。 如果将访问策略作用域限定为 location 资源类型,那么用户必须将区域端点作为目标以与该位置进行交互。 有关更多信息,请参阅 故障诊断主题
    资源实例
    CLI 选项: --resource
    如果将策略作用域限定为资源类型,那么可以进一步将策略限制为该资源的特定实例。 要列出可用实例,请针对该资源类型运行 CLI 命令,例如 ibmcloud sat location ls。 要授予创建位置的许可权,请不要包含 --resource 选项,这将限制仅对特定位置的访问权。 请注意,不能将策略作用域限定为单个 configurationsubscription 资源。 而是在 clustergroup 级别控制对 Satellite 配置资源的访问。
    角色
    CLI 选项: --role

    选择要分配的平台或服务访问权。

    • 平台: 授予对 Satellite 平台资源的访问权,以便用户可以管理基础架构资源,例如位置,主机或链接端点。 有关更多信息,请参阅 平台访问角色。 可能的值是 Administrator, Operator, EditorViewer
    • 服务: 授予对在 Satellite 资源中运行的服务的访问权,以便用户可以使用 Satellite 配置预订和 Kubernetes 资源。 有关更多信息,请参阅 服务访问角色。 可能的值为 ManagerWriterReader
  3. 验证用户或访问组是否具有分配的角色。

    • 针对个人用户

      ibmcloud iam user-policies <user@email.com>
      
    • 对于访问组

      ibmcloud iam access-group-policies <access_group>
      

检查用户许可权

在完成任务之前,您可能希望检查是否在 IBM Cloud® Identity and Access Management (IAM) 中具有相应的许可权。

从 UI 检查 IAM 平台和服务访问角色

  1. 登录到 IBM Cloud IAM 控制台
  2. 从导航菜单中,单击 用户 选项卡。
  3. 在表中,单击标记为 self 的用户 (针对您自己或要检查的用户)。
  4. 单击访问策略选项卡。
  5. 查看 资源属性 列以获取访问权的简短描述。 单击数字标记以查看角色的所有允许操作。
  6. 要查看角色和允许的操作允许的内容,请参阅 平台访问角色服务访问角色
  7. 要更改或分配新的访问策略,请参阅 分配 Satellite 访问权

从 CLI 检查 IAM 平台和服务访问角色

  1. 登录到 IBM Cloud 帐户。 如果有联合 ID,请加入 --sso 选项。
    ibmcloud login -r [--sso]
    
  2. 查找要检查其许可权的用户的 用户标识
    ibmcloud account users
    
  3. 请检查用户的 IAM 访问策略。
    ibmcloud iam user-policies <user_id>
    
  4. 要查看角色和允许的操作允许的内容,请参阅 平台访问角色服务访问角色
  5. 要更改或分配新的访问策略,请参阅 分配 Satellite 访问权