8.3. 删除集群范围的 IAM 资源

在删除了所有依赖于账户范围的 AWS Identity and Access Management (IAM) 资源的、使用 AWS Security Token Services (STS) 的 Red Hat OpenShift Service on AWS (ROSA) 集群后,您就可以删除账户范围的资源。

如果您不再需要使用 Red Hat OpenShift Cluster Manager 来安装带有 STS 的 ROSA 集群,您也可以删除 OpenShift Cluster Manager 和用户 IAM 角色。

重要

帐户范围的 IAM 角色和策略可能被同一 AWS 帐户中的其他 ROSA 集群使用。只有其他集群不需要的资源,才必须删除这些资源。

如果要使用 OpenShift Cluster Manager 安装、管理和删除同一 AWS 帐户中的其他 ROSA 集群,则需要 OpenShift Cluster Manager 和用户 IAM 角色。只有在不再需要使用 OpenShift Cluster Manager 在帐户中安装 ROSA 集群时,才需要删除角色。有关在删除前删除了这些角色,请参阅"添加资源"部分。

8.3.1. 删除集群范围的 IAM 角色和策略

本节提供了删除您为使用 STA 的 ROSA 部署所创建的账户范围的 IAM 角色和策略,以及帐户范围内的 Operator 策略的步骤。只有在删除了所有依赖于账户范围的 AWS Identity and Access Management (IAM) 资源的、使用 AWS Security Token Services (STS) 的 Red Hat OpenShift Service on AWS (ROSA) 集群后,才可以删除账户范围的 AWS Identity and Access Management (IAM) 角色和策略。

重要

帐户范围的 IAM 角色和策略可能被同一 AWS 帐户中的其他 ROSA 集群使用。只有角色不再被其他集群需要时,才删除这些资源。

前提条件

  • 已安装 ROSA 集群。
  • 您已在安装主机上安装并配置了最新的 ROSA CLI (rosa)。

流程

  1. 删除集群范围的角色:

    1. 使用 ROSA CLI 列出 AWS 帐户中的系统范围角色 (rosa):

      $ rosa list account-roles

      输出示例

      I: Fetching account roles
      ROLE NAME                           ROLE TYPE      ROLE ARN                                                           OPENSHIFT VERSION
      ManagedOpenShift-ControlPlane-Role  Control plane  arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-ControlPlane-Role  4.10
      ManagedOpenShift-Installer-Role     Installer      arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Installer-Role     4.10
      ManagedOpenShift-Support-Role       Support        arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Support-Role       4.10
      ManagedOpenShift-Worker-Role        Worker         arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Worker-Role        4.10

    2. 删除集群范围的角色:

      $ rosa delete account-roles --prefix <prefix> --mode auto 1
      1
      您必须包含 --<prefix> 参数。将 <prefix> 替换为要删除的集群范围角色前缀。如果您在创建集群范围的角色时没有指定自定义前缀,请指定默认前缀 ManagedOpenShift
      重要

      帐户范围的 IAM 角色可供同一 AWS 帐户中的其他 ROSA 集群使用。只有角色不再被其他集群需要时,才删除这些资源。

  2. 删除集群范围的内行和 Operator 策略:

    1. AWS IAM 控制台中的 Policies 页面中,根据您在创建帐户范围角色和策略时指定的前缀过滤策略列表。

      注意

      如果您在创建集群范围的角色时没有指定自定义前缀,请搜索默认前缀 ManagedOpenShift

    2. 使用 AWS IAM 控制台删除集群范围的内行策略和 Operator 策略。有关使用 AWS IAM 控制台删除 IAM 策略的更多信息,请参阅 AWS 文档中的删除 IAM 策略

      重要

      帐户范围内的内行和 Operator IAM 策略可能被同一 AWS 帐户中的其他 ROSA 集群使用。只有角色不再被其他集群需要时,才删除这些资源。

8.3.2. 取消链接和删除 OpenShift Cluster Manager 和用户 IAM 角色

