

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 e autorizzazioni in AWS Identity and Access Management
<a name="access_policies"></a>

Gestisci l'accesso AWS creando policy e collegandole a identità o risorse IAM (utenti, gruppi di utenti o ruoli). AWS Una policy è un oggetto AWS che, se associato a un'identità o a una risorsa, ne definisce le autorizzazioni. AWS valuta queste politiche quando un responsabile IAM (utente o ruolo) effettua una richiesta. Le autorizzazioni nelle policy determinano l’approvazione o il rifiuto della richiesta. La maggior parte delle policy viene archiviata AWS come documenti JSON. AWS supporta sette tipi di politiche: politiche basate sull'identità, politiche basate sulle risorse, limiti delle autorizzazioni, politiche di controllo dei AWS Organizations servizi (), politiche di controllo AWS Organizations delle risorse (SCPs), elenchi di controllo degli accessi (RCPs) e politiche di sessione. ACLs

Le policy IAM definiscono le autorizzazioni relative a un’operazione, indipendentemente dal metodo utilizzato per eseguirla. Ad esempio, se una policy consente l'[GetUser](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetUser.html)azione, un utente con quella policy può ottenere informazioni sull'utente dall', dall'o dall' Console di gestione AWS API. AWS CLI AWS Nella creazione di un utente IAM, è possibile scegliere di consentire l'accesso programmatico o alla console. Se è consentito l'accesso alla console, l'utente IAM può accedere alla console con le proprie credenziali di accesso. Se è consentito l'accesso programmatico, l'utente può utilizzare le chiavi di accesso per utilizzare la CLI o l'API.

## Tipi di policy
<a name="access_policy-types"></a>

