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.
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.
此错误意味着 user-role
IAM 角色没有链接到 AWS 帐户。此错误的最常见原因是红帽机构中的其他用户创建了 ocm-role
IAM 角色。需要创建您的 user-role
IAM 角色。
在任何用户设置链接到红帽帐户的 ocm-role
IAM 资源后,任何希望在该红帽机构中创建集群的后续用户都必须具有 user-role
IAM 角色来置备集群。
流程
使用以下命令评估
ocm-role
和user-role
IAM 角色的状态:rosa list ocm-role
$ rosa list ocm-role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
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
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 Copied! Toggle word wrap Toggle overflow rosa list user-role
$ rosa list user-role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
I: Fetching user roles ROLE NAME ROLE ARN LINKED ManagedOpenShift-User.osdocs-Role arn:aws:iam::2066:role/ManagedOpenShift-User.osdocs-Role Yes
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 Copied! Toggle word wrap Toggle overflow
在这些命令的结果中,您可以创建并链接缺少的 IAM 资源。
8.12.1.1. 创建 ocm-role IAM 角色 复制链接链接已复制到粘贴板!
您可以使用命令行界面(CLI)创建 ocm-role
IAM 角色。
前提条件
- 您有一个 AWS 帐户。
- 在 OpenShift Cluster Manager 组织中具有红帽机构管理员权限。
- 您有安装 AWS 范围的角色所需的权限。
-
您已在安装主机上安装和配置了最新的 ROSA CLI
rosa
。
流程
要使用基本权限创建 ocm-role IAM 角色,请运行以下命令:
rosa create ocm-role
$ rosa create ocm-role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要使用 admin 权限创建 ocm-role IAM 角色,请运行以下命令:
rosa create ocm-role --admin
$ rosa create ocm-role --admin
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令允许您通过指定特定属性来创建角色。以下示例输出显示选择了"自动模式",它允许 ROSA CLI (
rosa
)创建 Operator 角色和策略。如需更多信息,请参阅"集群范围的角色创建"。
输出示例
- 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 组织相关联。
8.12.1.2. 创建 user-role IAM 角色 复制链接链接已复制到粘贴板!
您可以使用命令行界面(CLI)创建 user-role
IAM 角色。
前提条件
- 您有一个 AWS 帐户。
-
您已在安装主机上安装和配置了最新的 ROSA CLI
rosa
。
流程
要使用基本权限创建
user-role
IAM 角色,请运行以下命令:rosa create user-role
$ rosa create user-role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令允许您通过指定特定属性来创建角色。以下示例输出显示选择了"自动模式",它允许 ROSA CLI (
rosa
)创建 Operator 角色和策略。如需更多信息,请参阅"了解自动和手动部署模式"。
输出示例
8.12.1.3. 将您的 AWS 帐户与 IAM 角色关联 复制链接链接已复制到粘贴板!
您可以使用 ROSA CLI rosa
将 AWS 帐户与现有 IAM 角色关联或连接。
前提条件
- 您有一个 AWS 帐户。
- 您有安装 AWS 范围的角色所需的权限。如需更多信息,请参阅本节的"附加资源"。
-
您已在安装主机上安装和配置了最新的 AWS (
aws
) 和 ROSA (rosa
) CLI。 您已创建了
ocm-role
和user-role
IAM 角色,但还没有将它们链接到 AWS 帐户。您可以运行以下命令来检查您的 IAM 角色是否已链接:rosa list ocm-role
$ rosa list ocm-role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow rosa list user-role
$ rosa list user-role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果这两个角色的
Linked
列中显示了Yes
,您已将角色链接到 AWS 帐户。
流程
在 ROSA CLI 中,使用 Amazon 资源名称(ARN)将
ocm-role
资源链接到红帽机构:注意您必须具有红帽机构管理员权限才能运行
rosa link
命令。将ocm-role
资源与 AWS 帐户链接后,它会生效,并对机构的所有用户可见。rosa link ocm-role --role-arn <arn>
$ rosa link ocm-role --role-arn <arn>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
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>'
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 Copied! Toggle word wrap Toggle overflow 在 ROSA CLI 中,使用 Amazon 资源名称(ARN)将您的
user-role
资源链接到您的红帽用户帐户:rosa link user-role --role-arn <arn>
$ rosa link user-role --role-arn <arn>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
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>'
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 Copied! Toggle word wrap Toggle overflow
8.12.1.4. 将多个 AWS 帐户与红帽机构相关联 复制链接链接已复制到粘贴板!
您可以将多个 AWS 帐户与红帽机构相关联。通过关联多个帐户,您可以从红帽机构在任何关联的 AWS 帐户上创建 Red Hat OpenShift Service on AWS 集群。
使用此功能,您可以根据对业务有意义的特征在不同的 AWS 配置集上创建集群,例如,为每个区域使用一个 AWS 配置集来创建区域密集型环境。
前提条件
- 您有一个 AWS 帐户。
- 您可以使用 OpenShift Cluster Manager 创建集群。
- 您有安装 AWS 范围的角色所需的权限。
-
您已在安装主机上安装和配置了最新的 AWS (
aws
) 和 ROSA (rosa
) CLI。 -
您已为 Red Hat OpenShift Service on AWS 创建了
ocm-role
和user-role
IAM 角色。
流程
要关联一个额外的 AWS 帐户,首先在本地 AWS 配置中创建配置集。然后,通过在其他 AWS 帐户中创建 ocm-role
、用户帐户角色,将帐户与您的红帽机构相关联。
要在附加区域中创建角色,在运行 rosa create
命令时指定 --profile <aws-profile>
参数,将 <aws_profile>
替换为附加帐户配置集名称:
在创建 OpenShift Cluster Manager 角色时指定 AWS 帐户配置集:
rosa create --profile <aws_profile> ocm-role
$ rosa create --profile <aws_profile> ocm-role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在创建用户角色时指定 AWS 帐户配置集:
rosa create --profile <aws_profile> user-role
$ rosa create --profile <aws_profile> user-role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在创建帐户角色时指定 AWS 帐户配置集:
rosa create --profile <aws_profile> account-roles
$ rosa create --profile <aws_profile> account-roles
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
如果没有指定配置集,则使用默认 AWS 配置集及其关联的 AWS 区域。