第 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 组织相关联。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.