I tipi di policy elencati di seguito in ordine da quello utilizzato più frequentemente a quello meno frequentemente sono disponibili per l'uso in AWS. Per ulteriori informazioni, consulta le sezioni seguenti per ogni tipo di policy.
+ **[Policy basate su identità](#policies_id-based)**: collega le policy [gestite](#managedpolicy) e [inline](#inline) alle identità IAM (utenti, gruppi a cui appartengono gli utenti o ruoli). Le policy basate su identità concedono le autorizzazioni a un'identità.
+ **[Policy basate sulle risorse](#policies_resource-based)**: collegano le policy in linea alle risorse. Gli esempi più comuni di policy basate su risorse sono le policy dei bucket Amazon S3 e le policy di attendibilità dei ruoli IAM. Le policy basate su risorse concedono le autorizzazioni a un'identità principale specificata nella policy. Le entità principali possono essere nello stesso account della risorsa o in altri account.
+ **[Limiti delle autorizzazioni](#policies_bound)**: utilizza una policy gestita come limite delle autorizzazioni per un'entità IAM (utente o ruolo). Questa policy definisce il numero massimo di autorizzazioni che la policy basata su identità può concedere a un'entità, ma non concede autorizzazioni. I limiti delle autorizzazioni non definiscono il numero massimo di autorizzazioni che una policy basata su risorse può concedere a un'entità.
+ **[AWS Organizations SCPs](#policies_scp)**— Utilizza una policy di controllo dei AWS Organizations servizi (SCP) per definire le autorizzazioni massime per gli utenti IAM e i ruoli IAM all'interno degli account dell'organizzazione o dell'unità organizzativa (OU). SCPs limita le autorizzazioni che le policy basate sull'identità o le policy basate sulle risorse concedono agli utenti IAM o ai ruoli IAM all'interno dell'account. SCPs non concedere autorizzazioni.
+ **[AWS Organizations RCPs](#policies_rcp)**— Utilizza una politica di controllo AWS Organizations delle risorse (RCP) per definire le autorizzazioni massime per le risorse all'interno degli account dell'organizzazione o dell'unità organizzativa (OU). RCPs limita le autorizzazioni che le politiche basate sull'identità e sulle risorse possono concedere alle risorse degli account all'interno dell'organizzazione. RCPs non concedere autorizzazioni.
+ **[Liste di controllo degli accessi (ACLs)](#policies_acl)**: vengono utilizzate ACLs per controllare quali entità di altri account possono accedere alla risorsa a cui è collegato l'ACL. ACLs sono simili alle politiche basate sulle risorse, sebbene siano l'unico tipo di policy che non utilizza la struttura dei documenti di policy JSON. ACLs sono politiche di autorizzazione per più account che concedono autorizzazioni al principale specificato. ACLs non possono concedere autorizzazioni a entità all'interno dello stesso account.
+ **[Criteri](#policies_session)** di sessione: passa i criteri di sessione avanzati quando utilizzi l' AWS API AWS CLI o per assumere un ruolo o un utente federato. Le policy di sessione limitano le autorizzazioni che le policy basate su identità dell'utente o del ruolo concedono alla sessione. Le policy di sessione limitano le autorizzazioni per una sessione creata, ma non possono concedere autorizzazioni. Per ulteriori informazioni, consulta la sezione relativa alle [policy di sessione](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session).

### Policy basate sull’identità
<a name="policies_id-based"></a>

Le policy basate su identità sono documenti di policy di autorizzazione JSON che controllano quali operazioni un'identità (utenti, gruppi di utenti e ruoli) può eseguire, su quali risorse e in quali condizioni. Le policy basate su identità possono essere ulteriormente suddivise:
+ **Politiche gestite: politiche** autonome basate sull'identità che puoi allegare a più utenti, gruppi e ruoli nel tuo. Account AWS Sono disponibili due tipi di policy gestite.
  + **AWS politiche gestite: politiche** gestite create e gestite da. AWS
  + **Policy gestite dal cliente**: le policy gestite che sono create e gestite nel tuo Account AWS. Le politiche gestite dal cliente forniscono un controllo più preciso sulle politiche rispetto alle politiche AWS gestite.
+ **Policy inline**: le policy che vengono aggiunte direttamente a un singolo utente, gruppo o ruolo. Le politiche in linea mantengono una stretta one-to-one relazione tra una politica e un'identità. Vengono eliminate quando elimini l'identità.

Per informazioni su come scegliere tra una policy gestita o una policy in linea, consulta [Scegliere tra policy gestite e policy in linea](access_policies-choosing-managed-or-inline.md).

### Policy basate sulle risorse
<a name="policies_resource-based"></a>

Le policy basate sulle risorse sono documenti di policy JSON che colleghi a una risorsa, come ad esempio un bucket Amazon S3. Queste policy concedono al principale specificato l’autorizzazione per eseguire operazioni specifiche sulla risorsa e definiscono le condizioni in cui ciò si applica. Le policy basate su risorse sono policy inline. Non esistono policy basate su risorse gestite. 

Per consentire l’accesso multi-account, è possibile specificare un intero account o entità IAM in un altro account come entità principale in una policy basata sulle risorse. L’aggiunta di un’entità principale multi-account a una policy basata sulle risorse rappresenta solo una parte della relazione di trust. Quando il principale e la risorsa sono separati Account AWS, è inoltre necessario utilizzare una politica basata sull'identità per concedere l'accesso principale alla risorsa. Tuttavia, se una policy basata su risorse concede l’accesso a un principale nello stesso account, non sono richieste ulteriori policy basate sull’identità. Per istruzioni dettagliate sulla concessione dell'accesso tra servizi, consulta [Tutorial IAM: delega l'accesso tra AWS account utilizzando i ruoli IAM](tutorial_cross-account-with-roles.md).

Il servizio IAM supporta solo un tipo di policy basata su risorse detta *policy di attendibilità* del ruolo, collegata a un ruolo IAM. Un ruolo IAM è sia un'identità che una risorsa che supporta le policy basate sulle risorse. Per questo motivo, è necessario collegare sia una policy di attendibilità sia una policy basata su identità a un ruolo IAM. Le policy di attendibilità definiscono quali entità principali (account, utenti, ruoli e utenti federati) possono assumere il ruolo. Per capire in che modo i ruoli IAM si differenziano da altre policy basate su risorse, consulta [Accesso alle risorse multi-account in IAM](access_policies-cross-account-resource-access.md).

Per scoprire quali altri servizi supportano le policy basate su risorse, consulta [AWS servizi che funzionano con IAM](reference_aws-services-that-work-with-iam.md). Per ulteriori informazioni sulle policy basate su risorse, consulta la pagina [Policy basate sulle identità e policy basate su risorse](access_policies_identity-vs-resource.md). Per capire se i principali negli account esterni alla zona di attendibilità (organizzazione o account attendibile) dispongono dell'accesso per assumere i ruoli, consulta [Cos'è IAM Access Analyzer?](https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html).

### Limiti delle autorizzazioni IAM
<a name="policies_bound"></a>

Un limite delle autorizzazioni è una funzione avanzata in cui si imposta il numero massimo di autorizzazioni che una policy basata su identità può concedere a un'entità IAM. Quando si imposta un limite delle autorizzazioni per un’entità, l’entità può eseguire solo le operazioni consentite dalle sue policy basate su identità e dai suoi limiti delle autorizzazioni. Se si specifica una sessione del ruolo o un utente nell'elemento principale di una policy basata sulle risorse, non è richiesta un'autorizzazione esplicita nel limite delle autorizzazioni. Tuttavia, se si specifica un ARN del ruolo nell'elemento principale di una policy basata sulle risorse, è richiesta un'autorizzazione esplicita nel limite delle autorizzazioni. In entrambi i casi, è effettiva una negazione esplicita nel limite dell'autorizzazione. Un rifiuto esplicito in una qualsiasi di queste policy sostituisce l’autorizzazione. Per ulteriori informazioni sui limiti delle autorizzazioni, consultare [Limiti delle autorizzazioni per le entità IAM](access_policies_boundaries.md).

### AWS Organizations politiche di controllo del servizio () SCPs
<a name="policies_scp"></a>

Se abiliti tutte le funzionalità in un'organizzazione, puoi applicare le politiche di controllo del servizio (SCPs) a uno o tutti i tuoi account. SCPs sono politiche JSON che specificano le autorizzazioni massime per gli utenti e i ruoli IAM all'interno degli account di un'organizzazione o di un'unità organizzativa (OU). L'SCP limita le autorizzazioni per i responsabili degli account dei membri, inclusi ciascuno. Utente root dell'account AWS Un rifiuto esplicito in una qualsiasi di queste policy sostituisce l'autorizzazione nelle altre policy.

*Per ulteriori informazioni su AWS Organizations e SCPs, consulta [Service control policies (SCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) nella Guida per l'AWS Organizations utente.*

### AWS Organizations politiche di controllo delle risorse (RCPs)
<a name="policies_rcp"></a>

Se abiliti tutte le funzionalità in un'organizzazione, puoi utilizzare le politiche di controllo delle risorse (RCPs) per applicare centralmente i controlli di accesso alle risorse di più risorse Account AWS. RCPs sono policy JSON che puoi utilizzare per impostare le autorizzazioni massime disponibili per le risorse nei tuoi account senza aggiornare le policy IAM associate a ciascuna risorsa di tua proprietà. L'RCP limita le autorizzazioni per le risorse negli account dei membri e può influire sulle autorizzazioni effettive per le identità, incluse le Utente root dell'account AWS, indipendentemente dal fatto che appartengano o meno all'organizzazione. Un rifiuto esplicito in qualsiasi RCP applicabile ha la precedenza su un'autorizzazione in altre policy che potrebbero essere associate a singole identità o risorse.

*Per ulteriori informazioni AWS Organizations e per RCPs includere un elenco di Servizi AWS tale supporto RCPs, consulta [le politiche di controllo delle risorse (RCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) nella Guida per l'utente.AWS Organizations *

### Liste di controllo degli accessi (ACLs)
<a name="policies_acl"></a>

Le liste di controllo degli accessi (ACLs) sono politiche di servizio che consentono di controllare quali responsabili di un altro account possono accedere a una risorsa. ACLs non possono essere utilizzate per controllare l'accesso di un principale all'interno dello stesso account. ACLs sono simili alle politiche basate sulle risorse, sebbene siano l'unico tipo di policy che non utilizza il formato del documento di policy JSON. Amazon S3 e Amazon VPC sono esempi di servizi che supportano. AWS WAF ACLs Per ulteriori informazioni ACLs, consulta la [panoramica dell'Access Control List (ACL)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html) nella *Amazon Simple Storage Service Developer Guide*.

### Policy di sessione
<a name="policies_session"></a>

Le policy di sessione sono politiche avanzate che trasmetti come parametro quando crei a livello di codice una sessione temporanea per un ruolo o un utente principale AWS STS federato. Le autorizzazioni per una sessione sono l'intersezione delle policy basate su identità per l'entità IAM (utente o ruolo) utilizzate per creare la sessione e delle policy di sessione. Le autorizzazioni possono anche provenire da una policy basata su risorse. Un rifiuto esplicito in una qualsiasi di queste policy sostituisce l’autorizzazione.

Puoi creare una sessione del ruolo e passare policy di sessione a livello di programmazione utilizzando le operazioni API `AssumeRole`, `AssumeRoleWithSAML` o `AssumeRoleWithWebIdentity`. Puoi passare un singolo documento della policy di sessione inline JSON utilizzando il parametro `Policy`. Puoi utilizzare il parametro `PolicyArns` per specificare fino a 10 policy di sessione gestite. Per ulteriori informazioni sulla creazione di una sessione del ruolo, consulta [Autorizzazioni per le credenziali di sicurezza temporanee](id_credentials_temp_control-access.md).

Quando crei una sessione principale per utenti AWS STS federati, utilizzi le chiavi di accesso dell'utente IAM per chiamare in modo programmatico l'operazione API. `GetFederationToken` È inoltre necessario passare policy di sessione. Le autorizzazioni della sessione risultanti sono l'intersezione tra la policy basata su identità e la policy di sessione. Per ulteriori informazioni sulla creazione di una sessione per l'utente federato, consulta [Richiesta di credenziali tramite un gestore di identità personalizzato](id_credentials_temp_request.md#api_getfederationtoken).

Una policy basata sulle risorse è in grado di specificare l'ARN dell'utente o del ruolo come un principale. In questo caso, le autorizzazioni della policy basata sulle risorse vengono aggiunte alla policy basata su identità dell'utente o del ruolo prima che la sessione venga creata. La policy di sessione limita le autorizzazioni totali concesse dalla policy basata sulle risorse e dalla policy basata su identità. Le autorizzazioni della sessione risultante sono l'intersezione delle policy di sessione e della policy basata sulle risorse più l'intersezione delle policy di sessione e delle policy basate su identità.

![\[Valutazione della policy di sessione con una policy basata sulle risorse che specifica l'ARN dell'entità\]](http://docs.aws.amazon.com/it_it/IAM/latest/UserGuide/images/EffectivePermissions-session-rbp-id.png)


Una policy basata sulle risorse è in grado di specificare l'ARN della sessione come un principale. In questo caso, le autorizzazioni della policy basata sulle risorse vengono aggiunte dopo che la sessione viene creata. Le autorizzazioni della policy basate sulle risorse non sono limitate dalla policy di sessione. La sessione risultante dispone di tutte le autorizzazioni della policy basata sulle risorse *più* l'intersezione della policy basata su identità e della policy di sessione.

![\[Valutazione della policy di sessione con una policy basata sulle risorse che specifica l'ARN della sessione\]](http://docs.aws.amazon.com/it_it/IAM/latest/UserGuide/images/EffectivePermissions-session-rbpsession-id.png)


Un limite delle autorizzazioni è in grado di impostare il numero massimo di autorizzazioni per un utente o un ruolo che viene utilizzato per creare una sessione. In tal caso, le autorizzazioni della sessione risultante sono l'intersezione della policy di sessione, il limite delle autorizzazioni e la policy basata su identità. Tuttavia, un limite delle autorizzazioni non limita le autorizzazioni concesse da una policy basata sulle risorse che specifica l'ARN della sessione risultante.

![\[Valutazione della policy di sessione con un limite delle autorizzazioni\]](http://docs.aws.amazon.com/it_it/IAM/latest/UserGuide/images/EffectivePermissions-session-boundary-id.png)


## Policy e utente root
<a name="access_policies-root"></a>

 Utente root dell'account AWS È influenzato da alcuni tipi di policy ma non da altri. Non è possibile collegare policy basate su identità all'utente root e non è possibile impostare il limite delle autorizzazioni per questo utente. Tuttavia, è possibile specificare l'utente root come principale in una policy basata su risorse o un'ACL. Un utente root è ancora membro di un account. Se quell'account è membro di un'organizzazione in AWS Organizations, l'utente root è interessato da SCPs e RCPs per l'account.

## Panoramica delle policy JSON
<a name="access_policies-json"></a>

La maggior parte delle politiche viene archiviata AWS come documenti JSON. Le policy basate su identità e quelle utilizzate per impostare i limiti delle autorizzazioni sono documenti di policy JSON che vengono collegati a un utente o un ruolo. Le politiche basate sulle risorse sono documenti di policy JSON allegati a una risorsa. SCPse RCPs sono documenti di policy JSON con sintassi limitata che si allegano alla radice dell'organizzazione, all' AWS Organizations unità organizzativa (OU) o a un account. ACLs sono anche collegati a una risorsa, ma è necessario utilizzare una sintassi diversa. Le policy di sessione sono le policy JSON fornite quando si assume un ruolo o una sessione per l'utente federato.

Non è necessario conoscere la sintassi JSON. Puoi utilizzare l'editor visivo in Console di gestione AWS per creare e modificare le politiche gestite dai clienti senza mai usare JSON. Tuttavia, se utilizzi policy inline per gruppi o policy complesse, devi comunque creare e modificare tali policy nell'editor JSON tramite la console. Per ulteriori informazioni sull'uso dell'editor grafico, consultare [Definire le autorizzazioni IAM personalizzate con policy gestite dal cliente](access_policies_create.md) e [Modificare le policy IAM](access_policies_manage-edit.md).

 Quando crei o modifichi una policy JSON, IAM può eseguire la convalida delle policy per facilitare la creazione di una policy efficace. IAM identificherà gli errori di sintassi JSON, mentre IAM Access Analyzer fornisce ulteriori controlli delle policy con suggerimenti che consentono di perfezionare ulteriormente le policy. Per ulteriori informazioni sulla convalida delle policy, consulta [Convalida delle policy IAM](access_policies_policy-validator.md). Per ulteriori informazioni cui controlli delle policy di IAM Access Analyzer e sui suggerimenti utili, consulta [Convalida delle policy di IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html). 

### Struttura dei documenti di policy JSON
<a name="policies-introduction"></a>

Come illustrato nella figura di seguito, un documento di policy JSON include questi elementi:
+ Informazioni opzionali sulla policy nella parte superiore del documento
+ Una o più istruzioni singole**

Ogni istruzione include informazioni su una singola autorizzazione. Se una politica include più istruzioni, AWS applica una logica a `OR` tutte le istruzioni durante la valutazione. Se a una richiesta si applicano più politiche, AWS applica una logica a `OR` tutte quelle politiche durante la valutazione. 

![\[Struttura dei documenti di policy JSON\]](http://docs.aws.amazon.com/it_it/IAM/latest/UserGuide/images/AccessPolicyLanguage_General_Policy_Structure.diagram.png)


Le informazioni di un'istruzione sono contenute all'interno di una serie di elementi.
+ **Version**: specifica la versione del linguaggio di policy che desideri utilizzare. Consigliamo di utilizzare la versione `2012-10-17 ` più recente. Per ulteriori informazioni, consulta [Elementi delle policy JSON IAM: Version](reference_policies_elements_version.md)
+ **Statement**: utilizza questo elemento principale della policy come container per i seguenti elementi. Puoi includere più istruzioni in una policy.
+ **Sid** (facoltativo): includi un ID istruzione opzionale per distinguere le varie istruzioni.
+ **Effect**: utilizza `Allow` o `Deny` per indicare se la policy consente l'accesso o lo rifiuta.
+ **Principal**(Obbligatorio in alcune circostanze): se si crea una politica basata sulle risorse, è necessario indicare l'account, l'utente, il ruolo o il principale utente AWS STS federato a cui si desidera consentire o negare l'accesso. Nella creazione di una policy di autorizzazioni IAM da collegare a un utente o un ruolo, non è possibile includere questo elemento. L'entità principale è implicita come l'utente o il ruolo.
+ **Action**: includi un elenco delle operazioni consentite o rifiutate dalla policy.
+ **Resource** (obbligatorio solo in alcune circostanze): se crei una policy di autorizzazioni IAM, devi specificare un elenco di risorse a cui si applicano le operazioni. Se crei una policy basata sulle risorse, dipende dalla risorsa che stai utilizzando se questo elemento è obbligatorio o meno.
+ **Condition** (facoltativo): specifica le circostanze in base alle quali la policy concede l'autorizzazione.

Per informazioni su questi e altri elementi di policy più avanzati, consulta [Documentazione di riferimento degli elementi delle policy JSON IAM](reference_policies_elements.md). 

### Istruzioni e policy multiple
<a name="policies-syntax-multiples"></a>

Per definire più di un'autorizzazione per un'entità (utente o ruolo), puoi utilizzare più istruzioni in una singola policy. Puoi anche collegare più policy. Se tenti di definire più autorizzazioni in un'unica istruzione, la policy potrebbe non concedere l'accesso come previsto. Ti consigliamo di suddividere le policy in base al tipo di risorsa. 

A causa delle [dimensioni limitate delle policy](reference_iam-quotas.md), può essere necessario utilizzare più policy per le autorizzazioni più complesse. È inoltre consigliabile creare raggruppamenti funzionali di autorizzazioni in una policy gestita dal cliente separata. Ad esempio, crea una policy per la gestione degli utenti IAM, una per la gestione automatica e un'altra per la gestione dei bucket S3. Indipendentemente dalla combinazione di più dichiarazioni e più politiche, AWS [valuta](reference_policies_evaluation-logic.md) le politiche allo stesso modo.

Ad esempio, la policy seguente include tre istruzioni, ciascuna delle quali definisce un set di autorizzazioni separato all'interno di un unico account. Le istruzioni definiscono quanto segue:
+ La prima istruzione, con un `Sid` (ID istruzione) di `FirstStatement`, consente all'utente con la policy collegata di modificare la propria password. In questa istruzione l'elemento `Resource` è `*` (che significa "tutte le risorse"). Tuttavia, in pratica, l'operazione API `ChangePassword` (o il comando CLI `change-password` equivalente) influisce solo sulla password per l'utente che effettua la richiesta. 
+ La seconda istruzione consente all'utente di elencare tutti i bucket Amazon S3 del proprio Account AWS. In questa istruzione l'elemento `Resource` è `"*"` (che significa "tutte le risorse"). Tuttavia, poiché le policy non concedono l'accesso alle risorse di altri account, l'utente può elencare solo i bucket del proprio Account AWS. 
+ La terza istruzione consente all'utente di elencare e recuperare qualsiasi oggetto all'interno di un bucket denominato `amzn-s3-demo-bucket-confidential-data`, ma solo quando l'utente viene autenticato con la multi-factor authentication (MFA). L'elemento `Condition` della policy applica l'autenticazione MFA.

  Quando un'istruzione della policy contiene un elemento `Condition`, l'istruzione risulta valida solo se per l'elemento `Condition` viene restituito un valore True. In questo caso, `Condition` restituisce True se l'utente è stato autenticato mediante MFA. Se l'utente non dispone dell'autenticazione MFA, `Condition` restituisce False. In tal caso, la terza istruzione della policy non è applicabile e l'utente non può accedere al bucket `amzn-s3-demo-bucket-confidential-data`.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "FirstStatement",
      "Effect": "Allow",
      "Action": ["iam:ChangePassword"],
      "Resource": "*"
    },
    {
      "Sid": "SecondStatement",
      "Effect": "Allow",
      "Action": "s3:ListAllMyBuckets",
      "Resource": "*"
    },
    {
      "Sid": "ThirdStatement",
      "Effect": "Allow",
      "Action": [
        "s3:List*",
        "s3:Get*"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket-confidential-data",
        "arn:aws:s3:::amzn-s3-demo-bucket-confidential-data/*"
      ],
      "Condition": {"Bool": {"aws:MultiFactorAuthPresent": "true"}}
    }
  ]
}
```

------

### Esempi di sintassi di policy JSON
<a name="policies-syntax-examples"></a>

La policy basata sulle identità riportata di seguito consente all'entità principale implicita di elencare un singolo bucket Amazon S3 denominato `amzn-s3-demo-bucket`: 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": "s3:ListBucket",
    "Resource": "arn:aws:s3:::amzn-s3-demo-bucket"
  }
}
```

------

La policy basata su risorse riportata di seguito può essere collegata a un bucket Amazon S3. La policy consente ai membri di uno specifico utente di Account AWS eseguire qualsiasi azione di Amazon S3 nel bucket denominato. `amzn-s3-demo-bucket` Consente qualsiasi operazione che possa essere eseguita su un bucket o sugli oggetti in esso contenuti. Poiché la policy concede la fiducia solo agli account, i singoli utenti dell'account dovranno comunque ricevere le autorizzazioni per le operazioni Amazon S3 specificate. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "1",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:root"
                ]
            },
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket",
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ]
        }
    ]
}
```

------

Per alcuni esempi di policy per scenari comuni, consulta [Esempi di policy basate su identità IAM](access_policies_examples.md).

## Grant least privilege
<a name="grant-least-priv"></a>

Quando crei le policy IAM, segui i consigli di sicurezza standard sulla concessione di *privilegi minimi* o sulla concessione delle sole autorizzazioni richieste per eseguire un'attività. Determina i compiti di utenti e ruoli, quindi crea policy che consentono loro di eseguire *solo* tali attività. 

Inizia con un set di autorizzazioni minimo e concedi autorizzazioni aggiuntive quando necessario. Questo è più sicuro che iniziare con autorizzazioni che siano troppo permissive e cercare di limitarle in un secondo momento.

In alternativa al minimo privilegio, puoi usare le autorizzazioni di [policy gestite da AWS](access_policies_managed-vs-inline.md#aws-managed-policies) o policy con carattere jolly `*` per iniziare a utilizzare le policy. Considera il rischio per la sicurezza di concedere ai principali più autorizzazioni di quelle necessarie per svolgere il proprio lavoro. Monitora tali principali per sapere quali autorizzazioni stanno utilizzando. Quindi scrivi le policy con il privilegio minimo.

IAM fornisce diverse opzioni che consentono di perfezionare le autorizzazioni concesse.
+ **Informazioni sui raggruppamenti a livello di accesso**: puoi utilizzare i raggruppamenti a livello di accesso per comprendere il livello di accesso concesso da una policy. Le [operazioni delle policy](reference_policies_elements_action.md) sono classificate come `List`, `Read`, `Write`, `Permissions management` o `Tagging`. Ad esempio, è possibile selezionare operazioni dai livelli di accesso `List` e `Read` per concedere accesso in sola lettura agli utenti. Per ulteriori informazioni su come utilizzare i riepiloghi delle policy per comprendere le autorizzazioni a livello di accesso, consultare [Livelli di accesso nei riepiloghi delle policy](access_policies_understand-policy-summary-access-level-summaries.md).
+ **Convalida le policy**: puoi eseguire la convalida delle policy utilizzando IAM Access Analyzer quando crei e modifichi le policy JSON. Consigliamo di rivedere e convalidare tutte le policy esistenti. Per convalidare le policy, IAM Access Analyzer fornisce oltre 100 controlli delle policy. Genera avvisi di sicurezza quando una istruzione nella tua policy consente l'accesso che consideriamo eccessivamente permissivo. È possibile utilizzare i suggerimenti utili forniti tramite gli avvisi di sicurezza mentre si lavora per concedere il minimo privilegio. Per ulteriori informazioni sui controlli delle policy di IAM Access Analyzer e sui suggerimenti utili, consulta [Convalida delle policy di IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html).
+ **Genera una policy basata sull'attività di accesso**: per ottimizzare le autorizzazioni concesse, puoi generare una policy IAM basata sull'attività di accesso per un'entità IAM (utente o ruolo). IAM Access Analyzer esamina AWS CloudTrail i log e genera un modello di policy che contiene le autorizzazioni utilizzate dall'entità nel periodo di tempo specificato. È possibile utilizzare il modello per creare una policy gestita con autorizzazioni granulari e quindi collegarla al ruolo IAM. In questo modo, concedi solo le autorizzazioni necessarie all'utente o al ruolo per interagire con le AWS risorse per il tuo caso d'uso specifico. Per ulteriori informazioni, consulta [Generazione di policy per Sistema di analisi degli accessi IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-generation.html).
+ **Utilizza informazioni sull'ultimo accesso**: un'altra funzionalità che può aiutarti con il minimo privilegio è*Informazioni sull'ultimo accesso*. Visualizza queste informazioni nella scheda **Access Advisor** nella pagina dei dettagli della console IAM per un utente, un gruppo, un ruolo o una policy IAM. Le informazioni sull'ultimo accesso includono anche informazioni sulle azioni a cui si è effettuato l'ultimo accesso per alcuni servizi, ad esempio Amazon EC2, IAM, Lambda e Amazon S3. Se accedi utilizzando le credenziali dell'account di AWS Organizations gestione, puoi visualizzare le informazioni sull'ultimo accesso al servizio nella **AWS Organizations**sezione della console IAM. Puoi anche utilizzare l' AWS API AWS CLI or per recuperare un report relativo alle informazioni relative all'ultimo accesso per entità o policy in IAM o. AWS Organizations Puoi utilizzare queste informazioni per identificare le autorizzazioni non necessarie in modo da perfezionare il tuo IAM o AWS Organizations le tue policy per aderire meglio al principio del privilegio minimo. Per ulteriori informazioni, consulta [Perfeziona le autorizzazioni AWS utilizzando le informazioni dell'ultimo accesso](access_policies_last-accessed.md).
+ **Rivedi gli eventi dell'account in AWS CloudTrail****: per ridurre ulteriormente le autorizzazioni, puoi visualizzare gli eventi del tuo account nella Cronologia degli eventi. AWS CloudTrail ** CloudTrail i registri degli eventi includono informazioni dettagliate sugli eventi che puoi utilizzare per ridurre le autorizzazioni della politica. I log includono solo le operazioni e le risorse richieste dalle entità IAM. Per ulteriori informazioni, vedere [Visualizzazione CloudTrail degli eventi nella CloudTrail console nella Guida](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events-console.html) per l'*AWS CloudTrail utente*.



Per ulteriori informazioni, consulta i seguenti argomenti di policy per singoli servizi, che forniscono esempi di come scrivere policy per le risorse specifiche del servizio.
+ [Utilizzo di policy basate sulle risorse per DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html) nella *Guida per gli sviluppatori di Amazon DynamoDB*
+ [Policy del bucket per Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-policies.html) nella *Guida per l'utente di Amazon Simple Storage Service*.
+ [Panoramica della lista di controllo degli accessi (ACL)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html) nella *Guida per l'utente di Amazon Simple Storage Service*

# Policy gestite e policy inline
<a name="access_policies_managed-vs-inline"></a>

Quando imposti le autorizzazioni per un'identità in IAM, dovrai scegliere tra una policy gestita da AWS , una policy gestita dal cliente o una policy inline. Gli argomenti seguenti forniscono ulteriori informazioni su ciascuno dei tipi di policy basate sull'identità e su quando utilizzarli.

La tabella seguente descrive queste policy:


| Tipo di policy | Description | Chi gestisce la policy? | Modificare le autorizzazioni? | Numero di principali applicati alla policy? | 
| --- | --- | --- | --- | --- | 
| [AWS politiche gestite](#aws-managed-policies) | Policy autonoma creata e amministrata da AWS. | AWS | No | Molti | 
| [Policy gestite dal cliente](#customer-managed-policies) | Policy che crei per casi d’uso specifici e che puoi modificare e aggiornare tutte le volte che desideri. | Utente corrente | Sì | Molti | 
| [Policy inline](#inline-policies) | Policy creata per una singola identità IAM (utente, gruppo o ruolo) che mantiene una stretta one-to-one relazione tra una policy e un'identità. | Utente corrente | Sì | One | 

**Topics**
+ [AWS politiche gestite](#aws-managed-policies)
+ [Policy gestite dal cliente](#customer-managed-policies)
+ [Policy inline](#inline-policies)
+ [Scegliere tra policy gestite e policy in linea](access_policies-choosing-managed-or-inline.md)
+ [Convertire una policy in linea in una policy gestita](access_policies-convert-inline-to-managed.md)
+ [Policy gestite obsolete AWS](access_policies_managed-deprecated.md)

## AWS politiche gestite
<a name="aws-managed-policies"></a>

Una *policy gestita da AWS * è una policy autonoma che viene creata e amministrata da AWS. Una *policy autonoma* è una policy che ha un proprio nome della risorsa Amazon (ARN) che include il nome della policy. Ad esempio, `arn:aws:iam::aws:policy/IAMReadOnlyAccess` è una politica AWS gestita. Per ulteriori informazioni su ARNs, vedere[IAM ARNs](reference_identifiers.md#identifiers-arns). Per un elenco delle politiche AWS gestite per Servizi AWS, consulta [le politiche AWS gestite](https://docs.aws.amazon.com//aws-managed-policy/latest/reference/policy-list.html).

AWS le politiche gestite semplificano l'assegnazione delle autorizzazioni appropriate a utenti, gruppi IAM e ruoli. È più veloce della scrittura delle policy in autonomia e include le autorizzazioni per molti casi d'uso comuni.

Non è possibile modificare le autorizzazioni definite nelle AWS politiche gestite. AWS aggiorna occasionalmente le autorizzazioni definite in una politica AWS gestita. In tal caso AWS , l'aggiornamento influisce su tutte le entità principali (utenti IAM, gruppi IAM e ruoli IAM) a cui è associata la policy. AWS è più probabile che aggiorni una policy AWS gestita quando viene lanciato un nuovo AWS servizio o quando diventano disponibili nuove chiamate API per i servizi esistenti. Ad esempio, la policy AWS gestita denominata **ReadOnlyAccess**fornisce l'accesso in sola lettura a tutte Servizi AWS le risorse. Quando AWS avvia un nuovo servizio, AWS aggiorna la **ReadOnlyAccess**politica per aggiungere autorizzazioni di sola lettura per il nuovo servizio. Le autorizzazioni aggiornate vengono applicate a tutte le entità principali a cui la policy è collegata.

*Policy AWS gestite ad accesso completo*: definiscono le autorizzazioni per gli amministratori del servizio concedendo l'accesso completo a un servizio. Gli esempi includono:
+ [AmazonDynamoDBFullAccesso](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonDynamoDBFullAccess.html)
+ [IAMFullAccesso](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/IAMFullAccess.html)

*Policy AWS gestite dagli utenti esperti*: forniscono l'accesso completo alle risorse Servizi AWS e alle risorse, ma non consentono la gestione di utenti e gruppi IAM. Gli esempi includono:
+ [AWSCodeCommitPowerUser](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSCodeCommitPowerUser.html) 
+ [AWSKeyManagementServicePowerUser](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSKeyManagementServicePowerUser.html)

*Policy AWS gestite ad accesso parziale*: forniscono livelli di accesso specifici alle autorizzazioni a livello di accesso Servizi AWS senza consentire la gestione [delle autorizzazioni](access_policies_understand-policy-summary-access-level-summaries.md#access_policies_access-level). Gli esempi includono:
+ [AmazonMobileAnalyticsWriteOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonMobileAnalyticsWriteOnlyAccess.html)
+ [AmazonEC2ReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ReadOnlyAccess.html) 

*Politiche di AWS gestione delle funzioni lavorative*: queste politiche si allineano strettamente alle funzioni lavorative comunemente utilizzate nel settore IT e facilitano la concessione delle autorizzazioni per tali funzioni lavorative. Uno dei principali vantaggi dell'utilizzo delle politiche relative alle funzioni lavorative è che vengono mantenute e aggiornate AWS man mano che vengono introdotti nuovi servizi e operazioni API. Ad esempio, la funzione [AdministratorAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AdministratorAccess.html)job fornisce l'accesso completo e la delega delle autorizzazioni a ogni servizio e risorsa in AWS uso. Si consiglia di utilizzare questa policy solo per l'amministratore dell'account. Per gli utenti esperti che richiedono l'accesso completo a tutti i servizi tranne l'accesso limitato a IAM e AWS Organizations, utilizzano la funzione [PowerUserAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/PowerUserAccess.html)job. Per un elenco e descrizioni delle policy delle mansioni lavorative, consulta [AWS politiche gestite per le funzioni lavorative](access_policies_job-functions.md).

Il diagramma seguente illustra le politiche AWS gestite. **Il diagramma mostra tre politiche AWS gestite: **AdministratorAccess**PowerUserAccess****, e \$1.AWS CloudTrail ReadOnlyAccess** Si noti che una singola politica AWS gestita può essere associata a entità principali in diverse Account AWS entità principali e a diverse entità principali in un'unica Account AWS entità.

![\[Diagramma delle politiche AWS gestite\]](http://docs.aws.amazon.com/it_it/IAM/latest/UserGuide/images/policies-aws-managed-policies.diagram.png)


## Policy gestite dal cliente
<a name="customer-managed-policies"></a>

Puoi creare policy autonome personalizzate Account AWS da collegare alle entità principali (utenti IAM, gruppi IAM e ruoli IAM). Puoi creare queste *policy gestite dal cliente* per i tuoi casi d'uso specifici e modificarle e aggiornarle tutte le volte che desideri. AWS Analogamente alle politiche gestite, quando si allega una politica a un'entità principale, si assegnano all'entità le autorizzazioni definite nella policy. Quando le autorizzazioni della policy vengono aggiornate, le modifiche vengono applicate a tutte le entità principali a cui è collegata la policy.

Un ottimo modo per creare una policy gestita dal cliente è iniziare copiando una policy gestita da AWS esistente. In questo modo è possibile assicurarsi che la policy sia corretta come base ed è sufficiente personalizzarla per il proprio ambiente.

Il diagramma seguente illustra le policy gestite dal cliente. Ogni policy è un'entità in IAM con un proprio [Amazon Resource Name (ARN)](reference_identifiers.md#identifiers-arns) che include il nome della policy. Si noti che la stessa policy può essere collegata a più entità principali, ad esempio, la stessa policy **DynamoDB-books-app** è collegata a due diversi ruoli IAM.

Per ulteriori informazioni, consulta [Definire le autorizzazioni IAM personalizzate con policy gestite dal cliente](access_policies_create.md)

![\[Diagramma delle policy gestite dal cliente\]](http://docs.aws.amazon.com/it_it/IAM/latest/UserGuide/images/policies-customer-managed-policies.diagram.png)


## Policy inline
<a name="inline-policies"></a>

Una policy in linea è una policy creata per una singola identità IAM (utente, gruppo di utenti o ruolo). Le politiche in linea mantengono una stretta one-to-one relazione tra una politica e un'identità. Vengono eliminate quando elimini l'identità. È possibile creare una policy e incorporarla in un'identità, sia quando si crea l'identità sia in un secondo momento. Se una policy può essere applicata a più di un'entità, è meglio utilizzare una policy gestita.

Il diagramma seguente illustra le policy inline. Ogni policy è parte integrante dell'utente, gruppo o ruolo. Si noti che i due ruoli includono la stessa policy (la policy **DynamoDB-books-app**), ma non condividono una singola policy. Ogni ruolo dispone di una propria copia della policy.

![\[Diagramma delle policy inline\]](http://docs.aws.amazon.com/it_it/IAM/latest/UserGuide/images/policies-inline-policies.diagram.png)


# Scegliere tra policy gestite e policy in linea
<a name="access_policies-choosing-managed-or-inline"></a>

Al momento di scegliere tra policy gestite e policy inline, prendi in considerazione i casi d'uso. Nella maggior parte dei casi, si consiglia di usare le policy gestite anziché le policy inline.

**Nota**  
È possibile utilizzare insieme le policy gestite e policy inline per definire autorizzazioni comuni e univoche per un'entità principale.

Le policy gestite offrono le seguenti caratteristiche:

**Riutilizzo**  
Una singola policy gestita può essere collegata a più entità principali (utenti, gruppi e ruoli). È possibile creare una libreria di politiche che definiscono le autorizzazioni utili per l'utente Account AWS e quindi allegarle alle entità principali in base alle esigenze.

**Gestione centralizzata delle modifiche**  
Quando si modifica una policy gestita, la modifica viene applicata a tutte le entità principali a cui la policy è collegata. Ad esempio, se desideri aggiungere l'autorizzazione per una nuova AWS API, puoi aggiornare una politica gestita dal cliente o associare una politica AWS gestita per aggiungere l'autorizzazione. Se utilizzi una policy AWS gestita, AWS aggiorna la policy. Quando una policy gestita viene aggiornata, le modifiche vengono applicate a tutte le entità principali a cui è collegata la policy gestita. Al contrario, per modificare una policy in linea, è necessario modificare singolarmente ciascuna identità che contiene la policy in linea. Ad esempio, se un gruppo e un ruolo contengono la stessa policy inline, è necessario modificare individualmente entrambe le entità principali per modificare tale policy. 

**Controllo delle versioni e rollback**  
Quando si modifica una policy gestita dal cliente, la policy modificata non sovrascriverà la policy esistente. IAM crea invece una nuova versione della policy gestita. IAM memorizza fino a cinque versioni di una policy gestita dal cliente. È possibile utilizzare le versioni della policy per ripristinare una policy a una versione precedente, se necessario.   
Una versione di policy è diversa da un elemento `Version` della policy. L'elemento di policy `Version` viene utilizzato all'interno di una policy e definisce la versione del linguaggio di policy. Per ulteriori informazioni sulle versioni di policy, consultare [Controllo delle versioni delle policy IAM](access_policies_managed-versioning.md). Per ulteriori informazioni sull'elemento di policy `Version`, consultare [Elementi delle policy JSON IAM: Version](reference_policies_elements_version.md).

**Delega della gestione delle autorizzazioni**  
Puoi consentire agli utenti della tua azienda Account AWS di allegare e scollegare le politiche mantenendo il controllo sulle autorizzazioni definite in tali politiche. A tale scopo, è possibile designare alcuni utenti come amministratori completi, ossia amministratori che possono creare, aggiornare ed eliminare le policy. È quindi possibile designare altri utenti come amministratori limitati. Tali amministratori limitati possono collegare delle policy ad altre entità principali, ma solo nel caso delle policy per le quali sono stati autorizzati.  
Per ulteriori informazioni sulla delega della gestione delle autorizzazioni, consultare [Controllo dell'accesso alle policy](access_controlling.md#access_controlling-policies). 

**Limiti di caratteri per le policy più grandi**  
Il limite massimo di caratteri per le policy gestite è maggiore del limite di caratteri per le policy in linea del gruppo. Se raggiungi il limite di dimensione dei caratteri della policy in linea, puoi creare altri gruppi IAM e collegare la policy gestita al gruppo.  
Per ulteriori informazioni su quote e limiti, consulta [IAM e AWS STS quote](reference_iam-quotas.md). 

**Aggiornamenti automatici per AWS le politiche gestite**  
AWS mantiene le politiche AWS gestite e le aggiorna quando necessario, ad esempio per aggiungere autorizzazioni per nuovi AWS servizi, senza che l'utente debba apportare modifiche. Gli aggiornamenti vengono applicati automaticamente alle principali entità a cui è stata allegata la politica AWS gestita. 

## Nozioni di base sulle policy gestite
<a name="access_policies-get-started-managed-policy"></a>

Consigliamo di utilizzare le policy che [concedono il privilegio minimo](access_policies.md#grant-least-priv) o che concedono solo le autorizzazioni richieste per eseguire un processo. Il modo più sicuro per concedere il privilegio minimo consiste nello scrivere una policy gestita dal cliente solo con le autorizzazioni necessarie al team. È necessario creare un processo per consentire al team di richiedere ulteriori autorizzazioni quando necessario. La [creazione di policy gestite dai clienti IAM](access_policies_create-console.md) che forniscono al team solo le autorizzazioni di cui ha bisogno richiede tempo e competenza.

Per iniziare ad aggiungere autorizzazioni alle tue identità IAM (utenti, gruppi di utenti e ruoli), puoi utilizzare. [AWS politiche gestite](access_policies_managed-vs-inline.md#aws-managed-policies) AWS le politiche gestite non concedono i permessi con il privilegio minimo. Considera il rischio per la sicurezza di concedere ai principali più autorizzazioni di quelle necessarie per svolgere il proprio lavoro.

Puoi allegare policy AWS gestite, incluse le funzioni lavorative, a qualsiasi identità IAM. Per ulteriori informazioni, consulta [Aggiunta e rimozione di autorizzazioni per identità IAM](access_policies_manage-attach-detach.md).

Per passare alle autorizzazioni con privilegi minimi, puoi eseguire AWS Identity and Access Management Access Analyzer per monitorare i principali con policy gestite. AWS Dopo aver appreso quali autorizzazioni stanno utilizzando, puoi scrivere o generare una policy gestita dal cliente che contenga soltanto le autorizzazioni richieste per il team. È meno sicuro, ma offre maggiore flessibilità man mano che impari a utilizzare il tuo team. AWS Per ulteriori informazioni, consulta [Generazione di policy per Sistema di analisi degli accessi IAM](access-analyzer-policy-generation.md).

AWS le politiche gestite sono progettate per fornire autorizzazioni per molti casi d'uso comuni. Per ulteriori informazioni sulle politiche AWS gestite progettate per funzioni lavorative specifiche, vedere[AWS politiche gestite per le funzioni lavorative](access_policies_job-functions.md).

Per un elenco delle politiche AWS gestite, consulta la [AWS Managed Policy Reference Guide](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/about-managed-policy-reference.html).

## Utilizzo delle policy inline
<a name="policies-using-inline-policies"></a>

Le policy in linea sono utili se si desidera mantenere una stretta one-to-one relazione tra una policy e l'identità a cui viene applicata. Ad esempio, se si desidera essere certi che le autorizzazioni di una policy non vengano inavvertitamente assegnate a un'identità diversa da quella per la quale sono state concepite. Quando si utilizza una policy inline, le autorizzazioni della policy non possono essere collegate inavvertitamente a un'identità errata. Inoltre, quando si utilizza il Console di gestione AWS per eliminare tale identità, vengono eliminate anche le politiche incorporate nell'identità perché fanno parte dell'entità principale.

# Convertire una policy in linea in una policy gestita
<a name="access_policies-convert-inline-to-managed"></a>

Se disponi di policy inline nell'account, puoi convertirle in policy gestite. A tale scopo, copia la policy in una nuova policy gestita, collega la nuova policy all'identità che ha la policy inline, quindi elimina la policy inline. 

## Conversione di una policy inline in una policy gestita
<a name="access_policies-convert-inline-to-managed-procedure"></a>

**Per convertire una policy inline in una policy gestita**

1. Accedi Console di gestione AWS e apri la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel pannello di navigazione scegli **Gruppi di utenti**, **Utenti** o **Ruoli**.

1. Nell'elenco, scegli il nome del gruppo di utenti, dell'utente o del ruolo con la policy da rimuovere.

1. Scegli la scheda **Autorizzazioni**.

1. Per i gruppi IAM, seleziona il nome della policy in linea che desideri rimuovere. Per utenti e ruoli, scegli **Mostra *n* altro**, se necessario, quindi espandi la policy in linea che desideri rimuovere.

1. Scegli **Copia** per copiare il documento della policy in formato JSON.

1. Nel riquadro di navigazione, scegli **Policy**.

1. Seleziona **Crea policy**, quindi scegli l'opzione **JSON**.

1. Sostituisci il testo esistente con il testo della policy JSON, quindi scegli **Verifica policy**.

1. Immetti un nome e una descrizione facoltativa per la policy, quindi scegli **Crea policy**.

1. Nel pannello di navigazione, scegli **Gruppi di utenti**, **Utenti** o **Ruoli** e scegli di nuovo il nome del gruppo di utenti, dell'utente o del ruolo con la policy da rimuovere.

1. Seleziona la scheda **Autorizzazioni** e scegli **Aggiungi autorizzazioni**.

1. Per i gruppi IAM, seleziona la casella di controllo accanto al nome della nuova policy, seleziona **Aggiungi autorizzazioni**, quindi scegli **Collega policy**. Per gli utenti o i ruoli, scegliere **Add permissions (Aggiungi autorizzazioni)**. Nella pagina successiva, scegli **Collega direttamente policy esistenti**, seleziona la casella di controllo accanto al nome della nuova policy, scegli **Successivo**, quindi seleziona **Aggiungi autorizzazioni**.

   Sarai riportato alla pagina **Riepilogo** per l'utente, il gruppo di utenti o il ruolo.

1. Seleziona la casella di controllo accanto alla policy in linea che desideri rimuovere, quindi scegli **Rimuovi**.

# Policy gestite obsolete AWS
<a name="access_policies_managed-deprecated"></a>

Per semplificare l'assegnazione delle autorizzazioni, AWS fornisce [policy gestite](access_policies_managed-vs-inline.md), ossia policy predefinite pronte per essere associate agli utenti, ai gruppi e ai ruoli IAM.

A volte è AWS necessario aggiungere una nuova autorizzazione a una politica esistente, ad esempio quando viene introdotto un nuovo servizio. L'aggiunta di una nuova autorizzazione a una policy esistente non disturba o rimuove qualsiasi caratteristica o possibilità.

Tuttavia, AWS potrebbe scegliere di creare una *nuova* politica quando le modifiche necessarie potrebbero avere un impatto sui clienti se applicate a una politica esistente. Ad esempio, la rimozione delle autorizzazioni da una policy esistente potrebbe violare le autorizzazioni di qualsiasi entità o applicazione IAM dalla quale dipendeva, disturbando potenzialmente un'operazione critica.

Pertanto, quando è necessaria una tale modifica, AWS crea una politica completamente nuova con le modifiche richieste e la mette a disposizione dei clienti. La policy vecchia viene contrassegnata come *obsoleta*. Per ulteriori informazioni, consulta le [policy AWS gestite obsolete nella AWS Managed](https://docs.aws.amazon.com//aws-managed-policy/latest/reference/about-managed-policy-reference.html#deprecated-managed-policies) *Policy* Reference Guide.

# Establish permissions guardrails using data perimeters
<a name="access_policies_data-perimeters"></a>

Le barriere perimetrali dei dati sono pensate per fungere da confini permanenti per aiutare a proteggere i dati su un'ampia gamma di account e risorse. AWS I perimetri dei dati seguono le best practice di sicurezza IAM per [stabilire guardrail di autorizzazioni su più account](best-practices.md#bp-permissions-guardrails). Questi guardrail di autorizzazione a livello di organizzazione non sostituiscono i controlli di accesso dettagliati esistenti. Funzionano invece come **controlli di accesso generalizzati** che aiutano a migliorare la strategia di sicurezza assicurando che utenti, ruoli e risorse aderiscano a una serie di standard di sicurezza definiti. 

Un perimetro di dati è un insieme di barriere di autorizzazione nell' AWS ambiente che aiutano a garantire che solo le identità attendibili accedano alle risorse attendibili delle reti previste. 
+ Identità affidabili: i responsabili (ruoli o utenti IAM) dei tuoi AWS account e servizi che agiscono per tuo conto. AWS 
+ Risorse affidabili: risorse di proprietà AWS dei tuoi account o di AWS servizi che agiscono per tuo conto.
+ Reti previste: i data center locali e i cloud privati virtuali (VPCs) o le reti di AWS servizi che agiscono per conto dell'utente.

**Nota**  
In alcuni casi, potrebbe essere necessario estendere il perimetro di dati in modo da includere anche l'accesso da parte di partner commerciali fidati. È necessario prendere in considerazione tutti i modelli di accesso ai dati previsti quando si crea una definizione di identità attendibili, risorse attendibili e reti previste specifiche per l'azienda e l'utilizzo dei Servizi AWS.

I controlli perimetrali dei dati devono essere trattati come qualsiasi altro controllo di sicurezza nell'ambito del programma di sicurezza delle informazioni e di gestione del rischio. Ciò significa che è necessario eseguire un'analisi delle minacce per identificare i potenziali rischi all'interno del proprio ambiente cloud e quindi, in base ai propri criteri di accettazione del rischio, selezionare e implementare controlli perimetrali dei dati appropriati. Per definire meglio l'approccio iterativo basato sul rischio all'implementazione del perimetro dei dati, è necessario comprendere quali rischi e vettori di minaccia vengono affrontati dai controlli perimetrali dei dati, nonché le priorità di sicurezza.

## Controlli perimetrali dei dati
<a name="access_policies_data-perimeters-controls"></a>

I controlli granulari sul perimetro dei dati aiutano a raggiungere sei obiettivi di sicurezza distinti su tre perimetri di dati attraverso l'implementazione di diverse combinazioni di [Tipi di policy](access_policies.md#access_policy-types) e [chiavi di condizioni](reference_policies_condition-keys.md).

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/IAM/latest/UserGuide/access_policies_data-perimeters.html)

Puoi pensare ai perimetri dei dati come alla creazione di un confine preciso attorno ai dati per prevenire schemi di accesso non intenzionali. Sebbene i perimetri dei dati possano impedire ampi accessi involontari, è comunque necessario prendere decisioni granulari sul controllo degli accessi. La definizione di un perimetro di dati non riduce la necessità di ottimizzare continuamente le autorizzazioni utilizzando strumenti come [Sistema di analisi degli accessi IAM](what-is-access-analyzer.md) come parte del percorso verso il [privilegio minimo](best-practices.md#grant-least-privilege).

Per applicare i controlli perimetrali dei dati su risorse che attualmente non sono supportate da RCPs, puoi utilizzare policy basate sulle risorse collegate direttamente alle risorse. [Per un elenco di servizi che supportano politiche basate sulle risorse, vedere Politiche di controllo delle risorse () RCPs e. RCPs](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) [AWS servizi che funzionano con IAM](reference_aws-services-that-work-with-iam.md)

Per applicare i controlli perimetrali di rete, ti consigliamo di utilizzare `aws:VpceOrgID`, `aws:VpceOrgPaths` e `aws:VpceAccount` solo se tutti i servizi a cui desideri limitare l’accesso sono attualmente supportati. L’utilizzo di queste chiavi di condizione con servizi non supportati può portare a esiti di autorizzazione non intenzionali. Per un elenco di servizi che supportano le chiavi, consulta [AWS chiavi di contesto della condizione globale](reference_policies_condition-keys.md). Se hai bisogno di applicare i controlli su una gamma più ampia di servizi, prendi in considerazione l’utilizzo di `aws:SourceVpc` e `aws:SourceVpce` in alternativa.

## Perimetro di identità
<a name="access_policies_data-perimeters-identity"></a>

Un perimetro di identità è un insieme di controlli preventivi di accesso generalizzati che aiutano a garantire che solo le identità attendibili possano accedere alle risorse e che solo le identità affidabili siano consentite dalla rete. Le identità affidabili di solito includono i responsabili (ruoli o utenti) degli AWS account e dei AWS servizi che agiscono per conto dell'utente. Tutte le altre identità sono considerate non attendibili e sono impedite dal perimetro dell'identità, a meno che non venga concessa un'eccezione esplicita.

Le seguenti chiavi di condizione globali aiutano a far rispettare i controlli perimetrali delle identità in base alla tua definizione delle identità attendibili. Utilizza queste chiavi nelle policy di controllo delle risorse per limitare l’accesso alle risorse o nelle [policy degli endpoint VPC](https://docs.aws.amazon.com//vpc/latest/privatelink/vpc-endpoints-access.html) per limitare l’accesso alle tue reti.

### Identità di tua proprietà
<a name="data-perimeters-identity-owned-by-you"></a>

Puoi utilizzare le seguenti chiavi di condizione per definire i principi IAM che crei e gestisci in tuo. Account AWS
+ [aws:PrincipalOrgID](reference_policies_condition-keys.md#condition-keys-principalorgid): è possibile utilizzare questa chiave di condizione per garantire che i principali IAM che effettuano la richiesta appartengano all'organizzazione specificata in AWS Organizations.
+ [aws:PrincipalOrgPaths](reference_policies_condition-keys.md#condition-keys-principalorgpaths)— È possibile utilizzare questa chiave di condizione per garantire che l'utente IAM, il ruolo IAM, il principale utente AWS STS federato, il principale federato SAML, il principale federato OIDC o la richiesta appartengano all'unità Utente root dell'account AWS organizzativa (OU) specificata in. AWS Organizations
+ [aws:PrincipalAccount](reference_policies_condition-keys.md#condition-keys-principalaccount): è possibile utilizzare questa chiave di condizione per garantire che le risorse siano accessibili solo all'account principale specificato nella policy.

### Identità dei servizi che agiscono per tuo conto AWS
<a name="data-perimeters-identity-owned-by-service"></a>

È possibile utilizzare le seguenti chiavi di condizione per consentire ai AWS servizi di utilizzare le proprie identità per accedere alle risorse dell'utente quando agiscono per conto dell'utente.
+ [aws:PrincipalIsAWSService](reference_policies_condition-keys.md#condition-keys-principalisawsservice) e [aws:SourceOrgID](reference_policies_condition-keys.md#condition-keys-sourceorgid) (oppure [aws:SourceOrgPaths](reference_policies_condition-keys.md#condition-keys-sourceorgpaths) e [aws:SourceAccount](reference_policies_condition-keys.md#condition-keys-sourceaccount)): è possibile utilizzare queste chiavi di condizione per garantire che, quando [i principali del Servizio AWS](reference_policies_elements_principal.md#principal-services) accedono alle risorse, lo facciano solo per conto di una risorsa dell’organizzazione specificata, dell’unità organizzativa o di un account in AWS Organizations.

Per ulteriori informazioni, consulta [Stabilire un perimetro di dati su AWS: Consenti solo alle identità attendibili di accedere ai](https://aws.amazon.com/blogs/security/establishing-a-data-perimeter-on-aws-allow-only-trusted-identities-to-access-company-data/) dati aziendali.

## Perimetro di risorse
<a name="access_policies_data-perimeters-resource"></a>

Un perimetro di risorse è un insieme di controlli preventivi di accesso generalizzati che aiutano a garantire che solo le identità attendibili possano accedere alle risorse e che solo le identità attendibili siano consentite dalla rete. Le risorse affidabili di solito includono risorse di proprietà AWS degli account o dei AWS servizi che agiscono per conto dell'utente.

Le seguenti chiavi di condizione globali aiutano a far rispettare i controlli perimetrali delle risorse in base alla tua definizione delle risorse attendibili. Utilizza queste chiavi nelle [policy di controllo del servizio (SCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) per limitare le risorse a cui possono accedere le tue identità o nelle politiche degli [endpoint VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html) per limitare le risorse a cui è possibile accedere dalle tue reti.

### Risorse di tua proprietà
<a name="data-perimeters-resource-owned-by-you"></a>

Puoi utilizzare le seguenti chiavi di condizione per definire le AWS risorse che crei e gestisci nel tuo. Account AWS
+ [aws:ResourceOrgID](reference_policies_condition-keys.md#condition-keys-resourceorgid): è possibile utilizzare questa chiave di condizione per garantire che la risorsa a cui si accede appartenga all'organizzazione specificata in AWS Organizations.
+ [aws:ResourceOrgPaths](reference_policies_condition-keys.md#condition-keys-resourceorgpaths): è possibile utilizzare questa chiave di condizione per garantire che la risorsa a cui si accede appartenga all'unità organizzativa (UO) specificata in AWS Organizations.
+ [aws:ResourceAccount](reference_policies_condition-keys.md#condition-keys-resourceaccount): è possibile utilizzare questa chiave di condizione per garantire che la risorsa a cui si accede appartenga all’ Account AWS specificato.

### Risorse di AWS servizi che agiscono per tuo conto
<a name="data-perimeters-resource-owned-by-service"></a>

In alcuni casi, potrebbe essere necessario consentire l'accesso a risorse AWS di proprietà, risorse che non appartengono alla vostra organizzazione e a cui accedono i vostri responsabili o i AWS servizi che agiscono per vostro conto. Per ulteriori informazioni su questi scenari, consulta [Stabilire un perimetro di dati su AWS: Consenti solo risorse attendibili](https://aws.amazon.com/blogs/security/establishing-a-data-perimeter-on-aws-allow-only-trusted-resources-from-my-organization/) della mia organizzazione.

## Perimetro di rete
<a name="access_policies_data-perimeters-network"></a>

Un perimetro di rete è un insieme di controlli preventivi di accesso generalizzati che aiutano a garantire che le proprie identità possano accedere solo dalle reti previste e che le risorse siano accessibili solo dalle reti previste. Le reti previste in genere includono i data center locali e i cloud privati virtuali (VPCs) e le reti di AWS servizi che agiscono per conto dell'utente. 

Le seguenti chiavi di condizione globali aiutano a far rispettare i controlli perimetrali della rete in base alla tua definizione delle reti previste. Utilizzate queste chiavi nelle [politiche di controllo dei servizi (SCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) per limitare le reti da cui le identità possono comunicare o nelle [politiche di controllo delle risorse (RCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) per limitare l'accesso alle risorse alle reti previste.

### Reti di tua proprietà
<a name="data-perimeters-network-owned-by-you"></a>

È possibile utilizzare le seguenti chiavi di condizione per definire le reti che i dipendenti e le applicazioni dovrebbero utilizzare per accedere alle risorse, come l'intervallo CIDR IP aziendale e il VPCs
+ [aws:SourceIp](reference_policies_condition-keys.md#condition-keys-sourceip): è possibile utilizzare questa chiave di condizione per garantire che l'indirizzo IP del richiedente rientri in un intervallo IP specificato.
+ [aws:SourceVpc](reference_policies_condition-keys.md#condition-keys-sourcevpc): è possibile utilizzare questa chiave di condizione per garantire che l'endpoint VPC attraverso cui viaggia la richiesta appartenga al VPC specificato.
+ [aws:SourceVpce](reference_policies_condition-keys.md#condition-keys-sourcevpce): è possibile utilizzare questa chiave di condizione per garantire che la richiesta viaggi attraverso l'endpoint VPC specificato.
+ [aws:VpceAccount](reference_policies_condition-keys.md#condition-keys-vpceaccount)— È possibile utilizzare questa chiave di condizione per garantire che le richieste arrivino tramite endpoint VPC di proprietà dell'account specificato. AWS 
+ [aws:VpceOrgPaths](reference_policies_condition-keys.md#condition-keys-vpceorgpaths): è possibile utilizzare questa chiave di condizione per garantire che i principali IAM che effettuano la richiesta appartengano all’unità organizzativa (UO) specificata in AWS Organizations.
+ [aws:VpceOrgID](reference_policies_condition-keys.md#condition-keys-vpceorgid): è possibile utilizzare questa chiave di condizione per garantire che le richieste viaggino attraverso gli endpoint VPC appartenenti agli account nell’organizzazione specificata in AWS Organizations.

`aws:VpceAccount`, `aws:VpceOrgPaths` e `aws:VpceOrgID` sono particolarmente utili per implementare controlli perimetrali di rete che si adattano automaticamente all’utilizzo degli endpoint VPC, senza che si renda necessario aggiornare le policy quando si creano nuovi endpoint. Per un elenco di Servizi AWS che supportano queste chiavi, consulta [AWS chiavi di contesto della condizione globale](reference_policies_condition-keys.md).

### Reti di AWS servizi che agiscono per tuo conto
<a name="data-perimeters-network-owned-by-service"></a>

Puoi utilizzare le seguenti chiavi di condizione per consentire ai AWS servizi di accedere alle tue risorse dalle loro reti quando agiscono per tuo conto.
+ [aws:ViaAWSService](reference_policies_condition-keys.md#condition-keys-viaawsservice)— È possibile utilizzare questa chiave condizionale per assicurarsi che sia Servizi AWS possibile effettuare richieste per conto del proprio utente principale [Inoltro delle sessioni di accesso](access_forward_access_sessions.md) (FAS).
+ [aws:PrincipalIsAWSService](reference_policies_condition-keys.md#condition-keys-principalisawsservice)— È possibile utilizzare questa chiave di condizione per assicurarsi che sia Servizi AWS possibile accedere alle risorse utilizzando[AWS presidi del servizio](reference_policies_elements_principal.md#principal-services).

 Esistono altri scenari in cui è necessario consentire l'accesso a Servizi AWS che accedono alle risorse dall'esterno della rete. Per ulteriori informazioni, consulta [Stabilire un perimetro di dati su AWS: Consenti l'accesso ai dati aziendali solo dalle reti previste](https://aws.amazon.com/blogs/security/establishing-a-data-perimeter-on-aws-allow-access-to-company-data-only-from-expected-networks/).

## Risorse per ulteriori informazioni sui perimetri di dati
<a name="access_policies_data-perimeters-resources"></a>

Le seguenti risorse possono rivelarsi utili per saperne di più sui perimetri di dati su AWS.
+ [Perimetri dei dati](https://aws.amazon.com/identity/data-perimeters-on-aws/) attivi AWS: scopri i perimetri dei dati e i relativi vantaggi e casi d'uso.
+  [Serie di post sul blog: Stabilire un perimetro di dati su AWS](https://aws.amazon.com/identity/data-perimeters-blog-post-series/) — Questi post del blog contengono linee guida prescrittive per stabilire il perimetro dei dati su larga scala, comprese considerazioni chiave sulla sicurezza e l'implementazione.
+  Esempi di [policy relative al perimetro dei dati: questo GitHub repository contiene esempi](https://github.com/aws-samples/data-perimeter-policy-examples/tree/ce06665ca8b2f07debee7bed5153c3be0f31c73c) di policy che coprono alcuni modelli comuni per aiutarti a implementare un perimetro di dati. AWS
+ [Supporto per il perimetro dei dati](https://github.com/aws-samples/data-perimeter-helper/tree/main?tab=readme-ov-file): questo strumento consente di progettare e anticipare l'impatto dei controlli perimetrali dei dati analizzando l'attività di accesso nei log [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html).

# Limiti delle autorizzazioni per le entità IAM
<a name="access_policies_boundaries"></a>

AWS supporta i *limiti delle autorizzazioni* per le entità IAM (utenti o ruoli). Un limite delle autorizzazioni è una funzione avanzata per l'utilizzo di una policy gestita per impostare il numero massimo di autorizzazioni che una policy basata su identità può concedere a un'entità IAM. Il limite delle autorizzazioni di un'entità consente di eseguire solo le operazioni consentite dalle sue policy basate su identità e dai suoi limiti delle autorizzazioni.

Per ulteriori informazioni sui tipi di policy, consulta [Tipi di policy](access_policies.md#access_policy-types).

**Importante**  
Non utilizzare istruzioni di policy basate sulle risorse che includono un elemento di policy `NotPrincipal` con effetto `Deny` per gli utenti o i ruoli IAM ai quali è collegata una policy con limite delle autorizzazioni. L'elemento `NotPrincipal` con effetto `Deny` rifiuterà sempre qualsiasi principale IAM al quale è collegata una policy con limite delle autorizzazioni, indipendentemente dai valori specificati nell'elemento `NotPrincipal`. Ciò fa sì che alcuni utenti o ruoli IAM che altrimenti avrebbero accesso alla risorsa perdano l'accesso. Ti consigliamo di modificare le istruzioni di policy basate sulle risorse di modo che, per limitare l'accesso, utilizzino l'operatore di condizione [`ArnNotEquals`](reference_policies_elements_condition_operators.md#Conditions_ARN) con la chiave di contesto [`aws:PrincipalArn`](reference_policies_condition-keys.md#condition-keys-principalarn) anziché l'elemento `NotPrincipal`. Per ulteriori informazioni sull'elemento `NotPrincipal`, consulta la pagina [AWS Elementi della policy JSON: NotPrincipal](reference_policies_elements_notprincipal.md).

Puoi utilizzare una policy AWS gestita o una policy gestita dal cliente per impostare il limite per un'entità IAM (utente o ruolo). La policy limita il numero massimo di autorizzazioni per l'utente o il ruolo.

Ad esempio, supponiamo che l'utente IAM denominato `Shirley` debba essere autorizzato a gestire solo Amazon S3 CloudWatch, Amazon e Amazon EC2. Per applicare la regola, puoi utilizzare la policy seguente per impostare il limite delle autorizzazioni per l'utente `Shirley`:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:*",
                "cloudwatch:*",
                "ec2:*"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Quando utilizzi una policy per impostare il limite delle autorizzazioni per un utente, questa limita le autorizzazioni dell'utente, ma non le fornisce di per sé. In questo esempio, la policy imposta le autorizzazioni massime di tutte `Shirley` le operazioni in Amazon S3 CloudWatch e Amazon EC2. Shirley non può eseguire operazioni negli altri servizi, incluso IAM, anche se dispone di una policy di autorizzazione che lo consente. Ad esempio, prova ad aggiungere la policy seguente all'utente `Shirley`:

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": "iam:CreateUser",
    "Resource": "*"
  }
}
```

------

Questa policy consente la creazione di un utente in IAM. Se colleghi questa policy di autorizzazione all'utente `Shirley` e Shirley tenta di creare un utente, l'operazione ha esito negativo. Non riesce perché il limite delle autorizzazioni non consente l'operazione `iam:CreateUser`. Date queste due policy, Shirley non ha il permesso di eseguire alcuna operazione in AWS. È necessario aggiungere una policy di autorizzazioni diversa per consentire operazioni in altri servizi, ad esempio Amazon S3. In alternativa, è possibile aggiornare il limite delle autorizzazioni per consentirle di creare un utente in IAM.

## Valutazione delle autorizzazioni valide con i limiti
<a name="access_policies_boundaries-eval-logic"></a>

Il limite delle autorizzazioni per un'entità IAM (utente o ruolo) imposta il numero massimo di autorizzazioni che è possibile concedere all'entità. Questo può influire sulle autorizzazioni valide per l'utente o il ruolo. Le autorizzazioni valide per un'entità sono quelle concesse da tutte le policy che interessano l'utente o il ruolo. All'interno di un account, le autorizzazioni di un'entità possono essere influenzate da politiche basate sull'identità, politiche basate sulle risorse, limiti delle autorizzazioni o politiche di sessione. AWS Organizations SCPs Per ulteriori informazioni sui diversi tipi di policy, consulta [Politiche e autorizzazioni in AWS Identity and Access Management](access_policies.md).

Se uno di questi tipi di policy rifiuta esplicitamente l'accesso per un'operazione, la richiesta viene rifiutata. Le autorizzazioni concesse a un'entità in base a diversi tipi di autorizzazioni sono più complesse. Per maggiori dettagli su come valuta le politiche, consulta. AWS [Logica di valutazione delle policy](reference_policies_evaluation-logic.md)

**Policy basate su identità con limiti**: le policy basate su identità sono policy in linea o gestite collegate a un utente, un gruppo di utenti o un ruolo. Le policy basate su identità concedono autorizzazioni all'entità e i limiti delle autorizzazioni limitano tali autorizzazioni. Le autorizzazioni effettive sono l'intersezione di entrambi i tipi di policy. Un rifiuto esplicito in una di queste policy sostituisce l'autorizzazione.

![\[Valutazione delle policy basate su identità e dei limiti delle autorizzazioni\]](http://docs.aws.amazon.com/it_it/IAM/latest/UserGuide/images/permissions_boundary.png)


**Policy basate su risorse**: le policy basate su risorse controllano il modo in cui l'entità principale specificata può accedere alla risorsa a cui la policy è collegata.

*Policy basate su risorse per utenti IAM*  
All'interno dello stesso account, le politiche basate sulle risorse che concedono le autorizzazioni all'ARN di un utente IAM (che non è una sessione principale di utenti AWS STS federati) non sono limitate da una negazione implicita in una policy o un limite di autorizzazioni basato sull'identità.  

![\[Valutazione di una policy basata su risorse, di un limite delle autorizzazioni e di una policy basata su identità\]](http://docs.aws.amazon.com/it_it/IAM/latest/UserGuide/images/EffectivePermissions-rbp-boundary-id.png)


*Policy basate sulle risorse per ruoli IAM*  
**Ruolo IAM**: i criteri basati sulle risorse che concedono le autorizzazioni a un ARN del ruolo IAM sono limitati da un rifiuto implicito in un limite delle autorizzazioni o in una policy di sessione.  
**Sessione come ruolo IAM**: all'interno dello stesso account, le policy basate sulle risorse che concedono le autorizzazioni all'ARN della sessione come ruolo IAM concedono le autorizzazioni direttamente alla sessione come ruolo assunto. Le autorizzazioni concesse direttamente a una sessione non sono limitate da un rifiuto implicito in una policy basata su identità, da un limite delle autorizzazioni o da una policy di sessione. Quando si assume un ruolo e si effettua una richiesta, il principale che effettua la richiesta è l'ARN della sessione come ruolo IAM e non l'ARN del ruolo stesso.

*Politiche basate sulle risorse per le sessioni principali degli utenti federati AWS STS *  
**AWS STS sessioni principali con utenti federati: una sessione principale** con utenti AWS STS federati è una sessione creata mediante chiamata. [`GetFederationToken`](id_credentials_temp_request.md#api_getfederationtoken) Quando un utente federato effettua una richiesta, il principale che effettua la richiesta è l'ARN dell'utente federato e non l'ARN dell'utente IAM che ha eseguito la federazione. All'interno dello stesso account, le policy basate sulle risorse che concedono le autorizzazioni all'ARN dell'utente federato concedono le autorizzazioni direttamente alla sessione. Le autorizzazioni concesse direttamente a una sessione non sono limitate da un rifiuto implicito in una policy basata su identità, da un limite delle autorizzazioni o da una policy di sessione.  
Tuttavia, se una policy basata sulle risorse concede l'autorizzazione all'ARN dell'utente IAM che ha effettuato la federazione, le richieste effettuate dal principale utente federato durante la sessione sono AWS STS limitate da una negazione implicita in un limite di autorizzazione o in una policy di sessione.

**AWS Organizations SCPs**— SCPs vengono applicati a un intero. Account AWS Limitano le autorizzazioni per ogni richiesta effettuata da un'entità principale all'interno dell'account. Un'entità IAM (utente o ruolo) può effettuare una richiesta che è influenzata da una SCP, un limite delle autorizzazioni e una policy basata su identità. In questo caso, la richiesta è consentita solo se tutti e tre i tipi di policy la consentono. Le autorizzazioni effettive sono l'intersezione di tutti e tre i tipi di policy. Un rifiuto esplicito in una qualsiasi di queste policy sostituisce l’autorizzazione.

![\[Valutazione di un'SCP, di un limite delle autorizzazioni e di una policy basata su identità\]](http://docs.aws.amazon.com/it_it/IAM/latest/UserGuide/images/EffectivePermissions-scp-boundary-id.png)


Puoi scoprire [se il tuo account è un membro di un'organizzazione](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_details.html#orgs_view_account) in AWS Organizations. I membri dell'organizzazione potrebbero essere influenzati da una SCP. Per visualizzare questi dati utilizzando il AWS CLI comando o l'operazione AWS API, devi disporre delle autorizzazioni per l'`organizations:DescribeOrganization`azione per la tua AWS Organizations entità. È necessario disporre di autorizzazioni aggiuntive per eseguire l'operazione nella AWS Organizations console. Per sapere se un SCP sta negando l'accesso a una richiesta specifica o per modificare le autorizzazioni effettive, contatta l'amministratore. AWS Organizations 

**Policy di sessione** - Le policy di sessione sono policy avanzate che vengono trasmesse come parametro quando si crea in modo programmatico una sessione temporanea per un ruolo o un utente federato. Le autorizzazioni per una sessione provengono dall'entità IAM (utente o ruolo) utilizzata per creare la sessione e dalla policy di sessione. Le autorizzazioni della policy basata su identità dell'entità sono limitate dalla policy di sessione e dal limite delle autorizzazioni. Le autorizzazioni effettive per questo set di tipi di policy sono l'intersezione di tutti e tre i tipi di policy. Un rifiuto esplicito in una qualsiasi di queste policy sostituisce l’autorizzazione. Per ulteriori informazioni sulle policy di sessione, consulta la sezione relativa alle [policy di sessione](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session).

![\[Valutazione di una policy di sessione, di un limite delle autorizzazioni e di una policy basata su identità\]](http://docs.aws.amazon.com/it_it/IAM/latest/UserGuide/images/EffectivePermissions-session-boundary-id.png)


## Delega di responsabilità ad altri mediante i limiti delle autorizzazioni
<a name="access_policies_boundaries-delegate"></a>

Puoi utilizzare il limiti delle autorizzazioni per delegare le attività di gestione delle autorizzazioni, ad esempio la creazione di utenti, agli utenti IAM nel tuo account. Questo consente ad altri di eseguire operazioni a tuo nome all'interno di un limite specifico di autorizzazioni.

Ad esempio, supponiamo che María sia l'amministratore di X-Company. Account AWS María vuole delegare l'attività di creazione di utenti a Zhang. Tuttavia, deve accertarsi che gli utenti creati da Zhang siano conformi alle seguenti regole aziendali:
+ Gli utenti non possono utilizzare IAM per creare o gestire utenti, gruppi, ruoli o policy.
+ Agli utenti viene rifiutato l'accesso al bucket `logs` di Amazon S3 e all'istanza `i-1234567890abcdef0` di Amazon EC2.
+ Gli utenti non possono rimuovere le proprie policy limite.

Per applicare queste regole, María completa le attività seguenti, i cui dettagli sono riportati di seguito:

1. María crea la policy gestita `XCompanyBoundaries` da utilizzare come limite delle autorizzazioni per tutti i nuovi utenti nell'account.

1. María crea la policy gestita `DelegatedUserBoundary` e la assegna come limite delle autorizzazioni per Zhang. Maria prende nota dell'ARN del suo utente amministratore e lo usa nel criterio per impedire a Zhang di accedervi.

1. María crea la policy gestita `DelegatedUserPermissions` e la collega alla policy di autorizzazione per Zhang.

1. María comunica a Zhang le sue nuove responsabilità e limitazioni.

**Attività 1:** María deve prima creare una policy gestita per definire il limite per i nuovi utenti. María deve consentire a Zhang di concedere agli utenti le policy di autorizzazione necessarie, ma vuole che tali utenti abbiano delle limitazioni. A tale scopo, crea questa policy gestita dal cliente, denominata `XCompanyBoundaries`. Questa policy esegue le seguenti operazioni:
+ Consente agli utenti l'accesso completo a diversi servizi
+ Consente l'accesso autonomo limitato alla console IAM. Ciò significa che è possibile modificare la password dopo aver effettuato l'accesso alla console. Non è possibile impostare la password iniziale. Per consentire questa operazione, aggiungere l'operazione `"*LoginProfile"` all'istruzione `AllowManageOwnPasswordAndAccessKeys`.
+ Rifiuta agli utenti l'accesso al bucket di log Amazon S3 o all'istanza Amazon EC2 `i-1234567890abcdef0`

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ServiceBoundaries",
            "Effect": "Allow",
            "Action": [
                "s3:*",
                "cloudwatch:*",
                "ec2:*",
                "dynamodb:*"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowIAMConsoleForCredentials",
            "Effect": "Allow",
            "Action": [
                "iam:ListUsers",
                "iam:GetAccountPasswordPolicy"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowManageOwnPasswordAndAccessKeys",
            "Effect": "Allow",
            "Action": [
                "iam:*AccessKey*",
                "iam:ChangePassword",
                "iam:GetUser",
                "iam:*ServiceSpecificCredential*",
                "iam:*SigningCertificate*"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "DenyS3Logs",
            "Effect": "Deny",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::logs",
                "arn:aws:s3:::logs/*"
            ]
        },
        {
            "Sid": "DenyEC2Production",
            "Effect": "Deny",
            "Action": "ec2:*",
            "Resource": "arn:aws:ec2:*:*:instance/i-1234567890abcdef0"
        }
    ]
}
```

------

Ogni istruzione svolge una funzione diversa:

1. La `ServiceBoundaries` dichiarazione di questa politica consente l'accesso completo ai servizi AWS specificati. Ciò significa che le operazioni di un nuovo utente in questi servizi sono limitate solo dalle policy di autorizzazione collegate all'utente.

1. La dichiarazione `AllowIAMConsoleForCredentials` consente l'accesso per elencare tutti gli utenti IAM. Questo accesso è necessario per navigare nella pagina **Users (Utenti)** nella Console di gestione AWS. Inoltre, consente di visualizzare i requisiti associati alle password per l'account, necessari per modificare la password.

1. L'istruzione `AllowManageOwnPasswordAndAccessKeys` consente agli utenti di gestire solo le proprie chiavi di accesso a livello di programmazione e le password della console. Questo è importante se Zhang o un altro amministratore concede a un nuovo utente una policy di autorizzazione con accesso IAM completo. In tal caso, l'utente può modificare le proprie autorizzazioni o quelle di altri utenti. Questa istruzione impedisce che ciò si verifichi.

1. L'istruzione `DenyS3Logs` nega esplicitamente l'accesso al bucket `logs`.

1. L'istruzione `DenyEC2Production` nega esplicitamente l'accesso all'istanza `i-1234567890abcdef0`.

**Attività 2:** María vuole consentire a Zhang di creare tutti gli utenti X-Company, ma solo con il limite delle autorizzazioni `XCompanyBoundaries`. A tale scopo, crea questa policy gestita dal cliente, denominata `DelegatedUserBoundary`. Questa policy definisce il numero massimo di autorizzazioni di cui Zhang può disporre.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CreateOrChangeOnlyWithBoundary",
            "Effect": "Allow",
            "Action": [
                "iam:AttachUserPolicy",
                "iam:CreateUser",
                "iam:DeleteUserPolicy",
                "iam:DetachUserPolicy",
                "iam:PutUserPermissionsBoundary",
                "iam:PutUserPolicy"
            ],
            "Resource": "*",
            "Condition": {
               "StringEquals": {
                 "iam:PermissionsBoundary": "arn:aws:iam::123456789012:policy/XCompanyBoundaries"
                }
            }
        },
        {
            "Sid": "CloudWatchAndOtherIAMTasks",
            "Effect": "Allow",
            "Action": [
              "cloudwatch:*",
              "iam:CreateAccessKey",
              "iam:CreateGroup",
              "iam:CreateLoginProfile",
              "iam:CreatePolicy",
              "iam:DeleteGroup",
              "iam:DeletePolicy",
              "iam:DeletePolicyVersion",
              "iam:DeleteUser",
              "iam:GetAccountPasswordPolicy",
              "iam:GetGroup",
              "iam:GetLoginProfile",
              "iam:GetPolicy",
              "iam:GetPolicyVersion",
              "iam:GetRolePolicy",
              "iam:GetUser",
              "iam:GetUserPolicy",
              "iam:ListAccessKeys",
              "iam:ListAttachedRolePolicies",
              "iam:ListAttachedUserPolicies",
              "iam:ListEntitiesForPolicy",
              "iam:ListGroups",
              "iam:ListGroupsForUser",
              "iam:ListMFADevices",
              "iam:ListPolicies",
              "iam:ListPolicyVersions",
              "iam:ListRolePolicies",
              "iam:ListSSHPublicKeys",
              "iam:ListServiceSpecificCredentials",
              "iam:ListSigningCertificates",
              "iam:ListUserPolicies",
              "iam:ListUsers",
              "iam:SetDefaultPolicyVersion",
              "iam:SimulateCustomPolicy",
              "iam:SimulatePrincipalPolicy",
              "iam:UpdateGroup",
              "iam:UpdateLoginProfile",
              "iam:UpdateUser"
            ],
            "NotResource": "arn:aws:iam::123456789012:user/Maria"
        },
        {
            "Sid": "NoBoundaryPolicyEdit",
            "Effect": "Deny",
            "Action": [
                "iam:CreatePolicyVersion",
                "iam:DeletePolicy",
                "iam:DeletePolicyVersion",
                "iam:SetDefaultPolicyVersion"
            ],
            "Resource": [
                "arn:aws:iam::123456789012:policy/XCompanyBoundaries",
                "arn:aws:iam::123456789012:policy/DelegatedUserBoundary"
            ]
        },
        {
            "Sid": "NoBoundaryUserDelete",
            "Effect": "Deny",
            "Action": "iam:DeleteUserPermissionsBoundary",
            "Resource": "*"
        }
    ]
}
```

------

Ogni istruzione svolge una funzione diversa:

1. L'istruzione `CreateOrChangeOnlyWithBoundary` consente a Zhang di creare utenti IAM ma solo se utilizza la policy `XCompanyBoundaries` per impostare il limite delle autorizzazioni. L'istruzione gli consente inoltre di impostare il limite delle autorizzazioni per gli utenti esistenti, ma solo utilizzando la stessa policy. Infine, consente a Zhang di gestire le policy di autorizzazione per gli utenti per i quali è stato impostato questo limite delle autorizzazioni.

1. L'istruzione `CloudWatchAndOtherIAMTasks` consente a Zhang di completare altre attività di gestione di utenti, gruppi e policy. Ha le autorizzazioni per reimpostare le password e creare chiavi di accesso per qualsiasi utente IAM non elencato nell'elemento della policy `NotResource`. Questo gli consente di aiutare gli utenti con problemi di accesso.

1. L'istruzione `NoBoundaryPolicyEdit` nega a Zhang l'accesso per aggiornare la policy `XCompanyBoundaries`. Zhang non può modificare alcuna policy utilizzata per impostare il limite delle autorizzazioni per sé o per altri utenti.

1. L'istruzione `NoBoundaryUserDelete` nega a Zhang l'accesso per eliminare il limite delle autorizzazioni per sé o per altri utenti.

María assegna quindi la policy `DelegatedUserBoundary` come [limite delle autorizzazioni](id_users_change-permissions.md#users_change_permissions-set-boundary-console) per l'utente `Zhang`. 

**Attività 3:** poiché il limite delle autorizzazioni controlla il numero massimo di autorizzazioni, ma non concede l'accesso di per sé, María deve creare una policy di autorizzazione per Zhang. A tale scopo, crea questa policy, denominata `DelegatedUserPermissions`. Questa policy definisce le operazioni che Zhang può eseguire, entro il limite definito.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "IAM",
            "Effect": "Allow",
            "Action": "iam:*",
            "Resource": "*"
        },
        {
            "Sid": "CloudWatchLimited",
            "Effect": "Allow",
            "Action": [
                "cloudwatch:GetDashboard",
                "cloudwatch:GetMetricData",
                "cloudwatch:ListDashboards",
                "cloudwatch:GetMetricStatistics",
                "cloudwatch:ListMetrics"
            ],
            "Resource": "*"
        },
        {
            "Sid": "S3BucketContents",
            "Effect": "Allow",
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::ZhangBucket"
        }
    ]
}
```

------

Ogni istruzione svolge una funzione diversa:

1. L'istruzione `IAM` della policy consente a Zhang l'accesso completo a IAM. Tuttavia, poiché il limite delle autorizzazioni di Zhang consente solo alcune operazioni in IAM, le sue autorizzazioni valide in IAM sono limitate solo dal relativo limite delle autorizzazioni.

1. La `CloudWatchLimited` dichiarazione consente a Zhang di eseguire cinque azioni in CloudWatch. Il suo limite di autorizzazioni consente l'accesso a tutte le azioni CloudWatch, quindi le sue CloudWatch autorizzazioni effettive sono limitate solo dalla sua politica sulle autorizzazioni.

1. L'istruzione `S3BucketContents` consente a Zhang di visualizzare il bucket `ZhangBucket` di Amazon S3. Tuttavia, il limite delle autorizzazioni di Zhang non gli consente alcuna operazione in Amazon S3, quindi non può eseguire operazioni S3, indipendentemente dalla sua policy di autorizzazione.
**Nota**  
Le policy di Zhang gli permettono di creare un utente in grado di accedere alle risorse Amazon S3 a cui lui non può accedere. Delegando queste operazioni amministrative, Maria di fatto si fida dell'accesso di Zhang ad Amazon S3. 

María collega quindi la policy `DelegatedUserPermissions` come policy di autorizzazione per l'utente `Zhang`. 

**Attività 4:** María fornisce a Zhang le istruzioni per creare un nuovo utente. Zhang può creare nuovi utenti con tutte le autorizzazioni necessarie, ma deve assegnare loro la policy `XCompanyBoundaries` come limite delle autorizzazioni.

Zhang completa le attività seguenti:

1. Zhang crea un utente con. Console di gestione AWS Digita il nome utente `Nikhil` e consente l'accesso alla console a tale utente. Cancella la casella di controllo accanto a **Richiede reimpostazione della password** poiché le policy sopra riportate consentono agli utenti di modificare la password solo dopo aver effettuato l'accesso alla console IAM.

1. Nella pagina **Imposta le autorizzazioni**, Zhang sceglie le politiche di autorizzazione di **IAMFullAccess** e **AmazonS3** che consentono a Nikhil di ReadOnlyAccess svolgere il suo lavoro. 

1. Zhang salta la sezione **Set permissions boundary (Imposta limite delle autorizzazioni)**, dimenticando le indicazioni di María.

1. Zhang esamina i dettagli utente e seleziona **Create user (Crea utente)**.

   L'operazione ha esito negativo e l'accesso viene negato. In base al limite delle autorizzazioni di Zhang, `DelegatedUserBoundary`, qualsiasi utente da lui creato deve includere la policy `XCompanyBoundaries` come limite delle autorizzazioni.

1. Zhang torna alla pagina precedente. Nella sezione **Set permissions boundary (Imposta limite delle autorizzazioni)**, seleziona la policy `XCompanyBoundaries`. 

1. Zhang esamina i dettagli utente e seleziona **Create user (Crea utente)**.

   L'utente viene creato. 

Quando Nikhil esegue l'accesso, può accedere a IAM e Amazon S3, ma non alle operazioni rifiutate dal suo limite delle autorizzazioni. Ad esempio, può modificare la propria password in IAM ma non può creare un altro utente o modificare le policy. Nikhil ha accesso in sola lettura ad Amazon S3.

Se qualcuno aggiunge una policy basata sulle risorse al bucket `logs` che consente a Nikhil di inserire un oggetto nel bucket, significa che non può ancora accedere al bucket. Questo perché qualsiasi operazione sul bucket `logs` è esplicitamente rifiutata dal suo limite delle autorizzazioni. Un rifiuto esplicito in qualsiasi tipo di policy determina il rifiuto di una richiesta. Tuttavia, se una policy basata sulle risorse collegata a un segreto di Secrets Manager consente a Nikhil di eseguire l'operazione `secretsmanager:GetSecretValue`, allora Nikhil potrà recuperare e decrittare il segreto. Questo perché le operazioni di Secrets Manager non sono esplicitamente rifiutate dal suo limite delle autorizzazioni e i rifiuti impliciti nei limiti delle autorizzazioni non limitano le policy basate sulle risorse.

# Policy basate sulle identità e policy basate su risorse
<a name="access_policies_identity-vs-resource"></a>

Una policy è un oggetto AWS che, se associato a un'identità o a una risorsa, ne definisce le autorizzazioni. Quando crei una policy di autorizzazione per limitare l'accesso a una risorsa, puoi scegliere una *policy basata su identità* o una *policy basata su risorse*.

Le **policy basate su identità** sono collegate a un utente, un gruppo o un ruolo IAM. Queste policy consentono di specificare cosa può fare quell'identità (le sue autorizzazioni). Ad esempio, puoi collegare la policy all'utente IAM di nome John, dichiarando che a questo utente è autorizzato ad eseguire l'operazione `RunInstances` di Amazon EC2. La policy potrebbe inoltre dichiarare che a John è consentito ottenere oggetti da una tabella di Amazon DynamoDB denominata `MyCompany`. È inoltre possibile consentire a John di gestire le proprie credenziali di sicurezza IAM. Le policy basate su identità sulle identità possono essere [gestite o inline](access_policies_managed-vs-inline.md).

Le **policy basate su risorse** sono collegate a una risorsa. Ad esempio, puoi collegare policy basate su risorse a bucket Amazon S3, code Amazon SQS, endpoint VPC, chiavi di crittografia AWS Key Management Service e tabelle e flussi Amazon DynamoDB. Per un elenco dei servizi che supportano le policy basate su risorse, consulta [AWS servizi che funzionano con IAM](reference_aws-services-that-work-with-iam.md).

Le policy basate su risorse consentono di specificare quali utenti hanno accesso a una risorsa e quali operazioni possono eseguirvi. Per capire se i principali negli account esterni alla zona di attendibilità (organizzazione o account attendibile) dispongono dell'accesso per assumere i ruoli, consulta [Cos'è IAM Access Analyzer?](https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html). Le policy basate su risorse sono solo inline, non gestite.

**Nota**  
Le policy *basate su risorse* sono diverse dalle autorizzazioni *a livello di risorsa*. È possibile collegare policy basate su risorse direttamente a una risorsa, come descritto in questo argomento. Le autorizzazioni a livello di risorsa si riferiscono alla capacità di specificare singole risorse in [ARNs](reference_identifiers.md#identifiers-arns)una politica. Le politiche basate sulle risorse sono supportate solo da alcuni servizi. AWS Per un elenco dei servizi che supportano delle policy basate su risorse e le autorizzazioni a livello di risorsa, consultare [AWS servizi che funzionano con IAM](reference_aws-services-that-work-with-iam.md).

Per informazioni su come interagiscono le policy basate su identità e le policy basate sulle risorse all'interno dello stesso account, consulta [Valutazione delle policy per le richieste all'interno di un singolo account](reference_policies_evaluation-logic_policy-eval-basics.md).

Per informazioni su come le policy interagiscono tra gli account, consulta [Cross-account policy evaluation logic](reference_policies_evaluation-logic-cross-account.md).

Per comprendere meglio questi concetti, visualizza la figura riportata di seguito. L'amministratore dell'account `123456789012` ha collegato *policy basate su identità* agli utenti `John`, `Carlos` e `Mary`. Alcune delle operazioni in queste policy possono essere eseguite su risorse specifiche. Ad esempio, l'utente `John` può eseguire alcune operazioni su `Resource X`. Si tratta di un'*autorizzazione a livello di risorsa* in una policy basata su identità. L'amministratore inoltre ha aggiunto *policy basate su risorse* a `Resource X`, `Resource Y` e `Resource Z`. Le policy basate su risorse consentono di specificare chi può accedere alla risorsa. Ad esempio, la policy basata su risorsa su `Resource X` consente agli utenti `John` e `Mary` l'accesso all'elenco e in lettura a quella risorsa.

![\[Policy basate su identità e policy basate su risorse\]](http://docs.aws.amazon.com/it_it/IAM/latest/UserGuide/images/Types_of_Permissions.diagram.png)


L'esempio di account `123456789012` consente agli utenti seguenti di eseguire le operazioni elencate:
+ **John**: John può eseguire operazioni di lettura ed elenco su `Resource X`. Gli è concessa questa autorizzazione dalla policy basata su identità sul suo utente e dalla policy basata su risorsa su `Resource X`.
+ **Carlos**: Carlos può eseguire operazioni di lettura, scrittura ed elenco su `Resource Y` ma gli viene rifiutato l’accesso a `Resource Z`. La policy basata su identità su Carlos gli consente di eseguire operazioni di lettura ed elenco su `Resource Y`. La policy basata sulla risorsa `Resource Y`, inoltre, gli concede autorizzazioni di scrittura. Tuttavia, anche se la sua policy basata su identità gli consente l'accesso a `Resource Z`, la policy basata sulla risorsa `Resource Z` nega tale accesso. Un `Deny` esplicito sostituisce un `Allow` e il suo accesso a `Resource Z` viene negato. Per ulteriori informazioni, consulta [Logica di valutazione delle policy](reference_policies_evaluation-logic.md). 
+ **Mary**: Mary può eseguire operazioni di scrittura, lettura ed elenco su `Resource X`, `Resource Y` e `Resource Z`. La sua policy basata su identità le consente più operazioni su più risorse rispetto alle policy basate su risorse, ma nessuna di queste nega l'accesso.
+ **Zhang**: Zhang ha accesso completo a `Resource Z`. Zhang non ha policy basate su identità, ma la policy basata sulla risorsa `Resource Z` gli consente l'accesso completo alla risorsa. Zhang può anche eseguire elenco e leggere operazioni su `Resource Y`.

Le policy basate su identità e le policy basate su risorse sono entrambe policy di autorizzazione e vengono valutate insieme. Per una richiesta a cui si applicano solo i criteri di autorizzazione, controlla AWS innanzitutto tutti i criteri per un. `Deny` Se ne esiste una, la richiesta viene negata. Quindi, AWS verifica ogni `Allow`. Se almeno un'istruzione della policy consente l'operazione nella richiesta, la richiesta è consentita. Non importa se l'`Allow` è concessa dalla policy basata su identità o dalla policy basata su risorse.

**Importante**  
Questa logica si applica solo quando la richiesta viene effettuata all'interno di un singolo Account AWS. Per le richieste effettuate da un account a un altro, il richiedente nell'`Account A` deve disporre di una policy basata su identità che gli consenta di effettuare una richiesta alla risorsa nell'`Account B`. Inoltre, la policy basata sulla risorsa nell'`Account B` deve consentire al richiedente nell'`Account A` di accedere alla risorsa. In entrambi gli account devono essere presenti policy che consentono l'operazione, altrimenti la richiesta non riesce. Per ulteriori informazioni sull'utilizzo delle policy basate sulle risorse per l'accesso tra account, consulta [Accesso alle risorse multi-account in IAM](access_policies-cross-account-resource-access.md).

Un utente che dispone di autorizzazioni specifiche potrebbe richiedere una risorsa a cui è collegata anche una policy di autorizzazione. In tal caso, AWS valuta entrambi i set di autorizzazioni per determinare se concedere l'accesso alla risorsa. Per ulteriori informazioni su come vengono valutate le policy, consultare [Logica di valutazione delle policy](reference_policies_evaluation-logic.md). 

**Nota**  
Amazon S3 supporta le policy basate sulle identità e le policy basate su risorse (dette *policy dei bucket*). Inoltre, Amazon S3 supporta un meccanismo di autorizzazione noto come *lista di controllo accessi (ACL)* che è indipendente dalle policy e dalle autorizzazioni IAM. Puoi utilizzare le policy IAM in combinazione con Amazon S3 ACLs. Per ulteriori informazioni, consulta [Controllo accessi](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingAuthAccess.html) nella *Guida per l'utente di Amazon Simple Storage Service*. 

# Controlla l'accesso alle AWS risorse utilizzando le policy
<a name="access_controlling"></a>

Puoi utilizzare una policy per controllare l'accesso alle risorse all'interno di IAM o in tutto AWS.

Per utilizzare una [policy](access_policies.md) per controllare l'accesso in AWS, è necessario comprendere in che modo AWS concede l'accesso. AWS è composto da raccolte di *risorse*. Un utente IAM è una risorsa. Un bucket Amazon S3 è una risorsa. Quando si utilizza l' AWS API AWS CLI, il o il Console di gestione AWS per eseguire un'operazione (come la creazione di un utente), si invia una *richiesta* per tale operazione. La richiesta specifica un'operazione, una risorsa, un'*entità principale* (utente o ruolo), un *account principale* e qualsiasi altra informazione necessaria per la richiesta. Tutte queste informazioni forniscono il *contesto*.

AWS verifica quindi che tu (il principale) sia autenticato (effettuato l'accesso) e autorizzato (disponi del permesso) a eseguire l'azione specificata sulla risorsa specificata. Durante l'autorizzazione, AWS controlla tutte le politiche che si applicano al contesto della richiesta. La maggior parte delle politiche viene archiviata AWS come [documenti JSON](access_policies.md#access_policies-json) e specifica le autorizzazioni per le entità principali. Per ulteriori informazioni sui tipi di policy e i relativi utilizzi, consulta [Politiche e autorizzazioni in AWS Identity and Access Management](access_policies.md).

AWS autorizza la richiesta solo se ogni parte della richiesta è consentita dalle politiche. Per visualizzare un diagramma di questo processo, consultare [Funzionamento di IAM](intro-structure.md). Per informazioni dettagliate su come AWS determinare se una richiesta è consentita, consulta[Logica di valutazione delle policy](reference_policies_evaluation-logic.md). 

Quando crei una policy IAM, puoi controllare l'accesso ai seguenti elementi:
+ **[Principali](#access_controlling-principals)**: controlla quello che la persona che effettua la richiesta ([principale](https://docs.aws.amazon.com/glossary/latest/reference/glos-chap.html?icmpid=docs_homepage_addtlrcs#principal)) è autorizzata a fare. 
+ **[Identità IAM](#access_controlling-identities)**: controlla a quali identità IAM (gruppi IA;, utenti e ruoli) è possibile accedere e come.
+ **[Policy IAM](#access_controlling-policies)**: controlla quali utenti possono creare, modificare ed eliminare le policy gestite dai clienti e quali utenti possono collegare e scollegare tutte le policy gestite.
+ **[Risorse AWS](#access_controlling-resources)**: consente di controllare quali utenti hanno accesso alle risorse tramite una policy basata sulle identità o una policy basata sulle risorse.
+ **[Account AWS](#access_controlling-principal-accounts)**: consente di controllare se una richiesta è consentita solo per i membri di un determinato account.

Le politiche consentono di specificare chi ha accesso alle AWS risorse e quali azioni può eseguire su tali risorse. Inizialmente, nessun utente IAM dispone di autorizzazioni. Ovvero, per impostazione predefinita, gli utenti non possono eseguire alcuna operazione, neppure visualizzare le proprie chiavi di accesso. Per fornire a un utente l'autorizzazione per eseguire un'operazione, è possibile aggiungere l'autorizzazione all'utente, ovvero collegare una policy all'utente. In alternativa, puoi aggiungere l'utente a un gruppo di utenti con l'autorizzazione desiderata.

Ad esempio, è possibile concedere a un utente l'autorizzazione per l'elencazione delle proprie chiavi di accesso. È inoltre possibile espandere tale autorizzazione e consentire inoltre a ciascun utente di creare, aggiornare ed eliminare le proprie chiavi. 

Quando concedi le autorizzazioni a un gruppo di utenti, tutti gli utenti in quel gruppo potranno usufruire di tali autorizzazioni. Ad esempio, puoi concedere al gruppo di utenti Administrators l'autorizzazione a eseguire qualsiasi azione IAM su qualsiasi Account AWS risorsa. Un altro esempio: è possibile fornire al gruppo di utenti Manager l'autorizzazione per descrivere le istanze Amazon EC2 dell' Account AWS.

Per informazioni su come delegare le autorizzazioni di base per utenti, gruppi IAM e ruoli, consulta [Autorizzazioni necessarie per accedere alle risorse IAM](access_permissions-required.md). Per ulteriori esempi di policy che utilizzano queste autorizzazioni, consultare [Esempi di policy per amministrare le risorse IAM](id_credentials_delegate-permissions_examples.md).

## Controllo dell'accesso per le entità principali
<a name="access_controlling-principals"></a>

È possibile usare le policy per controllare le operazioni che la persona da cui proviene la richiesta (entità principale) è autorizzata a effettuare. A tale scopo, è necessario collegare una policy basata su identità all'identità di questa persona (utente, gruppo di utenti o ruolo). È possibile utilizzare anche un [limite di autorizzazioni](access_policies_boundaries.md) per impostare il numero massimo di autorizzazioni che un'entità (utente o ruolo) può avere.

Ad esempio, supponiamo di volere che l'utente Zhang Wei abbia accesso completo ad Amazon DynamoDB CloudWatch, Amazon EC2 e Amazon S3. È possibile creare due policy diverse, in modo che successivamente sia possibile suddividerle nel caso sia necessario un set di autorizzazioni per un utente diverso. In alternativa, è possibile includere entrambe le autorizzazioni in una singola policy e quindi collegare tale policy all'utente IAM denominato Zhang Wei. È anche possibile collegare una policy a un gruppo di utenti a cui Zhang appartiene o a un ruolo che Zhang può assumere. Di conseguenza, quando Zhang visualizza i contenuti di un bucket di S3, le sue richieste vengono accettate. Se prova a creare un nuovo utente IAM, la richiesta viene rifiutata perché non dispone dell'autorizzazione. 

È possibile utilizzare un limite delle autorizzazioni su Zhang per fare in modo che non gli venga mai dato accesso al bucket `amzn-s3-demo-bucket1` di S3. A tale scopo, è necessario determinare il *numero massimo* di autorizzazioni per Zhang. In questo caso è possibile controllare le sue attività con le policy di autorizzazione. L'importante è che non possa accedere al bucket riservato. Quindi usi la seguente policy per definire il limite di Zhang per consentire tutte le AWS azioni per Amazon S3 e alcuni altri servizi ma negare l'accesso al bucket S3. `amzn-s3-demo-bucket1` Poiché il limite delle autorizzazioni non consente alcuna operazione IAM, impedisce a Zhang di eliminare il proprio limite o quello di altri utenti.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "PermissionsBoundarySomeServices",
            "Effect": "Allow",
            "Action": [
                "cloudwatch:*",
                "dynamodb:*",
                "ec2:*",
                "s3:*"
            ],
            "Resource": "*"
        },
        {
            "Sid": "PermissionsBoundaryNoConfidentialBucket",
            "Effect": "Deny",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket1",
                "arn:aws:s3:::amzn-s3-demo-bucket1/*"
            ]
        }
    ]
}
```

------

Quando si assegna una policy come questa come limite delle autorizzazioni per un utente, la policy non concede alcuna autorizzazione. Imposta il numero massimo di autorizzazioni che una policy basata su identità può concedere a un'entità IAM. Per ulteriori informazioni sui limiti delle autorizzazioni, consultare [Limiti delle autorizzazioni per le entità IAM](access_policies_boundaries.md).

Per informazioni dettagliate sulle procedure precedenti, è possibile consultare le risorse seguenti:
+ Per ulteriori informazioni sulla creazione di una policy IAM che è possibile collegare a un principale, consulta [Definire le autorizzazioni IAM personalizzate con policy gestite dal cliente](access_policies_create.md).
+ Per ulteriori informazioni su come collegare una policy IAM a un principale, consulta [Aggiunta e rimozione di autorizzazioni per identità IAM](access_policies_manage-attach-detach.md).
+ Per consultare un esempio di policy per concedere accesso completo a EC2, consultare [Amazon EC2: consente l'accesso completo a EC2 entro una regione specifica, a livello di programmazione e nella console](reference_policies_examples_ec2_region.md).
+ Per permettere l'accesso in sola lettura a un bucket S3, utilizzare le prime due istruzioni della seguente policy di esempio: [Amazon S3: consente l'accesso in lettura e scrittura agli oggetti in un bucket S3, in modo programmatico e nella console](reference_policies_examples_s3_rw-bucket-console.md).
+ Per visualizzare una policy di esempio che consente agli utenti di impostare le credenziali, ad esempio la password della console, le chiavi di accesso a livello di programmazione e i dispositivi MFA, consulta la pagina [AWS: consente agli utenti IAM autenticati con MFA di gestire le proprie credenziali nella pagina Credenziali di sicurezza](reference_policies_examples_aws_my-sec-creds-self-manage.md).

## Controllo dell'accesso alle identità
<a name="access_controlling-identities"></a>

Puoi usare le policy IAM per controllare le operazioni che tutti gli utenti possono eseguire per un'identità mediante la creazione di una policy da collegare a tutti gli utenti tramite un gruppo di utenti. Per eseguire questa operazione, è necessario creare una policy che limita le operazioni che possono essere eseguite per un'identità oppure gli utenti che possono accedere.

Ad esempio, puoi creare un gruppo di utenti denominato **AllUsers**e quindi associare quel gruppo di utenti a tutti gli utenti. Quando si crea il gruppo di utenti, è possibile fornire a tutti gli utenti l'accesso per impostare le proprie credenziali come descritto nella sezione precedente. È quindi possibile creare una policy che rifiuti l'accesso alla modifica del gruppo di utenti a meno che il nome utente non sia incluso nella condizione della policy. Tuttavia, la parte della policy rifiuta solo l'accesso a chiunque eccetto gli utenti elencati. È inoltre necessario includere le autorizzazioni per permettere tutte le operazioni di gestione del gruppo di utenti per tutti gli utenti del gruppo. Infine, puoi collegare questa policy al gruppo di utenti in modo che venga applicata a tutti gli utenti. Di conseguenza, quando un utente non specificato nella policy cerca di apportare modifiche al gruppo di utenti, la richiesta viene rifiutata. 

**Per creare questa policy con l'editor visivo**

1. Accedi Console di gestione AWS e apri la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel riquadro di navigazione a sinistra, seleziona **Policies (Policy)**. 

   Se è la prima volta che selezioni **Policy**, verrà visualizzata la pagina **Benvenuto nelle policy gestite**. Seleziona **Inizia**.

1. Scegli **Crea policy**.

1. Nella sezione **Editor di policy**, scegli l'opzione **Visivo**.

1. In **Seleziona un servizio**, scegli **IAM**.

1. In **Operazioni consentite**, digita **group** nella casella di ricerca. L'editor visivo mostra tutte le operazioni IAM che contengono la parola `group`. Selezionare tutte le caselle di controllo.

1. Selezionare **Resources (Risorse)** per specificare le risorse per la policy. In base alle operazioni scelte, dovrebbero venire visualizzati i tipi di risorse **gruppo** e **utente**.
   + **gruppo**: scegli **Aggiungi ARNs**. Per **Risorse in**, seleziona l'opzione **Qualsiasi account**. Seleziona la casella di controllo **Qualsiasi nome di gruppo con percorso**, quindi digita il nome del gruppo di utenti **AllUsers**. Quindi scegliere **Add (Aggiungi) ARNs**.
   + **utente**: seleziona la casella di controllo accanto a **Qualsiasi in questo account**.

   Una delle operazioni scelte, `ListGroups`, non supporta l'utilizzo di risorse specifiche. Non è necessario selezionare **All resources (Tutte le risorse)** per tale operazione. Quando salvi la policy o la visualizzi nell'editor **JSON**, puoi notare che IAM crea automaticamente un nuovo blocco di autorizzazioni che concede l'autorizzazione per questa operazione a tutte le risorse.

1. Per aggiungere un altro blocco di autorizzazioni, scegli **Aggiungi altre autorizzazioni**.

1. Scegli **Seleziona un servizio** e quindi **IAM**.

1. Scegli **Operazioni consentite**, quindi seleziona **Passa ad autorizzazioni rifiutate**. In questo caso, l'intero blocco viene utilizzato per rifiutare le autorizzazioni.

1. Nella casella di ricerca digitare **group**. L'editor visivo mostra tutte le operazioni IAM che contengono la parola `group`. Selezionare le caselle di controllo accanto alle seguenti operazioni:
   + **CreateGroup**
   + **DeleteGroup**
   + **RemoveUserFromGroup**
   + **AttachGroupPolicy**
   + **DeleteGroupPolicy**
   + **DetachGroupPolicy**
   + **PutGroupPolicy**
   + **UpdateGroup**

1. Selezionare **Resources (Risorse)** per specificare le risorse per la policy. In base alle operazioni scelte, dovrebbe venire visualizzato il tipo di risorse **group (gruppo)**. Scegliere **Aggiungi ARNs**. Per **Risorse in**, seleziona l'opzione **Qualsiasi account**. Per **Qualsiasi nome gruppo con percorso**, digita il nome del gruppo di utenti **AllUsers**. Quindi scegliere **Add (Aggiungi) ARNs**.

1. Scegli **Condizioni di richiesta - *opzionale***, quindi scegli **Aggiungi altra condizione**. Completare il modulo con i seguenti valori:
   + **Chiave di condizione**: scegli **aws:username**
   + **Qualificatore**: scegli **Default**
   + **Operatore**: scegli **StringNotEquals**
   + **Valore**: digita **srodriguez**, quindi scegli **Aggiungi** per aggiungere un altro valore. Digita **mjackson**, quindi scegli **Aggiungi** per aggiungere un altro valore. Digita **adesai** e quindi seleziona **Aggiungi un altro valore di condizione**.

   Questa condizione garantisce che l'accesso venga rifiutato per le operazioni di gestione del gruppo di utenti specificate se l'utente che effettua la chiamata non è incluso nell'elenco. Poiché l'autorizzazione viene rifiutata in modo esplicito, il blocco precedente che consentiva a tali utenti di chiamare le operazioni viene ignorato. Per gli utenti inclusi nell'elenco, l'accesso non viene rifiutato e viene concessa dell'autorizzazione del primo blocco di autorizzazioni, in modo che possano gestire completamente il gruppo.

1. Quando hai terminato, seleziona **Successivo**.
**Nota**  
È possibile alternare le opzioni dell'editor **Visivo** e **JSON** in qualsiasi momento. Se tuttavia si apportano modifiche o si seleziona **Successivo** nell'opzione dell'editor **Visivo**, IAM potrebbe ristrutturare la policy in modo da ottimizzarla per l'editor visivo. Per ulteriori informazioni, consulta [Modifica della struttura delle policy](troubleshoot_policies.md#troubleshoot_viseditor-restructure).

1. Nella pagina **Verifica e crea**, digita **LimitAllUserGroupManagement** in **Nome della policy**. In **Description (Descrizione)**, digitare **Allows all users read-only access to a specific user group, and allows only specific users access to make changes to the user group**. Rivedi il campo **Autorizzazioni definite in questa policy** per accertarti di disporre delle autorizzazioni previste. Quindi selezionare **Create policy (Crea policy)** per salvare la nuova policy.

1. Collega la policy al tuo gruppo di utenti. Per ulteriori informazioni, consulta [Aggiunta e rimozione di autorizzazioni per identità IAM](access_policies_manage-attach-detach.md).

In alternativa, è possibile creare la stessa policy utilizzando questo esempio di documento di policy JSON. Per visualizzare questa policy JSON, consulta [IAM: consente a utenti IAM specifici di gestire un gruppo a livello di programmazione e nella console](reference_policies_examples_iam_users-manage-group.md). Per istruzioni dettagliate sulla creazione di una policy utilizzando un documento JSON, consulta [Creazione di policy utilizzando l'editor JSON](access_policies_create-console.md#access_policies_create-json-editor).

## Controllo dell'accesso alle policy
<a name="access_controlling-policies"></a>

Puoi controllare in che modo gli utenti possono applicare le policy AWS gestite. Per eseguire questa operazione, collegare questa policy per tutti gli utenti. In teoria, è possibile eseguire questa operazione utilizzando un gruppo di utenti.

Ad esempio, potresti creare una policy che consenta agli utenti di allegare solo [IAMUserChangePassword](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/job-function/IAMUserChangePassword)le policy [PowerUserAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/job-function/PowerUserAccess) AWS gestite a un nuovo utente, gruppo di utenti o ruolo IAM.

Per le policy gestite dal cliente, è possibile controllare chi può creare, aggiornare ed eliminare queste policy. È possibile controllare chi può collegare e scollegare le policy per entità principali (gruppi IAM, utenti e ruoli). È inoltre possibile controllare quali policy un utente può collegare o distaccare e per quale entità.

Ad esempio, è possibile concedere autorizzazioni a un account amministratore per creare, aggiornare ed eliminare le policy. Quindi è possibile assegnare le autorizzazioni a un team leader o a un altro amministratore limitato collegare o distaccare queste policy a/da entità principali che l'amministratore limitato gestisce.

Per ulteriori informazioni, fare riferimento a queste risorse:
+ Per ulteriori informazioni sulla creazione di una policy IAM che è possibile collegare a un principale, consulta [Definire le autorizzazioni IAM personalizzate con policy gestite dal cliente](access_policies_create.md).
+ Per ulteriori informazioni su come collegare una policy IAM a un principale, consulta [Aggiunta e rimozione di autorizzazioni per identità IAM](access_policies_manage-attach-detach.md).
+ Per consultare un esempio di policy per limitare l'uso di policy gestito, consultare [IAM: limita le policy gestite che possono essere applicate a un utente, un gruppo o un ruolo IAM.](reference_policies_examples_iam_limit-managed.md).

### Controllo delle autorizzazioni per la creazione, l'aggiornamento e l'eliminazione di policy gestite dal cliente
<a name="policies-controlling-access-create-update-delete"></a>

Puoi usare le [policy IAM](access_policies.md) per controllare chi può creare, aggiornare ed eliminare le policy gestite dal cliente nell' Account AWS. L'elenco seguente contiene le operazioni di API che si riferiscono direttamente a creazione, aggiornamento ed eliminazione di policy o versioni di policy: 
+ [CreatePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreatePolicy.html)
+ [CreatePolicyVersion](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreatePolicyVersion.html)
+ [DeletePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeletePolicy.html)
+ [DeletePolicyVersion](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeletePolicyVersion.html)
+ [SetDefaultPolicyVersion](https://docs.aws.amazon.com/IAM/latest/APIReference/API_SetDefaultPolicyVersion.html)

Le operazioni API nell'elenco precedente corrispondono alle operazioni che è possibile consentire o rifiutare, ovvero le autorizzazioni che è possibile concedere, utilizzando una policy IAM. 

Esaminiamo l'esempio di policy seguente. Permette a un utente di creare, aggiornare (ovvero creare una nuova versione della policy), eliminare e impostare una versione predefinita per tutte le policy gestite dal cliente nell' Account AWS. La policy di esempio, inoltre, consente all'utente di elencare e ottenere le policy. Per ulteriori informazioni su come creare una policy utilizzando questo esempio di documento di policy JSON, consultare [Creazione di policy utilizzando l'editor JSON](access_policies_create-console.md#access_policies_create-json-editor).

**Example Esempio di policy che permette la creazione, l'aggiornamento, l'eliminazione, la visualizzazione, l'ottenimento e la configurazione della versione di default per tutte le policy**    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": [
      "iam:CreatePolicy",
      "iam:CreatePolicyVersion",
      "iam:DeletePolicy",
      "iam:DeletePolicyVersion",
      "iam:GetPolicy",
      "iam:GetPolicyVersion",
      "iam:ListPolicies",
      "iam:ListPolicyVersions",
      "iam:SetDefaultPolicyVersion"
    ],
    "Resource": "*"
  }
}
```

È possibile creare policy che limitano l'uso di queste operazioni delle API che interessano solo le policy gestite specificate dall'utente. Ad esempio, è possibile permettere a un utente di impostare la versione predefinita ed eliminare le versioni di policy, ma solo per determinate policy gestite dal cliente. A tale scopo, è necessario specificare l'ARN della policy nell'elemento `Resource` della policy che concede l'autorizzazione. 

L'esempio seguente mostra una policy che consente a un utente di eliminare versioni della policy e impostare la versione predefinita. Tuttavia, queste azioni sono consentite solo per le policy gestite dal cliente che includono il percorso /TEAM-A/. L'ARN della policy gestita dal cliente è specificato nell'elemento `Resource` della policy. In questo esempio l'ARN include un percorso e un carattere jolly e quindi corrisponde a tutte le policy gestite dal cliente che includono il percorso /TEAM-A/. Per ulteriori informazioni su come creare una policy utilizzando questo esempio di documento di policy JSON, consultare [Creazione di policy utilizzando l'editor JSON](access_policies_create-console.md#access_policies_create-json-editor).

Per ulteriori informazioni sull'utilizzo di percorsi di clienti nei nomi delle policy gestite dal cliente, consultare [Nomi descrittivi e percorsi](reference_identifiers.md#identifiers-friendly-names). 

**Example Esempio di policy che consente di eliminare le versioni di policy e impostare la versione di default solo per policy specifiche**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Action": [
            "iam:DeletePolicyVersion",
            "iam:SetDefaultPolicyVersion"
        ],
        "Resource": "arn:aws:iam::111122223333:policy/TEAM-A/*"
    }
}
```

### Controllo delle autorizzazioni per collegare e distaccare le policy gestite
<a name="policies-controlling-access-attach-detach"></a>

È possibile utilizzare le policy IAM anche per permettere agli utenti di utilizzare policy gestite specifiche. In pratica, è possibile controllare le autorizzazioni che un utente può concedere ad altre entità principali. 

L'elenco seguente mostra le operazioni di API che consentono direttamente di collegare e distaccare le policy gestite a/da entità principali:
+  [AttachGroupPolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_AttachGroupPolicy.html)
+ [AttachRolePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_AttachRolePolicy.html)
+ [AttachUserPolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_AttachUserPolicy.html)
+ [DetachGroupPolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DetachGroupPolicy.html)
+ [DetachRolePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DetachRolePolicy.html)
+ [DetachUserPolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DetachUserPolicy.html)

È possibile creare policy che limitino l'uso di queste operazioni API in modo da influire solo sulle entità and/or principali delle politiche gestite specifiche specificate. Ad esempio, è possibile permettere a un utente di collegare le policy gestite, ma per le policy specificate dall'utente. Oppure, è possibile permettere a un utente di collegare le policy gestite, ma alle entità del principale specificate dall'utente. 

L'esempio di policy seguente consente a un utente di collegare le policy gestite solo ai gruppi IAM e ai ruoli che includono il percorso /TEAM-A/. Il gruppo di utenti e il ruolo ARNs sono specificati nell'`Resource`elemento della politica. (In questo esempio ARNs includono un percorso e un carattere jolly e quindi corrispondono a tutti i gruppi e i ruoli IAM che includono il percorso /TEAM-A/). Per ulteriori informazioni su come creare una policy utilizzando questo esempio di documento di policy JSON, consultare [Creazione di policy utilizzando l'editor JSON](access_policies_create-console.md#access_policies_create-json-editor).

**Example Esempio di policy che consente di collegare policy gestite solo a gruppi di utenti o ruoli specifici**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Action": [
            "iam:AttachGroupPolicy",
            "iam:AttachRolePolicy"
        ],
        "Resource": [
            "arn:aws:iam::111122223333:group/TEAM-A/*",
            "arn:aws:iam::111122223333:role/TEAM-A/*"
        ]
    }
}
```

È possibile limitare ulteriormente le operazioni dell'esempio precedente per influire solo su determinate policy. In altre parole, puoi controllare le autorizzazioni che un utente può collegare ad altre entità principali, aggiungendo una condizione alla policy. 

In questo esempio, la condizione garantisce che le autorizzazioni `AttachGroupPolicy` e `AttachRolePolicy` siano consentite solo quando la policy da collegare corrisponde a uno delle policy specificate. La condizione utilizza la [chiave della condizione](reference_policies_elements_condition.md) `iam:PolicyARN` per determinare quali policy possono essere collegate. L'esempio di policy seguente amplia il concetto espresso nell'esempio precedente. Consente a un utente di collegare solo le policy gestite che includono il percorso /TEAM-A/ solo ai gruppi IAM e ai ruoli che includono il percorso /TEAM-A/. Per ulteriori informazioni su come creare una policy utilizzando questo esempio di documento di policy JSON, consultare [Creazione di policy utilizzando l'editor JSON](access_policies_create-console.md#access_policies_create-json-editor).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Action": [
            "iam:AttachGroupPolicy",
            "iam:AttachRolePolicy"
        ],
        "Resource": [
            "arn:aws:iam::111122223333:group/TEAM-A/*",
            "arn:aws:iam::111122223333:role/TEAM-A/*"
        ],
        "Condition": {
            "ArnLike": {
                "iam:PolicyARN": "arn:aws:iam::111122223333:policy/TEAM-A/*"
            }
        }
    }
}
```

------

Questa policy utilizza l'operatore di condizione `ArnLike` ma puoi anche utilizzare l'operatore di condizione `ArnEquals` perché questi due operatori si comportano in modo identico. Per ulteriori informazioni su `ArnLike` e `ArnEquals`, consulta [Operatori di condizione con Amazon Resource Name (ARN)](reference_policies_elements_condition_operators.md#Conditions_ARN) nella sezione *Tipi di condizione* dei *Riferimenti agli elementi della policy*. 

Ad esempio, è possibile limitare l'uso di operazioni per coinvolgere solo le policy gestite specificate dall'utente. A tale scopo, è necessario specificare l'ARN della policy nell'elemento `Condition` della policy che concede l'autorizzazione. Ad esempio, per specificare l'ARN di una policy gestita dal cliente:

```
"Condition": {"ArnEquals": 
  {"iam:PolicyARN": "arn:aws:iam::123456789012:policy/POLICY-NAME"}
}
```

È inoltre possibile specificare l'ARN di una policy AWS gestita nell'elemento di `Condition` una policy. L'ARN di una policy AWS gestita utilizza l'alias speciale `aws` nella policy ARN anziché un ID account, come in questo esempio:

```
"Condition": {"ArnEquals": 
  {"iam:PolicyARN": "arn:aws:iam::aws:policy/AmazonEC2FullAccess"}
}
```

## Controllo dell'accesso alle risorse
<a name="access_controlling-resources"></a>

È possibile controllare chi ha accesso alle risorse utilizzando una policy basata sulle identità o una policy basata sulle risorse. In una policy basata sulle identità si collega la policy a un'identità e si specifica a quali risorse può accedere tale identità. In una policy basata sulle risorse, si collega una policy alla risorsa che si desidera controllare. Nella policy, è necessario specificare quali entità principali possono accedere a tale risorsa. Per ulteriori informazioni su entrambi questi tipi di policy, consultare [Policy basate sulle identità e policy basate su risorse](access_policies_identity-vs-resource.md).

Per ulteriori informazioni, fare riferimento a queste risorse:
+ Per ulteriori informazioni sulla creazione di una policy IAM che è possibile collegare a un principale, consulta [Definire le autorizzazioni IAM personalizzate con policy gestite dal cliente](access_policies_create.md).
+ Per ulteriori informazioni su come collegare una policy IAM a un principale, consulta [Aggiunta e rimozione di autorizzazioni per identità IAM](access_policies_manage-attach-detach.md).
+ Amazon S3 supporta l'utilizzo delle policy basate su risorse nei relativi bucket. Per ulteriori informazioni, consulta [Esempi di policy di bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html).
<a name="NoDefaultPermissions"></a>
**Gli autori delle risorse non dispongono automaticamente di autorizzazioni**  
Se accedi utilizzando le Utente root dell'account AWS credenziali, sei autorizzato a eseguire qualsiasi azione sulle risorse che appartengono all'account. Tuttavia, ciò non è valido per gli utenti IAM. Un utente IAM potrebbe disporre dell'accesso per creare una risorsa, ma le autorizzazioni dell'utente, anche per tale risorsa, sono limitate a quanto è stato concesso esplicitamente. Ciò significa che la semplice creazione di una risorsa, ad esempio di un ruolo IAM, non garantisce automaticamente l'autorizzazione per la modifica o l'eliminazione di tale ruolo. Inoltre, l'autorizzazione può essere revocata in qualsiasi momento dal proprietario dell'account o da un altro utente che dispone dell'accesso per gestire le autorizzazioni.

## Controllo dell'accesso ai principali in un account specifico
<a name="access_controlling-principal-accounts"></a>

È possibile concedere direttamente agli utenti IAM dell'account l'accesso alle risorse. Se gli utenti di un altro account devono accedere alle risorse, è possibile creare un ruolo IAM. Un ruolo è un'entità che include autorizzazioni, ma non è associata a un utente specifico. Gli utenti di altri account possono assumere quel ruolo e accedere alle risorse in base alle autorizzazioni assegnate al ruolo. Per ulteriori informazioni, consulta [Accesso per un utente IAM in un altro Account AWS di tua proprietà](id_roles_common-scenarios_aws-accounts.md).

**Nota**  
Alcuni servizi supportano le policy basate sulle risorse, come descritto in [Policy basate sulle identità e policy basate su risorse](access_policies_identity-vs-resource.md) (ad esempio Amazon S3, Amazon SNS e Amazon SQS). Per tali servizi, un'alternativa all'utilizzo dei ruoli consiste nel collegare una policy alla risorsa (bucket, argomento o coda) che si desidera condividere. La politica basata sulle risorse può specificare l' AWS account che dispone delle autorizzazioni per accedere alla risorsa.

# Controllo dell'accesso a e per utenti e ruoli IAM mediante i tag
<a name="access_iam-tags"></a>

Utilizza le informazioni nella sezione seguente per controllare chi può accedere agli utenti e ai ruoli IAM e a quali risorse gli utenti e i ruoli possono accedere. Per informazioni più generali ed esempi di controllo dell'accesso ad altre AWS risorse, incluse altre risorse IAM, consulta[Tag per AWS Identity and Access Management le risorse](id_tags.md).

**Nota**  
Per dettagli sulla distinzione tra maiuscole e minuscole per le chiavi dei tag e i valori delle chiavi dei tag, consulta [Case sensitivity](id_tags.md#case-sensitivity).

I tag possono essere collegati alla *risorsa* IAM, trasferiti nella *richiesta* o collegati al *principale* che effettua la richiesta. Un utente o ruolo IAM può essere sia una risorsa che un principale. Ad esempio, puoi scrivere una policy che consente a un utente di elencare i gruppi per un utente. Questa operazione è consentita solo se l'utente che effettua la richiesta (principale) ha lo stesso tag `project=blue` dell'utente che sta tentando di visualizzare. In questo esempio, l'utente può visualizzare l'appartenenza al gruppo per qualsiasi utente, incluso se stesso, purché stia lavorando sullo stesso progetto.

Per controllare gli accessi in base ai tag, devi fornire informazioni sui tag nell'[elemento condizione](reference_policies_elements_condition.md) di una policy. Quando crei una policy IAM, puoi utilizzare i tag IAM e la chiave di condizione tag associata per controllare l'accesso a quanto segue:
+ **[Risorsa](access_tags.md#access_tags_control-resources)**: controlla l'accesso alle risorse di utente o ruolo in base ai relativi tag. Per fare ciò, usa la chiave **aws:ResourceTag/*key-name***condition per specificare quale coppia chiave-valore di tag deve essere associata alla risorsa. Per ulteriori informazioni, consulta [Controllo dell'accesso alle AWS risorse](access_tags.md#access_tags_control-resources).
+ **[Richiesta](access_tags.md#access_tags_control-requests)**: controlla quali tag possono essere passati in una richiesta IAM. A tale scopo, usa la chiave **aws:RequestTag/*key-name***condition per specificare quali tag possono essere aggiunti, modificati o rimossi da un utente o ruolo IAM. Questa chiave viene utilizzata allo stesso modo per le risorse IAM e altre AWS risorse. Per ulteriori informazioni, consulta [Controllo dell'accesso durante AWS le richieste](access_tags.md#access_tags_control-requests).
+ **[Principale](#access_iam-tags_control-principals)**: controlla le operazioni consentite alla persona che effettua la richiesta (il principale) in base ai tag collegati all'utente o al ruolo IAM di tale persona. Per fare ciò, usa la chiave **aws:PrincipalTag/*key-name***condition per specificare quali tag devono essere allegati all'utente o al ruolo IAM prima che la richiesta sia consentita.
+ **[Qualsiasi parte del processo di autorizzazione](#access_iam-tags_control-tag-keys)**: utilizza la chiave **aws: TagKeys** condition per controllare se chiavi di tag specifiche possono essere utilizzate in una richiesta o da un principale. In questo caso, il valore chiave non è importante. Questa chiave si comporta in modo simile per IAM e altri AWS servizi. Tuttavia, quando aggiungi tag a un utente in IAM, questo controlla anche se il principale può effettuare la richiesta a qualsiasi servizio. Per ulteriori informazioni, consulta [Controllo dell'accesso in base alle chiavi di tag](access_tags.md#access_tags_control-tag-keys).

È possibile creare una policy IAM utilizzando l'editor visivo, tramite JSON o importando una policy gestita esistente. Per informazioni dettagliate, vedi [Definire le autorizzazioni IAM personalizzate con policy gestite dal cliente](access_policies_create.md).

**Nota**  
Puoi anche passare [tag di sessione](id_session-tags.md) quando assumi un ruolo IAM o esegui la federazione di un utente. Questi tag sono validi solo per la durata della sessione.

## Controllo dell'accesso per i principali IAM
<a name="access_iam-tags_control-principals"></a>

È possibile controllare le operazioni che il principale è autorizzato a eseguire in base ai tag collegati all'identità di tale persona. 

Questo esempio mostra come creare una policy basata sull'identità che consenta a qualsiasi utente in questo account di visualizzare l'appartenenza al gruppo per qualsiasi utente, incluso sé stesso, purché stia lavorando sullo stesso progetto. Questa operazione è consentita solo quando il tag della risorsa dell'utente e il tag del principale hanno lo stesso valore per la chiave del tag `project`. Per utilizzare questa politica, sostituisci la politica *italicized placeholder text* nell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "iam:ListGroupsForUser",
            "Resource": "arn:aws:iam::111222333444:user/*",
            "Condition": {
                "StringEquals": {"aws:ResourceTag/project": "${aws:PrincipalTag/project}"}
            }
        }]
}
```

------

## Controllo dell'accesso in base alle chiavi di tag
<a name="access_iam-tags_control-tag-keys"></a>

Puoi utilizzare i tag nelle policy IAM per controllare se chiavi di tag specifiche possono essere utilizzate in una richiesta o da un principale.

Questo esempio mostra come creare una policy basata sull'identità che consenta di rimuovere solo il tag con la chiave `temporary` da parte degli utenti. Per utilizzare questa politica, sostituisci la *italicized placeholder text* politica dell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Effect": "Allow",
        "Action": "iam:UntagUser",
        "Resource": "*",
        "Condition": {"ForAllValues:StringEquals": {"aws:TagKeys": ["temporary"]}}
    }]
}
```

------

# Controllo dell'accesso alle AWS risorse tramite tag
<a name="access_tags"></a>

Puoi utilizzare i tag per controllare l'accesso alle tue AWS risorse che supportano l'etichettatura, incluse le risorse IAM. Puoi aggiungere i tag a utenti e ruoli IAM per controllare a cosa possono accedere. Per ulteriori informazioni su come applicare tag a utenti e ruoli IAM, consulta [Tag per AWS Identity and Access Management le risorse](id_tags.md). Inoltre, puoi controllare l'accesso alle seguenti risorse IAM: policy gestite dal cliente, provider di identità IAM, profili delle istanze, certificati server e dispositivi MFA virtuali. Per visualizzare un tutorial per la creazione e il test di una policy che consente ai ruoli IAM con tag principali di accedere alle risorse con tag corrispondenti, consulta [Tutorial IAM: definisci le autorizzazioni per accedere alle AWS risorse in base ai tag](tutorial_attribute-based-access-control.md). Utilizza le informazioni contenute nella sezione seguente per controllare l'accesso ad altre AWS risorse, incluse le risorse IAM, senza etichettare gli utenti o i ruoli IAM.

Prima di utilizzare i tag per controllare l'accesso alle tue AWS risorse, devi capire come AWS concedere l'accesso. AWS è composto da raccolte di *risorse*. Una istanza Amazon EC2 è una risorsa. Un bucket Amazon S3 è una risorsa. Puoi utilizzare l' AWS API AWS CLI, the o the Console di gestione AWS per eseguire un'operazione, come la creazione di un bucket in Amazon S3. In questo caso, invii una *richiesta* per tale operazione. La richiesta specifica un'operazione, una risorsa, un'*entità principale* (utente o ruolo), un *account principale* e qualsiasi altra informazione necessaria per la richiesta. Tutte queste informazioni forniscono il *contesto*.

AWS verifica quindi che tu (l'entità principale) sia autenticato (effettuato l'accesso) e autorizzato (disponi del permesso) a eseguire l'azione specificata sulla risorsa specificata. Durante l'autorizzazione, AWS controlla tutte le politiche che si applicano al contesto della richiesta. La maggior parte delle politiche viene archiviata AWS come [documenti JSON](access_policies.md#access_policies-json) e specifica le autorizzazioni per le entità principali. Per ulteriori informazioni sui tipi di policy e i relativi utilizzi, consulta [Politiche e autorizzazioni in AWS Identity and Access Management](access_policies.md).

AWS autorizza la richiesta solo se ogni parte della richiesta è consentita dalle politiche. Per visualizzare un diagramma e per ulteriori informazioni sull'infrastruttura IAM, consulta [Funzionamento di IAM](intro-structure.md). Per ulteriori informazioni su come IAM determina se una richiesta è consentita, consulta [Logica di valutazione delle policy](reference_policies_evaluation-logic.md).

I tag possono complicare questo processo perché possono essere collegati alla *risorsa* o trasferiti nella *richiesta* verso servizi che supportano il tagging. Per controllare gli accessi in base ai tag, devi fornire informazioni sui tag nell'[elemento condizione](reference_policies_elements_condition.md) di una policy. Per sapere se un AWS servizio supporta il controllo dell'accesso tramite tag, consulta [AWS servizi che funzionano con IAM](reference_aws-services-that-work-with-iam.md) e cerca i servizi con **Sì** nella colonna **ABAC**. Scegli il nome del servizio per visualizzarne la documentazione sul controllo degli accessi e delle autorizzazioni.

Puoi quindi creare una policy IAM che consenta o rifiuti l'accesso a una risorsa in base al tag di quella risorsa. In quella policy, puoi utilizzare chiavi di condizione tag per controllare gli accessi a quanto segue:
+ **[Risorsa](#access_tags_control-resources)**: controlla l'accesso alle risorse del AWS servizio in base ai tag presenti su tali risorse. Per fare ciò, usa la chiave **aws:ResourceTag/*key-name***condition per determinare se consentire l'accesso alla risorsa in base ai tag allegati alla risorsa.
+ **[Risorsa](#access_tags_control-requests)**: controlla quali tag possono essere passati in una richiesta. Per fare ciò, usa la chiave di *key-name* condizione **aws:RequestTag/**per specificare quali coppie chiave-valore di tag possono essere passate in una richiesta di taggare una AWS risorsa.
+ **[Qualsiasi parte del processo di autorizzazione](#access_tags_control-tag-keys)**: usa la chiave **aws: TagKeys** condition per controllare se in una richiesta possono essere presenti chiavi di tag specifiche. 

È possibile creare una policy IAM visivamente, utilizzando JSON o importando una policy gestita esistente. Per informazioni dettagliate, vedi [Definire le autorizzazioni IAM personalizzate con policy gestite dal cliente](access_policies_create.md).

**Nota**  
Alcuni servizi consentono agli utenti di specificare tag durante la creazione della risorsa, se dispongono delle autorizzazioni per utilizzare l'operazione che crea la risorsa.

## Controllo dell'accesso alle AWS risorse
<a name="access_tags_control-resources"></a>

Puoi utilizzare le condizioni delle tue policy IAM per controllare l'accesso alle AWS risorse in base ai tag presenti su quella risorsa. Puoi eseguire questa operazione utilizzando la chiave di condizione `aws:ResourceTag/tag-key` globale o una chiave specifica del servizio. Alcuni servizi, supportano solo la versione specifica del servizio di questa chiave e non la versione globale. 

**avvertimento**  
Non cercare di controllare chi può passare un ruolo assegnando tag al ruolo e utilizzando la chiave di condizione `ResourceTag` in una policy con l'operazione `iam:PassRole`. Questo approccio non produce risultati affidabili. Per ulteriori informazioni sulle autorizzazioni richieste per trasferire un ruolo a un servizio, consulta [Concedere a un utente le autorizzazioni per passare un ruolo a un servizio AWS](id_roles_use_passrole.md).

 Questo esempio mostra come creare una policy basata sull'identità che consenta di avviare o arrestare le istanze Amazon EC2. Queste operazioni sono consentite solo se il tag dell'istanza `Owner` ha il valore del nome utente. Questa policy definisce le autorizzazioni per l'accesso a livello di programmazione e alla console. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:StartInstances",
                "ec2:StopInstances"
            ],
            "Resource": "arn:aws:ec2:*:*:instance/*",
            "Condition": {
                "StringEquals": {"aws:ResourceTag/Owner": "${aws:username}"}
            }
        },
        {
            "Effect": "Allow",
            "Action": "ec2:DescribeInstances",
            "Resource": "*"
        }
    ]
}
```

------

Puoi allegare questa policy agli utenti IAM nel tuo account. Se un utente denominato `richard` prova ad avviare un'istanza Amazon EC2, l'istanza deve avere il tag `Owner=richard` o `owner=richard`. In caso contrario, gli verrà negato l'accesso. La chiave di tag `Owner` corrisponde sia a `Owner` sia a `owner` perché i nomi delle chiavi di condizione non distinguono tra maiuscole e minuscole. Per ulteriori informazioni, consulta [Elementi delle policy JSON IAM: Condition](reference_policies_elements_condition.md).

Questo esempio mostra come creare una policy basata sull'identità che utilizza il tag del principale `team` nell'ARN della risorsa. La policy concede l'autorizzazione per eliminare le code del servizio di coda semplice Amazon (Amazon SQS), ma solo se il nome della coda inizia con il nome del team seguito da `-queue`. Ad esempio, `qa-queue` se `qa` è il nome del team per il tag del principale `team`.

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

****  

```
{
      "Version":"2012-10-17",		 	 	 
      "Statement": {
        "Sid": "AllQueueActions",
        "Effect": "Allow",
        "Action": "sqs:DeleteQueue",
        "Resource": "arn:aws:sqs:us-east-2:111122223333:${aws:PrincipalTag/team}-queue"
      }
}
```

------

## Controllo dell'accesso durante AWS le richieste
<a name="access_tags_control-requests"></a>

Puoi utilizzare le condizioni nelle tue policy IAM per controllare quali coppie chiave-valore di tag possono essere passate in una richiesta che applica i tag a una AWS risorsa.

Questo esempio mostra come creare una policy basata sull'identità che consenta di utilizzare l'operazione `CreateTags` di Amazon EC2 per assegnare tag a un'istanza. Puoi collegare i tag solo se il tag contiene la chiave `environment` e i valori `production` o `preprod`. Se lo desideri, puoi utilizzare il modificatore `ForAllValues` con la chiave di condizione `aws:TagKeys` per indicare che nella richiesta è ammessa solo la chiave `environment`. In questo modo gli utenti smetteranno di includere altre chiavi ad esempio utilizzando per errore `Environment` invece di `environment`. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Action": "ec2:CreateTags",
        "Resource": "arn:aws:ec2:*:*:instance/*",
        "Condition": {
            "StringEquals": {
                "aws:RequestTag/environment": [
                    "preprod",
                    "production"
                ]
            },
            "ForAllValues:StringEquals": {"aws:TagKeys": "environment"}
        }
    }
}
```

------

## Controllo dell'accesso in base alle chiavi di tag
<a name="access_tags_control-tag-keys"></a>

Puoi utilizzare una condizione nelle policy IAM per controllare se determinate chiavi di tag possono essere utilizzate in una richiesta.

Quando utilizzi le policy per controllare l'accesso tramite tag, ti consigliamo di utilizzare la chiave [`aws:TagKeys`condition](reference_policies_condition-keys.md#condition-keys-tagkeys). AWS i servizi che supportano i tag potrebbero consentire di creare più nomi di chiavi di tag che differiscono solo in base alle maiuscole e minuscole, ad esempio etichettare un'istanza `stack=production` Amazon EC2 con e. `Stack=test` Nelle condizioni delle policy i nomi delle chiavi non distinguono tra maiuscole e minuscole. Questo significa che se specifichi `"aws:ResourceTag/TagKey1": "Value1"` nell'elemento condizione della policy, la condizione corrisponderà a una chiave di tag della risorsa denominata `TagKey1` o `tagkey1`, ma non a entrambe. Per impedire la duplicazione dei tag con una chiave che cambia solo per le dimensioni dei caratteri, utilizza la condizione `aws:TagKeys` per definire le chiavi di tag applicabili dagli utenti, o usa le policy di tag disponibili con AWS Organizations. Per ulteriori informazioni, consulta [Tag Policies](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies.html) nella *Guida per l’utente di AWS Organizations *. 

Questo esempio mostra come creare una policy basata sull'identità che consenta di creare e assegnare tag a un secreto di Secrets Manager, ma solo con le chiavi di tag `environment` o `cost-center`. La condizione `Null` garantisce che la condizione sia `false` in assenza di tag nella richiesta.

```
{
        "Effect": "Allow",
        "Action": [
            "secretsmanager:CreateSecret",
            "secretsmanager:TagResource"
        ],
        "Resource": "*",
        "Condition": {
            "Null": {
                "aws:TagKeys": "false"
            },
            "ForAllValues:StringEquals": {
                "aws:TagKeys": [
                    "environment",
                    "cost-center"
                ]
            }
        }
}
```

# Accesso alle risorse multi-account in IAM
<a name="access_policies-cross-account-resource-access"></a>

Per alcuni AWS servizi, puoi concedere l'accesso a più account alle tue risorse utilizzando IAM. A tale scopo, è possibile collegare una policy direttamente alla risorsa da condividere oppure utilizzare un ruolo come proxy.

Per condividere direttamente la risorsa, la risorsa da condividere deve supportare le [policy basate su risorse](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_access-management.html#intro-access-resource-based-policies). A differenza di una policy basata su identità per un ruolo, una policy basata su risorse specifica chi (quale principale) può accedere a tale risorsa.

Utilizza un ruolo come proxy quando desideri accedere a risorse di un altro account che non supportano le policy basate su risorse.

Per ulteriori dettagli sulle differenze tra questi tipi di policy, consulta la sezione [Policy basate sulle identità e policy basate su risorse](access_policies_identity-vs-resource.md).

**Nota**  
I ruoli IAM e le policy basate sulle risorse delegano l'accesso tra account solo all'interno di una singola partizione. Ad esempio, poniamo che tu abbia un account nella Regione Stati Uniti occidentali (California settentrionale) nella partizione `aws` standard. Hai anche un account in Cina nella partizione `aws-cn`. Non puoi utilizzare una politica basata sulle risorse nel tuo account in Cina per consentire l'accesso agli utenti del tuo account standard. AWS 

## Accesso multi-account tramite ruoli
<a name="access_policies-cross-account-using-roles"></a>

Non tutti i AWS servizi supportano politiche basate sulle risorse. Per questi servizi, puoi utilizzare i ruoli IAM multi-account per centralizzare la gestione delle autorizzazioni quando fornisci l'accesso multi-account a più servizi. Un ruolo IAM su più account è un ruolo IAM che include una [policy di fiducia](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#term_trust-policy) che consente ai responsabili IAM di un altro AWS account di assumere il ruolo. In poche parole, puoi creare un ruolo in un AWS account che delega autorizzazioni specifiche a un altro account. AWS 

Per informazioni sul collegamento di una policy a un'identità IAM, consulta [Gestire le policy IAM](access_policies_manage.md).

**Nota**  
Quando un principale passa a un ruolo per utilizzare temporaneamente le rispettive autorizzazioni, rinuncia alle autorizzazioni originali e assume quelle assegnate al ruolo che ha assunto.

Diamo un'occhiata al processo complessivo prendendo in esame un software di un partner APN che deve accedere a un account cliente.

1. Il cliente crea un ruolo IAM nel proprio account con una policy IAM che consente l'accesso alle risorse Amazon S3 richieste dal partner APN. In questo esempio, il nome del ruolo è `APNPartner`.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "s3:*",
               "Resource": [
                   "arn:aws:s3:::bucket-name"
               ]
           }
       ]
   }
   ```

------

1. Quindi, il cliente specifica che il ruolo può essere assunto dall' AWS account del partner fornendo l' Account AWS ID del partner APN nella [politica di fiducia relativa](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) al ruolo. `APNPartner`

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:role/APN-user-name"
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

1. Il cliente fornisce il nome della risorsa Amazon (ARN) del ruolo al partner APN. L'ARN è il nome completo del ruolo.

   ```
   arn:aws:iam::Customer-Account-ID:role/APNPartner
   ```
**Nota**  
Ti consigliamo di utilizzare un ID esterno in situazioni multi-tenant. Per informazioni dettagliate, vedi [Accesso a Account AWS siti di proprietà di terzi](id_roles_common-scenarios_third-party.md).

1. Quando il software del partner APN deve accedere all'account del cliente, chiama l'[AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)API AWS Security Token Service con l'ARN del ruolo nell'account del cliente. STS restituisce una AWS credenziale temporanea che consente al software di svolgere il proprio lavoro.

Per un altro esempio di concessione dell'accesso multi-account utilizzando i ruoli, consulta la sezione [Accesso per un utente IAM in un altro Account AWS di tua proprietà](id_roles_common-scenarios_aws-accounts.md). Puoi anche seguire il [Tutorial IAM: delega l'accesso tra AWS account utilizzando i ruoli IAM](tutorial_cross-account-with-roles.md).

## Accesso multi-account utilizzando policy basate su risorse
<a name="access_policies-cross-account-using-resource-based-policies"></a>

Quando un account accede a una risorsa tramite un altro account utilizzando una policy basata su risorse, il principale continua a utilizzare l'account attendibile e non deve rinunciare alle proprie autorizzazioni per ricevere quelle del ruolo. In altre parole, il principale ha accesso alle risorse dell'account attendibile e contemporaneamente alla risorsa nell'account che concede fiducia. Questa funzione è utile per attività come la copia di informazioni da o verso la risorsa condivisa nell'altro account.

I principali che è possibile specificare in una politica basata sulle risorse includono account, utenti IAM, responsabili di utenti federati, responsabili AWS STS federati SAML, principali federati OIDC, ruoli IAM, sessioni con ruoli presunti o servizi. AWS Per ulteriori informazioni, consulta la sezione [Specifica di un principale](https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_elements_principal.html#Principal_specifying).

Per capire se i principali negli account esterni alla zona di attendibilità (organizzazione o account attendibile) dispongono dell'accesso per assumere i ruoli, consulta la sezione [Identificazione di risorse condivise con un'entità esterna](https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html#what-is-access-analyzer-resource-identification).

L'elenco seguente include alcuni dei servizi che supportano le politiche basate sulle risorse. AWS **Per un elenco completo del numero crescente di AWS servizi che supportano l'associazione di politiche di autorizzazione alle risorse anziché ai principali, consulta [AWS servizi che funzionano con IAM](reference_aws-services-that-work-with-iam.md) e cerca i servizi con **Sì** nella colonna Resource Based.**
+ **Bucket Amazon S3**: la policy è collegata al bucket, ma controlla l'accesso sia al bucket sia agli oggetti in esso contenuti. Per maggiori informazioni, consulta [Policy del bucket per Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-policies.html) nella *Guida per l'utente di Amazon Simple Storage Service*. In alcuni casi, può essere opportuno utilizzare ruoli per l'accesso per più account ad Amazon S3. Per ulteriori informazioni, consulta le [spiegazioni passo per passo di esempio](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-walkthroughs-managing-access.html) nella *Guida per l'utente di Amazon Simple Storage Service*.
+ **Argomenti Amazon Simple Notification Service (Amazon SNS)**: per ulteriori informazioni, consulta la sezione [Casi di esempio per il controllo degli accessi Amazon SNS](https://docs.aws.amazon.com//sns/latest/dg/sns-access-policy-use-cases.html) nella *Guida per gli sviluppatori di Amazon Simple Notification Service*.
+ **Code di Amazon Simple Queue Service (Amazon SQS)**: per ulteriori informazioni, consulta [Appendice: La sintassi della policy di accesso](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-creating-custom-policies.html) nella*Guida per gli sviluppatori di Amazon Simple Queue Service*. 

## Politiche basate sulle risorse per la delega delle autorizzazioni AWS
<a name="access_policies-cross-account-delegating-resource-based-policies"></a>

Se una risorsa concede le autorizzazioni ai principali nell'account, puoi delegare tali autorizzazioni a identità IAM specifiche. Le identità sono utenti, gruppi di utenti o ruoli nell'account. Per delegare le autorizzazioni, collegare una policy all'identità. È possibile concedere fino al numero massimo di autorizzazioni consentite dall'account proprietario della risorsa.

**Importante**  
Nell'accesso multi-account, il principale deve disporre della condizione `Allow` nella policy di identità **e** nella policy basata su risorse.

Si supponga che una policy basata sulle risorse consenta a tutti i principali nell'account l'accesso amministrativo completo a una risorsa. Quindi puoi delegare l'accesso completo, l'accesso in sola lettura o qualsiasi altro accesso parziale ai principali del tuo account. AWS In alternativa, se la policy basata sulle risorse consente solo le autorizzazioni per la presentazione di elenchi, è possibile delegare solo l'accesso all'elenco. Se si tenta di delegare più autorizzazioni rispetto a quelle possedute dall'account, i principali avranno comunque solo accesso all'elenco.

Per ulteriori informazioni su come vengono prese queste decisioni, consulta la sezione [Determinare se una richiesta è consentita o rifiutata all'interno di un account](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic_policy-eval-denyallow.html).

**Nota**  
I ruoli IAM e le policy basate sulle risorse delegano l'accesso tra account solo all'interno di una singola partizione. Ad esempio, non è possibile aggiungere l'accesso tra account tra un account nella partizione `aws` standard e un account nella partizione `aws-cn`. 

Ad esempio, si supponga di gestire `AccountA` e `AccountB`. Nell'AccountA, disponi di un bucket Amazon S3 denominato `BucketA`.

![\[Una policy basata su risorse creata per il bucket Amazon S3 fornisce le autorizzazioni dell'AccountB all'AccountA.\]](http://docs.aws.amazon.com/it_it/IAM/latest/UserGuide/images/access_policies-cross-account.png)


1. Colleghi una policy basata su risorse ad `BucketA` che consente a tutti i principali nell'AccountB l'accesso completo agli oggetti nel bucket. Possono creare, leggere o eliminare qualsiasi oggetto in tale bucket. 

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "PrincipalAccess",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:root"
               },
               "Action": "s3:*",
               "Resource": "arn:aws:s3:::BucketA/*"
           }
       ]
   }
   ```

------

   AccountA fornisce all'AccountB l'accesso completo al BucketA denominando AccountB come un principale nella policy basata su risorse. Di conseguenza, l'AccountB è autorizzato a eseguire qualsiasi operazione nel BucketA e l'amministratore dell'AccountB può delegare l'accesso ai propri utenti nell'AccountB.

   L'utente root dell'AccountB dispone di tutte le autorizzazioni concesse all'account. Pertanto, l'utente root dispone di accesso completo al BucketA.

1. Nell'AccountB, collega una policy all'utente IAM denominato User2. Tale policy consente all'utente l'accesso in sola lettura agli oggetti nel BucketA. Ciò significa che User2 può visualizzare gli oggetti, ma non crearli, modificarli o eliminarli. 

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect" : "Allow", 
               "Action" : [ 
                   "s3:Get*", 
                   "s3:List*" ], 
                   "Resource" : "arn:aws:s3:::BucketA/*" 
           } 
       ]
   }
   ```

------

   Il livello massimo di accesso che AccountB è in grado di delegare è il livello di accesso concesso all'account. In questo caso, la policy basata su risorse ha concesso l'accesso completo all'AccountB, ma User2 dispone solo dell'accesso di sola lettura.

   L'amministratore dell'AccountB non concede l'accesso a User1. Per impostazione predefinita, gli utenti non dispongono di autorizzazioni ad eccezione di quelle concesse in modo esplicito, pertanto User1 non ha accesso al BucketA.

IAM valuta le autorizzazioni di un principale nel momento in cui il principale effettua una richiesta. Se usi i caratteri jolly (\$1) per consentire agli utenti l'accesso completo alle tue risorse, i mandanti possono accedere a tutte le risorse a cui ha accesso il tuo account. AWS Ciò vale anche per le risorse che vengono aggiunte o a cui si ha accesso dopo aver creato le policy dell'utente.

Nell'esempio precedente, se l'AccountB avesse collegato a User2 una policy che concedeva l'accesso completo a tutte le risorse in tutti gli account, User2 avrebbe automaticamente avuto accesso a qualsiasi risorsa alla quale ha accesso l'AccountB. Ciò include l'accesso al BucketA e l'accesso a qualsiasi altra risorsa concesso dalle policy basate su risorse nell'AccountA.

Per ulteriori informazioni sugli usi complessi dei ruoli, come la concessione dell'accesso ad applicazioni e servizi, consulta la sezione [Scenari comuni per i ruoli IAM](id_roles_common-scenarios.md).

**Importante**  
Concedere l'accesso solo a entità attendibili e fornire il livello minimo di accesso necessario. Ogni volta che l'entità fidata è un altro AWS account, a qualsiasi responsabile IAM può essere concesso l'accesso alla tua risorsa. L' AWS account fidato può delegare l'accesso solo nella misura in cui gli è stato concesso l'accesso; non può delegare un accesso maggiore di quello concesso all'account stesso.

Per ulteriori informazioni sulle autorizzazioni, le policy e il linguaggio di policy di autorizzazioni che è possibile utilizzare per scrivere policy, consultare [Gestione degli accessi AWS alle risorse](access.md).

# Inoltro delle sessioni di accesso
<a name="access_forward_access_sessions"></a>

Le sessioni di accesso inoltrato (FAS) sono una tecnologia IAM utilizzata dai AWS servizi per trasmettere identità, autorizzazioni e attributi di sessione quando un AWS servizio effettua una richiesta per conto dell'utente. FAS utilizza le autorizzazioni dell'identità che chiama un AWS servizio, combinate con l'identità di un AWS servizio per effettuare richieste ai servizi downstream. Le richieste FAS vengono inviate ai AWS servizi per conto di un responsabile IAM solo dopo che un servizio ha ricevuto una richiesta che richiede interazioni con altri AWS servizi o risorse per essere completata. Quando viene effettuata una richiesta FAS:
+ Il servizio che riceve la richiesta iniziale da un principale IAM controlla le autorizzazioni di tale principale IAM.
+ Anche il servizio che riceve la conseguente richiesta FAS controlla le autorizzazioni dello stesso principale IAM.

Ad esempio, FAS viene utilizzato da Amazon S3 per effettuare chiamate AWS Key Management Service per decrittografare un oggetto [quando](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html) SSE-KMS è stato utilizzato per crittografarlo. Quando si scarica un oggetto crittografato SSE-KMS, un ruolo denominato **data-reader** chiama l'oggetto GetObject su Amazon S3 e non chiama direttamente. AWS KMS Dopo aver ricevuto la GetObject richiesta e autorizzato il lettore di dati, Amazon S3 effettua quindi una richiesta FAS AWS KMS a per decrittografare l'oggetto Amazon S3. Quando KMS riceve la richiesta FAS, controlla le autorizzazioni del ruolo e autorizza la richiesta di decrittografia solamente se data-reader dispone delle autorizzazioni corrette sulla chiave KMS. Le richieste ad Amazon S3 AWS KMS sono autorizzate utilizzando le autorizzazioni del ruolo e hanno esito positivo solo se data-reader dispone delle autorizzazioni sia per l'oggetto Amazon S3 che per la chiave KMS. AWS 

![\[Un diagramma di flusso di un ruolo IAM passato come principale prima ad Amazon S3 e poi a AWS KMS.\]](http://docs.aws.amazon.com/it_it/IAM/latest/UserGuide/images/access-fas-example.png)


**Nota**  
I servizi che hanno ricevuto una richiesta FAS possono a loro volta effettuare richieste FAS aggiuntive. In questi casi, il principale che esegue la richiesta deve disporre delle autorizzazioni per tutti i servizi chiamati da FAS.

## Richieste FAS e condizioni delle policy IAM
<a name="access_fas_policy_conditions"></a>

Quando vengono effettuate richieste FAS, le chiavi di condizione [aws:CalledVia](reference_policies_condition-keys.md#condition-keys-calledvia), [aws:CalledViaFirst](reference_policies_condition-keys.md#condition-keys-calledviafirst) e [aws:CalledViaLast](reference_policies_condition-keys.md#condition-keys-calledvialast) vengono compilate con il principale di servizio del servizio che ha avviato la chiamata FAS. Il valore della chiave di condizione [aws:ViaAWSService](reference_policies_condition-keys.md#condition-keys-viaawsservice) viene impostato su `true` ogni volta che viene effettuata una richiesta FAS. Nel diagramma seguente, per la richiesta a direct non è impostata CloudFormation alcuna chiave o condizionale. `aws:CalledVia` `aws:ViaAWSService` Quando CloudFormation e DynamoDB effettuano richieste FAS downstream per conto del ruolo, i valori per queste chiavi di condizione vengono compilati.

![\[Un diagramma di flusso di un ruolo IAM che viene passato come principale a CloudFormation e quindi passa i valori della chiave della condizione a DynamoDB e. AWS KMS\]](http://docs.aws.amazon.com/it_it/IAM/latest/UserGuide/images/access-fas-example2.png)


Per consentire l'invio di una richiesta FAS quando altrimenti verrebbe negata da una dichiarazione di politica Deny con una chiave di condizione che verifica gli indirizzi IP di origine o l'origine VPCs, è necessario utilizzare le chiavi di condizione per fornire un'eccezione per le richieste FAS nella politica Deny. Questa operazione può essere eseguita per tutte le richieste FAS utilizzando la chiave di condizione `aws:ViaAWSService`. Per consentire solo a AWS servizi specifici di effettuare richieste FAS, utilizza. `aws:CalledVia`

**Importante**  
Quando viene effettuata una richiesta FAS in seguito a una richiesta iniziale effettuata tramite un endpoint VPC, i valori delle chiavi di condizione per `aws:SourceVpce`, `aws:SourceVpc` e `aws:VpcSourceIp` della richiesta iniziale non vengono utilizzati nelle richieste FAS. Quando si scrivono policy utilizzando `aws:VPCSourceIP` o `aws:SourceVPCE` per concedere l'accesso in modo condizionale, è inoltre necessario utilizzare `aws:ViaAWSService` o `aws:CalledVia` per consentire le richieste FAS. Quando viene effettuata una richiesta FAS dopo che una richiesta iniziale è stata ricevuta da un endpoint di AWS servizio pubblico, le richieste FAS successive verranno effettuate con lo stesso `aws:SourceIP` valore della chiave di condizione.

## Esempio: consentire ad Amazon S3 l'accesso da un VPC o tramite FAS
<a name="access_fas_example"></a>

Nel seguente esempio di policy IAM, le richieste Amazon S3 e GetObject Athena sono consentite solo se provengono da endpoint VPC collegati a o se la richiesta è una richiesta *example\$1vpc* FAS effettuata da Athena.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "OnlyAllowMyIPs",
      "Effect": "Allow",
      "Action": [
        "s3:GetObject*",
        "athena:StartQueryExecution",
        "athena:GetQueryResults",
        "athena:GetWorkGroup",
        "athena:StopQueryExecution",
        "athena:GetQueryExecution"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:SourceVPC": [
          "vpc-111bbb22"
          ]
        }
      }
    },
    {
      "Sid": "OnlyAllowFAS",
      "Effect": "Allow",
      "Action": [
        "s3:GetObject*"
      ],
      "Resource": "*",
      "Condition": {
        "ForAnyValue:StringEquals": {
          "aws:CalledVia": "athena.amazonaws.com"
        }
      }
    }
  ]
}
```

------

Per ulteriori esempi di utilizzo delle chiavi di condizione per consentire l'accesso FAS, consulta il [repository di esempi di policy per implementare un perimetro di dati](https://github.com/aws-samples/data-perimeter-policy-examples).

# Esempi di policy basate su identità IAM
<a name="access_policies_examples"></a>

Una [policy](access_policies.md) è un oggetto AWS che, se associato a un'identità o a una risorsa, ne definisce le autorizzazioni. AWS valuta queste politiche quando un responsabile IAM (utente o ruolo) effettua una richiesta. Le autorizzazioni nelle policy determinano l’approvazione o il rifiuto della richiesta. La maggior parte delle policy viene archiviata AWS come documenti JSON allegati a un'identità IAM (utente, gruppo di utenti o ruolo). Le policy basate sulle identità includono policy gestite da AWS , policy gestite dal cliente e policy inline. Per ulteriori informazioni su come creare una policy IAM utilizzando questi documenti di policy JSON, consulta [Creazione di policy utilizzando l'editor JSON](access_policies_create-console.md#access_policies_create-json-editor).

Per impostazione predefinita, tutte le richieste vengono rifiutate, pertanto è necessario fornire l'accesso a servizi, azioni e risorse da rendere disponibili per l'identità. Se desideri consentire l'accesso anche per completare le operazioni specificate nella console IAM, dovrai fornire ulteriori autorizzazioni.

La seguente libreria di policy può aiutarti a definire le autorizzazioni per le tue identità IAM. Una volta trovata la policy desiderata, seleziona **view this policy (visualizza la policy)** per consultare il JSON della policy. Puoi utilizzare il documento di policy JSON come modello per le tue policy.

**Nota**  
Per inviare una policy e includerla in questa guida di riferimento, utilizza il pulsante **Feedback** in fondo a questa pagina.

## Politiche di esempio: AWS
<a name="policy_library_AWS"></a>
+ Consente l'accesso in un intervallo di date specifico. ([Visualizzare questa policy](reference_policies_examples_aws-dates.md)).
+ Consente di abilitare e disabilitare AWS le regioni. ([Visualizzare questa policy](reference_policies_examples_aws-enable-disable-regions.md)).
+ Consente agli utenti autenticati con MFA di gestire le proprie credenziali nella pagina **Credenziali di sicurezza**. ([Visualizzare questa policy](reference_policies_examples_aws_my-sec-creds-self-manage.md)).
+ Consente un accesso specifico quando utilizzi MFA durante un determinato intervallo di date. ([Visualizzare questa policy](reference_policies_examples_aws_mfa-dates.md)).
+ Consente agli utenti di gestire le proprie credenziali nella pagina **Credenziali di sicurezza**. ([Visualizzare questa policy](reference_policies_examples_aws_my-sec-creds-self-manage-no-mfa.md)).
+ Consente agli utenti di gestire il proprio dispositivo MFA nella pagina **Credenziali di sicurezza**. ([Visualizzare questa policy](reference_policies_examples_aws_my-sec-creds-self-manage-mfa-only.md)).
+ Consente agli utenti di gestire la propria password nella pagina **Credenziali di sicurezza**. ([Visualizzare questa policy](reference_policies_examples_aws_my-sec-creds-self-manage-password-only.md)).
+ Consente agli utenti di gestire la propria password, le chiavi di accesso e le chiavi pubbliche SSH nella pagina **Credenziali di sicurezza**. ([Visualizzare questa policy](reference_policies_examples_aws_my-sec-creds-self-manage-pass-accesskeys-ssh.md)).
+ Nega l'accesso a in AWS base alla regione richiesta. ([Visualizzare questa policy](reference_policies_examples_aws_deny-requested-region.md)).
+ Nega l'accesso a in AWS base all'indirizzo IP di origine. ([Visualizzare questa policy](reference_policies_examples_aws_deny-ip.md)).

## Politica di esempio: AWS Data Exchange
<a name="policy_data_exchange"></a>
+ Nega l'accesso alle risorse Amazon S3 al di fuori del tuo account, tranne AWS Data Exchange. ([Visualizzare questa policy](reference_policies_examples_resource_account_data_exch.md)).

## Politiche di esempio: AWS Data Pipeline
<a name="policy_library_DataPipeline"></a>
+ Rifiuta l'accesso alle pipeline non create dall'utente ([Visualizzare questa policy](reference_policies_examples_datapipeline_not-owned.md)).

## Policy di esempio: Amazon DynamoDB
<a name="policy_library_DynamoDB"></a>
+ Consente l'accesso a una specifica tabella Amazon DynamoDB ([Visualizza questa policy](reference_policies_examples_dynamodb_specific-table.md)).
+ Consente l'accesso ad attributi Amazon DynamoDB specifici ([Visualizza questa policy](reference_policies_examples_dynamodb_attributes.md)).
+ Consente l'accesso a livello di elemento ad Amazon DynamoDB in base a un ID Amazon Cognito ([Visualizza questa policy](reference_policies_examples_dynamodb_items.md)).

## Politiche di esempio: Amazon EC2
<a name="policy_library_ec2"></a>
+ Consente di allegare o scollegare i volumi Amazon EBS alle EC2 istanze Amazon in base ai tag ([Visualizza](reference_policies_examples_ec2_ebs-owner.md) questa policy).
+ [Consente l'avvio di EC2 istanze Amazon in una sottorete specifica, a livello di codice e nella console (Visualizza questa politica).](reference_policies_examples_ec2_instances-subnet.md)
+ Consente la gestione dei gruppi EC2 di sicurezza Amazon associati a un VPC specifico, in modo programmatico e nella console ([Visualizza](reference_policies_examples_ec2_securitygroups-vpc.md) questa policy).
+ Consente di avviare o arrestare EC2 le istanze Amazon che un utente ha taggato, a livello di codice e nella console ([Visualizza](reference_policies_examples_ec2_tag-owner.md) questa politica).
+ Consente di avviare o arrestare EC2 istanze Amazon in base alle risorse e ai tag principali, a livello di codice e nella console ([Visualizza](reference_policies_examples_ec2-start-stop-tags.md) questa politica).
+ Consente di avviare o arrestare EC2 le istanze Amazon quando la risorsa e i tag principali corrispondono ([Visualizza questa politica](reference_policies_examples_ec2-start-stop-match-tags.md)).
+ Consente EC2 l'accesso completo ad Amazon all'interno di una regione specifica, a livello di programmazione e nella console. ([Visualizzare questa policy](reference_policies_examples_ec2_region.md)).
+ Consente l'avvio o l'arresto di un' EC2 istanza Amazon specifica e la modifica di un gruppo di sicurezza specifico, a livello di codice e nella console ([Visualizza](reference_policies_examples_ec2_instance-securitygroup.md) questa politica).
+ Nega l'accesso a specifiche EC2 operazioni di Amazon senza MFA [(Visualizza questa](reference_policies_examples_ec2_require-mfa.md) politica).
+ Limita la terminazione EC2 delle istanze Amazon a un intervallo di indirizzi IP specifico ([Visualizza questa politica](reference_policies_examples_ec2_terminate-ip.md)).

## Politiche di esempio: AWS Identity and Access Management (IAM)
<a name="policy_library_IAM"></a>
+ Consente l'accesso all'API del simulatore di policy ([Visualizzare questa policy](reference_policies_examples_iam_policy-sim.md)).
+ Consente l'accesso alla console del simulatore di policy ([Visualizzare questa policy](reference_policies_examples_iam_policy-sim-console.md)).
+ Consente l'assunzione di qualsiasi ruolo che dispone di un tag specifico, a livello di programmazione e nella console ([Visualizzare questa policy](reference_policies_examples_iam-assume-tagged-role.md)).
+ Consente e nega l'accesso a più servizi, a livello di programmazione e nella console ([Visualizzare questa policy](reference_policies_examples_iam_multiple-services-console.md)).
+ Consente l'aggiunta di un tag specifico a un utente IAM con un altro tag specifico, a livello di programmazione e nella console ([Visualizza questa policy](reference_policies_examples_iam-add-tag.md)).
+ Consente l'aggiunta di un tag specifico a qualsiasi utente o ruolo IAM, a livello di programmazione e nella console ([Visualizza questa policy](reference_policies_examples_iam-add-tag-user-role.md)).
+ Consente la creazione di un nuovo utente solo con tag specifici ([Visualizzare questa policy](reference_policies_examples_iam-new-user-tag.md)).
+ Consente la generazione e il recupero di report delle credenziali IAM ([Visualizzare questa policy](reference_policies_examples_iam-credential-report.md)).
+ Consente la gestione dell'appartenenza a un gruppo, a livello di programmazione e nella console ([Visualizzare questa policy](reference_policies_examples_iam_manage-group-membership.md)).
+ Consente la gestione di un tag specifico ([Visualizzare questa policy](reference_policies_examples_iam-manage-tags.md)).
+ Consente di passare un ruolo IAM a un servizio specifico ([Visualizza questa policy](reference_policies_examples_iam-passrole-service.md)).
+ Consente l'accesso in sola lettura alla console IAM senza la creazione di report ([Visualizza questa policy](reference_policies_examples_iam_read-only-console-no-reporting.md)).
+ Consente l'accesso in sola lettura alla console IAM ([Visualizza questa policy](reference_policies_examples_iam_read-only-console.md)).
+ Consente a utenti specifici di gestire un gruppo, a livello di programmazione e nella console ([Visualizzare questa policy](reference_policies_examples_iam_users-manage-group.md)).
+ Consente l'impostazione di requisiti della password dell'account, a livello di programmazione e nella console ([Visualizzare questa policy](reference_policies_examples_iam_set-account-pass-policy.md)).
+ Consente l'utilizzo dell'API del simulatore di policy per gli utenti con un percorso specifico ([Visualizzare questa policy](reference_policies_examples_iam_policy-sim-path.md)).
+ Consente l'utilizzo della console del simulatore di policy per gli utenti con un percorso specifico ([Visualizzare questa policy](reference_policies_examples_iam_policy-sim-path-console.md)).
+ Consente agli utenti IAM di gestire in modo autonomo un dispositivo MFA ([Visualizzare questa policy](reference_policies_examples_iam_mfa-selfmanage.md)).
+ Consente agli utenti IAM di impostare le credenziali a livello di programmazione e nella console. ([Visualizzare questa policy](reference_policies_examples_iam_credentials_console.md)).
+ Consente di visualizzare le informazioni sull'ultimo accesso al servizio per una AWS Organizations policy nella console IAM. ([Visualizzare questa policy](reference_policies_examples_iam_service-accessed-data-orgs.md)).
+ Limita le policy gestite che possono essere applicate a un utente, un gruppo o un ruolo IAM ([Visualizza questa policy](reference_policies_examples_iam_limit-managed.md)).
+ Consente l'accesso alle policy IAM solo nel tuo account. [Visualizza questa policy](resource_examples_iam_policies_resource_account.md).

## Politiche di esempio: AWS Lambda
<a name="policy_library_Lambda"></a>
+ Consente a una AWS Lambda funzione di accedere a una tabella Amazon DynamoDB [(Visualizza](reference_policies_examples_lambda-access-dynamodb.md) questa policy).

## Policy di esempio: Amazon RDS
<a name="policy_library_RDS"></a>
+ Consente l'accesso completo al database Amazon RDS in una regione specifica. ([Visualizzare questa policy](reference_policies_examples_rds_region.md)).
+ Consente il ripristino dei database Amazon RDS, in modo programmatico e nella console ([Visualizza questa policy](reference_policies_examples_rds_db-console.md))
+ Consente ai proprietari di tag l'accesso completo alle risorse Amazon RDS che hanno taggato ([Visualizza questa policy](reference_policies_examples_rds_tag-owner.md)).

## Policy di esempio: Amazon S3
<a name="policy_library_S3"></a>
+ Consente a un utente Amazon Cognito di accedere a oggetti del proprio bucket Amazon S3 ([Visualizza questa policy](reference_policies_examples_s3_cognito-bucket.md))
+ Consente agli utenti con credenziali temporanee di accedere alla propria home directory in Amazon S3, in modo programmatico e nella console ([Visualizza questa policy](reference_policies_examples_s3_federated-home-directory-console.md)).
+ Consente l'accesso S3 completo, ma nega esplicitamente l'accesso al bucket di produzione se l'amministratore non ha effettuato l'accesso utilizzando MFA negli ultimi trenta minuti ([Visualizzare questa policy](reference_policies_examples_s3_full-access-except-production.md)).
+ Consente agli utenti IAM di accedere alla propria directory home in Amazon S3, in modo programmatico e nella console ([Visualizza questa policy](reference_policies_examples_s3_home-directory-console.md)).
+ Consente a un utente di gestire un singolo bucket Amazon S3 e nega ogni altra AWS azione e risorsa ([Visualizza](reference_policies_examples_s3_deny-except-bucket.md) questa policy).
+ Consente un accesso di tipo `Read` e `Write` a un bucket Amazon S3 specifico ([Visualizza questa policy](reference_policies_examples_s3_rw-bucket.md)).
+ Consente un accesso di tipo `Read` e `Write` a un bucket Amazon S3 specifico, in modo programmatico e nella console ([Visualizza questa policy](reference_policies_examples_s3_rw-bucket-console.md)).

# AWS: consente l'accesso in base alla data e all'ora
<a name="reference_policies_examples_aws-dates"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta l'accesso alle operazioni in base alla data e all'ora. Questa policy limita l'accesso alle operazioni che si verificano tra il 1° aprile 2020 e il 30 giugno 2020 (UTC), inclusi. Questa politica concede le autorizzazioni necessarie per completare questa azione a livello di codice dall'API o. AWS AWS CLI Per utilizzare questa politica, sostituisci la politica *italicized placeholder text* nell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md).

Per ulteriori informazioni sull'utilizzo di condizioni multiple all'interno di un blocco `Condition` di una policy IAM, consultare [Valori multipli in una condizione](reference_policies_elements_condition.md#Condition-multiple-conditions)

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "service-prefix:action-name",
            "Resource": "*",
            "Condition": {
                "DateGreaterThan": {"aws:CurrentTime": "2020-04-01T00:00:00Z"},
                "DateLessThan": {"aws:CurrentTime": "2020-06-30T23:59:59Z"}
            }
        }
    ]
}
```

------

**Nota**  
Non è possibile utilizzare una variabile di policy con l'operatore di condizione Date. Per ulteriori informazioni, consulta la sezione [Elemento condizione](reference_policies_variables.md#policy-vars-conditionelement)

# AWS: consente di abilitare e disabilitare le regioni AWS
<a name="reference_policies_examples_aws-enable-disable-regions"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta a un amministratore di abilitare e disabilitare la regione Asia Pacifico (Hong Kong) (ap-east-1). Questa policy definisce le autorizzazioni per l'accesso a livello di programmazione e alla console. Questa impostazione viene visualizzata nella pagina **Account settings (Impostazioni dell'account)** nella Console di gestione AWS. Questa pagina include informazioni sensibili a livello di account, che devono essere visualizzate e gestite solo da amministratori dell'account. Per utilizzare questo criterio, sostituisci il criterio riportato *italicized placeholder text* nell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md).

**Importante**  
Non è possibile abilitare o disabilitare le regioni abilitate per impostazione predefinita. Puoi includere solo le regioni *disabilitate* per impostazione predefinita. Per ulteriori informazioni, consulta [Gestione delle regioni AWS](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html) nella *Riferimenti generali di AWS*.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EnableDisableHongKong",
            "Effect": "Allow",
            "Action": [
                "account:EnableRegion",
                "account:DisableRegion"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {"account:TargetRegion": "ap-east-1"}
            }
        },
        {
            "Sid": "ViewConsole",
            "Effect": "Allow",
            "Action": [
                "account:ListRegions"
            ],
            "Resource": "*"
        }
    ]
}
```

------

# AWS: consente agli utenti IAM autenticati con MFA di gestire le proprie credenziali nella pagina Credenziali di sicurezza
<a name="reference_policies_examples_aws_my-sec-creds-self-manage"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta agli utenti IAM autenticati tramite l'[autenticazione a più fattori (MFA)](id_credentials_mfa.md) di gestire le proprie credenziali sulla pagina **Credenziali di sicurezza**. Questa pagina della Console di gestione AWS mostra informazioni sull'account, come l'ID account e l'ID utente canonico. Gli utenti possono anche visualizzare e modificare le password, le chiavi di accesso, i dispositivi MFA, i certificati X.509, le chiavi SSH e le credenziali Git. Questa policy di esempio include le autorizzazioni necessarie per visualizzare e modificare tutte le informazioni sulla pagina. Richiede inoltre che l'utente si configuri e si autentichi tramite MFA prima di eseguire qualsiasi altra operazione in. AWS Per consentire agli utenti di gestire le proprie credenziali senza MFA, consulta [AWS: consente agli utenti IAM di gestire le proprie credenziali nella pagina Credenziali di sicurezza](reference_policies_examples_aws_my-sec-creds-self-manage-no-mfa.md).

Per ulteriori informazioni su come gli utenti possono accedere alla pagina **Credenziali di sicurezza**, consulta [Come gli utenti IAM possono cambiare le proprie password (console)](id_credentials_passwords_user-change-own.md#ManagingUserPwdSelf-Console).

**Nota**  
Questo criterio di esempio non consente agli utenti di reimpostare una password durante Console di gestione AWS il primo accesso. Ti consigliamo di non concedere autorizzazioni ai nuovi utenti fino a quando non hanno effettuato l'accesso. Per ulteriori informazioni, consulta [Come posso creare utenti IAM in modo sicuro?](troubleshoot.md#troubleshoot_general_securely-create-iam-users). Inoltre, ciò impedisce agli utenti con una password scaduta di reimpostare la password durante l'accesso. Per consentire questa operazione, aggiungere `iam:ChangePassword` e `iam:GetAccountPasswordPolicy` all'istruzione `DenyAllExceptListedIfNoMFA`. Tuttavia, non ti consigliamo di farlo perché consentire agli utenti di cambiare la password senza MFA può costituire un rischio per la sicurezza.
Se intendi utilizzare questa policy per l'accesso programmatico, devi chiamare [https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html) per l'autenticazione con l'MFA. Per ulteriori informazioni, consulta [Accesso sicuro alle API con MFA](id_credentials_mfa_configure-api-require.md).

**Che cosa fa questa policy?**
+ L'istruzione `AllowViewAccountInfo` consente all'utente di visualizzare le informazioni a livello di account. Queste autorizzazioni devono essere nella propria istruzione perché non supportano o non devono specificare l'ARN di una risorsa. Le autorizzazioni specificano invece `"Resource" : "*"`. Questa istruzione include le seguenti operazioni che consentono all'utente di visualizzare informazioni specifiche: 
  + `GetAccountPasswordPolicy`: visualizza i requisiti della password dell'account cambiando la propria password utente IAM.
  + `ListVirtualMFADevices`: consente di visualizzare i dettagli di un dispositivo MFA virtuale abilitato per l'utente.
+ L'istruzione `AllowManageOwnPasswords` consente all'utente di modificare la propria password. Questa istruzione include anche l'operazione `GetUser`, obbligatoria per visualizzare la maggior parte delle informazioni nella pagina **My security credentials** (Le mie credenziali di sicurezza).
+ L'istruzione `AllowManageOwnAccessKeys` consente all'utente di creare, aggiornare ed eliminare le proprie chiavi di accesso. L'utente può anche ottenere informazioni su quando è stata utilizzata l'ultima volta la chiave di accesso specificata. 
+ L'istruzione `AllowManageOwnSigningCertificates` consente all'utente di caricare, aggiornare ed eliminare i propri certificati di firma.
+ L'istruzione `AllowManageOwnSSHPublicKeys` consente all'utente di caricare, aggiornare ed eliminare le proprie chiavi pubbliche SSH per CodeCommit.
+ L'istruzione `AllowManageOwnGitCredentials` consente all'utente di creare, aggiornare ed eliminare le proprie credenziali Git per CodeCommit.
+ L'istruzione `AllowManageOwnVirtualMFADevice` consente all'utente di creare il proprio dispositivo virtuale MFA. L'ARN della risorsa in questa istruzione consente all'utente di creare un dispositivo MFA con qualsiasi nome, ma le altre istruzioni nella policy consentono all'utente soltanto di collegare il dispositivo all'utente correntemente registrato.
+ L'istruzione `AllowManageOwnUserMFA` consente all'utente di visualizzare o gestire il dispositivo MFA virtuale, U2F o hardware per il proprio utente. L'ARN della risorsa in questa istruzione consente di accedere solo all'utente IAM dell'utente stesso. Gli utenti non possono visualizzare o gestire il dispositivo MFA per altri utenti. 
+ L'`DenyAllExceptListedIfNoMFA`istruzione nega l'accesso a tutte le azioni in tutti i AWS servizi, ad eccezione di alcune azioni elencate, ma ***solo se*** l'utente non ha effettuato l'accesso con MFA. L'istruzione utilizza una combinazione di `"Deny"` e `"NotAction"` per negare esplicitamente l'accesso a tutte le operazioni che non sono nell'elenco. Gli elementi elencati non sono negati o consentiti da questa istruzione. Tuttavia, le azioni sono consentite da altre istruzioni della policy. Per ulteriori informazioni sulla logica di questa istruzione, vedere [NotAction with](reference_policies_elements_notaction.md) Deny. Se l'utente ha eseguito l'accesso con l'autenticazione MFA, il test `Condition` dà esito negativo e questa istruzione non produce effetti. In questo caso, altre policy o dichiarazioni per l'utente determinano le autorizzazioni dell'utente.

  Questa istruzione garantisce che quando l'utente non ha effettuato l'accesso con MFA può eseguire solo le operazioni elencate. Inoltre, possono eseguire le operazioni elencate, solo se un'altra istruzione o policy consente l'accesso a tali operazioni. Questo non consente a un utente di creare una password all'accesso, perché l'operazione `iam:ChangePassword` non deve essere consentita senza l'autorizzazione MFA.

  La versione `...IfExists` dell'operatore `Bool` garantisce che se la chiave `aws:MultiFactorAuthPresent` manca, la condizione restituisce true. Questo significa che a un utente che accede a un'API con le credenziali di lungo termine, ad esempio con una chiave di accesso, viene negato l'accesso alle operazioni API non IAM.

Questa policy non consente agli utenti di visualizzare la pagina **Utenti** nella console IAM o utilizzare questa pagina per accedere alle proprie informazioni utente. Per consentire questa operazione, aggiungere l'operazione `iam:ListUsers` all'istruzione `AllowViewAccountInfo` e all'istruzione `DenyAllExceptListedIfNoMFA`. Inoltre, non consente agli utenti di cambiare la password sulla proprio pagina utente. Per consentire questa operazione, aggiungi le operazioni `iam:GetLoginProfile` e `iam:UpdateLoginProfile` all'istruzione `AllowManageOwnPasswords`. Inoltre, per consente a un utente di cambiare la password dalla propria pagina utente senza l'accesso tramite MFA, aggiungere l'operazione `iam:UpdateLoginProfile` all'istruzione `DenyAllExceptListedIfNoMFA`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowViewAccountInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetAccountPasswordPolicy",
                "iam:ListVirtualMFADevices"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowManageOwnPasswords",
            "Effect": "Allow",
            "Action": [
                "iam:ChangePassword",
                "iam:GetUser"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "AllowManageOwnAccessKeys",
            "Effect": "Allow",
            "Action": [
                "iam:CreateAccessKey",
                "iam:DeleteAccessKey",
                "iam:ListAccessKeys",
                "iam:UpdateAccessKey",
                "iam:GetAccessKeyLastUsed"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "AllowManageOwnSigningCertificates",
            "Effect": "Allow",
            "Action": [
                "iam:DeleteSigningCertificate",
                "iam:ListSigningCertificates",
                "iam:UpdateSigningCertificate",
                "iam:UploadSigningCertificate"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "AllowManageOwnSSHPublicKeys",
            "Effect": "Allow",
            "Action": [
                "iam:DeleteSSHPublicKey",
                "iam:GetSSHPublicKey",
                "iam:ListSSHPublicKeys",
                "iam:UpdateSSHPublicKey",
                "iam:UploadSSHPublicKey"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "AllowManageOwnGitCredentials",
            "Effect": "Allow",
            "Action": [
                "iam:CreateServiceSpecificCredential",
                "iam:DeleteServiceSpecificCredential",
                "iam:ListServiceSpecificCredentials",
                "iam:ResetServiceSpecificCredential",
                "iam:UpdateServiceSpecificCredential"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "AllowManageOwnVirtualMFADevice",
            "Effect": "Allow",
            "Action": [
                "iam:CreateVirtualMFADevice"
            ],
            "Resource": "arn:aws:iam::*:mfa/*"
        },
        {
            "Sid": "AllowManageOwnUserMFA",
            "Effect": "Allow",
            "Action": [
                "iam:DeactivateMFADevice",
                "iam:EnableMFADevice",
                "iam:ListMFADevices",
                "iam:ResyncMFADevice"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "DenyAllExceptListedIfNoMFA",
            "Effect": "Deny",
            "NotAction": [
                "iam:CreateVirtualMFADevice",
                "iam:EnableMFADevice",
                "iam:GetUser",
                "iam:GetMFADevice",
                "iam:ListMFADevices",
                "iam:ListVirtualMFADevices",
                "iam:ResyncMFADevice",
                "sts:GetSessionToken"
            ],
            "Resource": "*",
            "Condition": {
                "BoolIfExists": {
                    "aws:MultiFactorAuthPresent": "false"
                }
            }
        }
    ]
}
```

------

# AWS: consente l'accesso specifico tramite MFA entro date specifiche
<a name="reference_policies_examples_aws_mfa-dates"></a>

Questo esempio mostra come creare una policy basata sull'identità che utilizzi più condizioni che vengono valutate in base a un operatore `AND` logico. Consente l'accesso completo al servizio denominato `SERVICE-NAME-1` e l'accesso alle operazioni `ACTION-NAME-A` e `ACTION-NAME-B` nel servizio denominato `SERVICE-NAME-2`. Queste operazioni sono consentite solo quando l'utente è autenticato tramite l'[autenticazione a più fattori (MFA)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa.html). L'accesso è limitato alle operazioni effettuate tra il 1 luglio 2017 e il 31 dicembre 2017 (UTC), inclusi. Questa politica concede le autorizzazioni necessarie per completare questa azione a livello di codice dall'API o. AWS AWS CLI Per utilizzare questa politica, sostituisci la politica *italicized placeholder text* nell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md).

Per ulteriori informazioni sull'utilizzo di condizioni multiple all'interno di un blocco `Condition` di una policy IAM, consultare [Valori multipli in una condizione](reference_policies_elements_condition.md#Condition-multiple-conditions)

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Action": [
            "service-prefix-1:*",
            "service-prefix-2:action-name-a",
            "service-prefix-2:action-name-b"
        ],
        "Resource": "*",
        "Condition": {
            "Bool": {"aws:MultiFactorAuthPresent": true},
            "DateGreaterThan": {"aws:CurrentTime": "2017-07-01T00:00:00Z"},
            "DateLessThan": {"aws:CurrentTime": "2017-12-31T23:59:59Z"}
        }
    }
}
```

------

# AWS: consente agli utenti IAM di gestire le proprie credenziali nella pagina Credenziali di sicurezza
<a name="reference_policies_examples_aws_my-sec-creds-self-manage-no-mfa"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta agli utenti IAM di gestire le proprie credenziali nella pagina **Credenziali di sicurezza**. Questa Console di gestione AWS pagina mostra informazioni sull'account come l'ID account e l'ID utente canonico. Gli utenti possono anche visualizzare e modificare le password, le chiavi di accesso, i certificati X.509, le chiavi SSH e le credenziali Git. Questa policy di esempio include le autorizzazioni necessarie per visualizzare e modificare le informazioni sulla pagina *eccetto* il dispositivo MFA dell'utente. Per consentire agli utenti di gestire le proprie credenziali con MFA, consulta [AWS: consente agli utenti IAM autenticati con MFA di gestire le proprie credenziali nella pagina Credenziali di sicurezza](reference_policies_examples_aws_my-sec-creds-self-manage.md).

Per ulteriori informazioni su come gli utenti possono accedere alla pagina **Credenziali di sicurezza**, consulta [Come gli utenti IAM possono cambiare le proprie password (console)](id_credentials_passwords_user-change-own.md#ManagingUserPwdSelf-Console).

**Che cosa fa questa policy?**
+ L'istruzione `AllowViewAccountInfo` consente all'utente di visualizzare le informazioni a livello di account. Queste autorizzazioni devono essere nella propria istruzione perché non supportano o non devono specificare l'ARN di una risorsa. Le autorizzazioni specificano invece `"Resource" : "*"`. Questa istruzione include le seguenti operazioni che consentono all'utente di visualizzare informazioni specifiche: 
  + `GetAccountPasswordPolicy`: visualizza i requisiti della password dell'account cambiando la propria password utente IAM.
  + `GetAccountSummary`: visualizza l'ID account e l'[ID utente canonico](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html#FindingCanonicalId) dell'account.
+ L'istruzione `AllowManageOwnPasswords` consente all'utente di modificare la propria password. Questa istruzione include anche l'operazione `GetUser`, obbligatoria per visualizzare la maggior parte delle informazioni nella pagina **My security credentials** (Le mie credenziali di sicurezza).
+ L'istruzione `AllowManageOwnAccessKeys` consente all'utente di creare, aggiornare ed eliminare le proprie chiavi di accesso. L'utente può anche ottenere informazioni su quando è stata utilizzata l'ultima volta la chiave di accesso specificata. 
+ L'istruzione `AllowManageOwnSigningCertificates` consente all'utente di caricare, aggiornare ed eliminare i propri certificati di firma.
+ L'istruzione `AllowManageOwnSSHPublicKeys` consente all'utente di caricare, aggiornare ed eliminare le proprie chiavi pubbliche SSH per CodeCommit.
+ L'istruzione `AllowManageOwnGitCredentials` consente all'utente di creare, aggiornare ed eliminare le proprie credenziali Git per CodeCommit.

Questa policy non consente agli utenti di visualizzare o gestire i propri dispositivi MFA. Inoltre, non sono in grado di visualizzare la pagina **Utenti** nella console IAM o utilizzare questa pagina per accedere alle proprie informazioni utente. Per consentire questa operazione, aggiungere l'operazione `iam:ListUsers` all'istruzione `AllowViewAccountInfo`. Inoltre, non consente agli utenti di cambiare la password sulla proprio pagina utente. Per consentire questa operazione, aggiungere le operazioni `iam:CreateLoginProfile`, `iam:DeleteLoginProfile`, `iam:GetLoginProfile` e `iam:UpdateLoginProfile` all'istruzione `AllowManageOwnPasswords`. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowViewAccountInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetAccountPasswordPolicy",
                "iam:GetAccountSummary"       
            ],
            "Resource": "*"
        },       
        {
            "Sid": "AllowManageOwnPasswords",
            "Effect": "Allow",
            "Action": [
                "iam:ChangePassword",
                "iam:GetUser"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "AllowManageOwnAccessKeys",
            "Effect": "Allow",
            "Action": [
                "iam:CreateAccessKey",
                "iam:DeleteAccessKey",
                "iam:ListAccessKeys",
                "iam:UpdateAccessKey",
                "iam:GetAccessKeyLastUsed"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "AllowManageOwnSigningCertificates",
            "Effect": "Allow",
            "Action": [
                "iam:DeleteSigningCertificate",
                "iam:ListSigningCertificates",
                "iam:UpdateSigningCertificate",
                "iam:UploadSigningCertificate"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "AllowManageOwnSSHPublicKeys",
            "Effect": "Allow",
            "Action": [
                "iam:DeleteSSHPublicKey",
                "iam:GetSSHPublicKey",
                "iam:ListSSHPublicKeys",
                "iam:UpdateSSHPublicKey",
                "iam:UploadSSHPublicKey"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "AllowManageOwnGitCredentials",
            "Effect": "Allow",
            "Action": [
                "iam:CreateServiceSpecificCredential",
                "iam:DeleteServiceSpecificCredential",
                "iam:ListServiceSpecificCredentials",
                "iam:ResetServiceSpecificCredential",
                "iam:UpdateServiceSpecificCredential"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        }
    ]
}
```

------

# AWS: consente agli utenti IAM autenticati con MFA di gestire il proprio dispositivo MFA nella pagina Credenziali di sicurezza
<a name="reference_policies_examples_aws_my-sec-creds-self-manage-mfa-only"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta agli utenti IAM autenticati tramite l'[autenticazione a più fattori (MFA)](id_credentials_mfa.md) di gestire il proprio dispositivo MFA sulla pagina **Credenziali di sicurezza**. Questa Console di gestione AWS pagina mostra le informazioni sull'account e sull'utente, ma l'utente può solo visualizzare e modificare il proprio dispositivo MFA. Per consentire agli utenti di gestire le proprie credenziali con MFA, consulta [AWS: consente agli utenti IAM autenticati con MFA di gestire le proprie credenziali nella pagina Credenziali di sicurezza](reference_policies_examples_aws_my-sec-creds-self-manage.md).

**Nota**  
Se un utente IAM con questa policy non è autenticato tramite MFA, questa policy nega l'accesso a tutte le AWS azioni tranne quelle necessarie per l'autenticazione tramite MFA. Per utilizzare l' AWS API AWS CLI and, gli utenti IAM devono prima recuperare il proprio token MFA utilizzando AWS STS [GetSessionToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html)l'operazione e quindi utilizzare quel token per autenticare l'operazione desiderata. Altre policy, ad esempio le policy basate sulle risorse o altre policy basate sull'identità, possono consentire operazioni in altri servizi. Questa policy negherà tale accesso se l'utente IAM non dispone dell'autenticazione MFA.

Per ulteriori informazioni su come gli utenti possono accedere alla pagina **Credenziali di sicurezza**, consulta [Come gli utenti IAM possono cambiare le proprie password (console)](id_credentials_passwords_user-change-own.md#ManagingUserPwdSelf-Console).

**Che cosa fa questa policy?**
+ L'istruzione `AllowViewAccountInfo` consente all'utente di visualizzare i dettagli di un dispositivo MFA virtuale abilitato per l'utente. Questa autorizzazione deve essere nella propria dichiarazione perché non specifica un ARN della risorsa. È necessario invece specificare `"Resource" : "*"`.
+ L'istruzione `AllowManageOwnVirtualMFADevice` consente all'utente di creare il proprio dispositivo virtuale MFA. L'ARN della risorsa in questa istruzione consente all'utente di creare un dispositivo MFA con qualsiasi nome, ma le altre istruzioni nella policy consentono all'utente soltanto di collegare il dispositivo all'utente correntemente registrato.
+ L'istruzione `AllowManageOwnUserMFA` consente all'utente di visualizzare o gestire il proprio dispositivo MFA virtuale, U2F o hardware. L'ARN della risorsa in questa istruzione consente di accedere solo all'utente IAM dell'utente stesso. Gli utenti non possono visualizzare o gestire il dispositivo MFA per altri utenti.
+ L'`DenyAllExceptListedIfNoMFA`istruzione nega l'accesso a tutte le azioni in tutti i AWS servizi, ad eccezione di alcune azioni elencate, ma ***solo se*** l'utente non ha effettuato l'accesso con MFA. L'istruzione utilizza una combinazione di `"Deny"` e `"NotAction"` per negare esplicitamente l'accesso a tutte le operazioni che non sono nell'elenco. Gli elementi elencati non sono negati o consentiti da questa istruzione. Tuttavia, le azioni sono consentite da altre istruzioni della policy. Per ulteriori informazioni sulla logica di questa istruzione, vedere [NotAction with](reference_policies_elements_notaction.md) Deny. Se l'utente ha eseguito l'accesso con l'autenticazione MFA, il test `Condition` dà esito negativo e questa istruzione non produce effetti. In questo caso, altre policy o dichiarazioni per l'utente determinano le autorizzazioni dell'utente.

  Questa istruzione garantisce che quando l'utente non ha effettuato l'accesso con MFA può eseguire solo le operazioni elencate. Inoltre, possono eseguire le operazioni elencate, solo se un'altra istruzione o policy consente l'accesso a tali operazioni.

  La versione `...IfExists` dell'operatore `Bool` garantisce che se la chiave `aws:MultiFactorAuthPresent` manca, la condizione restituisce true. Questo significa che a un utente che accede a un'operazione API con le credenziali di lungo termine, come una chiave di accesso, viene negato l'accesso alle operazioni API non IAM.

Questa policy non consente agli utenti di visualizzare la pagina **Utenti** nella console IAM o utilizzare questa pagina per accedere alle proprie informazioni utente. Per consentire questa operazione, aggiungere l'operazione `iam:ListUsers` all'istruzione `AllowViewAccountInfo` e all'istruzione `DenyAllExceptListedIfNoMFA`.

**avvertimento**  
Non aggiungere l'autorizzazione per l'eliminazione di un dispositivo MFA senza autenticazione MFA. Gli utenti con questa policy potrebbero tentare di autoassegnarsi un dispositivo MFA virtuale e ricevere un errore in cui si specifica che non sono autorizzati a eseguire `iam:DeleteVirtualMFADevice`. In questo caso, **non** aggiungere tale autorizzazione all'istruzione `DenyAllExceptListedIfNoMFA`. Agli utenti che non si autenticano tramite MFA non deve mai essere consentito di eliminare il dispositivo MFA. Gli utenti potrebbero visualizzare questo errore se hanno in precedenza iniziato ad assegnare un dispositivo MFA virtuale all'utente e annullato il processo. Per risolvere questo problema, tu o un altro amministratore dovete eliminare il dispositivo MFA virtuale esistente dell'utente utilizzando l'API AWS CLI o AWS . Per ulteriori informazioni, consulta [Non sono autorizzato a eseguire: iam: DeleteVirtual MFADevice](troubleshoot.md#troubleshoot_general_access-denied-delete-mfa).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowViewAccountInfo",
            "Effect": "Allow",
            "Action": "iam:ListVirtualMFADevices",
            "Resource": "*"
        },
        {
            "Sid": "AllowManageOwnVirtualMFADevice",
            "Effect": "Allow",
            "Action": [
                "iam:CreateVirtualMFADevice"
            ],
            "Resource": "arn:aws:iam::*:mfa/*"
        },
        {
            "Sid": "AllowManageOwnUserMFA",
            "Effect": "Allow",
            "Action": [
                "iam:DeactivateMFADevice",
                "iam:EnableMFADevice",
                "iam:GetUser",
                "iam:GetMFADevice",
                "iam:ListMFADevices",
                "iam:ResyncMFADevice"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "DenyAllExceptListedIfNoMFA",
            "Effect": "Deny",
            "NotAction": [
                "iam:CreateVirtualMFADevice",
                "iam:EnableMFADevice",
                "iam:GetUser",
                "iam:ListMFADevices",
                "iam:ListVirtualMFADevices",
                "iam:ResyncMFADevice",
                "sts:GetSessionToken"
            ],
            "Resource": "*",
            "Condition": {
                "BoolIfExists": {"aws:MultiFactorAuthPresent": "false"}
            }
        }
    ]
}
```

------

# AWS: consente agli utenti IAM di modificare la password della console sulla pagina Credenziali di sicurezza
<a name="reference_policies_examples_aws_my-sec-creds-self-manage-password-only"></a>

Questo esempio mostra come è possibile creare una policy basata sull'identità che consenta agli utenti IAM di modificare la propria Console di gestione AWS password nella pagina Credenziali **di sicurezza**. Questa Console di gestione AWS pagina mostra le informazioni sull'account e sull'utente, ma l'utente può accedere solo alla propria password. Per consentire agli utenti di gestire le proprie credenziali con MFA, consulta [AWS: consente agli utenti IAM autenticati con MFA di gestire le proprie credenziali nella pagina Credenziali di sicurezza](reference_policies_examples_aws_my-sec-creds-self-manage.md). Per consentire agli utenti di gestire le proprie credenziali senza MFA, consulta [AWS: consente agli utenti IAM di gestire le proprie credenziali nella pagina Credenziali di sicurezza](reference_policies_examples_aws_my-sec-creds-self-manage-no-mfa.md).

Per ulteriori informazioni su come gli utenti possono accedere alla pagina **Credenziali di sicurezza**, consulta [Come gli utenti IAM possono cambiare le proprie password (console)](id_credentials_passwords_user-change-own.md#ManagingUserPwdSelf-Console).

**Che cosa fa questa policy?**
+ L'istruzione `ViewAccountPasswordRequirements` consente all'utente di visualizzare i requisiti della password dell'account cambiando la propria password utente IAM.
+ L'istruzione `ChangeOwnPassword` consente all'utente di modificare la propria password. Questa istruzione include anche l'operazione `GetUser`, obbligatoria per visualizzare la maggior parte delle informazioni nella pagina **My security credentials (Le mie credenziali di sicurezza)**.

Questa policy non consente agli utenti di visualizzare la pagina **Utenti** nella console IAM o utilizzare questa pagina per accedere alle proprie informazioni utente. Per consentire questa operazione, aggiungere l'operazione `iam:ListUsers` all'istruzione `ViewAccountPasswordRequirements`. Inoltre, non consente agli utenti di cambiare la password sulla proprio pagina utente. Per consentire questa operazione, aggiungi le operazioni `iam:GetLoginProfile` e `iam:UpdateLoginProfile` all'istruzione `ChangeOwnPasswords`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewAccountPasswordRequirements",
            "Effect": "Allow",
            "Action": "iam:GetAccountPasswordPolicy",
            "Resource": "*"
        },
        {
            "Sid": "ChangeOwnPassword",
            "Effect": "Allow",
            "Action": [
                "iam:GetUser",
                "iam:ChangePassword"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        }
    ]
}
```

------

# AWS: consente agli utenti IAM di gestire la propria password, le chiavi di accesso e le chiavi pubbliche SSH nella pagina Credenziali di sicurezza
<a name="reference_policies_examples_aws_my-sec-creds-self-manage-pass-accesskeys-ssh"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta agli utenti IAM di gestire la propria password, le chiavi di accesso e i certificati X.509 nella pagina **Credenziali di sicurezza**. Questa pagina della Console di gestione AWS mostra informazioni sull'account, come l'ID account e l'ID utente canonico. Gli utenti possono anche visualizzare e modificare le password, le chiavi di accesso, i dispositivi MFA, i certificati X.509, le chiavi SSH e le credenziali Git. Questa policy di esempio include le autorizzazioni necessarie per visualizzare e modificare solo le password, le chiavi di accesso e il certificato X.509. Per consentire agli utenti di gestire le proprie credenziali con MFA, consulta [AWS: consente agli utenti IAM autenticati con MFA di gestire le proprie credenziali nella pagina Credenziali di sicurezza](reference_policies_examples_aws_my-sec-creds-self-manage.md). Per consentire agli utenti di gestire le proprie credenziali senza MFA, consulta [AWS: consente agli utenti IAM di gestire le proprie credenziali nella pagina Credenziali di sicurezza](reference_policies_examples_aws_my-sec-creds-self-manage-no-mfa.md).

Per ulteriori informazioni su come gli utenti possono accedere alla pagina **Credenziali di sicurezza**, consulta [Come gli utenti IAM possono cambiare le proprie password (console)](id_credentials_passwords_user-change-own.md#ManagingUserPwdSelf-Console).

**Che cosa fa questa policy?**
+ L'istruzione `AllowViewAccountInfo` consente all'utente di visualizzare le informazioni a livello di account. Queste autorizzazioni devono essere nella propria istruzione perché non supportano o non devono specificare l'ARN di una risorsa. Le autorizzazioni specificano invece `"Resource" : "*"`. Questa istruzione include le seguenti operazioni che consentono all'utente di visualizzare informazioni specifiche: 
  + `GetAccountPasswordPolicy`: visualizza i requisiti della password dell'account cambiando la propria password utente IAM.
  + `GetAccountSummary`: visualizza l'ID account e l'[ID utente canonico](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html#FindingCanonicalId) dell'account.
+ L'istruzione `AllowManageOwnPasswords` consente all'utente di modificare la propria password. Questa istruzione include anche l'operazione `GetUser`, obbligatoria per visualizzare la maggior parte delle informazioni nella pagina **My security credentials** (Le mie credenziali di sicurezza).
+ L'istruzione `AllowManageOwnAccessKeys` consente all'utente di creare, aggiornare ed eliminare le proprie chiavi di accesso. L'utente può anche ottenere informazioni su quando è stata utilizzata l'ultima volta la chiave di accesso specificata. 
+ L'istruzione `AllowManageOwnSSHPublicKeys` consente all'utente di caricare, aggiornare ed eliminare le proprie chiavi pubbliche SSH per CodeCommit.

Questa policy non consente agli utenti di visualizzare o gestire i propri dispositivi MFA. Inoltre, non sono in grado di visualizzare la pagina **Utenti** nella console IAM o utilizzare questa pagina per accedere alle proprie informazioni utente. Per consentire questa operazione, aggiungere l'operazione `iam:ListUsers` all'istruzione `AllowViewAccountInfo`. Inoltre, non consente agli utenti di cambiare la password sulla proprio pagina utente. Per consentire questa operazione, aggiungi le operazioni `iam:GetLoginProfile` e `iam:UpdateLoginProfile` all'istruzione `AllowManageOwnPasswords`. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowViewAccountInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetAccountPasswordPolicy",
                "iam:GetAccountSummary"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowManageOwnPasswords",
            "Effect": "Allow",
            "Action": [
                "iam:ChangePassword",
                "iam:GetUser"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "AllowManageOwnAccessKeys",
            "Effect": "Allow",
            "Action": [
                "iam:CreateAccessKey",
                "iam:DeleteAccessKey",
                "iam:ListAccessKeys",
                "iam:UpdateAccessKey",
                "iam:GetAccessKeyLastUsed"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "AllowManageOwnSSHPublicKeys",
            "Effect": "Allow",
            "Action": [
                "iam:DeleteSSHPublicKey",
                "iam:GetSSHPublicKey",
                "iam:ListSSHPublicKeys",
                "iam:UpdateSSHPublicKey",
                "iam:UploadSSHPublicKey"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        }
    ]
}
```

------

# AWS: nega l'accesso in AWS base alla regione richiesta
<a name="reference_policies_examples_aws_deny-requested-region"></a>

Questo esempio illustra come creare una policy basata sull'identità che neghi l'accesso a qualsiasi operazione esterna alle regioni specificate utilizzando la [chiave di condizione `aws:RequestedRegion`](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requestedregion), fatta eccezione per le operazioni nei servizi specificati tramite `NotAction`. Questa policy definisce le autorizzazioni per l'accesso a livello di programmazione e alla console. Per utilizzare questa politica, sostituisci la politica *italicized placeholder text* nell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md).

Questa policy utilizza l'elemento `NotAction` con l'effetto `Deny`, che rifiuta esplicitamente l'accesso a tutte le operazioni che *non* sono elencate nella dichiarazione. Le azioni relative a IAM CloudFront, Route 53 e Supporto ai servizi non devono essere negate, poiché si tratta di servizi AWS globali molto diffusi con un unico endpoint che si trova fisicamente nella `us-east-1` regione. Poiché tutte le richieste a questi servizi vengono effettuate alla regione `us-east-1`, le richieste vengono rifiutate senza l'elemento `NotAction`. Modifica questo elemento per includere operazioni per altri servizi globali AWS che utilizzi, ad esempio `budgets`, `globalaccelerator`, `importexport`, `organizations` o `waf`. Alcuni altri servizi globali, come Amazon Q Developer nelle applicazioni di chat AWS Device Farm, sono servizi globali con endpoint che si trovano fisicamente nella `us-west-2` regione. Per ulteriori informazioni su tutti i servizi che dispongono di un singolo endpoint globale, consulta [Regioni ed endpoint AWS](https://docs.aws.amazon.com/general/latest/gr/rande.html) nella *Riferimenti generali di AWS*. Per ulteriori informazioni sull'utilizzo dell'elemento `NotAction` con l'effetto `Deny`, consulta [Elementi delle policy JSON IAM: NotAction](reference_policies_elements_notaction.md). 

**Importante**  
Questa policy non consente alcuna operazione. Utilizza questa policy in combinazione con altre policy che consentono operazioni specifiche. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DenyAllOutsideRequestedRegions",
            "Effect": "Deny",
            "NotAction": [
                "cloudfront:*",
                "iam:*",
                "organizations:*",
                "route53:*",
                "support:*"
            ],
            "Resource": "*",
            "Condition": {
                "StringNotEquals": {
                    "aws:RequestedRegion": [
                        "eu-central-1",
                        "eu-west-1",
                        "eu-west-2",
                        "eu-west-3"
                    ]
                }
            }
        }
    ]
}
```

------

# AWS: nega l'accesso in AWS base all'IP di origine
<a name="reference_policies_examples_aws_deny-ip"></a>

Questo esempio mostra come è possibile creare una policy basata sull'identità che neghi l'accesso a tutte le AWS azioni dell'account quando la richiesta proviene da soggetti esterni all'intervallo IP *specificato*. La policy è utile quando gli indirizzi IP per la tua azienda sono all'interno di determinati intervalli. In questo esempio, la richiesta verrà rifiutata a meno che non provenga dall'intervallo CIDR 192.0.2.0/24 o 203.0.113.0/24. La politica non nega le richieste effettuate dai AWS servizi che utilizzano l'indirizzo IP [Inoltro delle sessioni di accesso](access_forward_access_sessions.md) del richiedente originale.

Fare attenzione a utilizzare condizioni negative nella stessa dichiarazione di policy come `"Effect": "Deny"`. In questo caso, le operazioni specificate nella dichiarazione di policy vengono negate in modo esplicito in tutte le condizioni, *ad eccezione* di quelle specificate.

**Importante**  
Questa policy non consente alcuna operazione. Utilizza questa policy in combinazione con altre policy che consentono operazioni specifiche. 

Quando altre policy consentono operazioni, le entità possono effettuare richieste all'interno dell'intervallo di indirizzi IP. Un AWS servizio può anche effettuare richieste utilizzando le credenziali del principale. Quando un'entità effettua una richiesta al di fuori dell'intervallo IP, la richiesta viene negata.

Per ulteriori informazioni sull'utilizzo della chiave di condizione `aws:SourceIp`, incluse le informazioni su quando `aws:SourceIp` potrebbe non funzionare nelle policy, consulta [AWS chiavi di contesto della condizione globale](reference_policies_condition-keys.md).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Deny",
        "Action": "*",
        "Resource": "*",
        "Condition": {
            "NotIpAddress": {
                "aws:SourceIp": [
                    "192.0.2.0/24",
                    "203.0.113.0/24"
                ]
            }
        }
    }
}
```

------

# AWS: nega l'accesso alle risorse Amazon S3 al di fuori del tuo account tranne AWS Data Exchange
<a name="reference_policies_examples_resource_account_data_exch"></a>

Questo esempio mostra come potresti creare una politica basata sull'identità che neghi l'accesso a tutte le risorse AWS che non appartengono al tuo account, ad eccezione delle risorse necessarie per il normale funzionamento. AWS Data Exchange Per utilizzare questa politica, sostituisci la politica dell'*italicized placeholder text*esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md). 

È possibile creare una politica simile per limitare l'accesso alle risorse all'interno di un'organizzazione o di un'unità organizzativa, contabilizzando al contempo le risorse di AWS Data Exchange proprietà utilizzando i tasti di condizione `aws:ResourceOrgPaths` e`aws:ResourceOrgID`.

Se lo utilizzi AWS Data Exchange nel tuo ambiente, il servizio crea e interagisce con risorse come i bucket Amazon S3 di proprietà dell'account del servizio. Ad esempio, AWS Data Exchange invia richieste ai bucket Amazon S3 di proprietà del AWS Data Exchange servizio per conto del principale IAM (utente o ruolo) invocando il. AWS Data Exchange APIs In tal caso, l'utilizzo `aws:ResourceAccount``aws:ResourceOrgPaths`, o `aws:ResourceOrgID` nell'ambito di una policy, senza tenere conto delle risorse di AWS Data Exchange proprietà, nega l'accesso ai bucket di proprietà dell'account di servizio.
+ L'istruzione `DenyAllAwsResourcesOutsideAccountExceptS3` utilizza l'elemento `NotAction` con l'effetto [Deny](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_effect.html) che nega esplicitamente l'accesso a tutte le operazioni non elencate nell'istruzione e che non appartengono all'account elencato. L'elemento `NotAction` indica le eccezioni a questa istruzione. Queste azioni fanno eccezione a questa dichiarazione perché se le azioni vengono eseguite su risorse create da AWS Data Exchange, la policy le nega.
+ L'istruzione `DenyAllS3ResoucesOutsideAccountExceptDataExchange` utilizza una combinazione delle condizioni `ResourceAccount` e `CalledVia` per negare l'accesso alle tre operazioni di Amazon S3 escluse nell'istruzione precedente. L'istruzione nega le operazioni se le risorse non appartengono all'account elencato e se il servizio chiamante non è AWS Data Exchange. L'istruzione non nega le operazioni se la risorsa appartiene all'account elencato o l'operazione viene eseguita dal principale del servizio elencato, `dataexchange.amazonaws.com`.

**Importante**  
Questa policy non consente alcuna operazione. Utilizza l'effetto `Deny`, che neghi esplicitamente l'accesso a tutte le risorse elencate nell'istruzione che non appartengono all'account elencato. Utilizza questa policy in combinazione con altre policy che consentono l'accesso a risorse specifiche.

L'esempio seguente mostra come configurare la policy per consentire l'accesso ai bucket Amazon S3 richiesti.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenyAllAwsReourcesOutsideAccountExceptAmazonS3",
      "Effect": "Deny",
      "NotAction": [
        "s3:GetObject",
        "s3:PutObject",
        "s3:PutObjectAcl"
      ],
      "Resource": "*",
      "Condition": {
        "StringNotEquals": {
          "aws:ResourceAccount": [
            "111122223333"
          ]
        }
      }
    },
    {
      "Sid": "DenyAllS3ResourcesOutsideAccountExceptDataExchange",
      "Effect": "Deny",
      "Action": [
        "s3:GetObject",
        "s3:PutObject",
        "s3:PutObjectAcl"
      ],
      "Resource": "*",
      "Condition": {
        "StringNotEquals": {
          "aws:ResourceAccount": [
            "111122223333"
          ]
        },
        "ForAllValues:StringNotEquals": {
          "aws:CalledVia": [
            "dataexchange.amazonaws.com"
          ]
        }
      }
    }
  ]
}
```

------

# AWS Data Pipeline: nega l'accesso alle DataPipeline pipeline che un utente non ha creato
<a name="reference_policies_examples_datapipeline_not-owned"></a>

Questo esempio mostra come creare una policy basata sull'identità che neghi l'accesso alle pipeline che non sono state create da un utente. Se il valore del campo `PipelineCreator` corrisponde al nome dell'utente IAM, le operazioni specificate non saranno rifiutate. Questa policy concede le autorizzazioni necessarie per completare questa azione in modo programmatico dall'API o. AWS AWS CLI

**Importante**  
Questa policy non consente alcuna operazione. Utilizza questa policy in combinazione con altre policy che consentono operazioni specifiche. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ExplicitDenyIfNotTheOwner",
            "Effect": "Deny",
            "Action": [
                "datapipeline:ActivatePipeline",
                "datapipeline:AddTags",
                "datapipeline:DeactivatePipeline",
                "datapipeline:DeletePipeline",
                "datapipeline:DescribeObjects",
                "datapipeline:EvaluateExpression",
                "datapipeline:GetPipelineDefinition",
                "datapipeline:PollForTask",
                "datapipeline:PutPipelineDefinition",
                "datapipeline:QueryObjects",
                "datapipeline:RemoveTags",
                "datapipeline:ReportTaskProgress",
                "datapipeline:ReportTaskRunnerHeartbeat",
                "datapipeline:SetStatus",
                "datapipeline:SetTaskStatus",
                "datapipeline:ValidatePipelineDefinition"
            ],
            "Resource": ["*"],
            "Condition": {
                "StringNotEquals": {"datapipeline:PipelineCreator": "${aws:userid}"}
            }
        }
    ]
}
```

------

# Amazon DynamoDB: consente l'accesso a una tabella specifica
<a name="reference_policies_examples_dynamodb_specific-table"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta l'accesso completo alla tabella `MyTable` di DynamoDB. Questa politica concede le autorizzazioni necessarie per completare questa azione a livello di codice dall'API o. AWS AWS CLI Per utilizzare questa politica, sostituisci la politica *italicized placeholder text* nell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md).

**Importante**  
Questa policy consente tutte le operazioni che possono essere eseguite su una tabella DynamoDB. Per esaminare queste operazioni, consulta [Autorizzazioni API di DynamoDB: riferimento a operazioni, risorse e condizioni](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/api-permissions-reference.html) nella *Guida per gli sviluppatori di Amazon DynamoDB*. Puoi fornire le stesse autorizzazioni elencando ogni singola azione. Tuttavia, se utilizzi il carattere jolly (`*`) nell'elemento `Action`, ad esempio `"dynamodb:List*"`, non sarà necessario aggiornare la policy se DynamoDB aggiunge una nuova operazione Elenco. 

Questa policy consente le operazioni solo sulle tabelle DynamoDB con il nome specificato. Per consentire ai tuoi utenti di `Read` accedere a tutto in DynamoDB, puoi anche allegare [AmazonDynamoDBReadOnlyAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonDynamoDBReadOnlyAccess) AWS la policy gestita.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ListAndDescribe",
            "Effect": "Allow",
            "Action": [
                "dynamodb:List*",
                "dynamodb:DescribeReservedCapacity*",
                "dynamodb:DescribeLimits",
                "dynamodb:DescribeTimeToLive"
            ],
            "Resource": "*"
        },
        {
            "Sid": "SpecificTable",
            "Effect": "Allow",
            "Action": [
                "dynamodb:BatchGet*",
                "dynamodb:DescribeStream",
                "dynamodb:DescribeTable",
                "dynamodb:Get*",
                "dynamodb:Query",
                "dynamodb:Scan",
                "dynamodb:BatchWrite*",
                "dynamodb:CreateTable",
                "dynamodb:Delete*",
                "dynamodb:Update*",
                "dynamodb:PutItem"
            ],
            "Resource": "arn:aws:dynamodb:*:*:table/MyTable"
        }
    ]
}
```

------

# Amazon DynamoDB: consente l'accesso ad attributi specifici
<a name="reference_policies_examples_dynamodb_attributes"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta l'accesso ad attributi DynamoDB specifici. Questa politica concede le autorizzazioni necessarie per completare questa azione a livello di codice dall'API o. AWS AWS CLI Per utilizzare questa politica, sostituisci la politica *italicized placeholder text* nell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md).

Il requisito `dynamodb:Select` impedisce all'operazione API di restituire qualsiasi attributo per cui non si abbia il permesso, come ad esempio da una proiezione di indice. Per ulteriori informazioni sulle chiavi di condizione DynamoDB, consulta [Specifica delle condizioni: uso delle chiavi di condizione](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/specifying-conditions.html#FGAC_DDB.ConditionKeys) nella *Guida per gli sviluppatori di Amazon DynamoDB*. Per ulteriori informazioni sulle condizioni multiple o sulle chiavi di condizioni multiple all'interno di un blocco di policy IAM `Condition`, consultare la pagina [Valori multipli in una condizione](reference_policies_elements_condition.md#Condition-multiple-conditions)

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "dynamodb:GetItem",
                "dynamodb:BatchGetItem",
                "dynamodb:Query",
                "dynamodb:PutItem",
                "dynamodb:UpdateItem",
                "dynamodb:DeleteItem",
                "dynamodb:BatchWriteItem"
            ],
            "Resource": ["arn:aws:dynamodb:*:*:table/table-name"],
            "Condition": {
                "ForAllValues:StringEquals": {
                    "dynamodb:Attributes": [
                        "column-name-1",
                        "column-name-2",
                        "column-name-3"
                    ]
                },
                "StringEqualsIfExists": {"dynamodb:Select": "SPECIFIC_ATTRIBUTES"}
            }
        }
    ]
}
```

