AWS 서비스 및 리소스의 Amazon EMR 권한에 대한 IAM 서비스 역할 구성 - Amazon EMR

AWS 서비스 및 리소스의 Amazon EMR 권한에 대한 IAM 서비스 역할 구성

Amazon EMR과 애플리케이션(예: Hadoop 및 Spark)은 실행 시 다른 AWS 리소스에 액세스하여 작업을 수행할 수 있는 권한이 필요합니다. Amazon EMR의 각 클러스터는 서비스 역할과 Amazon EC2 인스턴스 프로파일에 대한 역할을 가지고 있어야 합니다. 자세한 내용은 IAM 사용 설명서에서 IAM 역할인스턴스 프로파일 사용을 참조하세요. 이러한 역할에 연결된 IAM 정책은 클러스터가 사용자를 대신하여 다른 AWS 서비스와 상호 작용할 수 있는 권한을 부여합니다.

Amazon EMR에서 클러스터가 자동 조정을 사용하는 경우 추가 역할인 Auto Scaling 역할이 필요합니다. EMR Notebooks를 사용하는 경우 EMR Notebooks에 대한 AWS 서비스 역할이 필요합니다.

Amazon EMR은 기본 역할 및 각 역할에 대한 권한을 결정하는 기본 관리형 정책을 제공합니다. 관리형 정책은 AWS에 의해 생성 및 유지되기 때문에 서비스 요구 사항이 변경될 경우 자동으로 업데이트됩니다. 자세한 내용은 IAM 사용 설명서에서 AWS 관리형 정책을 참조하세요.

계정에서 처음으로 클러스터 또는 노트북을 생성하려는 경우에는 Amazon EMR에 대한 역할이 아직 존재하지 않습니다. 이를 생성한 후에는 역할, 역할에 연결된 정책, IAM 콘솔(https://console.aws.amazon.com/iam/)에서 정책에 의해 허용 또는 거부되는 권한을 볼 수 있습니다. 생성 및 사용할 Amazon EMR에 대한 기본 역할을 지정할 수 있고, 자체 역할을 생성하여 권한을 사용자 지정하기 위해 클러스터를 생성할 때 해당 역할을 개별적으로 지정할 수 있으며, AWS CLI를 사용하여 클러스터를 생성할 때 사용할 기본 역할을 지정할 수 있습니다. 자세한 내용은 IAM 역할 사용자 지정 섹션을 참조하세요.

Amazon EMR에 대한 서비스 역할을 전달하도록 권한에 대한 자격 증명 기반 정책 수정

Amazon EMR 전체 권한 기본 관리형 정책에는 다음을 비롯한 iam:PassRole 보안 구성이 통합되어 있습니다.

  • 특정 기본 Amazon EMR 역할 전용 iam:PassRole 권한.

  • elasticmapreduce.amazonaws.comec2.amazonaws.com 같은 지정된 AWS 서비스에서만 정책을 사용하도록 허용하는 iam:PassedToService 조건.

IAM 콘솔에서 AmazonEMRFullAccessPolicy_v2AmazonEMRServicePolicy_v2 정책의 JSON 버전을 확인할 수 있습니다. v2 관리형 정책을 사용하여 새 클러스터를 생성하는 것이 좋습니다.

서비스 역할 요약

다음 테이블에는 빠른 참조를 위해 Amazon EMR과 연결된 IAM 서비스 역할이 나열되어 있습니다.

함수 기본 역할 설명 기본 관리형 정책

Amazon EMR의 서비스 역할(EMR 역할)

EMR_DefaultRole_V2

리소스를 프로비저닝하고 서비스 수준 작업을 수행할 때 Amazon EMR에서 사용자 대신 다른 AWS 서비스를 직접 호출할 수 있습니다. 이 역할은 모든 클러스터에 필요합니다.

AmazonEMRServicePolicy_v2

중요

스팟 인스턴스를 요청하려면 서비스 연결 역할이 필요합니다. 이 역할이 존재하지 않는 경우에는 Amazon EMR 서비스 역할이 이를 생성할 권한을 가지고 있어야 합니다. 그렇지 않으면 권한 오류가 발생합니다. 스팟 인스턴스를 요청하려는 경우 이 서비스 연결 역할 생성을 허용하는 명령문을 포함하도록 이 정책을 업데이트해야 합니다. 자세한 내용은 Amazon EC2 Linux 인스턴스용 사용 설명서에서 Amazon EMR의 서비스 역할(EMR 역할)스팟 인스턴스 요청을 위한 서비스 연결 역할을 참조하세요.

클러스터 EC2 인스턴스에 대한 서비스 역할(EC2 인스턴스 프로파일)

EMR_EC2_DefaultRole

다른 AWS 제품을 호출할 때 클러스터 인스턴스의 하둡 에코시스템 상단에서 실행되는 애플리케이션 프로세스가 이 역할을 사용합니다. EMRFS를 사용하여 Amazon S3의 데이터에 액세스하려는 경우 Amazon S3의 데이터 위치에 따라 수임할 여러 역할을 지정할 수 있습니다. 예를 들어 여러 팀이 단일 Amazon S3 데이터 '스토리지 계정'에 액세스할 수 있습니다. 자세한 내용은 Amazon S3에 대한 EMRFS 요청의 IAM 역할 구성 섹션을 참조하세요. 이 역할은 모든 클러스터에 필요합니다.

AmazonElasticMapReduceforEC2Role. 자세한 내용은 클러스터 EC2 인스턴스에 대한 서비스 역할(EC2 인스턴스 프로파일) 섹션을 참조하세요.

Amazon EMR에서 자동 조정을 위한 서비스 역할(Auto Scaling 역할)

EMR_AutoScaling_DefaultRole

환경을 동적으로 조정하기 위한 추가 작업을 허용합니다. Amazon EMR에서 자동 조정을 사용하는 클러스터에서만 필요합니다. 자세한 내용은 인스턴스 그룹에서 사용자 지정 정책과 함께 자동 조정 사용 섹션을 참조하세요.

AmazonElasticMapReduceforAutoScalingRole. 자세한 내용은 Amazon EMR에서 자동 조정을 위한 서비스 역할(Auto Scaling 역할) 섹션을 참조하세요.

EMR Notebooks의 서비스 역할

EMR_Notebooks_DefaultRole

EMR 노트북에서 다른 AWS 리소스에 액세스하고 작업을 수행하는 데 필요한 권한을 제공합니다. EMR Notebooks를 사용하는 경우에만 필요합니다.

AmazonElasticMapReduceEditorsRole. 자세한 내용은 EMR Notebooks의 서비스 역할 섹션을 참조하세요.

S3FullAccessPolicy도 기본적으로 연결되어 있습니다. 이 정책의 콘텐츠는 다음과 같습니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:*", "Resource": "*" } ] }

서비스 연결 역할

AWSServiceRoleForEMRCleanup

Amazon EMR은 서비스 연결 역할을 자동으로 생성합니다. Amazon EMR에 대한 서비스가 Amazon EC2 리소스 정리 기능을 상실한 경우, Amazon EMR이 이 역할을 사용하여 정리할 수 있습니다. 클러스터에서 스팟 인스턴스를 사용하는 경우 Amazon EMR의 서비스 역할(EMR 역할)에 연결된 권한 정책은 서비스 연결 역할의 생성을 허용해야 합니다. 자세한 내용은 Amazon EMR에 대한 서비스 연결 역할 권한 섹션을 참조하세요.

AmazonEMRCleanupPolicy