第 3 章 ROSA IAM 角色资源
Red Hat OpenShift Service on AWS (ROSA) Web UI 要求您在 AWS 帐户上具有特定权限,该帐户在 OpenShift Cluster Manager 和 rosa 命令行界面(CLI)上创建信任关系,以便为 rosa
命令行界面(CLI)提供最终用户体验。
此信任关系通过 ocm-role
AWS IAM 角色的创建和关联来实现。此角色有一个信任策略,AWS 安装程序将您的红帽帐户链接到 AWS 帐户。另外,您还需要为每个 Web UI 用户提供一个 user-role
AWS IAM 角色,用于识别这些用户。这个 user-role
AWS IAM 角色没有权限。
使用 OpenShift Cluster Manager 所需的 AWS IAM 角色有:
-
ocm-role
-
user-role
无论您是使用 ROSA CLI (rosa
)或 OpenShift Cluster Manager Web UI 管理集群,您必须使用 ROSA CLI 创建集群范围的角色,在 ROSA CLI 中称为 account-roles
。这些帐户角色是第一个集群所必需的,这些角色可以在多个集群中使用。这些所需的帐户角色有:
-
Worker-Role
-
support-Role
-
installer-Role
-
controlPlane-Role
角色创建不会请求 AWS 访问或 secret 密钥。AWS 安全令牌服务(STS)用作此工作流的基础。AWS STS 使用临时的、有有限权限的凭证来提供身份验证。
有关创建这些角色的更多信息,请参阅 帐户范围的 IAM 角色和策略参考。
在 ROSA CLI 中,特定于集群的 Operator 角色(称为 operator-roles
)获取执行集群操作所需的临时权限,如管理后端存储、入口和 registry。您创建的集群需要这些角色。这些所需的 Operator 角色有:
-
<cluster_name>-<hash>-openshift-cluster-csi-drivers-ebs-cloud-credentials
-
<cluster_name>-<hash>-openshift-cloud-network-config-controller-credentials
-
<cluster_name>-<hash>-openshift-machine-api-aws-cloud-credentials
-
<cluster_name>-<hash>-openshift-cloud-credential-operator-cloud-credentials
-
<cluster_name>-<hash>-openshift-image-registry-installer-cloud-credentials
-
<cluster_name>-<hash>-openshift-ingress-operator-cloud-credentials
有关创建这些角色的更多信息,请参阅 特定于集群的 Operator IAM 角色参考。
3.1. 关于 ocm-role IAM 资源
您必须创建 ocm-role
IAM 资源,以便红帽用户机构在 AWS (ROSA)集群上创建 Red Hat OpenShift Service。在链接到 AWS 的上下文中,红帽机构是 OpenShift Cluster Manager 中的单个用户。
ocm-role
IAM 资源的一些注意事项:
-
每个红帽机构只能链接一个
ocm-role
IAM 角色,但每个 AWS 帐户可以有任意数量的ocm-role
IAM 角色。Web UI 要求一次只能链接其中一个角色。 -
红帽机构中的任何用户都可以创建并链接
ocm-role
IAM 资源。 只有红帽机构管理员可以取消链接
ocm-role
IAM 资源。这个限制是防止其他红帽机构成员干扰其他用户的接口功能。注意如果您只创建了不属于现有机构的红帽帐户,则此帐户也是红帽机构管理员。
-
有关基本和 admin
ocm-role
IAM 资源的 AWS 权限策略列表,请参阅本节的附加资源中的"识别 OpenShift Cluster Manager 角色"。
使用 ROSA CLI (rosa
),您可以在创建时链接 IAM 资源。
"链接"或"与 AWS 帐户关联您的 IAM 资源"意味着使用 ocm-role
IAM 角色和 Red Hat OpenShift Cluster Manager AWS 角色创建信任策略。创建并链接您的 IAM 资源后,您会看到 AWS 中的 ocm-role
IAM 资源与 arn:aws:iam::7333:role/RH-Managed-OpenShift-Installer
资源之间的信任关系。
在 Red Hat Organization Administrator 创建并链接 ocm-role
IAM 资源后,所有机构成员都可能希望创建并链接自己的 user-role
IAM 角色。此 IAM 资源只需要为每个用户创建并只连接一次。如果红帽机构中的其他用户已创建并链接了 ocm-role
IAM 资源,则需要确保已创建并链接您自己的 user-role
IAM 角色。
其他资源
3.1.1. 创建 ocm-role IAM 角色
您可以使用命令行界面(CLI)创建 ocm-role
IAM 角色。
前提条件
- 您有一个 AWS 帐户。
- 在 OpenShift Cluster Manager 机构中具有 Red Hat Organization Administrator 权限。
- 您有安装 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 组织相关联。