4장. IAM 역할 문제 해결
4.1. ocm-roles 및 사용자 역할 IAM 리소스 문제 해결
rosa
CLI를 사용하여 클러스터를 생성하려고 할 때 오류가 발생할 수 있습니다.
샘플 출력
E: Failed to create cluster: The sts_user_role is not linked to account '1oNl'. Please create a user role and link it to the account.
이 오류는 user-role
IAM 역할이 AWS 계정에 연결되어 있지 않음을 의미합니다. 이 오류의 가장 큰 원인은 Red Hat 조직의 다른 사용자가 ocm-role
IAM 역할을 생성했기 때문입니다. 사용자 역할
IAM 역할을 생성해야 합니다.
사용자가 Red Hat 계정에 연결된 ocm-role
IAM 리소스를 설정한 후 Red Hat 조직에 클러스터를 생성하려는 모든 후속 사용자에게 클러스터를 프로비저닝하기 위한 사용자 역할
IAM 역할이 있어야 합니다.
절차
다음 명령을 사용하여
ocm-role
및사용자
역할 IAM 역할의 상태를 평가합니다.$ rosa list ocm-role
샘플 출력
I: Fetching ocm roles ROLE NAME ROLE ARN LINKED ADMIN ManagedOpenShift-OCM-Role-1158 arn:aws:iam::2066:role/ManagedOpenShift-OCM-Role-1158 No No
$ rosa list user-role
샘플 출력
I: Fetching user roles ROLE NAME ROLE ARN LINKED ManagedOpenShift-User.osdocs-Role arn:aws:iam::2066:role/ManagedOpenShift-User.osdocs-Role Yes
이러한 명령의 결과를 통해 누락된 IAM 리소스를 생성하고 연결할 수 있습니다.
4.1.1. OpenShift Cluster Manager IAM 역할 생성
CLI(명령줄 인터페이스)를 사용하여 OpenShift Cluster Manager IAM 역할을 생성합니다.
사전 요구 사항
- AWS 계정이 있습니다.
- OpenShift Cluster Manager 조직에 Red Hat 조직 관리자 권한이 있어야 합니다.
- AWS 계정 전체 역할을 설치하는 데 필요한 권한이 있습니다.
-
설치 호스트에 최신 AWS(
aws
) 및 ROSA(rosa
) CLI를 설치하고 구성했습니다.
절차
기본 권한으로 ocm-role IAM 역할을 생성하려면 다음 명령을 실행합니다.
$ rosa create ocm-role
admin 권한으로 ocm-role IAM 역할을 생성하려면 다음 명령을 실행합니다.
$ rosa create ocm-role --admin
이 명령을 사용하면 특정 특성을 지정하여 역할을 생성할 수 있습니다. 다음 예제 출력에서는 로사 CLI에서 Operator 역할 및 정책을 생성할
수
있는 "자동 모드"를 보여줍니다. 자세한 내용은 추가 리소스의 " account-wide 역할 생성 방법"을 참조하십시오.
출력 예
I: Creating ocm role ? Role prefix: ManagedOpenShift 1 ? Enable admin capabilities for the OCM role (optional): No 2 ? Permissions boundary ARN (optional): 3 ? Role creation mode: auto 4 I: Creating role using 'arn:aws:iam::<ARN>:user/<UserName>' ? Create the 'ManagedOpenShift-OCM-Role-182' role? Yes 5 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 6 ? Link the 'arn:aws:iam::<ARN>:role/ManagedOpenShift-OCM-Role-182' role with organization '<AWS ARN'? Yes 7 I: Successfully linked role-arn 'arn:aws:iam::<ARN>:role/ManagedOpenShift-OCM-Role-182' with organization account '<AWS ARN>'
- 1
- 생성된 모든 AWS 리소스의 접두사 값입니다. 이 예제에서
ManagedOpenShift
는 모든 AWS 리소스 앞에 추가합니다. - 2
- 이 역할에 추가 관리자 권한이 필요한 경우 선택합니다.참고
--admin
옵션을 사용한 경우 이 프롬프트가 표시되지 않습니다. - 3
- 권한 경계를 설정하는 정책의 Amazon 리소스 이름(ARN)입니다.
- 4
- AWS 역할을 생성하는 방법을 선택합니다.
auto
를 사용하면rosa
CLI 툴이 역할 및 정책을 생성하고 연결합니다.자동
모드에서는 AWS 역할을 생성하는 몇 가지 다른 프롬프트가 표시됩니다. - 5
- auto 방법은 접두사를 사용하여 특정
ocm-role
을 생성할지 여부를 요청합니다. - 6
- IAM 역할을 OpenShift Cluster Manager와 연결할지 확인합니다.
- 7
- 생성된 역할을 AWS 조직과 연결합니다.
4.1.2. 사용자 역할 IAM 역할 생성
CLI(명령줄 인터페이스)를 사용하여 OpenShift Cluster Manager IAM 역할을 생성할 수 있습니다.
사전 요구 사항
- AWS 계정이 있습니다.
-
설치 호스트에 최신 AWS(
aws
) 및 ROSA(rosa
) CLI를 설치하고 구성했습니다.
절차
기본 권한으로 ocm-role IAM 역할을 생성하려면 다음 명령을 실행합니다.
$ rosa create user-role
이 명령을 사용하면 특정 특성을 지정하여 역할을 생성할 수 있습니다. 다음 예제 출력에서는 로사 CLI에서 Operator 역할 및 정책을 생성할
수
있는 "자동 모드"를 보여줍니다. 자세한 내용은 추가 리소스의 "자동 및 수동 배포 모드 이해"를 참조하십시오.
출력 예
I: Creating User role ? Role prefix: ManagedOpenShift 1 ? Permissions boundary ARN (optional): 2 ? Role creation mode: auto 3 I: Creating ocm user role using 'arn:aws:iam::2066:user' ? Create the 'ManagedOpenShift-User.osdocs-Role' role? Yes 4 I: Created role 'ManagedOpenShift-User.osdocs-Role' with ARN 'arn:aws:iam::2066:role/ManagedOpenShift-User.osdocs-Role' I: Linking User role ? User Role ARN: arn:aws:iam::2066:role/ManagedOpenShift-User.osdocs-Role ? Link the 'arn:aws:iam::2066:role/ManagedOpenShift-User.osdocs-Role' role with account '1AGE'? Yes 5 I: Successfully linked role ARN 'arn:aws:iam::2066:role/ManagedOpenShift-User.osdocs-Role' with account '1AGE'
- 1
- 생성된 모든 AWS 리소스의 접두사 값입니다. 이 예제에서
ManagedOpenShift
는 모든 AWS 리소스 앞에 추가합니다. - 2
- 권한 경계를 설정하는 정책의 Amazon 리소스 이름(ARN)입니다.
- 3
- AWS 역할을 생성하는 방법을 선택합니다.
auto
를 사용하여rosa
CLI 툴에서 역할을 생성하고 AWS 계정에 연결합니다.자동
모드에서는 AWS 역할을 생성하는 몇 가지 다른 프롬프트가 표시됩니다. - 4
- auto 방법은 접두사를 사용하여 특정
사용자 역할을
생성할지 여부를 요청합니다. - 5
- 생성된 역할을 AWS 조직과 연결합니다.
4.1.3. AWS 계정 연결
rosa
CLI를 사용하여 AWS 계정을 기존 IAM 역할에 연결할 수 있습니다.
사전 요구 사항
- AWS 계정이 있습니다.
- OpenShift Cluster Manager Hybrid Cloud Console 을 사용하여 클러스터 생성
- AWS 계정 전체 역할을 설치하는 데 필요한 권한이 있습니다. 자세한 내용은 이 섹션의 "해결 리소스"를 참조하십시오.
-
설치 호스트에 최신 AWS(
aws
) 및 ROSA(rosa
) CLI를 설치하고 구성했습니다. ocm-role
및user-role
IAM 역할을 생성했지만 아직 AWS 계정에 연결되지 않았습니다. 다음 명령을 실행하여 IAM 역할이 이미 연결되어 있는지 확인할 수 있습니다.$ rosa list ocm-role
$ rosa list user-role
두 역할의
Linked
열에Yes
가 표시되면 이미 역할을 AWS 계정에 연결한 것입니다.
절차
CLI에서 ARM(Amazon Resource Name)을 사용하여
ocm-role
리소스를 Red Hat 조직에 연결합니다.참고rosa link
명령을 실행하려면 Red Hat 조직 관리자 권한이 있어야 합니다.ocm-role
리소스를 AWS 계정과 연결하면 조직의 모든 사용자에게 표시됩니다.$ rosa link ocm-role --role-arn <arn>
출력 예
I: Linking OCM role ? Link the '<AWS ACCOUNT ID>` role with organization '<ORG ID>'? Yes I: Successfully linked role-arn '<AWS ACCOUNT ID>' with organization account '<ORG ID>'
CLI에서 ARM(Amazon Resource Name)을 사용하여 사용자
역할
리소스를 Red Hat 사용자 계정에 연결합니다.$ rosa link user-role --role-arn <arn>
출력 예
I: Linking User role ? Link the 'arn:aws:iam::<ARN>:role/ManagedOpenShift-User-Role-125' role with organization '<AWS ID>'? Yes I: Successfully linked role-arn 'arn:aws:iam::<ARN>:role/ManagedOpenShift-User-Role-125' with organization account '<AWS ID>'
4.1.4. 여러 AWS 계정을 Red Hat 조직과 연결
여러 AWS 계정을 Red Hat 조직과 연결할 수 있습니다. 여러 계정을 연결하면 Red Hat 조직의 관련 AWS 계정에서 Red Hat OpenShift Service on AWS(ROSA) 클러스터를 생성할 수 있습니다.
이 기능을 사용하면 여러 AWS 프로필을 리전 바인딩 환경으로 사용하여 다양한 AWS 리전에서 클러스터를 생성할 수 있습니다.
사전 요구 사항
- AWS 계정이 있습니다.
- OpenShift Cluster Manager Hybrid Cloud Console 을 사용하여 클러스터 생성
- AWS 계정 전체 역할을 설치하는 데 필요한 권한이 있습니다.
-
설치 호스트에 최신 AWS(
aws
) 및 ROSA(rosa
) CLI를 설치하고 구성했습니다. -
ocm-role
및사용자 역할 IAM 역할을
생성했습니다.
절차
추가 AWS 계정을 연결하려면 먼저 로컬 AWS 구성에 프로필을 생성합니다. 그런 다음 추가 AWS 계정에 ocm-role
, user, account 역할을 생성하여 계정을 Red Hat 조직과 연결합니다.
추가 리전에 역할을 생성하려면
> 매개변수를 지정하고 < rosa create
명령을 실행할 때 --profile <aws-profileaws_profile
>을 추가 계정 프로필 이름으로 교체합니다.
OpenShift Cluster Manager 역할을 생성할 때 AWS 계정 프로필을 지정하려면 다음을 수행합니다.
$ rosa create --profile <aws_profile> ocm-role
사용자 역할을 생성할 때 AWS 계정 프로필을 지정하려면 다음을 수행합니다.
$ rosa create --profile <aws_profile> user-role
계정 역할을 생성할 때 AWS 계정 프로필을 지정하려면 다음을 수행합니다.
$ rosa create --profile <aws_profile> account-roles
프로필을 지정하지 않으면 기본 AWS 프로필이 사용됩니다.