翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
TIP プラグインを使用して にアクセスする AWS のサービス
信頼できる ID 伝達 (TIP) は、 の管理者がグループの関連付けなどのユーザー属性に基づいてアクセス許可 AWS のサービス を付与 AWS IAM Identity Center できるようにする の機能です。信頼できる ID の伝播により、ID コンテキストが IAM ロールに追加され、 AWS リソースへのアクセスをリクエストしているユーザーを識別します。このコンテキストは他の AWS のサービスに伝達されます。
ID コンテキストは、 がアクセスリクエストを受信したときに承認の決定を行うために AWS のサービス 使用する情報で構成されます。この情報には、リクエスタ (IAM Identity Center ユーザーなど)、アクセスがリクエスト AWS のサービス される (Amazon Redshift など)、アクセス範囲 (読み取り専用アクセスなど) を識別するメタデータが含まれます。受信側 AWS のサービス は、このコンテキストとユーザーに割り当てられたアクセス許可を使用して、そのリソースへのアクセスを承認します。詳細については、「 AWS IAM Identity Center ユーザーガイド」の「信頼できる ID の伝播の概要」の「」を参照してください。
TIP プラグインは、信頼できる ID の伝播 AWS のサービス をサポートする で使用できます。リファレンスユースケースとして、「Amazon Q Business User Guide」の「Configuring an Amazon Q Business application using AWS IAM Identity Center」を参照してください。
注記
Amazon Q Business を使用している場合は、「Configuring an Amazon Q Business application using AWS IAM Identity Center」でサービス固有の手順を参照してください。
TIP プラグインを使用するための前提条件
プラグインを機能させるには、次のリソースが必要です。
-
AWS SDK for Java または のいずれかを使用する必要があります AWS SDK for JavaScript。
-
使用しているサービスが信頼できる ID の伝播をサポートしていることを確認します。
「AWS IAM Identity Center ユーザーガイド」にある「AWS managed applications that integrate with IAM Identity Center」の表の「Enables trusted identity propagation through IAM Identity Center」列を参照してください。
-
IAM Identity Center と信頼できる ID の伝播を有効にします。
「AWS IAM Identity Center ユーザーガイド」の「TIP prerequisites and considerations」を参照してください。
-
Identity-Center-integrated アプリケーションが必要です。
「AWS IAM Identity Center ユーザーガイド」の「AWS managed applications」または「Customer managed applications」を参照してください。
-
信頼できるトークン発行者 (TTI) を設定し、サービスを IAM Identity Center に接続する必要があります。
「AWS IAM Identity Center ユーザーガイド」の「Prerequisites for trusted token issuers」および「Tasks for setting up a trusted token issuer」を参照してください。
コードで TIP プラグインを使用するには
-
信頼できる ID の伝播プラグインのインスタンスを作成します。
-
とやり取りするためのサービスクライアントインスタンスを作成し AWS のサービス 、信頼できる ID 伝達プラグインを追加してサービスクライアントをカスタマイズします。
TIP プラグインは以下の入力パラメータを使用します。
-
webTokenProvider: 外部 ID プロバイダーから OpenID トークンを取得するためにお客様が実装する関数。 -
accessRoleArn: ユーザーの ID コンテキストを使用してプラグインが引き受ける IAM ロール ARN。ID 拡張認証情報を取得します。 -
applicationArn: クライアントまたはアプリケーションの一意の識別子文字列。この値は、OAuth 許可が設定されたアプリケーション ARN です。 -
ssoOidcClient: (オプション)SsoOidcClientfor Java や client-sso-oidcfor JavaScript など、お客様が定義した設定の SSO OIDC クライアント。指定しない場合、applicationRoleArnを使用する OIDC クライアントがインスタンス化されて使用されます。 -
stsClient: (オプション) お客様が定義した設定の AWS STS クライアント。ユーザーの ID コンテキストでaccessRoleArnを引き受けるために使用されます。指定しない場合、 を使用する AWS STS クライアントapplicationRoleArnはインスタンス化されて使用されます。 -
applicationRoleArn: (オプション) OIDC と AWS STS クライアントをブートストラップAssumeRoleWithWebIdentityできるように で引き受ける IAM ロール ARN。-
指定しない場合は、
ssoOidcClientとstsClientのパラメータの両方を指定する必要があります。 -
指定した場合、
applicationRoleArnはaccessRoleArnのパラメータと同じ値にすることはできません。applicationRoleArnは accessRole を引き受けるために使用される stsClient の構築に使用されます。applicationRoleと の両方に同じロールが使用されている場合accessRole、ロールを使用してそれ自体を引き受ける (自己ロールの引き受け) ことを意味します。これは推奨されません AWS。詳細については、お知らせを参照してください。
-
ssoOidcClient、stsClient、および applicationRoleArn のパラメータに関する考慮事項
TIP プラグインを設定するときは、指定するパラメータに基づいて、次のアクセス許可要件を考慮してください。
-
ssoOidcClientとstsClientを指定する場合:-
ssoOidcClientの認証情報には、アイデンティティセンターを呼び出してアイデンティティセンター固有のユーザーコンテキストを取得するためのoauth:CreateTokenWithIAMアクセス許可が必要です。 -
stsClientの認証情報には、sts:AssumeRoleと、accessRoleのsts:SetContextのアクセス許可が必要です。また、accessRoleには、stsClientの認証情報との信頼関係を構成する必要があります。
-
-
applicationRoleArnを指定する場合:-
applicationRoleは OIDC および STS クライアントの構築に使用されるため、必要なリソース (IdC インスタンス、accessRole) でのoauth:CreateTokenWithIAM、sts:AssumeRole、およびsts:SetContextのアクセス許可が必要です。 -
webTokenはプラグインによる AssumeRoleWithWebIdentity 呼び出しを介して applicationRole を引き受けるために使用されるため、applicationRoleは、webTokenの生成に使用される ID プロバイダーとの信頼関係が必要です。
-
ApplicationRole 構成の例:
ウェブトークンプロバイダーとの信頼ポリシー:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::ACCOUNT_ID:oidc-provider/IDENTITY_PROVIDER_URL" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "IDENTITY_PROVIDER_URL:aud": "CLIENT_ID_TO_BE_TRUSTED" } } } ] }
アクセス許可ポリシー:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sts:AssumeRole", "sts:SetContext" ], "Resource": [ "accessRoleArn" ] }, { "Effect": "Allow", "Action": [ "sso-oauth:CreateTokenWithIAM" ], "Resource": [ "*" ] } ] }
TIP を使用したコードの例
以下の例は、 AWS SDK for Java または を使用してコードに TIP プラグインを実装する方法を示しています AWS SDK for JavaScript。