

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

# Identity and Access Management per Amazon EC2
<a name="security-iam"></a>

AWS Identity and Access Management (IAM) è un programma Servizio AWS che aiuta un amministratore a controllare in modo sicuro l'accesso alle AWS risorse. Gli amministratori IAM controllano chi può essere *autenticato* (accesso effettuato) e *autorizzato* (dispone di autorizzazioni) per utilizzare le risorse Amazon EC2. IAM è un software Servizio AWS che puoi utilizzare senza costi aggiuntivi.

Le tue credenziali di sicurezza ti identificano ai servizi in AWS e ti garantiscono l'accesso a AWS risorse, come le risorse Amazon EC2. Puoi utilizzare le caratteristiche di Amazon EC2 e IAM per consentire ad altri utenti, servizi e applicazioni di utilizzare le risorse Amazon EC2 senza condividere le credenziali di sicurezza. Puoi utilizzare IAM per controllare il modo in cui gli altri utenti utilizzano le risorse della tua Account AWS e puoi utilizzare i gruppi di sicurezza per controllare l'accesso alle tue istanze Amazon EC2. Puoi decidere di consentire l'uso completo o limitato delle risorse Amazon EC2.

Se sei uno sviluppatore, puoi utilizzare i ruoli IAM per gestire le credenziali di sicurezza necessarie alle applicazioni eseguite sulle tue istanze EC2. Dopo aver associato un ruolo IAM all'istanza, le applicazioni in esecuzione sull'istanza possono recuperare le credenziali dal servizio di metadati di istanza (IMDS).

*Per le migliori pratiche per proteggere le tue AWS risorse utilizzando IAM, consulta le [migliori pratiche di sicurezza in IAM nella IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) User Guide.*

