翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS SDK for PHP バージョン 3 認証情報プロバイダーの使用
AWS SDKs、「 SDK およびツールリファレンスガイド」の「認証情報とアクセス」を参照してください。 AWS SDKs
重要
セキュリティのため、ルートアカウントを AWS アクセスに使用しないことを強くお勧めします。最新のセキュリティ推奨事項については、必ず IAM ユーザーガイドの「IAM におけるセキュリティのベストプラクティス」を参照してください。
AWS SDK for PHP バージョン 3 の認証情報プロバイダーの役割は、認証情報を調達して SDK の AWS のサービス クライアントに提供することです。SDK は、ソースとなる認証情報を使用して、各リクエストに暗号で署名することでサービスで認証します。認証情報は通常、アクセスキー、つまりアクセスキー ID とシークレットアクセスキーで構成されます。
IAM Identity Center 認証を設定したり、IAM ロールを引き受けるようにランタイムを設定したりするなど、一時的な認証情報を使用すると、セッショントークンがアクセスキーに追加され、 AWS リソースへの時間制限付きアクセスが提供されます。
AWS SDK for PHP バージョン 3 の認証情報プロバイダーとは
認証情報プロバイダは、GuzzleHttp\Promise\PromiseInterface
インスタンスで満たすかまたは Aws\Credentials\CredentialsInterface
で拒否した Aws\Exception\CredentialsException
を返す関数です。SDK には、認証情報プロバイダー関数のいくつかの実装が用意されています。または、認証情報を作成したり、認証情報のロードを最適化したりするための独自のカスタムロジックを実装することもできます。
認証情報プロバイダは、クライアントコンストラクタの credentials
オプションで渡されます。認証情報プロバイダは非同期であり、API オペレーションが呼び出されるたびに遅延して評価されるようになっています。そのため、認証情報プロバイダ関数を SDK のクライアントコンストラクタに渡しても、その認証情報はすぐには検証されません。認証情報プロバイダから認証情報オブジェクトが返されない場合、API オペレーションは Aws\Exception\CredentialsException
で拒否されます。
use Aws\Credentials\CredentialProvider; use Aws\S3\S3Client; // Use the ECS credential provider. $provider = CredentialProvider::ecsCredentials(); // Be sure to memoize the credentials. $memoizedProvider = CredentialProvider::memoize($provider); // Pass the provider to the client $client = new S3Client([ 'region' => 'us-west-2', 'version' => '2006-03-01', 'credentials' => $memoizedProvider ]);