Rendere un'AMI pubblica - Amazon Elastic Compute Cloud

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

Rendere un'AMI pubblica

Puoi rendere la tua AMI disponibile pubblicamente condividendola con tutti Account AWS.

Se desideri impedire la condivisione pubblica delle tue AMI, puoi abilitare il blocco dell'accesso pubblico per le AMI. Ciò blocca qualsiasi tentativo di rendere pubblica un'AMI, contribuendo a prevenire l'accesso non autorizzato e il potenziale uso improprio dei dati dell'AMI. Tieni presente che l'abilitazione del blocco dell'accesso pubblico non influisce sulle AMI che sono già disponibili pubblicamente, che rimarranno disponibili al pubblico.

Per consentire a solo determinati account di utilizzare l'AMI per avviare le istanze, consulta Condividere un'AMI con account AWS specifici.

Considerazioni

Considera quanto segue prima di rendere pubblica un'AMI.

  • Proprietà: per rendere pubblica un'AMI, è Account AWS necessario possederla.

  • Regione: le AMI sono una risorsa basata sulla regione. Quando un'AMI viene condivisa, questa sarà disponibile solo nella Regione da cui viene condivisa. Per rendere un'AMI disponibile in un'altra regione, copiala nella regione desiderata e condividila. Per ulteriori informazioni, consulta Copiare un'AMI.

  • Blocca l'accesso pubblico: per condividere pubblicamente un'AMI, il blocco dell'accesso pubblico per le AMI deve essere disabilitato in ogni Regione in cui l'AMI verrà condivisa pubblicamente. Dopo aver condiviso pubblicamente l'AMI, potrai riabilitare il blocco dell'accesso pubblico per le AMI e impedire un'ulteriore condivisione pubblica delle tue AMI.

  • Alcune AMI non possono essere rese pubbliche: se l'AMI presenta una delle seguenti opzioni, non è possibile renderla pubblica (ma si può condividere l'AMI con Account AWS specifici):

    • Volumi crittografati

    • Snapshot di volumi crittografati

    • Codici di prodotto

  • Evita di esporre dati sensibili: per evitare di esporre dati sensibili durante la condivisione di un'AMI, leggi le considerazioni di sicurezza in Linee guida per le AMI Linux condivise e segui le operazioni consigliate.

  • Utilizzo: quando un'AMI viene condivisa, gli utenti possono soltanto avviare le istanze dall'AMI. Non possono eliminarle, condividerle o modificarle. Tuttavia, dopo l'avvio di un'istanza utilizzando l'AMI condivisa, potranno creare un'AMI dall'istanza di avvio.

  • Obsolescenza automatica: per impostazione predefinita, la data di obsolescenza di tutte le AMI pubbliche è impostata a due anni dalla data di creazione dell'AMI. È possibile impostare la data di obsolescenza prima dei due anni. Per annullare la data di deprecazione o spostare la deprecazione a una data successiva, è necessario rendere privata l'AMI condividendola solo con utenti specifici. Account AWS

  • Rimuovere le AMI obsolete: dopo che un'AMI pubblica raggiunge la data di obsolescenza, se non sono state lanciate nuove istanze dall'AMI per sei o più mesi, AWS rimuove la proprietà di condivisione pubblica in modo che le AMI obsolete non compaiano negli elenchi di AMI pubblici.

  • Fatturazione: non ti viene addebitato alcun costo quando il tuo AMI viene utilizzato da altri Account AWS per avviare istanze. Agli account che avviano le istanze tramite l'AMI saranno addebitate solo le istanze avviate.

Condividi un'AMI con tutti gli AWS account (condividi pubblicamente)

Una volta resa pubblica, un'AMI sarà disponibile nelle AMI della community nella console, a cui si può accedere dal catalogo AMI nel riquadro di navigazione sulla sinistra della console EC2 o quando si avvia un'istanza utilizzando la console. Tieni presente che, dopo averla resa pubblica, potrebbe essere necessario un po' di tempo prima che l'AMI venga visualizzata in Community AMIs (AMI della community).

Console
Per rendere un'AMI pubblica
  1. Aprire la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Nel riquadro di navigazione scegliere AMIs (AMI).

  3. Seleziona l'AMI nell'elenco e scegliere Actions (Operazioni), quindi Edit AMI permissions (Modifica autorizzazioni AMI).

  4. In Disponibilità AMI, scegli Pubblica.

  5. Seleziona Salvataggio delle modifiche.

AWS CLI

Ogni AMI ha una launchPermission proprietà che controlla chi Account AWS, oltre a quello del proprietario, può utilizzare quell'AMI per avviare le istanze. Modificando la launchPermission proprietà di un AMI, puoi renderlo pubblico (il che concede le autorizzazioni di avvio a tutti Account AWS) o condividerlo solo con Account AWS l'AMI specificato.

Puoi aggiungere o rimuovere gli ID account dall'elenco degli account che dispongono dei permessi di avvio per l'AMI. Per rendere un'AMI pubblica, specifica il gruppo all. Puoi specificare i permessi di avvio sia espliciti che pubblici.

Per rendere un'AMI pubblica
  1. Utilizza il comando modify-image-attribute come riportato di seguito per aggiungere il gruppo all all'elenco launchPermission dell'AMI specificata.

    aws ec2 modify-image-attribute \ --image-id ami-0abcdef1234567890 \ --launch-permission "Add=[{Group=all}]"
  2. Per verificare le autorizzazioni di avvio dell'AMI, utilizza il comando describe-image-attribute.

    aws ec2 describe-image-attribute \ --image-id ami-0abcdef1234567890 \ --attribute launchPermission
  3. (Facoltativo) Per rendere nuovamente privata l'AMI, rimuovere il gruppo all dai relativi permessi di avvio. Tenere presente che il proprietario dell'AMI dispone sempre dei permessi di avvio e, di conseguenza, non è interessato da questo comando.

    aws ec2 modify-image-attribute \ --image-id ami-0abcdef1234567890 \ --launch-permission "Remove=[{Group=all}]"
PowerShell

Ogni AMI ha una launchPermission proprietà che controlla chi Account AWS, oltre a quello del proprietario, può utilizzare quell'AMI per avviare le istanze. Modificando la launchPermission proprietà di un AMI, puoi renderlo pubblico (il che concede le autorizzazioni di avvio a tutti Account AWS) o condividerlo solo con Account AWS l'AMI specificato.

Puoi aggiungere o rimuovere gli ID account dall'elenco degli account che dispongono dei permessi di avvio per l'AMI. Per rendere un'AMI pubblica, specifica il gruppo all. Puoi specificare i permessi di avvio sia espliciti che pubblici.

Per rendere un'AMI pubblica
  1. Utilizza il comando Edit-EC2ImageAttribute come riportato di seguito per aggiungere il gruppo all all'elenco launchPermission dell'AMI specificata.

    PS C:\> Edit-EC2ImageAttribute -ImageId ami-0abcdef1234567890 -Attribute launchPermission -OperationType add -UserGroup all
  2. Per verificare le autorizzazioni di avvio dell'AMI, utilizza il seguente comando Get-EC2ImageAttribute.

    PS C:\> Get-EC2ImageAttribute -ImageId ami-0abcdef1234567890 -Attribute launchPermission
  3. (Facoltativo) Per rendere nuovamente privata l'AMI, rimuovere il gruppo all dai relativi permessi di avvio. Tenere presente che il proprietario dell'AMI dispone sempre dei permessi di avvio e, di conseguenza, non è interessato da questo comando.

    PS C:\> Edit-EC2ImageAttribute -ImageId ami-0abcdef1234567890 -Attribute launchPermission -OperationType remove -UserGroup all

Blocca l'accesso pubblico alle tue AMI

Per impedire la condivisione pubblica delle AMI, è possibile abilitare il blocco dell'accesso pubblico per le AMI. Questa impostazione è abilitata a livello di account, ma è necessario abilitarla in tutti gli ambienti Regione AWS in cui si desidera impedire la condivisione pubblica delle AMI.

Quando il blocco dell'accesso pubblico è abilitato, qualsiasi tentativo di rendere pubblica un'AMI viene automaticamente bloccato. Tuttavia, se disponi già di AMI pubbliche, queste rimangono disponibili al pubblico.

Per condividere pubblicamente le AMI, devi disabilitare il blocco dell'accesso pubblico. Al termine della condivisione, è preferibile riabilitare il blocco dell'accesso pubblico per impedire la condivisione pubblica involontaria delle AMI.

