除去用户

如果用户不再需要特定的访问许可权,或者如果用户离开组织,IBM Cloud 帐户所有者可以除去该用户的许可权。

检查用户的凭证是否用于基础架构许可权

但是,在除去用户的特定访问许可权或从帐户中完全除去用户之前,请确保该用户的基础架构凭证未用于设置 API 密钥,也未用于 ibmcloud oc credential set 命令。 否则,帐户中的其他用户可能会失去对 IBM Cloud 基础架构门户网站的访问权,并且与基础架构相关的命令可能会失败。

为避免未来用户出现此问题,请考虑将功能标识用户用于 API 密钥所有者而不是个人用户。 如果人员离开团队,那么功能标识用户仍是 API 密钥所有者。

  1. 将 CLI 上下文的目标设定为您在其中具有集群的区域和资源组。
    ibmcloud target -g RESOURCE_GROUP_NAME -r REGION
    
  2. 检查为该区域和资源组设置的 API 密钥或基础架构凭证的所有者。
    ibmcloud oc api-key info --cluster CLUSTER_NAME_OR_ID
    
    ibmcloud oc credential get --region REGION
    
  3. API 密钥: 如果返回用户的用户名,请使用其他用户的凭证来设置 API 密钥。
    1. 邀请功能标识用户 加入 IBM Cloud 帐户以用于设置 API 密钥基础结构凭证,而不是个人用户。 如果人员离开团队,那么功能标识用户仍是 API 密钥所有者。
    2. 确保用于设置 API 密钥的身份在 IBM Cloud Kubernetes Service 中具有管理员平台角色,如果使用的是服务 ID,则在 IAM Identity Service 中具有操作员平台角色
    3. 以功能标识登录。
        ibmcloud login
        ```
    4. 将基础结构凭证更改为功能标识用户。
    ```sh {: pre}
        ibmcloud oc api-key reset --region REGION
        ```
    5. 刷新区域中的集群以获取新的 API 密钥配置。
    ```sh {: pre}
        ibmcloud oc cluster master refresh -c CLUSTER_NAME_OR_ID
        ```
    
  4. 基础架构帐户: 如果用户的用户名作为基础架构帐户的所有者返回,请在除去用户之前将现有集群迁移到其他基础架构帐户。 对于用户创建的每个集群,执行以下步骤:
    1. 检查用户使用了哪个基础架构帐户来供应集群。
      1. 工作程序节点选项卡中,选择工作程序节点,并记下其标识
      2. 打开菜单 !["菜单" 图标](../icons/icon_hamburger.svg ""菜单" 图标"),然后单击 经典基础架构
      3. 在“基础架构”导航窗格中,单击 “设备”>“设备列表”
      4. 搜索您先前记下的工作程序节点标识。
      5. 如果您找不到工作节点 ID,则说明该工作节点尚未配置到此基础设施账户中。 请切换到其他基础架构帐户,然后重试。
    2. 确定用户离开后,该用户用于供应集群的基础架构帐户会发生什么情况。
      • 如果用户不拥有基础架构帐户,那么在该用户离开后,其他用户有权访问此基础架构帐户,并且此帐户会持久存储。 您可以继续在帐户中使用这些集群。 确保至少有一个其他用户具有集群的 管理员 平台访问角色
      • 如果用户拥有基础架构帐户,那么在该用户离开时将删除此基础架构帐户。 您无法继续使用这些集群进行工作。 要防止集群变成孤立集群,用户必须在离开之前先删除这些集群。 如果用户已离开,但集群尚未被删除,则必须使用 ibmcloud oc credential set 命令,将基础设施凭据更改为集群工作节点所分配的账户,并删除该集群。 有关更多信息,请参阅无法修改或删除孤立集群中的基础架构
  5. 对您在其中具有集群的资源组和区域的每个组合重复这些步骤。

撤销 IBM Cloud IAM 平台权限及相关预定义的 RBAC 权限

  1. 登录到 IBM Cloud 控制台。 在菜单栏中,选择 “管理”>“访问”(IAM)
  2. 单击用户页面,然后单击要除去其许可权的用户的名称。
  3. 在用户的表条目中,单击 操作菜单 !["操作菜单" 图标](../icons/action-menu-icon.svg ""操作菜单" 图标") > 除去用户
  4. 除去 IBM Cloud IAM 平台许可权时,还会自动从关联的预定义 RBAC 角色中除去用户的许可权。 要使用更改来更新 RBAC 角色,请运行 ibmcloud oc cluster config

请注意,仅删除用户的角色绑定。 要从集群中删除用户和身份,还需要执行其他步骤。 然而,如果没有角色绑定,用户和身份将无权在群集中执行操作。

  1. 列出集群中的用户。

    oc get users
    

    示例输出

    NAME                     UID                                    FULL NAME   IDENTITIES
    IAM#user@us.ibm.com   1a11a11a-1aa1-111a-1aa1-aaa11aa1a111               IAM:IBMid-1100011AAA
    
  2. 使用上一步中找到的值删除用户和身份。

    oc delete identity IDENTITY
    oc delete user NAME
    

    示例命令

    oc delete identity IAM:IBMid-1100011AAA
    oc delete user IAM#user@us.ibm.com
    
  3. 可选 :如果您创建了自定义 RBAC 角色或集群角色,则必须将该用户从这些 RBAC 角色绑定或集群角色绑定的 .yaml 文件中移除。 请参阅下一节中的步骤,了解如何删除自定义 RBAC 权限

除去定制 RBAC 许可权

如果您不再需要自定义 RBAC 权限,可以将其删除。

  1. 打开已创建的角色绑定或集群角色绑定的 .yaml 文件。
  2. subjects 部分中,除去与用户相关的部分。
  3. 保存文件。
  4. 将更改应用于集群中的角色绑定或集群角色绑定资源。
    oc apply -f my_role_binding.yaml