翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
IAM Identity Center 認証情報プロバイダー
注記
設定ページのレイアウトの理解、または以下の AWS SDKs「」を参照してくださいこのガイドの設定ページについて。
この認証メカニズムは、 AWS IAM アイデンティティセンター を使用して、コード AWS のサービス の へのシングルサインオン (SSO) アクセスを取得します。
注記
AWS SDK API ドキュメントでは、IAM Identity Center 認証情報プロバイダーは SSO 認証情報プロバイダーと呼ばれます。
IAM Identity Center を有効にしたら、共有 AWS configファイルで設定のプロファイルを定義します。このプロファイルは IAM Identity Center アクセスポータルへの接続に使用されます。ユーザーが IAM Identity Center で正常に認証されると、ポータルはそのユーザーに関連付けられた IAM ロールの短期認証情報を返します。SDK が設定から一時的な認証情報を取得し、 AWS のサービス リクエストに使用する方法については、「」を参照してくださいAWS SDKsとツールの IAM Identity Center 認証の解決方法。
config ファイルを使用して IAM Identity Center を設定するには 2 つの方法があります。
-
(推奨) SSO トークンプロバイダー設定 – セッション期間が延長されます。カスタムセッション期間のサポートが含まれています。
-
更新不可のレガシー構成 — 固定の 8 時間のセッションを使用します。
どちらの構成でも、セッションの有効期限が切れたら再度サインインする必要があります。
次の 2 つのガイドには、IAM Identity Center に関する追加情報が含まれています。
SDK とツールがこの構成を使用して認証情報を使用および更新する方法の詳細については、「AWS SDKsとツールの IAM Identity Center 認証の解決方法」を参照してください。
前提条件
最初に IAM Identity Center を有効にしておく必要があります。IAM アイデンティティセンターの認証を有効にする方法の詳細については、「AWS IAM アイデンティティセンター ユーザーガイド」の「Enabling AWS IAM アイデンティティセンター」を参照してください。
注記
または、完全な前提条件と、このページで説明されている必要な共有 config ファイル設定について、「IAM Identity Center を使用して AWS SDK とツールを認証する」のセットアップガイドを参照してください。
SSO トークンプロバイダー設定
SSO トークンプロバイダー設定を使用すると、 AWS SDK またはツールは延長されたセッション期間までセッションを自動的に更新します。セッション期間と最大期間の詳細については、「 AWS IAM アイデンティティセンター ユーザーガイド」の AWS 「アクセスポータルと IAM Identity Center 統合アプリケーションのセッション期間を設定する」を参照してください。
config ファイルの sso-sessionセクションは、SSO アクセストークンを取得するための設定変数をグループ化するために使用され、認証情報を取得するために使用できます AWS 。config ファイル内のこのセクションの詳細については、「設定ファイルの形式」を参照してください。
次の共有 config ファイルの例では、dev プロファイルを使用して SDK またはツールを設定し、IAM Identity Center の認証情報をリクエストします。
[profiledev] sso_session =my-ssosso_account_id =111122223333sso_role_name =SampleRole[sso-sessionmy-sso] sso_region =us-east-1sso_start_url =https://my-sso-portal.awsapps.com/startsso_registration_scopes =sso:account:access
前の例は sso-session セクションの定義とプロファイルへの関連付けを示しています。通常、 SDK が AWS 認証情報をリクエストできるように、 profile セクションで sso_account_idと を設定sso_role_nameする必要があります。sso_region、sso_start_url、 は sso-sessionセクション内で設定sso_registration_scopesする必要があります。
sso_account_id と sso_role_name は SSO トークン設定のすべてのシナリオで必須というわけではありません。アプリケーション AWS のサービス がベアラー認証をサポートする のみを使用する場合、従来の AWS 認証情報は必要ありません。ベアラー認証は、ベアラートークンと呼ばれるセキュリティトークンを使用する HTTP 認証スキームです。このシナリオでは、sso_account_id と sso_role_name は必須ではありません。サービスがベアラートークン認可をサポートしているかどうかを確認するには、個々の AWS のサービス ガイドを参照してください。
登録スコープは sso-session の一部として設定されます。スコープは、ユーザーのアカウントに対するアプリケーションのアクセスを制限する OAuth 2.0 のメカニズムです。前の例では、アカウントとロールを一覧表示するために必要なアクセスを許可するように sso_registration_scopes を設定しています。
次の例は、複数のプロファイルで同じ sso-session 設定を再利用する方法を示しています。
[profiledev] sso_session =my-ssosso_account_id =111122223333sso_role_name =SampleRole[profile prod] sso_session =my-ssosso_account_id =111122223333sso_role_name =SampleRole2[sso-sessionmy-sso] sso_region =us-east-1sso_start_url =https://my-sso-portal.awsapps.com/startsso_registration_scopes =sso:account:access
認証トークンは、セッション名に基づいたファイル名を使用して、~/.aws/sso/cache ディレクトリの下のディスクにキャッシュされます。
更新不可のレガシー設定
トークンの自動更新は、更新不可のレガシー設定ではサポートされていません。代わりに、SSO トークンプロバイダー設定 の使用をお勧めします。
更新不可のレガシー設定を使用するには、プロファイル内で次の設定を指定する必要があります。
-
sso_start_url -
sso_region -
sso_account_id -
sso_role_name
プロファイルのユーザーポータルは、 sso_start_url および sso_region 設定を使用して指定します。アクセス許可は sso_account_id および sso_role_name 設定で指定します。
次の例では、 config ファイルに 4 つの必要となる値を設定します。
[profilemy-sso-profile] sso_start_url =https://my-sso-portal.awsapps.com/startsso_region =us-west-2sso_account_id =111122223333sso_role_name =SSOReadOnlyRole
認証トークンは、sso_start_url に基づいたファイル名を使用して、~/.aws/sso/cache ディレクトリの下のディスクにキャッシュされます。
IAM Identity Center 認証情報プロバイダーの設定
この機能は以下を使用して設定します。
sso_start_url- 共有 AWSconfigファイル設定-
組織の IAM Identity Center の発行者 URL またはアクセスポータル URL を指す URL。詳しくは、「AWS IAM アイデンティティセンター ユーザーガイド」の「Setting up and using the AWS access portal」を参照してください。
この値を確認するには、IAM Identity Center コンソール
を開き、[ダッシュボード] を表示して、[AWS アクセスポータル URL] を検索します。 -
または、 のバージョン 2.22.0 以降では AWS CLI、代わりにAWS 発行者 URL の値を使用できます。
-
sso_region- 共有 AWSconfigファイル設定-
IAM Identity Center ポータルホスト AWS リージョン を含む 、つまり IAM Identity Center を有効にする前に選択したリージョン。これはデフォルトの AWS リージョンとは独立しており、異なる場合があります。
AWS リージョン とそのコードの完全なリストについては、『』の「リージョンエンドポイント」を参照してくださいAmazon Web Services 全般のリファレンス。この値を確認するには、IAM Identity Centerコンソール
を開いて[ダッシュボード]を表示し、[リージョン]を探します。 sso_account_id- 共有 AWSconfigファイル設定-
認証に使用する AWS Organizations サービスを通じて AWS アカウント 追加された の数値 ID。
使用可能なアカウントのリストを確認するには、IAM Identity Center コンソール
に移動して[AWS アカウント] ページを開きます。AWS IAM アイデンティティセンター ポータル API リファレンスの 「ListAccounts」 API メソッドを使用して利用可能なアカウントのリストを確認することもできます。たとえば、 AWS CLI メソッド list-accounts を呼び出すことができます。 sso_role_name- 共有 AWSconfigファイル設定-
ユーザーのアクセス許可を定義するIAM ロールとしてプロビジョニングされたアクセス許可セットの名前。ロールは、 で AWS アカウント 指定された に存在する必要があります
sso_account_id。ロールの Amazon リソースネーム (ARN) ではなく、ロール名を使用してください。アクセス許可セットには IAM ポリシーとカスタムアクセス許可ポリシーがアタッチされており、ユーザーに割り当てられた AWS アカウントに付与されるアクセスレベルを定義します。
ごとに使用可能なアクセス許可セットのリストを表示するには AWS アカウント、IAM Identity Center コンソール
に移動してAWS アカウントページを開きます。 AWS アカウント テーブルにリストされている正しいアクセス許可セット名を選択します。AWS IAM アイデンティティセンター ポータル API リファレンスの 「ListAccountRoles」 API メソッドを使用して、使用可能なアクセス許可セットのリストを確認することもできます。たとえば、 AWS CLI メソッド list-account-roles を呼び出すことができます。 sso_registration_scopes- 共有 AWSconfigファイル設定-
sso-sessionに許可するスコープのカンマ区切りのリストです。アプリケーションは 1 つ以上のスコープをリクエストでき、アプリケーションに発行されたアクセストークンは付与されたスコープに限定されます。IAM Identity Center サービスから更新トークンを取得するには、sso:account:accessの最低限のスコープを付与する必要があります。利用可能なアクセススコープのオプションのリストについては、「AWS IAM アイデンティティセンター ユーザーガイド」の「Access scopes」を参照してください。これらのスコープは、登録された OIDC クライアントがリクエストできるアクセス許可と、クライアントが取得するアクセストークンを定義します。スコープは、IAM Identity Center ベアラートークンで承認されたエンドポイントへのアクセスを許可します。
この設定は、更新できない従来の設定には適用されません。レガシー構成を使用して発行されたトークンは、暗黙的に
sso:account:accessスコープに制限されます。
AWS SDKsとツールによるサポート
以下の SDK は、このトピックで説明する機能と設定をサポートします。部分的な例外があれば、すべて記載されています。JVM システムプロパティ設定は、 AWS SDK for Java と AWS SDK for Kotlin でのみサポートされます。
| SDK | サポート | 注意または詳細情報 |
|---|---|---|
| AWS CLI v2 | はい | |
| SDK for C++ | はい | |
| SDK for Go V2 (1.x) |
はい | |
| SDK for Go 1.x (V1) | はい | 共有 config ファイル設定を使用するには、設定ファイルからの読み込みを有効にする必要があります。「セッション」を参照してください。 |
| SDK for Java 2.x | はい | 設定値はcredentialsファイルでもサポートされています。 |
| SDK for Java 1.x | 不可 | |
| SDK for JavaScript 3.x | はい | |
| SDK for JavaScript 2.x | はい | |
| SDK for Kotlin | はい | |
| SDK for .NET 4.x | はい | |
| SDK for .NET 3.x | はい | |
| SDK for PHP 3.x | はい | |
| SDK for Python (Boto3) |
はい | |
| SDK for Ruby 3.x | はい | |
| SDK for Rust | 部分的 | 更新不可のレガシー設定のみ。 |
| SDK for Swift | はい | |
| PowerShell V5 のツール | はい | |
| PowerShell V4 のツール | はい |