Amazon EMR Serverless에 대한 작업 런타임 역할
사용자를 대신하여 다른 서비스를 직접 호출하는 경우 EMR Serverless 작업 실행에서 수임할 수 있는 IAM 역할 권한을 지정할 수 있습니다. 여기에는 모든 데이터 소스, 대상 및 Amazon Redshift 클러스터 및 DynamoDB 테이블과 같은 기타 AWS 리소스에서의 Amazon S3에 대한 액세스가 포함됩니다. 역할을 생성하는 방법에 대해 자세히 알아보려면 작업 런타임 역할 생성 섹션을 참조하세요.
샘플 런타임 정책
다음과 같은 런타임 정책을 작업 런타임 역할에 연결할 수 있습니다. 다음 작업 런타임 정책은 다음을 허용합니다.
-
EMR 샘플이 포함된 Amazon S3 버킷에 대한 읽기 액세스.
-
S3 버킷에 대한 전체 액세스.
-
AWS Glue Data Catalog에 대한 생성 및 읽기 액세스.
DynamoDB와 같은 다른 AWS 리소스에 대한 액세스를 추가하려면 런타임 역할을 생성할 때 정책에 해당 리소스에 대한 권한을 포함해야 합니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadAccessForEMRSamples", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::*.elasticmapreduce", "arn:aws:s3:::*.elasticmapreduce/*" ] }, { "Sid": "FullAccessToS3Bucket", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::
amzn-s3-demo-bucket
", "arn:aws:s3:::amzn-s3-demo-bucket
/*" ] }, { "Sid": "GlueCreateAndReadDataCatalog", "Effect": "Allow", "Action": [ "glue:GetDatabase", "glue:CreateDatabase", "glue:GetDataBases", "glue:CreateTable", "glue:GetTable", "glue:UpdateTable", "glue:DeleteTable", "glue:GetTables", "glue:GetPartition", "glue:GetPartitions", "glue:CreatePartition", "glue:BatchCreatePartition", "glue:GetUserDefinedFunctions" ], "Resource": ["*"] } ] }
역할 권한 전달
사용자가 승인된 역할만 전달할 수 있도록 사용자 역할에 IAM 권한 정책을 연결할 수 있습니다. 이를 통해 관리자는 특정 작업 런타임 역할을 EMR Serverless 작업에 전달할 수 있는 사용자를 제어할 수 있습니다. 권할 설정에 대해 자세히 알아보려면 사용자에게 AWS 서비스에 역할을 전달할 수 있는 권한 부여를 참조하세요.
다음은 EMR Serverless 서비스 위탁자에 작업 런타임 역할을 전달할 수 있도록 허용하는 정책 예제입니다.
{ "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::1234567890:role/JobRuntimeRoleForEMRServerless", "Condition": { "StringLike": { "iam:PassedToService": "emr-serverless.amazonaws.com" } } }