6.3. クラスター固有の Operator IAM ロール参照
Operator ロールを使用すると、OpenID Connect (OIDC) プロバイダーを介して AWS リソースへの認証を行い、クラスター操作のための一時的な権限を取得できます。これらの権限を保護することで、バックエンドストレージ、クラウド Ingress コントローラー、外部クラスターアクセスなどの機能を適切に管理できるようになります。
Operator ロールを作成する場合、一致するクラスターバージョンの Operator ポリシーはロールに割り当てられます。AWS が管理する Operator ポリシーは、AWS IAM でバージョン管理されます。AWS マネージドポリシーの最新バージョンが常に使用されるため、Red Hat OpenShift Service on AWS で使用される AWS マネージドポリシーのアップグレードを管理したりスケジュールしたりする必要はありません。
Operator ロールに一致するポリシーがアカウントに複数ある場合は、ロールの作成時に選択肢のリストが表示されます。
| ロール名 | AWS 管理ポリシー名 | ロールの説明 |
|---|---|---|
|
|
| クラスターのクラウドネットワーク認証情報を管理するために、クラウドネットワーク設定コントローラーが必要とする IAM ロール。 |
|
|
| クラスターの AWS S3 にある OpenShift イメージレジストリーストレージを管理するために、Red Hat OpenShift Service on AWS に必要な IAM ロール。 |
|
|
| Hosted Control Plane (HCP) クラスター上での OpenShift 管理に必要な IAM ロール。 |
|
|
| HCP クラスター上のノードの管理に必要な IAM ロール。 |
|
|
| HCP クラスターにおけるコントロールプレーン管理に必要な IAM ロール。 |
|
|
| HCP クラスター上の OpenShift の管理に必要な IAM ロール。 |
|
|
| Red Hat OpenShift Service on AWS が、クラスターへの外部アクセスを管理するために必要な IAM ロール。 |
|
|
| Red Hat OpenShift Service on AWS が、Container Storage Interface (CSI) を介してバックエンドストレージを管理するために必要な IAM ロール。 |
6.3.1. Operator IAM ロール AWS CLI リファレンス リンクのコピーリンクがクリップボードにコピーされました!
このセクションでは、manual モードを使用して以下の rosa コマンドを実行する際にターミナルに表示される aws CLI コマンドをリスト表示します。
$ rosa create operator-roles --mode manual --cluster <cluster_name>
manual モードを使用すると、aws コマンドは確認用に端末に出力されます。aws コマンドを確認したら、手動で実行する必要があります。または、rosa create コマンドで --mode auto を指定して、aws コマンドを即時に実行することができます。
コマンド出力
aws iam create-role \
--role-name <cluster_name>-<hash>-openshift-cluster-csi-drivers-ebs-cloud-credent \
--assume-role-policy-document file://operator_cluster_csi_drivers_ebs_cloud_credentials_policy.json \
--tags Key=rosa_cluster_id,Value=<id> Key=rosa_openshift_version,Value=<openshift_version> Key=rosa_role_prefix,Value= Key=operator_namespace,Value=openshift-cluster-csi-drivers Key=operator_name,Value=ebs-cloud-credentials
aws iam attach-role-policy \
--role-name <cluster_name>-<hash>-openshift-cluster-csi-drivers-ebs-cloud-credent \
--policy-arn arn:aws:iam::<aws_account_id>:policy/ManagedOpenShift-openshift-cluster-csi-drivers-ebs-cloud-credent
aws iam create-role \
--role-name <cluster_name>-<hash>-openshift-machine-api-aws-cloud-credentials \
--assume-role-policy-document file://operator_machine_api_aws_cloud_credentials_policy.json \
--tags Key=rosa_cluster_id,Value=<id> Key=rosa_openshift_version,Value=<openshift_version> Key=rosa_role_prefix,Value= Key=operator_namespace,Value=openshift-machine-api Key=operator_name,Value=aws-cloud-credentials
aws iam attach-role-policy \
--role-name <cluster_name>-<hash>-openshift-machine-api-aws-cloud-credentials \
--policy-arn arn:aws:iam::<aws_account_id>:policy/ManagedOpenShift-openshift-machine-api-aws-cloud-credentials
aws iam create-role \
--role-name <cluster_name>-<hash>-openshift-cloud-credential-operator-cloud-crede \
--assume-role-policy-document file://operator_cloud_credential_operator_cloud_credential_operator_iam_ro_creds_policy.json \
--tags Key=rosa_cluster_id,Value=<id> Key=rosa_openshift_version,Value=<openshift_version> Key=rosa_role_prefix,Value= Key=operator_namespace,Value=openshift-cloud-credential-operator Key=operator_name,Value=cloud-credential-operator-iam-ro-creds
aws iam attach-role-policy \
--role-name <cluster_name>-<hash>-openshift-cloud-credential-operator-cloud-crede \
--policy-arn arn:aws:iam::<aws_account_id>:policy/ManagedOpenShift-openshift-cloud-credential-operator-cloud-crede
aws iam create-role \
--role-name <cluster_name>-<hash>-openshift-image-registry-installer-cloud-creden \
--assume-role-policy-document file://operator_image_registry_installer_cloud_credentials_policy.json \
--tags Key=rosa_cluster_id,Value=<id> Key=rosa_openshift_version,Value=<openshift_version> Key=rosa_role_prefix,Value= Key=operator_namespace,Value=openshift-image-registry Key=operator_name,Value=installer-cloud-credentials
aws iam attach-role-policy \
--role-name <cluster_name>-<hash>-openshift-image-registry-installer-cloud-creden \
--policy-arn arn:aws:iam::<aws_account_id>:policy/ManagedOpenShift-openshift-image-registry-installer-cloud-creden
aws iam create-role \
--role-name <cluster_name>-<hash>-openshift-ingress-operator-cloud-credentials \
--assume-role-policy-document file://operator_ingress_operator_cloud_credentials_policy.json \
--tags Key=rosa_cluster_id,Value=<id> Key=rosa_openshift_version,Value=<openshift_version> Key=rosa_role_prefix,Value= Key=operator_namespace,Value=openshift-ingress-operator Key=operator_name,Value=cloud-credentials
aws iam attach-role-policy \
--role-name <cluster_name>-<hash>-openshift-ingress-operator-cloud-credentials \
--policy-arn arn:aws:iam::<aws_account_id>:policy/ManagedOpenShift-openshift-ingress-operator-cloud-credentials
テーブルで提供されているコマンドの例には、ManagedOpenShift 接頭辞を使用する Operator ロールが含まれます。Operator ポリシーを含む、アカウント全体のロールおよびポリシーの作成時にカスタム接頭辞を定義する場合は、Operator ロールの作成時に --prefix <prefix_name> オプションを使用してこれを参照する必要があります。