**Topics**
+ [Policy basate sull'identità per Amazon EC2](iam-policies-for-amazon-ec2.md)
+ [Policy di esempio da utilizzare all'API Amazon EC2](ExamplePolicies_EC2.md)
+ [Policy di esempio per controllare l'accesso alla console Amazon EC2](iam-policies-ec2-console.md)
+ [AWS politiche gestite per Amazon EC2](security-iam-awsmanpol.md)
+ [Ruoli IAM per Amazon EC2](iam-roles-for-amazon-ec2.md)

# Policy basate sull'identità per Amazon EC2
<a name="iam-policies-for-amazon-ec2"></a>

Per impostazione predefinita, gli utenti non sono autorizzati a creare o modificare le risorse Amazon EC2 o a eseguire attività tramite l'API Amazon EC2, la console Amazon EC2 o la CLI. Per permettere agli utenti di creare o modificare le risorse ed eseguire le attività, devi creare policy IAM che concedano agli utenti l'autorizzazione a utilizzare specifiche risorse e operazioni API e quindi collegare tali policy agli utenti, gruppi o ruoli IAM che richiedono tali autorizzazioni.

Quando si collega una policy a un utente, un gruppo di utenti o un ruolo, viene concessa o rifiutata agli utenti l'autorizzazione per eseguire attività specificate sulle risorse specificate. Per ulteriori informazioni generali sulle policy IAM, consulta la sezione relativa a [Policy e autorizzazioni in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) nella *Guida per l'utente IAM*. Per ulteriori informazioni sulla gestione e creazione di policy IAM, consulta la sezione relativa alla [gestione delle policy IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage.html).

Una policy IAM deve concedere o rifiutare le autorizzazioni necessarie per l'utilizzo di una o più operazioni Amazon EC2. Deve inoltre specificare le risorse che possono essere utilizzate con l'operazione, vale a dire tutte le risorse oppure, in alcuni casi, risorse specifiche. La policy può anche includere condizioni applicabili alla risorsa.

Per iniziare, puoi verificare se le politiche AWS gestite per Amazon EC2 soddisfano le tue esigenze. Altrimenti, puoi creare delle policy personalizzate. Per ulteriori informazioni, consulta [AWS politiche gestite per Amazon EC2](security-iam-awsmanpol.md).

**Topics**
+ [Sintassi delle policy](#policy-syntax)
+ [Operazioni per Amazon EC2](#UsingWithEC2_Actions)
+ [Autorizzazioni a livello di risorsa supportate per le operazioni API Amazon EC2](#ec2-supported-iam-actions-resources)
+ [Nome della risorsa Amazon (ARN) per Amazon EC2](#EC2_ARN_Format)
+ [Chiavi di condizione per Amazon EC2](#amazon-ec2-keys)
+ [Controllare l'accesso mediante l'accesso basato sugli attributi](#control-access-with-tags)
+ [Concedere autorizzazioni a utenti, gruppi e ruoli](#granting-iam-permissions)
+ [Verificare che gli utenti dispongano delle autorizzazioni necessarie](#check-required-permissions)

## Sintassi delle policy
<a name="policy-syntax"></a>

Una policy IAM è un documento JSON costituito da una o più dichiarazioni. Ogni dichiarazione è strutturata come segue.

```
{
  "Statement":[{
    "Effect":"effect",
    "Action":"action",
    "Resource":"arn",
    "Condition":{
      "condition":{
        "key":"value"
        }
      }
    }
  ]
}
```

Una dichiarazione è costituita da diversi elementi:
+ **Effetto**: l'elemento *effect* può essere `Allow` o `Deny`. Per impostazione predefinita, gli utenti non dispongono dell'autorizzazione per l'utilizzo di risorse e operazioni API, pertanto tutte le richieste vengono rifiutate. Un permesso esplicito sostituisce l'impostazione predefinita. Un rifiuto esplicito sovrascrive tutti i consensi.
+ **Action** (Operazione): l'elemento *action* corrisponde all'operazione API specifica per la quale si concede o si nega l'autorizzazione. Per informazioni su come specificare l'elemento *action*, consulta [Operazioni per Amazon EC2](#UsingWithEC2_Actions). 
+ **Resource** (Risorsa): la risorsa che viene modificata dall'operazione. Alcune operazioni API di Amazon EC2 ti permettono di includere nella policy risorse specifiche che possono essere create o modificate dall'operazione. Specifica una risorsa utilizzando un nome della risorsa Amazon (ARN) o il carattere jolly (\$1) per indicare che l'istruzione si applica a tutte le risorse. Per ulteriori informazioni, consulta [Autorizzazioni a livello di risorsa supportate per le operazioni API Amazon EC2](#ec2-supported-iam-actions-resources). 
+ **Condition**: le condizioni sono facoltative. Possono essere utilizzate per controllare quando è in vigore una policy. Per ulteriori informazioni su come specificare le condizioni per Amazon EC2, consulta [Chiavi di condizione per Amazon EC2](#amazon-ec2-keys).

Per ulteriori informazioni su requisiti per le policy, consulta [Riferimento alle policy JSON IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) nella *Guida per l'utente IAM*. Per alcuni esempi di istruzioni di policy IAM per Amazon EC2, consulta [Policy di esempio da utilizzare all'API Amazon EC2](ExamplePolicies_EC2.md). 

## Operazioni per Amazon EC2
<a name="UsingWithEC2_Actions"></a>

In una dichiarazione di policy IAM, è possibile specificare qualsiasi operazione API per qualsiasi servizio che supporta IAM. Per Amazon EC2, utilizza il seguente prefisso con il nome dell'operazione API: `ec2:`. Ad esempio: `ec2:RunInstances` ed `ec2:CreateImage`.

Per specificare più operazioni in una sola dichiarazione, separa ciascuna di esse con una virgola come mostrato di seguito:

```
"Action": ["ec2:action1", "ec2:action2"]
```

Puoi anche specificare più operazioni tramite caratteri jolly. Ad esempio, puoi specificare tutte le operazioni il cui nome inizia con la parola "Describe" (Descrivi) come segue:

```
"Action": "ec2:Describe*"
```

**Nota**  
Attualmente, le operazioni API Amazon EC2 Describe\$1 non supportano autorizzazioni a livello di risorsa. Per ulteriori informazioni sulle autorizzazioni a livello di risorsa per Amazon EC2, consulta [Policy basate sull'identità per Amazon EC2](#iam-policies-for-amazon-ec2).

Per specificare tutte le operazioni API Amazon EC2, utilizza il carattere jolly \$1 come mostrato di seguito:

```
"Action": "ec2:*"
```

Per visualizzare un elenco di operazioni di Amazon EC2, consulta [Operazioni definite da Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-actions-as-permissions) nella *Service Authorization Reference*.

## Autorizzazioni a livello di risorsa supportate per le operazioni API Amazon EC2
<a name="ec2-supported-iam-actions-resources"></a>

Il concetto di *autorizzazioni a livello di risorsa* indica la possibilità di specificare le risorse su cui gli utenti sono autorizzati a eseguire operazioni. Amazon EC2 supporta parzialmente le autorizzazioni a livello di risorsa. Ciò significa che per determinate operazioni di Amazon EC2, puoi controllare se gli utenti sono autorizzati a utilizzare tali operazioni in base a condizioni che devono essere soddisfatte o a specifiche risorse che gli utenti sono autorizzati a utilizzare. Ad esempio, puoi concedere agli utenti le autorizzazioni per avviare le istanze, ma solo di un determinato tipo e solo utilizzando un AMI specifico.

Per specificare una risorsa nella dichiarazione della policy IAM, si utilizza il suo nome della risorsa Amazon (ARN). Per ulteriori informazioni su come specificare il valore ARN, consulta [Nome della risorsa Amazon (ARN) per Amazon EC2](#EC2_ARN_Format). Se un'azione API non supporta l'azione individuale ARNs, è necessario utilizzare un carattere jolly (\$1) per specificare che tutte le risorse possono essere influenzate dall'azione. 

Per visualizzare le tabelle che identificano quali azioni dell'API di Amazon EC2 supportano le autorizzazioni a livello di risorsa ARNs e le chiavi di condizione che puoi utilizzare in una policy, consulta [Azioni, risorse e chiavi di condizione](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html) per Amazon EC2.

Occorre ricordare che è possibile applicare autorizzazioni a livello di risorsa basate su tag nelle policy IAM utilizzate per la maggior parte delle operazioni API Amazon EC2. In questo modo è possibile controllare meglio le risorse che un utente può creare, modificare o utilizzare. Per ulteriori informazioni, consulta [Concessione dell'autorizzazione all'applicazione di tag Amazon EC2 per le risorse durante la creazione](supported-iam-actions-tagging.md). 

## Nome della risorsa Amazon (ARN) per Amazon EC2
<a name="EC2_ARN_Format"></a>

Ogni dichiarazione di policy IAM si applica alle risorse specificate utilizzando le loro. ARNs 

Un ARN presenta la seguente sintassi generale:

```
arn:aws:[service]:[region]:[account-id]:resourceType/resourcePath
```

*service*  
Il servizio (ad esempio `ec2`).

*Regione*  
La regione per la risorsa (ad esempio `us-east-1`).

*account-id*  
L'ID AWS dell'account, senza trattini (ad esempio,`123456789012`).

*resourceType*  
Il tipo di risorsa (ad esempio `instance`).

*resourcePath*  
Un percorso che identifica la risorsa. Nei percorsi puoi utilizzare il carattere jolly \$1.

Ad esempio, nella tua dichiarazione puoi specificare una determinata istanza (`i-1234567890abcdef0`) utilizzando il relativo ARN come segue: 

```
"Resource": "arn:aws:ec2:us-east-1:123456789012:instance/i-1234567890abcdef0"
```

Puoi specificare tutte le istanze appartenenti a un determinato account utilizzando il carattere jolly \$1 come segue:

```
"Resource": "arn:aws:ec2:us-east-1:123456789012:instance/*"
```

Puoi anche specificare tutte le risorse Amazon EC2 appartenenti a un determinato account utilizzando il carattere jolly \$1 come segue:

```
"Resource": "arn:aws:ec2:us-east-1:123456789012:*"
```

Per specificare tutte le risorse, o se un'azione API specifica non supporta ARNs, usa il carattere jolly \$1 nell'`Resource`elemento come segue.

```
"Resource": "*"
```

Molte operazioni API di Amazon EC2 coinvolgono più risorse. Ad esempio, `AttachVolume` collega un volume Amazon EBS a un'istanza, pertanto un utente dovrà disporre delle autorizzazioni per utilizzare il volume e l'istanza. Per specificare più risorse in un'unica istruzione, separale ARNs con virgole, come segue.

```
"Resource": ["arn1", "arn2"]
```

Per un elenco di ARN per le risorse Amazon EC2, consulta [Tipi di risorse definiti da Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-resources-for-iam-policies).

## Chiavi di condizione per Amazon EC2
<a name="amazon-ec2-keys"></a>

In una dichiarazione di policy, puoi specificare facoltativamente le condizioni che controllano quando questa è in vigore. Ogni condizione contiene una o più coppie chiave/valore. Le chiavi di condizione non distinguono tra maiuscole e minuscole. Abbiamo definito chiavi di condizione AWS globali, oltre a chiavi di condizione aggiuntive specifiche del servizio.

Per un elenco di chiavi di condizione specifiche del servizio per Amazon EC2, consulta [Chiavi di condizione per Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-policy-keys). Amazon EC2 implementa anche le chiavi di condizione AWS globali. Per ulteriori informazioni, consulta la pagina relativa alle [informazioni disponibili in tutte le richieste](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html#policy-vars-infoallreqs) nella *Guida per l'utente di IAM*.

Tutte le operazioni Amazon EC2 supportano le chiavi di condizione `aws:RequestedRegion` e `ec2:Region`. Per ulteriori informazioni, consulta [Esempio: limitazione dell'accesso a una regione specifica](ExamplePolicies_EC2.md#iam-example-region).

Per utilizzare una chiave di condizione nella policy IAM, utilizzare l'istruzione `Condition`. Ad esempio, la policy seguente concede agli utenti l'autorizzazione per aggiungere ed eliminare regole in entrata e in uscita per qualsiasi gruppo di sicurezza. Utilizza la chiave di condizione `ec2:Vpc` per specificare che queste azioni possono essere eseguite solo su gruppi di sicurezza in un VPC specifico.

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

****  

```
{
"Version":"2012-10-17",		 	 	 
  "Statement":[{
    "Effect":"Allow",
    "Action": [
       "ec2:AuthorizeSecurityGroupIngress",
       "ec2:AuthorizeSecurityGroupEgress",
       "ec2:RevokeSecurityGroupIngress",
       "ec2:RevokeSecurityGroupEgress"],
     "Resource": "arn:aws:ec2:us-east-1:111122223333:security-group/*",
      "Condition": {
        "StringEquals": {
          "ec2:Vpc": "arn:aws:ec2:us-east-1:111122223333:vpc/vpc-11223344556677889"
        }
      }
    }
  ]
}
```

------

Se specifichi più condizioni o più chiavi in una sola condizione le valutiamo utilizzando un'operazione AND logica. Se specifichi una sola condizione con più valori per una sola chiave, valutiamo la condizione utilizzando un'operazione OR logica. Affinché le autorizzazioni vengano concesse, tutte le condizioni devono essere soddisfatte.

Puoi anche utilizzare i segnaposto quando specifichi le condizioni. Per ulteriori informazioni, consulta [Elementi delle policy IAM: variabili e tag](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html) nella *Guida per l'utente di IAM*.

**Importante**  
Molte chiavi di condizione sono specifiche di una risorsa e alcune operazioni API utilizzano più risorse. Se scrivi una policy con una chiave di condizione, utilizza l'elemento `Resource` della dichiarazione per specificare la risorsa a cui viene applicata la chiave di condizione. In caso contrario, la policy potrebbe impedire agli utenti di eseguire operazioni perché il controllo della condizione ha esito negativo per le risorse alle quali non viene applicata la chiave di condizione. Se non vuoi specificare una risorsa oppure se hai scritto l'elemento `Action` della policy in modo da includere più operazioni API, devi utilizzare il tipo di condizione `...IfExists` per assicurarti che la chiave di condizione venga ignorata per le risorse che non la utilizzano. [Per ulteriori informazioni, consulta... IfExists ](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Conditions_IfExists)Condizioni nella *Guida per l'utente IAM*.

**Topics**
+ [Chiave di condizione ec2:Attribute](#attribute-key)
+ [Chiavi di condizione ec2:ResourceID](#imageId-key)
+ [Chiave di condizione ec2:SourceInstanceARN](#SourceInstanceARN)

### Chiave di condizione ec2:Attribute
<a name="attribute-key"></a>

La chiave di condizione `ec2:Attribute` può essere utilizzata per le condizioni che filtrano l'accesso da un attributo di una risorsa.

Questa chiave condizionale supporta solo proprietà di un tipo di dati primitivo (come stringhe o numeri interi) o **[AttributeValue](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_AttributeValue.html)**oggetti complessi che contengono solo una proprietà **Value** (come la **descrizione** o **ImdsSupport**gli oggetti dell'azione [ModifyImageAttribute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyImageAttribute.html)API). La chiave condition non può essere utilizzata con oggetti complessi che contengono più proprietà, come l'**LaunchPermission**oggetto di. [ModifyImageAttribute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyImageAttribute.html)

Ad esempio, la seguente politica utilizza la chiave `ec2:Attribute/Description` condition per filtrare l'accesso in base al complesso oggetto **Description** dell'azione **ModifyImageAttribute**API. La chiave di condizione consente solo le richieste che modificano la descrizione di un'immagine a `Production` o `Development`. 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "ec2:ModifyImageAttribute",
      "Resource": "arn:aws:ec2:us-east-1::image/ami-*",
      "Condition": {
        "StringEquals": {
          "ec2:Attribute/Description": [
            "Production",
            "Development"
          ]
        }
      }
    }
  ]
}
```

------

La politica di esempio seguente utilizza la chiave `ec2:Attribute` condition per filtrare l'accesso in base alla proprietà primitiva **Attribute** dell'azione **ModifyImageAttribute**API. La chiave di condizione respinge tutte le richieste che modificano la descrizione di un'immagine.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": "ec2:ModifyImageAttribute",
      "Resource": "arn:aws:ec2:us-east-1::image/ami-*",
      "Condition": {
        "StringEquals": {
          "ec2:Attribute": "Description"
        }
      }
    }
  ]
}
```

------

### Chiavi di condizione ec2:ResourceID
<a name="imageId-key"></a>

Quando si utilizza quanto segue`ec2:ResourceID`chiavi di condizione con le azioni API specificate, il valore della chiave di condizione viene utilizzato per specificare la risorsa risultante creata dall'azione API.`ec2:ResourceID`le chiavi di condizione non possono essere utilizzate per specificare una risorsa di origine specificata nella richiesta API. Se si utilizza uno dei seguenti`ec2:ResourceID`condition keys con un'API specificata, quindi devi sempre specificare la wildcard (`*`). Se si specifica un valore diverso, la condizione si risolve sempre in `*` durante il runtime. Ad esempio, per utilizzare la chiave di `ec2:ImageId` condizione con l'**CopyImage**API, è necessario specificare la chiave di condizione come segue:

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "ec2:CopyImage",
      "Resource": "arn:aws:ec2:us-east-1::image/ami-*",
      "Condition": {
        "StringEquals": {
          "ec2:ImageID": "*"
        }
      }
    }
  ]
}
```

------

Ti consigliamo di evitare l'uso di queste chiavi di condizione con queste azioni API:
+ `ec2:DhcpOptionsID` – `CreateDhcpOptions`
+ `ec2:ImageID`: `CopyImage`, `CreateImage`, `ImportImage` e `RegisterImage`
+ `ec2:InstanceID`: `RunInstances` e `ImportInstance`
+ `ec2:InternetGatewayID` – `CreateInternetGateway`
+ `ec2:NetworkAclID` – `CreateNetworkAcl`
+ `ec2:NetworkInterfaceID` – `CreateNetworkInterface`
+ `ec2:PlacementGroupName` – `CreatePlacementGroup`
+ `ec2:RouteTableID` – `CreateRouteTable`
+ `ec2:SecurityGroupID` – `CreateSecurityGroup`
+ `ec2:SnapshotID`: `CopySnapshot`, `CreateSnapshot`, `CreateSnapshots` e `ImportSnapshots`
+ `ec2:SubnetID` – `CreateSubnet`
+ `ec2:VolumeID`: `CreateVolume` e `ImportVolume`
+ `ec2:VpcID` – `CreateVpc`
+ `ec2:VpcPeeringConnectionID` – `CreateVpcPeeringConnection`

Per filtrare l'accesso in base a una risorsa specifica IDs, si consiglia di utilizzare l'elemento `Resource` policy come segue.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "ec2:CopyImage",
      "Resource": "arn:aws:ec2:us-east-1::image/ami-01234567890abcdef"
    }
  ]
}
```

------

### Chiave di condizione ec2:SourceInstanceARN
<a name="SourceInstanceARN"></a>

Usa `ec2:SourceInstanceARN` per specificare l'ARN dell'istanza in base alla quale è stata effettuata una richiesta. Si tratta di una [chiave di condizione globale AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html), il che significa che puoi utilizzarla con servizi diversi da Amazon EC2. Per un esempio di policy, consulta [Esempio: consentire a un'istanza specifica di visualizzare le risorse in altri AWS servizi](ExamplePolicies_EC2.md#iam-example-source-instance).

## Controllare l'accesso mediante l'accesso basato sugli attributi
<a name="control-access-with-tags"></a>

Quando crei una policy IAM che concede agli utenti l'autorizzazione a utilizzare le risorse EC2, puoi includere informazioni sui tag nell'elemento `Condition` della policy per controllare l'accesso in base ai tag. Questo è noto come controllo degli accessi basato su attributi (ABAC). Il controllo ABAC fornisce un miglior controllo su quali risorse possono essere modificate, utilizzate o eliminate da un utente. Per ulteriori informazioni, consulta [Che cos'è ABAC per AWS?](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)

Ad esempio, è possibile creare una policy che consente agli utenti di terminare un'istanza ma che neghi l'operazione se l'istanza presenta il tag `environment=production`. A tale scopo, è possibile utilizzare la chiave di condizione `aws:ResourceTag` per consentire o negare l'accesso alla risorsa in base ai tag collegati alla risorsa.

```
"StringEquals": { "aws:ResourceTag/environment": "production" }
```

Per sapere se un'operazione API Amazon EC2 supporta il controllo degli accessi utilizzando la chiave di condizione `aws:ResourceTag`, consulta [Operazioni, risorse e chiavi di condizione per Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html). Tieni a mente che le operazioni `Describe` non supportano le autorizzazioni a livello di risorsa, pertanto è necessario specificarle in una dichiarazione separata senza condizioni.

Per esempi di policy IAM, consulta [Policy di esempio da utilizzare all'API Amazon EC2](ExamplePolicies_EC2.md). 

Se consenti o neghi a un utente l'accesso a risorse in base ai tag, devi considerare esplicitamente di negare agli utenti la possibilità di aggiungere o rimuovere tali tag dalle stesse risorse. In caso contrario, un utente può eludere le restrizioni e ottenere l'accesso a una risorsa modificandone i tag.

## Concedere autorizzazioni a utenti, gruppi e ruoli
<a name="granting-iam-permissions"></a>

Per fornire l’accesso, aggiungi autorizzazioni agli utenti, gruppi o ruoli:
+ Utenti e gruppi in AWS IAM Identity Center:

  Crea un set di autorizzazioni. Segui le istruzioni riportate nella pagina [Create a permission set](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) (Creazione di un set di autorizzazioni) nella *Guida per l’utente di AWS IAM Identity Center *.
+ Utenti gestiti in IAM tramite un provider di identità:

  Crea un ruolo per la federazione delle identità. Segui le istruzioni riportate nella pagina [Create a role for a third-party identity provider (federation)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) della *Guida per l’utente IAM*.
+ Utenti IAM:
  + Crea un ruolo che l’utente possa assumere. Segui le istruzioni riportate nella pagina [Create a role for an IAM user](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) della *Guida per l’utente IAM*.
  + (Non consigliato) Collega una policy direttamente a un utente o aggiungi un utente a un gruppo di utenti. Segui le istruzioni riportate nella pagina [Aggiunta di autorizzazioni a un utente (console)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) nella *Guida per l’utente IAM*.

## Verificare che gli utenti dispongano delle autorizzazioni necessarie
<a name="check-required-permissions"></a>

Dopo aver creato una policy IAM, prima di metterla in produzione, ti consigliamo di verificare se vengono concesse agli utenti le autorizzazioni per l'utilizzo di specifiche risorse e operazioni API necessarie.

In primo luogo, crea un utente a scopo di test e collega la policy IAM creata all'utente del test. In seguito, effettua una richiesta come utente di test.

Se l'operazione Amazon EC2 di cui stai eseguendo il test crea o modifica una risorsa, devi effettuare la richiesta utilizzando il parametro `DryRun` (o eseguire il comando della AWS CLI con l'opzione `--dry-run`). In questo caso, la chiamata completa la verifica dell'autorizzazione, ma non completa l'operazione. Ad esempio, puoi controllare se l'utente è in grado di interrompere una determinata istanza senza effettivamente terminarla. Se l'utente del test dispone delle autorizzazioni necessarie, la richiesta restituisce `DryRunOperation`, altrimenti restituisce `UnauthorizedOperation`.

Se la policy non concede all'utente le autorizzazioni previste oppure è eccessivamente permissiva, puoi modificarla in base alle esigenze e ripetere il test fino a ottenere i risultati desiderati. 

**Importante**  
La propagazione delle modifiche alla policy e la loro validità potrebbe richiedere alcuni minuti. Ti consigliamo quindi di attendere 5 minuti prima di effettuare il test degli aggiornamenti delle policy.

Se una verifica dell'autorizzazione ha esito negativo, la richiesta restituisce un messaggio codificato con informazioni di diagnostica. Il messaggio può essere decodificato tramite l'operazione `DecodeAuthorizationMessage`. Per ulteriori informazioni, [DecodeAuthorizationMessage](https://docs.aws.amazon.com/STS/latest/APIReference/API_DecodeAuthorizationMessage.html)consulta l'*AWS Security Token Service API Reference* e [decode-authorization-message](https://docs.aws.amazon.com/cli/latest/reference/sts/decode-authorization-message.html).

# Policy di esempio da utilizzare all'API Amazon EC2
<a name="ExamplePolicies_EC2"></a>

È possibile utilizzare le policy IAM per concedere agli utenti le autorizzazioni richieste per utilizzare Amazon EC2. Per step-by-step istruzioni, consulta [Creazione di politiche IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) nella *Guida per l'utente IAM*.

I seguenti esempi mostrano le dichiarazioni di policy che è possibile utilizzare per concedere le autorizzazioni agli utenti per utilizzare Amazon EC2. Queste politiche sono progettate per le richieste effettuate utilizzando AWS CLI o un AWS SDK. Negli esempi seguenti, sostituisci ciascuno di essi *user input placeholder* con le tue informazioni.

**Topics**
+ [Accesso in sola lettura](#iam-example-read-only)
+ [Limitazione dell'accesso a una regione specifica](#iam-example-region)
+ [Utilizzo delle istanze](#iam-example-instances)
+ [Avvia istanze () RunInstances](#iam-example-runinstances)
+ [Utilizzo delle Istanze spot](#iam-example-spot-instances)
+ [Utilizzo delle Istanze riservate](#iam-example-reservedinstances)
+ [Aggiunta di tag alle risorse](#iam-example-taggingresources)
+ [Utilizzo dei ruoli IAM](#iam-example-iam-roles)
+ [Utilizzo delle tabelle di routing](#iam-example-route-tables)
+ [Consenti a un'istanza specifica di visualizzare le risorse in altri AWS servizi](#iam-example-source-instance)
+ [Utilizzo dei modelli di avvio](#iam-example-launch-templates)
+ [Utilizzo dei metadati delle istanze](#iam-example-instance-metadata)
+ [Lavora con volumi e snapshot Amazon EBS](#iam-example-ebs)

Per le policy di esempio da utilizzare nella console Amazon EC2, consultare [Policy di esempio per controllare l'accesso alla console Amazon EC2](iam-policies-ec2-console.md).

## Esempio: accesso in sola lettura
<a name="iam-example-read-only"></a>

La policy seguente concede agli utenti le autorizzazioni per utilizzare tutte le operazioni dell'API Amazon EC2 i cui nomi iniziano con `Describe`. L'elemento `Resource` utilizza un carattere jolly per indicare che tutti gli utenti possono specificare tutte le risorse con queste operazioni dell'API. ‎Il carattere jolly \$1 è necessario inoltre nei casi in cui l'operazione dell'API non supporta le autorizzazioni a livello di risorsa. Per ulteriori informazioni sugli ARN che è possibile utilizzare con le operazioni API Amazon EC2, consulta [Operazioni, risorse e chiavi di condizione per Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html).

Per impostazione predefinita, agli utenti non viene concessa l'autorizzazione per eseguire le operazioni dell'API sulle risorse (a meno che un'altra istruzione non conceda loro l'autorizzazione corrispondente).

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

****  

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

------

## Esempio: limitazione dell'accesso a una regione specifica
<a name="iam-example-region"></a>

La policy seguente nega agli utenti le autorizzazioni per utilizzare tutte le operazioni dell'API Amazon EC2, a meno che la regione sia Europa (Francoforte). Utilizza la chiave di condizione globale `aws:RequestedRegion`, che è supportato da tutte le operazioni API di Amazon EC2.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
       {
      "Effect": "Deny",
      "Action": "ec2:*",
      "Resource": "*",
      "Condition": {
        "StringNotEquals": {
          "aws:RequestedRegion": "eu-central-1"
        }
      }
    }  
  ]
}
```

------

In alternativa, è possibile utilizzare la chiave di condizione `ec2:Region`, specifica per Amazon EC2 ed è supportata da tutte le operazioni API di Amazon EC2.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
       {
      "Effect": "Deny",
      "Action": "ec2:*",
      "Resource": "*",
      "Condition": {
        "StringNotEquals": {
          "ec2:Region": "eu-central-1"
        }
      }
    }  
  ]
}
```

------

## Utilizzo delle istanze
<a name="iam-example-instances"></a>

**Topics**
+ [Esempio: descrizione, avvio, arresto e terminazione di tutte le istanze](#iam-example-instances-all)
+ [Esempio: descrizione di tutte le istanze e arresto, avvio e terminazione soltanto di determinate istanze](#iam-example-instances-specific)

### Esempio: descrizione, avvio, arresto e terminazione di tutte le istanze
<a name="iam-example-instances-all"></a>

La policy seguente concede agli utenti le autorizzazioni per utilizzare le operazioni dell'API specificate nell'elemento `Action`. L'elemento `Resource` utilizza un carattere jolly \$1 per indicare che tutti gli utenti possono specificare tutte le risorse con queste operazioni dell'API. ‎Il carattere jolly \$1 è necessario inoltre nei casi in cui l'operazione dell'API non supporta le autorizzazioni a livello di risorsa. Per ulteriori informazioni sugli ARN che è possibile utilizzare con le operazioni API Amazon EC2, consulta [Operazioni, risorse e chiavi di condizione per Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html).

Gli utenti non dispongono dell'autorizzazione per utilizzare altre operazioni dell'API (a meno che un'altra istruzione non conceda loro l'autorizzazione corrispondente) perché, per impostazione predefinita, agli utenti non viene concessa l'autorizzazione per utilizzare le operazioni dell'API.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeInstances", 
        "ec2:DescribeImages",
        "ec2:DescribeKeyPairs", 
        "ec2:DescribeSecurityGroups",
        "ec2:DescribeAvailabilityZones",
        "ec2:RunInstances", 
        "ec2:TerminateInstances",
        "ec2:StopInstances", 
        "ec2:StartInstances"
      ],
      "Resource": "*"
    }
   ]
}
```

------

### Esempio: descrizione di tutte le istanze e arresto, avvio e terminazione soltanto di determinate istanze
<a name="iam-example-instances-specific"></a>

La policy seguente consente agli utenti di descrivere tutte le istanze, di avviare e arrestare soltanto le istanze i-1234567890abcdef0 e i-0598c7d356eba48d7 e di terminare soltanto le istanze in della regione `us-east-1` con il tag di risorsa “`purpose=test`“. 

La prima istruzione utilizza il carattere jolly \$1 per l'elemento `Resource` per indicare che gli utenti possono specificare tutte le risorse con questa operazione; in questo caso, possono elencare tutte le istanze. ‎Il carattere jolly \$1 è necessario inoltre nei casi in cui l'operazione dell'API non supporta le autorizzazioni a livello di risorsa (in questo caso, `ec2:DescribeInstances`). Per ulteriori informazioni sugli ARN che è possibile utilizzare con le operazioni API Amazon EC2, consulta [Operazioni, risorse e chiavi di condizione per Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html).

La seconda istruzione utilizza le autorizzazioni a livello di risorsa per le operazioni `StopInstances` e `StartInstances`. Le istanze specifiche sono indicate dalla loro presenza ARNs nell'`Resource`elemento.

La terza istruzione consente agli utenti di chiudere tutte le istanze della `us-east-1` Regione che appartengono all' AWS account specificato, ma solo se l'istanza ha il tag. `"purpose=test"` L'elemento `Condition` qualifica l'istruzione della policy applicata. 

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
   {
   "Effect": "Allow",
      "Action": "ec2:DescribeInstances",
      "Resource": "*"
   },
   {
      "Effect": "Allow",
      "Action": [
        "ec2:StopInstances", 
        "ec2:StartInstances"
      ],
      "Resource": [
        "arn:aws:ec2:us-east-1:111122223333:instance/i-1234567890abcdef0",
        "arn:aws:ec2:us-east-1:111122223333:instance/i-0598c7d356eba48d7"
      ]
    },
    {
      "Effect": "Allow",
      "Action": "ec2:TerminateInstances",
      "Resource": "arn:aws:ec2:us-east-1:111122223333:instance/*",
      "Condition": {
         "StringEquals": {
            "aws:ResourceTag/purpose": "test"
         }
      }
   }

   ]
}
```

------

## Avvia istanze () RunInstances
<a name="iam-example-runinstances"></a>

L'azione [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html)API avvia una o più istanze On-Demand o una o più istanze Spot. `RunInstances`richiede un AMI e crea un'istanza. Gli utenti possono specificare nella richiesta una coppia di chiavi e un gruppo di sicurezza. L'avvio in un VPC richiede una sottorete e crea un'interfaccia di rete. L'avvio da un'AMI Amazon EBS-backed implica la creazione di un volume. Pertanto, gli utenti devono disporre delle autorizzazioni per utilizzare queste risorse Amazon EC2. Puoi creare un'istruzione della policy che richiede agli utenti di specificare un parametro facoltativo su `RunInstances` o limitare l'accesso degli utenti a determinati valori dei parametri.

Per ulteriori informazioni sulle autorizzazioni a livello di risorse richieste per avviare un'istanza, consulta [Operazioni, risorse e chiavi di condizione per Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html).

Per impostazione predefinita, gli utenti non dispongono delle autorizzazioni per descrivere, avviare, arrestare o terminare le istanze risultanti. Un modo per concedere agli utenti l'autorizzazione per gestire le istanze risultanti, consiste nel creare un tag specifico per ciascuna istanza e nel creare quindi un'istruzione che consenta loro di gestire le istanze con tale tag. Per ulteriori informazioni, consulta [Utilizzo delle istanze](#iam-example-instances).

**Topics**
+ [AMIs](#iam-example-runinstances-ami)
+ [Tipi di istanza](#iam-example-runinstances-instance-type)
+ [Sottoreti](#iam-example-runinstances-subnet)
+ [Volumi EBS](#iam-example-runinstances-volumes)
+ [Tag](#iam-example-runinstances-tags)
+ [Tag in un modello di avvio](#iam-example-tags-launch-template)
+ [Elastico GPUs](#iam-example-runinstances-egpu)
+ [Modelli di avvio](#iam-example-runinstances-launch-templates)

### AMIs
<a name="iam-example-runinstances-ami"></a>

La seguente politica consente agli utenti di avviare istanze utilizzando solo il file specificato AMIs, `ami-9e1670f7` e`ami-45cf5c3c`. Gli utenti non possono avviare un'istanza utilizzando altre istanze AMIs (a meno che un'altra istruzione non conceda agli utenti l'autorizzazione a farlo).

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
   {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [
        "arn:aws:ec2:us-east-1::image/ami-9e1670f7",
        "arn:aws:ec2:us-east-1::image/ami-45cf5c3c",
        "arn:aws:ec2:us-east-1:111122223333:instance/*",
        "arn:aws:ec2:us-east-1:111122223333:volume/*",
        "arn:aws:ec2:us-east-1:111122223333:key-pair/*",
        "arn:aws:ec2:us-east-1:111122223333:security-group/*",
        "arn:aws:ec2:us-east-1:111122223333:subnet/*",
        "arn:aws:ec2:us-east-1:111122223333:network-interface/*"
      ]
    }
   ]
}
```

------

In alternativa, la seguente politica consente agli utenti di avviare istanze da tutte AMIs di proprietà di Amazon o da determinati partner affidabili e verificati. L'elemento `Condition` della prima istruzione verifica se `ec2:Owner` è `amazon`. Gli utenti non possono avviare un'istanza utilizzando altre istanze AMIs (a meno che un'altra dichiarazione non conceda agli utenti l'autorizzazione a farlo).

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
         {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [ 
         "arn:aws:ec2:us-east-1::image/ami-*"
      ],
      "Condition": {
         "StringEquals": {
            "ec2:Owner": "amazon"
         }
      }
   },
   {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [ 
         "arn:aws:ec2:us-east-1:111122223333:instance/*",
         "arn:aws:ec2:us-east-1:111122223333:subnet/*",
         "arn:aws:ec2:us-east-1:111122223333:volume/*",
         "arn:aws:ec2:us-east-1:111122223333:network-interface/*",
         "arn:aws:ec2:us-east-1:111122223333:key-pair/*",
         "arn:aws:ec2:us-east-1:111122223333:security-group/*"
         ]
      }
   ]
}
```

------

### Tipi di istanza
<a name="iam-example-runinstances-instance-type"></a>

La policy seguente consente agli utenti di avviare le istanze soltanto tramite il tipo di istanza `t2.micro` o `t2.small` per consentire di tenere sotto controllo i costi. Gli utenti non possono avviare istanze di dimensioni maggiori perché l'elemento `Condition` della prima istruzione verifica se `ec2:InstanceType` è `t2.micro` o `t2.small`. 

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [
         "arn:aws:ec2:us-east-1:111122223333:instance/*"
      ],
      "Condition": {
         "StringEquals": {
            "ec2:InstanceType": ["t2.micro", "t2.small"]
         }
      }
   },
   {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [
         "arn:aws:ec2:us-east-1::image/ami-*",
         "arn:aws:ec2:us-east-1:111122223333:subnet/*",
         "arn:aws:ec2:us-east-1:111122223333:network-interface/*",
         "arn:aws:ec2:us-east-1:111122223333:volume/*",
         "arn:aws:ec2:us-east-1:111122223333:key-pair/*",
         "arn:aws:ec2:us-east-1:111122223333:security-group/*"
         ]
      }
   ]
}
```

------

In alternativa, puoi creare una policy che nega agli utenti le autorizzazioni per avviare le istanze a eccezione dei tipi di istanza `t2.micro` e `t2.small`.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        { 
      "Effect": "Deny",
      "Action": "ec2:RunInstances",
      "Resource": [
         "arn:aws:ec2:us-east-1:111122223333:instance/*"
      ],
      "Condition": {
         "StringNotEquals": {
            "ec2:InstanceType": ["t2.micro", "t2.small"]
         }
      }
   },
   {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [
         "arn:aws:ec2:us-east-1::image/ami-*",
         "arn:aws:ec2:us-east-1:111122223333:network-interface/*",
         "arn:aws:ec2:us-east-1:111122223333:instance/*",
         "arn:aws:ec2:us-east-1:111122223333:subnet/*",
         "arn:aws:ec2:us-east-1:111122223333:volume/*",
         "arn:aws:ec2:us-east-1:111122223333:key-pair/*",
         "arn:aws:ec2:us-east-1:111122223333:security-group/*"
         ]
      }
   ]
}
```

------

### Sottoreti
<a name="iam-example-runinstances-subnet"></a>

La policy seguente consente agli utenti di avviare le istanze soltanto tramite la sottorete `subnet-12345678` specificata. Il gruppo non può avviare le istanze in altre sottoreti (a meno che un'altra istruzione non conceda agli utenti l'autorizzazione corrispondente).

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

****  

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

------

In alternativa, puoi creare una policy che rifiuti agli utenti le autorizzazioni per avviare le istanze nelle altre sottoreti. Questa istruzione rifiuta l'autorizzazione per la creazione di un'interfaccia di rete, tranne se viene specificata la sottorete `subnet-12345678`. Questa negazione sostituisce le altre policy create per consentire l'avvio delle istanze in altre sottoreti.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
         {
      "Effect": "Deny",
      "Action": "ec2:RunInstances",
      "Resource": [
         "arn:aws:ec2:us-east-1:111122223333:network-interface/*"
      ],
      "Condition": {
         "ArnNotEquals": {
            "ec2:Subnet": "arn:aws:ec2:us-east-1:111122223333:subnet/subnet-12345678"
         }
      }
   },
   {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [
         "arn:aws:ec2:us-east-1::image/ami-*",
         "arn:aws:ec2:us-east-1:111122223333:network-interface/*",
         "arn:aws:ec2:us-east-1:111122223333:instance/*",
         "arn:aws:ec2:us-east-1:111122223333:subnet/*",
         "arn:aws:ec2:us-east-1:111122223333:volume/*",
         "arn:aws:ec2:us-east-1:111122223333:key-pair/*",
         "arn:aws:ec2:us-east-1:111122223333:security-group/*"
         ]
      }
   ]
}
```

------

### Volumi EBS
<a name="iam-example-runinstances-volumes"></a>

La policy seguente consente agli utenti di avviare le istanze soltanto se i volumi EBS dell'istanza sono crittografati. Per assicurarsi che il volume root sia crittografato, gli utenti devono avviare un'istanza da un'AMI creata con snapshot crittografate. Anche gli altri eventuali volumi collegati dagli utenti all'istanza durante l'avvio devono essere crittografati.

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

****  

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

------

### Tag
<a name="iam-example-runinstances-tags"></a>

**Tag di istanze durante la creazione**

La policy seguente consente agli utenti di avviare le istanze e di aggiungervi dei tag durante la creazione. Per le operazioni di creazione delle risorse in cui vengono applicati i tag, gli utenti devono disporre delle autorizzazioni per utilizzare l'operazione `CreateTags`. La seconda istruzione utilizza la chiave di condizione `ec2:CreateAction` per consentire agli utenti di creare i tag soltanto nel contesto di `RunInstances` e soltanto per le istanze. Tramite la richiesta `RunInstances`, gli utenti non possono aggiungere tag alle risorse esistenti e ai volumi. 

Per ulteriori informazioni, consulta [Concessione dell'autorizzazione all'applicazione di tag Amazon EC2 per le risorse durante la creazione](supported-iam-actions-tagging.md).

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
         "ec2:RunInstances"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
         "ec2:CreateTags"
      ],
      "Resource": "arn:aws:ec2:us-east-1:111122223333:instance/*",
      "Condition": {
         "StringEquals": {
             "ec2:CreateAction" : "RunInstances"
          }
       }
    }
  ]
}
```

------

**Tag di istanze e volumi durante la creazione con tag specifici**

La policy seguente include la chiave di condizione `aws:RequestTag` che richiede agli utenti di applicare tag alle istanze e ai volumi creati da `RunInstances` con i tag `environment=production` e `purpose=webserver`. Se gli utenti non indicano questi tag specifici, o se non specificano nessun tag, la richiesta non riesce.

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
   {
      "Effect": "Allow",
      "Action": [
         "ec2:RunInstances"
      ],
      "Resource": [
         "arn:aws:ec2:us-east-1::image/*",
         "arn:aws:ec2:us-east-1:111122223333:subnet/*",
         "arn:aws:ec2:us-east-1:111122223333:network-interface/*",
         "arn:aws:ec2:us-east-1:111122223333:security-group/*",
         "arn:aws:ec2:us-east-1:111122223333:key-pair/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
         "ec2:RunInstances"
      ],
      "Resource": [
          "arn:aws:ec2:us-east-1:111122223333:volume/*",
          "arn:aws:ec2:us-east-1:111122223333:instance/*"
      ],
      "Condition": {
         "StringEquals": {
             "aws:RequestTag/environment": "production" ,
             "aws:RequestTag/purpose": "webserver"
          }
       }
    },
    {
      "Effect": "Allow",
      "Action": [
         "ec2:CreateTags"
      ],
      "Resource": "arn:aws:ec2:us-east-1:111122223333:*/*",
      "Condition": {
         "StringEquals": {
             "ec2:CreateAction" : "RunInstances"
          }
       }
    }
  ]
}
```

------

**Tag di istanze e volumi durante la creazione con almeno un tag specifico**

La policy seguente utilizza il modificatore `ForAnyValue` sulla condizione `aws:TagKeys` per indicare che occorre specificare almeno un tag nella richiesta e che deve contenere la chiave `environment` o `webserver`. I tag devono essere applicati alle istanze e ai volumi. È possibile specificare nella richiesta qualsiasi valore di tag. 

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
   {
      "Effect": "Allow",
      "Action": [
         "ec2:RunInstances"
      ],
      "Resource": [
         "arn:aws:ec2:us-east-1::image/*",
         "arn:aws:ec2:us-east-1:111122223333:subnet/*",
         "arn:aws:ec2:us-east-1:111122223333:network-interface/*",
         "arn:aws:ec2:us-east-1:111122223333:security-group/*",
         "arn:aws:ec2:us-east-1:111122223333:key-pair/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
          "ec2:RunInstances"
      ],
      "Resource": [
          "arn:aws:ec2:us-east-1:111122223333:volume/*",
          "arn:aws:ec2:us-east-1:111122223333:instance/*"
      ],
      "Condition": {
          "ForAnyValue:StringEquals": {
              "aws:TagKeys": ["environment","webserver"]
          }
       }
    },
    {
      "Effect": "Allow",
      "Action": [
          "ec2:CreateTags"
      ],
      "Resource": "arn:aws:ec2:us-east-1:111122223333:*/*",
      "Condition": {
          "StringEquals": {
              "ec2:CreateAction" : "RunInstances"
          }
       }
    }
  ]
}
```

------

**Se vengono applicati tag alle istanze durante la creazione, è necessario applicare un tag specifico**

Nella policy seguente non è necessario che gli utenti specifichino i tag nella richiesta, ma se lo fanno, i tag devono essere di tipo `purpose=test`. Non sono consentiti altri tag. Gli utenti possono applicare i tag alle risorse compatibili con l'applicazione dei tag nella richiesta `RunInstances`.

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
         "ec2:RunInstances"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
         "ec2:CreateTags"
      ],
      "Resource": "arn:aws:ec2:us-east-1:111122223333:*/*",
      "Condition": {
         "StringEquals": {
             "aws:RequestTag/purpose": "test",
             "ec2:CreateAction" : "RunInstances"
          },
          "ForAllValues:StringEquals": {
              "aws:TagKeys": "purpose"
          }
       }
    }
  ]
}
```

------

Per impedire a chiunque si chiami tag su create for RunInstances



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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowRun",
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/*",
                "arn:aws:ec2:us-east-1:*:subnet/*",
                "arn:aws:ec2:us-east-1:*:network-interface/*",
                "arn:aws:ec2:us-east-1:*:security-group/*",
                "arn:aws:ec2:us-east-1:*:key-pair/*",
                "arn:aws:ec2:us-east-1:*:volume/*",
                "arn:aws:ec2:us-east-1:*:instance/*",
                "arn:aws:ec2:us-east-1:*:spot-instances-request/*"
            ]
        },
        {
            "Effect": "Deny",
            "Action": "ec2:CreateTags",
            "Resource": "*"
        }
    ]
}
```

------

Consenti solo tag specifici per spot-instances-request. L'incoerenza numero 2 entra in gioco qui. In circostanze normali, se non si specifica alcun tag, il risultato è che non viene autenticato. Nel caso di spot-instances-request, questa politica non verrà valutata in assenza di spot-instances-request tag, pertanto una richiesta Spot on Run senza tag avrà esito positivo. 

### Tag in un modello di avvio
<a name="iam-example-tags-launch-template"></a>

Nell'esempio seguente, gli utenti possono avviare le istanze, ma solo tramite un modello di avvio specifico (`lt-09477bcd97b0d310e`). La chiave di condizione `ec2:IsLaunchTemplateResource` impedisce agli utenti di sovrascrivere le risorse specificate nel modello di avvio. La seconda parte dell'istruzione consente agli utenti di assegnare tag alle istanze al momento della creazione; questa parte dell'istruzione è necessaria se sono stati specificati dei tag per l'istanza nel modello di avvio.

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
   {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": "*",
      "Condition": {
         "ArnLike": {
             "ec2:LaunchTemplate": "arn:aws:ec2:us-east-1:111122223333:launch-template/lt-09477bcd97b0d310e" 
          },
          "Bool": {
             "ec2:IsLaunchTemplateResource": "true"
          }
       }
    },
    {
      "Effect": "Allow",
      "Action": [
         "ec2:CreateTags"
      ],
      "Resource": "arn:aws:ec2:us-east-1:111122223333:instance/*",
      "Condition": {
         "StringEquals": {
             "ec2:CreateAction" : "RunInstances"
          }
       }
    }
  ]
}
```

------

### Elastico GPUs
<a name="iam-example-runinstances-egpu"></a>

Nella policy seguente, gli utenti possono avviare un'istanza e specificare una GPU elastica da collegare all'istanza. Gli utenti possono avviare le istanze in qualsiasi regione, ma possono collegare una GPU elastica durante l'avvio soltanto nella regione `us-east-2`. 

La chiave di condizione `ec2:ElasticGpuType` garantisce che le istanze utilizzino il tipo di GPU elastica `eg1.medium` o `eg1.large`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
             {
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:*:111122223333:elastic-gpu/*"
            ],
            "Condition": {
                "StringEquals": {
                    "ec2:Region": "us-east-2",
                    "ec2:ElasticGpuType": [
                        "eg1.medium",
                        "eg1.large"
                    ]
                }  
            }
        },
        {
            "Effect": "Allow",
            "Action": "ec2:RunInstances",
            "Resource": [
                "arn:aws:ec2:*::image/ami-*",
                "arn:aws:ec2:*:111122223333:network-interface/*",
                "arn:aws:ec2:*:111122223333:instance/*",
                "arn:aws:ec2:*:111122223333:subnet/*",
                "arn:aws:ec2:*:111122223333:volume/*",
                "arn:aws:ec2:*:111122223333:key-pair/*",
                "arn:aws:ec2:*:111122223333:security-group/*"
            ]
        }
    ]
}
```

------

### Modelli di avvio
<a name="iam-example-runinstances-launch-templates"></a>

Nell'esempio seguente, gli utenti possono avviare le istanze, ma solo tramite un modello di avvio specifico (`lt-09477bcd97b0d310e`). Gli utenti possono sovrascrivere i parametri nel modello di avvio specificandolo nell'operazione `RunInstances`.

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
         {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": "*",
      "Condition": {
         "ArnLike": {
             "ec2:LaunchTemplate": "arn:aws:ec2:us-east-1:111122223333:launch-template/lt-09477bcd97b0d310e" 
          }
       }
    }
  ]
}
```

------

In questo esempio, gli utenti possono avviare le istanze solo se utilizzano un modello di avvio specifico. La policy utilizza la chiave `ec2:IsLaunchTemplateResource` condition per impedire agli utenti di sovrascrivere qualsiasi elemento preesistente ARNs nel modello di lancio.

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
         {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": "*",
      "Condition": {
         "ArnLike": {
             "ec2:LaunchTemplate": "arn:aws:ec2:us-east-1:111122223333:launch-template/*" 
          },
          "Bool": {
             "ec2:IsLaunchTemplateResource": "true"
          }
       }
    }
  ]
}
```

------

La policy di esempio seguente consente agli utenti di avviare le istanze, ma solo tramite un modello di avvio. Gli utenti non possono sovrascrivere i parametri di sottorete e interfaccia di rete della richiesta; tali parametri possono essere specificati soltanto nel modello di avvio. La prima parte dell'istruzione utilizza l'[NotResource](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_notresource.html)elemento per consentire tutte le altre risorse tranne le sottoreti e le interfacce di rete. La seconda parte dell'istruzione consente le risorse di sottorete e interfaccia di rete, ma soltanto se provenienti dal modello di avvio.

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
        {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "NotResource": ["arn:aws:ec2:us-east-1:111122223333:subnet/*",
                      "arn:aws:ec2:us-east-1:111122223333:network-interface/*" ],
      "Condition": {
         "ArnLike": {
             "ec2:LaunchTemplate": "arn:aws:ec2:us-east-1:111122223333:launch-template/*" 
          }
       }
    },
   {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": ["arn:aws:ec2:us-east-1:111122223333:subnet/*",
                   "arn:aws:ec2:us-east-1:111122223333:network-interface/*" ],
      "Condition": {
         "ArnLike": {
             "ec2:LaunchTemplate": "arn:aws:ec2:us-east-1:111122223333:launch-template/*" 
          },
          "Bool": {
             "ec2:IsLaunchTemplateResource": "true"
          }
       }
    }
  ]
}
```

------

L'esempio seguente consente agli utenti di avviare le istanze solo tramite un modello di avvio e solo se quest'ultimo dispone del tag `Purpose=Webservers`. Gli utenti non possono sovrascrivere nessuno dei parametri del modello di avvio nell'operazione `RunInstances`.

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
        {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "NotResource": "arn:aws:ec2:us-east-1:111122223333:launch-template/*",
      "Condition": {
         "ArnLike": {
             "ec2:LaunchTemplate": "arn:aws:ec2:us-east-1:111122223333:launch-template/*" 
          },
         "Bool": {
             "ec2:IsLaunchTemplateResource": "true"
          }
       }
    },
    {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": "arn:aws:ec2:us-east-1:111122223333:launch-template/*",
      "Condition": {
       "StringEquals": {
           "aws:ResourceTag/Purpose": "Webservers" 
        }
       }
     }
  ]
}
```

------

## Utilizzo delle Istanze spot
<a name="iam-example-spot-instances"></a>

È possibile utilizzare l' RunInstances azione per creare richieste di istanze Spot e contrassegnare le richieste di istanze Spot al momento della creazione. La risorsa da specificare RunInstances è`spot-instances-request`.

La risorsa `spot-instances-request` viene valutata nella policy IAM come segue:
+ Se non tagghi una richiesta di istanza Spot al momento della creazione, Amazon EC2 non valuta la `spot-instances-request` risorsa nell' RunInstancesistruzione.
+ Se tagghi una richiesta di istanza Spot al momento della creazione, Amazon EC2 valuta la `spot-instances-request` risorsa nell'istruzione. RunInstances

Pertanto, per la risorsa `spot-instances-request`, alla policy IAM si applicano le seguenti regole:
+ Se utilizzi RunInstances per creare una richiesta di istanza Spot e non intendi taggare la richiesta di istanza Spot al momento della creazione, non è necessario consentire esplicitamente la `spot-instances-request` risorsa; la chiamata avrà esito positivo.
+ Se utilizzi RunInstances per creare una richiesta di istanza Spot e intendi taggare la richiesta di istanza Spot al momento della creazione, devi includere la `spot-instances-request` risorsa nell'istruzione RunInstances allow, altrimenti la chiamata avrà esito negativo.
+ Se utilizzi RunInstances per creare una richiesta di istanza Spot e intendi contrassegnare la richiesta di istanza Spot al momento della creazione, devi specificare la `spot-instances-request` risorsa o il `*` carattere jolly nell'istruzione CreateTags allow, altrimenti la chiamata avrà esito negativo. 

Puoi richiedere istanze Spot utilizzando RunInstances o. RequestSpotInstances I seguenti esempi di policy IAM si applicano solo quando si richiedono istanze Spot utilizzando. RunInstances

**Esempio: richiedi istanze Spot utilizzando RunInstances**

La seguente politica consente agli utenti di richiedere istanze Spot utilizzando l'azione RunInstances . La `spot-instances-request` risorsa, creata da RunInstances, richiede istanze Spot.

**Nota**  
Da utilizzare RunInstances per creare richieste di istanze Spot, puoi ometterle `spot-instances-request` dall'`Resource`elenco se non intendi taggare le richieste di istanze Spot durante la creazione. Questo perché Amazon EC2 non valuta la `spot-instances-request` risorsa nell' RunInstancesistruzione se la richiesta dell'istanza Spot non è contrassegnata al momento della creazione.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowRun",
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/*",
                "arn:aws:ec2:us-east-1:*:subnet/*",
                "arn:aws:ec2:us-east-1:*:network-interface/*",
                "arn:aws:ec2:us-east-1:*:security-group/*",
                "arn:aws:ec2:us-east-1:*:key-pair/*",
                "arn:aws:ec2:us-east-1:*:volume/*",
                "arn:aws:ec2:us-east-1:*:instance/*",
                "arn:aws:ec2:us-east-1:*:spot-instances-request/*"
            ]
        }
    ]
}
```

------

**avvertimento**  
**NON SUPPORTATO - Esempio: nega agli utenti l'autorizzazione a richiedere istanze Spot utilizzando RunInstances**  
La seguente policy non è supportata per la risorsa `spot-instances-request`.  
La seguente policy intende concedere agli utenti l'autorizzazione per l'avvio di Istanze on demand, ma nega agli utenti l'autorizzazione a richiedere Istanze spot. La `spot-instances-request` risorsa, creata da RunInstances, è la risorsa che richiede le istanze Spot. La seconda affermazione ha lo scopo di negare l' RunInstances azione per la `spot-instances-request` risorsa. Tuttavia, questa condizione non è supportata perché Amazon EC2 non valuta la `spot-instances-request` risorsa nell' RunInstances istruzione se la richiesta dell'istanza Spot non è contrassegnata al momento della creazione.  

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowRun",
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/*",
                "arn:aws:ec2:us-east-1:*:subnet/*",
                "arn:aws:ec2:us-east-1:*:network-interface/*",
                "arn:aws:ec2:us-east-1:*:security-group/*",
                "arn:aws:ec2:us-east-1:*:key-pair/*",
                "arn:aws:ec2:us-east-1:*:volume/*",
                "arn:aws:ec2:us-east-1:*:instance/*"
            ]
        },
        {
            "Sid": "DenySpotInstancesRequestsNOTSUPPORTEDDONOTUSE",
            "Effect": "Deny",
            "Action": "ec2:RunInstances",
            "Resource": "arn:aws:ec2:us-east-1:*:spot-instances-request/*"
        }
    ]
}
```

**Esempio: tag di richieste di istanze spot durante la creazione**

La seguente policy consente agli utenti di applicare un tag a tutte le risorse create durante l'avvio dell'istanza. La prima istruzione consente di RunInstances creare le risorse elencate. La `spot-instances-request` risorsa, creata da RunInstances, è la risorsa che richiede le istanze Spot. La seconda istruzione include il carattere jolly `*` per consentire a tutte le risorse l'applicazione di tag quando vengono create all'avvio dell'istanza.

**Nota**  
Se tagghi una richiesta di istanza Spot al momento della creazione, Amazon EC2 valuta la `spot-instances-request` risorsa nell'istruzione. RunInstances Pertanto, è necessario consentire esplicitamente alla `spot-instances-request` risorsa di eseguire l' RunInstances azione, altrimenti la chiamata avrà esito negativo.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowRun",
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/*",
                "arn:aws:ec2:us-east-1:*:subnet/*",
                "arn:aws:ec2:us-east-1:*:network-interface/*",
                "arn:aws:ec2:us-east-1:*:security-group/*",
                "arn:aws:ec2:us-east-1:*:key-pair/*",
                "arn:aws:ec2:us-east-1:*:volume/*",
                "arn:aws:ec2:us-east-1:*:instance/*",
                "arn:aws:ec2:us-east-1:*:spot-instances-request/*"
            ]
        },
        {
            "Sid": "TagResources",
            "Effect": "Allow",
            "Action": "ec2:CreateTags",
            "Resource": "*"
        }
    ]
}
```

------

**Esempio: assegnazione di tag di diniego durante la creazione per richieste di istanze spot**

La seguente policy nega agli utenti l'autorizzazione di applicare un tag alle risorse create durante l'avvio dell'istanza.

La prima istruzione consente di RunInstances creare le risorse elencate. La `spot-instances-request` risorsa, creata da RunInstances, è la risorsa che richiede le istanze Spot. La seconda istruzione include il carattere jolly `*` per negare a tutte le risorse l'applicazione di tag quando vengono create all'avvio dell'istanza. Se `spot-instances-request` o qualsiasi altra risorsa viene taggata in fase di creazione, la RunInstances chiamata avrà esito negativo.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowRun",
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/*",
                "arn:aws:ec2:us-east-1:*:subnet/*",
                "arn:aws:ec2:us-east-1:*:network-interface/*",
                "arn:aws:ec2:us-east-1:*:security-group/*",
                "arn:aws:ec2:us-east-1:*:key-pair/*",
                "arn:aws:ec2:us-east-1:*:volume/*",
                "arn:aws:ec2:us-east-1:*:instance/*",
                "arn:aws:ec2:us-east-1:*:spot-instances-request/*"
            ]
        },
        {
            "Sid": "DenyTagResources",
            "Effect": "Deny",
            "Action": "ec2:CreateTags",
            "Resource": "*"
        }
    ]
}
```

------

**avvertimento**  
**NON SUPPORTATO - Esempio: autorizzazione per la creazione di una richiesta di istanza spot solo se è stato applicato un tag specifico**  
La seguente policy non è supportata per la risorsa `spot-instances-request`.  
La seguente politica ha lo scopo di concedere RunInstances l'autorizzazione a creare una richiesta di istanza Spot solo se la richiesta è contrassegnata con un tag specifico.   
La prima istruzione consente RunInstances di creare le risorse elencate.  
La seconda istruzione intende concedere agli utenti l'autorizzazione a creare una richiesta di istanza spot solo se alla richiesta è applicato il tag `environment=production`. Se questa condizione viene applicata ad altre risorse create da RunInstances, l'indicazione di nessun tag genera un `Unauthenticated` errore. Tuttavia, se non viene specificato alcun tag per la richiesta dell'istanza Spot, Amazon EC2 non valuta la `spot-instances-request` risorsa nell' RunInstances istruzione, il che comporta la creazione di richieste di istanze Spot senza tag da. RunInstances  
Tieni presente che specificare un altro tag diverso da 1 `environment=production` genera un `Unauthenticated` errore, perché se un utente tagga una richiesta di istanza Spot, Amazon EC2 valuta `spot-instances-request` la risorsa nell'istruzione. RunInstances   

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowRun",
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/*",
                "arn:aws:ec2:us-east-1:*:subnet/*",
                "arn:aws:ec2:us-east-1:*:network-interface/*",
                "arn:aws:ec2:us-east-1:*:security-group/*",
                "arn:aws:ec2:us-east-1:*:key-pair/*",
                "arn:aws:ec2:us-east-1:*:volume/*",
                "arn:aws:ec2:us-east-1:*:instance/*"
            ]
        },
        {
            "Sid": "RequestSpotInstancesOnlyIfTagIsEnvironmentProductionNOTSUPPORTEDDONOTUSE",
            "Effect": "Allow",
            "Action": "ec2:RunInstances",
            "Resource": "arn:aws:ec2:us-east-1:*:spot-instances-request/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/environment": "production"
                }
            }
        },
        {
            "Sid": "TagResources",
            "Effect": "Allow",
            "Action": "ec2:CreateTags",
            "Resource": "*"
        }

    ]
}
```

**Esempio: diniego della creazione di una richiesta di istanza spot se ha un tag specifico applicato**

La seguente politica nega RunInstances l'autorizzazione a creare una richiesta di istanza Spot se la richiesta è contrassegnata con. `environment=production` 

La prima istruzione consente di RunInstances creare le risorse elencate.

La seconda istruzione nega agli utenti l'autorizzazione per creare una richiesta di istanza spot se la richiesta ha il tag `environment=production`. Se si specifica `environment=production` come tag, viene generato un errore `Unauthenticated`. Se si specificano altri tag o se non si specifica alcun tag, verrà creata una richiesta di istanza spot.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowRun",
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/*",
                "arn:aws:ec2:us-east-1:*:subnet/*",
                "arn:aws:ec2:us-east-1:*:network-interface/*",
                "arn:aws:ec2:us-east-1:*:security-group/*",
                "arn:aws:ec2:us-east-1:*:key-pair/*",
                "arn:aws:ec2:us-east-1:*:volume/*",
                "arn:aws:ec2:us-east-1:*:instance/*",
                "arn:aws:ec2:us-east-1:*:spot-instances-request/*"
            ]
        },
        {
            "Sid": "DenySpotInstancesRequests",
            "Effect": "Deny",
            "Action": "ec2:RunInstances",
            "Resource": "arn:aws:ec2:us-east-1:*:spot-instances-request/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/environment": "production"
                }
            }
        },
        {
            "Sid": "TagResources",
            "Effect": "Allow",
            "Action": "ec2:CreateTags",
            "Resource": "*"
        }
    ]
}
```

------

## Esempio: utilizzo delle Istanze riservate
<a name="iam-example-reservedinstances"></a>

La policy seguente fornisce agli utenti l'autorizzazione per visualizzare, modificare e acquistare le Istanze riservate nell'account.

Non è possibile impostare le autorizzazioni a livello di risorsa per singole Istanze riservate. Questa policy significa che gli utenti hanno accesso a tutte le Istanze riservate dell'account.

L'elemento `Resource` utilizza il carattere jolly \$1 per indicare che gli utenti possono specificare tutte le risorse tramite questa operazione; in questo caso, possono elencare e modificare tutte le Istanze riservate nell'account. Possono inoltre acquistare le Istanze riservate con le credenziali dell'account. ‎Il carattere jolly \$1 è necessario inoltre nei casi in cui l'operazione dell'API non supporta le autorizzazioni a livello di risorsa.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeReservedInstances", 
        "ec2:ModifyReservedInstances",
        "ec2:PurchaseReservedInstancesOffering", 
        "ec2:DescribeAvailabilityZones",
        "ec2:DescribeReservedInstancesOfferings"
      ],
      "Resource": "*"
    }
   ]
}
```

------

Per consentire agli utenti di visualizzare e modificare le Istanze riservate nell'account, ma non di acquistare nuove Istanze riservate.

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

****  

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

------

## Esempio: aggiunta di tag alle risorse
<a name="iam-example-taggingresources"></a>

La policy seguente consente agli utenti di utilizzare l'operazione `CreateTags` per applicare tag a un'istanza soltanto se il tag contiene la chiave `environment` e il valore `production`. Non sono consentiti altri tag e l’utente non può aggiungere tag ad altri tipi di risorse.

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

****  

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

------

La policy seguente consente agli utenti di assegnare tag a tutte le risorse compatibili con l'assegnazione di tag e che dispongono già di un tag con una chiave `owner` e un valore corrispondente al nome utente. Inoltre, gli utenti devono specificare nella richiesta un tag con la chiave `anycompany:environment-type` e un valore `test` o `prod`. Gli utenti possono specificare altri tag nella richiesta.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
               {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateTags"
            ],
            "Resource": "arn:aws:ec2:us-east-1:111122223333:*/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/anycompany:environment-type": ["test","prod"],
                    "aws:ResourceTag/owner": "${aws:username}"
                } 
            }
        }
    ]
}
```

------

Puoi creare una policy IAM che consenta agli utenti di eliminare tag specifici per una risorsa. Ad esempio, la policy seguente consente agli utenti di eliminare i tag di un volume se le chiavi di tag specificate nella richiesta sono `environment` o `cost-center`. È possibile specificare qualsiasi valore per il tag, ma la chiave di tag deve corrispondere a una delle chiavi specificate.

**Nota**  
Se elimini una risorsa, verranno eliminati anche tutti i tag associati alla risorsa. Gli utenti non necessitano delle autorizzazioni per utilizzare l'operazione `ec2:DeleteTags` per eliminare una risorsa con tag; necessitano soltanto delle autorizzazioni per effettuare l'operazione di eliminazione.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
       {
      "Effect": "Allow",
      "Action": "ec2:DeleteTags",
      "Resource": "arn:aws:ec2:us-east-1:111122223333:volume/*",
      "Condition": {
        "ForAllValues:StringEquals": {
          "aws:TagKeys": ["environment","cost-center"]
        }
      }
    }
  ]
}
```

------

Questa policy consente agli utenti di eliminare soltanto il tag `environment=prod` su qualsiasi risorsa e soltanto se la risorsa dispone già di un tag con una chiave `owner` e di un valore corrispondente al nome utente. Gli utenti non possono eliminare nessun altro tag di una risorsa.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
      {
      "Effect": "Allow",
      "Action": [
        "ec2:DeleteTags"
      ],
      "Resource": "arn:aws:ec2:us-east-1:111122223333:*/*",
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/environment": "prod",
          "aws:ResourceTag/owner": "${aws:username}"
        },
        "ForAllValues:StringEquals": {
          "aws:TagKeys": ["environment"]
        }
      }
    }
  ]
}
```

------

## Esempio: utilizzo dei ruoli IAM
<a name="iam-example-iam-roles"></a>

La policy seguente consente agli utenti di collegare, sostituire e scollegare un ruolo IAM dalle istanze che includono il tag `department=test`. Per la sostituzione o lo scollegamento di un ruolo IAM è necessario un ID di associazione, pertanto la policy concede agli utenti anche l'autorizzazione per utilizzare l'operazione `ec2:DescribeIamInstanceProfileAssociations`. 

Per trasferire il ruolo all'istanza, gli utenti devono disporre dell'autorizzazione per utilizzare l'operazione `iam:PassRole`. 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:AssociateIamInstanceProfile",
        "ec2:ReplaceIamInstanceProfileAssociation",
        "ec2:DisassociateIamInstanceProfile"
      ],
      "Resource": "arn:aws:ec2:us-east-1:111122223333:instance/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/department":"test"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": "ec2:DescribeIamInstanceProfileAssociations",
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "iam:PassRole",
      "Resource": "arn:aws:iam::111122223333:role/DevTeam*"
    }
  ]
}
```

------

La policy seguente consente agli utenti di collegare o sostituire un ruolo IAM per qualsiasi istanza. Gli utenti possono collegare o sostituire soltanto i ruoli IAM il cui nome inizia con `TestRole-`. Per l'operazione `iam:PassRole`, assicurarsi di specificare il nome del ruolo IAM e non il profilo dell'istanza (se i nomi sono diversi). Per ulteriori informazioni, consulta [Profili delle istanze](iam-roles-for-amazon-ec2.md#ec2-instance-profile).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:AssociateIamInstanceProfile",
                "ec2:ReplaceIamInstanceProfileAssociation"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "ec2:DescribeIamInstanceProfileAssociations",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::111122223333:role/TestRole-*"
        }
    ]
}
```

------

## Esempio: utilizzo delle tabelle di routing
<a name="iam-example-route-tables"></a>

La policy seguente consente agli utenti di aggiungere, rimuovere e sostituire gli instradamenti delle tabelle di routing associate soltanto al VPC `vpc-ec43eb89`. Per specificare un VPC per la chiave di condizione `ec2:Vpc`, devi specificare l'ARN completo del VPC.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
              {
            "Effect": "Allow",
            "Action": [
                "ec2:DeleteRoute",
                "ec2:CreateRoute",
                "ec2:ReplaceRoute"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:route-table/*"
            ],
            "Condition": {
                "StringEquals": {
                    "ec2:Vpc": "arn:aws:ec2:us-east-1:111122223333:vpc/vpc-ec43eb89"
                }
            }
        }
    ]
}
```

------

## Esempio: consentire a un'istanza specifica di visualizzare le risorse in altri AWS servizi
<a name="iam-example-source-instance"></a>

Di seguito è riportato un esempio di policy che è possibile collegare a un ruolo IAM. La policy consente a un'istanza di visualizzare le risorse in vari AWS servizi. Utilizza la chiave di condizione globale `ec2:SourceInstanceARN` per specificare che l'istanza da cui è stata creata la richiesta deve essere l'istanza `i-093452212644b0dd6`. Se lo stesso ruolo IAM è associato a un'altra istanza, l'altra istanza non può effettuare nessuna di queste operazioni.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
              {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeVolumes",
                "s3:ListAllMyBuckets",
                "dynamodb:ListTables",
                "rds:DescribeDBInstances"
            ],
            "Resource": [
                "*"
            ],
            "Condition": {
                "ArnEquals": {
                    "ec2:SourceInstanceARN": "arn:aws:ec2:us-east-1:111122223333:instance/i-093452212644b0dd6"
                }
            }
        }
    ]
}
```

------

## Esempio: utilizzo dei modelli di avvio
<a name="iam-example-launch-templates"></a>

La policy seguente consente agli utenti di creare una versione del modello di avvio e di modificarne uno, ma solo nel caso di un modello di avvio specifico (`lt-09477bcd97b0d3abc`). Gli utenti non possono utilizzare altri modelli di lancio.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
   {
      "Action": [
        "ec2:CreateLaunchTemplateVersion",
        "ec2:ModifyLaunchTemplate"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:ec2:us-east-1:111122223333:launch-template/lt-09477bcd97b0d3abc"
    }
  ]
}
```

------

La policy seguente consente agli utenti di eliminare i modelli di avvio e la relativa versione, purché il modello di avvio disponga del tag `Purpose`=`Testing`.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
       {
      "Action": [
        "ec2:DeleteLaunchTemplate",
        "ec2:DeleteLaunchTemplateVersions"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:ec2:us-east-1:111122223333:launch-template/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/Purpose": "Testing"
        }
      }
    }
  ]
}
```

------

## Utilizzo dei metadati delle istanze
<a name="iam-example-instance-metadata"></a>

Le seguenti politiche garantiscono che gli utenti possano recuperare i [metadati dell'istanza](ec2-instance-metadata.md) solo utilizzando Instance Metadata Service Version 2 (). IMDSv2 Puoi combinare le quattro policy seguenti in un'unica policy con quattro istruzioni. Se vengono combinate in un'unica policy, questa può essere utilizzata come policy di controllo dei servizi (SCP). Può funzionare altrettanto bene come policy *deny* applicata a una policy IAM esistente (togliendo e limitando le autorizzazioni esistenti) o come policy di controllo dei servizi (SCP) applicata a livello globale a un account, a un'unità organizzativa o a un'intera organizzazione.

**Nota**  
Le seguenti politiche relative alle opzioni di RunInstances metadati devono essere utilizzate insieme a una politica che fornisca le autorizzazioni principali con cui avviare un'istanza. RunInstances Se il principale non dispone anche RunInstances delle autorizzazioni, non sarà in grado di avviare un'istanza. Per ulteriori informazioni, consulta le policy [Utilizzo delle istanze](#iam-example-instances) e [Avvia istanze () RunInstances](#iam-example-runinstances).

**Importante**  
*Se utilizzate i gruppi Auto Scaling e dovete richiederne l'uso IMDSv2 su tutte le nuove istanze, i gruppi Auto Scaling devono utilizzare modelli di avvio.*  
Quando un gruppo Auto Scaling utilizza un modello di avvio, le `ec2:RunInstances` autorizzazioni del principal IAM vengono controllate quando viene creato un nuovo gruppo Auto Scaling. Vengono inoltre controllati quando un gruppo Auto Scaling esistente viene aggiornato per utilizzare un nuovo modello di avvio o una nuova versione di un modello di avvio.  
Le restrizioni all'uso di IMDSv1 on IAM principal for `RunInstances` vengono verificate solo quando viene creato o aggiornato un gruppo di Auto Scaling che utilizza un modello di avvio. Per un gruppo Auto Scaling configurato per l'utilizzo del modello di avvio `Latest` o `Default`, le autorizzazioni non vengono controllate quando viene creata una nuova versione del modello di avvio. Per controllare le autorizzazioni, è necessario configurare il gruppo Auto Scaling in modo da utilizzare una *versione specifica* del modello di avvio.  
Disabilita l'uso delle configurazioni di avvio per tutti gli account dell'organizzazione utilizzando le policy di controllo del servizio (SCPs) o i limiti delle autorizzazioni IAM per i nuovi principali che vengono creati. Per i principal IAM esistenti con autorizzazioni di gruppo Auto Scaling, aggiornare le policy associate con questa chiave di condizione. Per disabilitare l'utilizzo delle configurazioni di avvio, creare o modificare la policy IAM, il limite delle autorizzazioni o la relativa policy di controllo del servizio con la chiave di condizione `"autoscaling:LaunchConfigurationName"` con il valore specificato come `null`.
Per i nuovi modelli di avvio, configurare le opzioni dei metadati dell'istanza nel modello di avvio. Per i modelli di avvio esistenti, creare una nuova versione del modello di avvio e configurare le opzioni dei metadati dell'istanza nella nuova versione.
Nella policy che concede a qualsiasi principal l'autorizzazione per utilizzare un modello di avvio, limitare l'associazione di `$latest` e `$default` specificando `"autoscaling:LaunchTemplateVersionSpecified": "true"`. Limitando l'utilizzo a una versione specifica di un modello di avvio, è possibile assicurarsi che vengano avviate nuove istanze utilizzando la versione in cui sono configurate le opzioni dei metadati dell'istanza. Per ulteriori informazioni, consulta il riferimento [LaunchTemplateSpecification](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_LaunchTemplateSpecification.html)all'API *Amazon EC2 Auto Scaling*, `Version` in particolare il parametro.
Per un gruppo Auto Scaling che utilizza una configurazione di avvio, sostituire la configurazione di avvio con un modello di avvio. Per ulteriori informazioni, consulta [Migrate your Auto Scaling groups to launch templates](https://docs.aws.amazon.com/autoscaling/ec2/userguide/migrate-to-launch-templates.html) nella *Guida per l’utente di Amazon EC2 Auto Scaling*.
Per un gruppo Auto Scaling che utilizza un modello di avvio, assicurarsi che utilizzi un nuovo modello di avvio con le opzioni di metadati dell'istanza configurate oppure utilizzi una nuova versione del modello di avvio corrente con le opzioni dei metadati dell'istanza configurate. Per ulteriori informazioni, consulta [update-auto-scaling-group](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/update-auto-scaling-group.html).

**Topics**
+ [Richiede l'uso di IMDSv2](#iam-example-instance-metadata-requireIMDSv2)
+ [Nega la disattivazione di IMDSv2](#iam-example-instance-metadata-denyoptoutIMDSv2)
+ [Specificare limite massimo di hop](#iam-example-instance-metadata-maxHopLimit)
+ [Limitazione di chi può modificare le opzioni dei metadati dell'istanza](#iam-example-instance-metadata-limit-modify-IMDS-options)
+ [Richiedi il recupero delle credenziali del ruolo da IMDSv2](#iam-example-instance-metadata-require-roles-to-use-IMDSv2-credentials)

### Richiede l'uso di IMDSv2
<a name="iam-example-instance-metadata-requireIMDSv2"></a>

La seguente politica specifica che non è possibile chiamare l' RunInstances API a meno che l'istanza non abbia anche scelto di richiedere l'uso di IMDSv2 (indicato da`"ec2:MetadataHttpTokens": "required"`). Se non specifichi che l'istanza richiede IMDSv2, viene visualizzato un `UnauthorizedOperation` errore quando chiami l' RunInstances API.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
               {
            "Sid": "RequireImdsV2",
            "Effect": "Deny",
            "Action": "ec2:RunInstances",
            "Resource": "arn:aws:ec2:*:*:instance/*",
            "Condition": {
                "StringNotEquals": {
                    "ec2:MetadataHttpTokens": "required"
                }
            }
        }
    ]
}
```

------

### Nega la disattivazione di IMDSv2
<a name="iam-example-instance-metadata-denyoptoutIMDSv2"></a>

La seguente politica specifica che non è possibile chiamare l'`ModifyInstanceMetadataOptions`API e consentire l'opzione di o. IMDSv1 IMDSv2 Se chiami l'API `ModifyInstanceMetadataOptions`, l'attributo `HttpTokens` deve essere impostato su `required`. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Sid": "DenyIMDSv1HttpTokensModification",
        "Effect": "Deny",
        "Action": "ec2:ModifyInstanceMetadataOptions",
        "Resource": "arn:aws:ec2:*:*:instance/*",
        "Condition": {
            "StringNotEquals": {
                "ec2:Attribute/HttpTokens": "required"
            },
            "Null": {
                "ec2:Attribute/HttpTokens": false
            }
        }
    }]
}
```

------

### Specificare limite massimo di hop
<a name="iam-example-instance-metadata-maxHopLimit"></a>

La seguente politica specifica che non è possibile chiamare l' RunInstances API a meno che non si specifichi anche un limite di hop e il limite di hop non può essere superiore a 3. Se non lo fai, ricevi un `UnauthorizedOperation` errore quando chiami l' RunInstances API.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
               {
            "Sid": "MaxImdsHopLimit",
            "Effect": "Deny",
            "Action": "ec2:RunInstances",
            "Resource": "arn:aws:ec2:*:*:instance/*",
            "Condition": {
                "NumericGreaterThan": {
                    "ec2:MetadataHttpPutResponseHopLimit": "3"
                }
            }
        }
    ]
}
```

