

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
<a name="tutorial_abac-saml"></a>

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](id_session-tags.md) 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 [Definire le autorizzazioni basate su attributi con l'autorizzazione ABAC](introduction_attribute-based-access-control.md).

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](tutorial_attribute-based-access-control.md) 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](tutorial_attribute-based-access-control.md), con le modifiche incluse in questa sezione.

## Prerequisiti
<a name="tutorial_abac-saml-prerequisites"></a>

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 Console di gestione AWS. 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](id_session-tags.md#id_session-tags_adding-assume-role-saml).

## Fase 1: creazione degli utenti di test
<a name="tutorial_abac-saml-step1"></a>

Seguire le istruzioni in [Fase 1: creazione degli utenti di test](tutorial_attribute-based-access-control.md#tutorial_abac_step1). Poiché le identità sono definite dal provider, non è necessario aggiungere gli utenti IAM per i propri dipendenti. 

## Fase 2: creazione della policy ABAC
<a name="tutorial_abac-saml-step2"></a>

Per creare la policy gestita specificata in IAM, seguire le istruzioni riportate in [Fase 2: creazione della policy ABAC](tutorial_attribute-based-access-control.md#tutorial_abac_step2). 

## Fase 3: creazione e configurazione del ruolo SAML
<a name="tutorial_abac-saml-step3"></a>

Quando utilizzi il tutorial ABAC per SAML, devi eseguire passaggi aggiuntivi per creare il ruolo, configurare l'IdP SAML e abilitare l'accesso. Console di gestione AWS Per ulteriori informazioni, consulta [Fase 3: creazione di ruoli](tutorial_attribute-based-access-control.md#tutorial_abac_step3).

### Fase 3A: creazione del ruolo SAML
<a name="tutorial_abac-saml-step3a"></a>

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 una federazione SAML 2.0 (console)](id_roles_create_for-idp_saml.md). 

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 [Aggiornamento di una policy di attendibilità del ruolo](id_roles_update-role-trust-policy.md).

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.

------
#### [ JSON ]

****  

```
{
    "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
<a name="tutorial_abac-saml-step3b"></a>

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](id_session-tags.md#id_session-tags_adding-assume-role-saml).

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
<a name="tutorial_abac-saml-step3b"></a>

Abilita l'accesso alla console per gli utenti SAML federati. Per ulteriori informazioni, consulta [Consentire ai principali federati SAML 2.0 di accedere a Console di gestione AWS](id_roles_providers_enable-console-saml.md).

## Fase 4: verifica della creazione di segreti
<a name="tutorial_abac-saml-step4"></a>

Unisciti all'utilizzo del ruolo. Console di gestione AWS `access-session-tags` Per ulteriori informazioni, consulta [Consentire ai principali federati SAML 2.0 di accedere a Console di gestione AWS](id_roles_providers_enable-console-saml.md). Quindi seguire le istruzioni in [Fase 4: verifica della creazione di segreti](tutorial_attribute-based-access-control.md#tutorial_abac_step4) 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](tutorial_attribute-based-access-control.md#tutorial_abac_step4).

## Fase 5: verifica della visualizzazione dei segreti
<a name="tutorial_abac-saml-step5"></a>

Seguire le istruzioni descritte in [Fase 5: verifica della visualizzazione dei segreti](tutorial_attribute-based-access-control.md#tutorial_abac_step5) 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à
<a name="tutorial_abac-saml-step6"></a>

Seguire le istruzioni descritte in [Fase 6: verifica della scalabilità](tutorial_attribute-based-access-control.md#tutorial_abac_step6) 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
<a name="tutorial_abac-saml-step7"></a>

Seguire le istruzioni descritte in [Fase 7: verifica dell'aggiornamento e dell'eliminazione dei segreti](tutorial_attribute-based-access-control.md#tutorial_abac_step7) 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 Gestione dei segreti AWS](https://aws.amazon.com/secrets-manager/pricing/).

## Riepilogo
<a name="tutorial-abac-saml-summary"></a>

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 [In che modo la logica del codice di AWS applicazione valuta le richieste di consentire o negare l'accesso](reference_policies_evaluation-logic_policy-eval-denyallow.md).