Tutorial IAM: Utilizzo dei tag di sessione SAML per ABAC - 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à.

Tutorial IAM: Utilizzo dei tag di sessione SAML per ABAC

Il controllo dell'accesso basato su attributi (ABAC) è una strategia di autorizzazione che definisce le autorizzazioni in base agli attributi. In AWS, questi attributi sono chiamati tag. Puoi allegare tag alle risorse IAM, incluse le entità IAM (utenti o ruoli) e alle AWS risorse. Quando le entità vengono utilizzate per effettuare richieste a AWS, diventano principali e tali entità includono i tag.

È inoltre possibile passare i tag di sessione quando si assume un ruolo o si federa un utente. È quindi possibile definire policy che utilizzano le chiavi condizionali sui tag per concedere autorizzazioni alle entità sulla base dei relativi tag. Quando si utilizzano i tag per controllare l'accesso alle risorse AWS , si consente ai team e alle risorse di crescere con la necessità di un minor numero di modifiche alle policy AWS . Le politiche ABAC sono più flessibili delle AWS politiche tradizionali, che richiedono di elencare ogni singola risorsa. Per ulteriori informazioni su ABAC e i suoi vantaggi rispetto alle policy tradizionali, consulta A cosa serve ABAC? AWS.

Se, per gestire le identità degli utenti aziendali, l'azienda utilizza un provider di identità basato su SAML (IdP) è possibile utilizzare gli attributi SAML per il controllo degli accessi AWS a granularità fine. Gli attributi possono includere identificatori del centro di costo, indirizzi e-mail degli utenti, reparti di appartenenza e assegnazioni di progetto. Quando si passano questi attributi come tag di sessione, è quindi possibile controllare l'accesso ad AWS in base a tali tag di sessione.

Per completare l'esercitazione su ABAC passando gli attributi SAML all'entità sessione, completare le attività descritte in Tutorial IAM: definisci le autorizzazioni per accedere alle AWS risorse in base ai tag, con le modifiche incluse in questa sezione.

Prerequisiti

Per eseguire la procedura che prevede l'utilizzo dei tag di sessione SAML per ABAC, è necessario disporre preventivamente quanto segue:

  • Accesso a un IdP basato su SAML in cui è possibile creare utenti di test con attributi specifici.

  • La possibilità di effettuare l'accesso come utente con autorizzazioni di amministratore.

  • Creazione e modifica di utenti, ruoli e policy IAM nella AWS Management Console. Tuttavia, se hai bisogno di aiuto per ricordare un processo di gestione IAM, il tutorial ABAC fornisce collegamenti in cui puoi visualizzare le istruzioni. step-by-step

  • Completa la configurazione di un IdP basato su SAML in IAM. Per visualizzare maggiori dettagli e i collegamenti alla documentazione IAM dettagliata, consulta Passaggio dei tag di sessione tramite SAML AssumeRoleWith.

Fase 1: creazione degli utenti di test

Seguire le istruzioni in Fase 1: creazione degli utenti di test. Poiché le identità sono definite dal provider, non è necessario aggiungere gli utenti IAM per i propri dipendenti.

Fase 2: creazione della policy ABAC

Per creare la policy gestita specificata in IAM, seguire le istruzioni riportate in Fase 2: creazione della policy ABAC.

Fase 3: creazione e configurazione del ruolo SAML

Quando utilizzi il tutorial ABAC per SAML, devi eseguire passaggi aggiuntivi per creare il ruolo, configurare l'IdP SAML e abilitare l'accesso. AWS Management Console Per ulteriori informazioni, consulta Fase 3: creazione di ruoli.

Fase 3A: creazione del ruolo SAML

Creare un singolo ruolo in relazione di trust con il provider di identità SAML e l'utente test-session-tags creato nel passaggio 1. L'esercitazione ABAC utilizza ruoli separati con diversi tag di ruolo. Poiché si stanno passando i tag di sessione dal proprio IdP SAML, c'è bisogno di un solo ruolo. Per informazioni su come creare un ruolo basato su SAML, consulta Creare un ruolo per la federazione SAML 2.0 (console).

Denomina il ruolo access-session-tags. Collegare la policy di autorizzazione access-same-project-team al ruolo. Modificare la policy di trust al fine di utilizzare la policy riportata di seguito. Per istruzioni dettagliate su come modificare la relazione di trust di un ruolo, consulta Modifica di un ruolo (console).