------

### Limitazione di chi può modificare le opzioni dei metadati dell'istanza
<a name="iam-example-instance-metadata-limit-modify-IMDS-options"></a>

Con la policy seguente, gli utenti con il ruolo `ec2-imds-admins` potranno apportare modifiche alle opzioni di metadati dell'istanza. Se un principale diverso dal `ec2-imds-admins` ruolo tenta di chiamare l' ModifyInstanceMetadataOptions API, riceverà un `UnauthorizedOperation` errore. Questa istruzione potrebbe essere utilizzata per controllare l'uso dell' ModifyInstanceMetadataOptions API; attualmente non esistono controlli di accesso (condizioni) dettagliati per l'API. ModifyInstanceMetadataOptions 

### Richiedi il recupero delle credenziali del ruolo da IMDSv2
<a name="iam-example-instance-metadata-require-roles-to-use-IMDSv2-credentials"></a>

La seguente politica specifica che se questa politica viene applicata a un ruolo e il ruolo viene assunto dal servizio EC2 e le credenziali risultanti vengono utilizzate per firmare una richiesta, la richiesta deve essere firmata con le credenziali del ruolo EC2 recuperate da. IMDSv2 In caso contrario, per tutte le relative chiamate all'API si verifica un errore `UnauthorizedOperation`. Questa istruzione/policy può essere applicata a livello generale perché, se la richiesta non è firmata dalle credenziali del ruolo EC2, non ha alcun effetto.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
               {
            "Sid": "RequireAllEc2RolesToUseV2",
            "Effect": "Deny",
            "Action": "*",
            "Resource": "*",
            "Condition": {
                "NumericLessThan": {
                    "ec2:RoleDelivery": "2.0"
                }
            }
        }
    ]
}
```

------

## Lavora con volumi e snapshot Amazon EBS
<a name="iam-example-ebs"></a>

Per esempi sulle politiche per l'utilizzo di volumi e snapshot di Amazon EBS, consulta [Esempi di policy basate sull'identità per Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/security_iam_id-based-policy-examples.html).

# Policy di esempio per controllare l'accesso alla console Amazon EC2
<a name="iam-policies-ec2-console"></a>

È possibile utilizzare le policy IAM per concedere agli utenti le autorizzazioni richieste per utilizzare Amazon EC2. Per step-by-step istruzioni, consulta [Creazione di politiche IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) nella *Guida per l'utente IAM*.

La console utilizza operazioni API aggiuntive per le relative caratteristiche. Pertanto, queste policy potrebbero non funzionare come previsto. Ad esempio, un utente con l'autorizzazione per l'utilizzo solo dell'operazione API `DescribeVolumes` riscontrerà errori quando cerca di visualizzare i volumi nella console. In questa sezione sono descritte le policy che consentono agli utenti di utilizzare parti specifiche della console. Per ulteriori informazioni sulla creazione di politiche per la console Amazon EC2, consulta il seguente post sul blog sulla AWS sicurezza: [Granting Users Permission to Work in the Amazon EC2](https://aws.amazon.com/blogs/security/granting-users-permission-to-work-in-the-amazon-ec2-console/) Console.

I seguenti esempi mostrano le dichiarazioni di policy che è possibile utilizzare per concedere le autorizzazioni agli utenti per utilizzare Amazon EC2. Sostituisci ogni *user input placeholder* con le tue informazioni. Queste policy sono progettate per le richieste effettuate con Console di gestione AWS. La console Amazon EC2 potrebbe richiamare più azioni API per visualizzare una singola risorsa e ciò potrebbe non essere evidente finché l'utente non tenta di eseguire un'operazione e la console non visualizza un errore. Per ulteriori informazioni, consulta il seguente post sul blog AWS sulla sicurezza: [Concedere agli utenti l'autorizzazione a lavorare nella console Amazon EC2](https://aws.amazon.com/blogs/security/granting-users-permission-to-work-in-the-amazon-ec2-console/).

**Topics**
+ [Accesso in sola lettura](#ex-read-only)
+ [Utilizzo della procedura guidata per l'avvio dell'istanza EC2](#ex-launch-wizard)
+ [Utilizzo dei gruppi di sicurezza](#ex-security-groups)
+ [Utilizzo degli indirizzi IP elastici](#ex-eip)
+ [Utilizzo delle Istanze riservate](#ex-reservedinstances)

Per individuare le operazioni API necessarie per eseguire le attività nella console, puoi utilizzare un servizio che effettua log di chiamate, come AWS CloudTrail. Se la policy non concede l'autorizzazione per creare o modificare una risorse specifica, nella console viene visualizzato un messaggio codificato con informazioni di diagnostica. Puoi decodificare il messaggio utilizzando l'azione [DecodeAuthorizationMessage](https://docs.aws.amazon.com/STS/latest/APIReference/API_DecodeAuthorizationMessage.html)API for o AWS STS il [decode-authorization-message](https://docs.aws.amazon.com/cli/latest/reference/sts/decode-authorization-message.html)comando contenuto in. AWS CLI

## Esempio: accesso in sola lettura
<a name="ex-read-only"></a>

Per consentire agli utenti di visualizzare tutte le risorse nella console Amazon EC2, è possibile utilizzare la stessa policy impiegata nel seguente esempio: [Esempio: accesso in sola lettura](ExamplePolicies_EC2.md#iam-example-read-only). Gli utenti non possono eseguire operazioni su queste risorse o creare nuove risorse a meno che un'altra istruzione conceda loro l'autorizzazione corrispondente.

**Visualizza istanze e AMIs istantanee**

In alternativa, puoi concedere l'accesso in sola lettura a un sottoinsieme di risorse. A tale scopo, sostituisci il carattere jolly \$1 nell'operazione API `ec2:Describe` con operazioni `ec2:Describe` specifiche per ciascuna risorsa. La seguente policy consente agli utenti di visualizzare tutte le istanze, AMI e snapshot nella console Amazon EC2. L'`ec2:DescribeTags`azione consente agli utenti di visualizzare in pubblico. AMIs La console richiede che le informazioni di tagging vengano visualizzate come pubbliche AMIs; tuttavia, è possibile rimuovere questa azione per consentire agli utenti di visualizzare solo informazioni privateAMIs.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [{
      "Effect": "Allow",
      "Action": [
         "ec2:DescribeInstances", 
         "ec2:DescribeImages",
         "ec2:DescribeTags", 
         "ec2:DescribeSnapshots"
      ],
      "Resource": "*"
   }
   ]
}
```

