Amazon EMR Serverless のジョブランタイムロール
EMR Serverless ジョブの実行がユーザーに代わって他のサービスを呼び出す際に引き受けることができる、IAM ロールのアクセス許可を指定できます。これには、データソース、ターゲット、Amazon Redshift クラスターや DynamoDB テーブルなどの他の AWS リソースに対する Amazon S3 へのアクセスが含まれます。ロールの作成方法の詳細については、「ジョブランタイムロールを作成する」を参照してください。
ランタイムポリシーの例
ジョブランタイムロールには、次のようなランタイムポリシーをアタッチできます。次のジョブランタイムポリシーでは、以下を許可します。
-
EMR サンプルを使用した Amazon S3 バケットへの読み取りアクセス。
-
S3 バケットへのフルアクセス。
-
AWS Glue データカタログの作成および読み取りアクセス。
DynamoDB などの他の AWS リソースへのアクセスを追加するには、ランタイムロールを作成する際にポリシーにそれらのアクセス許可を含める必要があります。
ロール権限を渡す
ユーザーのロールに 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" } } }
ランタイムロールに関連付けられた管理アクセス許可ポリシー
EMR Studio コンソールから EMR Serverless にジョブ実行を送信する場合、アプリケーションに関連付けるランタイムロールを選択するステップがあります。コンソールの各選択には、注意すべき重要な基盤となる管理ポリシーが関連付けられています。3 つの選択肢は以下のとおりです:
すべてのバケット – これを選択することにより、すべてのバケットへのフルアクセスを提供する AmazonS3FullAccess AWS 管理ポリシーが指定されます。
特定のバケット – 選択した各バケットの Amazon リソースネーム (ARN) 識別子を指定します。基盤となる管理ポリシーは含まれていません。
なし – マネージドポリシーのアクセス許可は含まれません。
特定のバケットを追加することをお勧めします。すべてのバケットを選択した場合は、すべてのバケットにフルアクセスを設定することに注意してください。