第3章 必要な IAM ロールとリソース
Red Hat OpenShift Service on AWS クラスターを作成して管理するには、AWS アカウントにいくつかのロールリソースを作成する必要があります。
3.1. 必要なロールの概要 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラスターを作成して管理するには、アカウント全体およびクラスター全体のロールをいくつか作成する必要があります。OpenShift Cluster Manager を使用してクラスターを作成または管理する場合は、追加のロールが必要です。
- クラスターを作成および管理する
Red Hat OpenShift Service on AWS クラスターを作成および管理するには、アカウント全体のロールがいくつか必要です。これらのロールは AWS アカウントごとに 1 回だけ作成する必要があり、クラスターごとに新たに作成する必要はありません。各ロールには 1 つ以上の 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 アクセスまたはシークレットキーは要求されません。このワークフローのベースとして、AWS Security Token Service (STS) が使用されます。AWS STS は、一時的な制限付きの認証情報を使用して認証を行います。
- Operator 管理のクラスター機能を使用するには
一部のクラスター機能 (デフォルトで提供されるいくつかの機能を含む) は、Operator を使用して管理されます。これらの機能を使用するには、クラスター固有の Operator ロール (ROSA CLI の
operator-roles
) が必要です。このロールは、バックエンドストレージ、Ingress、レジストリーの管理などのクラスター操作を実行するために必要な一時的な権限を取得するために使用されます。この権限を取得するには、OpenID Connect (OIDC) プロバイダーを設定する必要があります。OIDC プロバイダーは、AWS Security Token Service (STS) に接続して Operator の AWS リソースへのアクセスを認証します。Red Hat OpenShift Service on AWS クラスターの場合、次の Operator ロールを作成し、記載されている AWS 管理ポリシーをアタッチする必要があります。
Expand 表3.2 ROSA with HCP に必要な 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 の間に信頼関係を作成するために、AWS アカウントに追加のロールを作成する必要があります。
この信頼関係は
ocm-role
AWS IAM ロールの作成と関連付けによって実現されます。このロールには、Red Hat アカウントを AWS アカウントにリンクする AWS インストーラーとの信頼ポリシーがあります。さらに、各 Web UI ユーザーを識別するためのuser-role
AWS IAM ロールも必要です。このuser-role
の AWS IAM ロールにはパーミッションがありません。OpenShift Cluster Manager を使用するには、次の AWS IAM ロールが必要です。
-
ocm-role
-
user-role
-