------

**Nota**  
Le operazioni API di Amazon EC2 `ec2:Describe*` non supportano le autorizzazioni a livello di risorsa, pertanto non è possibile controllare le singole risorse che gli utenti possono visualizzare nella console. Il carattere jolly \$1 è quindi necessario nell'elemento `Resource` dell'istruzione precedente. Per ulteriori informazioni sugli ARN che è possibile utilizzare con le operazioni API Amazon EC2, consulta [Operazioni, risorse e chiavi di condizione per Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html).

**Visualizza istanze e metriche CloudWatch **

**La seguente policy consente agli utenti di visualizzare le istanze nella console Amazon EC2, CloudWatch nonché gli allarmi e i parametri nella scheda Monitoraggio **della** pagina Istanze.** La console Amazon EC2 utilizza l' CloudWatch API per visualizzare gli allarmi e le metriche, quindi è necessario concedere agli utenti l'autorizzazione a utilizzare le azioni`cloudwatch:DescribeAlarms`,, `cloudwatch:DescribeAlarmsForMetric``cloudwatch:ListMetrics`, `cloudwatch:GetMetricStatistics` e. `cloudwatch:GetMetricData`

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [{
      "Effect": "Allow",
      "Action": [
         "ec2:DescribeInstances",
         "ec2:DescribeInstanceTypes",
         "cloudwatch:DescribeAlarms",
         "cloudwatch:DescribeAlarmsForMetric",
         "cloudwatch:ListMetrics",
         "cloudwatch:GetMetricStatistics",
         "cloudwatch:GetMetricData"
      ],
      "Resource": "*"
   }
   ]
}
```

------

## Esempio: utilizzo della procedura guidata per l'avvio dell'istanza EC2
<a name="ex-launch-wizard"></a>

La procedura guidata per l'avvio dell'istanza Amazon EC2 è una schermata contenente opzioni per la configurazione e l'avvio di un'istanza. La policy deve includere l'autorizzazione per l'utilizzo delle operazioni API che consentono agli utenti di utilizzare le opzioni della procedura guidata. Se la policy non include l'autorizzazione per l'utilizzo di tali operazioni, alcuni elementi della procedura guidata potrebbero non venire caricati correttamente e gli utenti potrebbero non essere in grado di completare il processo di avvio.

**Accesso di base alla procedura guidata per l'avvio dell'istanza**

Per completare un processo di avvio correttamente, gli utenti devono disporre dell'autorizzazione per l'uso dell'operazione API `ec2:RunInstances` e almeno delle seguenti operazioni API:
+ `ec2:DescribeImages`: per visualizzare e selezionare un'AMI.
+ `ec2:DescribeInstanceTypes`: per visualizzare e selezionare un tipo di istanza.
+ `ec2:DescribeVpcs`: Per visualizzare le opzioni di rete disponibili.
+ `ec2:DescribeSubnets`: Per visualizzare tutte le sottoreti disponibili per il VPC scelto. 
+ `ec2:DescribeSecurityGroups` o `ec2:CreateSecurityGroup`: per visualizzare e selezionare un gruppo di sicurezza esistente o crearne uno nuovo. 
+ `ec2:DescribeKeyPairs` o `ec2:CreateKeyPair`: per selezionare una coppia di chiavi esistente o per crearne una nuova.
+ `ec2:AuthorizeSecurityGroupIngress`: per aggiungere le regole in entrata.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeInstances",
                "ec2:DescribeImages",
                "ec2:DescribeInstanceTypes",
                "ec2:DescribeKeyPairs",
                "ec2:DescribeVpcs",
                "ec2:DescribeSubnets",
                "ec2:DescribeSecurityGroups",
                "ec2:CreateSecurityGroup",
                "ec2:AuthorizeSecurityGroupIngress",
                "ec2:CreateKeyPair"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "ec2:RunInstances",
            "Resource": "*"
        }
    ]
}
```

------

Puoi aggiungere operazioni API alla policy per mettere a disposizione opzioni aggiuntive per gli utenti, ad esempio:
+ `ec2:DescribeAvailabilityZones`: Per visualizzare e selezionare una zona di disponibilità specifica.
+ `ec2:DescribeNetworkInterfaces`: Per visualizzare e selezionare le interfacce di rete esistenti per la sottorete selezionata.
+ Per aggiungere regole in uscita ai gruppi di sicurezza VPC, è necessario concedere agli utenti l'autorizzazione per utilizzare l'operazione API `ec2:AuthorizeSecurityGroupEgress`. Per modificare o eliminare le regole esistenti, è necessario concedere agli utenti l'autorizzazione per utilizzare l'operazione API `ec2:RevokeSecurityGroup*` corrispondente.
+ `ec2:CreateTags`: per applicare tag alle risorse create da `RunInstances`. Per ulteriori informazioni, consulta [Concessione dell'autorizzazione all'applicazione di tag Amazon EC2 per le risorse durante la creazione](supported-iam-actions-tagging.md). Se gli utenti non dispongono dell'autorizzazione per utilizzare questa operazione e tentano di applicare tag nella pagina relativa al tagging della procedura guidata per l'avvio dell'istanza, l'avvio ha esito negativo.
**Importante**  
Se si specifica un **Name** (Nome) durante l'avvio di un'istanza viene creato un tag e viene richiesta l'operazione `ec2:CreateTags`. Prestare particolare attenzione quando si concede agli utenti l'autorizzazione per l'uso dell'operazione `ec2:CreateTags`, perché questo limita la possibilità di utilizzare la chiave di condizione `aws:ResourceTag` per limitare l'utilizzo di altre risorse. Se si concede agli utenti l'autorizzazione a utilizzare l'operazione `ec2:CreateTags`, è possibile modificare il tag di una risorsa per ignorare tali restrizioni. Per ulteriori informazioni, consulta [Controllare l'accesso mediante l'accesso basato sugli attributi](iam-policies-for-amazon-ec2.md#control-access-with-tags).
+ Per utilizzare parametri Systems Manager durante la selezione di un'AMI, è necessario aggiungere `ssm:DescribeParameters` e `ssm:GetParameters` alla policy. `ssm:DescribeParameters` concede agli utenti l'autorizzazione per visualizzare e selezionare i parametri Systems Manager. `ssm:GetParameters` concede agli utenti l'autorizzazione per ottenere i valori dei parametri Systems Manager. Puoi inoltre limitare l'accesso a parametri Systems Manager specifici. Per ulteriori informazioni, consulta **Limitare l'accesso a parametri Systems Manager specifici** in seguito in questa sezione.

Attualmente, le operazioni API `Describe*` di Amazon EC2 non supportano le autorizzazioni a livello di risorsa, pertanto non è possibile limitare le singole risorse che gli utenti possono visualizzare nella procedura guidata per l'avvio dell'istanza. Puoi tuttavia applicare autorizzazioni a livello di risorsa nell'operazione API `ec2:RunInstances` per limitare le risorse che gli utenti possono utilizzare per avviare un'istanza. L'avvio ha esito negativo se gli utenti selezionano opzioni che non sono autorizzati a usare. 

**Limitazione dell'accesso a un tipo di istanza, sottorete e regione specifici**

La seguente politica consente agli utenti di avviare `t2.micro` istanze utilizzando la AMIs proprietà di Amazon e solo in una sottorete specifica ()`subnet-1a2b3c4d`. Gli utenti possono eseguire l'avvio solo nella regione specificata. Se gli utenti selezionano una regione diversa oppure se selezionano un tipo di istanza, un'AMI o una sottorete diversa nella procedura guidata per l'avvio dell'istanza, l'avvio avrà esito negativo. 

