8.12. IAM 角色故障排除


8.12.1. 解决 ocm-roles 和 user-role IAM 资源的问题

当尝试使用 Red Hat OpenShift Service on AWS (ROSA) CLI rosa 创建集群时,您可能会收到错误。

输出示例

E: Failed to create cluster: The sts_user_role is not linked to account '1oNl'. Please create a user role and link it to the account.
Copy to Clipboard Toggle word wrap

此错误意味着 user-role IAM 角色没有链接到 AWS 帐户。此错误的最常见原因是红帽机构中的其他用户创建了 ocm-role IAM 角色。需要创建您的 user-role IAM 角色。

注意

在任何用户设置链接到红帽帐户的 ocm-role IAM 资源后,任何希望在该红帽机构中创建集群的后续用户都必须具有 user-role IAM 角色来置备集群。

流程

  • 使用以下命令评估 ocm-roleuser-role IAM 角色的状态:

    $ rosa list ocm-role
    Copy to Clipboard Toggle word wrap

    输出示例

    I: Fetching ocm roles
    ROLE NAME                           ROLE ARN                                          LINKED  ADMIN
    ManagedOpenShift-OCM-Role-1158  arn:aws:iam::2066:role/ManagedOpenShift-OCM-Role-1158   No      No
    Copy to Clipboard Toggle word wrap

    $ rosa list user-role
    Copy to Clipboard Toggle word wrap

    输出示例

    I: Fetching user roles
    ROLE NAME                                   ROLE ARN                                        LINKED
    ManagedOpenShift-User.osdocs-Role  arn:aws:iam::2066:role/ManagedOpenShift-User.osdocs-Role  Yes
    Copy to Clipboard Toggle word wrap

在这些命令的结果中,您可以创建并链接缺少的 IAM 资源。

8.12.1.1. 创建 ocm-role IAM 角色

您可以使用 ROSA 命令行界面(CLI) (rosa)创建 ocm-role IAM 角色。

前提条件

  • 您有一个 AWS 帐户。
  • 在 OpenShift Cluster Manager 组织中具有红帽机构管理员权限。
  • 您有安装 AWS 范围的角色所需的权限。
  • 您已在安装主机上安装和配置了最新的 ROSA CLI rosa

流程

  • 要使用基本权限创建 ocm-role IAM 角色,请运行以下命令:

    $ rosa create ocm-role
    Copy to Clipboard Toggle word wrap
  • 要使用 admin 权限创建 ocm-role IAM 角色,请运行以下命令:

    $ rosa create ocm-role --admin
    Copy to Clipboard Toggle word wrap

    此命令允许您通过指定特定属性来创建角色。以下示例输出显示选择了"自动模式",它允许 ROSA CLI (rosa)创建 Operator 角色和策略。如需更多信息,请参阅"集群范围的角色创建"。以下示例显示了您的创建流程可能是什么样子。

    I: Creating ocm role
    ? Role prefix: ManagedOpenShift
    ? Enable admin capabilities for the OCM role (optional): No
    ? Permissions boundary ARN (optional):
    ? Role Path (optional):
    ? Role creation mode: auto
    I: Creating role using 'arn:aws:iam::<ARN>:user/<UserName>'
    ? Create the 'ManagedOpenShift-OCM-Role-182' role? Yes
    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
    ? Link the 'arn:aws:iam::<ARN>:role/ManagedOpenShift-OCM-Role-182' role with organization '<AWS ARN>'? Yes
    I: Successfully linked role-arn 'arn:aws:iam::<ARN>:role/ManagedOpenShift-OCM-Role-182' with organization account '<AWS ARN>'
    Copy to Clipboard Toggle word wrap

    其中:

    角色前缀
    所有创建的 AWS 资源的前缀值。在本例中,ManagedOpenShift 会预先填充所有 AWS 资源。
    为 OCM 角色启用管理功能(可选)

    如果您希望此角色具有额外的 admin 权限,请选择。

    注意

    如果使用 --admin 选项,则不会显示此提示。

    权限边界 ARN (可选)
    用于设置权限边界的策略的 Amazon 资源名称 (ARN)。
    角色路径(可选)
    指定用户名的 IAM 路径。
    角色创建模式
    选择创建 AWS 角色的方法。使用 auto 时,ROSA CLI 生成并链接角色和策略。在 auto 模式中,您收到一些不同的提示来创建 AWS 角色。
    创建 'ManagedOpenShift-OCM-Role-182' 角色?
    auto 方法询问您是否要使用您的前缀创建特定的 ocm-role
    OCM 角色 ARN
    确认您要将 IAM 角色与 OpenShift Cluster Manager 关联。
    使用机构 '<AWS ARN>' 链接 'arn:aws:iam::<ARN>:role/ManagedOpenShift-OCM-Role-182' 角色?
    将创建的角色与 AWS 组织相关联。

8.12.1.2. 创建 user-role IAM 角色

您可以使用 ROSA 命令行界面(CLI) (rosa)创建用户角色 IAM 角色

前提条件

  • 您有一个 AWS 帐户。
  • 您已在安装主机上安装和配置了最新的 ROSA CLI rosa

