SDK for PHP の login プロバイダ - AWS SDK for PHP

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

SDK for PHP の login プロバイダ

Aws\Credentials\CredentialProvider::login は、 CLI AWS などのツールによって容易になるブラウザベースのログインセッションによって設定された認証情報をロードしようとします。認証後、 は AWS SDKs とツールで動作する一時的な認証情報 AWS を生成します。

このプロセスでは、最初のアカウント設定時に作成されたルート認証情報、IAM ユーザー、または ID プロバイダーからのフェデレーティッド ID を使用して認証でき、 AWS SDK for PHP によって一時的な認証情報が自動的に管理されます。このアプローチにより、長期的な認証情報をローカルに保存する必要がなくなるため、セキュリティが強化されます。

aws login コマンドを実行すると、アクティブなコンソールセッションから選択することも、ブラウザベースの認証フローを使用してサインインすることもできます。これにより、一時的な認証情報が自動的に生成されます。 AWS SDK for PHP は、サインインサービスを使用して、これらの認証情報を最大 12 時間自動的に更新します。

ログインプロバイダーは、提供されたプロファイルに基づいて、前述のログインセッションワークフローによって生成されたアクセストークンをロードしようとします。プロバイダーを呼び出すときにプロファイルが指定されていない場合、プロファイル にフォールバックする前に、まずAWS_PROFILE環境変数をチェックしてプロファイルの解決を試みますdefault。コード内設定はプロバイダーに渡され、認証情報の更新に使用されるサインインサービスクライアントのregion値を探します。設定配列にリージョンが指定されていない場合、プロバイダーはAWS_REGION環境変数をチェックしてリージョンの解決を試み、解決されたプロファイルにリージョン値が設定されます。リージョンが見つからない場合、プロバイダーはリージョンの設定手順とともに拒否された promise を返します。

プロバイダーはデフォルトのチェーンの一部として呼び出され、直接呼び出すことができます。

use Aws\Credentials\CredentialProvider; use Aws\S3\S3Client; $provider = CredentialProvider::login(<profile_name>, ['region' => <region>]); // Cache the results in a memoize function to avoid loading and parsing // the ini file on every API operation $provider = CredentialProvider::memoize($provider); $client = new S3Client([ 'region' => 'us-west-2', 'credentials' => $provider ]);

デフォルトでは、使用するサービスクライアントで認証情報設定が指定されていない場合、このプロバイダーはdefaultProvider()認証情報チェーンの一部として呼び出されます。このシナリオでは、サービスクライアントのリージョンがlogin()プロバイダーに自動的に渡されます。また、このシナリオでは、ログインプロバイダーに渡されるプロファイル値は、プロファイル にフォールバックする前に、 AWS_PROFILE 環境変数を確認することで解決されますdefault