La prima istruzione concede agli utenti l'autorizzazione per visualizzare le opzioni nella procedura guidata per l'avvio dell'istanza o di crearne di nuove, come illustrato nell'esempio precedente. La seconda istruzione concede agli utente l'autorizzazione per utilizzare l'interfaccia di rete, il volume, la coppia di chiavi, il gruppo di sicurezza e le risorse della sottorete per l'operazione `ec2:RunInstances`. Questi elementi sono obbligatori per l'avvio di un'istanza in un VPC. Per ulteriori informazioni sull'uso dell'operazione `ec2:RunInstances`, consulta [Avvia istanze () RunInstances](ExamplePolicies_EC2.md#iam-example-runinstances). La terza e la quarta istruzione concedono agli utenti l'autorizzazione per utilizzare rispettivamente le risorse dell'istanza e le risorse dell'AMI, ma solo se l'istanza è un'istanza `t2.micro` e solo se l'AMI è di proprietà di Amazon o di determinati partner sicuri e verificati.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [{
      "Effect": "Allow",
      "Action": [
         "ec2:DescribeInstances",
         "ec2:DescribeImages",
         "ec2:DescribeInstanceTypes",
         "ec2:DescribeKeyPairs", 
         "ec2:CreateKeyPair", 
         "ec2:DescribeVpcs", 
         "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", 
         "ec2:CreateSecurityGroup", 
         "ec2:AuthorizeSecurityGroupIngress"
	  ],
	  "Resource": "*"
   },
   {
      "Effect": "Allow",
      "Action":"ec2:RunInstances",
      "Resource": [
         "arn:aws:ec2:us-east-2:111122223333:network-interface/*",
         "arn:aws:ec2:us-east-2:111122223333:volume/*",
         "arn:aws:ec2:us-east-2:111122223333:key-pair/*",
         "arn:aws:ec2:us-east-2:111122223333:security-group/*",
         "arn:aws:ec2:us-east-2:111122223333:subnet/subnet-1a2b3c4d"
      ]
   },
   {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [
         "arn:aws:ec2:us-east-2:111122223333:instance/*"
      ],
      "Condition": {
         "StringEquals": {
            "ec2:InstanceType": "t2.micro"
         }
      }
   },
   {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [ 
            "arn:aws:ec2:us-east-2::image/ami-*"
      ],
      "Condition": {
         "StringEquals": {
            "ec2:Owner": "amazon"
         }
      }
   }
   ]
}
```

------

**Limitazione dell'accesso a parametri Systems Manager specifici**

La policy seguente concede l'accesso all'utilizzo di parametri Systems Manager con un nome specifico.

La prima istruzione concede agli utenti l'autorizzazione per visualizzare parametri Systems Manager quando si seleziona un'AMI nella procedura guidata per l'avvio dell'istanza. La seconda istruzione concede agli utenti l'autorizzazione a utilizzare solo i parametri denominati `prod-*`.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [{
      "Effect": "Allow",
      "Action": [
         "ssm:DescribeParameters"
      ],
      "Resource": "*"
   },
   {
      "Effect": "Allow",
      "Action": [
         "ssm:GetParameters"
      ],
     "Resource": "arn:aws:ssm:us-east-2:123456123456:parameter/prod-*"
   }
   ]
}
```

------

## Esempio: utilizzo dei gruppi di sicurezza
<a name="ex-security-groups"></a>

**Visualizzazione dei gruppi di sicurezza e aggiunta e rimozione delle regole**

La seguente policy concede agli utenti l'autorizzazione per visualizzare i gruppi di sicurezza nella console Amazon EC2 e 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 associati al tag `Department=Test`.

Nella prima istruzione, l'operazione `ec2:DescribeTags` consente agli utenti di visualizzare i tag nella console e ciò semplifica l'identificazione dei gruppi di sicurezza che gli utenti possono modificare.

------
#### [ 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-2:111122223333:security-group/*"
      ],
      "Condition": {
         "StringEquals": {
            "aws:ResourceTag/Department": "Test"
         }
      }
   },
   {
      "Effect": "Allow",
      "Action": [
         "ec2:ModifySecurityGroupRules"
      ],
      "Resource": [
         "arn:aws:ec2:us-east-2:111122223333:security-group-rule/*"
      ]
   }
]}
```

------

**Utilizzo della finestra di dialogo Create Security Group (Crea un gruppo di sicurezza)**

È possibile creare una policy che consenta agli utenti di utilizzare la finestra di dialogo **Create Security Group (Crea un gruppo di sicurezza)** nella console Amazon EC2. Per utilizzare questa finestra di dialogo, gli utenti devono disporre dell'autorizzazione per l'uso almeno delle seguenti operazioni API:
+ `ec2:CreateSecurityGroup`: per creare un nuovo gruppo di sicurezza. 
+ `ec2:DescribeVpcs`: Per visualizzare un elenco di quelli esistenti VPCs nell'elenco **VPC.**

Con queste autorizzazioni, gli utenti possono creare un nuovo gruppo di sicurezza, ma non possono aggiungervi regole. Per utilizzare regole nella finestra di dialogo **Create Security Group (Crea un gruppo di sicurezza)**, è possibile aggiungere le seguenti operazioni API alla policy:
+ `ec2:AuthorizeSecurityGroupIngress`: per aggiungere le regole in entrata.
+ `ec2:AuthorizeSecurityGroupEgress`: per aggiungere le regole in uscita al gruppo di sicurezza VPC.
+ `ec2:RevokeSecurityGroupIngress`: per modificare o eliminare le regole in uscita esistenti. Ciò risulta utile per consentire agli utenti di utilizzare la caratteristica **Copy to new (Copia su nuovo)** nella console. Questa caratteristica consente di aprire la finestra di dialogo **Create Security Group (Crea un gruppo di sicurezza)** e popolarlo con le stesse regole del gruppo di sicurezza selezionato. 
+ `ec2:RevokeSecurityGroupEgress`: per modificare o eliminare le regole in uscita per i gruppi di sicurezza VPC. Ciò risulta utile per consentire agli utenti di modificare o eliminare la regola in uscita di default che autorizza tutto il traffico in uscita.
+ `ec2:DeleteSecurityGroup`: da specificare quando non è possibile salvare regole non valide. La console crea innanzitutto il gruppo di sicurezza e quindi aggiunge le regole specificate. Se le regole non sono valide, l'operazione ha esito negativo e la console cerca di eliminare il gruppo di sicurezza. L'utente rimane nella finestra di dialogo **Create Security Group (Crea un gruppo di sicurezza)** in modo da consentirgli di correggere la regola non valida e provare a creare di nuovo il gruppo di sicurezza. Questa operazione API non è obbligatoria, ma se un utente non riceve l'autorizzazione per utilizzarla e tenta di creare un gruppo di sicurezza con regole non valide, il gruppo di sicurezza viene creato senza regole. L'utente dovrà quindi aggiungere le regole in un secondo momento.
+ `ec2:UpdateSecurityGroupRuleDescriptionsIngress`: per aggiungere o aggiornare le descrizioni delle regole dei gruppi di sicurezza in entrata (inbound).
+ `ec2:UpdateSecurityGroupRuleDescriptionsEgress`: per aggiungere o aggiornare le descrizioni delle regole del gruppo di sicurezza in uscita (outbound).
+ `ec2:ModifySecurityGroupRules`: per modificare modify-security-group-rules.
+ `ec2:DescribeSecurityGroupRules`: per elencare le regole dei gruppi di sicurezza.

La seguente policy concede agli utenti l'autorizzazione per utilizzare la finestra di dialogo **Create Security Group (Crea un gruppo di sicurezza)** e per creare le regole in entrata e in uscita per i gruppi di sicurezza associati a un VPC specifico (`vpc-1a2b3c4d`). Gli utenti possono creare i gruppi di sicurezza per EC2-Classic o un altro VPC, ma non possono aggiungervi regole. In modo analogo, gli utenti non possono aggiungere regole ai gruppi di sicurezza esistenti che non sono associati al VPC `vpc-1a2b3c4d`. Agli utenti viene inoltre concesso l'autorizzazione per visualizzare tutti i gruppi di sicurezza nella console. Ciò aiuta gli utenti a identificare i gruppi di sicurezza a cui possono aggiungere regole in entrata. Inoltre, questa policy concede agli utenti l'autorizzazione per eliminare i gruppi di sicurezza associati al VPC `vpc-1a2b3c4d`. 

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [{
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeSecurityGroups", 
        "ec2:CreateSecurityGroup", 
        "ec2:DescribeVpcs"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "ec2:DeleteSecurityGroup", 
        "ec2:AuthorizeSecurityGroupIngress", 
        "ec2:AuthorizeSecurityGroupEgress"
      ],
      "Resource": "arn:aws:ec2:us-east-2:111122223333:security-group/*",
      "Condition":{
         "ArnEquals": {
            "ec2:Vpc": "arn:aws:ec2:us-east-2:111122223333:vpc/vpc-1a2b3c4d"
         }
      }
    }
   ]
}
```

------

## Esempio: utilizzo degli indirizzi IP elastici
<a name="ex-eip"></a>

Per consentire agli utenti di visualizzare gli indirizzi IP elastici nella console Amazon EC2, è necessario concedergli l'autorizzazione per utilizzare l'operazione `ec2:DescribeAddresses`.

Per consentire agli utenti di utilizzare gli indirizzi IP elastici, puoi aggiungere le seguenti operazioni alla policy.
+ `ec2:AllocateAddress`: Per allocare un indirizzo IP elastico.
+ `ec2:ReleaseAddress`: per rilasciare un indirizzo IP elastico.
+ `ec2:AssociateAddress`: per associare un indirizzo IP elastico a un'istanza o un'interfaccia di rete.
+ `ec2:DescribeNetworkInterfaces` ed `ec2:DescribeInstances`: Per utilizzare la schermata **Associate address (Associa indirizzo)**. Nella schermata sono visualizzate le istanze disponibili o le interfacce di rete a cui puoi associare un indirizzo IP elastico.
+ `ec2:DisassociateAddress`: per annullare l'associazione di un indirizzo IP elastico a un'istanza o un'interfaccia di rete.

La seguente policy consente agli utenti di visualizzare, allocare e associare indirizzi IP elastici alle istanze. Gli utenti non possono associare gli indirizzi IP elastici alle interfacce di rete, annullare l'associazione degli indirizzi IP elastici o rilasciarli.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeAddresses",
                "ec2:AllocateAddress",
                "ec2:DescribeInstances",
                "ec2:AssociateAddress"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## Esempio: utilizzo delle Istanze riservate
<a name="ex-reservedinstances"></a>

La seguente policy consente agli utenti di visualizzare e modificare le istanze riservate nell'account, nonché acquistare nuove istanze riservate nella Console di gestione AWS.

