

# SEC02-BP02 Utilizzo di credenziali temporanee
<a name="sec_identities_unique"></a>

 Quando si esegue qualsiasi tipo di autenticazione, è preferibile utilizzare credenziali temporanee invece di credenziali a lungo termine per ridurre o eliminare i rischi, come la divulgazione, la condivisione o il furto involontario delle credenziali. 

**Risultato desiderato:** per ridurre il rischio legato alle credenziali a lungo termine, utilizza credenziali temporanee ogni qualvolta sia possibile sia per le identità umane che per le identità macchina. Le credenziali a lungo termine creano molti rischi, ad esempio possono essere caricate in codice su repository GitHub pubblici. Utilizzando credenziali temporanee, riduci notevolmente le possibilità di compromissione delle credenziali. 

**Anti-pattern comuni:**
+  Sviluppatori che utilizzano chiavi di accesso a lungo termine dagli IAM users anziché ottenere credenziali temporanee dalla CLI utilizzando la federazione. 
+  Sviluppatori che inseriscono chiavi di accesso a lungo termine nel loro codice e caricano tale codice su repository Git pubblici. 
+  Sviluppatori che inseriscono chiavi di accesso a lungo termine nelle applicazioni mobili che vengono poi rese disponibili negli app store. 
+  Utenti che condividono le chiavi di accesso a lungo termine con altri utenti o dipendenti che lasciano l'azienda con chiavi di accesso a lungo termine ancora in loro possesso. 
+  Utilizzo di chiavi di accesso a lungo termine per le identità macchina quando è possibile utilizzare credenziali temporanee. 

 **Livello di rischio associato se questa best practice non fosse adottata:** elevato 

