Best practice per la sicurezza in IAM - AWS Identity and Access Management

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

Best practice per la sicurezza in IAM

Le AWS Identity and Access Management migliori pratiche sono state aggiornate il 14 luglio 2022.

Per proteggere AWS le tue risorse, segui queste best practice per AWS Identity and Access Management (IAM).

Richiedi agli utenti umani di utilizzare la federazione con un provider di identità per accedere AWS utilizzando credenziali temporanee

Utenti umani, noti anche come identità umane, sono le persone, gli amministratori, gli sviluppatori, gli operatori e i consumatori delle tue applicazioni. Devono avere un'identità per accedere agli AWS ambienti e alle applicazioni dell'utente. Gli utenti umani membri dell'organizzazione sono noti anche come identità della forza lavoro. Gli utenti umani possono anche essere utenti esterni con cui collabori e che interagiscono con le tue risorse AWS . Possono farlo tramite un browser Web, un'applicazione client, un'app mobile o strumenti interattivi della riga di comando.

Richiedi ai tuoi utenti umani di utilizzare credenziali temporanee per l'accesso AWS. Puoi utilizzare un provider di identità per consentire agli utenti umani di fornire un accesso federato Account AWS assumendo ruoli che forniscono credenziali temporanee. Per una gestione centralizzata degli accessi, consigliamo di utilizzare AWS IAM Identity Center (IAM Identity Center ) per gestire l'accesso ai tuoi account e le autorizzazioni all'interno di questi account. Puoi gestire le tue identità utente con IAM Identity Center o gestire le autorizzazioni di accesso per le identità degli utenti in IAM Identity Center da un provider di identità esterno. Per ulteriori informazioni, consulta Che cos'è AWS IAM Identity Center? nella Guida per l'utente di AWS IAM Identity Center .

Per ulteriori informazioni sui ruoli, consulta Termini e concetti dei ruoli.

Richiedi ai carichi di lavoro di utilizzare credenziali temporanee con ruoli IAM per accedere AWS

Un carico di lavoro è una raccolta di risorse e codice che fornisce valore aziendale, ad esempio un'applicazione o un processo back-end. Il carico di lavoro può avere applicazioni, strumenti operativi e componenti che richiedono un'identità per effettuare richieste a Servizi AWS, ad esempio richieste di lettura dei dati. Queste identità includono macchine in esecuzione nei tuoi AWS ambienti, come AWS Lambda istanze o funzioni di Amazon EC2.

Puoi anche gestire identità computer per soggetti esterni che necessitano di accesso. Per concedere l'accesso alle identità computer, puoi utilizzare i ruoli IAM. I ruoli IAM dispongono di autorizzazioni specifiche e forniscono un modo per accedere AWS affidandosi a credenziali di sicurezza temporanee con una sessione di ruolo. Inoltre, potresti avere macchine esterne AWS che richiedono l'accesso ai tuoi ambienti. AWS Per i computer che funzionano all'esterno dell' AWS utente, è possibile utilizzare AWS Identity and Access Management Roles Anywhere. Per ulteriori informazioni sui ruoli, consulta Ruoli IAM. Per informazioni dettagliate su come utilizzare i ruoli per delegare l'accesso da una parte all'altra Account AWS, consultaTutorial IAM: Delega dell'accesso tra account AWS tramite i ruoli IAM.

Richiedere l'autenticazione a più fattori (MFA)

Ti consigliamo di utilizzare i ruoli IAM per utenti umani e carichi di lavoro che accedono alle tue risorse AWS in modo che utilizzino credenziali temporanee. Tuttavia, per gli scenari in cui hai bisogno di utenti IAM o root nel tuo account, richiedi MFA per una maggiore sicurezza. Con MFA, gli utenti dispongono di un dispositivo che genera una risposta a una richiesta di autenticazione. Per completare la procedura di accesso, sono necessarie le credenziali dell'utente e la risposta generata dal dispositivo. Per ulteriori informazioni, consulta Utilizzo dell'autenticazione a più fattori (MFA) in AWS.

