IAM 역할 사용자 지정 - Amazon EMR

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

IAM 역할 사용자 지정

보안 요구 사항에 따라 권한을 제한하도록 IAM 서비스 역할 및 권한을 사용자 지정할 수 있습니다. 권한을 사용자가 지정하려면 새로운 역할과 정책을 생성하는 것이 좋습니다. 기본 역할(예: AmazonElasticMapReduceforEC2RoleAmazonElasticMapReduceRole)에 대한 관리형 정책의 권한부터 시작합니다. 그런 다음 내용을 복사하여 새로운 정책 문에 붙여 넣고 권한을 적절하게 수정하고, 이렇게 수정한 권한 정책을 생성한 역할에 연결합니다. 이를 위해서는 역할 및 정책에 대해 작업을 수행할 수 있는 적절한 IAM 권한이 있어야 합니다. 자세한 정보는 사용자와 그룹이 역할을 생성 및 수정할 수 있도록 허용을 참조하세요.

EC2에 대한 사용자 지정 EMR 역할을 생성하는 경우 동일한 이름의 인스턴스 프로파일이 자동으로 생성되는 기본 워크플로를 따릅니다. Amazon EC2에서는 서로 다른 이름으로 인스턴스 프로파일과 역할을 생성할 수 있지만 Amazon EMR에서는 이 구성을 지원하지 않으므로 클러스터를 생성할 때 '잘못된 인스턴스 프로파일' 오류가 발생합니다.

중요

인라인 정책은 서비스 요구 사항이 변경될 때 자동으로 업데이트되지 않습니다. 인라인 정책을 생성 및 연결하는 경우 서비스 업데이트가 발생하여 갑작스럽게 권한 오류가 발생할 수도 있음을 염두에 두어야 합니다. 자세한 내용은 IAM 사용 설명서에서 관리형 정책 및 인라인 정책클러스터를 생성할 때 사용자 지정 IAM 역할 지정 섹션을 참조하세요.

IAM 역할 작업에 대한 자세한 내용은 IAM 사용 설명서에서 다음 주제를 참조하세요.

클러스터를 생성할 때 사용자 지정 IAM 역할 지정

사용자는 클러스터 생성 시 Amazon EMR에 대한 서비스 역할과 Amazon EC2 인스턴스 프로파일에 대한 역할을 지정할 수 있습니다. 클러스터를 생성하는 사용자는 역할을 검색하고 Amazon EMR 및 EC2 인스턴스에 할당할 수 있는 권한이 있어야 합니다. 그렇지 않으면 account is not authorized to call EC2 오류가 발생합니다. 자세한 정보는 사용자와 그룹이 역할을 생성 및 수정할 수 있도록 허용을 참조하세요.

콘솔을 사용하여 사용자 지정 역할 지정

클러스터를 생성할 때 Amazon EMR의 사용자 지정 서비스 역할, EC2 인스턴스 프로파일의 사용자 지정 역할 및 고급 옵션을 사용하는 사용자 지정 Auto Scaling 역할을 지정할 수 있습니다. 빠른 옵션을 사용하면 기본 서비스 역할과 EC2 인스턴스 프로필에 대한 기본 역할이 지정됩니다. 자세한 정보는 Amazon EMR에서 사용하는 IAM 서비스 역할을 참조하세요.

참고

보다 사용하기 쉽도록 Amazon EMR 콘솔을 재설계했습니다. 이전 콘솔과 새 콘솔 간 차이점에 대해서는 아마존 EMR 콘솔 섹션을 참조하세요.

New console
새 콘솔을 사용하여 사용자 지정 IAM 역할을 지정하는 방법

새 콘솔로 클러스터를 생성하는 경우 Amazon EMR에 대한 사용자 지정 서비스 역할과 EC2 인스턴스 프로파일에 대한 사용자 지정 역할을 지정해야 합니다. 자세한 정보는 Amazon EMR에서 사용하는 IAM 서비스 역할을 참조하세요.

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

  2. 왼쪽 탐색 창의 EMR on EC2에서 클러스터를 선택하고 클러스터 생성을 선택합니다.

  3. 보안 구성 및 권한에서 인스턴스 프로파일에 대한 IAM 역할Amazon EMR에 대한 서비스 역할 필드를 찾습니다. 각 역할 유형에 대해 목록에서 역할을 선택합니다. 해당 역할 유형에 대해 적절한 신뢰 정책을 가지고 있는 계정 내 역할만이 목록에 나열됩니다.

  4. 클러스터에 적용할 다른 옵션을 선택합니다.

  5. 클러스터를 시작하려면 클러스터 생성을 선택합니다.