Questa policy consente agli utenti di visualizzare tutte le Istanze riservate, così come Istanze on demand, nell'account. Non è possibile impostare le autorizzazioni a livello di risorsa per singole Istanze riservate.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [{
      "Effect": "Allow",
      "Action": [
         "ec2:DescribeReservedInstances", 
         "ec2:ModifyReservedInstances",
         "ec2:PurchaseReservedInstancesOffering", 
         "ec2:DescribeInstances",
         "ec2:DescribeInstanceTypes",
         "ec2:DescribeAvailabilityZones", 
         "ec2:DescribeReservedInstancesOfferings"
      ],
      "Resource": "*"
   }
   ]
}
```

------

L'operazione `ec2:DescribeAvailabilityZones` è necessaria affinché la console Amazon EC2 sia in grado di visualizzare le informazioni sulle zone di disponibilità in cui è possibile acquistare le Istanze riservate. L'operazione `ec2:DescribeInstances` non è obbligatoria, ma fa sì che l'utente possa visualizzare le istanze nell'account e possa acquistare prenotazioni conformi alle specifiche corrette.

Puoi modificare le operazioni API per limitare l'accesso utente, ad esempio la rimozione di `ec2:DescribeInstances` ed `ec2:DescribeAvailabilityZones` indica che l'utente dispone dell'accesso in sola lettura.

# AWS politiche gestite per Amazon EC2
<a name="security-iam-awsmanpol"></a>

Per aggiungere autorizzazioni a utenti, gruppi e ruoli, è più facile utilizzare le politiche AWS gestite piuttosto che scriverle autonomamente. La [creazione di policy gestite dai clienti IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) che forniscono al team solo le autorizzazioni di cui ha bisogno richiede tempo e competenza. Per iniziare rapidamente, puoi utilizzare le nostre politiche AWS gestite. Queste politiche coprono casi d'uso comuni e sono disponibili nel tuo AWS account. Per ulteriori informazioni sulle policy AWS gestite, consulta le [policy AWS gestite](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) nella *IAM User Guide*.

AWS i servizi mantengono e aggiornano le politiche AWS gestite. Non è possibile modificare le autorizzazioni nelle politiche AWS gestite. I servizi occasionalmente aggiungono altre autorizzazioni a una policy gestita da AWS per supportare nuove funzionalità. Questo tipo di aggiornamento interessa tutte le identità (utenti, gruppi e ruoli) a cui è collegata la policy. È più probabile che i servizi aggiornino una policy gestita da AWS quando viene avviata una nuova funzionalità o quando diventano disponibili nuove operazioni. I servizi non rimuovono le autorizzazioni da una policy AWS gestita, quindi gli aggiornamenti delle policy non comprometteranno le autorizzazioni esistenti.

Inoltre, AWS supporta politiche gestite per le funzioni lavorative che si estendono su più servizi. Ad esempio, la policy **ReadOnlyAccess** AWS gestita fornisce l'accesso in sola lettura a tutti i AWS servizi e le risorse. Quando un servizio lancia una nuova funzionalità, AWS aggiunge autorizzazioni di sola lettura per nuove operazioni e risorse. Per l’elenco e la descrizione delle policy di funzione dei processi, consultare la sezione [Policy gestite da AWS per funzioni di processi](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) nella *Guida per l’utente di IAM*.

## AWS politica gestita: AmazonEC2FullAccess
<a name="security-iam-awsmanpol-AmazonEC2FullAccess"></a>

Puoi collegare la policy `AmazonEC2FullAccess` alle identità IAM. Questa policy concede le autorizzazioni che consentono l'accesso completo ad Amazon EC2.

Per vedere le autorizzazioni per questa policy, consulta [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2FullAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2FullAccess.html) nella * Guida di riferimento sulle policy gestite da AWS *.

## AWS politica gestita: AmazonEC2ReadOnlyAccess
<a name="security-iam-awsmanpol-AmazonEC2ReadOnlyAccess"></a>

Puoi collegare la policy `AmazonEC2ReadOnlyAccess` alle identità IAM. Questa policy concede le autorizzazioni che consentono l'accesso in sola lettura ad Amazon EC2.

Per vedere le autorizzazioni per questa policy, consulta [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ReadOnlyAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ReadOnlyAccess.html) nella * Guida di riferimento sulle policy gestite da AWS *.

## AWS politica gestita: AmazonEC2ImageReferencesAccessPolicy
<a name="security-iam-awsmanpol-AmazonEC2ImageReferencesAccessPolicy"></a>

È possibile allegare la policy `AmazonEC2ImageReferencesAccessPolicy` alle identità IAM. Questa policy concede le autorizzazioni necessarie per utilizzare l'DescribeImageReferences API EC2, inclusa l'autorizzazione a visualizzare le istanze EC2, i modelli di avvio, i parametri di Systems Manager e le ricette di Image Builder. La politica supporta il `IncludeAllResourceTypes` flag e continuerà a funzionare quando AWS aggiungerà il supporto per nuovi tipi di risorse, eliminando la necessità di futuri aggiornamenti delle politiche.

Per vedere le autorizzazioni per questa policy, consulta [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ImageReferencesAccessPolicy.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ImageReferencesAccessPolicy.html) nella * Guida di riferimento sulle policy gestite da AWS *.

## AWS politica gestita: AWSEC2CapacityReservationFleetRolePolicy
<a name="security-iam-awsmanpol-AWSEC2CapacityReservationFleetRolePolicy"></a>

Questa policy è collegata al ruolo collegato ai servizi denominato **AWSServiceRoleForEC2CapacityReservationFleet** per consentire al servizio di creare, modificare e annullare le prenotazioni della capacità in un parco di prenotazioni della capacità per conto dell’utente. Per ulteriori informazioni, consulta [Utilizzo di ruoli collegati ai servizi per il parco istanze di prenotazione della capacitàUtilizzo di ruoli collegati ai servizi per EC2 Capacity Manager](using-service-linked-roles.md).

Per vedere le autorizzazioni per questa policy, consulta [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSEC2CapacityReservationFleetRolePolicy.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSEC2CapacityReservationFleetRolePolicy.html) nella * Guida di riferimento sulle policy gestite da AWS *.

## AWS politica gestita: AWSEC2FleetServiceRolePolicy
<a name="security-iam-awsmanpol-AWSEC2FleetServiceRolePolicy"></a>

Questa policy è collegato al ruolo collegato ai servizi denominato **AWSServiceRoleForEC2Fleet** per consentire al parco istanze EC2 di richiedere, avviare, terminare e taggare le istanze per il proprio conto. Per ulteriori informazioni, consulta [Ruolo collegato al servizio per parco istanze EC2](ec2-fleet-prerequisites.md#ec2-fleet-service-linked-role).

Per vedere le autorizzazioni per questa policy, consulta [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSEC2FleetServiceRolePolicy.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSEC2FleetServiceRolePolicy.html) nella * Guida di riferimento sulle policy gestite da AWS *.

## AWS politica gestita: AWSEC2SpotFleetServiceRolePolicy
<a name="security-iam-awsmanpol-AWSEC2SpotFleetServiceRolePolicy"></a>

Questa policy è collegata al ruolo collegato ai servizi denominato **AWSServiceRoleForEC2SpotFleet** per consentire al parco istanze spot di avviare e gestire le istanze per il proprio conto. Per ulteriori informazioni, consulta [Ruolo collegato al servizio per il parco istanze spot](spot-fleet-prerequisites.md#service-linked-roles-spot-fleet-requests).

Per vedere le autorizzazioni per questa policy, consulta [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSEC2SpotFleetServiceRolePolicy.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSEC2SpotFleetServiceRolePolicy.html) nella * Guida di riferimento sulle policy gestite da AWS *.

## AWS politica gestita: AWSEC2SpotServiceRolePolicy
<a name="security-iam-awsmanpol-AWSEC2SpotServiceRolePolicy"></a>

Questa policy è collegata al ruolo collegato ai servizi denominato **AWSServiceRoleForEC2Spot** per consentire ad Amazon EC2 di avviare e gestire le istanze spot per il proprio conto. Per ulteriori informazioni, consulta [Ruolo collegato ai servizi per le richieste di istanza spot](service-linked-roles-spot-instance-requests.md).

Per vedere le autorizzazioni per questa policy, consulta [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSEC2SpotServiceRolePolicy.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSEC2SpotServiceRolePolicy.html) nella * Guida di riferimento sulle policy gestite da AWS *.

## AWS politica gestita: AWSEC2VssSnapshotPolicy
<a name="security-iam-awsmanpol-AWSEC2VssSnapshotPolicy"></a>

Puoi collegare questa policy gestita al ruolo del profilo dell'istanza IAM che usi per le tue istanze Amazon EC2 Windows. La policy garantisce le autorizzazioni per consentire ad Amazon EC2 di creare e gestire snapshot VSS per tuo conto.

Per vedere le autorizzazioni per questa policy, consulta [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSEC2VssSnapshotPolicy.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSEC2VssSnapshotPolicy.html) nella * Guida di riferimento sulle policy gestite da AWS *.

## AWS politica gestita: DeclarativePoliciesEC2Report
<a name="security-iam-awsmanpol-DeclarativePoliciesEC2Report"></a>

Questa politica è allegata al ruolo collegato al servizio denominato `AWSServiceRoleForDeclarativePoliciesEC2Report` per fornire l'accesso alla modalità di sola lettura APIs necessaria per generare il rapporto sullo stato dell'account per le politiche dichiarative.

Per vedere le autorizzazioni per questa policy, consulta [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/DeclarativePoliciesEC2Report.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/DeclarativePoliciesEC2Report.html) nella * Guida di riferimento sulle policy gestite da AWS *.

## AWS politica gestita: EC2FastLaunchFullAccess
<a name="security-iam-awsmanpol-EC2FastLaunchFullAccess"></a>

Puoi collegare al tuo profilo dell'istanza o a un altro ruolo IAM la policy `EC2FastLaunchFullAccess`. Questa policy garantisce l'accesso completo alle azioni di avvio rapido EC2 e alle autorizzazioni mirate come segue.

**Dettagli delle autorizzazioni**
+ **Avvio rapido EC2**: viene concesso l'accesso amministrativo, in modo che il ruolo possa abilitare o disabilitare l'avvio rapido EC2 e descrivere le immagini dell'avvio rapido EC2..
+ **Amazon EC2**: l'accesso è concesso per le operazioni di Amazon RunInstances EC2CreateTags, Descrivi e Create and Modify Launch Template. È inoltre consentito l’accesso per creare risorse di rete e gruppi di sicurezza, autorizzare regole di ingresso ed eliminare risorse create da EC2 Fast Launch.
+ **IAM**: viene concesso l'accesso per ottenere e utilizzare i profili dell'istanza il cui nome contiene `ec2fastlaunch` per la creazione del ruolo collegato al servizio EC2FastLaunchServiceRolePolicy.
+ **CloudFormation**— A EC2 Fast Launch viene concesso l'accesso per descrivere e creare CloudFormation stack e per eliminare gli stack da esso creati.

Per vedere le autorizzazioni per questa policy, consulta [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/EC2FastLaunchFullAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/EC2FastLaunchFullAccess.html) nella * Guida di riferimento sulle policy gestite da AWS *.

## AWS politica gestita: AWSEC2CapacityManagerServiceRolePolicy
<a name="security-iam-awsmanpol-AWSEC2CapacityManagerServiceRolePolicy"></a>

Questa policy è associata al ruolo collegato ai servizi denominato per consentire **AWSServiceRoleForEC2CapacityManager**a EC2 Capacity Manager di gestire le risorse di capacità e integrarsi con AWS Organizations per tuo conto. Per ulteriori informazioni, consulta [Service-linked roles for EC2 Capacity Manager](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-service-linked-roles-cm.html).

Per vedere le autorizzazioni per questa policy, consulta [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSEC2CapacityManagerServiceRolePolicy.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSEC2CapacityManagerServiceRolePolicy.html) nella * Guida di riferimento sulle policy gestite da AWS *.

## AWS politica gestita: EC2FastLaunchServiceRolePolicy
<a name="security-iam-awsmanpol-EC2FastLaunchServiceRolePolicy"></a>

La policy è collegata al ruolo collegato ai servizi denominato **AWSServiceRoleForEC2FastLaunch** per consentire Amazon EC2 per creare e gestire una serie di snapshot pre-provisioning che riducono il tempo necessario all'avvio delle istanze dall'AMI abilitato all'avvio rapido EC2. Per ulteriori informazioni, consulta [Ruolo collegato ai servizi per EC2 Fast Launch.](slr-windows-fast-launch.md).

Per vedere le autorizzazioni per questa policy, consulta [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/EC2FastLaunchServiceRolePolicy.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/EC2FastLaunchServiceRolePolicy.html) nella * Guida di riferimento sulle policy gestite da AWS *.

## AWS politica gestita: Ec2InstanceConnect
<a name="Ec2InstanceConnect"></a>

È possibile allegare la policy `Ec2InstanceConnect` alle identità IAM. Questa policy concede autorizzazioni che permettono ai clienti di chiamare EC2 Instance Connect per pubblicare chiavi temporanee sulle proprie istanze EC2 e connettersi tramite ssh o tramite l’EC2 Instance Connect CLI.

Per vedere le autorizzazioni per questa policy, consulta [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/EC2InstanceConnect.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/EC2InstanceConnect.html) nella * Guida di riferimento sulle policy gestite da AWS *.

## AWS politica gestita: Ec2InstanceConnectEndpoint
<a name="Ec2InstanceConnectEndpoint"></a>

Questa policy è associata a un ruolo collegato al servizio denominato **AWSServiceRoleForEC2InstanceConnect**per consentire a EC2 Instance Connect Endpoint di eseguire azioni per tuo conto. Per ulteriori informazioni, consulta [Ruolo collegato ai servizi per l’endpoint EC2 Instance Connect](eice-slr.md).

Per vedere le autorizzazioni per questa policy, consulta [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/Ec2InstanceConnectEndpoint.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/Ec2InstanceConnectEndpoint.html) nella * Guida di riferimento sulle policy gestite da AWS *. Per una descrizione degli aggiornamenti a questa policy, consulta [Amazon EC2 si aggiorna alle AWS politiche gestite](#security-iam-awsmanpol-updates).

## Amazon EC2 si aggiorna alle AWS politiche gestite
<a name="security-iam-awsmanpol-updates"></a>

Visualizza i dettagli sugli aggiornamenti delle politiche AWS gestite per Amazon EC2 da quando questo servizio ha iniziato a tracciare queste modifiche.


| Modifica | Descrizione | Data | 
| --- | --- | --- | 
|  [AWSEC2CapacityManagerServiceRolePolicy](#security-iam-awsmanpol-AWSEC2CapacityManagerServiceRolePolicy): nuova policy  | Amazon EC2 ha aggiunto questa policy per consentirti di gestire le risorse di capacità e di integrarti con AWS Organizations per tuo conto. | 15 ottobre 2025 | 
|  [AmazonEC2ImageReferencesAccessPolicy](#security-iam-awsmanpol-AmazonEC2ImageReferencesAccessPolicy): nuova policy  | Amazon EC2 ha aggiunto questa policy per fornire l'autorizzazione a scansionare tutti i tipi di risorse supportati dall'API DescribeImageReferences EC2. | 26 agosto 2025 | 
| [Ec2InstanceConnectEndpoint](#Ec2InstanceConnectEndpoint)— Politica aggiornata | Per supportare la modifica degli endpoint Instance Connect esistenti, Amazon EC2 ha aggiornato questa policy aggiungendo autorizzazioni per assegnare e annullare l’assegnazione di indirizzi IPv6 e modificare i gruppi di sicurezza sulle interfacce di rete create dall’endpoint EC2 Instance Connect. Amazon EC2 ha aggiornato questa policy anche per sostituire l’operatore di condizione Null con l’operatore di condizione StringLike. | 31 luglio 2025 | 
| [EC2FastLaunchServiceRolePolicy](#security-iam-awsmanpol-EC2FastLaunchServiceRolePolicy)— Politica aggiornata | Per aiutare a prevenire le risorse orfane, Amazon EC2 ha aggiornato questa policy aggiungendo l’autorizzazione a descrivere volumi, attributi dei volumi e interfacce di rete, nonché a eliminare volumi e interfacce di rete creati da EC2 Fast Launch. | 17 luglio 2025 | 
| [EC2FastLaunchFullAccess](#security-iam-awsmanpol-EC2FastLaunchFullAccess)— Politica aggiornata | Amazon EC2 ha aggiornato questa policy per includere le operazioni Create and Modify Launch Template, per creare risorse di rete e gruppi di sicurezza, per autorizzare le regole di ingresso ed eliminare le risorse create da EC2 Fast Launch. Può inoltre descrivere e creare CloudFormation stack ed eliminare gli stack creati da EC2 Fast Launch. | 14 maggio 2025 | 
| [EC2FastLaunchServiceRolePolicy](#security-iam-awsmanpol-EC2FastLaunchServiceRolePolicy)— Politica aggiornata | Amazon EC2 ha aggiornato questa policy per aggiungere Amazon EventBridge Access per creare e gestire le regole degli eventi per EC2 Fast Launch. Inoltre, EC2 Fast Launch ora può descrivere CloudFormation gli stack, avviare un'istanza da un'AMI associata AWS License Manager, ottenere un elenco di AWS KMS sovvenzioni create che possono essere ritirate ed eliminare i modelli di avvio che ha creato. | 14 maggio 2025 | 
| [AWSEC2CapacityReservationFleetRolePolicy](#security-iam-awsmanpol-AWSEC2CapacityReservationFleetRolePolicy)— Autorizzazioni aggiornate | Amazon EC2 ha aggiornato la policy gestita AWSEC2CapacityReservationFleetRolePolicy per utilizzare l’operatore di condizione ArnLike anziché l’operatore di condizione StringLike. | 03 marzo 2025 | 
| [AmazonEC2ReadOnlyAccess](#security-iam-awsmanpol-AmazonEC2ReadOnlyAccess): autorizzazioni aggiunte | Amazon EC2 ha aggiunto un’autorizzazione che consente di recuperare i gruppi di sicurezza utilizzando l’operazione GetSecurityGroupsForVpc. | 27 dicembre 2024 | 
| [EC2FastLaunchFullAccess](#security-iam-awsmanpol-EC2FastLaunchFullAccess): nuova policy | Amazon EC2 ha aggiunto questa policy per eseguire azioni API relative alla funzionalità di avvio rapido EC2 da un'istanza. La policy può essere allegata al profilo dell'istanza per un'istanza lanciata da un'AMI abilitata per l'avvio rapido EC2. | 14 maggio 2024 | 
| [AWSEC2VssSnapshotPolicy](#security-iam-awsmanpol-AWSEC2VssSnapshotPolicy): nuova policy | Amazon EC2 ha aggiunto la AWSEC2VssSnapshotPolicy policy che contiene le autorizzazioni per creare e aggiungere tag agli snapshot di Amazon Machine Images (AMIs) e EBS. | 28 marzo 2024 | 
| [Ec2InstanceConnectEndpoint](#Ec2InstanceConnectEndpoint): nuova policy | Amazon EC2 ha aggiunto la policy Ec2InstanceConnectEndpoint. Questa policy è associata al ruolo AWSServiceRoleForEC2InstanceConnectcollegato al servizio, per consentire ad Amazon EC2 di eseguire azioni per tuo conto quando crei un endpoint EC2 Instance Connect. | 24 gennaio 2023 | 
| [EC2FastLaunchServiceRolePolicy](#security-iam-awsmanpol-EC2FastLaunchServiceRolePolicy): nuova policy | Amazon EC2 ha aggiunto la funzionalità EC2 Fast Launch per consentire AMIs a Windows di avviare le istanze più velocemente creando una serie di snapshot preimpostate. | 26 novembre 2021 | 
| Amazon EC2 ha iniziato a monitorare le modifiche | Amazon EC2 ha iniziato a tracciare le modifiche alle sue AWS politiche gestite | 1° marzo 2021 | 

# Ruoli IAM per Amazon EC2
<a name="iam-roles-for-amazon-ec2"></a>

Le applicazioni devono firmare le proprie richieste API con AWS credenziali. Pertanto, se sei uno sviluppatore di applicazioni, avrai bisogno di una strategia per gestire le credenziali per le applicazioni eseguite su istanze EC2. Ad esempio, puoi distribuire in modo sicuro le credenziali AWS alle istanze, consentendo alle applicazioni eseguite su tali istanze di utilizzare le credenziali per firmare le richieste, e contemporaneamente proteggere le credenziali da altri utenti. Tuttavia, è difficile distribuire in modo sicuro le credenziali a ciascuna istanza, specialmente a quelle AWS create per tuo conto, come le istanze Spot o le istanze nei gruppi di Auto Scaling. Inoltre, devi essere in grado di aggiornare le credenziali su ogni istanza quando ruoti le credenziali. AWS 

Abbiamo sviluppato i ruoli IAM in modo da consentire alle applicazioni di eseguire in modo sicuro le richieste API dalle istanze senza la necessità di gestire le credenziali di sicurezza utilizzate dalle applicazioni stesse. Invece di creare e distribuire AWS le tue credenziali, puoi delegare l'autorizzazione a effettuare richieste API utilizzando i ruoli IAM nel modo seguente:

1. Crea un ruolo IAM.

1. Definisci quali account o AWS servizi possono assumere il ruolo.

1. Definire le operazioni e le risorse API che l'applicazione può utilizzare dopo l'assunzione del ruolo.

1. Specificare il ruolo quando avvii l'istanza o quando associ il ruolo a un'istanza esistente.

1. Impostare l'applicazione in modo che recuperi un set di credenziali temporanee e le utilizzi.

Ad esempio, puoi utilizzare i ruoli IAM per concedere le autorizzazioni alle applicazioni eseguite su istanze che devono utilizzare un bucket in Amazon S3. Puoi specificare le autorizzazioni per i ruoli IAM mediante la creazione di una policy in formato JSON. Si tratta di policy simili a quelle create per gli utenti . Se modifichi un ruolo, la modifica verrà propagata a tutte le istanze.

**Nota**  
Le credenziali del ruolo IAM di Amazon EC2 non sono soggette alla durata massima delle sessioni configurata nel ruolo. Per ulteriori informazioni, consulta [Metodi per assumere un ruolo](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) nella *Guida per l’utente di IAM*.

Durante la creazione di ruoli IAM, associa policy IAM con privilegi minimi che limitano l'accesso alle chiamate API specifiche richieste dall'applicazione. Per la Windows-to-Windows comunicazione, utilizza gruppi e ruoli di Windows ben definiti e ben documentati per concedere l'accesso a livello di applicazione tra le istanze di Windows. Gruppi e ruoli consentono ai clienti di definire le autorizzazioni a livello di cartella NTFS con privilegi minimi per l'applicazione e le autorizzazioni a livello di cartella NTFS per limitare l'accesso ai requisiti specifici dell'applicazione.

È possibile associare un solo ruolo IAM a un'istanza, ma è possibile associare lo stesso ruolo a molte istanze. Per ulteriori informazioni sulla creazione e sull'utilizzo dei ruoli IAM, consulta la sezione relativa ai [ruoli](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) nella *Guida per l'utente di IAM*.

Puoi applicare le autorizzazioni a livello di risorsa alle policy IAM per controllare la capacità degli utenti di collegare, sostituire o scollegare i ruoli IAM per un'istanza. Per ulteriori informazioni, consulta [Autorizzazioni a livello di risorsa supportate per le operazioni API Amazon EC2](iam-policies-for-amazon-ec2.md#ec2-supported-iam-actions-resources) e l'esempio seguente: [Esempio: utilizzo dei ruoli IAM](ExamplePolicies_EC2.md#iam-example-iam-roles).

**Topics**
+ [Profili delle istanze](#ec2-instance-profile)
+ [Caso d'uso delle autorizzazioni](#generate-policy-for-iam-role)
+ [Recuperare le credenziali di sicurezza](instance-metadata-security-credentials.md)
+ [Autorizzazione a collegare un ruolo a un'istanza](permission-to-pass-iam-roles.md)
+ [Collega un ruolo a un'istanza](attach-iam-role.md)
+ [Ruoli di identità dell'istanza](#ec2-instance-identity-roles)

## Profili delle istanze
<a name="ec2-instance-profile"></a>

Amazon EC2 utilizza un *profilo dell'istanza* come container per un ruolo IAM. Quando crei un ruolo IAM utilizzando la console IAM, la console crea automaticamente un profilo dell'istanza e le assegna lo stesso nome del ruolo a cui corrisponde. Se utilizzi la console Amazon EC2 per avviare un'istanza con un ruolo IAM o per collegare un ruolo IAM a un'istanza, scegli il ruolo in base all'elenco di nomi di profilo delle istanze. 

Se utilizzi l' AWS CLI API o un AWS SDK per creare un ruolo, crei il ruolo e il profilo dell'istanza come azioni separate, con nomi potenzialmente diversi. Se poi utilizzi l' AWS CLI API o un AWS SDK per avviare un'istanza con un ruolo IAM o per associare un ruolo IAM a un'istanza, specifica il nome del profilo dell'istanza. 

Un profilo dell'istanza può contenere solo un ruolo IAM. Puoi includere un ruolo IAM in più profili dell’istanza.

Per aggiornare le autorizzazioni di un’istanza, sostituisci il suo profilo dell’istanza. Sconsigliamo di rimuovere un ruolo da un profilo dell’istanza, poiché è necessario attendere fino a un’ora prima che la modifica abbia effetto.

Per ulteriori informazioni, consulta [Use instance profiles](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) nella *Guida per l’utente IAM*.

## Caso d'uso delle autorizzazioni
<a name="generate-policy-for-iam-role"></a>

Quando si crea per la prima volta un ruolo IAM per le applicazioni, a volte è possibile concedere altre autorizzazioni oltre a quanto richiesto. Prima di avviare l'applicazione nell'ambiente di produzione, è possibile generare una policy IAM basata sull'attività di accesso per un ruolo IAM. IAM Access Analyzer esamina AWS CloudTrail i log e genera un modello di policy che contiene le autorizzazioni utilizzate dal ruolo nell'intervallo di date 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 al ruolo per interagire con le AWS risorse per il tuo caso d'uso specifico. In questo modo è possibile rispettare la best practice per [concedere il minimo privilegio](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege). Per ulteriori informazioni, consulta [Generazione delle policy per IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-generation.html) nella *Guida per l'utente IAM*.

# Recupero delle credenziali di sicurezza dai metadati delle istanze
<a name="instance-metadata-security-credentials"></a>

Un'applicazione in un'istanza recupera le credenziali di sicurezza fornite dal ruolo dalla voce `iam/security-credentials/`*role-name* nei metadati dell'istanza. All'applicazione vengono concesse le autorizzazioni per le operazioni e le risorse definite per il ruolo tramite le credenziali di sicurezza associate al ruolo. Queste credenziali di sicurezza sono temporanee e sono caratterizzate da un piano di rotazione automatica. Ciò significa che rendiamo disponibili nuove credenziali almeno cinque minuti prima della scadenza delle vecchie credenziali.

Per ulteriori informazioni sui metadati delle istanze, consulta [Utilizzo dei metadati dell'istanza per gestire l'istanza EC2](ec2-instance-metadata.md).

**avvertimento**  
Se utilizzi servizi che usano metadati delle istanze con i ruoli IAM, assicurati di non esporre le credenziali quando i servizi effettuano chiamate HTTP per tuo conto. I tipi di servizi che potrebbero esporre le credenziali includono proxy HTTP, servizi di HTML/CSS convalida e processori XML che supportano l'inclusione XML.

Per i tuoi carichi di lavoro Amazon EC2, ti consigliamo di recuperare le credenziali di sessione utilizzando il metodo descritto di seguito. Queste credenziali dovrebbero consentire al carico di lavoro di effettuare richieste di API AWS , senza dover utilizzare `sts:AssumeRole` per assumere lo stesso ruolo già associato all'istanza. A meno che non sia necessario passare i tag di sessione per il controllo degli accessi basato sugli attributi (ABAC) o passare una policy di sessione per limitare ulteriormente le autorizzazioni del ruolo, tali chiamate di assunzione del ruolo non sono necessarie in quanto creano un nuovo set delle stesse credenziali di sessione del ruolo temporaneo.

Se il carico di lavoro utilizza un ruolo per assumere se stesso, devi creare una policy di attendibilità che consenta esplicitamente a tale ruolo di assumere se stesso. Se non crei la policy di attendibilità, ricevi un errore `AccessDenied`. Per ulteriori informazioni, consulta [Update a role trust policy](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-role-trust-policy.html) nella *Guida per l’utente IAM*.

------
#### [ IMDSv2 ]

**Linux**  
Esegui il seguente comando dalla tua istanza Linux per recuperare le credenziali di sicurezza per un ruolo IAM.

```
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
    && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/iam/security-credentials/role-name