------

# Amazon DynamoDB: consente l'accesso a livello di elemento a DynamoDB in base a un ID Amazon Cognito
<a name="reference_policies_examples_dynamodb_items"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta l'accesso a livello di elemento alla tabella DynamoDB `MyTable` in base all'ID utente di un pool di identità Amazon Cognito. Questa politica concede le autorizzazioni necessarie per completare questa azione a livello di codice dall'API o. AWS AWS CLI Per utilizzare questa politica, sostituisci la politica *italicized placeholder text* nell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md).

Per utilizzare questa policy, devi strutturare la tabella DynamoDB in modo che l'ID utente del pool di identità Amazon Cognito costituisca la chiave di partizione. Per ulteriori informazioni, consulta [Creazione di una tabella](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.Basics.html#WorkingWithTables.Basics.CreateTable) nella *Guida per gli sviluppatori di Amazon DynamoDB*.

Per ulteriori informazioni sulle chiavi di condizione DynamoDB, consulta [Specifica delle condizioni: uso delle chiavi di condizione](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/specifying-conditions.html#FGAC_DDB.ConditionKeys) nella *Guida per gli sviluppatori di Amazon DynamoDB*.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "dynamodb:DeleteItem",
                "dynamodb:GetItem",
                "dynamodb:PutItem",
                "dynamodb:Query",
                "dynamodb:UpdateItem"
            ],
            "Resource": ["arn:aws:dynamodb:*:*:table/MyTable"],
            "Condition": {
                "ForAllValues:StringEquals": {
                    "dynamodb:LeadingKeys": ["${cognito-identity.amazonaws.com:sub}"]
                }
            }
        }
    ]
}
```

------

# Amazon EC2: Collegare o distaccare volumi Amazon EBS alle istanze EC2 in base ai tag
<a name="reference_policies_examples_ec2_ebs-owner"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta ai proprietari di volumi EBS di collegare o scollegare i propri volumi EBS, definiti utilizzando il tag `VolumeUser`, alle istanze EC2 contrassegnate con tag come istanze di sviluppo (`Department=Development`). Questa politica concede le autorizzazioni necessarie per completare questa azione a livello di codice dall'API o. AWS AWS CLI Per utilizzare questa politica, sostituisci la politica *italicized placeholder text* nell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md).

Per ulteriori informazioni su come creare policy IAM per controllare l'accesso a risorse Amazon EC2, consulta [Controllo dell'accesso alle risorse Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UsingIAM.html) nella *Guida per l'utente di Amazon EC2*.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:AttachVolume",
                "ec2:DetachVolume"
            ],
            "Resource": "arn:aws:ec2:*:*:instance/*",
            "Condition": {
                "StringEquals": {"aws:ResourceTag/Department": "Development"}
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:AttachVolume",
                "ec2:DetachVolume"
            ],
            "Resource": "arn:aws:ec2:*:*:volume/*",
            "Condition": {
                "StringEquals": {"aws:ResourceTag/VolumeUser": "${aws:username}"}
            }
        }
    ]
}
```