Old console
이전 콘솔을 사용하여 사용자 지정 IAM 역할을 지정하는 방법

이전 콘솔로 클러스터를 생성할 때 Amazon EMR의 사용자 지정 서비스 역할, EC2 인스턴스 프로파일의 사용자 지정 역할 및 고급 옵션을 사용하는 사용자 지정 Auto Scaling 역할을 지정할 수 있습니다. 빠른 옵션을 사용하면 기본 서비스 역할과 EC2 인스턴스 프로필에 대한 기본 역할이 지정됩니다. 자세한 정보는 Amazon EMR에서 사용하는 IAM 서비스 역할을 참조하세요.

  1. 새 Amazon EMR 콘솔로 이동하고 측면 탐색에서 이전 콘솔로 전환을 선택합니다. 이전 콘솔로 전환할 때 예상되는 사항에 대한 자세한 내용은 이전 콘솔 사용을 참조하세요.

  2. 클러스터 생성Go to advanced options(고급 옵션으로 이동)를 선택합니다.

  3. 서비스 옵션이 나올 때까지 애플리케이션에 적절한 클러스터 설정을 선택합니다. 권한에서 Amazon EMR의 기본 역할이 선택됩니다.

  4. 사용자 지정을 선택합니다.

  5. 각 역할 유형에 대해 목록에서 역할을 선택합니다. 해당 역할 유형에 대해 적절한 신뢰 정책을 가지고 있는 계정 내 역할만이 목록에 나열됩니다.

  6. 클러스터에 적절한 다른 옵션들을 선택하고 클러스터 생성을 선택합니다.

를 AWS CLI 사용하여 사용자 지정 역할을 지정할 수 있습니다.

AWS CLI의 create-cluster 명령과 함께 옵션을 사용하여 Amazon EMR에 대한 서비스 역할과 클러스터 EC2 인스턴스에 대한 서비스 역할을 명시적으로 지정할 수 있습니다. --service-role 옵션을 사용하여 서비스 역할을 지정합니다. InstanceProfile 옵션의 --ec2-attributes 인수를 사용하여 EC2 인스턴스 프로파일에 대한 역할을 지정합니다.

Auto Scaling 역할은 별도의 옵션(--auto-scaling-role)을 사용하여 지정됩니다. 자세한 정보는 인스턴스 그룹에서 사용자 지정 정책과 함께 자동 조정 사용을 참조하세요.

를 사용하여 사용자 지정 IAM 역할을 지정하려면 AWS CLI
  • 다음 명령을 통해 서비스 역할인 MyCustomServiceRoleForEMR과 클러스터 시작 시 EC2 인스턴스 프로파일에 대한 역할인 MyCustomServiceRoleForClusterEC2Instances을 사용자가 지정할 수 있습니다. 이 예제에서는 기본 Amazon EMR 역할을 사용합니다.

    참고

    가독성을 위해 Linux 줄 연속 문자(\)가 포함됩니다. Linux 명령에 사용하거나 제외할 수 있습니다. Windows에서는 제외시키거나 캐럿(^)으로 바꿉니다.

    aws emr create-cluster --name "Test cluster" --release-label emr-7.1.0 \ --applications Name=Hive Name=Pig --service-role MyCustomServiceRoleForEMR \ --ec2-attributes InstanceProfile=MyCustomServiceRoleForClusterEC2Instances,\ KeyName=myKey --instance-type m5.xlarge --instance-count 3

--use-default-roles 옵션을 사용하기 보다 이들 옵션을 사용하여 기존 역할을 명시적으로 지정할 수 있습니다. --use-default-roles 옵션은 AWS CLI의 config 파일에 정의된 EC2 인스턴스 프로파일에 대한 역할과 서비스 역할을 지정합니다.

다음 예제는 Amazon AWS CLI EMR의 지정된 사용자 지정 역할에 대한 config 파일 내용을 보여줍니다. 이 구성 파일에서 --use-default-roles 옵션을 지정하면 MyCustomServiceRoleForEMRMyCustomServiceRoleForClusterEC2Instances를 사용하여 클러스터가 생성됩니다. 기본적으로 config 파일은 기본 service_roleAmazonElasticMapReduceRole로, 기본 instance_profileEMR_EC2_DefaultRole로 지정합니다.

[default] output = json region = us-west-1 aws_access_key_id = myAccessKeyID aws_secret_access_key = mySecretAccessKey emr = service_role = MyCustomServiceRoleForEMR instance_profile = MyCustomServiceRoleForClusterEC2Instances