SEC 2: Come si gestisce l'autenticazione per persone e macchine?

Ci sono due tipi di identità da gestire quando ci si avvicina all'utilizzo di carichi di lavoro AWS sicuri. Comprendere il tipo di identità necessaria per gestire e concedere l'accesso ti aiuta a garantire che le identità corrette abbiano accesso alle risorse giuste nelle condizioni adeguate. Identità umane: amministratori, sviluppatori, operatori e utenti finali necessitano di un'identità per accedere agli ambienti e alle applicazioni AWS. Si tratta di membri dell'organizzazione o utenti esterni con cui collabori e che interagiscono con le tue risorse AWS tramite browser Web, applicazioni client o strumenti a riga di comando interattivi. Identità di macchine: le applicazioni di servizio, gli strumenti operativi e i carichi di lavoro necessitano di un'identità per effettuare richieste ai servizi AWS, ad esempio per leggere i dati. Queste identità includono macchine in esecuzione nell'ambiente AWS, ad esempio istanze Amazon EC2 o funzioni AWS Lambda. Puoi gestire le identità di macchine anche per soggetti esterni che necessitano dell'accesso. Inoltre, possono esistere macchine al di fuori di AWS che hanno bisogno di accedere al tuo ambiente AWS.

Risorse

Mastering identity at every layer of the cake
Managing user permissions at scale with AWS SSO
Best Practices for Managing, Retrieving, and Rotating Secrets at Scale
IAM Best Practices
The AWS Account Root User
Getting Started with AWS Secrets Manager
Temporary Security Credentials
Identity Providers and Federation
Security Partner Solutions: Access and Access Control

Best practice:

Piano di miglioramento

Utilizza meccanismi di accesso efficaci

  • Creazione di una policy IAM per applicare l'accesso MFA: Crea una policy IAM gestita del cliente che vieta tutte le azioni IAM eccetto quelle che consentono a un utente di assumere ruoli, cambiare le proprie credenziali e gestire i dispositivi MFA sulla pagina My Security Credentials (Le mie credenziali di sicurezza).
    https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_users-self-manage-mfa-and-creds.html#tutorial_mfa_step1
  • Abilitazione di MFA nel provider di identità: Abilita MFA nel provider di identità o nel servizio di accesso individuale, ad esempio AWS Single Sign-On (SSO), che utilizzi.
    https://aws.amazon.com/iam/details/mfa/
  • Configurazione di una policy per password sicura: Configura una policy per password sicura in IAM e nei sistemi di identità federata per contribuire alla protezione da attacchi brute force.
    http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_passwords_account-policy.html
  • Rotazione regolare delle credenziali: Assicurati che gli amministratori del carico di lavoro modifichino le password e le chiavi di accesso (se utilizzate) con cadenza regolare.
    Rotate credentials regularly
  • Utilizza credenziali temporanee

  • Implementa policy con privilegi minimi: Assegna policy di accesso con privilegi minimi a gruppi e ruoli IAM in modo da rispecchiare il ruolo o la funzione dell'utente che hai definito.
    Grant least privilege
  • Rimozione delle autorizzazioni superflue: Implementa il privilegio minimo rimuovendo le autorizzazioni superflue.
    Reducing policy scope by viewing user activity
    View role access
  • Possibilità di utilizzare limiti per le autorizzazioni: Un limite delle autorizzazioni è una caratteristica avanzata per utilizzare una policy gestita che imposta il numero massimo di autorizzazioni che una policy basata su identità può concedere a un'entità IAM. Il limite delle autorizzazioni di un'entità le permette di eseguire solo le operazioni consentite dalle policy basate su identità e dai limiti delle autorizzazioni.
    Lab: IAM permissions boundaries delegating role creation
  • Possibilità di utilizzare tag delle risorse per le autorizzazioni: Puoi utilizzare i tag per controllare l'accesso alle risorse AWS che supportano il tagging. Puoi anche applicare tag a utenti e ruoli IAM per controllare a cosa possono accedere.
    Lab: IAM tag based access control for EC2
    Attribute-based access control (ABAC)
  • Archivia e utilizza i segreti in modo sicuro

  • Utilizza AWS Secrets Manager: AWS Secrets Manager è un servizio AWS che ti facilita il compito di gestire i segreti. I segreti possono essere credenziali di database, password, chiavi API di terze parti e persino testo arbitrario.
    AWS Secrets Manager
  • Fai affidamento su un provider di identità centralizzato

  • Centralizzazione dell'accesso amministrativo: Crea un'entità provider di identità IAM per stabilire una relazione di trust tra l'account AWS e il provider di identità (IdP). IAM supporta IdP compatibili con OpenID Connect (OIDC) o SAML 2.0 (Security Assertion Markup Language 2.0).
    Identity Providers and Federation
  • Centralizzazione dell'accesso alle applicazioni: Considera l'adozione di Amazon Cognito per centralizzare l'accesso alle applicazioni. Si tratta di un servizio che consente di aggiungere il controllo di registrazione e accessi alle tue app Web e per dispositivi mobili in modo rapido e semplice. Amazon Cognito ricalibra le risorse per milioni di utenti e supporta l'accesso con provider di identità social, come Facebook, Google e Amazon, e provider di identità aziendali attraverso SAML 2.0.
    Amazon Cognito
  • Rimozione dei vecchi utenti e gruppi IAM: Dopo avere cominciato a utilizzare un provider di identità (IdP), rimuovi gli utenti e i gruppi IAM non più necessari.
    Finding unused credentials
    Deleting an IAM group
  • Verifica e ruota periodicamente le credenziali

  • Verifica regolare delle credenziali: Utilizza i report delle credenziali e IAM Access Analyzer per eseguire l'audit di credenziali e autorizzazioni IAM.
    IAM Access Analyzer
    Getting credential report
    Lab: Automated IAM user cleanup
  • Utilizzo di livelli di accesso per rivedere le autorizzazioni IAM: Per migliorare la sicurezza dell'account AWS, rivedi e monitora regolarmente ciascuna delle policy IAM, assicurandoti che concedano il privilegio minimo necessario per eseguire solo le operazioni indispensabili.
    Use access levels to review IAM permissions
  • Possibilità di automatizzare la creazione e gli aggiornamenti delle risorse IAM: AWS CloudFormation può essere utilizzato per automatizzare la distribuzione di risorse IAM, inclusi ruoli e policy, per ridurre gli errori umani, perché i modelli possono essere verificati e controllati a livello di versione.
    Lab: Automated deployment of IAM groups and roles
  • Sfrutta i gruppi di utenti e gli attributi

  • Se utilizzi AWS Single Sign-On (SSO), configura i gruppi: AWS SSO offre la possibilità di configurare gruppi di utenti e di assegnare ai gruppi il livello di autorizzazione desiderato.
    AWS Single Sign-On - Manage Identities
  • Scopri il controllo degli accessi basato su attributi (ABAC): Il controllo degli accessi basato su attributi (ABAC) è una strategia di autorizzazione che definisce i permessi in base agli attributi.
    What Is ABAC for AWS?
    Lab: IAM Tag Based Access Control for EC2