La seguente policy di trust del ruolo consente al provider di identità SAML e all'utente test-session-tags di assumere il ruolo. Al momento dell'assunzione del ruolo, è necessario passare i tre tag di sessione specificati. L'operazione sts:TagSession è necessaria per consentire il passaggio dei tag di sessione.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSamlIdentityAssumeRole", "Effect": "Allow", "Action": [ "sts:AssumeRoleWithSAML", "sts:TagSession" ], "Principal": {"Federated":"arn:aws:iam::123456789012:saml-provider/ExampleCorpProvider"}, "Condition": { "StringLike": { "aws:RequestTag/cost-center": "*", "aws:RequestTag/access-project": "*", "aws:RequestTag/access-team": [ "eng", "qas" ] }, "StringEquals": {"SAML:aud": "https://signin.aws.amazon.com/saml"} } } ] }

La AllowSamlIdentityAssumeRole dichiarazione consente ai membri dei team di ingegneria e controllo qualità di assumere questo ruolo quando si uniscono all'Example Corporation AWS IdP. Il provider SAML ExampleCorpProvider è definito in IAM. L'amministratore ha già impostato l'asserzione SAML per passare i tre tag di sessione richiesti. L'asserzione può passare tag aggiuntivi, ma questi tre devono essere presenti. Gli attributi dell'identità possono presentare qualsiasi valore per i tag access-project e cost-center. Tuttavia, il valore dell'attributo access-team deve corrispondere a eng o qas a indicare che l'identità corrisponde al team di Engineering o di Quality Assurance.

Passaggio 3B: configurazione dell'IdP SAML

Configurare l'IdP SAML affinché passi gli attributi cost-center, access-project e access-team come tag di sessione. Per ulteriori informazioni, consulta Passaggio dei tag di sessione tramite SAML AssumeRoleWith.

Per passare questi attributi come tag di sessione, includere i seguenti elementi nell'asserzione SAML.

<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:cost-center"> <AttributeValue>987654</AttributeValue> </Attribute> <Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:access-project"> <AttributeValue>peg</AttributeValue> </Attribute> <Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:access-team"> <AttributeValue>eng</AttributeValue> </Attribute>

Fase 3C: attivazione dell'accesso alla console

Abilita l'accesso alla console per gli utenti SAML federati. Per ulteriori informazioni, consulta Consentire agli utenti federati SAML 2.0 di accedere a AWS Management Console.

Fase 4: verifica della creazione di segreti

Unisciti all'utilizzo del ruolo. AWS Management Console access-session-tags Per ulteriori informazioni, consulta Consentire agli utenti federati SAML 2.0 di accedere a AWS Management Console. Quindi seguire le istruzioni in Fase 4: verifica della creazione di segreti per creare segreti. Utilizzare diverse identità SAML con attributi da abbinare ai tag indicati nell'esercitazione ABAC. Per ulteriori informazioni, consulta Fase 4: verifica della creazione di segreti.

Fase 5: verifica della visualizzazione dei segreti

Seguire le istruzioni descritte in Fase 5: verifica della visualizzazione dei segreti per visualizzare i segreti creati nel passaggio precedente. Utilizzare diverse identità SAML con attributi da abbinare ai tag indicati nell'esercitazione ABAC.

Fase 6: verifica della scalabilità

Seguire le istruzioni descritte in Fase 6: verifica della scalabilità per testare la scalabilità. Eseguire questa operazione aggiungendo una nuova identità nel proprio IdP basato su SAML con i seguenti attributi:

  • cost-center = 101010

  • access-project = cen

  • access-team = eng

Fase 7: verifica dell'aggiornamento e dell'eliminazione dei segreti

Seguire le istruzioni descritte in Fase 7: verifica dell'aggiornamento e dell'eliminazione dei segreti per aggiornare ed eliminare i segreti. Utilizzare diverse identità SAML con attributi da abbinare ai tag indicati nell'esercitazione ABAC.

Importante

Eliminare tutti i segreti creati per evitare addebiti in fattura. Per informazioni sui prezzi di Secrets Manager, consulta Prezzi di AWS Secrets Manager.

Riepilogo

Sono stati completati tutti i passaggi necessari per utilizzare i tag di sessione SAML e i tag delle risorse per la gestione delle autorizzazioni.

Nota

L'utente ha aggiunto policy che consentono operazioni solo in condizioni specifiche. Se si applica un criterio diverso agli utenti o ai ruoli con autorizzazioni più ampie, è possibile che le azioni non siano limitate a richiedere l'assegnazione di tag. Ad esempio, se concedi a un utente autorizzazioni amministrative complete utilizzando la policy AdministratorAccess AWS gestita, queste politiche non limiteranno tale accesso. Per ulteriori informazioni su come vengono determinate le autorizzazioni quando sono coinvolte più policy, vedere Determinazione se una richiesta è consentita o rifiutata in un account.