Amazon EMR on EKS での Amazon S3 Access Grants の使用 - Amazon EMR

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon EMR on EKS での Amazon S3 Access Grants の使用

Amazon EMR on EKS での S3 Access Grants の概要

Amazon EMR リリース 6.15.0 以降では、Amazon S3 Access Grants によってスケーラブルなアクセスコントロールソリューションが提供され、これを使用して EKS 上の Amazon EMR から Amazon S3 データへのアクセスを強化できます。S3 データのアクセス許可設定が複雑または大規模な場合は、Access Grants を使用して、ユーザー、ロール、アプリケーションの S3 データ権限をスケーリングできます。

S3 Access Grants を使用すると、Amazon S3 データへのアクセスを、ランタイムロールや Amazon EMR on EKS クラスターへのアクセス権を持つアイデンティティにアタッチされている IAM ロールによって付与される権限を超えて、Amazon S3 データへのアクセスを強化できます。

詳細については、「Amazon EMR 管理ガイド」の「Amazon EMR の S3 アクセス許可によるアクセスの管理」および「Amazon Simple Storage Service ユーザーガイド」の「S3 アクセス許可によるアクセスの管理」を参照してください。

このページでは、S3 Access Grants 統合による EKS 上の Amazon EMR で Spark ジョブを実行するための要件について説明します。EKS 上の Amazon EMR を使用する場合、S3 Access Grants では、ジョブの実行ロールに IAM ポリシーステートメントを追加し、StartJobRun API のオーバーライド設定を追加する必要があります。他の Amazon EMR デプロイで S3 Access Grants を設定する手順については、以下のドキュメントを参照してください。

データ管理用 S3 Access Grants を使用した Amazon EMR on EKS クラスターの起動

EKS 上の Amazon EMR で S3 Access Grants を有効にし、Spark ジョブを起動することができます。アプリケーションが S3 データをリクエストすると、Amazon S3 は特定のバケット、プレフィックス、またはオブジェクトを対象とする一時的な認証情報を提供します。

  1. Amazon EMR on EKS クラスターのジョブ実行ロールを設定します。Spark ジョブの実行に必要な IAM アクセス許可 (s3:GetDataAccess および 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 で定義した権限に関係なく、ユーザーはデータにアクセスできる可能性があります。

  2. 次の例のように、Amazon EMR リリースラベルが 6.15 以上で、emrfs-site 分類が設定された Amazon EMR on EKS クラスターにジョブを送信します。red text の値を使用シナリオに適した値に置き換えます。

    { "name": "myjob", "virtualClusterId": "123456", "executionRoleArn": "iam_role_name_for_job_execution", "releaseLabel": "emr-7.1.0-latest", "jobDriver": { "sparkSubmitJobDriver": { "entryPoint": "entryPoint_location", "entryPointArguments": ["argument1", "argument2"], "sparkSubmitParameters": "--class main_class" } }, "configurationOverrides": { "applicationConfiguration": [ { "classification": "emrfs-site", "properties": { "fs.s3.s3AccessGrants.enabled": "true", "fs.s3.s3AccessGrants.fallbackToIAM": "false" } } ], } }

Amazon EMR on EKS での S3 Access Grants の考慮事項

EKS 上の Amazon EMR で Amazon S3 Access Grants を使用する際の重要なサポート、互換性、および動作情報については、「Amazon EMR 管理ガイド」の「Amazon EMR での S3 Access Grants の考慮事項」を参照してください。