

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

# `assumeRole`provider nell'SDK for PHP
<a name="assumerole-provider"></a>

Se utilizzi `Aws\Credentials\AssumeRoleCredentialProvider` per creare le credenziali tramite l'assunzione di un ruolo, devi trasmettere l'informazione `'client'` con un oggetto `StsClient` e dettagli `'assume_role_params'`, come illustrato.

**Nota**  
Per evitare di recuperare inutilmente AWS STS le credenziali su ogni operazione API, puoi utilizzare la `memoize` funzione per gestire l'aggiornamento automatico delle credenziali quando scadono. Di seguito è riportato un esempio di codice.

```
use Aws\Credentials\CredentialProvider;
use Aws\Credentials\InstanceProfileProvider;
use Aws\Credentials\AssumeRoleCredentialProvider;
use Aws\S3\S3Client;
use Aws\Sts\StsClient;

// Passing Aws\Credentials\AssumeRoleCredentialProvider options directly
$profile = new InstanceProfileProvider();
$ARN = "arn:aws:iam::123456789012:role/xaccounts3access";
$sessionName = "s3-access-example";

$assumeRoleCredentials = new AssumeRoleCredentialProvider([
    'client' => new StsClient([
        'region' => 'us-east-2',
        'version' => '2011-06-15',
        'credentials' => $profile
    ]),
    'assume_role_params' => [
        'RoleArn' => $ARN,
        'RoleSessionName' => $sessionName,
    ],
]);

// To avoid unnecessarily fetching STS credentials on every API operation,
// the memoize function handles automatically refreshing the credentials when they expire
$provider = CredentialProvider::memoize($assumeRoleCredentials);

$client = new S3Client([
    'region'      => 'us-east-2',
    'version'     => '2006-03-01',
    'credentials' => $provider
]);
```

Per ulteriori informazioni in merito, vedere. `'assume_role_params'` [AssumeRole](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-sts-2011-06-15.html#assumerole)