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