```

**Windows**  
Esegui il seguente cmdlet dalla tua istanza Windows per recuperare le credenziali di sicurezza per un ruolo IAM.

```
[string]$token = Invoke-RestMethod `
    -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} `
    -Method PUT -Uri http://169.254.169.254/latest/api/token
```

```
Invoke-RestMethod `
    -Headers @{"X-aws-ec2-metadata-token" = $token} `
    -Method GET -Uri http://169.254.169.254/latest/meta-data/iam/security-credentials/role-name
```

------
#### [ IMDSv1 ]

**Linux**  
Esegui il seguente comando dalla tua istanza Linux per recuperare le credenziali di sicurezza per un ruolo IAM.

```
curl http://169.254.169.254/latest/meta-data/iam/security-credentials/role-name
```

**Windows**  
Esegui il seguente cmdlet dalla tua istanza Windows per recuperare le credenziali di sicurezza per un ruolo IAM.

```
Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/iam/security-credentials/role-name
```

------

Di seguito è riportato un output di esempio. Se non riesci a recuperare le credenziali di sicurezza, consulta [Non riesco ad accedere alle credenziali di sicurezza temporanee sulla mia istanza EC2](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_iam-ec2.html#troubleshoot_iam-ec2_no-keys) nella *Guida per l'utente IAM*.

```
{
  "Code" : "Success",
  "LastUpdated" : "2012-04-26T16:39:16Z",
  "Type" : "AWS-HMAC",
  "AccessKeyId" : "ASIAIOSFODNN7EXAMPLE",
  "SecretAccessKey" : "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
  "Token" : "token",
  "Expiration" : "2017-05-17T15:09:54Z"
}
```

Per le applicazioni e PowerShell i comandi Tools for Windows eseguiti sull'istanza, non è necessario ottenere esplicitamente le credenziali di sicurezza temporanee: Tools for Windows ottengono PowerShell automaticamente le credenziali dal AWS SDKs servizio AWS CLI di metadati dell'istanza EC2 e le utilizzano. AWS CLI Per eseguire una chiamata esternamente all'istanza utilizzando le credenziali di sicurezza temporanee, ad esempio per testare le policy IAM, è necessario fornire la chiave di accesso, la chiave segreta e il token di sessione. *Per ulteriori informazioni, consulta [Utilizzo delle credenziali di sicurezza temporanee per richiedere l'accesso alle risorse nella Guida per l'utente IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html). AWS *

# Concessione dell'autorizzazione a collegare un ruolo IAM a un'istanza
<a name="permission-to-pass-iam-roles"></a>

Le tue identità Account AWS, come gli utenti IAM, devono disporre di autorizzazioni specifiche per avviare un'istanza Amazon EC2 con un ruolo IAM, associare un ruolo IAM a un'istanza, sostituire il ruolo IAM con un'istanza o scollegare un ruolo IAM da un'istanza. Se necessario, devi concedergli l'autorizzazione per utilizzare le seguenti operazioni API:
+ `iam:PassRole`
+ `ec2:AssociateIamInstanceProfile`
+ `ec2:DisassociateIamInstanceProfile`
+ `ec2:ReplaceIamInstanceProfileAssociation`

**Nota**  
Se specifichi la risorsa per `iam:PassRole` come `*`, ciò garantisce l'accesso per passare uno qualsiasi dei tuoi ruoli IAM a un'istanza. Per seguire la best practice del [privilegio minimo](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege), specifica i ruoli IAM specifici con`iam:PassRole`, come mostrato nella politica ARNs di esempio riportata di seguito.

**Esempio di policy per l'accesso programmatico**  
La seguente policy IAM concede le autorizzazioni per avviare istanze con un ruolo IAM, associare un ruolo IAM a un'istanza o sostituire il ruolo IAM con un'istanza utilizzando l'API Amazon EC2 AWS CLI o l'API di Amazon EC2.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
         "ec2:RunInstances",
         "ec2:AssociateIamInstanceProfile",
         "ec2:DisassociateIamInstanceProfile",
         "ec2:ReplaceIamInstanceProfileAssociation"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "iam:PassRole",
      "Resource": "arn:aws:iam::123456789012:role/DevTeam*"
    }
  ]
}
```

------

**Requisito aggiuntivo per l'accesso alla console**  
Per concedere le autorizzazioni per eseguire le stesse operazioni mediante la console Amazon EC2, è necessario includere anche l'operazione API `iam:ListInstanceProfiles`.

# Collegamento di un ruolo IAM all'istanza
<a name="attach-iam-role"></a>

Puoi creare un ruolo IAM e collegarlo a un'istanza durante o dopo l'avvio. Puoi inoltre sostituire o scollegare i ruoli IAM.

**Creazione e associazione di un ruolo IAM durante il lancio dell'istanza (consigliato)**

1. Durante il lancio dell'istanza EC2, espandi i dettagli di **Advanced**.

1. Nella sezione **Profilo dell'istanza IAM**, scegli **Crea nuovo ruolo IAM**.

1. Si apre un modulo in linea per la creazione di ruoli, che ti consente di:
   + Specificare **il nome del ruolo** (ad esempio,`EC2-S3-Access-Role`)
   + Definisci le autorizzazioni selezionando politiche AWS gestite o creando politiche personalizzate per la tua istanza

     Ad esempio, per concedere l'accesso a S3, seleziona la policy gestita `AmazonS3ReadOnlyAccess`
   + Rivedi la politica di fiducia che consente di `ec2.amazonaws.com` assumere il ruolo
   + Aggiungi tag opzionali per i metadati

1. Scegli **Crea ruolo**.

   Il ruolo appena creato viene selezionato automaticamente e verrà associato all'istanza tramite un profilo di istanza all'avvio dell'istanza.

**Nota**  
Quando crei un ruolo utilizzando la console durante il lancio dell'istanza, viene creato automaticamente un profilo di istanza con lo stesso nome del ruolo. Il profilo dell'istanza è un contenitore che trasmette le informazioni sul ruolo IAM all'istanza al momento del lancio.

**Importante**  
È possibile associare un solo ruolo IAM a un'istanza, ma è possibile associare lo stesso ruolo a molte istanze.
Associa le politiche IAM con privilegi minimi che limitano l'accesso alle chiamate API specifiche richieste dall'applicazione.

Per ulteriori informazioni sulla creazione e sull'utilizzo dei ruoli IAM, consulta la sezione relativa ai [ruoli](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) nella *Guida per l'utente di IAM*.

**Associare un ruolo IAM esistente durante il lancio dell'istanza**  
Per associare un ruolo IAM esistente a un'istanza al momento del lancio utilizzando la console Amazon EC2, espandi **Advanced** details. Per il **profilo dell'istanza IAM**, seleziona il ruolo IAM dall'elenco a discesa.

**Nota**  
Se hai creato il ruolo IAM utilizzando la console IAM, il profilo dell'istanza creato automaticamente avrà lo stesso nome del ruolo. Se hai creato il tuo ruolo IAM utilizzando l' AWS CLI API o un AWS SDK, potresti aver assegnato al profilo dell'istanza un nome diverso dal ruolo.

Puoi collegare un ruolo IAM a un'istanza in esecuzione o interrotta. Se all'istanza è già associato un ruolo IAM, devi sostituirlo con il nuovo ruolo IAM.

------
#### [ Console ]<a name="attach-iam-role-console"></a>

**Per collegare un ruolo IAM a un'istanza**

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

1. Nel riquadro di navigazione, seleziona **Instances (Istanze)**.

1. Selezionare l'istanza.

1. Nel menu **Actions** (Operazioni), scegliere **Security ** (Sicurezza), **Modify IAM role** (Modifica ruolo IAM).

1. Per il **ruolo IAM**, seleziona il profilo dell'istanza IAM.

1. Scegli **Aggiorna ruolo IAM**.

------
#### [ AWS CLI ]
<a name="attach-iam-role-instance-cli"></a>
**Per collegare un ruolo IAM a un'istanza**  
Usa il [associate-iam-instance-profile](https://docs.aws.amazon.com/cli/latest/reference/ec2/associate-iam-instance-profile.html)comando per associare il ruolo IAM all'istanza. Quando specifici il profilo dell'istanza, puoi utilizzare il nome della risorsa Amazon (ARN) del profilo dell'istanza oppure il relativo nome.

```
aws ec2 associate-iam-instance-profile \
    --instance-id i-1234567890abcdef0 \
    --iam-instance-profile Name="TestRole-1"
```

------
#### [ PowerShell ]

**Per collegare un ruolo IAM a un'istanza**  
Utilizza il cmdlet [Register-EC2IamInstanceProfile](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2IamInstanceProfile.html).

```
Register-EC2IamInstanceProfile `
    -InstanceId i-1234567890abcdef0 `
    -IamInstanceProfile_Name TestRole-1
```

------

Per sostituire il ruolo IAM su un’istanza che ha già un ruolo IAM collegato, l’istanza deve essere in esecuzione. È possibile eseguire questa operazione se si desidera modificare il ruolo IAM per un'istanza senza scollegare prima quella esistente. Ad esempio, è possibile eseguire questa operazione per verificare che le operazioni API eseguite dalle applicazioni in esecuzione sull'istanza non siano interrotte.

------
#### [ Console ]<a name="replace-iam-role-console"></a>

**Per sostituire un ruolo IAM per un'istanza**

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

1. Nel riquadro di navigazione, seleziona **Instances (Istanze)**.

1. Selezionare l'istanza.

1. Nel menu **Actions** (Operazioni), scegliere **Security ** (Sicurezza), **Modify IAM role** (Modifica ruolo IAM).

1. Per il **ruolo IAM**, seleziona il profilo dell'istanza IAM.

1. Scegli **Aggiorna ruolo IAM**.

------
#### [ AWS CLI ]<a name="replace-iam-role-cli"></a>

**Per sostituire un ruolo IAM per un'istanza**

1. Se necessario, utilizzate il comando [describe-iam-instance-profile-associations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-iam-instance-profile-associations.html) per ottenere l'ID dell'associazione.

   ```
   aws ec2 describe-iam-instance-profile-associations \
       --filters Name=instance-id,Values=i-1234567890abcdef0 \
       --query IamInstanceProfileAssociations.AssociationId
   ```

1. Utilizzate il comando [replace-iam-instance-profile-association](https://docs.aws.amazon.com/cli/latest/reference/ec2/replace-iam-instance-profile-association.html). Specifica l’ID associazione per il profilo dell’istanza esistente e l’ARN o il nome del nuovo profilo dell’istanza.

   ```
   aws ec2 replace-iam-instance-profile-association \
       --association-id iip-assoc-0044d817db6c0a4ba \
       --iam-instance-profile Name="TestRole-2"
   ```

------
#### [ PowerShell ]

**Per sostituire un ruolo IAM per un'istanza**

1. Se necessario, utilizzare il [Get-EC2IamInstanceProfileAssociation](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2IamInstanceProfileAssociation.html)cmdlet per ottenere l'ID dell'associazione.

   ```
   (Get-EC2IamInstanceProfileAssociation -Filter @{Name="instance-id"; Values="i-0636508011d8e966a"}).AssociationId
   ```

1. Utilizza il cmdlet [Set-EC2IamInstanceProfileAssociation](https://docs.aws.amazon.com/powershell/latest/reference/items/Set-EC2IamInstanceProfileAssociation.html). Specifica l’ID associazione per il profilo dell’istanza esistente e l’ARN o il nome del nuovo profilo dell’istanza.

   ```
   Set-EC2IamInstanceProfileAssociation `
       -AssociationId iip-assoc-0044d817db6c0a4ba `
       -IamInstanceProfile_Name TestRole-2
   ```

------

Puoi scollegare un ruolo IAM da un’istanza in esecuzione o arrestata.

------
#### [ Console ]<a name="detach-iam-role-console"></a>

**Per scollegare un ruolo IAM da un'istanza**

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

1. Nel riquadro di navigazione, seleziona **Instances (Istanze)**.

1. Selezionare l'istanza.

1. Nel menu **Actions** (Operazioni), scegliere **Security ** (Sicurezza), **Modify IAM role** (Modifica ruolo IAM).

1. Per **IAM role (Ruolo IAM)**, scegliere **No IAM Role (Nessun ruolo IAM)**.

1. Scegli **Aggiorna ruolo IAM**.

1. Quando viene richiesta la conferma, inserisci **Scollega**, quindi scegli **Scollega**.

------
#### [ AWS CLI ]<a name="detach-iam-role-cli"></a>

**Per scollegare un ruolo IAM da un'istanza**

1. Se necessario, utilizza [describe-iam-instance-profile-associations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-iam-instance-profile-associations.html) per ottenere l'ID di associazione per il profilo dell'istanza IAM da scollegare.

   ```
   aws ec2 describe-iam-instance-profile-associations \
       --filters Name=instance-id,Values=i-1234567890abcdef0 \
       --query IamInstanceProfileAssociations.AssociationId
   ```

1. Utilizza il comando [disassociate-iam-instance-profile](https://docs.aws.amazon.com/cli/latest/reference/ec2/disassociate-iam-instance-profile.html).

   ```
   aws ec2 disassociate-iam-instance-profile --association-id iip-assoc-0044d817db6c0a4ba
   ```

------
#### [ PowerShell ]

**Per scollegare un ruolo IAM da un'istanza**

1. Se necessario, utilizzalo [Get-EC2IamInstanceProfileAssociation](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2IamInstanceProfileAssociation.html)per ottenere l'ID di associazione per il profilo dell'istanza IAM da scollegare.

   ```
   (Get-EC2IamInstanceProfileAssociation -Filter @{Name="instance-id"; Values="i-0636508011d8e966a"}).AssociationId
   ```

1. Utilizza il cmdlet [Unregister-EC2IamInstanceProfile](https://docs.aws.amazon.com/powershell/latest/reference/items/Unregister-EC2IamInstanceProfile.html).

   ```
   Unregister-EC2IamInstanceProfile -AssociationId iip-assoc-0044d817db6c0a4ba
   ```

------

## Ruoli di identità dell'istanza per le istanze Amazon EC2
<a name="ec2-instance-identity-roles"></a>

Ogni istanza Amazon EC2 avviata dispone di un *ruolo di identità dell'istanza* che ne rappresenta l'identità. Un ruolo di identità di istanza è un tipo di ruolo IAM. AWS i servizi e le funzionalità che sono integrati per utilizzare il ruolo di identità dell'istanza possono utilizzarlo per identificare l'istanza nel servizio.

Le credenziali del ruolo di identità dell'istanza sono accessibili dal servizio di metadati dell'istanza (IMDS) in `/identity-credentials/ec2/security-credentials/ec2-instance`. Le credenziali sono costituite da una coppia di chiavi di accesso AWS temporanea e da un token di sessione. Vengono utilizzate per firmare le richieste AWS Sigv4 ai AWS servizi che utilizzano il ruolo di identità dell'istanza. Le credenziali sono presenti nei metadati dell'istanza indipendentemente dal fatto che sull'istanza sia abilitato un servizio o una funzione che fa uso dei ruoli di identità dell'istanza.

I ruoli di identità dell'istanza vengono creati automaticamente all'avvio di un'istanza, non dispongono di alcun documento relativo alla policy di affidabilità ruolo e non sono soggetti a policy di identità o risorse.

### Servizi supportati
<a name="iir-supported-services"></a>

I seguenti AWS servizi utilizzano il ruolo di identità dell'istanza:
+ **Amazon EC2**: [EC2 Instance Connect](connect-linux-inst-eic.md) utilizza il ruolo di identità dell'istanza per aggiornare le chiavi host di un'istanza Linux.
+ **Amazon GuardDuty** — [GuardDuty Runtime Monitoring](https://docs.aws.amazon.com/guardduty/latest/ug/runtime-monitoring.html) utilizza il ruolo di identità dell'istanza per consentire all'agente runtime di inviare telemetria di sicurezza all'endpoint GuardDuty VPC.
+ **AWS Lambda**— [Lambda Managed Instances](https://docs.aws.amazon.com/lambda/latest/dg/lambda-managed-instances.html) utilizza il ruolo di identità dell'istanza per gli hook del ciclo di vita, la telemetria e la distribuzione degli artefatti.
+ **AWS Security Token Service (AWS STS)** — Le credenziali del ruolo di identità dell'istanza possono essere utilizzate con l'azione. AWS STS [https://docs.aws.amazon.com/STS/latest/APIReference/API_GetCallerIdentity.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetCallerIdentity.html)
+ **AWS Systems Manager**— Quando si utilizza la [configurazione predefinita di gestione dell'host](https://docs.aws.amazon.com/systems-manager/latest/userguide/fleet-manager-default-host-management-configuration.html), AWS Systems Manager utilizza l'identità fornita dal ruolo di identità dell'istanza per registrare le istanze EC2. Dopo aver identificato l'istanza, Systems Manager può passare il ruolo IAM `AWSSystemsManagerDefaultEC2InstanceManagementRole` all'istanza.

I ruoli di identità delle istanze non possono essere utilizzati con altri AWS servizi o funzionalità perché non hanno un'integrazione con i ruoli di identità delle istanze.

### ARN del ruolo di identità dell'istanza
<a name="iir-arn"></a>

L'ARN del ruolo di identità dell'istanza presenta il formato seguente:

```
arn:aws-partition:iam::account-number:assumed-role/aws:ec2-instance/instance-id
```

Esempio:

```
arn:aws:iam::0123456789012:assumed-role/aws:ec2-instance/i-1234567890abcdef0
```

Per ulteriori informazioni ARNs, consulta [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) nella *IAM User Guide*.