assumeRoleWithWebIdentityCredentialProviderprovedor - AWS SDK para PHP

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

assumeRoleWithWebIdentityCredentialProviderprovedor

Aws\Credentials\CredentialProvider::assumeRoleWithWebIdentityCredentialProvider tenta carregar credenciais assumindo uma função. Se as variáveis de ambiente AWS_ROLE_ARN e AWS_WEB_IDENTITY_TOKEN_FILE estiverem presentes, o provedor tentará assumir a função especificada no AWS_ROLE_ARN usando o token no disco no caminho completo especificado em AWS_WEB_IDENTITY_TOKEN_FILE. Se as variáveis de ambiente forem usadas, o provedor tentará definir a sessão na variável de ambiente AWS_ROLE_SESSION_NAME.

Se as variáveis de ambiente não estiverem definidas, o provedor usará o perfil padrão ou o definido como AWS_PROFILE. O provedor lê perfis de ~/.aws/credentials e ~/.aws/config por padrão, e pode ler de perfis especificados na opção de configuração filename. O provedor assumirá a função no role_arn do perfil lendo um token do caminho completo definido no web_identity_token_file. O role_session_name será usado se definido no perfil.

O provedor será chamado como parte da cadeia padrão e poderá ser chamado diretamente.

use Aws\Credentials\CredentialProvider; use Aws\S3\S3Client; $provider = CredentialProvider::assumeRoleWithWebIdentityCredentialProvider(); // 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', 'version' => '2006-03-01', 'credentials' => $provider ]);

Por padrão, esse provedor de credenciais herdará a região configurada que será usada pelo StsClient para assumir a função. Opcionalmente, um completo StsClient pode ser fornecido. As credenciais devem ser definidas conforme false as fornecidas StsClient.

use Aws\Credentials\CredentialProvider; use Aws\S3\S3Client; use Aws\Sts\StsClient; $stsClient = new StsClient([ 'region' => 'us-west-2', 'version' => 'latest', 'credentials' => false ]) $provider = CredentialProvider::assumeRoleWithWebIdentityCredentialProvider([ 'stsClient' => $stsClient ]); // 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', 'version' => '2006-03-01', 'credentials' => $provider ]);