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à.
SEC02-BP02 Usa credenziali temporanee
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 stesse.
Risultato desiderato: al fine di ridurre il rischio di credenziali a lungo termine, utilizza credenziali temporanee laddove possibile per le identità di persone e macchine. Le credenziali a lungo termine creano molti rischi, ad esempio possono essere caricate in forma di codice in archivi pubblici. GitHub Grazie alle credenziali temporanee, riduci notevolmente le possibilità di compromissione delle credenziali.
Anti-pattern comuni:
-
Gli sviluppatori utilizzano chiavi di accesso a lungo termine fornite dagli IAM utenti anziché ottenere credenziali temporanee dalla federazione che li utilizza. CLI
-
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 app 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
Utilizzate credenziali di sicurezza temporanee anziché credenziali a lungo termine per tutte le AWS API richieste. CLI APIe CLI le richieste ai AWS servizi devono, in quasi tutti i casi, essere firmate utilizzando chiavi di AWS accesso. Queste richieste possono essere firmate con credenziali temporanee o a lungo termine. L'unico caso in cui è necessario utilizzare credenziali a lungo termine, note anche come chiavi di accesso a lungo termine, è se si utilizza un IAMutente o l'utente Account AWS root. Quando si esegue la federazione AWS o si assume un IAMruolo tramite altri metodi, vengono generate credenziali temporanee. Anche quando si accede AWS Management Console utilizzando le credenziali di accesso, vengono generate credenziali temporanee per effettuare chiamate ai servizi. AWS Sono poche le situazioni in cui occorrono 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'utilizzo degli IAM utenti a favore della federazione e dei ruoli. IAM Sebbene in passato IAM gli utenti fossero utilizzati sia per l'identità umana che per quella automatica, ora consigliamo di non utilizzarli per evitare i rischi derivanti dall'uso di chiavi di accesso a lungo termine.
Passaggi dell'implementazione
Per le identità umane come dipendenti, amministratori, sviluppatori, operatori e clienti:
-
È necessario affidarsi a un provider di identità centralizzato e richiedere agli utenti umani di utilizzare la federazione con un provider di identità per accedere AWS utilizzando credenziali temporanee. È possibile effettuare la federazione dei tuoi utenti con la federazione diretta di ciascun Account AWS
o mediante AWS IAM Identity Center e il gestore dell'identità digitale di tua scelta. La federazione offre una serie di vantaggi rispetto all'utilizzo degli IAM utenti, oltre all'eliminazione delle credenziali a lungo termine. Gli utenti possono inoltre richiedere credenziali temporanee dalla riga di comando per la federazione diretta o utilizzando IAMIdentity Center. Ciò significa che sono pochi i casi d'uso che richiedono IAM utenti o credenziali a lungo termine per gli utenti. -
Quando concedi a terzi, come i fornitori di software as a service (SaaS), l'accesso alle risorse del Account AWS tuo account, puoi utilizzare ruoli tra account e politiche basate sulle risorse.
-
Se devi concedere alle applicazioni per consumatori o clienti l'accesso alle tue AWS risorse, puoi utilizzare i pool di identità di Amazon Cognito o i pool di utenti Amazon Cognito per fornire credenziali temporanee. Le autorizzazioni per le credenziali sono configurate tramite ruoli. IAM È inoltre possibile definire un IAM ruolo separato con autorizzazioni limitate per gli utenti ospiti che non sono autenticati.
Per le identità macchina, potrebbero essere necessarie credenziali a lungo termine. In questi casi, è necessario richiedere ai carichi di lavoro di utilizzare credenziali temporanee con IAM ruoli a cui accedere. AWS
-
Per Amazon Elastic Compute Cloud
(AmazonEC2), puoi utilizzare i ruoli per Amazon EC2.
-
AWS Lambda
consente di configurare un ruolo di esecuzione Lambda per concedere al servizio le autorizzazioni per eseguire AWS azioni utilizzando credenziali temporanee. Esistono molti altri modelli simili di AWS servizi per concedere credenziali temporanee utilizzando i ruoli. IAM -
Per i dispositivi IoT, puoi richiedere credenziali temporanee al provider di credenziali AWS IoT Core.
-
Per i sistemi locali o i sistemi eseguiti all'esterno AWS che richiedono l'accesso alle AWS risorse, puoi utilizzare IAMRoles Anywhere.
Esistono scenari in cui le credenziali temporanee non sono un'opzione e potrebbe essere necessario utilizzare credenziali a lungo termine. In queste situazioni, procedi con l'audit e ruota periodicamente le credenziali, oltre a ruotare con regolarità le chiavi di accesso per casi d'uso che richiedono credenziali a lungo termine. Alcuni esempi che potrebbero richiedere credenziali a lungo termine includono WordPress plugin e client di terze parti. AWS
In situazioni in cui è necessario utilizzare credenziali a lungo termine o per credenziali diverse dalle chiavi di AWS accesso, come gli accessi al database, è possibile utilizzare un servizio progettato per gestire la gestione dei segreti, ad esempio. AWS Secrets Manager
Risorse
Best practice correlate:
Documenti correlati:
Video correlati: