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.
このエラーは、user-role IAM ロールが AWS アカウントにリンクされていないことを意味します。このエラーの原因は、Red Hat 組織内の別のユーザーが ocm-role IAM ロールを作成したことが最も可能性が高くなります。user-role IAM ロールを作成する必要があります。
あるユーザーが Red Hat アカウントにリンクされた ocm-role IAM リソースを設定した後、その Red Hat 組織でクラスターを作成するユーザーは、クラスターをプロビジョニングするために user-role IAM ロールが必要になります。
手順
次のコマンドを使用して、
ocm-roleおよびuser-roleの IAM ロールのステータスを評価します。$ rosa list ocm-role出力例
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$ rosa list user-role出力例
I: Fetching user roles ROLE NAME ROLE ARN LINKED ManagedOpenShift-User.osdocs-Role arn:aws:iam::2066:role/ManagedOpenShift-User.osdocs-Role Yes
これらのコマンドの結果を使用して、不足している IAM リソースを作成およびリンクできます。
8.12.1.1. ocm-role IAM ロールの作成 リンクのコピーリンクがクリップボードにコピーされました!
ocm-role IAM ロールは、ROSA コマンドラインインターフェイス(CLI) (rosa)を使用して作成します。
前提条件
- AWS アカウントがある。
- OpenShift Cluster Manager 組織で Red Hat 組織管理者特権がある。
- 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 ? 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>'ここでは、以下のようになります。
Role prefix-
作成されたすべての AWS リソースの接頭辞値。この例では、
ManagedOpenShiftがすべての AWS リソースを付加します。 OCM ロールの管理者機能の有効化 (オプション)このロールに追加の管理者権限を付与するかどうかを選択します。
注記--adminオプションを使用した場合、このプロンプトは表示されません。パーミッション境界 ARN (オプション)- アクセス許可境界を設定するためのポリシーの Amazon Resource Name (ARN)。
ロールのパス (オプション)- ユーザー名の IAM パスを指定します。
ロール作成モード-
AWS ロールの作成方法を選択します。
autoを使用して、ROSA CLI はロールおよびポリシーを生成してリンクします。autoモードでは、AWS ロールを作成するためのいくつかの異なるプロンプトが表示されます。 'ManagedOpenShift-OCM-Role-182' ロールを作成しますか?-
autoメソッドは、接頭辞を使用して特定のocm-roleを作成するかどうかを尋ねます。 OCM Role ARN- IAM ロールを OpenShift Cluster Manager に関連付けることを確認します。
'arn:aws:iam::<ARN>:role/ManagedOpenShift-OCM-Role-182' ロールを組織 '<AWS ARN>' にリンクしますか ?- 作成したロールを AWS 組織にリンクします。
8.12.1.2. ユーザーロール IAM ロールの作成 リンクのコピーリンクがクリップボードにコピーされました!
ROSA コマンドラインインターフェイス(CLI) (rosa)を使用して、user-role IAM ロールを作成できます。
前提条件
- AWS アカウントがある。
-
インストールホストに最新の ROSA CLI
rosaをインストールして設定した。
手順
基本的な権限を持つ
user-roleIAM ロールを作成するには、次のコマンドを実行します。$ rosa create user-roleこのコマンドを使用すると、特定の属性を指定してロールを作成できます。次の出力例は、選択された「自動モード」を示しています。これにより、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'ここでは、以下のようになります。
Role prefix-
作成されたすべての AWS リソースの接頭辞値。この例では、
ManagedOpenShiftがすべての AWS リソースを付加します。 パーミッション境界 ARN (オプション)- アクセス許可境界を設定するためのポリシーの Amazon Resource Name (ARN)。
ロールのパス (オプション)- ユーザー名の IAM パスを指定します。
ロール作成モード-
AWS ロールの作成方法を選択します。
autoを使用して、ROSA CLI はロールおよびポリシーを生成してリンクします。autoモードでは、AWS ロールを作成するためのいくつかの異なるプロンプトが表示されます。 'ManagedOpenShift-User.osdocs-Role' ロールを作成しますか?-
autoメソッドは、接頭辞を使用して特定のuser-roleを作成するかどうかを尋ねます。 'arn:aws:iam::2066:role/ManagedOpenShift-User.osdocs-Role' ロールをアカウント '1AGE' にリンクしますか ?- 作成したロールを AWS 組織にリンクします。
重要クラスターを削除する前に
user-roleIAM ロールのリンクを解除または削除すると、エラーが発生してクラスターを削除できなくなります。削除プロセスを続行するには、このロールを作成または再リンクする必要があります。
8.12.1.3. AWS アカウントを IAM ロールに関連付ける リンクのコピーリンクがクリップボードにコピーされました!
ROSA コマンドラインインターフェイス(CLI) (rosa)を使用して、AWS アカウントを既存の IAM ロールに関連付けたり、リンクしたりできます。
前提条件
- AWS アカウントがある。
- AWS アカウント全体のロールをインストールするために必要な権限がある。詳細は、このセクションの「関連情報」を参照してください。
-
インストールホストに、最新の AWS CLI (
aws)および ROSA CLI をインストールして設定している。 ocm-roleおよびuser-roleIAM ロールを作成したが、まだ AWS アカウントにリンクしていない。次のコマンドを実行して、IAM ロールがすでにリンクされているかどうかを確認できます。$ rosa list ocm-role$ rosa list user-role両方のロールの
Linked列にYesが表示されている場合、ロールはすでに AWS アカウントにリンクされています。
手順
ROSA CLI で、Amazon Resource Name (ARN) を使用して
ocm-roleリソースを Red Hat 組織にリンクします。注記rosa linkコマンドを実行するには、Red Hat Organization Administrator (組織管理者権限) が必要です。ocm-roleリソースを AWS アカウントにリンクすると、それが有効になり、組織内のすべてのユーザーに表示されるようになります。$ rosa link ocm-role --role-arn <arn>以下に例を示します。
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>'ROSA CLI で、Amazon Resource Name (ARN) を使用して、
user-roleリソースを Red Hat ユーザーアカウントにリンクします。$ rosa link user-role --role-arn <arn>以下に例を示します。
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>'
8.12.1.4. 複数の AWS アカウントを Red Hat 組織に関連付ける リンクのコピーリンクがクリップボードにコピーされました!
Red Hat 組織には、複数の AWS アカウントを関連付けることができます。複数のアカウントを関連付けると、Red Hat 組織から、関連付けられた任意の AWS アカウントに Red Hat OpenShift Service on AWS クラスターを作成できます。
この機能を使用すると、お客様のビジネスに適した特性に応じて、異なる AWS プロファイルでクラスターを作成できます。たとえば、リージョンごとに 1 つの AWS プロファイルを使用して、リージョンに紐付いた環境を作成できます。
前提条件
- AWS アカウントがある。
- クラスターを作成するために OpenShift Cluster Manager を使用中である。
- AWS アカウント全体のロールをインストールするために必要な権限がある。
-
インストールホストに最新の AWS CLI (
aws)および ROSA コマンドラインインターフェイス(CLI) (rosa)をインストールして設定している。 -
Red Hat OpenShift Service on AWS 用の
ocm-roleおよびuser-roleIAM ロールを作成した。
手順
OpenShift Cluster Manager ロールを作成するときに AWS アカウントプロファイルを指定するには、以下を実行します。
$ rosa create --profile <aws_profile> ocm-roleユーザーロールを作成するときに AWS アカウントプロファイルを指定するには、以下を実行します。
$ rosa create --profile <aws_profile> user-roleアカウントロールを作成するときに AWS アカウントプロファイルを指定するには、以下を実行します。
$ rosa create --profile <aws_profile> account-roles注記プロファイルを指定しない場合は、デフォルトの AWS プロファイルとそれに関連付けられた AWS リージョンが使用されます。