Se utilizzi IAM Identity Center per la gestione centralizzata degli accessi per utenti umani, puoi utilizzare le funzionalità MFA di IAM Identity Center quando la tua origine di identità è configurata con IAM Identity Center Identity Store, AWS Managed Microsoft AD o AD Connector. Per ulteriori informazioni sull'MFA, in IAM Identity Center consulta Autenticazione a più fattori (MFA) nella Guida per l'utente di AWS IAM Identity Center .

Aggiornamento delle chiavi di accesso quando necessario per i casi d'uso che richiedono credenziali a lungo termine

Ove possibile, consigliamo di fare affidamento a credenziali temporanee invece di creare credenziali a lungo termine come le chiavi di accesso. Tuttavia, per gli scenari in cui sono necessari utenti IAM con accesso a livello di programmazione e credenziali a lungo termine, si consiglia di aggiornare le chiavi di accesso all'occorrenza, ad esempio quando un dipendente lascia l'azienda. Ti consigliamo di utilizzare informazioni utilizzate per l'ultimo accesso IAM per aggiornare e rimuovere le chiavi di accesso in modo sicuro. Per ulteriori informazioni, consulta Aggiornamento delle chiavi di accesso.

Esistono casi d'uso specifici che richiedono credenziali a lungo termine con utenti IAM in AWS. Alcuni dei casi d'uso sono i seguenti:

  • Carichi di lavoro che non possono utilizzare ruoli IAM: è possibile eseguire un carico di lavoro da una posizione che deve accedere a AWS. In alcune situazioni, non è possibile utilizzare i ruoli IAM per fornire credenziali temporanee, ad esempio per i plug-in. WordPress In queste situazioni, per autenticarti a AWS usa le chiavi di accesso a lungo termine dell'utente IAM per quel carico di lavoro.

  • AWS Client di terze parti: se utilizzi strumenti che non supportano l'accesso con IAM Identity Center, come AWS client o fornitori di terze parti che non sono ospitati su AWS, utilizza le chiavi di accesso a lungo termine degli utenti IAM.

  • AWS CodeCommit accesso: se utilizzi CodeCommit per archiviare il codice, puoi utilizzare un utente IAM con chiavi SSH o credenziali specifiche del servizio CodeCommit per l'autenticazione nei tuoi repository. Si consiglia di eseguire questa operazione oltre a utilizzare un utente di IAM Identity Center per l'autenticazione normale. Gli utenti di IAM Identity Center sono le persone della tua forza lavoro che hanno bisogno di accedere alle tue o alle tue applicazioni cloud. Account AWS Per consentire agli utenti di accedere ai tuoi CodeCommit repository senza configurare gli utenti IAM, puoi configurare l'utilità. git-remote-codecommit Per ulteriori informazioni su IAM e CodeCommit, consulta. Usare IAM con CodeCommit: credenziali Git, chiavi SSH e AWS chiavi di accesso Per ulteriori informazioni sulla configurazione dell'git-remote-codecommitutilità, consulta Connessione ai AWS CodeCommit repository con credenziali rotanti nella Guida per l'utente.AWS CodeCommit

  • Accesso ad Amazon Keyspaces (per Apache Cassandra): in una situazione in cui non è possibile utilizzare gli utenti in IAM Identity Center, ad esempio per scopi di test per la compatibilità con Cassandra, puoi utilizzare un utente IAM con credenziali specifiche del servizio per l'autenticazione con Amazon Keyspaces. Gli utenti di IAM Identity Center sono le persone della tua forza lavoro che hanno bisogno di accedere alle tue applicazioni Account AWS o alle tue applicazioni cloud. Puoi anche connetterti ad Amazon Keyspaces utilizzando credenziali temporanee. Per ulteriori informazioni, consulta Utilizzo di credenziali temporanee per connettersi ad Amazon Keyspaces utilizzando un ruolo IAM e il plugin SIGv4 nella Guida per gli sviluppatori di Amazon Keyspaces (per Apache Cassandra).

Segui le best practice per proteggere le credenziali di utente root

