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 アカウントにリンクされていないことを意味します。このエラーの原因は、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
$ 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 ロールの作成 リンクのコピーリンクがクリップボードにコピーされました!
ocm-role
IAM ロールは、コマンドラインインターフェイス (CLI) を使用して作成します。
前提条件
- AWS アカウントがある。
- OpenShift Cluster Manager 組織で Red Hat 組織管理者特権がある。
- AWS アカウント全体のロールをインストールするために必要な権限がある。
-
インストールホストに最新の ROSA CLI
rosa
をインストールして設定した。
手順
基本的な権限を持つ ocm-role IAM ロールを作成するには、次のコマンドを実行します。
rosa create ocm-role
$ rosa create ocm-role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 管理者権限を持つ 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
オプションを使用した場合、このプロンプトは表示されません。 - 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 組織にリンクします。
8.12.1.2. ユーザーロール 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 のロールとポリシーを作成できます。詳細は、「自動および手動のデプロイメントモードについて」を参照してください。
出力例
- 1
- 作成されたすべての AWS リソースの接頭辞値。この例では、
ManagedOpenShift
がすべての AWS リソースを付加します。 - 2
- アクセス許可境界を設定するためのポリシーの Amazon Resource Name (ARN)。
- 3
- ユーザー名の IAM パスを指定します。
- 4
- AWS ロールの作成方法を選択します。
auto
を使用して、ROSA CLI はロールおよびポリシーを生成してリンクします。auto
モードでは、AWS ロールを作成するためのいくつかの異なるプロンプトが表示されます。 - 5
auto
メソッドは、接頭辞を使用して特定のuser-role
を作成するかどうかを尋ねます。- 6
- 作成したロールを AWS 組織にリンクします。
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 Resource Name (ARN) を使用して
ocm-role
リソースを Red Hat 組織にリンクします。注記rosa link
コマンドを実行するには、Red Hat Organization Administrator (組織管理者権限) が必要です。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 Resource Name (ARN) を使用して、
user-role
リソースを Red Hat ユーザーアカウントにリンクします。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 アカウントを Red Hat 組織に関連付ける リンクのコピーリンクがクリップボードにコピーされました!
複数の AWS アカウントを Red Hat 組織に関連付けることができます。複数のアカウントを関連付けると、Red Hat 組織から、関連付けられた任意の AWS アカウントに Red Hat OpenShift Service on AWS クラスターを作成できます。
この機能を使用すると、お客様のビジネスに適した特性に応じて、異なる AWS プロファイルでクラスターを作成できます。たとえば、リージョンごとに 1 つの 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
、user、および account のロールを作成して、アカウントを Red Hat 組織に関連付けます。
追加のリージョンでロールを作成するには、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 リージョンが使用されます。