È possibile limitare le autorizzazioni IAM a un utente amministratore in modo che solo lui possa abilitare o disabilitare il blocco dell'accesso pubblico per le AMI.

Impostazioni predefinite

L'impostazione Blocca l'accesso pubblico per le AMI è abilitata o disabilitata per impostazione predefinita a seconda che l'account sia nuovo o esistente e che disponga di AMI pubbliche. Nella tabella seguente vengono elencate le impostazioni predefinite:

AWS account Blocco dell'accesso pubblico per le AMI per l'impostazione predefinita
Nuovi account Abilitato

Account esistenti senza AMI pubbliche ¹

Abilitato

Account esistenti con una o più AMI pubbliche

Disabilitato

¹ Se il tuo account aveva una o più AMI pubbliche a partire dal 15 luglio 2023, l'opzione Blocca l'accesso pubblico alle AMI è disabilitata per impostazione predefinita per il tuo account, anche se successivamente hai reso private tutte le AMI.

Autorizzazioni IAM richieste

Per usare il blocco dell'accesso pubblico per le AMI, è necessario avere le seguenti autorizzazioni IAM:

  • EnableImageBlockPublicAccess

  • DisableImageBlockPublicAccess

  • GetImageBlockPublicAccessState

Abilitazione del blocco dell'accesso pubblico per le AMI

Per impedire la condivisione pubblica delle AMI, abilita il blocco dell'accesso pubblico per le AMI a livello di account. È necessario abilitare il blocco dell'accesso pubblico per le AMI in ogni Regione AWS in cui si desidera impedire la condivisione pubblica delle AMI. Se si dispone già di AMI pubbliche, rimarranno disponibili al pubblico.

Console
Abilitazione del blocco dell'accesso pubblico per le AMI nella regione specificata
  1. Apri la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Nella barra di navigazione, nella parte superiore della schermata, seleziona la regione in cui abilitare il blocco dell'accesso pubblico per le AMI.

  3. Se il pannello di controllo non viene visualizzato, nel riquadro di navigazione scegli Pannello di controllo EC2.

  4. In Attributi dell'account, scegli Protezione e sicurezza dei dati.

  5. In Blocca l'accesso pubblico per le AMI, scegli Gestisci.

  6. Seleziona la casella Blocca nuova condivisione pubblica quindi scegli Aggiorna.

    Nota

    La configurazione di questa impostazione per l'API può richiedere fino a 10 minuti. Durante questo periodo, il valore sarà Nuova condivisione pubblica consentita. Una volta completata la configurazione dell'API, il valore cambierà automaticamente in Nuova condivisione pubblica bloccata.

AWS CLI
Per abilitare il blocco dell'accesso pubblico per le AMI

Usa il comando enable-image-block-public-access.

  • Per una regione specifica

    aws ec2 enable-image-block-public-access \ --region us-east-1 \ --image-block-public-access-state block-new-sharing

    Output previsto

    { "ImageBlockPublicAccessState": "block-new-sharing" }
  • Per tutte le regioni del tuo account

    echo -e "Region \t Public Access State" ; \ echo -e "-------------- \t ----------------------" ; \ for region in $( aws ec2 describe-regions \ --region us-east-1 \ --query "Regions[*].[RegionName]" \ --output text ); do (output=$( aws ec2 enable-image-block-public-access \ --region $region \ --image-block-public-access-state block-new-sharing \ --output text) echo -e "$region \t $output" ); done

    Output previsto

    Region Public Access State -------------- ---------------------- ap-south-1 block-new-sharing eu-north-1 block-new-sharing eu-west-3 block-new-sharing ...
Nota

La configurazione di questa impostazione per l'API può richiedere fino a 10 minuti. Durante questo periodo, se si esegue il comando get-image-block-public-access-state, la risposta sarà. unblocked Quando l'API avrà completato la configurazione, la risposta sarà block-new-sharing.

Disabilitazione del blocco dell'accesso pubblico per le AMI

Per consentire agli utenti del tuo account di condividere pubblicamente le tue AMI, disabilita il blocco dell'accesso pubblico a livello di account. È necessario disabilitare l'accesso pubblico a blocco per le AMI in ognuna delle Regione AWS aree in cui si desidera consentire la condivisione pubblica delle AMI.

