

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# `assumeRoleWithWebIdentityCredentialProvider`provider nell'SDK for PHP
<a name="assume-role-with-web-identity-provider"></a>

 `Aws\Credentials\CredentialProvider::assumeRoleWithWebIdentityCredentialProvider` tenta di caricare le credenziali tramite l'assunzione di un ruolo. Se le variabili di ambiente `AWS_ROLE_ARN` e `AWS_WEB_IDENTITY_TOKEN_FILE` sono presenti, il provider cercherà di assumere il ruolo specificato in `AWS_ROLE_ARN` utilizzando il token su disco nel percorso completo specificato in `AWS_WEB_IDENTITY_TOKEN_FILE`. Se vengono utilizzate variabili di ambiente, il provider cercherà di impostare la sessione dalla variabile di ambiente `AWS_ROLE_SESSION_NAME`.

Se le variabili di ambiente non sono impostate, il provider utilizzerà il profilo predefinito oppure quello impostato come `AWS_PROFILE`. Il provider legge i profili da `~/.aws/credentials` e `~/.aws/config` per impostazione predefinita e può leggere i profili specificati nell'opzione di configurazione `filename`. Il provider assume il ruolo specificato in `role_arn` del profilo, leggendo un token dal percorso completo impostato in `web_identity_token_file`. `role_session_name` verrà utilizzato se impostato nel profilo.

Il provider viene chiamato come parte della catena predefinita e può essere chiamato direttamente.

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

Per impostazione predefinita, questo provider di credenziali erediterà la regione configurata che verrà utilizzata da StsClient per assumere il ruolo. Facoltativamente, StsClient può essere fornito un file completo. Le credenziali devono essere impostate come `false` su quelle fornite. 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
]);
```