------

# Amazon EC2: consente l'avvio di istanze EC2 in una sottorete specifica, in modo programmatico e nella console
<a name="reference_policies_examples_ec2_instances-subnet"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta di elencare informazioni per tutti gli oggetti EC2 e di avviare istanze EC2 in una specifica sottorete. Questa policy definisce le autorizzazioni per l'accesso a livello di programmazione e alla console. Per utilizzare questa politica, sostituisci quella dell'*italicized placeholder text*esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:Describe*",
                "ec2:GetConsole*"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "ec2:RunInstances",
            "Resource": [
                "arn:aws:ec2:*:*:subnet/subnet-subnet-id",
                "arn:aws:ec2:*:*:network-interface/*",
                "arn:aws:ec2:*:*:instance/*",
                "arn:aws:ec2:*:*:volume/*",
                "arn:aws:ec2:*::image/ami-*",
                "arn:aws:ec2:*:*:key-pair/*",
                "arn:aws:ec2:*:*:security-group/*"
            ]
        }
    ]
}
```

------

# Amazon EC2: consente la gestione dei gruppi di sicurezza EC2 con una specifica coppia chiave-valore tag, in modo programmatico e nella console
<a name="reference_policies_examples_ec2_securitygroups-vpc"></a>

In questo esempio viene illustrato come creare una policy basata sull'identità che conceda agli utenti l'autorizzazione a intraprendere determinate operazioni per i gruppi di sicurezza con lo stesso tag. Questa policy concede le autorizzazioni per visualizzare i gruppi di sicurezza nella console Amazon EC2, per aggiungere e rimuovere le regole in entrata e in uscita e per elencare e modificare le descrizioni delle regole per i gruppi di sicurezza esistenti con il tag `Department=Test`. Questa policy definisce le autorizzazioni per l'accesso a livello di programmazione e alla console. Per utilizzare questa politica, sostituisci la politica *italicized placeholder text* nell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md).

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [{
      "Effect": "Allow",
      "Action": [
         "ec2:DescribeSecurityGroups",
         "ec2:DescribeSecurityGroupRules",
         "ec2:DescribeTags"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
         "ec2:AuthorizeSecurityGroupIngress", 
         "ec2:RevokeSecurityGroupIngress", 
         "ec2:AuthorizeSecurityGroupEgress", 
         "ec2:RevokeSecurityGroupEgress", 
         "ec2:ModifySecurityGroupRules",
         "ec2:UpdateSecurityGroupRuleDescriptionsIngress", 
         "ec2:UpdateSecurityGroupRuleDescriptionsEgress"
      ],
      "Resource": [
         "arn:aws:ec2:us-east-1:111122223333:security-group/*"
      ],
      "Condition": {
         "StringEquals": {
            "aws:ResourceTag/Department": "Test"
         }
      }
     },     
     {
      "Effect": "Allow",
      "Action": [
         "ec2:ModifySecurityGroupRules"
      ],
      "Resource": [
         "arn:aws:ec2:us-east-1:111122223333:security-group-rule/*"
      ]
     }
   ]
}
```

