第 3 章 所需的 IAM 角色和资源
您必须在 AWS 帐户上创建几个角色资源,才能创建和管理 Red Hat OpenShift Service on AWS 集群。
3.1. 所需的角色概述 复制链接链接已复制到粘贴板!
要在 AWS 集群上创建和管理 Red Hat OpenShift Service,您必须创建几个集群范围的角色和集群范围的角色。如果要使用 OpenShift Cluster Manager 创建和管理集群,则需要一些额外的角色。
- 创建和管理集群
在 AWS 集群上创建和管理 Red Hat OpenShift Service 需要几个集群范围的角色。这些角色只需要为每个 AWS 帐户创建一次,不需要为每个集群创建新角色。每个角色会附加一个或多个 AWS 管理策略,为该角色授予所需的功能。您可以指定自己的前缀,或使用默认前缀(
ManagedOpenShift
)。注意角色名称限制为 AWS IAM 中的最大长度为 64 个字符。当集群的用户指定的前缀超过 20 个字符时,角色名称会被截断,以便在 AWS IAM 中观察此 64 个字符的最大值。
对于 Red Hat OpenShift Service on AWS 集群,您必须创建以下集群范围的角色,并附加指定的 AWS 受管策略:
Expand 表 3.1. Red Hat OpenShift Service on AWS 所需的帐户角色和 AWS 策略 角色名称 AWS 策略名称 <prefix>-HCP-ROSA-Worker-Role
ROSAWorkerInstancePolicy
和AmazonEC2ContainerRegistryReadOnly
<prefix>-HCP-ROSA-Support-Role
ROSASRESupportPolicy
<prefix>-HCP-ROSA-Installer-Role
ROSAInstallerPolicy
角色创建不会请求 AWS 访问或 secret 密钥。AWS 安全令牌服务(STS)用作此工作流的基础。AWS STS 使用临时的、有有限权限的凭证来提供身份验证。
- 使用 Operator 管理的集群功能
有些集群功能(包括默认提供的一些功能)通过 Operator 进行管理。要使用这些功能,需要特定于集群的 Operator
角色(ROSA CLI 中的 operator
角色)。这些角色用于获取执行集群操作所需的临时权限,如管理后端存储、入口和 registry。获取这些权限需要配置 OpenID Connect (OIDC)供应商,该供应商连接到 AWS 安全令牌服务(STS)以验证 Operator 对 AWS 资源的访问。对于 Red Hat OpenShift Service on AWS 集群,您必须创建以下 Operator 角色并附加指定的 AWS Managed 策略:
Expand 表 3.2. 使用 HCP 的 ROSA 所需的 Operator 角色和 AWS 管理策略 角色名称 AWS 管理的策略名称 openshift-cloud-network-config-controller-c
ROSACloudNetworkConfigOperatorPolicy
openshift-image-registry-installer-cloud-credentials
ROSAImageRegistryOperatorPolicy
kube-system-kube-controller-manager
ROSAKubeControllerPolicy
kube-system-capa-controller-manager
ROSANodePoolManagementPolicy
kube-system-control-plane-operator
ROSAControlPlaneOperatorPolicy
kube-system-kms-provider
ROSAKMSProviderPolicy
openshift-ingress-operator-cloud-credentials
ROSAIngressOperatorPolicy
openshift-cluster-csi-drivers-ebs-cloud-credentials
ROSAAmazonEBSCSIDriverOperatorPolicy
使用
rosa create operator-role
命令创建 Operator 角色时,创建的角色将使用 <cluster_name>-<hash>-<role_name> 格式
命名,例如test-abc1-kube-system-control-plane-operator
。当集群名称超过 15 个字符时,角色名称会被截断。- 使用 OpenShift Cluster Manager
Web 用户界面 OpenShift Cluster Manager 要求您在 AWS 帐户和 OpenShift Cluster Manager 中创建附加角色。
此信任关系通过
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
-