4.3. 클러스터별 Operator IAM 역할 참조
이 섹션에서는 STS를 사용하는 ROLE(Red Hat OpenShift Service on AWS) 배포에 필요한 Operator IAM 역할에 대해 자세히 설명합니다. 클러스터 Operator는 Operator 역할을 사용하여 백엔드 스토리지, 클라우드 공급자 인증 정보 관리, 클러스터에 대한 외부 액세스와 같은 클러스터 작업을 수행하는 데 필요한 임시 권한을 얻습니다.
Operator 역할을 생성하면 일치하는 클러스터 버전에 대한 계정 수준 Operator 정책이 역할에 연결됩니다. Operator 정책에는 Operator 및 호환되는 버전의 태그가 지정됩니다. Operator 역할에 대한 올바른 정책은 태그를 사용하여 결정됩니다.
Operator 역할의 계정에서 두 개 이상의 일치하는 정책을 사용할 수 있는 경우 Operator를 생성할 때 대화형 옵션 목록이 제공됩니다.
리소스 | 설명 |
---|---|
| CSI(Container Storage Interface)를 통해 백엔드 스토리지를 관리하는 데 ROSA에 필요한 IAM 역할입니다. |
| ROSA Machine Config Operator에서 핵심 클러스터 기능을 수행하는 데 필요한 IAM 역할입니다. |
| 클라우드 공급자 인증 정보를 관리하는 데 ROSA Cloud Credential Operator에 필요한 IAM 역할입니다. |
| 클러스터의 클라우드 네트워크 구성을 관리하는 데 클라우드 네트워크 구성 컨트롤러에 필요한 IAM 역할입니다. |
| 클러스터의 AWS S3의 내부 레지스트리 스토리지를 관리하는 데 ROSA Image Registry Operator에 필요한 IAM 역할입니다. |
| ROSA Ingress Operator가 클러스터에 대한 외부 액세스를 관리하는 데 필요한 IAM 역할입니다. |
| 클러스터의 클라우드 네트워크 인증 정보를 관리하는 데 클라우드 네트워크 구성 컨트롤러에 필요한 IAM 역할입니다. |
4.3.1. Operator IAM 역할 AWS CLI 참조
이 섹션에는 수동
모드를 사용하여 다음 rosa
명령을 실행할 때 터미널에 표시되는 aws
CLI 명령이 나열되어 있습니다.
$ rosa create operator-roles --mode manual --cluster <cluster_name>
수동
모드를 사용하는 경우 검토를 위해 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=4.8 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=4.8 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=4.8 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=4.8 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=4.8 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
> 옵션을 사용하여 참조해야 합니다.
4.3.2. 사용자 정의 Operator IAM 역할 접두사 정보
AWS STS(Security Token Service)를 사용하는 각 Red Hat OpenShift Service on AWS (ROSA)에는 클러스터별 Operator IAM 역할이 필요합니다.
기본적으로 Operator 역할 이름 앞에 클러스터 이름 및 임의의 4자리 해시가 있습니다. 예를 들어 mycluster
라는 클러스터에 대한 Cloud Credential Operator IAM 역할에는 mycluster-< hash>-openshift-cloud-credential-cloud-credentials
라는 기본 이름이 있습니다. 여기서 < hash
>는 임의의 4자리 문자열입니다.
이 기본 이름 지정 규칙을 사용하면 AWS 계정에서 클러스터의 Operator IAM 역할을 쉽게 확인할 수 있습니다.
클러스터에 대한 Operator 역할을 생성할 때 필요한 경우 < cluster_name>-<hash
> 대신 사용할 사용자 정의 접두사를 지정할 수 있습니다. 사용자 정의 접두사를 사용하여 환경 요구 사항을 충족하기 위해 Operator 역할 이름에 논리 식별자를 추가할 수 있습니다. 예를 들어 클러스터 이름과 환경 유형(예: mycluster-dev
)을 접두사로 지정할 수 있습니다. 이 예에서 사용자 지정 접두사가 있는 Cloud Credential Operator 역할 이름은 mycluster-dev-openshift-cloud-credential-operator-cloud-credenti
입니다.
역할 이름은 64자로 잘립니다.
추가 리소스
- 사용자 정의 접두사를 사용하여 클러스터별 Operator IAM 역할을 생성하는 단계는 CLI를 사용하여 사용자 지정으로 클러스터 생성 또는 OpenShift Cluster Manager를 사용하여 사용자 지정으로 클러스터 생성을 참조하십시오.