------

# Amazon EC2: consente l'avvio o l'arresto di istanze EC2 che un utente ha contrassegnato, a livello programmatico e nella console
<a name="reference_policies_examples_ec2_tag-owner"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta a un utente IAM di avviare o arrestare le istanze EC2, ma solo se il `Owner` del tag dell'istanza ha il valore del nome utente di quell'utente. Questa policy definisce le autorizzazioni per l'accesso a livello di programmazione e alla console.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:StartInstances",
                "ec2:StopInstances"
            ],
            "Resource": "arn:aws:ec2:*:*:instance/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/Owner": "${aws:username}"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "ec2:DescribeInstances",
            "Resource": "*"
        }
    ]
}
```

------

# EC2: avvia o interrompe le istanze in base ai tag
<a name="reference_policies_examples_ec2-start-stop-tags"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta di avviare o arrestare le istanze con la coppia chiave-valore di tag `Project = DataAnalytics`, ma solo ai principali con la coppia chiave-valore di tag `Department = Data`. Questa politica concede le autorizzazioni necessarie per completare questa azione a livello di codice dall'API o. AWS AWS CLI Per utilizzare questa politica, sostituisci la politica *italicized placeholder text* nell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md). 

La condizione nella policy restituisce true se entrambe le parti della condizione sono vere. L'istanza deve avere il tag `Project=DataAnalytics`. Inoltre, il principale IAM (utente o ruolo) da cui proviene la richiesta deve avere il tag `Department=Data`. 

**Nota**  
Come best practice, collega policy con la chiave di condizione `aws:PrincipalTag` a gruppi IAM, nel caso in cui non tutti gli utenti dispongano del tag specificato. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "StartStopIfTags",
            "Effect": "Allow",
            "Action": [
                "ec2:StartInstances",
                "ec2:StopInstances"
            ],
            "Resource": "arn:aws:ec2:us-east-1:123456789012:instance/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/Project": "DataAnalytics",
                    "aws:PrincipalTag/Department": "Data"
                }
            }
        }
    ]
}
```

