Definizione delle autorizzazioni in base agli attributi con ABAC autorizzazione - 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à.

Definizione delle autorizzazioni in base agli attributi con ABAC autorizzazione

Il controllo degli accessi basato sugli attributi (ABAC) è una strategia di autorizzazione che definisce le autorizzazioni in base agli attributi. AWS chiama questi attributi tag. È possibile allegare tag alle IAM risorse, incluse IAM le entità (IAMutenti o IAM ruoli) e alle AWS risorse. È possibile creare una singola ABAC politica o un piccolo insieme di politiche per IAM i responsabili. È possibile progettare ABAC politiche che consentano operazioni quando il tag del principale corrisponde al tag della risorsa. ABACè un sistema di attributi che fornisce sia un contesto utente elevato che un controllo granulare degli accessi. Poiché ABAC è basato sugli attributi, può eseguire autorizzazioni dinamiche per dati o applicazioni che concedono o revocano l'accesso in tempo reale. ABACè utile in ambienti scalabili e in situazioni in cui la gestione delle politiche di identità o delle risorse è diventata complessa.

Ad esempio, è possibile creare tre IAM ruoli con la chiave access-project tag. Imposta il valore del tag del primo IAM ruolo suHeart, il secondo su Star e il terzo suLightning. È quindi possibile utilizzare un'unica politica che consenta l'accesso quando il IAM ruolo e la AWS risorsa hanno il valore del tagaccess-project. Per un tutorial dettagliato che dimostra come utilizzare ABAC in AWS, vediIAMtutorial: Definisci le autorizzazioni per accedere alle AWS risorse in base ai tag. Per maggiori informazioni sui servizi che supportanoABAC, consultaAWS servizi che funzionano con IAM.

Questo diagramma illustra che i tag applicati a un principale devono corrispondere ai tag applicati a una risorsa affinché all'utente vengano concesse le autorizzazioni per la risorsa. I tag devono essere applicati a gruppi di utenti, gruppi di risorse, singoli utenti e singole risorse.

ABACConfronto con il RBAC modello tradizionale

Il modello di autorizzazione tradizionale utilizzato in IAM è il controllo degli accessi basato sui ruoli ()RBAC. RBACdefinisce le autorizzazioni in base alla funzione lavorativa o al ruolo di una persona, che è distinto da un ruolo. IAM IAMinclude politiche gestite per le funzioni lavorative che allineano le autorizzazioni a una funzione lavorativa in un modello. RBAC

InIAM, si implementano RBAC creando politiche diverse per diverse funzioni lavorative. Le politiche vengono quindi associate alle identità (IAMutenti, IAM gruppi o IAM ruoli). Come best practice si suggerisce di concedere le autorizzazioni minime necessarie per la mansione lavorativa. Ciò si traduce in un accesso con privilegi minimi. Ogni policy relativa alla funzione lavorativa elenca le risorse specifiche a cui possono accedere le identità assegnate a tale policy. Lo svantaggio dell'utilizzo del RBAC modello tradizionale è che quando l'utente o i suoi utenti aggiungono nuove risorse all'ambiente, è necessario aggiornare le politiche per consentire l'accesso a tali risorse.

Ad esempio, si supponga di disporre di tre progetti denominati Heart, Star e Lightning, su cui lavorano i dipendenti. Crei un IAM ruolo per ogni progetto. Quindi alleghi delle politiche a ciascun IAM ruolo per definire le risorse a cui può accedere chiunque sia autorizzato ad assumere il IAM ruolo. Se un dipendente cambia lavoro all'interno dell'azienda, gli si assegna un IAM ruolo diverso. È possibile assegnare persone o programmi a più di un IAM ruolo. Tuttavia, il Star progetto potrebbe richiedere risorse aggiuntive, come un nuovo EC2 container Amazon. In tal caso, devi aggiornare la politica allegata al Star IAM ruolo per specificare la nuova risorsa del contenitore. In caso contrario, i membri del progetto Star non potranno accedere al nuovo container.

Questo diagramma illustra che il controllo degli accessi basato sui ruoli richiede che a ciascuna identità venga assegnata una politica specifica basata sulla funzione lavorativa per accedere a risorse diverse.
ABACoffre i seguenti vantaggi rispetto al modello tradizionale: RBAC
  • ABACle autorizzazioni si adattano all'innovazione. Non è più necessario che un amministratore aggiorni le policy esistenti per consentire l'accesso a nuove risorse. Ad esempio, supponiamo di aver progettato la ABAC strategia con il access-project tag. Uno sviluppatore utilizza il IAM ruolo con il Heart tag access-project =. Quando le persone coinvolte nel Heart progetto necessitano di EC2 risorse Amazon aggiuntive, lo sviluppatore può creare nuove EC2 istanze Amazon con il Heart tag access-project =. In questo modo chiunque partecipi al progetto Heart può avviare e arrestare tali istanze perché i rispettivi valori di tag corrispondono.

  • ABACrichiede meno politiche. Poiché non è necessario creare policy diverse per diverse mansioni lavorative, è necessario creare meno policy. Tali policy sono più facili da gestire.

  • In questo modoABAC, i team possono rispondere dinamicamente al cambiamento e alla crescita. Poiché le autorizzazioni per le nuove risorse vengono concesse automaticamente in base agli attributi, non è necessario assegnare manualmente le politiche alle identità. Ad esempio, se la tua azienda supporta già l'utilizzo di Heart and Star ProjectsABAC, è facile aggiungere un nuovo progetto. Lightning Un IAM amministratore crea un nuovo IAM ruolo con il Lightning tag access-project =. Non è necessario modificare la policy per supportare un nuovo progetto. Chiunque disponga delle autorizzazioni necessarie per assumere il IAM ruolo può creare e visualizzare le istanze contrassegnate con access-project =. Lightning Un altro scenario si verifica quando un membro del team passa dal Heart progetto al Lightning progetto. Per fornire ai membri del team l'accesso al Lightning progetto, l'IAMamministratore li assegna a un IAM ruolo diverso. Non è necessario modificare le policy di autorizzazione.

  • Le autorizzazioni granulari sono possibili utilizzando. ABAC Quando si creano le policy, è consigliabile concedere i privilegi minimi. Utilizzando il metodo tradizionaleRBAC, si scrive una politica che consente l'accesso a risorse specifiche. Tuttavia, quando si utilizzaABAC, è possibile consentire azioni su tutte le risorse se il tag della risorsa corrisponde al tag del principale.

  • Usa gli attributi dei dipendenti della tua rubrica aziendale conABAC. Puoi configurare il tuo SAML OIDC provider a cui passare i tag di sessioneIAM. Quando i dipendenti si uniscono AWS, IAM applica i loro attributi al responsabile risultante. È quindi possibile utilizzare ABAC per consentire o negare le autorizzazioni in base a tali attributi.

Per un tutorial dettagliato che mostra come utilizzare ABAC in AWS, consulta. IAMtutorial: Definisci le autorizzazioni per accedere alle AWS risorse in base ai tag