6.3. Red Hat OpenShift Service on AWS クラスターの追加プリンシパル
クラスターのプライベート API サーバーエンドポイントに接続するための追加プリンシパルとして、AWS Identity and Access Management (IAM) ロールを許可できます。
Red Hat OpenShift Service on AWS クラスターの API サーバーエンドポイントには、パブリックインターネットまたは VPC プライベートサブネット内に作成されたインターフェイスエンドポイントからアクセスできます。デフォルトでは、-kube-system-kube-controller-manager
Operator ロールを使用して、Red Hat OpenShift Service on AWS API サーバーにプライベートにアクセスできます。クラスターがインストールされているプライマリーアカウントを使用せずに、別のアカウントから Red Hat OpenShift Service on AWS API サーバーに直接アクセスできるようにするには、クロスアカウント IAM ロールを追加のプリンシパルとして含める必要があります。この機能を使用すると、ピアリングを回避したり、クロスアカウント VPC をクラスターの VPC にアタッチしたりして、ネットワークアーキテクチャーを簡素化し、データ転送コストを削減できます。
この図では、クラスターを作成するクラスターが Account A として指定されています。このアカウントは、別のアカウントである Account B に API サーバーへのアクセス権が必要であることを指定します。
追加で許可するプリンシパルを設定したら、クロスアカウントの Red Hat OpenShift Service on AWS API サーバーへのアクセス元となる VPC 内に、インターフェイス VPC エンドポイントを作成する必要があります。その後、Route53 にプライベートホストゾーンを作成し、クロスアカウントの Red Hat OpenShift Service on AWS API サーバーへの呼び出しが、作成した VPC エンドポイントを通過するようにルーティングしてください。
6.3.1. Red Hat OpenShift Service on AWS クラスターの作成中にプリンシパルを追加する リンクのコピーリンクがクリップボードにコピーされました!
他のロールを介したアクセスを許可するには、--additional-allowed-principals
引数を使用します。
手順
次の例のように、
rosa create cluster
コマンドに--additional-allowed-principals
引数を追加します。rosa create cluster [...] --additional-allowed-principals <arn_string>
$ rosa create cluster [...] --additional-allowed-principals <arn_string>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow arn:aws:iam::account_id:role/role_name
を使用して、特定のロールを承認できます。クラスター作成コマンドを実行すると、
--additional-allowed-principals
が指定されたクラスター概要が表示されます。出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.3.2. 既存の Red Hat OpenShift Service on AWS クラスターにプリンシパルを追加する リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインインターフェイス (CLI) を使用して、クラスターにプリンシパルをさらに追加できます。
手順
次のコマンドを実行してクラスターを編集し、このクラスターのエンドポイントにアクセスできる追加のプリンシパルを追加します。
rosa edit cluster -c <cluster_name> --additional-allowed-principals <arn_string>
$ rosa edit cluster -c <cluster_name> --additional-allowed-principals <arn_string>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow arn:aws:iam::account_id:role/role_name
を使用して、特定のロールを承認できます。