4.2. ROSA with HCP クラスター上の追加のプリンシパル
クラスターのプライベート API サーバーエンドポイントに接続するための追加プリンシパルとして、AWS Identity and Access Management (IAM) ロールを許可できます。
パブリックインターネットまたは VPC プライベートサブネット内で作成されたインターフェイスエンドポイントから、ROSA with HCP クラスターの API サーバーエンドポイントにアクセスできます。デフォルトでは、-kube-system-kube-controller-manager
Operator ロールを使用して、ROSA with HCP API サーバーへのプライベートアクセスが可能です。クラスターがインストールされているプライマリーアカウントを使用せずに、別のアカウントから直接 ROSA with HCP API サーバーにアクセスできるようにするには、追加のプリンシパルとして、クロスアカウント IAM ロールを含める必要があります。この機能を使用すると、ピアリングを回避したり、クロスアカウント VPC をクラスターの VPC にアタッチしたりして、ネットワークアーキテクチャーを簡素化し、データ転送コストを削減できます。
この図では、クラスターを作成するクラスターが Account A として指定されています。このアカウントは、別のアカウントである Account B に API サーバーへのアクセス権が必要であることを指定します。
追加の許可済みプリンシパルを設定した後、クロスアカウント ROSA with HCP API サーバーにアクセスする VPC にインターフェイス VPC エンドポイントを作成する必要があります。次に、Route53 にプライベートホストゾーンを作成し、クロスアカウント ROSA with HCP API サーバーへの呼び出しを、作成された VPC エンドポイントを通過するようにルーティングします。
4.2.1. ROSA with HCP クラスター作成時にプリンシパルを追加する
他のロールを介したアクセスを許可するには、--additional-allowed-principals
引数を使用します。
手順
次の例のように、
rosa create cluster
コマンドに--additional-allowed-principals
引数を追加します。$ rosa create cluster [...] --additional-allowed-principals <arn_string>
arn:aws:iam::account_id:role/role_name
を使用して、特定のロールを承認できます。クラスター作成コマンドを実行すると、
--additional-allowed-principals
が指定されたクラスター概要が表示されます。出力例
Name: mycluster Domain Prefix: mycluster Display Name: mycluster ID: <cluster-id> External ID: <cluster-id> Control Plane: ROSA Service Hosted OpenShift Version: 4.15.17 Channel Group: stable DNS: Not ready AWS Account: <aws_id> AWS Billing Account: <aws_id> API URL: Console URL: Region: us-east-2 Availability: - Control Plane: MultiAZ - Data Plane: SingleAZ Nodes: - Compute (desired): 2 - Compute (current): 0 Network: - Type: OVNKubernetes - Service CIDR: 172.30.0.0/16 - Machine CIDR: 10.0.0.0/16 - Pod CIDR: 10.128.0.0/14 - Host Prefix: /23 - Subnets: subnet-453e99d40, subnet-666847ce827 EC2 Metadata Http Tokens: optional Role (STS) ARN: arn:aws:iam::<aws_id>:role/mycluster-HCP-ROSA-Installer-Role Support Role ARN: arn:aws:iam::<aws_id>:role/mycluster-HCP-ROSA-Support-Role Instance IAM Roles: - Worker: arn:aws:iam::<aws_id>:role/mycluster-HCP-ROSA-Worker-Role Operator IAM Roles: - arn:aws:iam::<aws_id>:role/mycluster-kube-system-control-plane-operator - arn:aws:iam::<aws_id>:role/mycluster-openshift-cloud-network-config-controller-cloud-creden - arn:aws:iam::<aws_id>:role/mycluster-openshift-image-registry-installer-cloud-credentials - arn:aws:iam::<aws_id>:role/mycluster-openshift-ingress-operator-cloud-credentials - arn:aws:iam::<aws_id>:role/mycluster-openshift-cluster-csi-drivers-ebs-cloud-credentials - arn:aws:iam::<aws_id>:role/mycluster-kube-system-kms-provider - arn:aws:iam::<aws_id>:role/mycluster-kube-system-kube-controller-manager - arn:aws:iam::<aws_id>:role/mycluster-kube-system-capa-controller-manager Managed Policies: Yes State: waiting (Waiting for user action) Private: No Delete Protection: Disabled Created: Jun 25 2024 13:36:37 UTC User Workload Monitoring: Enabled Details Page: https://console.redhat.com/openshift/details/s/Bvbok4O79q1Vg8 OIDC Endpoint URL: https://oidc.op1.openshiftapps.com/vhufi5lap6vbl3jlq20e (Managed) Audit Log Forwarding: Disabled External Authentication: Disabled Additional Principals: arn:aws:iam::<aws_id>:role/additional-user-role
4.2.2. 既存の ROSA with HCP クラスターにプリンシパルを追加する
コマンドラインインターフェイス (CLI) を使用して、クラスターにプリンシパルをさらに追加できます。
手順
次のコマンドを実行してクラスターを編集し、このクラスターのエンドポイントにアクセスできる追加のプリンシパルを追加します。
$ rosa edit cluster -c <cluster_name> --additional-allowed-principals <arn_string>
arn:aws:iam::account_id:role/role_name
を使用して、特定のロールを承認できます。