

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

# Controlla il rilevamento e l'uso delle AMI in Amazon EC2 con le AMI consentite
<a name="ec2-allowed-amis"></a>

Per controllare il rilevamento e l'uso delle Amazon Machine Image (AMI) da parte degli utenti nel tuo Account AWS, puoi utilizzare la funzionalità *AMI consentite*. Puoi specificare i criteri che le AMI devono soddisfare per essere visibili e disponibili all’interno del tuo account. Quando i criteri sono abilitati, gli utenti che avviano le istanze vedranno e avranno accesso solo alle AMI che soddisfano i criteri specificati. Ad esempio, è possibile specificare un elenco di provider di AMI affidabili come criteri, e solo le AMI di questi provider saranno visibili e disponibili per l'uso.

Prima di abilitare le impostazioni delle AMI consentite, puoi abilitare la *modalità di controllo* per visualizzare in anteprima quali AMI saranno visibili e disponibili per l’uso (se presenti). Ciò consente di affinare i criteri in base alle esigenze per garantire che solo le AMI previste siano visibili e disponibili per gli utenti del tuo account. Inoltre, puoi utilizzare il comando [describe-instance-image-metadata](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-image-metadata.html) per identificare le istanze avviate con AMI che non soddisfano i criteri specificati. Queste informazioni possono aiutarti a decidere se aggiornare le configurazioni di avvio per utilizzare AMI conformi (ad esempio, specificando una AMI diversa in un modello di lancio) o modificare i criteri per consentire queste AMI.

Puoi specificare le impostazioni delle AMI consentite a livello di account, direttamente nell'account o utilizzando una policy dichiarativa. Queste impostazioni devono essere configurate in ogni Regione AWS in cui si desidera controllare l’utilizzo delle AMI. L'utilizzo di una policy dichiarativa consente di applicare le impostazioni contemporaneamente su più regioni, nonché su più account. Quando viene utilizzata una policy dichiarativa, non è possibile modificare le impostazioni direttamente all'interno di un account. Questo argomento illustra la modalità di configurazione delle impostazioni direttamente all'interno di un account. Per informazioni sull'utilizzo delle policy dichiarative, consulta [Policy dichiarative](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_declarative.html) nella *Guida per l'utente di AWS Organizations *.

**Nota**  
La funzionalità delle AMI consentite controlla solo il rilevamento e l'utilizzo di AMI pubbliche o AMI condivise con l'account. Non si limita alle AMI di proprietà dell'account. Indipendentemente dai criteri impostati, le AMI create dal tuo account sono sempre rilevabili e utilizzabili dagli utenti nel tuo account.

**Principali vantaggi delle AMI consentite**
+ **Conformità e sicurezza**: gli utenti possono rilevare e utilizzare solo le AMI che soddisfano i criteri specificati, riducendo il rischio di utilizzo di AMI non conformi.
+ **Gestione efficiente**: riducendo il numero di AMI consentite, la gestione di quelle rimanenti diventa più semplice ed efficiente.
+ **Implementazione centralizzata a livello di account**: configurare le impostazioni delle AMI consentite a livello di account, direttamente all'interno dell'account o tramite una policy dichiarativa. Ciò fornisce un modo centralizzato ed efficiente per controllare l'utilizzo delle AMI sull'intero account.

