EMR Notebooks의 서비스 역할 - Amazon EMR

EMR Notebooks의 서비스 역할

각 EMR 노트북에는 다른 AWS 리소스에 액세스하고 작업을 수행할 권한이 필요합니다. 이 서비스 역할에 연결된 IAM 정책은 노트북이 다른 AWS 서비스와 상호 작용할 수 있는 권한을 제공합니다. AWS Management Console을 사용하여 노트북을 생성할 때 AWS 서비스 역할을 지정합니다. 기본 역할인 EMR_Notebooks_DefaultRole을 사용하거나 생성하는 역할을 지정할 수 있습니다. 이전에 노트북을 생성하지 않은 경우 기본 역할을 생성하도록 선택할 수 있습니다.

  • 기본 역할 이름은 EMR_Notebooks_DefaultRole입니다.

  • EMR_Notebooks_DefaultRole에 연결된 기본 관리형 정책은 AmazonElasticMapReduceEditorsRoleS3FullAccessPolicy입니다.

서비스 역할은 다음 신뢰 정책을 사용해야 합니다.

중요

다음 신뢰 정책에는 Amazon EMR에 부여하는 권한을 계정의 특정 리소스로 제한하는 aws:SourceArnaws:SourceAccount 글로벌 조건 키가 포함되어 있습니다. 이를 사용하면 혼동된 대리자 문제를 방지할 수 있습니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "elasticmapreduce.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "<account-id>" }, "ArnLike": { "aws:SourceArn": "arn:aws:elasticmapreduce:<region>:<account-id>:*" } } } ] }

AmazonElasticMapReduceEditorsRole 버전 1의 콘텐츠는 다음과 같습니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:CreateSecurityGroup", "ec2:DescribeSecurityGroups", "ec2:RevokeSecurityGroupEgress", "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:ModifyNetworkInterfaceAttribute", "ec2:DescribeTags", "ec2:DescribeInstances", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "elasticmapreduce:ListInstances", "elasticmapreduce:DescribeCluster", "elasticmapreduce:ListSteps" ], "Resource": "*" }, { "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:*:*:network-interface/*", "Condition": { "ForAllValues:StringEquals": { "aws:TagKeys": [ "aws:elasticmapreduce:editor-id", "aws:elasticmapreduce:job-flow-id" ] } } } ] }

다음은 S3FullAccessPolicy의 콘텐츠입니다. S3FullAccessPolicy를 통해 EMR Notebooks의 서비스 역할이 AWS 계정 내 객체에서 모든 Amazon S3 작업을 수행할 수 있습니다. EMR Notebooks에 대한 사용자 지정 서비스 역할을 생성하는 경우 서비스 역할에 Amazon S3 권한을 부여해야 합니다.

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

노트북 파일을 저장하려는 Amazon S3 위치로 서비스 역할에 대한 읽기 및 쓰기 액세스 범위를 좁힐 수 있습니다. 다음과 같은 Amazon S3의 최소 권한 세트를 사용합니다.

"s3:PutObject", "s3:GetObject", "s3:GetEncryptionConfiguration", "s3:ListBucket", "s3:DeleteObject"

Amazon S3 버킷이 암호화된 경우에는 AWS Key Management Service에 대한 다음 권한을 포함해야 합니다.

"kms:Decrypt", "kms:GenerateDataKey", "kms:ReEncryptFrom", "kms:ReEncryptTo", "kms:DescribeKey"

Git 리포지토리를 노트북에 연결하면서 리포지토리에 보안 암호를 생성해야 하는 경우에는 Amazon EMR Notebooks의 서비스 역할에 연결되는 IAM 정책에서 secretsmanager:GetSecretValue 권한을 추가해야 합니다. 정책 예제는 다음과 같습니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": "*" } ] }

EMR Notebooks 서비스 역할 권한

이 테이블에는 EMR Notebooks가 서비스 역할을 사용하여 수행하는 작업과 각 작업에 필요한 권한이 나열되어 있습니다.

작업 권한
노트북과 Amazon EMR 클러스터 사이에 보안 네트워크 채널을 설정하고 필요한 정리 작업을 수행합니다.
"ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:ModifyNetworkInterfaceAttribute", "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:CreateSecurityGroup", "ec2:DescribeSecurityGroups", "ec2:RevokeSecurityGroupEgress", "ec2:DescribeTags", "ec2:DescribeInstances", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "elasticmapreduce:ListInstances", "elasticmapreduce:DescribeCluster", "elasticmapreduce:ListSteps"
AWS Secrets Manager에 저장된 Git 보안 인증을 사용하여 Git 리포지토리를 노트북에 연결합니다.
"secretsmanager:GetSecretValue"
보안 네트워크 채널을 설정하는 동안 EMR Notebooks에서 생성하는 네트워크 인터페이스 및 기본 보안 그룹에 AWS 태그를 적용합니다. 자세한 내용을 알아보려면 AWS 리소스에 태깅을 참조하세요.
"ec2:CreateTags"
노트북 파일 및 메타데이터에 액세스하거나 Amazon S3에 업로드합니다.
"s3:PutObject", "s3:GetObject", "s3:GetEncryptionConfiguration", "s3:ListBucket", "s3:DeleteObject"

다음 권한은 암호화된 Amazon S3 버킷을 사용하는 경우에만 필요합니다.

"kms:Decrypt", "kms:GenerateDataKey", "kms:ReEncryptFrom", "kms:ReEncryptTo", "kms:DescribeKey"

AWS 관리형 정책에 대한 EMR Notebooks 업데이트

2021년 3월 1일 이후로 EMR Notebooks에 대한 AWS 관리형 정책 업데이트의 자세한 내용을 확인하세요.

변경 사항 설명 날짜
AmazonElasticMapReduceEditorsRole - Added permissions

EMR Notebooks에서 AmazonElasticMapReduceEditorsRoleec2:describeVPCselastmicmapreduce:ListSteps 권한을 추가했습니다.

2023년 2월 8일

EMR Notebooks에서 변경 추적 시작

EMR Notebooks에서 AWS 관리형 정책에 대한 변경 사항 추적을 시작했습니다.

2023년 2월 8일