本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon EMR Serverless 的任務執行期角色
您可以指定在代表您呼叫其他 服務時,EMR執行 Serverless 任務所能擔任IAM的角色許可。這包括存取 Amazon S3 以取得任何資料來源、目標,以及其他 AWS 資源,例如 Amazon Redshift 叢集和 DynamoDB 資料表。若要進一步了解如何建立角色,請參閱 建立任務執行期角色。
範例執行期政策
您可以將執行期政策,例如下列項目,連接至任務執行期角色。下列任務執行時間政策允許:
-
使用EMR範例讀取對 Amazon S3 儲存貯體的存取權。
-
完整存取 S3 儲存貯體。
-
建立和讀取 AWS Glue Data Catalog 的存取權。
若要新增對其他 AWS 資源的存取權,例如 DynamoDB ,您需要在建立執行期角色時,在政策中包含這些資源的許可。
{ "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伺服器任務。若要進一步了解設定許可,請參閱授予使用者將角色傳遞至 AWS 服務 的許可。
以下是允許將任務執行期角色傳遞給 EMR Serverless 服務主體的範例政策。
{ "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::1234567890:role/JobRuntimeRoleForEMRServerless", "Condition": { "StringLike": { "iam:PassedToService": "emr-serverless.amazonaws.com" } } }