翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ウェブ ID または OpenID Connect でロールを引き受けて AWS SDKsとツールを認証する
ロールでは、他の方法ではアクセスできない AWS リソースへのアクセスに、一時的なセキュリティ認証情報のセットを使用する必要があるとします。これらの一時的な認証情報は、アクセスキー ID、シークレットアクセスキー、およびセキュリティトークンで構成されています。 AWS Security Token Service (AWS STS) API リクエストの詳細については、「AWS Security Token Service API リファレンス」の「アクション」を参照してください。
ロールを引き受けるように SDK またはツールを設定するには、まず引き受けるのための特定のロールを作成または特定する必要があります。IAM ロールは、ロール (Amazon リソースネーム (「ARN」 )で一意に識別されます。ロールは別のエンティティとの信頼関係を確立します。ロールを使用する信頼されたエンティティは、ウェブ ID プロバイダー、OpenID Connect (OIDC)、または SAML フェデレーションです。IAM ロールの詳細については、「IAM ユーザーガイド」の「ロールを引き受ける方法」を参照してください。
SDK で IAM ロールを設定した後、そのロールが ID プロバイダーを信頼するように設定されている場合は、一時的な AWS 認証情報を取得するために、そのロールを引き受けるように SDK をさらに設定できます。
注記
可能な限りリージョンエンドポイントを使用し、 を設定することが AWS ベストプラクティスですAWS リージョン。
ウェブアイデンティティまたは OpenID Connect でのフェデレーション
Login With Amazon、Facebook、Google などのパブリック ID プロバイダーの JSON ウェブトークン (JWTs) を使用して、 を使用して一時的な AWS 認証情報を取得できますAssumeRoleWithWebIdentity
。使用方法に応じて、これらの JWTsを ID トークンまたはアクセストークンと呼びます。EntraId や PingFederate など、OIDC の検出プロトコルと互換性のある ID プロバイダー (IdPs) から発行された JWTs を使用することもできます。
Amazon Elastic Kubernetes Service を使用している場合、この機能を使用すると、Amazon EKS クラスター内のサービスアカウントごとに異なる IAM ロールを指定できます。この Kubernetes 機能はJWTs をポッドに配布し、この認証情報プロバイダーがこの認証情報を使用して一時的な AWS 認証情報を取得します。この Amazon EKS の設定の詳細については、「Amazon EKS ユーザーガイド」の「サービスアカウントの IAM ロール」を参照してください。ただし、より単純なオプションとして、SDK がサポートしている場合は、代わりに Amazon EKS Pod Identities を利用することをお勧めします。
ステップ 1: ID プロバイダーと IAM ロールを設定する
外部 IdP とのフェデレーションを設定するには、IAM ID プロバイダーを使用して、外部 IdP とその設定 AWS について に通知します。これにより、 AWS アカウント と外部 IdP の間の信頼が確立されます。認証に JSON ウェブトークン (JWT) を使用するように SDK を設定する前に、まず ID プロバイダー (IdP) とそれにアクセスするために使用される IAM ロールを設定する必要があります。これらを設定するには、「IAM ユーザーガイド」の「ウェブ OpenID Connect フェデレーション用のロールの作成 (コンソール)」 を参照してください。
ステップ 2: SDK またはツールを設定する
から JSON ウェブトークン (JWT) を AWS STS 認証に使用するように SDK またはツールを設定します。
プロファイルでこれを指定すると、SDK またはツールが自動的に対応する AWS STS AssumeRoleWithWebIdentity
API コールを行います。ウェブ ID フェデレーションを使用して一時的な認証情報を取得して使用するには、共有 AWS config
ファイルに次の設定値を指定します。これらの設定の詳細については、「ロール認証情報プロバイダーを引き受けます」を参照してください。
-
role_arn
- ステップ 1 で作成された IAM ロール -
web_identity_token_file
-外部 IdP から -
(オプション)
duration_seconds
-
(オプション)
role_session_name
ウェブ IDを使用してロールを引き受ける config
共有ファイル設定の例を次に示します。
[profile
web-identity
] role_arn=arn:aws:iam::123456789012
:role/my-role-name
web_identity_token_file=/path/to/a/token
注記
モバイルアプリケーションに対しては、Amazon Cognito の使用をお勧めします。Amazon Cognito は ID ブローカーとして機能し、ユーザーの代わりに多くのフェデレーション作業を行います。ただし、Amazon Cognito ID プロバイダーは、他の ID プロバイダーのように SDK やツールのコアライブラリには含まれていません。Amazon Cognito API にアクセスするには、SDK またはツールのビルドまたはライブラリに Amazon Cognito サービスクライアントを含めてください。 AWS SDKsAmazon Cognito デベロッパーガイド」の「コード例」を参照してください。
すべての引き受けロールの認証情報プロバイダーの設定の詳細については、このガイドの「ロール認証情報プロバイダーを引き受けます」を参照してください。