翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
IAM Identity Center 認証情報プロバイダー
注記
設定ページのレイアウトの理解、または以下の Support by AWS SDKs「」を参照してくださいこのガイドの設定ページについて。
この認証メカニズムは、 AWS IAM Identity Center を使用して、コード 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 Identity Center 認証の有効化の詳細については、AWS IAM Identity Center 「 ユーザーガイド」の「有効化 AWS IAM Identity Center」を参照してください。
注記
または、完全な前提条件と、このページで詳しく説明されている必要な共有config
ファイル設定については、「」のセットアップ手順を参照してくださいIAM Identity Center を使用した AWS SDK とツールの認証。
SSO トークンプロバイダー設定
SSO トークンプロバイダー設定を使用すると、 AWS SDK またはツールは延長されたセッション期間までセッションを自動的に更新します。セッション期間と最大期間の詳細については、「 AWS IAM Identity Center ユーザーガイド」の AWS 「 アクセスポータルと IAM Identity Center 統合アプリケーションのセッション期間を設定する」を参照してください。
config
ファイルの sso-session
セクションは、SSO アクセストークンを取得するための設定変数をグループ化するために使用されます。この変数は、 AWS 認証情報を取得するために使用できます。config
ファイル内のこのセクションの詳細については、「」を参照してください設定ファイルの形式。
次の共有config
ファイルの例では、dev
プロファイルを使用して IAM アイデンティティセンターの認証情報をリクエストする SDK またはツールを設定します。
[profile dev
]
sso_session = my-sso
sso_account_id = 111122223333
sso_role_name = SampleRole
[sso-session my-sso
]
sso_region = us-east-1
sso_start_url = https://my-sso-portal.awsapps.com/start
sso_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
設定を再利用する方法を示しています。
[profile dev
]
sso_session = my-sso
sso_account_id = 111122223333
sso_role_name = SampleRole
[profile prod]
sso_session = my-sso
sso_account_id = 111122223333
sso_role_name = SampleRole2
[sso-session my-sso
]
sso_region = us-east-1
sso_start_url = https://my-sso-portal.awsapps.com/start
sso_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 つの必要となる値を設定します。
[profile my-sso-profile
]
sso_start_url = https://my-sso-portal.awsapps.com/start
sso_region = us-west-2
sso_account_id = 111122223333
sso_role_name = SSOReadOnlyRole
認証トークンは、sso_start_url
に基づいたファイル名を使用して、~/.aws/sso/cache
ディレクトリの下のディスクにキャッシュされます。
IAM Identity Center 認証情報プロバイダーの設定
この機能は以下を使用して設定します。
sso_start_url
- 共有 AWSconfig
ファイル設定-
組織の IAM アイデンティティセンター発行者 URL または アクセスポータル URL を指す URL。詳細については、「 ユーザーガイド」の AWS 「 アクセスポータルの使用」を参照してください。 AWS IAM Identity Center
この値を見つけるには、IAM アイデンティティセンターコンソール
を開き、ダッシュボードを表示して、 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 Identity Center ポータル 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 Identity Center ポータル API リファレンスの 「ListAccountRoles」 API メソッドを使用して、使用可能なアクセス許可セットのリストを確認することもできます。例えば、list-account-roles AWS CLI メソッドを呼び出すことができます。 sso_registration_scopes
- 共有 AWSconfig
ファイル設定-
sso-session
に許可するスコープのカンマ区切りのリストです。アプリケーションは 1 つ以上のスコープをリクエストでき、アプリケーションに発行されたアクセストークンは付与されたスコープに限定されます。IAM Identity Center サービスから更新トークンを取得するには、sso:account:access
の最低限のスコープを付与する必要があります。使用可能なアクセススコープオプションのリストについては、「 AWS IAM Identity Center ユーザーガイド」の「アクセススコープ」を参照してください。これらのスコープは、登録された 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 3.x | はい | |
SDK for PHP 3.x | はい | |
SDK for Python (Boto3) |
はい | |
SDK for Ruby 3.x | はい | |
SDK for Rust | 部分的 | 更新不可のレガシー設定のみ。 |
SDK for Swift | はい | |
Tools for PowerShell | はい |