

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á.

# Provedor `assumeRoleWithWebIdentityCredentialProvider` no SDK para PHP
<a name="assume-role-with-web-identity-provider"></a>

 `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
]);
```