

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

# Utilizzo di AWS SDK for Ruby per i provider di credenziali
<a name="credential-providers"></a>

Tutte le richieste AWS devono essere firmate crittograficamente utilizzando credenziali emesse da. AWS In fase di esecuzione, l'SDK recupera i valori di configurazione delle credenziali controllando diverse posizioni.

L'autenticazione con AWS può essere gestita all'esterno del codebase. Molti metodi di autenticazione possono essere rilevati, utilizzati e aggiornati automaticamente dall'SDK utilizzando la catena di fornitori di credenziali.

Per le opzioni guidate su come iniziare a utilizzare AWS l'autenticazione del progetto, consultate [Autenticazione e accesso](https://docs.aws.amazon.com/sdkref/latest/guide/access.html) nella Guida di riferimento agli *strumenti AWS SDKs e agli strumenti*.

## Catena di fornitori di credenziali
<a name="credchain"></a>

Tutti SDKs hanno una serie di luoghi (o fonti) che controllano per ottenere credenziali valide da utilizzare per effettuare una richiesta a un. Servizio AWS Dopo aver trovato credenziali valide, la ricerca viene interrotta. Questa ricerca sistematica è chiamata catena di fornitori di credenziali predefinita. 

**Nota**  
Se hai seguito l'approccio consigliato per i nuovi utenti per iniziare, ti sei autenticato utilizzando l'accesso con le credenziali della console durante. [Autenticazione con l' AWS utilizzo di AWS SDK for Ruby](credentials.md) Altri metodi di autenticazione sono utili per diverse situazioni. Per evitare rischi per la sicurezza, consigliamo di utilizzare sempre credenziali a breve termine. Per altre procedure relative ai metodi di autenticazione, consulta [Autenticazione e accesso](https://docs.aws.amazon.com/sdkref/latest/guide/access.html) nella *Guida di riferimento agli strumenti AWS SDKs e agli strumenti*.

Per ogni fase della catena, esistono diversi modi per impostare i valori. L'impostazione dei valori direttamente nel codice ha sempre la precedenza, seguita dall'impostazione come variabili di ambiente e quindi nel AWS `config` file condiviso. 

La *AWS SDKs and Tools Reference Guide* contiene informazioni sulle impostazioni di configurazione SDK utilizzate da tutti AWS SDKs e da. AWS CLI Per ulteriori informazioni su come configurare l'SDK tramite il AWS `config` file condiviso, consulta File di [configurazione e credenziali condivisi](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html). [Per ulteriori informazioni su come configurare l'SDK tramite l'impostazione delle variabili di ambiente, consulta Supporto per le variabili di ambiente.](https://docs.aws.amazon.com/sdkref/latest/guide/environment-variables.html)

Con cui eseguire l'autenticazione AWS, l' AWS SDK for Ruby controlla i provider di credenziali nell'ordine elencato nella tabella seguente.


| Fornitore di credenziali per precedenza | *AWS SDKs e guida di riferimento agli strumenti* | *AWS SDK per Ruby Documentazione di riferimento delle API* | 
| --- | --- | --- | 
| AWS chiavi di accesso (credenziali temporanee e a lungo termine) | [AWS chiavi di accesso](https://docs.aws.amazon.com/sdkref/latest/guide/feature-static-credentials.html) | [https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Credentials.html](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Credentials.html)[https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SharedCredentials.html](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SharedCredentials.html) | 
| Token di identità Web da AWS Security Token Service (AWS STS)  | [Assumi il ruolo di fornitore di credenziali](https://docs.aws.amazon.com/sdkref/latest/guide/feature-assume-role-credentials.html)Utilizzando `role_arn``role_session_name`, e `web_identity_token_file` | [https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/AssumeRoleWebIdentityCredentials.html](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/AssumeRoleWebIdentityCredentials.html)  | 
| AWS IAM Identity Center. In questa guida, vedi[Autenticazione con l' AWS utilizzo di AWS SDK for Ruby](credentials.md). | [Provider di credenziali IAM Identity Center](https://docs.aws.amazon.com/sdkref/latest/guide/feature-sso-credentials.html) | [https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SSOCredentials.html](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SSOCredentials.html) | 
| Fornitore di entità affidabile (ad esempioAWS\$1ROLE\$1ARN). In questa guida, vedi[Creazione di un token di accesso AWS STS](#aws-ruby-sdk-credentials-access-token). | [Assumi il ruolo di fornitore di credenziali](https://docs.aws.amazon.com/sdkref/latest/guide/feature-assume-role-credentials.html)Utilizzando `role_arn` e `role_session_name` | [https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/AssumeRoleCredentials.html](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/AssumeRoleCredentials.html) | 
| Fornitore di credenziali di accesso | [Fornitore di credenziali di accesso](https://docs.aws.amazon.com/sdkref/latest/guide/feature-login-credentials.html) | [https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/LoginCredentials.html](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/LoginCredentials.html) | 
| Fornitore di credenziali di processo | [Fornitore di credenziali di processo](https://docs.aws.amazon.com/sdkref/latest/guide/feature-process-credentials.html) | [https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ProcessCredentials.html](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ProcessCredentials.html) | 
| Credenziali Amazon Elastic Container Service (Amazon ECS) | [Fornitore di credenziali per container](https://docs.aws.amazon.com/sdkref/latest/guide/feature-container-credentials.html) | [https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ECSCredentials.html](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ECSCredentials.html) | 
| Credenziali del profilo di istanza Amazon Elastic Compute Cloud (Amazon EC2) (provider di credenziali IMDS) | [Fornitore di credenziali IMDS](https://docs.aws.amazon.com/sdkref/latest/guide/feature-imds-credentials.html) | [https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/InstanceProfileCredentials.html](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/InstanceProfileCredentials.html) | 

Se la variabile di `AWS_SDK_CONFIG_OPT_OUT` ambiente AWS SDK for Ruby è impostata, AWS `config` il file condiviso, in ` ~/.aws/config` genere at, non verrà analizzato per le credenziali.

## Creazione di un token di accesso AWS STS
<a name="aws-ruby-sdk-credentials-access-token"></a>

Assumere un ruolo implica l'utilizzo di un set di credenziali di sicurezza temporanee che è possibile utilizzare per accedere a AWS risorse a cui normalmente non si ha accesso. Le credenziali temporanee sono costituite da un ID chiave di accesso, una chiave di accesso segreta e un token di sicurezza. È possibile utilizzare il [https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/AssumeRoleCredentials.html](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/AssumeRoleCredentials.html)metodo per creare un token di accesso AWS Security Token Service (AWS STS).

L'esempio seguente utilizza un token di accesso per creare un oggetto client Amazon S3, dove si `linked::account::arn` trova l'Amazon Resource Name (ARN) del ruolo da assumere ed `session-name` è un identificatore per la sessione di ruolo assunta.

```
role_credentials = Aws::AssumeRoleCredentials.new(
  client: Aws::STS::Client.new,
  role_arn: "linked::account::arn",
  role_session_name: "session-name"
)

s3 = Aws::S3::Client.new(credentials: role_credentials)
```

Per ulteriori informazioni sull'impostazione `role_arn` o`role_session_name`, o su come impostarli utilizzando invece il AWS `config` file condiviso, consulta [Assume role Credential Provider](https://docs.aws.amazon.com/sdkref/latest/guide/feature-assume-role-credentials.html) nella *AWS SDKs and* Tools Reference Guide. 