第3章 ROSA IAM ロールのリソース
Red Hat OpenShift Service on AWS (ROSA) Web UI では、OpenShift Cluster Manager および rosa
コマンドラインインターフェイス (CLI) でエンドユーザーエクスペリエンスを提供するための信頼関係を作成する 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
ROSA CLI (rosa
) または OpenShift Cluster Manager Web UI のどちらを使用してクラスターを管理する場合でも ROSA CLI で account-roles
と呼ばれるアカウント全体のロールを作成する必要があります。これらのアカウントのロールは最初のクラスターに必要であり、これらのロールは複数のクラスターで使用できます。これらの必要なアカウントロールは次のとおりです。
-
Worker-Role
-
Support-Role
-
Installer-Role
-
ControlPlane-Role
ロールの作成では、AWS アクセスまたはシークレットキーは要求されません。このワークフローのベースとして、AWS Security Token Service (STS) が使用されます。AWS STS は、一時的な制限付きの認証情報を使用して認証を行います。
これらのロールの作成の詳細は、アカウント全体の IAM ロールとポリシー参照 を参照してください。
ROSA CLI では operator-roles
と呼ばれるクラスター固有の Operator ロールは、バックエンドストレージ、Ingress、レジストリーの管理など、クラスター操作を実行するために必要な一時的なパーミッションを取得します。これらのロールは、作成するクラスターに必要です。これらの必要な 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 リソースについて
ユーザーの Red Hat 組織が Red Hat OpenShift Service on AWS (ROSA) クラスターを作成できるようにするには ocm-role
IAM リソースを作成する必要があります。AWS へのリンクのコンテキストでは、Red Hat 組織は OpenShift Cluster Manager 内の単一のユーザーです。
以下は、ocm-role
IAM リソースに関するいくつかの考慮事項です。
-
Red Hat 組織ごとに 1 つの
ocm-role
IAM ロールのみをリンクできますが、AWS アカウントごとに任意の数のocm-role
IAM ロールを指定できます。Web UI では、一度にリンクできるのはこれらのロールの内 1 つだけです。 -
Red Hat 組織のすべてのユーザーは、
ocm-role
IAM リソースを作成してリンクできます。 Red Hat Organization Administrator (組織管理者) のみが
ocm-role
IAM リソースのリンクを解除できます。この制限は、他の Red Hat 組織のメンバーが他のユーザーのインターフェイス機能を妨害しないように保護するためのものです。注記既存組織の一部ではない Red Hat アカウントを作成したばかりの場合、このアカウントは Red Hat Organization Administrator でもあります。
-
基本および管理
ocm-role
IAM リソースの AWS アクセス許可ポリシーのリストについては、このセクションの関連情報の「OpenShift Cluster Manager ロールについて」を参照してください。
ROSA CLI (rosa
) を使用すると、IAM リソースを作成するときにリンクできます。
IAM リソースを AWS アカウントに "リンクする" または "関連付ける" ことは、ocm-role
IAM ロールと Red Hat OpenShift Cluster Manager ロールを使用して信頼ポリシーを作成することを意味します。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 リソースは、ユーザーごとに 1 回だけ作成およびリンクする必要があります。Red Hat 組織内の別のユーザーがすでに ocm-role
IAM リソースを作成してリンクしている場合は、独自の user-role
IAM ロールを作成してリンクしていることを確認する必要があります。
関連情報
- OpenShift Cluster Manager ロールについて を参照してください。
3.1.1. ocm-role IAM ロールの作成
ocm-role
IAM ロールは、コマンドラインインターフェイス (CLI) を使用して作成します。
前提条件
- AWS アカウントがある。
- OpenShift Cluster Manager 組織で Red Hat 組織管理者特権がある。
- AWS アカウント全体のロールをインストールするために必要な権限がある。
-
インストールホストに、最新の Red Hat OpenShift Service on AWS (ROSA) CLI (
rosa
) をインストールして設定している。
手順
基本的な権限を持つ ocm-role IAM ロールを作成するには、次のコマンドを実行します。
$ rosa create ocm-role
管理者権限を持つ 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
オプションを使用した場合、このプロンプトは表示されません。 - 3
- パーミッション境界を設定するためのポリシーの Amazon Resource Name (ARN)。
- 4
- ユーザー名の IAM パスを指定します。
- 5
- AWS ロールの作成方法を選択します。
auto
を使用して、ROSA CLI はロールおよびポリシーを生成してリンクします。auto
モードでは、AWS ロールを作成するためのいくつかの異なるプロンプトが表示されます。 - 6
auto
メソッドは、接頭辞を使用して特定のocm-role
を作成するかどうかを尋ねます。- 7
- IAM ロールを OpenShift Cluster Manager に関連付けることを確認します。
- 8
- 作成したロールを AWS 組織にリンクします。