如果您使用 Red Hat OpenShift Cluster Manager 安装了 Red Hat OpenShift Service on AWS (ROSA) 集群,则创建了 OpenShift Cluster Manager 和用户 Identity and Access Management (IAM) 角色,并将其与您的红帽机构相关联。删除集群后,您可以使用 ROSA CLI (rosa) 取消链接和删除角色。

重要

如果要使用 OpenShift Cluster Manager 在同一个 AWS 帐户中安装和管理其他 ROSA 集群,则需要 OpenShift Cluster Manager 和用户 IAM 角色。只有在不再需要使用 OpenShift Cluster Manager 安装 ROSA 集群时,才需要删除角色。

前提条件

  • 您创建了 OpenShift Cluster Manager 和用户 IAM 角色,并将其链接到您的红帽机构。
  • 您已在安装主机上安装并配置了最新的 ROSA CLI (rosa)。
  • 您在您的红帽机构中具有机构管理员权限。

流程

  1. 从您的红帽机构中取消链接 OpenShift Cluster Manager IAM 角色并删除角色:

    1. 列出 AWS 帐户中的 OpenShift Cluster Manager IAM 角色:

      $ rosa list ocm-roles

      输出示例

      I: Fetching ocm roles
      ROLE NAME                           ROLE ARN                                                                      LINKED  ADMIN
      ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>  arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>  Yes     Yes

    2. 如果 OpenShift Cluster Manager IAM 角色在上一命令的输出中被列为链接,请取消链接您的红帽机构中的角色:

      $ rosa unlink ocm-role --role-arn <arn> 1
      1
      <arn > 替换为 OpenShift Cluster Manager IAM 角色的 Amazon Resource Name (ARN)。ARN 在上一命令的输出中指定。在上例中,ARN 的格式为 arn:aws:iam::<aws_account_external_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>

      输出示例

      I: Unlinking OCM role
      ? Unlink the 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' role from organization '<red_hat_organization_id>'? Yes
      I: Successfully unlinked role-arn 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' from organization account '<red_hat_organization_id>'

    3. 删除 OpenShift Cluster Manager IAM 角色和策略:

      $ rosa delete ocm-role --role-arn <arn>

      输出示例

      I: Deleting OCM role
      ? OCM Role ARN: arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>
      ? Delete 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' ocm role? Yes
      ? OCM role deletion mode: auto 1
      I: Successfully deleted the OCM role

      1
      指定删除模式。您可以使用 auto 模式自动删除 OpenShift Cluster Manager IAM 角色和策略。在手动模式中,ROSA CLI 生成删除角色和策略所需的 aws 命令。manual 模式允许您在手动运行 aws 命令前查看详情。
  2. 从您的红帽机构中取消链接用户 IAM 角色并删除角色:

    1. 列出 AWS 帐户中的用户 IAM 角色:

      $ rosa list user-roles

      输出示例

      I: Fetching user roles
      ROLE NAME                                  ROLE ARN                                                                  LINKED
      ManagedOpenShift-User-<ocm_user_name>-Role  arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_user_name>-Role  Yes

    2. 如果您的用户 IAM 角色在上一命令的输出中被列为链接,请取消链接您的红帽机构中的角色:

      $ rosa unlink user-role --role-arn <arn> 1
      1
      <arn > 替换为您的用户 IAM 角色的 Amazon Resource Name (ARN)。ARN 在上一命令的输出中指定。在上例中,ARN 格式为 arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_user_name>-Role

      输出示例

      I: Unlinking user role
      ? Unlink the 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_user_name>-Role' role from the current account '<ocm_user_account_id>'? Yes
      I: Successfully unlinked role ARN 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_user_name>-Role' from account '<ocm_user_account_id>'

    3. 删除用户 IAM 角色:

      $ rosa delete user-role --role-arn <arn>

      输出示例

      I: Deleting user role
      ? User Role ARN: arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_user_name>-Role
      ? Delete the 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_user_name>-Role' role from the AWS account? Yes
      ? User role deletion mode: auto 1
      I: Successfully deleted the user role

      1
      指定删除模式。您可以使用 auto 模式自动删除用户 IAM 角色。在手动模式中,ROSA CLI 生成删除角色所需的 aws 命令。manual 模式允许您在手动运行 aws 命令前查看详情。