第 3 章 关于使用 STS 的 ROSA 集群的 IAM 资源
要部署使用 AWS 安全令牌服务(STS) 的 Red Hat OpenShift Service on AWS (ROSA) 集群,您必须创建以下 AWS Identity Access Management (IAM)资源:
- 特定的帐户范围的 IAM 角色和策略,它们提供 ROSA 支持、安装、control plane 和计算功能所需的 STS 权限。这包括集群范围的 Operator 策略。
- 特定于集群的 Operator IAM 角色,允许 ROSA 集群 Operator 执行核心 OpenShift 功能。
- 集群 Operator 用于进行身份验证的 OpenID Connect (OIDC)供应商。
如果使用 OpenShift Cluster Manager 部署 ROSA,必须创建额外的资源:
- 一个 OpenShift Cluster Manager IAM 角色来在集群中完成安装。
- 没有任何权限来验证 AWS 帐户身份的用户角色。
本文档提供有关您在创建使用 STS 的 ROSA 集群时必须要部署的 IAM 资源的引用信息。它还包含在 rosa create
命令中使用 手动
模式时生成的 aws
CLI 命令。
其他资源
- 有关快速创建带有 STS 的 ROSA 集群的步骤,包括 AWS IAM 资源,请参阅 使用默认选项创建带有 STS 的 ROSA 集群。
- 有关使用自定义创建带有 STS 的 ROSA 集群的步骤,包括 AWS IAM 资源,请参阅使用自定义创建带有 STS 的 ROSA 集群。
3.1. OpenShift Cluster Manager 角色和权限
如果使用 OpenShift Cluster Manager 创建 ROSA 集群,则必须具有链接到 AWS 帐户的以下 AWS IAM 角色来创建和管理集群。有关将 IAM 角色链接到 AWS 帐户的更多信息,请参阅 关联 AWS 帐户。
如果您只使用 ROSA CLI (rosa
),则不需要创建这些 IAM 角色。
这些 AWS IAM 角色如下:
- ROSA 用户角色是由红帽用来验证客户的 AWS 身份的 AWS 角色。此角色没有额外的权限,该角色与 Red Hat 安装程序帐户具有信任关系。
ocm-role
资源授予在 OpenShift Cluster Manager 中安装 ROSA 集群所需的权限。您可以将基本或管理权限应用到ocm-role
资源。如果创建一个管理ocm-role
资源,OpenShift Cluster Manager 可以创 建所需的 AWS Operator 角色和 OpenID Connect (OIDC)供应商。此 IAM 角色还与 Red Hat 安装程序帐户建立信任关系。注意ocm-role
IAM 资源引用 IAM 角色以及创建必要策略的组合。
如果要在 OpenShift Cluster Manager 中使用自动模式,创建此用户角色以及管理 ocm-role
资源,以创建 Operator 角色策略和 OIDC 供应商。
3.1.1. 了解 OpenShift Cluster Manager 角色
在 OpenShift Cluster Manager 中创建 ROSA 集群需要 ocm-role
IAM 角色。通过基本的 ocm-role
IAM 角色权限,您可以在 OpenShift Cluster Manager 中执行集群维护。要自动创建 operator 角色和 OpenID Connect (OIDC) 供应商,您必须在 rosa create
命令中添加 --admin
选项。此命令使用管理任务所需的额外权限创建 ocm-role
资源。
此提升的 IAM 角色允许 OpenShift Cluster Manager 在集群创建过程中自动创建特定于集群的 Operator 角色和 OIDC 供应商。有关此自动角色和策略创建的更多信息,请参阅附加资源中的"客户范围内的角色创建"链接。
3.1.1.1. 了解用户角色
除了 ocm-role
IAM 角色外,还需要创建一个用户角色,以便 Red Hat OpenShift Service on AWS 可以验证 AWS 身份。此角色没有权限,它仅用于在安装程序帐户和 ocm-role
资源之间建立信任关系。
下表显示了 ocm-role
资源的相关基本和管理权限。
资源 | 描述 |
---|---|
| 此权限允许基本角色检索有关指定 OpenID Connect (OIDC) 供应商的信息。 |
| 此权限允许基本角色检索指定角色的任何信息。返回的一些数据包括角色的路径、GUID、ARN 以及授予角色权限的信任策略。 |
| 此权限允许基本角色列出路径前缀中的角色。 |
| 此权限允许基本角色列出指定角色上的标签。 |
| 此权限允许基本角色返回有关您帐户上所有启用区域的信息。 |
| 此权限允许基本角色返回有关所有路由表的信息。 |
| 此权限允许基本角色返回有关所有子网的信息。 |
| 此权限允许基本角色返回有关所有虚拟私有云 (VPC) 的信息。 |
| 此权限允许基本角色检索临时安全凭证来访问超出一般权限的 AWS 资源。 |
| 此权限允许基本角色通过 Web 身份提供程序检索对其帐户进行身份验证的临时安全凭据。 |
资源 | 描述 |
---|---|
| 此权限允许 admin 角色将指定的策略附加到所需的 IAM 角色。 |
| 此权限会创建一个描述身份提供程序的资源,它支持 OpenID Connect (OIDC)。当您创建具有此权限的 OIDC 供应商时,此供应商在供应商和 AWS 之间建立信任关系。 |
| 此权限允许 admin 角色为您的 AWS 帐户创建角色。 |
| 此权限允许 admin 角色列出与 AWS 帐户关联的任何策略。 |
| 此权限允许 admin 角色列出指定策略上的任何标签。 |
| 此权限允许 admin 角色根据指定的策略更改用户的权限边界。 |
| 此权限允许 admin 角色向 IAM 角色添加标签。 |
其他资源
创建 ocm-role IAM 角色
您可以使用命令行界面(CLI)创建 ocm-role
IAM 角色。
前提条件
- 您有一个 AWS 帐户。
- 在 OpenShift Cluster Manager 组织中具有红帽机构管理员权限。
- 您有安装 AWS 范围的角色所需的权限。
-
您已在安装主机上安装并配置了最新的 Red Hat OpenShift Service on AWS (ROSA) CLI (
rosa
)。
流程
要使用基本权限创建 ocm-role IAM 角色,请运行以下命令:
$ rosa create ocm-role
要使用 admin 权限创建 ocm-role IAM 角色,请运行以下命令:
$ rosa create ocm-role --admin
此命令允许您通过指定特定属性来创建角色。以下示例输出显示选择了"自动模式",它允许 ROSA CLI (
rosa
)创建 Operator 角色和策略。如需更多信息,请参阅附加资源中的"集群范围的角色创建"。
输出示例
I: Creating ocm role ? Role prefix: ManagedOpenShift 1 ? Enable admin capabilities for the OCM role (optional): No 2 ? Permissions boundary ARN (optional): 3 ? Role Path (optional): 4 ? Role creation mode: auto 5 I: Creating role using 'arn:aws:iam::<ARN>:user/<UserName>' ? Create the 'ManagedOpenShift-OCM-Role-182' role? Yes 6 I: Created role 'ManagedOpenShift-OCM-Role-182' with ARN 'arn:aws:iam::<ARN>:role/ManagedOpenShift-OCM-Role-182' I: Linking OCM role ? OCM Role ARN: arn:aws:iam::<ARN>:role/ManagedOpenShift-OCM-Role-182 7 ? Link the 'arn:aws:iam::<ARN>:role/ManagedOpenShift-OCM-Role-182' role with organization '<AWS ARN>'? Yes 8 I: Successfully linked role-arn 'arn:aws:iam::<ARN>:role/ManagedOpenShift-OCM-Role-182' with organization account '<AWS ARN>'
- 1
- 所有创建的 AWS 资源的前缀值。在本例中,
ManagedOpenShift
会预先填充所有 AWS 资源。 - 2
- 如果您希望此角色具有额外的 admin 权限,请选择。注意
如果使用
--admin
选项,则不会显示此提示。 - 3
- 用于设置权限边界的策略的 Amazon 资源名称 (ARN)。
- 4
- 为用户名指定一个 IAM 路径。
- 5
- 选择创建 AWS 角色的方法。使用
auto
,ROSA CLI 生成并链接角色和策略。在auto
模式中,您收到一些不同的提示来创建 AWS 角色。 - 6
auto
方法询问您是否要使用您的前缀创建特定的ocm-role
。- 7
- 确认您要将 IAM 角色与 OpenShift Cluster Manager 关联。
- 8
- 将创建的角色与 AWS 组织相关联。
AWS IAM 角色链接到 AWS 帐户,以创建和管理集群。有关将 IAM 角色链接到 AWS 帐户的更多信息,请参阅 关联 AWS 帐户。