Quando crei un file Account AWS, stabilisci le credenziali dell'utente root per accedere a. AWS Management Console Proteggi le tue credenziali utente root nello stesso modo in cui proteggeresti altre informazioni personali sensibili. Per comprendere meglio come proteggere e dimensionare i processi degli utenti root, consulta Best practice per gli utenti root per Account AWS.

Assegna le autorizzazioni con privilegi minimi

Quando imposti le autorizzazioni con le policy IAM, concedi solo le autorizzazioni richieste per eseguire un'attività. Puoi farlo definendo le azioni che possono essere intraprese su risorse specifiche in condizioni specifiche, note anche come autorizzazioni con privilegi minimi. Potresti iniziare con autorizzazioni generiche mentre esplori le autorizzazioni necessarie per il tuo carico di lavoro o il caso d'uso. Man mano che il tuo caso d'uso matura, puoi lavorare per ridurre le autorizzazioni concesse per lavorare con il privilegio minimo. Per ulteriori informazioni sull'utilizzo di IAM per applicare le autorizzazioni, consulta Policy e autorizzazioni in IAM.

Inizia con le politiche AWS gestite e passa alle autorizzazioni con privilegi minimi

Per iniziare a concedere autorizzazioni a utenti e carichi di lavoro, utilizza le policy gestite di AWS che concedono autorizzazioni per molti casi d'uso comuni. Sono disponibili nel tuo. Account AWS Tieni presente che le policy AWS gestite potrebbero non concedere le autorizzazioni con il privilegio minimo per i tuoi casi d'uso specifici, poiché sono disponibili per l'uso da parte di tutti i clienti. AWS Ti consigliamo pertanto di ridurre ulteriormente le autorizzazioni definendo Policy gestite dal cliente specifiche per i tuoi casi d'uso. Per ulteriori informazioni, consulta AWS politiche gestite. Per ulteriori informazioni sulle politiche AWS gestite progettate per funzioni lavorative specifiche, consulta. AWS politiche gestite per le funzioni lavorative

Utilizzare IAM Access Analyzer per generare policy con privilegi minimi in base all'attività di accesso

Per concedere solo le autorizzazioni richieste per eseguire un'attività, puoi generare policy in funzione dell'attività di accesso che hai effettuato l'accesso in AWS CloudTrail. IAM Access Analyzer analizza i servizi e le azioni utilizzati dai tuoi ruoli IAM e quindi genera una policy dettagliata che puoi utilizzare. Dopo aver testato ogni policy generata, puoi distribuirla nell'ambiente di produzione. In questo modo si garantisce di concedere solo le autorizzazioni necessarie ai carichi di lavoro. Per ulteriori informazioni sulla generazione delle policy, consulta IAM Access Analyzer policy generation.

Esaminare e rimuovere regolarmente utenti, ruoli, autorizzazioni, criteri e credenziali inutilizzati

Potresti avere utenti, ruoli, autorizzazioni, policy o credenziali IAM che non servono più nel tuo Account AWS. IAM fornisce le ultime informazioni di accesso per aiutarti a identificare gli utenti, i ruoli, le autorizzazioni, le policy e le credenziali che non ti servono più in modo da poterli rimuovere. In questo modo puoi ridurre il numero di utenti, ruoli, autorizzazioni, criteri e credenziali da monitorare. È possibile utilizzare queste informazioni per perfezionare le policy IAM e aderire meglio al principio del privilegio minimo. Per ulteriori informazioni, consulta Perfezionamento delle autorizzazioni per AWS l'utilizzo delle informazioni dell'ultimo accesso.

Condizioni d'uso nelle policy IAM per limitare ulteriormente l'accesso

È possibile specificare le condizioni che stabiliscono che una dichiarazione di policy è attiva. In questo modo, è possibile concedere l'accesso ad azioni e risorse, ma solo se la richiesta di accesso soddisfa condizioni specifiche. Ad esempio, è possibile scrivere una condizione politica per specificare che tutte le richieste devono essere inviate utilizzando SSL. È inoltre possibile utilizzare le condizioni per concedere l'accesso alle azioni di servizio, ma solo se vengono utilizzate tramite uno specifico Servizio AWS, ad esempio AWS CloudFormation. Per ulteriori informazioni, consulta Elementi delle policy JSON IAM: Condition.

Verifica dell'accesso multi-account e pubblico alle risorse con IAM Access Analyzer

Prima di concedere le autorizzazioni per l'accesso pubblico o su più account AWS, ti consigliamo di verificare se tale accesso è richiesto. Puoi utilizzare IAM Access Analyzer per visualizzare in anteprima e analizzare l'accesso multi-account e pubblico per i tipi di risorse supportati. Puoi farlo esaminando i risultati generati da IAM Access Analyzer. Questi risultati consentono di verificare che i controlli di accesso alle risorse garantiscano l'accesso previsto. Inoltre, quando aggiorni le autorizzazioni pubbliche e multi-account, puoi verificare l'effetto delle modifiche prima di distribuire nuovi controlli di accesso alle tue risorse. Inoltre, IAM Access Analyzer monitora continuamente i tipi di risorse supportati e genera un risultato per le risorse che consentono l'accesso multi-account o pubblico. Per ulteriori informazioni, consulta Anteprima dell'accesso con API IAM Access Analyzer.

Usa IAM Access Analyzer per convalidare le tue policy IAM e garantire autorizzazioni sicure e funzionali

Convalida le policy che crei per assicurarti che aderiscano al Linguaggio policy IAM (JSON) e best practice di IAM. È possibile convalidare le policy utilizzando la validazione delle policy di IAM Access Analyzer. IAM Access Analyzer fornisce oltre 100 controlli delle policy e consigli utili per creare policy sicure e funzionali. Durante la creazione di nuove policy o la modifica di policy esistenti nella console, IAM Access Analyzer fornisce suggerimenti per aiutarti a perfezionare e convalidare le policy prima di salvarle. Inoltre, consigliamo di rivedere e convalidare tutte le policy esistenti. Per ulteriori informazioni, consulta Convalida delle policy per IAM Access Analyzer. Per ulteriori informazioni sui controlli delle policy di IAM Access Analyzer, consulta Documentazione di riferimento sui controlli delle policy di IAM Access Analyzer.

Stabilisci guardrail delle autorizzazioni su più account

Man mano che ridimensioni i carichi di lavoro, separali utilizzando più account gestiti con. AWS Organizations Ti consigliamo di utilizzare le Policy di controllo dei servizi(SCP) di Organizations per stabilire i guardrail delle autorizzazioni per controllare l'accesso per tutti gli utenti e i ruoli IAM nei tuoi account. Gli SCP sono un tipo di politica organizzativa che è possibile utilizzare per gestire le autorizzazioni all'interno dell'organizzazione a livello di AWS organizzazione, unità organizzativa o account. I guardrail delle autorizzazioni stabilite dall'utente si applicano a tutti gli utenti e ai ruoli degli account coperti. Tuttavia, le SCP da sole non sono sufficienti a concedere le autorizzazioni agli account nella tua organizzazione. Per fare questo, l'amministratore deve comunque collegare policy basate su identità o policy basate su risorse agli utenti o ai ruoli IAM o alle risorse degli account. Per ulteriori informazioni, consulta AWS Organizations, account e guardrail IAM.

Utilizzare i limiti delle autorizzazioni per delegare la gestione delle autorizzazioni all'interno di un account

In alcuni scenari, è possibile che tu intenda delegare la gestione delle autorizzazioni all'interno di un account ad altri. Ad esempio, potresti consentire agli sviluppatori di creare e gestire ruoli per i loro carichi di lavoro. Quando deleghi le autorizzazioni ad altri, usa Limiti delle autorizzazioni per impostare le autorizzazioni massime delegate. Un limite delle autorizzazioni è una funzione avanzata per l'utilizzo di una policy gestita per impostare il numero massimo di autorizzazioni che una policy basata su identità può concedere a un ruolo IAM. Il limite delle autorizzazioni non concedere l'accesso di per sé. Per ulteriori informazioni, consulta Limiti delle autorizzazioni per le entità IAM.