翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
EMR Serverless での Amazon S3 Access Grants の使用
EMR Serverless 用 S3 Access Grants の概要
Amazon EMR リリース 6.15.0 以降では、Amazon S3 Access Grants は、EMR Serverless からの Amazon S3 データへのアクセスを強化するためのスケーラブルなアクセスコントロールソリューションを提供します。S3 データに対して複雑または大規模なアクセス許可設定がある場合は、Access Grants を使用して、ユーザー、ロール、およびアプリケーションの S3 データ許可をスケーリングします。
S3 Access Grants を使用すると、ランタイムロールや EMR Serverless アプリケーションへのアクセス権を持つアイデンティティにアタッチされている IAM ロールによって付与される権限を超えて、Amazon S3 データへのアクセスを強化できます。
詳細については、「Amazon EMR 管理ガイド」の「Amazon EMR の S3 Access Grants によるアクセスの管理」および「Amazon Simple Storage Service ユーザーガイド」のS3 Access Grants によるアクセスの管理」を参照してください。
このセクションでは、S3 Access Grants を使用して Amazon S3 のデータへのアクセスを提供する EMR Serverless アプリケーションを起動する方法について説明します。他の Amazon EMR デプロイで S3 Access Grants を使用する手順については、以下のドキュメントを参照してください。
データ管理に S3 Access Grants を使用した EMR Serverless アプリケーションの起動
EMR Serverless で S3 Access Grants を有効にし、Spark アプリケーションを起動できます。アプリケーションが S3 データをリクエストすると、Amazon S3 は特定のバケット、プレフィックス、またはオブジェクトを対象とする一時的な認証情報を提供します。
-
EMR Serverless アプリケーションのジョブ実行ロールを設定します。Spark ジョブを実行し、S3 Access Grants、
s3:GetDataAccessおよび を使用するために必要な IAM アクセス許可を含めますs3:GetAccessGrantsInstanceForPrefix。{ "Effect": "Allow", "Action": [ "s3:GetDataAccess", "s3:GetAccessGrantsInstanceForPrefix" ], "Resource": [ //LIST ALL INSTANCE ARNS THAT THE ROLE IS ALLOWED TO QUERY "arn:aws_partition:s3:Region:account-id1:access-grants/default", "arn:aws_partition:s3:Region:account-id2:access-grants/default" ] }注記
S3 に直接アクセスするための追加のアクセス許可を持つジョブ実行に IAM ロールを指定すると、ユーザーは S3 Access Grants からのアクセス許可がない場合でも、ロールによって許可されたデータにアクセスできます。
-
次の例に示すように、Amazon EMR リリースラベルが 6.15.0 以降で
spark-defaults分類の EMR Serverless アプリケーションを起動します。の値を使用シナリオに適した値に置き換えます。red textaws emr-serverless start-job-run \ --application-idapplication-id\ --execution-role-arnjob-role-arn\ --job-driver '{ "sparkSubmit": { "entryPoint": "s3://us-east-1.elasticmapreduce/emr-containers/samples/wordcount/scripts/wordcount.py", "entryPointArguments": ["s3://amzn-s3-demo-destination-bucket1/wordcount_output"], "sparkSubmitParameters": "--conf spark.executor.cores=1 --conf spark.executor.memory=4g --conf spark.driver.cores=1 --conf spark.driver.memory=4g --conf spark.executor.instances=1" } }' \ --configuration-overrides '{ "applicationConfiguration": [{ "classification": "spark-defaults", "properties": { "spark.hadoop.fs.s3.s3AccessGrants.enabled": "true", "spark.hadoop.fs.s3.s3AccessGrants.fallbackToIAM": "false" } }] }'
EMR Serverless での S3 Access Grants の使用に関する考慮事項
EMR Serverless で Amazon S3 Access Grants を使用する際の重要なサポート、互換性、動作情報については、「Amazon EMR 管理ガイド」の「Amazon EMR での S3 Access Grants に関する考慮事項」を参照してください。