

• La AWS Systems Manager CloudWatch dashboard non sarà più disponibile dopo il 30 aprile 2026. I clienti possono continuare a utilizzare la CloudWatch console Amazon per visualizzare, creare e gestire le proprie CloudWatch dashboard Amazon, proprio come fanno oggi. Per ulteriori informazioni, consulta la [documentazione di Amazon CloudWatch Dashboard](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

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

# Struttura dell'istruzione e operatori integrati per le policy di approvazione automatica e di negazione dell'accesso
<a name="auto-approval-deny-access-policy-statement-structure"></a>

La tabella seguente mostra la struttura delle policy di approvazione automatica e negazione dell'accesso.


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

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

Una policy di approvazione automatica o di negazione dell'accesso contiene i seguenti componenti:
+ **Effetto**: sia `permit` (consenti) che `forbid` (nega) l'accesso.
+ **Ambito**: i principali, le azioni e le risorse a cui si applica l'effetto. È possibile lasciare indefinito l'ambito in Cedar non identificando principali, azioni o risorse specifici. In questo caso, la policy si applica a tutti i possibili principali, operazioni e risorse. Per l'accesso ai just-in-time nodi, è sempre. `action` `AWS::SSM::Action::"getTokenForInstanceAccess"`
+ **Clausola condizionale**: il contesto in cui si applica l'effetto.

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

Puoi includere commenti nelle tue policy. I commenti sono definiti come una riga che inizia con `//` e termina con un carattere a capo.

Di seguito viene illustrato un esempio di commenti in una policy.

```
// Allows users in the Engineering group from the Platform org to automatically connect to nodes tagged with Engineering and Production keys. 
permit (
    principal in AWS::IdentityStore::Group::"d4q81745-r081-7079-d789-14da1EXAMPLE",
    action == AWS::SSM::Action::"getTokenForInstanceAccess",
    resource
)
when {
    principal has organization && resource.hasTag("Engineering") && resource.hasTag("Production") && principal.organization == "Platform"
};
```

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

Puoi utilizzare più clausole condizionali in un'istruzione di policy tramite l'operatore `&&`.

```
// Allow access if node has tag where the tag key is Environment 
// & tag value is Development 

permit(principal, action == AWS::SSM::getTokenForInstanceAccess, resource)
when {
    resource.hasTag("Environment") &&
    resource.getTag("Environment") == "Development"
};
```

## Caratteri riservati
<a name="reserved-characters"></a>

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

```
permit (
    principal,
    action == AWS::SSM::Action::"getTokenForInstanceAccess",
    resource
)
when {
    principal has employeeNumber && principal.employeeNumber like "E-1*" && resource.hasTag("Purpose") && resource.getTag("Purpose") == "Testing"
}
```

Per ulteriori esempi, consulta [Esempio di istruzioni di policy](#policy-statement-examples).

## Just-in-time schema di accesso al nodo
<a name="auto-approval-deny-access-policy-statement-schema"></a>

Di seguito è riportato lo schema Cedar per l'accesso ai just-in-time nodi.

```
namespace AWS::EC2 {
    entity Instance tags String;
}


namespace AWS::IdentityStore {
    entity Group;
    
    entity User in [Group] {
    employeeNumber?: String,
    costCenter?: String,
    organization?: String,
    division?: String,
    };

}


namespace AWS::IAM {

    entity Role;
    
    type AuthorizationContext = {
        principalTags: PrincipalTags,
    };
    
    entity PrincipalTags tags String;
}

namespace AWS::SSM {

    entity ManagedInstance tags String;

    action "getTokenForInstanceAccess" appliesTo {
    principal: [AWS::IdentityStore::User],
    resource: [AWS::EC2::Instance, AWS::SSM::ManagedInstance],
    context: {
        "iam": AWS::IAM::AuthorizationContext
        }
    };
}
```

## Operatori integrati
<a name="built-in-policy-operators"></a>

Quando si crea il contesto di una policy di approvazione automatica o di negazione dell'accesso utilizzando varie condizioni, è possibile utilizzare l'operatore `&&`, per aggiungere ulteriori condizioni. Esistono anche molti altri operatori integrati che puoi utilizzare per aggiungere ulteriore forza espressiva alle condizioni della tua policy. La tabella seguente contiene tutti gli operatori integrati come riferimento.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/systems-manager/latest/userguide/auto-approval-deny-access-policy-statement-structure.html)

## Esempio di istruzioni di policy
<a name="policy-statement-examples"></a>

Di seguito sono mostrati esempi di istruzioni della policy.

```
// Users assuming IAM roles with a principal tag of "Elevated" can automatically access nodes tagged with the "Environment" key when the value equals "prod"
permit(principal, action == AWS::SSM::getTokenForInstanceAccess, resource)
when {
    // Verify IAM role principal tag
    context.iam.principalTags.getTag("AccessLevel") == "Elevated" &&
    
    // Verify the node has a tag with "Environment" tag key and a tag value of "prod"
    resource.hasTag("Environment") &&
    resource.getTag("Environment") == "prod"
};
```

```
// Identity Center users in the "Contractor" division can automatically access nodes tagged with the "Environment" key when the value equals "dev"
permit(principal, action == AWS::SSM::getTokenForInstanceAccess, resource)
when {
    // Verify that the user is part of the "Contractor" division
    principal.division == "Contractor" &&
    
    // Verify the node has a tag with "Environment" tag key and a tag value of "dev"
    resource.hasTag("Environment") &&
    resource.getTag("Environment") == "dev"
};
```

```
// Identity Center users in a specified group can automatically access nodes tagged with the "Environment" key when the value equals "Production"
permit(principal in AWS::IdentityStore::Group::"d4q81745-r081-7079-d789-14da1EXAMPLE",
    action == AWS::SSM::getTokenForInstanceAccess,
    resource)
when {
    resource.hasTag("Environment") &&
    resource.getTag("Environment") == "Production"
};
```