翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon EMR Serverless のジョブランタイムロール
EMR サーバーレスジョブの実行が、ユーザーに代わって他の サービスを呼び出すときに引き受けることができる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サーバーレスジョブに渡すことができるユーザーを制御できます。アクセス許可の設定の詳細については、AWS 「サービス にロールを渡すアクセス許可をユーザーに付与する」を参照してください。
以下は、ジョブランタイムロールを EMR Serverless サービスプリンシパルに渡すことを許可するポリシーの例です。
{ "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::1234567890:role/JobRuntimeRoleForEMRServerless", "Condition": { "StringLike": { "iam:PassedToService": "emr-serverless.amazonaws.com" } } }