EMR Serverless の Trusted-Identity 伝播の開始方法 - Amazon EMR

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

EMR Serverless の Trusted-Identity 伝播の開始方法

このセクションでは、Apache Livy Endpoint を使用して EMR-Serverless アプリケーションを IAM Identity Center AWS と統合し、信頼できる 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 を設定するには、以下のリンクを参照してください。