Console
Disabilitazione del blocco dell'accesso pubblico per le AMI nella Regione specificata
  1. Apri la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Nella barra di navigazione, nella parte superiore della schermata, seleziona la Regione in cui abilitare il blocco dell'accesso pubblico per le AMI.

  3. Se il pannello di controllo non viene visualizzato, nel riquadro di navigazione scegli Pannello di controllo EC2.

  4. In Attributi dell'account, scegli Protezione e sicurezza dei dati.

  5. In Blocca l'accesso pubblico per le AMI, scegli Gestisci.

  6. Deseleziona la casella Blocca nuova condivisione pubblica quindi scegli Aggiorna.

  7. Quando viene richiesta la conferma, inserisci confirm e seleziona Consenti condivisione pubblica.

    Nota

    La configurazione di questa impostazione per l'API può richiedere fino a 10 minuti. Durante questo periodo, il valore sarà Nuova condivisione pubblica bloccata. Una volta completata la configurazione dell'API, il valore cambierà automaticamente in Nuova condivisione pubblica consentita.

AWS CLI
Per disabilitare l'accesso pubblico a blocchi per le AMI

Usa il comando disable-image-block-public-access.

  • Per una regione specifica

    aws ec2 disable-image-block-public-access --region us-east-1

    Output previsto

    { "ImageBlockPublicAccessState": "unblocked" }
  • Per tutte le regioni del tuo account

    echo -e "Region \t Public Access State" ; \ echo -e "-------------- \t ----------------------" ; \ for region in $( aws ec2 describe-regions \ --region us-east-1 \ --query "Regions[*].[RegionName]" \ --output text ); do (output=$( aws ec2 disable-image-block-public-access \ --region $region \ --output text) echo -e "$region \t $output" ); done

    Output previsto

    Region Public Access State -------------- ---------------------- ap-south-1 unblocked eu-north-1 unblocked eu-west-3 unblocked ...
Nota

La configurazione di questa impostazione per l'API può richiedere fino a 10 minuti. Durante questo periodo, se si esegue il comando get-image-block-public-access-state, la risposta sarà. block-new-sharing Quando l'API avrà completato la configurazione, la risposta sarà unblocked.

Visualizzazione dello stato di blocco dell'accesso pubblico per le AMI

Per vedere se la condivisione pubblica delle tue AMI è bloccata nel tuo account, puoi visualizzare lo stato per bloccare l'accesso pubblico alle AMI. È necessario visualizzare lo stato in ogni Regione AWS in cui desideri verificare se la condivisione pubblica delle AMI è bloccata.

Console
Visualizzazione dello stato del blocco dell'accesso pubblico per le AMI nella Regione specificata
  1. Apri la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Nella barra di navigazione, nella parte superiore della schermata, seleziona la Regione in cui visualizzare lo stato del blocco dell'accesso pubblico per le AMI.

  3. Se il pannello di controllo non viene visualizzato, nel riquadro di navigazione scegli Pannello di controllo EC2.

  4. In Attributi dell'account, scegli Protezione e sicurezza dei dati.

  5. In Blocca l'accesso pubblico per le AMI, seleziona il campo Accesso pubblico. Il valore è Nuova condivisione pubblica bloccata o Nuova condivisione pubblica consentita.

AWS CLI
Per ottenere lo stato di blocco dell'accesso pubblico per le AMI

Usa il comando get-image-block-public-access-state.

  • Per una regione specifica

    aws ec2 get-image-block-public-access-state --region us-east-1

    Output previsto: il valore è block-new-sharing o unblocked.

    { "ImageBlockPublicAccessState": "block-new-sharing" }
  • Per tutte le regioni del tuo account

    echo -e "Region \t Public Access State" ; \ echo -e "-------------- \t ----------------------" ; \ for region in $( aws ec2 describe-regions \ --region us-east-1 \ --query "Regions[*].[RegionName]" \ --output text ); do (output=$( aws ec2 get-image-block-public-access-state \ --region $region \ --output text) echo -e "$region \t $output" ); done

    Output previsto: il valore è block-new-sharing o unblocked.

    Region Public Access State -------------- ---------------------- ap-south-1 block-new-sharing eu-north-1 unblocked eu-west-3 block-new-sharing ...