

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

# Politiche di accesso verificato
<a name="auth-policies"></a>

Accesso verificato da AWS le politiche consentono di definire regole per l'accesso alle applicazioni ospitate in AWS. Sono scritte in Cedar, un linguaggio AWS politico. Utilizzando Cedar, è possibile creare politiche che vengono valutate in base ai dati di attendibilità inviati dai provider di fiducia basati sull'identità o sui dispositivi che configuri per l'utilizzo con Verified Access.

[Per informazioni più dettagliate sul linguaggio delle politiche Cedar, consulta la Cedar Reference Guide.](https://docs.cedarpolicy.com/)

Quando [crei un gruppo di accesso verificato](create-verified-access-group.md) o [crei un endpoint di accesso verificato](verified-access-endpoints.md), hai la possibilità di definire la politica di accesso verificato. Puoi creare un gruppo o un endpoint senza definire la politica di accesso verificato, ma tutte le richieste di accesso verranno bloccate finché non definirai una politica. In alternativa, puoi aggiungere o modificare una policy su un gruppo o endpoint di accesso verificato esistente dopo la sua creazione.

**Topics**
+ [Dichiarazioni politiche](auth-policies-policy-statement-struct.md)
+ [Operatori integrati](built-in-policy-operators.md)
+ [Valutazione delle politiche](auth-policies-policy-eval.md)
+ [Cortocircuito logico delle politiche](auth-policies-policy-eval-short-circ.md)
+ [Policy di esempio](trust-data-iam-add-pol.md)
+ [Assistente alle politiche](policy-assistant.md)

# Struttura della dichiarazione sulla politica di accesso verificato
<a name="auth-policies-policy-statement-struct"></a>

La tabella seguente mostra la struttura di una politica di accesso verificato.


| Componente | Sintassi | 
| --- | --- | 
| effetto | `permit \| forbid` | 
| scope | `(principal, action, resource)` | 
| clausola condizionale | <pre>when {<br />    context.policy-reference-name.attribute-name             <br />};</pre>  | 

## Componenti della politica
<a name="auth-policies-policy-components"></a>

Una politica di accesso verificato contiene i seguenti componenti:
+ **Effetto**: `permit` (consentire) o `forbid` (negare) l'accesso.
+ **Ambito**: i principi, le azioni e le risorse a cui si applica l'effetto. È possibile lasciare indefinito l'ambito in Cedar non identificando principi, azioni o risorse specifici. In questo caso, la politica si applica a tutti i possibili principi, azioni e risorse.
+ **Clausola condizionale**: il contesto in cui si applica l'effetto.

**Importante**  
Per Verified Access, le politiche sono espresse integralmente facendo riferimento ai dati attendibili nella clausola condizionale. **L'ambito della politica deve essere sempre mantenuto indefinito**. È quindi possibile specificare l'accesso utilizzando il contesto di identità e fiducia del dispositivo nella clausola condizionale.

## Commenti
<a name="auth-policies-policy-comments"></a>

Puoi includere commenti nelle tue Accesso verificato da AWS politiche. I commenti sono definiti come una riga che inizia `//` e termina con un carattere di nuova riga.

L'esempio seguente mostra i commenti in una politica.

```
// grants access to users in a specific domain using trusted devices
permit(principal, action, resource)
when {
  // the user's email address is in the @example.com domain
  context.idc.user.email.address.contains("@example.com")
  // Jamf thinks the user's computer is low risk or secure.
  && ["LOW", "SECURE"].contains(context.jamf.risk)
};
```

## Clausole multiple
<a name="auth-policies-multiple-clauses"></a>

È possibile utilizzare più di una clausola condizionale in una dichiarazione di politica utilizzando l'operatore. `&&`

```
permit(principal,action,resource)
when{
 context.policy-reference-name.attribute1 &&
 context.policy-reference-name.attribute2
};
```

Per ulteriori esempi, consulta [Esempi di politiche di accesso verificato](trust-data-iam-add-pol.md).

## Personaggi riservati
<a name="auth-policies-semicolon"></a>

L'esempio seguente mostra come scrivere una politica se una proprietà di contesto utilizza un `:` (punto e virgola), che è un carattere riservato nel linguaggio delle politiche.

```
permit(principal, action, resource) 
when {
    context.policy-reference-name["namespace:groups"].contains("finance")
};
```

# Operatori integrati per le politiche di accesso verificato
<a name="built-in-policy-operators"></a>

Quando si crea il contesto di una Accesso verificato da AWS politica utilizzando varie condizioni, come discusso in[Struttura della dichiarazione sulla politica di accesso verificato](auth-policies-policy-statement-struct.md), è possibile utilizzare l'`&&`operatore per aggiungere condizioni aggiuntive. Esistono anche molti altri operatori integrati che è possibile utilizzare per aggiungere ulteriore potenza espressiva alle condizioni della politica. La tabella seguente contiene tutti gli operatori incorporati come riferimento.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/verified-access/latest/ug/built-in-policy-operators.html)

# Valutazione della politica di accesso verificata
<a name="auth-policies-policy-eval"></a>

Un documento politico è un insieme di una o più dichiarazioni politiche (`permit`o `forbid` dichiarazioni). La politica si applica se la clausola condizionale (la `when` dichiarazione) è vera. Affinché un documento di policy consenta l'accesso, deve essere applicata almeno una politica di autorizzazione nel documento e non può essere applicata alcuna politica di divieto. Se non si applica alcuna politica di autorizzazione, si applicano and/or una o più politiche di divieto, il documento di policy nega l'accesso. Se sono stati definiti documenti di policy sia per il gruppo Verified Access che per l'endpoint Verified Access, entrambi i documenti devono consentire l'accesso. Se non è stato definito un documento di policy per l'endpoint Verified Access, è necessario accedere solo alla politica di gruppo Verified Access.

Accesso verificato da AWS convalida la sintassi quando si crea la policy, ma non convalida i dati inseriti nella clausola condizionale.

# Cortocircuito logico della politica di accesso verificato
<a name="auth-policies-policy-eval-short-circ"></a>

Potresti voler scrivere una Accesso verificato da AWS policy che valuti i dati che possono o meno essere presenti in un determinato contesto. Se si fa riferimento ai dati in un contesto che non esiste, Cedar genererà un errore e valuterà la politica per negare l'accesso, indipendentemente dall'intenzione dell'utente. Ad esempio, ciò comporterebbe una negazione, poiché in questo contesto non esistono `fake_provider` e `bogus_key` non esistono.

```
permit(principal, action, resource) when {
  context.fake_provider.bogus_key > 42
};
```

Per evitare questa situazione, è possibile verificare se è presente una chiave utilizzando l'`has`operatore. Se l'`has`operatore restituisce false, l'ulteriore valutazione dell'istruzione concatenata si interrompe e Cedar non produce un errore nel tentativo di fare riferimento a un elemento che non esiste.

```
permit(principal, action, resource) when {
  context.identity.user has "some_key" && context.identity.user.some_key > 42
};
```

Ciò è particolarmente utile quando si specifica una politica che fa riferimento a due diversi fornitori di fiducia.

```
permit(principal, action, resource) when {
  // user is in an allowed group
  context.aws_idc.groups has "c242c5b0-6081-1845-6fa8-6e0d9513c107"
  &&( 
    ( 
      // if CrowdStrike data is present, 
      // permit if CrowdStrike's overall assessment is over 50
      context has "crowdstrike" && context.crowdstrike.assessment.overall > 50
    )
    || 
    (
      // if Jamf data is present,
      // permit if Jamf's risk score is acceptable
      context has "jamf" && ["LOW", "NOT_APPLICABLE", "MEDIUM", "SECURE"].contains(context.jamf.risk) 
    )
  )
};
```

# Esempi di politiche di accesso verificato
<a name="trust-data-iam-add-pol"></a>

Puoi utilizzare le politiche di accesso verificato per concedere l'accesso alle tue applicazioni a utenti e dispositivi specifici.

**Topics**
+ [Esempio 1: concedere l'accesso a un gruppo in IAM Identity Center](#example-policy-iam-identity-center)
+ [Esempio 2: concedere l'accesso a un gruppo in un provider di terze parti](#example-policy-oidc-provider)
+ [Esempio 3: concedere l'accesso utilizzando CrowdStrike](#example-policy-crowdstrike)
+ [Esempio 4: consentire o negare un indirizzo IP specifico](#example-policy-ip-address)

## Esempio 1: concedere l'accesso a un gruppo in IAM Identity Center
<a name="example-policy-iam-identity-center"></a>

Quando si utilizza AWS IAM Identity Center, è meglio fare riferimento ai gruppi utilizzando i loro IDs. Ciò consente di evitare di violare una dichiarazione politica se si modifica il nome del gruppo.

La seguente politica di esempio consente l'accesso solo agli utenti del gruppo specificato con un indirizzo e-mail verificato. L'ID del gruppo èc242c5b0-6081-1845-6fa8-6e0d9513c107.

```
permit(principal,action,resource)
when {
    context.policy-reference-name.groups has "c242c5b0-6081-1845-6fa8-6e0d9513c107"
    && context.policy-reference-name.user.email.verified == true
};
```

La seguente politica di esempio consente l'accesso solo quando l'utente fa parte del gruppo specificato, ha un indirizzo e-mail verificato e il punteggio di rischio del dispositivo Jamf è`LOW`.

```
permit(principal,action,resource)
when {
    context.policy-reference-name.groups has "c242c5b0-6081-1845-6fa8-6e0d9513c107"
    && context.policy-reference-name.user.email.verified == true
    && context.jamf.risk == "LOW"
};
```

Per ulteriori informazioni sui dati sulla fiducia, vedere[AWS IAM Identity Center contesto per i dati attendibili di Verified Access](trust-data-iam.md).

## Esempio 2: concedere l'accesso a un gruppo in un provider di terze parti
<a name="example-policy-oidc-provider"></a>

La seguente politica di esempio consente l'accesso solo quando l'utente fa parte del gruppo specificato, ha un indirizzo e-mail verificato e il punteggio di rischio del dispositivo Jamf è BASSO. Il nome del gruppo è «finanza».

```
permit(principal,action,resource)
when {
     context.policy-reference-name.groups.contains("finance") 
     && context.policy-reference-name.email_verified == true
     && context.jamf.risk == "LOW"
};
```

Per ulteriori informazioni sui dati sulla fiducia, vedere[Contesto di fornitori di fiducia di terze parti per i dati attendibili ad accesso verificato](trust-data-third-party-trust.md).

## Esempio 3: concedere l'accesso utilizzando CrowdStrike
<a name="example-policy-crowdstrike"></a>

La seguente politica di esempio consente l'accesso quando il punteggio di valutazione complessivo è superiore a 50.

```
permit(principal,action,resource)
when {
    context.crwd.assessment.overall > 50 
};
```

## Esempio 4: consentire o negare un indirizzo IP specifico
<a name="example-policy-ip-address"></a>

La seguente politica di esempio consente le richieste HTTP dall'indirizzo IP specificato.

```
permit(principal, action, resource) 
when {
    context.http_request.client_ip == "192.0.2.1"
};
```

La seguente politica di esempio nega le richieste HTTP dall'indirizzo IP specificato.

```
forbid(principal,action,resource) 
when { 
    ip(context.http_request.client_ip).isInRange(ip("192.0.2.1/32")) 
};
```

La seguente politica di esempio consente le richieste TCP dall'indirizzo IP specificato.

```
permit(principal, action, resource) 
when {
    context.tcp_flow.client_ip == "192.0.2.1"
};
```

# Assistente alle politiche di accesso verificato
<a name="policy-assistant"></a>

L'assistente alle politiche di accesso verificato è uno strumento della console Verified Access che puoi utilizzare per testare e sviluppare le tue politiche. Presenta la policy degli endpoint, la policy di gruppo e il contesto di fiducia in un'unica schermata, dove puoi testare e modificare le policy.

I formati dei contesti di fiducia variano tra i diversi provider di servizi fiduciari e talvolta l'amministratore di Verified Access potrebbe non conoscere il formato esatto utilizzato da un determinato provider di fiducia. Ecco perché può essere molto utile vedere il contesto di fiducia e le policy di gruppo ed endpoint in un unico posto per scopi di test e sviluppo.

Le sezioni seguenti descrivono le nozioni di base sull'utilizzo dell'editor delle politiche.

**Topics**
+ [Fase 1: Specificate le vostre risorse](#specify-resources)
+ [Fase 2: Verificare e modificare le politiche](#test-and-edit)
+ [Fase 3: Rivedere e applicare le modifiche](#review-and-commit)

## Fase 1: Specificate le vostre risorse
<a name="specify-resources"></a>

Nella prima pagina dell'assistente alle politiche, si specifica l'endpoint di accesso verificato con cui si desidera lavorare. Specificherai anche un utente (identificato tramite indirizzo e-mail) e, facoltativamente, il nome and/or dell'utente come identificatore del dispositivo. Per impostazione predefinita, la decisione di autorizzazione più recente viene estratta dai registri di accesso verificato per l'utente specificato. Facoltativamente, puoi scegliere in modo specifico la decisione di autorizzazione *o* rifiuto più recente.

Infine, il contesto di fiducia, la decisione di autorizzazione, la politica dell'endpoint e la politica di gruppo vengono tutti visualizzati nella schermata successiva. 

**Per aprire l'assistente alle politiche e specificare le risorse**

1. Apri la console Amazon VPC all'indirizzo [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. Nel riquadro di navigazione, scegli **Istanze di accesso verificato**, quindi fai clic sull'**ID dell'istanza di accesso verificato** per l'istanza con cui desideri lavorare.

1. Scegli **Launch policy assistant**.

1. Per **Indirizzo e-mail utente**, inserisci l'indirizzo e-mail dell'utente.

1. Per **l'endpoint ad accesso verificato**, seleziona l'endpoint per il quale desideri modificare e testare le politiche.

1. (Facoltativo) Per **Nome**, fornisci il nome dell'utente.

1. (Facoltativo) In **Identificatore del dispositivo, inserisci l'identificatore** univoco del dispositivo.

1. (Facoltativo) Per **Risultato dell'autorizzazione**, scegli il tipo di risultato di autorizzazione recente che desideri utilizzare. Per impostazione predefinita, verrà utilizzato il risultato dell'autorizzazione più recente.

1. Scegli **Next (Successivo)**.

## Fase 2: Verificare e modificare le politiche
<a name="test-and-edit"></a>

In questa pagina ti verranno presentate le seguenti informazioni su cui lavorare:
+ Il contesto di fiducia inviato dal provider di fiducia per l'utente e (facoltativamente) il dispositivo specificato nel passaggio precedente.
+ La policy Cedar per l'endpoint Verified Access specificata nel passaggio precedente.
+ La policy Cedar per il gruppo Verified Access a cui appartiene l'endpoint.

Le politiche Cedar per l'endpoint e il gruppo Verified Access possono essere modificate in questa pagina, ma il contesto di fiducia è statico. È ora possibile utilizzare questa pagina per visualizzare il contesto di fiducia insieme alle politiche Cedar.

Verifica le politiche rispetto al contesto di fiducia scegliendo il pulsante **Test policies** e il risultato dell'autorizzazione verrà visualizzato sullo schermo. Puoi apportare modifiche alle politiche e testare nuovamente le modifiche, ripetendo il processo secondo necessità.

Dopo essere soddisfatto delle modifiche apportate alle politiche, scegli **Avanti per passare** alla schermata successiva dell'assistente alle politiche.

## Fase 3: Rivedere e applicare le modifiche
<a name="review-and-commit"></a>

Nell'ultima pagina dell'assistente alle politiche, vedrai evidenziate le modifiche apportate alle politiche per facilitarne la revisione. Ora puoi esaminarle un'ultima volta e scegliere **Applica modifiche** per confermare le modifiche.

Hai anche la possibilità di tornare alla pagina precedente scegliendo **Precedente** o di annullare completamente l'assistente alle politiche scegliendo **Annulla**.