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

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

Trusted-Identity の伝播の開始方法

このセクションでは、Apache Livy Endpoint で EMR-Serverless アプリケーションを設定して AWS IAM Identity Center と統合し、信頼できる 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 Identity Center アプリケーションを作成するアクセス許可を付与します。

  • sso:DeleteApplication – EMR Serverless のマネージド IAM Identity Center アプリケーションを更新するためのアクセス許可を付与します

  • sso:PutApplicationAuthenticationMethod – EMR Serverless マネージド IAM Identity Center アプリケーションに authenticationMethod を配置するアクセス許可を付与し、emr-serverless サービスプリンシパルが IAM Identity Center アプリケーションとやり取りできるようにします。

  • sso:PutApplicationAssignmentConfiguration – IAM Identity Center アプリケーションに「User-assignment-not-required」設定を設定するアクセス許可を付与します。

  • sso:PutApplicationGrant – IAM Identity Center アプリケーションに token-exchange、introspectToken、refreshToken、revokeToken 許可を適用するアクセス許可を付与します。

  • sso:PutApplicationAccessScope – 信頼されたアイデンティティの伝播が有効なダウンストリームスコープを IAM Identity Center アプリケーションに適用するアクセス許可を付与します。「redshift:connect」、「lakeformation:query」、および「s3:read_write」スコープを適用して、これらのサービスに trusted-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 – (オプション) 指定した場合、Identity Center の信頼された 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 アプリケーション間で共有されます。

注記

マネージドアイデンティセンターアプリケーションの設定を変更しないでください。変更は、アカウントで信頼された ID 伝播が有効なすべての インタラクティブセッションに影響を与える可能性があります。

ID を伝播するためのジョブ実行ロールのアクセス許可

EMR-Serverless は Identity 拡張の job-execution-role 認証情報を活用して ID をダウンストリーム AWS サービスに伝達するため、ジョブ実行ロールの信頼ポリシーには、ID を使用してジョブ実行ロール認証情報sts:SetContextを強化し、S3 access-grant、Lake Formation、Amazon Redshift などのダウンストリームサービスへのtrusted-identity-propagationを許可する追加のアクセス許可が必要です。ロールの作成方法の詳細については、「Create a job runtime role」を参照してください。

JSON
{ "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 を設定するには、以下のリンクを参照してください。