**Topics**
+ [Come funzionano le AMI consentite](#how-allowed-amis-works)
+ [Best practice per l'implementazione di AMI consentite](#best-practice-for-implementing-allowed-amis)
+ [Autorizzazioni IAM richieste](#iam-permissions-for-allowed-amis)
+ [Gestisci le impostazioni per le AMI consentite](manage-settings-allowed-amis.md)

## Come funzionano le AMI consentite
<a name="how-allowed-amis-works"></a>

Per controllare quali AMI possono essere individuate e utilizzate nel tuo account, definisci una serie di criteri in base ai quali valutare le AMI. I criteri sono costituiti da uno o più `ImageCriterion`, come mostra il diagramma seguente. Il diagramma è seguito da una spiegazione.

![La gerarchia di ImageCriteria configurazione delle AMI consentite.](http://docs.aws.amazon.com/it_it/AWSEC2/latest/UserGuide/images/ami_allowed-amis-imagecriteria.png)


La configurazione ha tre livelli:
+ **1** – Valori dei parametri
  + Multi-value parametri:
    + `ImageProviders`
    + `ImageNames`
    + `MarketplaceProductCodes`

      Un’AMI può corrispondere a *qualsiasi* valore entro un parametro per essere consentita.

      Esempio: `ImageProviders` = `amazon` **OR** account `111122223333` **OR** account `444455556666` (La logica di valutazione dei valori dei parametri non è riportata nel diagramma).
    + `ImageWatermarks`
  + Single-value parametri:
    + `CreationDateCondition`
    + `DeprecationTimeCondition`
+ **2** – `ImageCriterion`
  + Raggruppa più parametri con logica **AND**.
  + Un’AMI deve corrispondere a *tutti* i parametri all’interno di un `ImageCriterion` per essere consentita.
  + Esempio: `ImageProviders` = `amazon` **AND** `CreationDateCondition` = 300 giorni o meno
+ **3** – `ImageCriteria`
  + Raggruppa più `ImageCriterion` con logica **OR**.
  + Un’AMI può corrispondere *qualsiasi* `ImageCriterion` per essere consentita.
  + Crea la configurazione completa rispetto alla quale vengono valutate le AMI. 

**Topics**
+ [Parametri per le AMI consentite](#allowed-amis-criteria)
+ [Configurazione delle AMI consentite](#allowed-amis-json-configuration)
+ [Come vengono valutati i criteri](#how-allowed-amis-criteria-are-evaluated)
+ [Limits](#allowed-amis-json-configuration-limits)
+ [Operazioni per le AMI consentite](#allowed-amis-operations)

### Parametri per le AMI consentite
<a name="allowed-amis-criteria"></a>

Puoi configurare i seguenti parametri per creare `ImageCriterion`:

`ImageProviders`  
I fornitori di AMI le cui AMI sono consentite.  
I valori validi sono alias definiti da AWS e Account AWS ID, come segue:  
+ `amazon`: un alias che identifica le AMI create da Amazon o da fornitori verificati
+ `aws-marketplace`— Un alias che identifica le AMI create da provider verificati in Marketplace AWS
+ `aws-backup-vault` – Un alias che identifica le AMI di backup che risiedono in account di vault logicamente isolata di AWS di ripristino. Se utilizzi la funzionalità AWS Backup logically air-gapped vault, assicurati che questo alias sia incluso come provider AMI.
+ Account AWS ID: uno o più ID a 12 cifre Account AWS 
+ `none` – Indica che solo le AMI create dal tuo account possono essere rilevate e utilizzate. Le AMI pubbliche o condivise non possono essere rilevate e utilizzate. Quando specificato, non è possibile specificare altri criteri.

`ImageNames`  
I nomi delle AMI consentite, utilizzando corrispondenze esatte o caratteri jolly (`?` o `*`).

`MarketplaceProductCodes`  
I codici di Marketplace AWS prodotto per le AMI consentite.

`CreationDateCondition`  
L’età massima per le AMI consentite.

`DeprecationTimeCondition`  
Il periodo massimo di obsolescenza per le AMI consentite.

`ImageWatermarks`  
Un elenco di filtri con filigrana. Il filtro consente un AMI se una filigrana sull'AMI corrisponde a qualsiasi voce del filtro (logica OR). Ogni filtro può includere i seguenti campi:  
+ `WatermarkKey`— La chiave della filigrana da abbinare () `account-id:watermark-name`
+ `SourceImageRegion`— La regione dell'AMI a cui è stata originariamente allegata la filigrana
+ `MaximumDaysSinceSourceImageCreated`— L'età massima dell'AMI sorgente al momento dell'applicazione della filigrana
+ `MaximumDaysSinceWatermarkCreated`— Il numero massimo di giorni trascorsi da quando hai applicato la filigrana

*Per i valori e i vincoli validi per ogni criterio, consulta [ImageCriterionRequest](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImageCriterionRequest.html)Amazon EC2 API Reference.*

### Configurazione delle AMI consentite
<a name="allowed-amis-json-configuration"></a>

La configurazione di base per le AMI consentite è la configurazione `ImageCriteria` che definisce i criteri per le AMI consentite. La seguente struttura JSON indica i parametri che possono essere specificati:

```
{
    "State": "enabled" | "disabled" | "audit-mode",  
    "ImageCriteria" : [
        {
            "ImageProviders": ["string",...],
            "MarketplaceProductCodes": ["string",...],           
            "ImageNames":["string",...],
            "CreationDateCondition" : {
                "MaximumDaysSinceCreated": integer
            },
            "DeprecationTimeCondition" : {
                "MaximumDaysSinceDeprecated": integer
            },
            "ImageWatermarks": [
                {
                    "WatermarkKey": "string",
                    "SourceImageRegion": "string",
                    "MaximumDaysSinceSourceImageCreated": integer,
                    "MaximumDaysSinceWatermarkCreated": integer
                },...
            ]
         },
         ...
}
```

#### ImageCriteria esempio
<a name="allowed-amis-json-configuration-example"></a>

L'`ImageCriteria`esempio seguente ne configura cinque`ImageCriterion`. Un’AMI è consentita se corrisponde a uno di questi `ImageCriterion`. Per informazioni su come vengono valutati i criteri, consulta [Come vengono valutati i criteri](#how-allowed-amis-criteria-are-evaluated).

```
{
    "ImageCriteria": [
        // ImageCriterion 1: Allow Marketplace AWS AMIs with product code "abcdefg1234567890"
        {
            "MarketplaceProductCodes": [
                "{{abcdefg1234567890}}"
            ]
        },
        // ImageCriterion 2: Allow AMIs from providers whose accounts are
        // "123456789012" OR "123456789013" AND AMI age is less than 300 days
        {
            "ImageProviders": [
                "{{123456789012}}",
                "{{123456789013}}"
            ],
            "CreationDateCondition": {
                "MaximumDaysSinceCreated": {{300}}
            }
        },
        // ImageCriterion 3: Allow AMIs from provider whose account is "123456789014" 
        // AND with names following the pattern "golden-ami-*"
        {
            "ImageProviders": [
                "{{123456789014}}"
            ],
            "ImageNames": [
                "{{golden-ami-*}}"
            ]
        },
        // ImageCriterion 4: Allow AMIs from Amazon or verified providers 
        // AND which aren't deprecated
        {
            "ImageProviders": [
                "amazon"
            ],
            "DeprecationTimeCondition": {
                "MaximumDaysSinceDeprecated": {{0}}
            }
        },
        // ImageCriterion 5: Allow AMIs that carry an approved watermark
        // from account "111122223333" AND the watermark was applied less than 90 days ago
        {
            "ImageWatermarks": [
                {
                    "WatermarkKey": "{{111122223333:prod-baseline}}",
                    "MaximumDaysSinceWatermarkCreated": {{90}}
                }
            ]
        }
    ]
}
```

### Come vengono valutati i criteri
<a name="how-allowed-amis-criteria-are-evaluated"></a>

La seguente tabella illustra le regole di valutazione che determinano se un’AMI è consentita, mostrando come l’operatore `AND` o `OR` viene applicato a ciascun livello:


| Livello di valutazione | Operatore | Requisito per essere un’AMI consentita | 
| --- | --- | --- | 
| Valori dei parametri perImageProviders, ImageNamesMarketplaceProductCodes, e ImageWatermarks | OR | L’AMI deve corrispondere almeno a un valore in ogni elenco di parametri | 
| ImageCriterion | AND | L’AMI deve corrispondere a tutti i parametri di ogni ImageCriterion | 
| ImageCriteria | OR | L’AMI deve rispettare uno qualsiasi dei ImageCriterion | 

Utilizzando le regole di valutazione precedenti, vediamo come applicarle all’[ImageCriteria esempio](#allowed-amis-json-configuration-example):
+ `ImageCriterion`1: consente le AMI con il codice Marketplace AWS prodotto `abcdefg1234567890`

  `OR`
+ `ImageCriterion` 2: consente le AMI che soddisfano entrambi questi criteri:
  + Di proprietà di uno degli account `123456789012` `OR` `123456789013`
    + `AND`
  + Creato negli ultimi 300 giorni

  `OR`
+ `ImageCriterion` 3: consente le AMI che soddisfano entrambi questi criteri:
  + Di proprietà dell’account `123456789014`
    + `AND`
  + Denominato con il modello `golden-ami-*`

  `OR`
+ `ImageCriterion` 4: consente le AMI che soddisfano entrambi questi criteri:
  + Pubblicato da Amazon o da fornitori verificati (specificato dall’alias `amazon`)
    + `AND`
  + Non obsoleto (massimo giorni dalla data di obsolescenza `0`)

  `OR`
+ `ImageCriterion`5: Consente le AMI con filigrana corrispondente a:
  + Chiave Watermark `111122223333:prod-baseline`
    + `AND`
  + Hai applicato la filigrana meno di 90 giorni fa

### Limits
<a name="allowed-amis-json-configuration-limits"></a>

I `ImageCriteria` possono includere fino a:
+ 10 `ImageCriterion`

Ogni `ImageCriterion` può includere fino a:
+ 200 valori per `ImageProviders`
+ 50 valori per `ImageNames` 
+ 50 valori per `MarketplaceProductCodes` 
+ 50 valori per `ImageWatermarks`

**Esempio di limiti**

Utilizzando i [ImageCriteria esempio](#allowed-amis-json-configuration-example) precedenti:
+ Ce ne sono 5`ImageCriterion`. È possibile aggiungerne fino a 5 alla richiesta per raggiungere il limite di 10.
+ Nel primo `ImageCriterion`, c’è 1 valore per `MarketplaceProductCodes`. È possibile aggiungere fino a 49 elementi a questo `ImageCriterion` per raggiungere il limite di 50.
+ Nel secondo `ImageCriterion`, ci sono 2 valori per `ImageProviders`. È possibile aggiungere fino a 198 elementi a questo `ImageCriterion` per raggiungere il limite di 200.
+ Nel terzo `ImageCriterion`, c’è 1 valore per `ImageNames`. È possibile aggiungere fino a 49 elementi a questo `ImageCriterion` per raggiungere il limite di 50.

### Operazioni per le AMI consentite
<a name="allowed-amis-operations"></a>

La funzionalità AMI consentite dispone di tre stati operativi per la gestione dei criteri delle immagini: **abilitato**, **disabilitato** e **modalità di controllo**. Queste consentono di abilitare o disabilitare i criteri relativi alle immagini o di rivederli secondo necessità.

**Abilitato**

Quando le AMI consentite sono abilitate: 
+ Vengono applicati i `ImageCriteria`.
+ Solo le AMI consentite sono rilevabili nella console EC2 e dalle API che utilizzano immagini (ad esempio, che descrivono, copiano, archiviano o eseguono altre azioni che utilizzano immagini).
+ Le istanze possono essere avviate solo utilizzando le AMI consentite.

**Disabilitato**

Quando le AMI consentite sono disabilitate: 
+ Non vengono applicati i `ImageCriteria`.
+ Non viene posta alcuna restrizione alla rilevabilità o all'utilizzo delle AMI. 

**Modalità di controllo**

 Nella modalità di controllo:
+ Vengono applicati i `ImageCriteria`, ma non viene posta alcuna restrizione alla rilevabilità o all'utilizzo delle AMI.
+ Nella console EC2, per ogni AMI, il campo **Immagine consentita** mostra **Sì** o **No** per indicare se l'AMI sarà rilevabile e disponibile per gli utenti nell'account quando le AMI consentite sono abilitate.
+ Nella riga del comando, la risposta all'operazione `describe-image` include `"ImageAllowed": true` o `"ImageAllowed": false` per indicare se l'AMI sarà rilevabile e disponibile per gli utenti nell'account quando le AMI consentite sono abilitate.
+ Nella console EC2, nel catalogo AMI viene visualizzato il messaggio **Non consentite** accanto alle AMI che non saranno rilevabili o disponibili per gli utenti nell'account quando la funzionalità AMI consentite è abilitata.

## Best practice per l'implementazione di AMI consentite
<a name="best-practice-for-implementing-allowed-amis"></a>

Quando implementate le AMI consentite, prendete in considerazione queste best practice per garantire una transizione fluida e ridurre al minimo le AWS potenziali interruzioni dell'ambiente.

1. **Abilitare la modalità di controllo**

   Iniziare abilitando le AMI consentite nella modalità di controllo. Questo stato consente di vedere quali AMI sarebbero interessate dai tuoi criteri senza limitare effettivamente l’accesso, garantendo un periodo di valutazione privo di rischi.

1. **Impostare i criteri delle AMI consentite**

   Stabilire con attenzione quali provider di AMI sono in linea con le politiche di sicurezza, i requisiti di conformità e le esigenze operative della tua organizzazione.
**Nota**  
Quando utilizzi servizi AWS gestiti, come Amazon ECS, Amazon EKS o AWS Lambda Managed Instances, ti consigliamo di specificare `amazon` l'alias per consentire le AMI create da. AWS Questi servizi dipendono dalle AMI per avviare le istanze. Amazon-published   
Presta attenzione quando imposti restrizioni `CreationDateCondition` per qualsiasi AMI. L'impostazione di condizioni di data eccessivamente restrittive (ad esempio, le AMI devono avere meno di 5 giorni) può causare errori di avvio delle istanze se le AMI, provenienti da AWS o da altri provider, non vengono aggiornate entro l'intervallo di tempo specificato.  
Consigliamo di abbinare `ImageNames` con `ImageProviders` per un controllo e una specificità migliori. Utilizzare `ImageNames` da solo potrebbe non identificare in modo univoco un’AMI.

1. **Verificare l'impatto sui processi aziendali previsti**

   Puoi utilizzare la console o la CLI per identificare le istanze avviate con AMI che non soddisfano i criteri specificati. Queste informazioni possono aiutarti a decidere se aggiornare le configurazioni di avvio per utilizzare AMI conformi (ad esempio, specificando una AMI diversa in un modello di lancio) o modificare i criteri per consentire queste AMI.

   Console: utilizza la AWS Config regola [ec2-instance-launched-with-allowed-ami per verificare se le istanze in esecuzione o interrotte sono state avviate con AMI che soddisfano i criteri delle AMI consentite](https://docs.aws.amazon.com/config/latest/developerguide/ec2-instance-launched-with-allowed-ami.html). La regola è **NON\_COMPLIANT** se un’AMI non soddisfa i criteri delle AMI consentite e **COMPLIANT** se li soddisfa. La regola funziona solo quando l’impostazione AMI consentite è impostata su **Abilitato** o **Modalità di controllo**.

   CLI: eseguire il comando [describe-instance-image-metadata](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-image-metadata.html) e filtrare la risposta per identificare le istanze avviate con AMI che non soddisfano i criteri specificati.

   Per le istruzioni relative a console e CLI, consulta [Trova le istanze avviate da AMI che non sono consentite](manage-settings-allowed-amis.md#identify-instances-with-allowed-AMIs).

1. **Abilitare le AMI consentite**

   Dopo aver verificato che i criteri non influiranno negativamente sui processi aziendali previsti, abilitare le AMI consentite.

1. **Monitorare gli avvii delle istanze**

   Continua a monitorare i lanci di istanze dalle AMI nelle tue applicazioni e nei servizi AWS gestiti che utilizzi, come Amazon EMR, Amazon ECR, Amazon EKS e. AWS Elastic Beanstalk Verificare la presenza di eventuali problemi imprevisti e apportare le modifiche necessarie ai criteri delle AMI consentite.

1. **Pilota nuove AMI**

   Per testare le AMI di terze parti che non sono conformi alle impostazioni correnti delle AMI consentite, consiglia i seguenti approcci: AWS 
   + Utilizza un account separato Account AWS: crea un account senza accesso alle tue risorse aziendali critiche. Assicurati che l’impostazione AMI consentite non sia abilitata in questo account o che le AMI che vuoi testare siano esplicitamente consentite, in modo da poterle testare. 
   + Esegui il test in un'altra regione Regione AWS: utilizza una regione in cui sono disponibili le AMI di terze parti, ma in cui non hai ancora abilitato le impostazioni delle AMI consentite. 

   Questi approcci aiutano a garantire la sicurezza delle risorse aziendali critiche durante il test di nuove AMI.

## Autorizzazioni IAM richieste
<a name="iam-permissions-for-allowed-amis"></a>

Per usare la funzionalità AMI consentite, sono necessarie le seguenti autorizzazioni relative a IAM:
+ `GetAllowedImagesSettings`
+ `EnableAllowedImagesSettings`
+ `DisableAllowedImagesSettings`
+ `ReplaceImageCriteriaInAllowedImagesSettings`