翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
EMR Serverless の Trusted-Identity 伝播の開始方法
このセクションでは、Apache Livy Endpoint を使用して EMR-Serverless アプリケーションを IAM Identity Center AWS と統合し、信頼できる ID の伝播を有効にする方法について説明します。
前提条件
Trusted Identity 伝達が有効な EMR Serverless Apache Livy Endpoint を作成する AWS リージョンの Identity Center インスタンス。Identity Center インスタンスは、 AWS アカウントの 1 つのリージョンにのみ存在できます。「IAM Identity Center を有効にする」および「ID のソースから IAM Identity Center にユーザーとグループをプロビジョニングする」を参照してください。
Lake Formation や S3 Access Grants、Amazon Redshift クラスターなど、インタラクティブなワークロードがデータにアクセスするためにやり取りするダウンストリームサービスの信頼できる ID 伝達を有効にします。
信頼できる ID の伝播が有効な EMR Serverless Application を作成するために必要なアクセス許可
EMR Serverless にアクセスするために必要な基本的なアクセス許可に加えて、信頼できる ID の伝播が有効な EMR Serverless アプリケーションを作成するために使用される IAM ID またはロールに追加のアクセス許可を設定する必要があります。信頼できる ID の伝播のために、EMR Serverless は、ID の検証とダウンストリームへの ID の伝播にサービスが活用する 1 つのサービスマネージド Identity Center アプリケーションをアカウントに作成/ブートストラップします。
"sso:DescribeInstance", "sso:CreateApplication", "sso:DeleteApplication", "sso:PutApplicationAuthenticationMethod", "sso:PutApplicationAssignmentConfiguration", "sso:PutApplicationGrant", "sso:PutApplicationAccessScope"
-
sso:DescribeInstance
– identity-center-configuration パラメータで指定した IAM Identity Center instanceArn を記述および検証するアクセス許可を付与します。 -
sso:CreateApplication
– trusted-identity-propatgionアクションに使用される EMR Serverless マネージド IAM アイデンティティセンターアプリケーションを作成するアクセス許可を付与します。 -
sso:DeleteApplication
– EMR Serverless マネージド IAM アイデンティティセンターアプリケーションをクリーンアップするアクセス許可を付与します -
sso:PutApplicationAuthenticationMethod
– EMR Serverless マネージド IAM アイデンティティセンターアプリケーションに authenticationMethod を配置するアクセス許可を付与します。これにより、emr-serverless サービスプリンシパルが IAM アイデンティティセンターアプリケーションとやり取りできるようになります。 -
sso:PutApplicationAssignmentConfiguration
– IAM アイデンティティセンターアプリケーションでUser-assignment-not-required」を設定するアクセス許可を付与します。 -
sso:PutApplicationGrant
– IAM Identity Center アプリケーションに token-exchange、introspectToken、refreshToken、revokeToken 許可を適用するアクセス許可を付与します。 -
sso:PutApplicationAccessScope
– 信頼されたアイデンティティの伝播が有効なダウンストリームスコープを IAM アイデンティティセンターアプリケーションに適用するアクセス許可を付与します。「redshift:connect」、「lakeformation:query」、および「s3:read_writetrusted-identity-propagationをこれらのサービスに適用します。
信頼できる ID の伝播が有効な EMR Serverless アプリケーションを作成する
アプリケーションで信頼された ID の伝播を有効にするidentityCenterInstanceArn
には、 で —identity-center-configuration
フィールドを指定する必要があります。次のコマンド例を使用して、信頼された ID の伝播が有効になっている EMR Serverless アプリケーションを作成します。
注記
また、Apache Livy エンドポイントでのみ信頼された ID の伝播が有効になってい--interactive-configuration '{"livyEndpointEnabled":true}'
るため、 を指定する必要があります。
aws emr-serverless create-application \ --release-label emr-7.8.0 \ --type "SPARK" \ --identity-center-configuration '{"identityCenterInstanceArn" : "arn:aws:sso:::instance/ssoins-123456789"}' \ --interactive-configuration '{"livyEndpointEnabled":true}'
identity-center-configuration
– (オプション) 指定した場合、アイデンティティセンターの信頼された ID 伝達を有効にします。identityCenterInstanceArn
- (必須) Identify Center インスタンスの ARN。
必要な Identity Center アクセス許可 (上記) がない場合は、まず信頼された ID の伝播なしで EMR Serverless アプリケーションを作成し (—identity-center-configuration
パラメータを指定しないなど)、後で Identity Center 管理者に update-application API を呼び出して信頼された ID の伝播を有効にするように依頼する必要があります。以下の例を参照してください。
aws emr-serverless update-application \ --application-id
applicationId
\ --identity-center-configuration '{"identityCenterInstanceArn" : "arn:aws:sso:::instance/ssoins-123456789"}'
EMR Serverless は、サービスが ID 検証とダウンストリームサービスへの ID 伝達に活用するサービスマネージド Identity Center アプリケーションをアカウントに作成します。EMR Serverless が作成したマネージド Identity Center アプリケーションは、アカウント内のtrusted-identity-propagationが有効なすべての EMR Serverless アプリケーション間で共有されます。
注記
マネージド Identity Center アプリケーションの設定を変更しないでください。変更は、アカウントでtrusted-identity-propagationが有効なすべての EMR Serverless アプリケーションに影響を与える可能性があります。
ID を伝達するためのジョブ実行ロールのアクセス許可
EMR-Serverless は Identity 拡張の job-execution-role 認証情報を活用して ID をダウンストリーム AWS サービスに伝達するため、ジョブ実行ロールの信頼ポリシーには、ID を使用してジョブ実行ロール認証情報sts:SetContext
を強化し、S3 access-grant、Lake Formation、Amazon Redshift などのダウンストリームサービスへのtrusted-identity-propagationを許可する追加のアクセス許可が必要です。ロールの作成方法の詳細については、「ジョブランタイムロールの作成」を参照してください。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "emr-serverless.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:SetContext"] } ] }
さらに、JobExecutionRole には、ジョブ実行がユーザー ID を使用してデータを取得するために呼び出すダウンストリーム AWS サービスに対するアクセス許可が必要です。S3 Access Grant、Lake Formation を設定するには、以下のリンクを参照してください。