------

# EC2: avvio o arresto di istanze in base alla corrispondenza dei tag della risorsa e del principale
<a name="reference_policies_examples_ec2-start-stop-match-tags"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta a un principale di avviare o interrompere un'istanza Amazon EC2 quando il tag della risorsa dell'istanza e il tag del principale hanno lo stesso valore per la chiave di tag `CostCenter`. Questa politica concede le autorizzazioni necessarie per completare questa azione in modo programmatico dall'API o. AWS AWS CLI Per utilizzare questa politica, sostituisci la politica *italicized placeholder text* nell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md). 

**Nota**  
Come best practice, collega policy con la chiave di condizione `aws:PrincipalTag` a gruppi IAM, nel caso in cui non tutti gli utenti dispongano del tag specificato. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Action": [
            "ec2:startInstances",
            "ec2:stopInstances"
        ],
        "Resource": "*",
        "Condition": {"StringEquals": 
            {"aws:ResourceTag/CostCenter": "${aws:PrincipalTag/CostCenter}"}}
    }
}
```

------

# Amazon EC2: consente l'accesso completo a EC2 entro una regione specifica, a livello di programmazione e nella console
<a name="reference_policies_examples_ec2_region"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta l'accesso completo a EC2 in una regione specifica. Questa policy definisce le autorizzazioni per l'accesso a livello di programmazione e alla console. Per utilizzare questa politica, sostituisci la politica *italicized placeholder text* nell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md). Per un elenco dei codici di regione, consulta [Regioni disponibili](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions) nella *Guida per l'utente di Amazon EC2*.

In alternativa, puoi utilizzare la chiave di condizione [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requestedregion](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requestedregion), supportata da tutte le operazioni API di Amazon EC2. Per ulteriori informazioni, consulta [Esempio: limitazione dell'accesso a una regione specifica](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ExamplePolicies_EC2.html#iam-example-region) nella *Guida per l'utente di Amazon EC2*.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": "ec2:*",
            "Resource": "*",
            "Effect": "Allow",
            "Condition": {
                "StringEquals": {
                    "ec2:Region": "us-east-2"
                }
            }
        }
    ]
}
```