流程

  • 要使用基本权限创建 user-role IAM 角色,请运行以下命令:

    $ rosa create user-role
    Copy to Clipboard Toggle word wrap

    此命令允许您通过指定特定属性来创建角色。以下示例输出显示选择了"自动模式",它允许 ROSA CLI (rosa)创建 Operator 角色和策略。如需更多信息,请参阅"了解自动和手动部署模式"。以下示例显示了您的创建流程可能是什么样子。

    I: Creating User role
    ? Role prefix: ManagedOpenShift
    ? Permissions boundary ARN (optional):
    ? Role Path (optional):
    ? Role creation mode: auto
    I: Creating ocm user role using 'arn:aws:iam::2066:user'
    ? Create the 'ManagedOpenShift-User.osdocs-Role' role? Yes
    I: Created role 'ManagedOpenShift-User.osdocs-Role' with ARN 'arn:aws:iam::2066:role/ManagedOpenShift-User.osdocs-Role'
    I: Linking User role
    ? User Role ARN: arn:aws:iam::2066:role/ManagedOpenShift-User.osdocs-Role
    ? Link the 'arn:aws:iam::2066:role/ManagedOpenShift-User.osdocs-Role' role with account '1AGE'? Yes
    I: Successfully linked role ARN 'arn:aws:iam::2066:role/ManagedOpenShift-User.osdocs-Role' with account '1AGE'
    Copy to Clipboard Toggle word wrap

    其中:

    角色前缀
    所有创建的 AWS 资源的前缀值。在本例中,ManagedOpenShift 会预先填充所有 AWS 资源。
    权限边界 ARN (可选)
    用于设置权限边界的策略的 Amazon 资源名称 (ARN)。
    角色路径(可选)
    指定用户名的 IAM 路径。
    角色创建模式
    选择创建 AWS 角色的方法。使用 auto 时,ROSA CLI 生成并链接角色和策略。在 auto 模式中,您收到一些不同的提示来创建 AWS 角色。
    创建 'ManagedOpenShift-User.osdocs-Role' 角色?
    auto 方法询问您是否要使用您的前缀创建特定的 user-role
    使用帐户 '1AGE' 链接 'arn:aws:iam::2066:role/ManagedOpenShift-User.osdocs-Role' 角色?
    将创建的角色与 AWS 组织相关联。
    重要

    如果在删除集群前取消链接或删除 user-role IAM 角色,则会阻止删除集群。您必须创建或重新链接此角色,才能继续删除过程。

8.12.1.3. 将您的 AWS 帐户与 IAM 角色关联

您可以使用 ROSA 命令行界面(CLI) (rosa)将 AWS 帐户与现有 IAM 角色关联或连接。

前提条件

  • 您有一个 AWS 帐户。
  • 您有安装 AWS 范围的角色所需的权限。如需更多信息,请参阅本节的"附加资源"。
  • 您已在安装主机上安装和配置了最新的 AWS CLI (aws)和 ROSA CLI。
  • 您已创建了 ocm-roleuser-role IAM 角色,但还没有将它们链接到 AWS 帐户。您可以运行以下命令来检查您的 IAM 角色是否已链接:

    $ rosa list ocm-role
    Copy to Clipboard Toggle word wrap
    $ rosa list user-role
    Copy to Clipboard Toggle word wrap

    如果这两个角色的 Linked 列中显示了 Yes,您已将角色链接到 AWS 帐户。

流程

  1. 在 ROSA CLI 中,使用 Amazon 资源名称(ARN)将 ocm-role 资源链接到红帽机构:

    注意

    您必须具有红帽机构管理员权限才能运行 rosa link 命令。将 ocm-role 资源与 AWS 帐户链接后,它会生效,并对机构的所有用户可见。

    $ rosa link ocm-role --role-arn <arn>
    Copy to Clipboard Toggle word wrap

    例如:

    I: Linking OCM role
    ? Link the '<AWS ACCOUNT ID>` role with organization '<ORG ID>'? Yes
    I: Successfully linked role-arn '<AWS ACCOUNT ID>' with organization account '<ORG ID>'
    Copy to Clipboard Toggle word wrap
  2. 在 ROSA CLI 中,使用 Amazon 资源名称(ARN)将您的 user-role 资源链接到您的红帽用户帐户:

    $ rosa link user-role --role-arn <arn>
    Copy to Clipboard Toggle word wrap

    例如:

    I: Linking User role
    ? Link the 'arn:aws:iam::<ARN>:role/ManagedOpenShift-User-Role-125' role with organization '<AWS ID>'? Yes
    I: Successfully linked role-arn 'arn:aws:iam::<ARN>:role/ManagedOpenShift-User-Role-125' with organization account '<AWS ID>'
    Copy to Clipboard Toggle word wrap

8.12.1.4. 将多个 AWS 帐户与红帽机构相关联

您可以将多个 AWS 帐户与红帽机构相关联。通过关联多个帐户,您可以从红帽机构在任何关联的 AWS 帐户上创建 Red Hat OpenShift Service on AWS 集群。

使用此功能,您可以根据对业务有意义的特征在不同的 AWS 配置集上创建集群,例如,为每个区域使用一个 AWS 配置集来创建区域密集型环境。

前提条件

  • 您有一个 AWS 帐户。
  • 您可以使用 OpenShift Cluster Manager 创建集群。
  • 您有安装 AWS 范围的角色所需的权限。
  • 您已在安装主机上安装和配置了最新的 AWS CLI (aws)和 ROSA 命令行界面(CLI) (rosa)。
  • 您已为 Red Hat OpenShift Service on AWS 创建了 ocm-roleuser-role IAM 角色。

流程

  • 在创建 OpenShift Cluster Manager 角色时指定 AWS 帐户配置集:

    $ rosa create --profile <aws_profile> ocm-role
    Copy to Clipboard Toggle word wrap
  • 在创建用户角色时指定 AWS 帐户配置集:

    $ rosa create --profile <aws_profile> user-role
    Copy to Clipboard Toggle word wrap
  • 在创建帐户角色时指定 AWS 帐户配置集:

    $ rosa create --profile <aws_profile> account-roles
    Copy to Clipboard Toggle word wrap
    注意

    如果没有指定配置集,则使用默认 AWS 配置集及其关联的 AWS 区域。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat