

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

# Usa credenziali temporanee dall' AWS STS SDK for PHP
<a name="guide_credentials_temporary"></a>

 Servizio di token di sicurezza AWS (AWS STS) consente di richiedere privilegi limitati, **credenziali temporanee** per gli utenti IAM o per gli utenti autenticati tramite la federazione delle identità. *Per una comprensione più approfondita, consulta [Temporary Security Credentials nella IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) User Guide.* Puoi utilizzare credenziali di sicurezza temporanee per accedere alla maggior parte dei AWS servizi. Per un elenco di servizi che supportano le credenziali di sicurezza temporanee, consulta [AWS services that work with IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) nella *Guida per l’utente IAM*.

[Un caso d'uso comune delle credenziali temporanee consiste nel concedere alle applicazioni mobili o lato client l'accesso alle AWS risorse autenticando gli utenti tramite provider di identità di terze parti (vedi Web Identity Federation).](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc.html)

## Ottenere credenziali temporanee
<a name="getting-temporary-credentials"></a>

AWS STS dispone di diverse operazioni che restituiscono credenziali temporanee, ma l'`GetSessionToken`operazione è la più semplice da dimostrare. Il seguente frammento recupera le credenziali temporanee chiamando il `getSessionToken` metodo del client STS di PHP SDK.

```
$sdk = new Aws\Sdk([
    'region'   => 'us-east-1',
]);

$stsClient = $sdk->createSts();

$result = $stsClient->getSessionToken();
```

Il risultato `GetSessionToken` e le altre AWS STS operazioni contengono sempre un valore. `'Credentials'` Se si stampa `$result` (ad esempio utilizzando`print_r($result)`), il risultato è simile al seguente.

```
Array
(
    ...
    [Credentials] => Array
    (
        [SessionToken] => '<base64 encoded session token value>'
        [SecretAccessKey] => '<temporary secret access key value>'
        [Expiration] => 2013-11-01T01:57:52Z
        [AccessKeyId] => '<temporary access key value>'
    )
    ...
)
```

## Fornire credenziali temporanee a AWS SDK per PHP
<a name="providing-temporary-credentials-to-the-sdk-php"></a>

È possibile utilizzare credenziali temporanee con un altro AWS client creando un'istanza del client e trasmettendo i valori ricevuti direttamente da. AWS STS 

```
use Aws\S3\S3Client;

$result = $stsClient->getSessionToken();

$s3Client = new S3Client([
    'version'     => '2006-03-01',
    'region'      => 'us-west-2',
    'credentials' => [
        'key'    => $result['Credentials']['AccessKeyId'],
        'secret' => $result['Credentials']['SecretAccessKey'],
        'token'  => $result['Credentials']['SessionToken']
    ]
]);
```

Puoi anche costruire un oggetto `Aws\Credentials\Credentials` e utilizzarlo al momento di creare un'istanza del client.

```
use Aws\Credentials\Credentials;
use Aws\S3\S3Client;

$result = $stsClient->getSessionToken();

$credentials = new Credentials(
    $result['Credentials']['AccessKeyId'],
    $result['Credentials']['SecretAccessKey'],
    $result['Credentials']['SessionToken']
);

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

Tuttavia, il modo *migliore* per fornire le credenziali temporanee è utilizzare il metodo helper `createCredentials()` incluso in `StsClient`, Questo metodo estrae i dati da un AWS STS risultato e crea l'`Credentials`oggetto automaticamente.

```
$result = $stsClient->getSessionToken();
$credentials = $stsClient->createCredentials($result);

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

Per ulteriori informazioni sul motivo per cui potrebbe essere necessario utilizzare credenziali temporanee nell'applicazione o nel progetto, consulta [Scenari per la concessione dell'accesso temporaneo nella documentazione](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html). AWS STS 