------

# Amazon EC2: consente l'avvio o l'arresto di un'istanza EC2 e la modifica di un gruppo di sicurezza, in modo programmatico e nella console
<a name="reference_policies_examples_ec2_instance-securitygroup"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta l'avvio o l'arresto di un'istanza EC2 specifica e la modifica di un determinato gruppo di sicurezza. Questa policy definisce le autorizzazioni per l'accesso a livello di programmazione e alla console. Per utilizzare questa politica, sostituisci la politica *italicized placeholder text* nell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md).

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "ec2:DescribeInstances",
        "ec2:DescribeSecurityGroups",
        "ec2:DescribeSecurityGroupReferences",
        "ec2:DescribeStaleSecurityGroups"
      ],
      "Resource": "*",
      "Effect": "Allow"
    },
    {
      "Action": [
        "ec2:AuthorizeSecurityGroupEgress",
        "ec2:AuthorizeSecurityGroupIngress",
        "ec2:RevokeSecurityGroupEgress",
        "ec2:RevokeSecurityGroupIngress",
        "ec2:StartInstances",
        "ec2:StopInstances"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:instance/i-instance-id",
        "arn:aws:ec2:*:*:security-group/sg-security-group-id"
      ],
      "Effect": "Allow"
    }
  ]
}
```

------

# Amazon EC2: richiede MFA (GetSessionToken) per operazioni EC2 specifiche
<a name="reference_policies_examples_ec2_require-mfa"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta l'accesso completo a tutte le operazioni AWS API in Amazon EC2. Tuttavia, rifiuta esplicitamente l'accesso alle operazioni API `StopInstances` e `TerminateInstances` se l'utente non viene autenticato utilizzando l'[autenticazione a più fattori (MFA, Multi-Factor Authentication)](id_credentials_mfa.md). Per eseguire questa operazione a livello di programmazione, l'utente deve includere valori `SerialNumber` e `TokenCode` opzionali durante la chiamata all'operazione `GetSessionToken`. Questa operazione restituisce credenziali temporanee autenticate utilizzando MFA. Per saperne di più, consulta. GetSessionToken [Richiesta di credenziali per gli utenti in ambienti non attendibili](id_credentials_temp_request.md#api_getsessiontoken)

Che cosa fa questa policy?
+ L'istruzione `AllowAllActionsForEC2` consente tutte le operazioni Amazon EC2.
+ La dichiarazione `DenyStopAndTerminateWhenMFAIsNotPresent` rifiuta le operazioni `TerminateInstances` e `StopInstances` quando manca il contesto MFA. Ciò significa che le operazioni vengono rifiutate quando manca il contesto dell'autenticazione a più fattori (ovvero, MFA non è stato utilizzato). Un rifiuto sostituisce il consenso.

**Nota**  
Il controllo della condizione per `MultiFactorAuthPresent` nella dichiarazione `Deny` non deve essere `{"Bool":{"aws:MultiFactorAuthPresent":false}}`, perché tale chiave non è presente e non può essere valutata quando MFA non viene utilizzato. Utilizzare invece il controllo `BoolIfExists` per vedere se la chiave è presente prima di controllare il valore. Per ulteriori informazioni, consulta [... IfExists operatori di condizionamento](reference_policies_elements_condition_operators.md#Conditions_IfExists).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowAllActionsForEC2",
            "Effect": "Allow",
            "Action": "ec2:*",
            "Resource": "*"
        },
        {
            "Sid": "DenyStopAndTerminateWhenMFAIsNotPresent",
            "Effect": "Deny",
            "Action": [
                "ec2:StopInstances",
                "ec2:TerminateInstances"
            ],
            "Resource": "*",
            "Condition": {
                "BoolIfExists": {"aws:MultiFactorAuthPresent": false}
            }
        }
    ]
}
```

------

# Amazon EC2: limita la chiusura delle istanze EC2 a un intervallo di indirizzi IP
<a name="reference_policies_examples_ec2_terminate-ip"></a>

Questo esempio mostra come creare una policy basata sull'identità che limiti le istanze EC2, consentendo l'operazione, ma negando esplicitamente l'accesso quando la richiesta proviene da un indirizzo IP esterno all'intervallo specificato. La policy è utile quando gli indirizzi IP per la tua azienda sono all'interno di determinati intervalli. Questa politica concede le autorizzazioni necessarie per completare questa azione a livello di codice dall'API o. AWS AWS CLI Per utilizzare questa politica, sostituisci la politica *italicized placeholder text* nell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md).

Se questa politica viene utilizzata in combinazione con altre politiche che consentono l'`ec2:TerminateInstances`azione (come la politica EC2 FullAccess AWS gestita da [Amazon](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonEC2FullAccess)), l'accesso viene negato. Questo perché una dichiarazione di rifiuto esplicita prevale su una dichiarazione di consenso. Per ulteriori informazioni, consulta [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).

**Importante**  
La chiave `aws:SourceIp` condizionale nega l'accesso a un utente Servizio AWS, ad esempio AWS CloudFormation, che effettua chiamate per conto dell'utente. Per ulteriori informazioni su come utilizzare la chiave di condizione `aws:SourceIp`, consultare [AWS chiavi di contesto della condizione globale](reference_policies_condition-keys.md).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": ["ec2:TerminateInstances"],
            "Resource": ["*"]
        },
        {
            "Effect": "Deny",
            "Action": ["ec2:TerminateInstances"],
            "Condition": {
                "NotIpAddress": {
                    "aws:SourceIp": [
                        "192.0.2.0/24",
                        "203.0.113.0/24"
                    ]
                }
            },
            "Resource": ["*"]
        }
    ]
}
```

------

# IAM: accesso all'API del simulatore di policy
<a name="reference_policies_examples_iam_policy-sim"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta l'utilizzo dell'API del simulatore di policy per le policy collegate a un utente, un gruppo o un ruolo nell' Account AWS corrente. Questa policy consente inoltre l'accesso per simulare le policy meno sensibili passate all'API come stringhe. Questa politica concede le autorizzazioni necessarie per completare questa azione a livello di codice dall'API o. AWS AWS CLI

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "iam:GetContextKeysForCustomPolicy",
                "iam:GetContextKeysForPrincipalPolicy",
                "iam:SimulateCustomPolicy",
                "iam:SimulatePrincipalPolicy"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
```

------

**Nota**  
Per consentire a un utente di accedere alla console del simulatore di policy per simulare le policy associate a un utente, gruppo o ruolo nel sistema corrente, consulta. Account AWS[IAM: accesso alla console del simulatore di policy](reference_policies_examples_iam_policy-sim-console.md)

# IAM: accesso alla console del simulatore di policy
<a name="reference_policies_examples_iam_policy-sim-console"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta l'utilizzo della console del simulatore di policy per le policy collegate a un utente, un gruppo o un ruolo nell' Account AWS corrente. Questa politica concede le autorizzazioni necessarie per completare questa azione a livello di codice dall'API o. AWS AWS CLI

[Puoi accedere alla console IAM Policy Simulator all'indirizzo:/https://policysim.aws.amazon.com](https://policysim.aws.amazon.com/)

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "iam:GetGroup",
                "iam:GetGroupPolicy",
                "iam:GetPolicy",
                "iam:GetPolicyVersion",
                "iam:GetRole",
                "iam:GetRolePolicy",
                "iam:GetUser",
                "iam:GetUserPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListAttachedRolePolicies",
                "iam:ListAttachedUserPolicies",
                "iam:ListGroups",
                "iam:ListGroupPolicies",
                "iam:ListGroupsForUser",
                "iam:ListRolePolicies",
                "iam:ListRoles",
                "iam:ListUserPolicies",
                "iam:ListUsers"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
```

------

# IAM: assumere ruoli che dispongono di un tag specifico
<a name="reference_policies_examples_iam-assume-tagged-role"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta a un utente IAM di assumere ruoli con la coppia chiave-valore di tag `Project = ExampleCorpABC`. Questa politica concede le autorizzazioni necessarie per completare questa azione a livello di codice dall'API o. AWS AWS CLI Per utilizzare questa politica, sostituisci la politica *italicized placeholder text* nell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md). 

Se un ruolo con questo tag esiste nello stesso account dell'utente, l'utente può assumere tale ruolo. Se un ruolo con questo tag esiste in un account diverso da quello dell'utente, sono richieste autorizzazioni aggiuntive. La policy di attendibilità del ruolo tra account deve anche consentire all'utente o a tutti i membri dell'account dell'utente di assumere il ruolo. Per ulteriori informazioni sull'utilizzo di ruoli per l'accesso tra account, consulta [Accesso per un utente IAM in un altro Account AWS di tua proprietà](id_roles_common-scenarios_aws-accounts.md).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AssumeTaggedRole",
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Resource": "*",
            "Condition": {
                "StringEquals": {"iam:ResourceTag/Project": "ExampleCorpABC"}
            }
        }
    ]
}
```

------

# IAM: consente e rifiuta l'accesso a più servizi a livello di programmazione e nella console
<a name="reference_policies_examples_iam_multiple-services-console"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta l'accesso completo a diversi servizi e l'accesso autonomo limitato in IAM. Rifiuta inoltre l'accesso al bucket `logs` di Amazon S3 o all'istanza `i-1234567890abcdef0` Amazon EC2. Questa policy definisce le autorizzazioni per l'accesso a livello di programmazione e alla console. Per utilizzare questa politica, sostituisci la politica *italicized placeholder text* nell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md).

**avvertimento**  
Questa policy consente l'accesso completo a tutte le operazioni e risorse in più servizi. Questa policy deve essere applicata solo ad amministratori fidati.

Puoi usare questa policy come un limite delle autorizzazioni per definire il numero massimo di autorizzazioni che una policy basata su identità può concedere a un utente IAM. Per ulteriori informazioni, consulta [Delega di responsabilità ad altri mediante i limiti delle autorizzazioni](access_policies_boundaries.md#access_policies_boundaries-delegate). Quando la policy viene usata come un limite delle autorizzazioni per un utente, le dichiarazioni definiscono i seguenti limiti:
+ L'istruzione `AllowServices` consente l'accesso completo ai servizi AWS specificati. Ciò significa che le operazioni dell'utente in questi servizi sono limitate solo dalle policy di autorizzazioni collegate all'utente.
+ La dichiarazione `AllowIAMConsoleForCredentials` consente l'accesso per elencare tutti gli utenti IAM. Questo accesso è necessario per navigare nella pagina **Users (Utenti)** nella Console di gestione AWS. Inoltre, consente di visualizzare i requisiti associati alle password per l'account, operazione necessaria per permettere all'utente di modificare la sua password.
+ L'istruzione `AllowManageOwnPasswordAndAccessKeys` consente agli utenti di gestire solo le proprie chiavi di accesso programmatiche e password della console. Questo è importante perché se un'altra policy offre a un utente l'accesso IAM completo, tale utente può modificare le sue autorizzazioni o quelle di altri utenti. Questa istruzione impedisce che ciò si verifichi.
+ L'istruzione `DenyS3Logs` nega esplicitamente l'accesso al bucket `logs`. Questa policy applica limitazioni aziendali all'utente.
+ L'istruzione `DenyEC2Production` nega esplicitamente l'accesso all'istanza `i-1234567890abcdef0`.

Questa policy non consente l'accesso ad altri servizi o operazioni. Quando la politica viene utilizzata come limite di autorizzazioni per un utente, anche se altre politiche allegate all'utente consentono tali azioni, AWS rifiuta la richiesta.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowServices",
            "Effect": "Allow",
            "Action": [
                "s3:*",
                "cloudwatch:*",
                "ec2:*"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowIAMConsoleForCredentials",
            "Effect": "Allow",
            "Action": [
                "iam:ListUsers",
                "iam:GetAccountPasswordPolicy"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowManageOwnPasswordAndAccessKeys",
            "Effect": "Allow",
            "Action": [
                "iam:*AccessKey*",
                "iam:ChangePassword",
                "iam:GetUser",
                "iam:*LoginProfile*"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "DenyS3Logs",
            "Effect": "Deny",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::logs",
                "arn:aws:s3:::logs/*"
            ]
        },
        {
            "Sid": "DenyEC2Production",
            "Effect": "Deny",
            "Action": "ec2:*",
            "Resource": "arn:aws:ec2:*:*:instance/i-1234567890abcdef0"
        }
    ]
}
```

------

# IAM: aggiunta di un tag specifico a un utente con un determinato tag
<a name="reference_policies_examples_iam-add-tag"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta di aggiungere la chiave di tag `Department` con i valori di tag `Marketing`, `Development` o `QualityAssurance` a un utente IAM. Tale utente deve già includere la coppia chiave-valore di tag `JobFunction = manager`. È possibile usare questa policy per richiedere che un responsabile appartenga solo a uno dei tre reparti. Questa policy definisce le autorizzazioni per l'accesso a livello di programmazione e alla console. Per utilizzare questa politica, sostituisci la politica *italicized placeholder text* nell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md). 

L'istruzione `ListTagsForAllUsers` consente di visualizzare i tag per tutti gli utenti nell'account. 

La prima condizione nell'istruzione `TagManagerWithSpecificDepartment` utilizza l'operatore di condizione `StringEquals`. La condizione restituisce true se entrambe le parti della condizione sono vere. L'utente che necessita di tag deve già disporre del tag `JobFunction=Manager`. La richiesta deve includere la chiave di tag `Department` con uno dei valori di tag elencati. 

La seconda condizione utilizza l'operatore di condizione `ForAllValues:StringEquals`. La condizione restituisce true se tutte le chiavi di tag nella richiesta corrispondono alla chiave nella policy. Ciò significa che l'unica chiave di tag nella richiesta deve essere `Department`. Per ulteriori informazioni sull’utilizzo di `ForAllValues`, consultare [Operatori dell’insieme per le chiavi di contesto multivalore](reference_policies_condition-single-vs-multi-valued-context-keys.md#reference_policies_condition-multi-valued-context-keys).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ListTagsForAllUsers",
            "Effect": "Allow",
            "Action": [
                "iam:ListUserTags",
                "iam:ListUsers"
            ],
            "Resource": "*"
        },
        {
            "Sid": "TagManagerWithSpecificDepartment",
            "Effect": "Allow",
            "Action": "iam:TagUser",
            "Resource": "*",
            "Condition": {"StringEquals": {
                "iam:ResourceTag/JobFunction": "Manager",
                "aws:RequestTag/Department": [
                    "Marketing",
                    "Development",
                    "QualityAssurance"
                    ]
                },
                "ForAllValues:StringEquals": {"aws:TagKeys": "Department"}
            }
        }
    ]
}
```

------

# IAM: aggiunta di un determinato tag con valori specifici
<a name="reference_policies_examples_iam-add-tag-user-role"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta di aggiungere solo la chiave di tag `CostCenter` e il valore di tag `A-123` o il valore di tag `B-456` a qualsiasi ruolo o utente IAM. Puoi utilizzare questa policy per limitare il tagging a una chiave di tag e a un set di valori di tag specifici. Questa policy definisce le autorizzazioni per l'accesso a livello di programmazione e alla console. Per utilizzare questa politica, sostituisci la politica *italicized placeholder text* nell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md). 

L'istruzione `ConsoleDisplay` consente di visualizzare i tag per tutti gli utenti e i ruoli nell'account. 

La prima condizione nell'istruzione `AddTag` utilizza l'operatore di condizione `StringEquals`. La condizione restituisce true se la richiesta include la chiave di tag `CostCenter` con uno dei valori di tag elencati. 

La seconda condizione utilizza l'operatore di condizione `ForAllValues:StringEquals`. La condizione restituisce true se tutte le chiavi di tag nella richiesta corrispondono alla chiave nella policy. Ciò significa che l'unica chiave di tag nella richiesta deve essere `CostCenter`. Per ulteriori informazioni sull’utilizzo di `ForAllValues`, consultare [Operatori dell’insieme per le chiavi di contesto multivalore](reference_policies_condition-single-vs-multi-valued-context-keys.md#reference_policies_condition-multi-valued-context-keys).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ConsoleDisplay",
            "Effect": "Allow",
            "Action": [
                "iam:GetRole",
                "iam:GetUser",
                "iam:ListRoles",
                "iam:ListRoleTags",
                "iam:ListUsers",
                "iam:ListUserTags"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AddTag",
            "Effect": "Allow",
            "Action": [
                "iam:TagUser",
                "iam:TagRole"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/CostCenter": [
                        "A-123",
                        "B-456"
                    ]
                },
                "ForAllValues:StringEquals": {"aws:TagKeys": "CostCenter"}
            }
        }
    ]
}
```

------

# IAM: creazione di nuovi utenti solo con tag specifici
<a name="reference_policies_examples_iam-new-user-tag"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta la creazione di utenti IAM, ma solo con una o entrambe le chiavi di tag `Department` e `JobFunction`. La chiave di tag `Department` deve avere il valore di tag `Development` o `QualityAssurance`. La chiave di tag `JobFunction` deve avere il valore di tag `Employee`. È possibile usare questa policy per richiedere che i nuovi utenti dispongano di una mansione e un reparto specifici. Questa politica concede le autorizzazioni necessarie per completare questa azione a livello di codice dall'API o. AWS AWS CLI Per utilizzare questa politica, sostituisci la politica *italicized placeholder text* nell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md). 

La prima condizione nell'istruzione utilizza l'operatore di condizione `StringEqualsIfExists`. Se un tag con la chiave `Department` o `JobFunction` è presente nella richiesta, il tag deve avere il valore specificato. Se non è presente alcuna chiave, questa condizione viene valutata come true. La condizione viene valutata come false solo se una delle chiavi di condizione specificate è presente nella richiesta, ma ha un valore diverso da quelli consentiti. Per ulteriori informazioni sull’utilizzo di `IfExists`, consultare [... IfExists operatori di condizionamento](reference_policies_elements_condition_operators.md#Conditions_IfExists).

La seconda condizione utilizza l'operatore di condizione `ForAllValues:StringEquals`. La condizione restituisce true se si verifica una corrispondenza tra ognuna delle chiavi di tag specificate nella richiesta e almeno un valore nella policy. Ciò significa che tutti i tag nella richiesta devono essere in questo elenco. Tuttavia, la richiesta può includere solo uno dei tag nell'elenco. Ad esempio, puoi creare un utente IAM con il solo tag `Department=QualityAssurance`. Tuttavia, non puoi creare un utente IAM con il tag `JobFunction=employee` e il tag `Project=core`. Per ulteriori informazioni sull’utilizzo di `ForAllValues`, consultare [Operatori dell’insieme per le chiavi di contesto multivalore](reference_policies_condition-single-vs-multi-valued-context-keys.md#reference_policies_condition-multi-valued-context-keys).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "TagUsersWithOnlyTheseTags",
            "Effect": "Allow",
            "Action": [
                "iam:CreateUser",
                "iam:TagUser"
            ],
            "Resource": "*",
            "Condition": {
                "StringEqualsIfExists": {
                    "aws:RequestTag/Department": [
                        "Development",
                        "QualityAssurance"
                    ],
                    "aws:RequestTag/JobFunction": "Employee"
                },
                "ForAllValues:StringEquals": {
                    "aws:TagKeys": [
                        "Department",
                        "JobFunction"
                    ]
                }
            }
        }
    ]
}
```

------

# IAM: generazione e recupero di report di credenziali IAM
<a name="reference_policies_examples_iam-credential-report"></a>

Questo esempio mostra come è possibile creare una policy basata sull'identità che consenta agli utenti di generare e scaricare un report che elenca tutti gli utenti IAM del loro gruppo. Account AWS Il report include lo stato delle credenziali dell'utente, incluse le password, le chiavi di accesso, i dispositivi MFA e i certificati di firma. Questa policy concede le autorizzazioni necessarie per completare questa azione a livello di codice dall'API o. AWS AWS CLI

Per ulteriori informazioni sui report delle credenziali, consultare la pagina [Genera report sulle credenziali per il tuo Account AWS](id_credentials_getting-report.md).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Action": [
            "iam:GenerateCredentialReport",
            "iam:GetCredentialReport"
        ],
        "Resource": "*"
    }
}
```

------

# IAM: consente di gestire l'appartenenza di un gruppo a livello di programmazione e nella console
<a name="reference_policies_examples_iam_manage-group-membership"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta di aggiornare l'appartenenza al gruppo denominato `MarketingTeam`. Questa policy definisce le autorizzazioni per l'accesso a livello di programmazione e alla console. Per utilizzare questa politica, sostituisci la politica *italicized placeholder text* nell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md).

Che cosa fa questa policy?
+ La `ViewGroups` dichiarazione consente all'utente di elencare tutti gli utenti e i gruppi nella Console di gestione AWS. Inoltre, consente all'utente di visualizzare informazioni di base sugli utenti nell'account. Queste autorizzazioni devono essere nella propria istruzione perché non supportano o non devono specificare l'ARN di una risorsa. Le autorizzazioni specificano invece `"Resource" : "*"`.
+ La dichiarazione `ViewEditThisGroup` consente all'utente di visualizzare le informazioni sul gruppo `MarketingTeam` e aggiungere o rimuovere utenti da tale gruppo.

Questa policy non consente all'utente di visualizzare o modificare le autorizzazioni degli utenti o del gruppo `MarketingTeam`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewGroups",
            "Effect": "Allow",
            "Action": [
                "iam:ListGroups",
                "iam:ListUsers",
                "iam:GetUser",
                "iam:ListGroupsForUser"
            ],
            "Resource": "*"
        },
        {
            "Sid": "ViewEditThisGroup",
            "Effect": "Allow",
            "Action": [
                "iam:AddUserToGroup",
                "iam:RemoveUserFromGroup",
                "iam:GetGroup"
            ],
            "Resource": "arn:aws:iam::*:group/MarketingTeam"
        }
    ]
}
```

------

