

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

# SDK for PHP の `login` プロバイダ
<a name="login-provider"></a>

`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`。