SEC02-BP06 Impiego dei gruppi di utenti e degli attributi - Framework AWSWell-Architected

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 o la sede, 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.

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.  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 WebAppDeveloper gruppo può avere una policy allegata per la configurazione di un servizio come Amazon CloudFront all'interno di un account di sviluppo. Un gruppo AutomationDeveloper può disporre di alcune autorizzazioni CloudFront in comune con il gruppo WebAppDeveloper. È possibile inserire queste autorizzazioni in una policy separata e associarle a entrambi i gruppi, anziché far appartenere a un gruppo CloudFrontAccess gli utenti di entrambe le funzioni.

Oltre ai gruppi, è possibile utilizzare gli attributi per un ulteriore ambito dell'accesso. Ad esempio, potresti avere un attributo Project che consente agli utenti del tuo gruppo WebAppDeveloper di stabilire l'accesso a 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 in SEC02-BP04 Fai affidamento su un gestore dell'identità digitale centralizzato, puoi determinare se occorre definire gruppi e attributi all'interno del tuo 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.  

    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. Definizione degli 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 utilizzando il nome dell'attributo https://aws.amazon.com/SAML/Attributes/PrincipalTag.

    2. In caso di definizione all'interno del Centro identità IAM, abilita la funzionalità di controllo degli accessi basato su attributi (ABAC) e definisci gli attributi come desideri.

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

Risorse

Best practice correlate:

Documenti correlati:

Video correlati: