第6章 IAM リソースについて
Red Hat OpenShift Service on AWS は、AWS Security Token Service (STS) を使用して、権限が制限された一時的な認証情報をクラスターに提供します。そのため、クラスターをデプロイする前に、次の AWS Identity Access Management (IAM) リソースを作成する必要があります。
- ROSA のサポート、インストール、コンピュート機能に必要な STS 権限を提供する、カウント全体の特定の IAM ロールとポリシー。これには、アカウント全体の Operator ポリシーが含まれます。
- ROSA クラスター Operator がコア OpenShift 機能を実行できるようにするクラスター固有の Operator IAM ロール。
- クラスター Operator が認証に使用する OpenID Connect (OIDC) プロバイダー。
OpenShift Cluster Manager を使用してクラスターをデプロイおよび管理する場合は、次の関連情報を作成する必要があります。
- クラスターへのインストールを完了するための OpenShift Cluster Manager IAM ロール。
- AWS アカウント ID を確認するための権限のないユーザーロール。
このドキュメントでは、ROSA with HCP クラスターを作成するときにデプロイする必要がある IAM リソースに関するリファレンス情報を提供します。また、rosa create コマンドで manual モードを使用する場合に生成される aws CLI コマンドも含まれます。
6.1. OpenShift Cluster Manager のロールおよび権限 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Cluster Manager を使用して ROSA クラスターを作成する場合、以下の AWS IAM ロールを AWS アカウントにリンクしてクラスターを作成し、管理する必要があります。詳細は、AWS アカウントの関連付け を参照してください。
これらの AWS IAM ロールは以下のとおりです。
-
ROSA ユーザーロール (
user-role) は、Red Hat が顧客の AWS アイデンティティーを検証するために使用する AWS ロールです。このロールには追加のパーミッションがなく、ロールには Red Hat インストーラーアカウントとの信頼関係があります。 ocm-roleリソースは、OpenShift Cluster Manager での ROSA クラスターのインストールに必要なパーミッションを付与します。基本的なパーミッションまたは管理パーミッションをocm-roleリソースに適用できます。管理用ocm-roleリソースを作成する場合、OpenShift Cluster Manager は必要な AWS Operator ロールと OpenID Connect (OIDC) プロバイダーを作成できます。この IAM ロールは、Red Hat インストーラーアカウントとも信頼関係を構築します。注記ocm-roleIAM リソースは、IAM ロールと、作成される必要なポリシーの組み合わせを指します。
OpenShift Cluster Manager で auto モードを使用して Operator ロールポリシーおよび OIDC プロバイダーを作成する場合は、このユーザーロールと管理 ocm-role リソースを作成する必要があります。
6.1.1. OpenShift Cluster Manager ロールについて リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Cluster Manager で ROSA クラスターを作成するには、ocm-role IAM ロールが必要です。基本的な ocm-role IAM ロールのパーミッションにより、OpenShift Cluster Manager 内でクラスターのメンテナンスを実行できます。Operator ロールおよび OpenID Connect(OIDC) プロバイダーを自動的に作成するには、--admin オプションを rosa create コマンドに追加する必要があります。このコマンドは、管理タスクに必要な追加のパーミッションを持つ ocm-role リソースを作成します。
この昇格された IAM ロールにより、OpenShift Cluster Manager はクラスターの作成時にクラスター固有の Operator ロールおよび OIDC プロバイダーを自動的に作成できるようになりました。このロールおよびポリシーの自動作成の詳細は、関連情報の「アカウント全体のロールの作成方法」を参照してください。
6.1.1.1. ユーザーロールについて リンクのコピーリンクがクリップボードにコピーされました!
ocm-role IAM ロールのほかにも、Red Hat OpenShift Service on AWS が AWS アイデンティティーを検証できるようにユーザーロールを作成する必要があります。このロールにはパーミッションがなく、インストーラーアカウントと ocm-role リソース間の信頼関係の作成にのみ使用されます。
以下の表は、ocm-role リソースの関連付けられた基本および管理パーミッションを示しています。
| リソース | 説明 |
|---|---|
|
| この権限により、基本ロールは指定された OpenID Connect (OIDC) プロバイダーに関する情報を取得できます。 |
|
| このパーミッションにより、基本ロールは指定されたロールの情報を取得できます。返されるデータには、ロールのパス、GUID、ARN、およびロールを想定するパーミッションを付与するロールの信頼ポリシーが含まれます。 |
|
| このパーミッションにより、基本ロールはパス接頭辞内のロールをリスト表示できます。 |
|
| このパーミッションにより、基本ロールは指定されたロールのタグをリスト表示できます。 |
|
| このパーミッションにより、基本ロールはアカウントの有効なすべてのリージョンに関する情報を返すことができます。 |
|
| このパーミッションにより、基本ロールはすべてのルートテーブルに関する情報を返すことができます。 |
|
| このパーミッションにより、基本ロールはすべてのサブネットに関する情報を返すことができます。 |
|
| このパーミッションにより、基本ロールは仮想プライベートクラウド (VPC) に関する情報を返すことができます。 |
|
| このパーミッションにより、基本ロールは一時的なセキュリティー認証情報を取得して、通常のパーミッション以外の AWS リソースにアクセスできます。 |
|
| このパーミッションにより、基本ロールは web アイデンティティープロバイダーでアカウントを認証されたユーザーの一時的なセキュリティー認証情報を取得できます。 |
| リソース | 説明 |
|---|---|
|
| このパーミッションにより、admin ロールは指定されたポリシーを必要な IAM ロールに割り当てることができます。 |
|
| この権限は、OpenID Connect (OIDC) をサポートするアイデンティティープロバイダーを記述するリソースを作成します。この権限を使用して OIDC プロバイダーを作成すると、このプロバイダーがプロバイダーと AWS の間に信頼関係を確立します。 |
|
| このパーミッションにより、admin ロールは AWS アカウントのロールを作成できます。 |
|
| このパーミッションにより、admin ロールは AWS アカウントに関連付けられたポリシーをリスト表示できます。 |
|
| このパーミッションにより、admin ロールは指定されたポリシーのタグをリスト表示できます。 |
|
| このパーミッションにより、admin ロールは指定されたポリシーに基づいてユーザーのアクセス許可境界を変更できます。 |
|
| このパーミッションにより、admin ロールは IAM ロールにタグを追加できます。 |
6.1.2. 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
$ rosa create ocm-roleCopy to Clipboard Copied! Toggle word wrap Toggle overflow 管理者権限を持つ ocm-role IAM ロールを作成するには、次のコマンドを実行します。
rosa create ocm-role --admin
$ rosa create ocm-role --adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドを使用すると、特定の属性を指定してロールを作成できます。次の出力例は、選択された "自動モード" を示しています。これにより、ROSA CLI (
rosa) で Operator のロールとポリシーを作成できます。詳細は、「アカウント全体のロールの作成方法」を参照してください。以下の例は、作成フローを示しています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ここでは、以下のようになります。
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 組織にリンクします。