SEC02-BP06 Impiego dei gruppi di utenti e degli attributi - Pilastro della sicurezza

SEC02-BP06 Impiego dei gruppi di utenti e degli attributi

Definire le autorizzazioni in base a gruppi di utenti e attributi aiuta a ridurre numero e complessità delle policy, semplificando il raggiungimento del principio del privilegio minimo. Puoi usare i gruppi di utenti per gestire le autorizzazioni di molte persone in un'unica posizione, in base alla funzione svolte nell'organizzazione. Gli attributi, come il reparto, il progetto o la posizione, possono fornire un ulteriore livello di portata dei permessi quando le persone svolgono una funzione simile ma per sottoinsiemi diversi di risorse.

Risultato desiderato: puoi applicare modifiche alle autorizzazioni in base alla funzione per tutti gli utenti che la eseguono. L'appartenenza al gruppo e gli attributi regolano le autorizzazioni degli utenti, riducendo la necessità di gestire le autorizzazioni a livello di singolo utente. I gruppi e gli attributi definiti nel gestore dell'identità digitale vengono propagati automaticamente agli ambienti AWS.

Anti-pattern comuni:

  • Gestione delle autorizzazioni per singoli utenti e duplicazione tra più utenti.

  • Definizione dei gruppi a un livello troppo alto, concessione di autorizzazioni troppo estese.

  • Definizione di gruppi a un livello troppo granulare, che crea duplicazioni e confusione sull'appartenenza.

  • Utilizzo di gruppi con autorizzazioni duplicate su sottoinsiemi di risorse quando è possibile utilizzare invece gli attributi.

  • Nessuna gestione di gruppi, attributi e appartenenze attraverso un gestore dell'identità digitale standardizzato e integrato con gli ambienti AWS.

  • Utilizzo della concatenazione dei ruoli quando si utilizzano le sessioni di Centro identità AWS IAM

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

Guida all'implementazione

Le autorizzazioni AWS sono definite nei documenti denominati policy, associati a un principale, ad esempio un utente, gruppo, ruolo o risorsa. Puoi scalare la gestione delle autorizzazioni organizzando le assegnazioni delle autorizzazioni (gruppo, autorizzazioni, account) in base alla funzione lavorativa, al carico di lavoro e all'ambiente SDLC. Per la forza lavoro, ciò consente di definire i gruppi in base alla funzione svolta dagli utenti per l'organizzazione, anziché in base alle risorse a cui si accede. Ad esempio, un gruppo WebAppDeveloper può avere una policy collegata per la configurazione di servizi come Amazon CloudFront all'interno di un account di sviluppo. Un gruppo AutomationDeveloper può avere alcune autorizzazioni che si sovrappongono a quelle del gruppo WebAppDeveloper. Queste autorizzazioni comuni possono essere acquisite in una policy separata e associate a entrambi i gruppi, anziché avere utenti di entrambe le funzioni che appartengono a un gruppo CloudFrontAccess.

Oltre ai gruppi, è possibile utilizzare gli attributi per un ulteriore ambito dell'accesso. Ad esempio, è possibile avere un attributo Project per gli utenti del gruppo WebAppDeveloper, per limitare l'accesso alle risorse specifiche del loro progetto. L'uso di questa tecnica elimina la necessità di avere gruppi diversi per gli sviluppatori di applicazioni che lavorano su progetti diversi, se le loro autorizzazioni sono comunque le stesse. Il modo in cui si fa riferimento agli attributi nelle policy di autorizzazione si basa sulla loro origine, indipendentemente dal fatto che siano definiti come parte del protocollo di federazione (come SAML, OIDC o SCIM), come asserzioni SAML personalizzate o impostati all'interno del Centro identità IAM.

Passaggi dell'implementazione

  1. Stabilisci dove definire gruppi e attributi:

    1. Seguendo le indicazioni riportate inSEC02-BP04 Fai affidamento su un gestore dell'identità digitale centralizzato, puoi determinare se occorre definire gruppi e attributi all'interno del gestore dell'identità digitale, all'interno del Centro identità IAM o utilizzare i gruppi di utenti IAM in un account specifico.

  2. Definisci i gruppi:

    1. Determina i tuoi gruppi in base alla funzione e all'ambito di accesso richiesti. Valuta se utilizzare una struttura gerarchica o di convenzioni di denominazione per organizzare i gruppi in modo efficace.

    2. Se procedi alla definizione all'interno del Centro identità IAM, crea i gruppi e associa il livello di accesso desiderato utilizzando i set di autorizzazioni.

    3. Se definisci all'interno di un gestore dell'identità digitale esterno, determina se il gestore supporta il protocollo SCIM e valuta la possibilità di abilitare il provisioning automatico all'interno del Centro identità IAM. Questa funzionalità sincronizza la creazione, l'appartenenza e l'eliminazione di gruppi tra il tuo gestore e il Centro identità IAM.

  3. Definisci gli attributi:

    1. Se utilizzi un gestore dell'identità digitale esterno, entrambi i protocolli SCIM e SAML 2.0 forniscono determinati attributi per impostazione predefinita. È possibile definire attributi aggiuntivi e trasferirli mediante le asserzioni SAML con il nome dell'attributo https://aws.amazon.com/SAML/Attributes/PrincipalTag. Consulta la documentazione del gestore dell'identità digitale per le istruzioni sulla definizione e la configurazione di attributi personalizzati.

    2. Se definisci i ruoli all'interno di Centro identità IAM, abilita la funzionalità di controllo degli accessi basato su attributi (ABAC) e definisci gli attributi come desiderato. Considera gli attributi che si allineano alla struttura dell'organizzazione o alla strategia di tagging delle risorse.

Se richiedi il concatenamento dei ruoli IAM da ruoli IAM assunti tramite Centro identità IAM, i valori come source-identity e principal-tags non si propagano. Per ulteriori dettagli, consulta Enable and configure attributes for access control.

  1. Autorizzazioni di ambito basate su gruppi e attributi:

    1. Prendi in considerazione la possibilità di includere nelle tue policy di autorizzazione condizioni che confrontino gli attributi del tuo principale con gli attributi delle risorse a cui si accede. Ad esempio, puoi definire una condizione che consenta l'accesso a una risorsa solo se il valore di una chiave di condizione PrincipalTag corrisponde a quello di una chiave ResourceTag con lo stesso nome.

    2. Per la definizione delle policy ABAC, segui le indicazioni contenute nelle best practice e negli esempi relativi alle autorizzazioni ABAC.

    3. Rivedi e aggiorna regolarmente la struttura dei gruppi e degli attributi in base all'evoluzione delle esigenze dell'organizzazione per garantire una gestione ottimale delle autorizzazioni.

Risorse

Best practice correlate:

Documenti correlati:

Video correlati: