第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 を 使用して Red Hat OpenShift Service on AWS クラスターを作成する場合、クラスターの作成と管理を行うために、以下の AWS IAM ロールが AWS アカウントにリンクされている必要があります。
これらの AWS IAM ロールは以下のとおりです。
-
Red Hat OpenShift Service on AWS ユーザーロール (
user-role) は、Red Hat がお客様の AWS アイデンティティーを検証するために使用する AWS ロールです。このロールには追加のパーミッションがなく、ロールには Red Hat インストーラーアカウントとの信頼関係があります。 ocm-roleリソースは、OpenShift Cluster Manager への Red Hat OpenShift Service on AWS クラスターのインストールに必要な権限を付与します。基本的なパーミッションまたは管理パーミッションを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 で Red Hat OpenShift Service on AWS クラスターを作成するには 、ocm-role IAM ロールが必要です。標準の ocm-role IAM ロール権限を使用すると、OpenShift Cluster Manager 内でクラスターのメンテナンスを実行できます。Operator ロールと OpenID Connect (OIDC) プロバイダーを自動的に作成するには、rosa create コマンドに --admin オプションを追加する必要があります。このコマンドは、管理タスクに必要な追加のパーミッションを持つ ocm-role リソースを作成します。OpenShift Cluster Manager を使用する必要がない場合は、--no-console プロファイルによって、CLI を使用してクラスターを作成および管理するために必要な最小限の権限を持つ ocm-role IAM ロールが作成されます。
この昇格された 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) を使用して作成します。ROSA コマンドラインインターフェイス (CLI)(rosa) と OpenShift CLI(oc) のみを使用してクラスターを作成および管理する場合は、ocm-role IAM リソースに --no-console プロファイルを使用できます。ocm-role IAM リソース権限プロファイルの詳細は、関連情報 を参照してください。
Red Hat OpenShift Service on AWS クラスターを作成する前に、ocm-role IAM ロールを作成する必要があります。
前提条件
- AWS アカウントがある。
- OpenShift Cluster Manager 組織で Red Hat 組織管理者特権がある。
- AWS アカウント全体のロールをインストールするために必要な権限がある。
-
インストールホストに最新の ROSA CLI
rosaをインストールして設定した。
手順
必要な
ocm-roleIAM リソースを作成するには、以下のいずれかのコマンドを実行してください。重要ocm-roleIAM リソースプロファイルを変更するには、現在のocm-roleIAM リソースのリンクを解除して削除し、必要なプロファイルを持つ新しいリソースを作成する必要があります。標準特権を持つ
ocm-roleIAM ロールを作成するには、次のコマンドを実行します。$ rosa create ocm-role管理者特権を持つ
ocm-roleIAM ロールを作成するには、次のコマンドを実行します。重要管理者プロファイルは、OIDC 設定と Operator ロールを自動的にプロビジョニングする Red Hat OpenShift Service on AWS クラスターの自動モード設定をサポートしています。この自動フローを実現するために、このプロファイルは標準プロファイルよりも幅広い権限セットを備えています。
$ 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 ロールを作成するためのいくつかの異なるプロンプトが表示されます。 Create the 'ManagedOpenShift-OCM-Role-182' role?-
自動方式では、プレフィックスを使用して特定のOCM ロールを作成するかどうかを尋ねられます。 OCM Role ARN- IAM ロールを OpenShift Cluster Manager に関連付けることを確認します。
Link the 'arn:aws:iam::<ARN>:role/ManagedOpenShift-OCM-Role-182' role with organization '<AWS ARN>'?- 作成したロールを AWS 組織にリンクします。
必要最低限の特権を持つ
ocm-roleIAM ロールを作成するには、次のコマンドを実行します。注記コンソールなしプロファイルは、Red Hat OpenShift Service on AWS クラスターを作成するために必要な最小限の権限ポリシーを提供しますが、OpenShift Cluster Manager を 使用してクラスターを作成する場合は、権限が不十分です。$ rosa create ocm-role --no-console