## Guida all'implementazione
<a name="implementation-guidance"></a>

 Utilizza credenziali di sicurezza temporanee invece di credenziali a lungo termine per tutte le richieste API e CLI AWS. Le richieste API e CLI ai servizi AWS devono, in quasi tutti i casi, essere firmate utilizzando le [chiavi di accesso AWS](https://docs.aws.amazon.com//latest/UserGuide/id_credentials_access-keys.html). Queste richieste possono essere firmate con credenziali temporanee o a lungo termine. L'unico caso in cui si devono utilizzare credenziali a lungo termine, note anche come chiavi di accesso a lungo termine, è qualora si stia utilizzando un [utente IAM](https://docs.aws.amazon.com//latest/UserGuide/id_users.html) o un [utente root Account AWS](https://docs.aws.amazon.com//latest/UserGuide/id_root-user.html). Al momento della federazione ad AWS o dell'assunzione di un [ruolo IAM](https://docs.aws.amazon.com//latest/UserGuide/id_roles.html) attraverso altri metodi, vengono generate delle credenziali temporanee. Anche quando accedi a Console di gestione AWS utilizzando le credenziali di accesso, vengono generate credenziali temporanee per effettuare chiamate ai servizi AWS. Sono poche le situazioni in cui è necessario disporre di credenziali a lungo termine ed è possibile svolgere quasi tutte le attività utilizzando credenziali temporanee. 

 Evitare l'uso di credenziali a lungo termine a favore di credenziali temporanee dovrebbe andare di pari passo con una strategia di riduzione dell'uso degli utenti IAM a favore della federazione e dei ruoli IAM. Sebbene in passato gli utenti IAM siano stati utilizzati sia per le identità umane che per quelle macchina, ora si consiglia di non utilizzarli per evitare i rischi legati all'uso di chiavi di accesso a lungo termine. 

### Passaggi dell'implementazione
<a name="implementation-steps"></a>

 Per le identità umane come dipendenti, amministratori, sviluppatori, operatori e clienti: 
+  Devi [affidarti a un fornitore di identità centralizzato](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_identities_identity_provider.html) e [richiedere agli utenti umani di utilizzare la federazione con un fornitore di identità per accedere ad AWS utilizzando credenziali temporanee](https://docs.aws.amazon.com//latest/UserGuide/best-practices.html#bp-users-federation-idp). La federazione degli utenti può essere effettuata con [la federazione diretta a ciascun Account AWS](https://aws.amazon.com/identity/federation/) o utilizzando [AWS IAM Identity Center (successore di AWS IAM Identity Center)](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) e un provider di identità a scelta. La federazione offre una serie di vantaggi rispetto all'utilizzo degli utenti IAM, oltre all'eliminazione delle credenziali a lungo termine. Gli utenti possono anche richiedere credenziali temporanee dalla riga di comando per la [federazione diretta](https://aws.amazon.com/blogs/security/how-to-implement-federated-api-and-cli-access-using-saml-2-0-and-ad-fs/) o utilizzare [IAM Identity Center](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html). Ciò significa che i casi d'uso che richiedono utenti IAM o credenziali a lungo termine per gli utenti sono pochi.  
+  Quando concedi a terzi, come ad esempio ai fornitori di software come servizio (SaaS), l'accesso alle risorse del tuo Account AWS, puoi utilizzare [ruoli multi-account](https://docs.aws.amazon.com//latest/UserGuide/tutorial_cross-account-with-roles.html) e [policy basate sulle risorse](https://docs.aws.amazon.com//latest/UserGuide/access_policies_identity-vs-resource.html). 
+  Se devi concedere l'accesso alle tue risorse alle applicazioni per i consumatori o per i clientiAWS, puoi utilizzare i [pool di identità Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/identity-pools.html) o [Amazon Cognito user pools](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools.html) per fornire le credenziali temporanee. Le autorizzazioni per le credenziali sono configurate tramite i ruoli IAM. Puoi anche definire un ruolo IAM separato con autorizzazioni limitate per gli utenti guest non autenticati. 

 Per le identità macchina, potrebbero essere necessarie credenziali a lungo termine. In questi casi, devi [richiedere ai carichi di lavoro di utilizzare credenziali temporanee con ruoli IAM per accedere ad AWS](https://docs.aws.amazon.com//latest/UserGuide/best-practices.html#bp-workloads-use-roles). 
+  Per [Amazon Elastic Compute Cloud](https://aws.amazon.com/pm/ec2/) (Amazon EC2), puoi utilizzare [ruoli per Amazon EC2](https://docs.aws.amazon.com//latest/UserGuide/id_roles_use_switch-role-ec2.html). 
+  [AWS Lambda](https://aws.amazon.com/lambda/) ti consente di configurare un [ruolo di esecuzione Lambda per concedere le autorizzazioni al servizio](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html) per eseguire azioni AWS utilizzando credenziali temporanee. Per i servizi AWS esistono molti altri modelli simili per concedere credenziali temporanee utilizzando i ruoli IAM. 
+  Per i dispositivi IoT, puoi utilizzare il [provider di credenziali AWS IoT Core](https://docs.aws.amazon.com/iot/latest/developerguide/authorizing-direct-aws.html) per richiedere credenziali temporanee. 
+  Per i sistemi on-premise o per i sistemi che vengono eseguiti al di fuori di AWS che richiedono accesso alle risorse AWS, puoi utilizzare [IAM Roles Anywhere](https://docs.aws.amazon.com/rolesanywhere/latest/userguide/introduction.html). 

 Esistono scenari in cui le credenziali temporanee non sono un'opzione e potrebbe essere necessario utilizzare credenziali a lungo termine. In queste situazioni, [sottoponi a audit e ruota periodicamente le credenziali](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_identities_audit.html) e [ruota regolarmente le chiavi di accesso per i casi d'uso che richiedono credenziali a lungo termine.](https://docs.aws.amazon.com//latest/UserGuide/best-practices.html#rotate-credentials). Alcuni esempi che potrebbero richiedere credenziali a lungo termine sono i plugin di WordPress e i client AWS di terze parti. Quando è necessario utilizzare credenziali a lungo termine o per credenziali diverse dalle chiavi di accesso AWS, come ad esempio i login ai database, puoi utilizzare un servizio progettato per gestire i segreti, ad esempio [Gestione dei segreti AWS](https://aws.amazon.com/secrets-manager/). Secrets Manager consente di gestire, ruotare e archiviare in modo semplice e sicuro i segreti crittografati usando [servizi supportati](https://docs.aws.amazon.com/secretsmanager/latest/userguide/integrating.html). Per ulteriori informazioni sulla rotazione delle credenziali a lungo termine, consulta [Rotating Access Keys](https://docs.aws.amazon.com//latest/UserGuide/id_credentials_access-keys.html#Using_RotateAccessKey) (Rotazione delle chiavi di accesso). 

## Risorse
<a name="resources"></a>

 **Best practice correlate:** 
+ [SEC02-BP03 Archiviazione e utilizzo dei segreti in modo sicuro](sec_identities_secrets.md) 
+ [SEC02-BP04 Fai affidamento su un provider di identità centralizzato](sec_identities_identity_provider.md) 
+ [SEC03-BP08 Condivisione delle risorse in modo sicuro all'interno dell'organizzazione](sec_permissions_share_securely.md) 

 **Documenti correlati:** 
+  [Credenziali di sicurezza temporanee](https://docs.aws.amazon.com//latest/UserGuide/id_credentials_temp.html) 
+  [AWS Credentials](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html) (Credenziali AWS) 
+  [IAM Security Best Practices](https://docs.aws.amazon.com//latest/UserGuide/best-practices.html) (Best practice per la sicurezza IAM) 
+  [Ruoli IAM](https://docs.aws.amazon.com//latest/UserGuide/id_roles.html) 
+  [IAM Identity Center](https://aws.amazon.com/iam/identity-center/) 
+  [Provider di identità e federazione](https://docs.aws.amazon.com//latest/UserGuide/id_roles_providers.html) 
+  [Rotating Access Keys](https://docs.aws.amazon.com//latest/UserGuide/id_credentials_access-keys.html#Using_RotateAccessKey) 
+  [Soluzioni dei partner per la sicurezza: accesso e controllo degli accessi](https://aws.amazon.com/security/partner-solutions/#access-control) 
+  [L'utente root dell'account AWS](https://docs.aws.amazon.com//latest/UserGuide/id_root-user.html) 

 **Video correlati:** 
+  [Managing user permissions at scale with AWS IAM Identity Center (Gestire le autorizzazioni degli utenti su larga scala con AWS SSO), successore di AWS IAM Identity Center)](https://youtu.be/aEIqeFCcK7E) 
+  [Mastering identity at every layer of the cake](https://www.youtube.com/watch?v=vbjFjMNVEpc) 