교차 계정 액세스 설정 - Amazon EMR

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

교차 계정 액세스 설정

에서 교차 계정 액세스를 설정하려면 다음 단계를 수행합니다. 예제에서 AccountA는 Amazon EMR Serverless 애플리케이션을 생성한 계정이고 AccountB는 Amazon DynamoDB가 위치한 계정입니다.

  1. AccountB에서 DynamoDB 테이블을 생성합니다. 자세한 내용은 1단계: 테이블 생성을 참조하세요.

  2. AccountB에서 DynamoDB 테이블에 액세스할 수 있는 Cross-Account-Role-B IAM 역할을 생성합니다.

    1. 에 로그인 AWS Management Console 하고 https://console.aws.amazon.com/iam/ IAM 콘솔을 엽니다.

    2. 역할을 선택하고 새 역할(Cross-Account-Role-B)을 생성합니다. IAM 역할 생성에 대한 자세한 내용은 사용 설명서에서 IAM 역할 생성을 참조하세요.

    3. 교차 계정 DynamoDB 테이블에 액세스할 수 있는 권한을 부여하는 IAM 정책을 생성합니다. 그런 다음, IAM 정책을 Cross-Account-Role-B에 연결합니다.

      다음은 DynamoDB 테이블 CrossAccountTable에 대한 액세스 권한을 부여하는 정책입니다.

      {"Version": "2012-10-17", "Statement": [ {"Effect": "Allow", "Action": "dynamodb:*", "Resource": "arn:aws:dynamodb:region:AccountB:table/CrossAccountTable" } ] }
    4. Cross-Account-Role-B 역할에 대한 신뢰 관계를 편집합니다.

      역할에 대한 신뢰 관계를 구성하려면 2단계: Cross-Account-Role-B에서 생성한 역할에 대해 IAM 콘솔에서 신뢰 관계 탭을 선택합니다.

      신뢰 관계 편집을 선택하고 다음 정책 문서를 추가합니다. 이 문서에서는 AccountAJob-Execution-Role-A에서 이 Cross-Account-Role-B 역할을 수임하도록 허용합니다.

      {"Version": "2012-10-17", "Statement": [ {"Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::AccountA:role/Job-Execution-Role-A" }, "Action": "sts:AssumeRole" } ] }
    5. Cross-Account-Role-B를 수임할 수 있는 - STS Assume role 권한을 AccountAJob-Execution-Role-A에 부여합니다.

      용 IAM 콘솔에서를 AWS 계정 AccountA선택합니다Job-Execution-Role-A. 다음 정책 명령을 Job-Execution-Role-A에 추가하여 Cross-Account-Role-B 역할에서 AssumeRole 작업을 허용합니다.

      {"Version": "2012-10-17", "Statement": [ {"Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::AccountB:role/Cross-Account-Role-B" } ] }
    6. 코어 사이트 분류에서 값이 com.amazonaws.emr.AssumeRoleAWSCredentialsProviderdynamodb.customAWSCredentialsProvider 속성을 설정합니다. ASSUME_ROLE_CREDENTIALS_ROLE_ARN 환경 변수를 Cross-Account-Role-B의 ARN 값으로 설정합니다.

  3. Job-Execution-Role-A를 사용하여 Spark 또는 Hive 작업을 실행합니다.