# IAM: gestione di un tag specifico
<a name="reference_policies_examples_iam-manage-tags"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta di aggiungere e rimuovere il tag IAM con la chiave di tag `Department` dalle entità IAM (utenti e ruoli). Questa policy non limita il valore del tag `Department`. Questa politica concede le autorizzazioni necessarie per completare questa azione a livello di codice dall'API o. AWS AWS CLI Per utilizzare questa politica, sostituisci la politica *italicized placeholder text* nell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md). 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Action": [
            "iam:TagUser",
            "iam:TagRole",
            "iam:UntagUser",
            "iam:UntagRole"

        ],
        "Resource": "*",
        "Condition": {"ForAllValues:StringEquals": {"aws:TagKeys": "Department"}}
    }
}
```

------

# IAM: passa un ruolo IAM a un AWS servizio specifico
<a name="reference_policies_examples_iam-passrole-service"></a>

Questo esempio mostra come è possibile creare una policy basata sull'identità che consenta di passare qualsiasi ruolo del servizio IAM al servizio Amazon. CloudWatch Questa politica concede le autorizzazioni necessarie per completare questa azione in modo programmatico dall'API o. AWS AWS CLI Per utilizzare questa politica, sostituisci la politica *italicized placeholder text* nell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md). 

Un ruolo di servizio è un ruolo IAM che specifica un AWS servizio come principale che può assumere il ruolo. Questo consente al servizio di assumere il ruolo e accedere a risorse in altri servizi a tuo nome. Per consentire CloudWatch ad Amazon di assumere il ruolo che conferisci, devi specificare il responsabile del `cloudwatch.amazonaws.com` servizio come responsabile nella politica di fiducia del tuo ruolo. Il principale del servizio è definito dal servizio. Per ulteriori informazioni sul principale del servizio per un servizio, consultare la documentazione per quel servizio. Per alcuni servizi, consulta [AWS servizi che funzionano con IAM](reference_aws-services-that-work-with-iam.md) e cerca i servizi che hanno **Sì** nella colonna **Ruolo collegato ai servizi**. Scegliere **Sì** in corrispondenza di un link per visualizzare la documentazione relativa al ruolo collegato al servizio per tale servizio. Cerca `amazonaws.com` per visualizzare il principale del servizio.

Per ulteriori informazioni sul passaggio di un ruolo del servizio al servizio, consulta [Concedere a un utente le autorizzazioni per passare un ruolo a un servizio AWS](id_roles_use_passrole.md).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "*",
            "Condition": {
                "StringEquals": {"iam:PassedToService": "cloudwatch.amazonaws.com"}
            }
        }
    ]
}
```

------

# IAM: consente l'accesso in sola lettura alla console IAM senza la creazione di report
<a name="reference_policies_examples_iam_read-only-console-no-reporting"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta agli utenti IAM di eseguire qualsiasi operazione IAM che inizia con la stringa `Get` o`List`. Quando gli utenti utilizzano la console, la console effettua richieste a IAM per elencare gruppi, utenti, ruoli e policy e generare report su tali risorse.

L'asterisco funge da carattere jolly. Quando utilizzi `iam:Get*` in una policy, le autorizzazioni risultanti includono tutte le operazioni IAM che iniziano con `Get`, ad esempio `GetUser` e `GetRole`. I caratteri jolly sono utili quando nuovi tipi di entità vengono aggiunti a IAM in futuro. In tal caso, le autorizzazioni concesse dalla policy consentono automaticamente all'utente di elencare e ottenere i dettagli su queste nuove entità. 

Questa policy non può essere utilizzata per generare report o dettagli dell'ultimo accesso al servizio. Per una policy diversa che lo consenta, consulta [IAM: consente l'accesso in sola lettura alla console IAM](reference_policies_examples_iam_read-only-console.md).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Action": [
            "iam:Get*",
            "iam:List*"
        ],
        "Resource": "*"
    }
}
```

------

# IAM: consente l'accesso in sola lettura alla console IAM
<a name="reference_policies_examples_iam_read-only-console"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta agli utenti IAM di eseguire qualsiasi operazione IAM che inizia con la stringa `Get`, `List` o `Generate`. Quando gli utenti utilizzano la console IAM, la console effettua richieste per elencare gruppi, utenti, ruoli e policy e generare report su tali risorse.

L'asterisco funge da carattere jolly. Quando utilizzi `iam:Get*` in una policy, le autorizzazioni risultanti includono tutte le operazioni IAM che iniziano con `Get`, ad esempio `GetUser` e `GetRole`. L'uso di un carattere jolly è utile, in particolare se in futuro vengono aggiunti nuovi tipi di entità a IAM. In tal caso, le autorizzazioni concesse dalla policy consentono automaticamente all'utente di elencare e ottenere i dettagli su queste nuove entità. 

Utilizza questa policy per l'accesso alla console che include le autorizzazioni per generare report o i dettagli dell'ultimo accesso al servizio. Per una policy diversa che non consenta la generazione di operazioni, consulta [IAM: consente l'accesso in sola lettura alla console IAM senza la creazione di report](reference_policies_examples_iam_read-only-console-no-reporting.md).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Action": [
            "iam:Get*",
            "iam:List*",
            "iam:Generate*"
        ],
        "Resource": "*"
    }
}
```

------

# IAM: consente a utenti IAM specifici di gestire un gruppo a livello di programmazione e nella console
<a name="reference_policies_examples_iam_users-manage-group"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta a specifici utenti IAM di gestire il gruppo `AllUsers`. Questa policy definisce le autorizzazioni per l'accesso a livello di programmazione e alla console. Per utilizzare questa politica, sostituisci la politica *italicized placeholder text* nell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md).

Che cosa fa questa policy?
+ L'istruzione `AllowAllUsersToListAllGroups` consente di elencare tutti i gruppi. Questa operazione è necessaria per l'accesso alla console. Questa autorizzazione deve trovarsi nella propria dichiarazione perché non supporta un ARN della risorsa. Le autorizzazioni specificano invece `"Resource" : "*"`.
+ L'istruzione `AllowAllUsersToViewAndManageThisGroup` consente tutte le operazioni del gruppo che possono essere eseguite sul tipo di risorsa del gruppo. Non consente l'operazione `ListGroupsForUser`, che può essere eseguita su un tipo di risorsa dell'utente e non un tipo di risorsa del gruppo. Per ulteriori informazioni sui tipi di risorsa che è possibile specificare per un'operazione IAM, consulta [Operazioni, risorse e chiavi di condizione per AWS Identity and Access Management](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_identityandaccessmanagement.html#identityandaccessmanagement-actions-as-permissions).
+ L'istruzione `LimitGroupManagementAccessToSpecificUsers` nega agli utenti con i nomi specificati l'accesso in scrittura e le operazioni del gruppo di gestione delle autorizzazioni. Quando un utente specificato nella policy tenta di apportare modifiche al gruppo, questa istruzione non rifiuta la richiesta. Questa richiesta è consentita dall'istruzione `AllowAllUsersToViewAndManageThisGroup`. Se altri utenti tentano di eseguire queste operazioni, la richiesta viene rifiutata. Puoi visualizzare le operazioni IAM che vengono definite con i livelli di accesso **Scrittura** o **Gestione delle autorizzazioni** durante la creazione di questa policy nella console IAM. A tale scopo, passare dalla scheda **JSON** alla scheda **Visual editor**. Per ulteriori informazioni sui livelli di accesso. consulta [Operazioni, risorse e chiavi di condizione per AWS Identity and Access Management](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_identityandaccessmanagement.html#identityandaccessmanagement-actions-as-permissions).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowAllUsersToListAllGroups",
            "Effect": "Allow",
            "Action": "iam:ListGroups",
            "Resource": "*"
        },
        {
            "Sid": "AllowAllUsersToViewAndManageThisGroup",
            "Effect": "Allow",
            "Action": "iam:*Group*",
            "Resource": "arn:aws:iam::*:group/AllUsers"
        },
        {
            "Sid": "LimitGroupManagementAccessToSpecificUsers",
            "Effect": "Deny",
            "Action": [
                "iam:AddUserToGroup",
                "iam:CreateGroup",
                "iam:RemoveUserFromGroup",
                "iam:DeleteGroup",
                "iam:AttachGroupPolicy",
                "iam:UpdateGroup",
                "iam:DetachGroupPolicy",
                "iam:DeleteGroupPolicy",
                "iam:PutGroupPolicy"
            ],
            "Resource": "arn:aws:iam::*:group/AllUsers",
            "Condition": {
                "StringNotEquals": {
                    "aws:username": [
                        "srodriguez",
                        "mjackson",
                        "adesai"
                    ]
                }
            }
        }
    ]
}
```

------

# IAM: consente l'impostazione dei requisiti della password dell'account a livello di programmazione e nella console
<a name="reference_policies_examples_iam_set-account-pass-policy"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta a un utente di visualizzare e aggiornare i requisiti della password dell'account. I requisiti della password specificano i requisiti di complessità e i periodi di rotazione obbligatori per le password dei membri dell'account. Questa policy definisce le autorizzazioni per l'accesso a livello di programmazione e alla console.

Per Scopri come impostare la policy dei requisiti della password dell'account per l'account, consulta [Configurare una policy delle password di un account per gli utenti IAM](id_credentials_passwords_account-policy.md).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Action": [
            "iam:GetAccountPasswordPolicy",
            "iam:UpdateAccountPasswordPolicy"
        ],
        "Resource": "*"
    }
}
```

------

# IAM: accesso all'API simulatore di policy basata sul percorso degli utenti
<a name="reference_policies_examples_iam_policy-sim-path"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta l'utilizzo dell'API del simulatore di policy solo da parte degli utenti con il percorso `Department/Development`. Questa politica concede le autorizzazioni necessarie per completare questa azione a livello di codice dall'API o. AWS AWS CLI Per utilizzare questa politica, sostituisci la politica *italicized placeholder text* nell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "iam:GetContextKeysForPrincipalPolicy",
                "iam:SimulatePrincipalPolicy"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:iam::*:user/Department/Development/*"
        }
    ]
}
```

------

**Nota**  
Per creare una policy che consente di utilizzare la console del simulatore di policy per gli utenti con percorso `Department/Development`, consultare [IAM: accesso alla console del simulatore di policy in base al percorso utente](reference_policies_examples_iam_policy-sim-path-console.md).

# IAM: accesso alla console del simulatore di policy in base al percorso utente
<a name="reference_policies_examples_iam_policy-sim-path-console"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta l'utilizzo della console del simulatore di policy solo per gli utenti con il percorso `Department/Development`. Questa politica concede le autorizzazioni necessarie per completare questa azione a livello di codice dall'API o. AWS AWS CLI Per utilizzare questa politica, sostituisci la politica *italicized placeholder text* nell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md).

[Puoi accedere a IAM Policy Simulator all'indirizzo:/https://policysim.aws.amazon.com](https://policysim.aws.amazon.com/)

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "iam:GetPolicy",
                "iam:GetUserPolicy"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": [
                "iam:GetUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListGroupsForUser",
                "iam:ListUserPolicies",
                "iam:ListUsers"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:iam::*:user/Department/Development/*"
        }
    ]
}
```

------

# IAM: consente agli utenti IAM di gestire in modo autonomo un dispositivo MFA
<a name="reference_policies_examples_iam_mfa-selfmanage"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta agli utenti IAM di gestire in modo automatico il proprio dispositivo di [autenticazione a più fattori (MFA)](id_credentials_mfa.md). Questa politica concede le autorizzazioni necessarie per completare questa azione a livello di codice dall'API o. AWS AWS CLI

**Nota**  
Se un utente IAM con questa policy non è autenticato tramite MFA, questa policy nega l'accesso a tutte le AWS azioni tranne quelle necessarie per l'autenticazione tramite MFA. Se aggiungi queste autorizzazioni per un utente che ha effettuato l'accesso AWS, potrebbe dover disconnettersi e riconnettersi per visualizzare le modifiche.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowListActions",
            "Effect": "Allow",
            "Action": [
                "iam:ListUsers",
                "iam:ListVirtualMFADevices"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowUserToCreateVirtualMFADevice",
            "Effect": "Allow",
            "Action": [
                "iam:CreateVirtualMFADevice"
            ],
            "Resource": "arn:aws:iam::*:mfa/*"
        },
        {
            "Sid": "AllowUserToManageTheirOwnMFA",
            "Effect": "Allow",
            "Action": [
                "iam:EnableMFADevice",
                "iam:GetMFADevice",
                "iam:ListMFADevices",
                "iam:ResyncMFADevice"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "AllowUserToDeactivateTheirOwnMFAOnlyWhenUsingMFA",
            "Effect": "Allow",
            "Action": [
                "iam:DeactivateMFADevice"
            ],
            "Resource": [
                "arn:aws:iam::*:user/${aws:username}"
            ],
            "Condition": {
                "Bool": {
                    "aws:MultiFactorAuthPresent": "true"
                }
            }
        },
        {
            "Sid": "BlockMostAccessUnlessSignedInWithMFA",
            "Effect": "Deny",
            "NotAction": [
                "iam:CreateVirtualMFADevice",
                "iam:EnableMFADevice",
                "iam:ListMFADevices",
                "iam:ListUsers",
                "iam:ListVirtualMFADevices",
                "iam:ResyncMFADevice"
            ],
            "Resource": "*",
            "Condition": {
                "BoolIfExists": {
                    "aws:MultiFactorAuthPresent": "false"
                }
            }
        }
    ]
}
```

------

# IAM: consente agli utenti IAM di aggiornare le credenziali a livello di programmazione e nella console
<a name="reference_policies_examples_iam_credentials_console"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta agli utenti IAM di aggiornare le proprie chiavi di accesso, i certificati di firma, le credenziali specifiche del servizio e le password. Questa policy definisce le autorizzazioni per l'accesso a livello di programmazione e alla console.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iam:ListUsers",
                "iam:GetAccountPasswordPolicy"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:*AccessKey*",
                "iam:ChangePassword",
                "iam:GetUser",
                "iam:*ServiceSpecificCredential*",
                "iam:*SigningCertificate*"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        }
    ]
}
```

------

Per ulteriori informazioni su come un utente può modificare la propria password nella console, consultare [Come un utente IAM può modificare la propria password](id_credentials_passwords_user-change-own.md).

# IAM: visualizza le informazioni sull'ultimo accesso al servizio per una AWS Organizations policy
<a name="reference_policies_examples_iam_service-accessed-data-orgs"></a>

Questo esempio mostra come creare una policy basata sull’identità che consenta di visualizzare le informazioni sull’ultimo accesso per una determinata policy di AWS Organizations . Questa policy consente di recuperare dati per la policy di controllo del servizio (SCP) con l'ID `p-policy123`. La persona che genera e visualizza il report deve essere autenticata utilizzando le credenziali dell'account di AWS Organizations gestione. Questa politica consente al richiedente di recuperare i dati di qualsiasi AWS Organizations entità della propria organizzazione. Questa policy definisce le autorizzazioni per l'accesso a livello di programmazione e alla console. Per utilizzare questa politica, sostituisci la politica *italicized placeholder text* nell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md).

Per informazioni importanti sui dati sull'ultimo accesso al servizio, incluse le autorizzazioni richieste, la risoluzione dei problemi e le regioni supportate, consulta [Perfeziona le autorizzazioni AWS utilizzando le informazioni dell'ultimo accesso](access_policies_last-accessed.md).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowOrgsReadOnlyAndIamGetReport",
            "Effect": "Allow",
            "Action": [
                "iam:GetOrganizationsAccessReport",
                "organizations:Describe*",
                "organizations:List*"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowGenerateReportOnlyForThePolicy",
            "Effect": "Allow",
            "Action": "iam:GenerateOrganizationsAccessReport",
            "Resource": "*",
            "Condition": {
                "StringEquals": {"iam:OrganizationsPolicyId": "p-policy123"}
            }
        }
    ]
}
```

------

# IAM: limita le policy gestite che possono essere applicate a un utente, un gruppo o un ruolo IAM.
<a name="reference_policies_examples_iam_limit-managed"></a>

Questo esempio mostra come è possibile creare una policy basata sull'identità che limiti le policy gestite dai clienti e quelle AWS gestite che possono essere applicate a un utente, gruppo o ruolo IAM. Questa policy concede le autorizzazioni necessarie per completare questa azione in modo programmatico dall'API o. AWS AWS CLI Per utilizzare questa politica, sostituisci la politica *italicized placeholder text* nell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Action": [
            "iam:AttachUserPolicy",
            "iam:DetachUserPolicy"
        ],
        "Resource": "*",
        "Condition": {
            "ArnEquals": {
                "iam:PolicyARN": [
                    "arn:aws:iam::*:policy/policy-name-1",
                    "arn:aws:iam::*:policy/policy-name-2"
                ]
            }
        }
    }
}
```

------

# AWS: nega l'accesso alle risorse esterne al tuo account ad eccezione delle politiche IAM AWS gestite
<a name="resource_examples_iam_policies_resource_account"></a>

L'utilizzo di `aws:ResourceAccount` nelle policy basate sull'identità può influire sulla capacità dell'utente o del ruolo di utilizzare alcuni servizi che richiedono l'interazione con le risorse negli account di proprietà di un servizio.

Puoi creare una policy con un'eccezione per consentire le policy IAM AWS gestite. Un account gestito dal servizio esterno alle tue politiche AWS Organizations IAM gestite. Esistono quattro azioni IAM che elencano e AWS recuperano le politiche gestite. Utilizza queste operazioni nell'elemento [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_notaction.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_notaction.html) dell'istruzione `AllowAccessToS3ResourcesInSpecificAccountsAndSpecificService1` nella policy.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowAccessToResourcesInSpecificAccountsAndSpecificService1",
      "Effect": "Deny",
      "NotAction": [
        "iam:GetPolicy",
        "iam:GetPolicyVersion",
        "iam:ListEntitiesForPolicy",
        "iam:ListPolicies"
      ],
      "Resource": "*",
      "Condition": {
        "StringNotEquals": {
          "aws:ResourceAccount": [
            "111122223333"
          ]
        }
      }
    }
  ]
}
```

------

# AWS Lambda: consente a una funzione Lambda di accedere a una tabella Amazon DynamoDB
<a name="reference_policies_examples_lambda-access-dynamodb"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta l'accesso in lettura e scrittura a una tabella Amazon DynamoDB specifica. La politica consente anche di scrivere file di registro CloudWatch nei registri. Per utilizzare questa politica, sostituisci la politica *italicized placeholder text* nell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md).

Per utilizzare questa policy, collega la policy a un [ruolo del servizio](id_roles_create_for-service.md) Lambda. Un ruolo del servizio è un ruolo che viene creato nell'account per consentire a un servizio di eseguire operazioni a tuo nome. Tale ruolo di servizio deve essere incluso AWS Lambda come principale nella politica di fiducia. Per informazioni dettagliate su come utilizzare questa policy, consulta [Come creare una policy AWS IAM per concedere AWS Lambda l'accesso a una tabella Amazon DynamoDB nel AWS Security](https://aws.amazon.com/blogs/security/how-to-create-an-aws-iam-policy-to-grant-aws-lambda-access-to-an-amazon-dynamodb-table/) Blog.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ReadWriteTable",
            "Effect": "Allow",
            "Action": [
                "dynamodb:BatchGetItem",
                "dynamodb:GetItem",
                "dynamodb:Query",
                "dynamodb:Scan",
                "dynamodb:BatchWriteItem",
                "dynamodb:PutItem",
                "dynamodb:UpdateItem"
            ],
            "Resource": "arn:aws:dynamodb:*:*:table/SampleTable"
        },
        {
            "Sid": "GetStreamRecords",
            "Effect": "Allow",
            "Action": "dynamodb:GetRecords",
            "Resource": "arn:aws:dynamodb:*:*:table/SampleTable/stream/* "
        },
        {
            "Sid": "WriteLogStreamsAndGroups",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": "*"
        },
        {
            "Sid": "CreateLogGroup",
            "Effect": "Allow",
            "Action": "logs:CreateLogGroup",
            "Resource": "*"
        }
    ]
}
```

------

# Amazon RDS: consente l'accesso completo al database RDS in una regione specifica
<a name="reference_policies_examples_rds_region"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta l'accesso completo al database RDS in una regione specifica. Questa politica concede le autorizzazioni necessarie per completare questa azione a livello di codice dall'API o. AWS AWS CLI Per utilizzare questa politica, sostituisci la politica *italicized placeholder text* nell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "rds:*",
            "Resource": ["arn:aws:rds:us-east-1:*:*"]
        },
        {
            "Effect": "Allow",
            "Action": ["rds:Describe*"],
            "Resource": ["*"]
        }
    ]
}
```

------

# Amazon RDS: consente il ripristino dei database RDS, in modo programmatico e nella console
<a name="reference_policies_examples_rds_db-console"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta di ripristinare i database RDS. Questa policy definisce le autorizzazioni per l'accesso a livello di programmazione e alla console.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:Describe*",
                "rds:CreateDBParameterGroup",
                "rds:CreateDBSnapshot",
                "rds:DeleteDBSnapshot",
                "rds:Describe*",
                "rds:DownloadDBLogFilePortion",
                "rds:List*",
                "rds:ModifyDBInstance",
                "rds:ModifyDBParameterGroup",
                "rds:ModifyOptionGroup",
                "rds:RebootDBInstance",
                "rds:RestoreDBInstanceFromDBSnapshot",
                "rds:RestoreDBInstanceToPointInTime"
            ],
            "Resource": "*"
        }
    ]
}
```

------

# Amazon RDS: consente ai proprietari di tag l'accesso completo alle risorse RDS da loro contrassegnate con un tag
<a name="reference_policies_examples_rds_tag-owner"></a>

Questo esempio mostra come creare una policy basata sull'identità che conceda ai proprietari dei tag l'accesso completo alle risorse RDS che hanno contrassegnato con tag. Questa politica concede le autorizzazioni necessarie per completare questa azione a livello di codice dall'API o. AWS AWS CLI

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "rds:Describe*",
                "rds:List*"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": [
                "rds:DeleteDBInstance",
                "rds:RebootDBInstance",
                "rds:ModifyDBInstance"
            ],
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "StringEqualsIgnoreCase": {"rds:db-tag/Owner": "${aws:username}"}
            }
        },
        {
            "Action": [
                "rds:ModifyOptionGroup",
                "rds:DeleteOptionGroup"
            ],
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "StringEqualsIgnoreCase": {"rds:og-tag/Owner": "${aws:username}"}
            }
        },
        {
            "Action": [
                "rds:ModifyDBParameterGroup",
                "rds:ResetDBParameterGroup"
            ],
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "StringEqualsIgnoreCase": {"rds:pg-tag/Owner": "${aws:username}"}
            }
        },
        {
            "Action": [
                "rds:AuthorizeDBSecurityGroupIngress",
                "rds:RevokeDBSecurityGroupIngress",
                "rds:DeleteDBSecurityGroup"
            ],
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "StringEqualsIgnoreCase": {"rds:secgrp-tag/Owner": "${aws:username}"}
            }
        },
        {
            "Action": [
                "rds:DeleteDBSnapshot",
                "rds:RestoreDBInstanceFromDBSnapshot"
            ],
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "StringEqualsIgnoreCase": {"rds:snapshot-tag/Owner": "${aws:username}"}
            }
        },
        {
            "Action": [
                "rds:ModifyDBSubnetGroup",
                "rds:DeleteDBSubnetGroup"
            ],
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "StringEqualsIgnoreCase": {"rds:subgrp-tag/Owner": "${aws:username}"}
            }
        },
        {
            "Action": [
                "rds:ModifyEventSubscription",
                "rds:AddSourceIdentifierToSubscription",
                "rds:RemoveSourceIdentifierFromSubscription",
                "rds:DeleteEventSubscription"
            ],
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "StringEqualsIgnoreCase": {"rds:es-tag/Owner": "${aws:username}"}
            }
        }
    ]
}
```

------

# Amazon S3: consente agli utenti di Amazon Cognito di accedere a oggetti nel relativo bucket
<a name="reference_policies_examples_s3_cognito-bucket"></a>

Questo esempio mostra come creare una policy basata sull’identità che consenta agli utenti Amazon Cognito di accedere a oggetti in un determinato bucket Amazon S3. Questa policy consente l’accesso solo agli oggetti con un nome che include `cognito`, il nome dell’applicazione e l’ID del principale federato, rappresentati dalla variabile \$1\$1cognito-identity.amazonaws.com:sub\$1. Questa politica concede le autorizzazioni necessarie per completare questa azione a livello di codice dall'API o. AWS AWS CLI Per utilizzare questa politica, sostituisci la politica *italicized placeholder text* nell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md).

**Nota**  
Il valore 'sub' utilizzato nella chiave dell'oggetto non è il valore secondario dell'utente nel pool di utenti, è l'ID identità associato all'utente nel pool di identità.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "ListYourObjects",
      "Effect": "Allow",
      "Action": "s3:ListBucket",
      "Resource": [
        "arn:aws:s3:::bucket-name"
      ],
      "Condition": {
        "StringLike": {
          "s3:prefix": [
            "cognito/application-name/${cognito-identity.amazonaws.com:sub}/*"
          ]
        }
      }
    },
    {
      "Sid": "ReadWriteDeleteYourObjects",
      "Effect": "Allow",
      "Action": [
        "s3:DeleteObject",
        "s3:GetObject",
        "s3:PutObject"
      ],
      "Resource": [
        "arn:aws:s3:::bucket-name/cognito/application-name/${cognito-identity.amazonaws.com:sub}/*"
      ]
    }
  ]
}
```

------

Amazon Cognito fornisce autenticazione, autorizzazione e gestione degli utenti per le app Web e per dispositivi mobili. Gli utenti possono accedere direttamente con un nome utente e una password, oppure tramite terze parti , ad esempio Facebook, Amazon o Google. 

I due componenti principali di Amazon Cognito sono i bacini d'utenza e i pool di identità. I bacini d'utenza sono directory utente che forniscono opzioni di registrazione e di accesso agli utenti delle tue app. I pool di identità consentono di concedere agli utenti l'accesso ad altri AWS servizi. È possibile usare i pool di identità e i bacini d'utenza separatamente o insieme. 

Per ulteriori informazioni su Amazon Cognito, consulta la [Guida per l'utente di Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-identity.html).

# Amazon S3: consente agli utenti federati di accedere alla propria directory home Amazon S3, in modo programmatico e nella console
<a name="reference_policies_examples_s3_federated-home-directory-console"></a>

Questo esempio mostra come creare una policy basata sull’identità che consenta ai principali federati di accedere all’oggetto bucket nella loro directory home in S3. La directory home è un bucket che include una cartella `home` e le cartelle per i singoli principali federati. Questa policy definisce le autorizzazioni per l'accesso a livello di programmazione e alla console. Per utilizzare questa politica, sostituisci la politica *italicized placeholder text* nell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md).

La variabile `${aws:userid}` in questa policy restituisce `role-id:specified-name`. La parte `role-id` dell’ID principale federato è un identificatore univoco assegnato al ruolo del principale federato durante la creazione. Per ulteriori informazioni, consulta [Identificatori univoci](reference_identifiers.md#identifiers-unique-ids). `specified-name`È il [RoleSessionName parametro](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html#API_AssumeRoleWithWebIdentity_RequestParameters) passato alla `AssumeRoleWithWebIdentity` richiesta quando il principale federato ha assunto il proprio ruolo.

È possibile visualizzare l'ID del ruolo utilizzando il AWS CLI comando`aws iam get-role --role-name specified-name`. Ad esempio, supponiamo di specificare il nome descrittivo `John` e che la CLI restituisca l'ID ruolo `AROAXXT2NJT7D3SIQN7Z6`. In questo caso, l’ID principale federato è `AROAXXT2NJT7D3SIQN7Z6:John`. Questa policy quindi consente al principale federato John di accedere ai bucket Amazon S3 con il prefisso `AROAXXT2NJT7D3SIQN7Z6:John`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3ConsoleAccess",
            "Effect": "Allow",
            "Action": [
                "s3:GetAccountPublicAccessBlock",
                "s3:GetBucketAcl",
                "s3:GetBucketLocation",
                "s3:GetBucketPolicyStatus",
                "s3:GetBucketPublicAccessBlock",
                "s3:ListAccessPoints",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "*"
        },
        {
            "Sid": "ListObjectsInBucket",
            "Effect": "Allow",
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket",
            "Condition": {
                "StringLike": {
                    "s3:prefix": [
                        "",
                        "home/",
                        "home/${aws:userid}/*"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/home/${aws:userid}",
                "arn:aws:s3:::amzn-s3-demo-bucket/home/${aws:userid}/*"
            ]
        }
    ]
}
```

------

# Amazon S3: accesso al bucket S3, ma bucket di produzione rifiutato senza MFA recente
<a name="reference_policies_examples_s3_full-access-except-production"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta a un amministratore Amazon S3 di accedere a qualsiasi bucket, inclusi l'aggiornamento, l'aggiunta e l'eliminazione di oggetti. Tuttavia, rifiuta esplicitamente l'accesso al bucket `amzn-s3-demo-bucket-production` se l'utente non ha effettuato l'accesso utilizzando l'[autenticazione multi-fattore (MFA)](id_credentials_mfa.md) negli ultimi 30 minuti. Questo criterio concede le autorizzazioni necessarie per eseguire questa azione nella console o a livello di codice utilizzando l'API o. AWS CLI AWS Per utilizzare questa politica, sostituisci la politica dell'*italicized placeholder text*esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md).

Questa policy non consente mai l'accesso a livello di programmazione al bucket `amzn-s3-demo-bucket` utilizzando le chiavi di accesso degli utenti a lungo termine. Questa operazione viene eseguita utilizzando la chiave di condizione `aws:MultiFactorAuthAge` con l'operatore di condizione `NumericGreaterThanIfExists`. Questa condizione di policy restituisce `true` se MFA non è presente o se l'età di MFA è superiore a 30 minuti. In tali situazioni, l'accesso è negato. Per accedere al `amzn-s3-demo-bucket-production` bucket a livello di codice, l'amministratore S3 deve utilizzare credenziali temporanee generate negli ultimi 30 minuti utilizzando l'operazione API. [GetSessionToken](id_credentials_temp_request.md#api_getsessiontoken)

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ListAllS3Buckets",
            "Effect": "Allow",
            "Action": ["s3:ListAllMyBuckets"],
            "Resource": "arn:aws:s3:::*"
        },
        {
            "Sid": "AllowBucketLevelActions",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetBucketLocation"
            ],
            "Resource": "arn:aws:s3:::*"
        },
        {
            "Sid": "AllowBucketObjectActions",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:PutObjectAcl",
                "s3:GetObject",
                "s3:GetObjectAcl",
                "s3:DeleteObject"
            ],
            "Resource": "arn:aws:s3:::*/*"
        },
        {
            "Sid": "RequireMFAForProductionBucket",
            "Effect": "Deny",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket-production/*",
                "arn:aws:s3:::amzn-s3-demo-bucket-production"
            ],
            "Condition": {
                "NumericGreaterThanIfExists": {"aws:MultiFactorAuthAge": "1800"}
            }
        }
    ]
}
```

------

# Amazon S3: consente agli utenti IAM di accedere alla propria directory home S3, in modo programmatico e nella console
<a name="reference_policies_examples_s3_home-directory-console"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta agli utenti IAM di accedere al proprio oggetto del bucket nella directory home in S3. La home directory è un bucket che include una cartella `home` e le cartelle per i singoli utenti. Questa policy definisce le autorizzazioni per l'accesso a livello di programmazione e alla console. Per utilizzare questa politica, sostituisci la politica *italicized placeholder text* nell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md).

Questa policy non funziona quando si utilizzano i ruoli IAM perché la variabile `aws:username` non è disponibile quando si utilizzano i ruoli IAM. Per informazioni dettagliate sui valori delle chiavi principali, consulta [Valori della chiave dell'entità principale](reference_policies_variables.md#principaltable).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3ConsoleAccess",
            "Effect": "Allow",
            "Action": [
                "s3:GetAccountPublicAccessBlock",
                "s3:GetBucketAcl",
                "s3:GetBucketLocation",
                "s3:GetBucketPolicyStatus",
                "s3:GetBucketPublicAccessBlock",
                "s3:ListAccessPoints",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "*"
        },
        {
            "Sid": "ListObjectsInBucket",
            "Effect": "Allow",
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket",
            "Condition": {
                "StringLike": {
                    "s3:prefix": [
                        "",
                        "home/",
                        "home/${aws:username}/*"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/home/${aws:username}",
                "arn:aws:s3:::amzn-s3-demo-bucket/home/${aws:username}/*"
            ]
        }
    ]
}
```

------

# Amazon S3: limitazione della gestione a un bucket S3 specifico
<a name="reference_policies_examples_s3_deny-except-bucket"></a>

Questo esempio mostra come creare una policy basata sull'identità che limiti la gestione di un bucket Amazon S3 a quel determinato bucket. Questa policy concede l'autorizzazione a eseguire tutte le operazioni di Amazon S3, ma nega l'accesso a ogni Servizio AWS tranne Amazon S3. Guarda l'esempio seguente. In base a questa policy, puoi accedere solo alle operazioni di Amazon S3 che è possibile eseguire su un bucket S3 o una risorsa oggetto S3. Questa politica concede le autorizzazioni necessarie per completare questa azione a livello di codice dall'API o. AWS AWS CLI Per utilizzare questa politica, sostituisci la politica *italicized placeholder text* nell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md).

Se questa politica viene utilizzata in combinazione con altre politiche (come le politiche EC2 FullAccess AWS gestite da [AmazonS3 o FullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonS3FullAccess) [Amazon](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonEC2FullAccess)) che consentono azioni negate da questa politica, l'accesso viene negato. Questo perché una dichiarazione di rifiuto esplicita prevale su una dichiarazione di consenso. Per ulteriori informazioni, consulta [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).

**avvertimento**  
[`NotAction`](reference_policies_elements_notaction.md) e [`NotResource`](reference_policies_elements_notresource.md) sono elementi di policy avanzate da utilizzare con attenzione. Questa policy rifiuta l'accesso a qualsiasi servizio AWS a eccezione di Amazon S3. Se colleghi questa policy a un utente, qualsiasi altra policy che concede le autorizzazioni ad altri servizi viene ignorata e l'accesso viene negato.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::bucket-name",
                "arn:aws:s3:::bucket-name/*"
            ]
        },
        {
            "Effect": "Deny",
            "NotAction": "s3:*",
            "NotResource": [
                "arn:aws:s3:::bucket-name",
                "arn:aws:s3:::bucket-name/*"
            ]
        }
    ]
}
```

------

# Concedere l'accesso in lettura e scrittura agli oggetti di un bucket Amazon S3
<a name="reference_policies_examples_s3_rw-bucket"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta l'accesso `Read` e `Write` agli oggetti in un bucket Amazon S3 specifico. Questa policy concede le autorizzazioni necessarie per completare questa azione a livello di codice dall'API o. AWS AWS CLI Per utilizzare questa politica, sostituisci la politica *italicized placeholder text* nell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md).

L'operazione `s3:*Object` usa un carattere jolly nel nome dell'operazione. L'istruzione `AllObjectActions` consente le operazioni `GetObject`, `DeleteObject`, `PutObject` e qualsiasi altra operazione Amazon S3 che termina con la parola "Object".

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ListObjectsInBucket",
            "Effect": "Allow",
            "Action": ["s3:ListBucket"],
            "Resource": ["arn:aws:s3:::bucket-name"]
        },
        {
            "Sid": "AllObjectActions",
            "Effect": "Allow",
            "Action": "s3:*Object",
            "Resource": ["arn:aws:s3:::bucket-name/*"]
        }
    ]
}
```

------

**Nota**  
Per consentire l'accesso `Read` e `Write` a un oggetto di un bucket Amazon S3 e includere anche altre autorizzazioni per l'accesso alla console, consulta [Amazon S3: consente l'accesso in lettura e scrittura agli oggetti in un bucket S3, in modo programmatico e nella console](reference_policies_examples_s3_rw-bucket-console.md).

# Amazon S3: consente l'accesso in lettura e scrittura agli oggetti in un bucket S3, in modo programmatico e nella console
<a name="reference_policies_examples_s3_rw-bucket-console"></a>

Questo esempio mostra come creare una policy basata sull'identità che consenta l'accesso `Read` e `Write` agli oggetti di un bucket S3 specifico. Questa policy definisce le autorizzazioni per l'accesso a livello di programmazione e alla console. Per utilizzare questa politica, sostituisci quella *italicized placeholder text* dell'esempio con le tue informazioni. Quindi, segui le indicazioni fornite in [Creazione di una policy](access_policies_create.md) o [Modifica di una policy](access_policies_manage-edit.md).

L'operazione `s3:*Object` usa un carattere jolly nel nome dell'operazione. L'istruzione `AllObjectActions` consente le operazioni `GetObject`, `DeleteObject`, `PutObject` e qualsiasi altra operazione Amazon S3 che termina con la parola "Object".

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3ConsoleAccess",
            "Effect": "Allow",
            "Action": [
                "s3:GetAccountPublicAccessBlock",
                "s3:GetBucketAcl",
                "s3:GetBucketLocation",
                "s3:GetBucketPolicyStatus",
                "s3:GetBucketPublicAccessBlock",
                "s3:ListAccessPoints",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "*"
        },
        {
            "Sid": "ListObjectsInBucket",
            "Effect": "Allow",
            "Action": "s3:ListBucket",
            "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket"]
        },
        {
            "Sid": "AllObjectActions",
            "Effect": "Allow",
            "Action": "s3:*Object",
            "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket/*"]
        }
    ]
}
```

------