Autorizzazioni IAM per i modelli di avvio Amazon EC2 - 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à.

Autorizzazioni IAM per i modelli di avvio Amazon EC2

È possibile utilizzare le autorizzazioni IAM per controllare se gli utenti possono elencare, visualizzare, creare o eliminare modelli di avvio o versioni dei modelli di avvio.

Importante

Non puoi utilizzare le autorizzazioni a livello di risorsa per limitare le risorse che gli utenti possono specificare in un modello di avvio quando creano un modello di avvio o una versione del modello di avvio. Pertanto, assicurati che solo gli amministratori fidati abbiano l'autorizzazione per creare modelli di avvio e versioni dei modelli di avvio.

Devi concedere a chiunque utilizzerà un modello di avvio le autorizzazioni richieste per creare e accedere alle risorse specificate nel modello di avvio. Esempio:

  • Per avviare un'istanza da un'Amazon Machine Image (AMI) privata condivisa, l'utente deve disporre dell'autorizzazione di avvio per l'AMI.

  • Per creare volumi EBS con tag provenienti da snapshot esistenti, l'utente deve disporre dell'accesso in lettura agli snapshot e delle autorizzazioni per creare e applicare tag ai volumi.

ec2: CreateLaunchTemplate

Per creare un modello di avvio nella console o utilizzando il APIs, il principale deve disporre dell'ec2:CreateLaunchTemplateautorizzazione in una policy IAM. Quando possibile, è consigliabile utilizzare i tag per controllare l'accesso ai modelli di avvio nell'account.

Ad esempio, la seguente istruzione di policy IAM fornisce al principale l'autorizzazione per creare modelli di avvio solo se il modello utilizza il tag specificato (purpose=testing).

{ "Sid": "IAMPolicyForCreatingTaggedLaunchTemplates", "Action": "ec2:CreateLaunchTemplate", "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/purpose": "testing" } } }

I principali che creano i modelli di avvio potrebbero richiedere alcune autorizzazioni correlate, come ad esempio:

  • ec2: CreateTags — Per aggiungere tag al modello di avvio durante l'CreateLaunchTemplateoperazione, il CreateLaunchTemplate chiamante deve disporre dell'ec2:CreateTagsautorizzazione in una policy IAM.

  • ec2: RunInstances — Per avviare le istanze EC2 dal modello di avvio che hanno creato, il principale deve inoltre disporre dell'ec2:RunInstancesautorizzazione in una policy IAM.

Per le operazioni di creazione delle risorse in cui vengono applicati i tag, gli utenti devono disporre dell'autorizzazione ec2:CreateTags. La seguente istruzione di policy IAM utilizza la chiave di condizione ec2:CreateAction per consentire agli utenti di creare i tag soltanto nel contesto di CreateLaunchTemplate. Gli utenti non possono aggiungere tag ai modelli di avvio o altre risorse esistenti. Per ulteriori informazioni, consulta Concessione dell'autorizzazione all'applicazione di tag Amazon EC2 per le risorse durante la creazione.

{ "Sid": "IAMPolicyForTaggingLaunchTemplatesOnCreation", "Action": "ec2:CreateTags", "Effect": "Allow", "Resource": "arn:aws:ec2:us-east-1:111122223333:launch-template/*", "Condition": { "StringEquals": { "ec2:CreateAction": "CreateLaunchTemplate" } } }

L'utente IAM che crea un modello di avvio non dispone automaticamente dell'autorizzazione a utilizzare il modello di avvio che ha creato. Come qualsiasi altro principale, il creatore del modello di avvio deve ottenere l'autorizzazione tramite una policy IAM. Se un utente IAM desidera avviare un'istanza EC2 da un modello di avvio, deve disporre dell'autorizzazione ec2:RunInstances. Quando concedi queste autorizzazioni, puoi specificare che gli utenti possono utilizzare solo modelli di lancio con tag specifici o specifici. IDs Inoltre, è possibile controllare l'AMI e altre risorse alle quali chiunque utilizzi i modelli di avvio può fare riferimento e che può utilizzare per avviare le istanze specificando le autorizzazioni a livello di risorsa per la chiamata RunInstances. Per esempi di policy, consulta Modelli di avvio.

ec2: DescribeLaunchTemplates

Per elencare e visualizzare i modelli di avvio nell'account, il principale deve disporre dell'autorizzazione ec2:DescribeLaunchTemplates in una policy IAM. Dato che le operazioni Describe non supportano le autorizzazioni a livello di risorsa, devono essere specificate senza condizioni e il valore dell'elemento risorsa nella policy deve essere "*".

Ad esempio, la seguente istruzione di policy IAM concede al principale l'autorizzazione per elencare e visualizzare tutti i modelli di avvio nell'account.

{ "Sid": "IAMPolicyForDescribingLaunchTemplates", "Action": "ec2:DescribeLaunchTemplates", "Effect": "Allow", "Resource": "*" }

ec2: DescribeLaunchTemplateVersions

I responsabili che elencano e visualizzano i modelli di avvio dovrebbero inoltre disporre dell'autorizzazione ec2:DescribeLaunchTemplateVersions per recuperare l'intero set di attributi che compongono i modelli di avvio.

Per elencare e visualizzare le versioni del modello di avvio nell'account, il principale deve disporre dell'autorizzazione ec2:DescribeLaunchTemplateVersions in una policy IAM. Dato che le operazioni Describe non supportano le autorizzazioni a livello di risorsa, devono essere specificate senza condizioni e il valore dell'elemento risorsa nella policy deve essere "*".

Ad esempio, la seguente istruzione di policy IAM concede al principale l'autorizzazione per elencare e visualizzare tutte le versioni del modello di avvio nell'account.

{ "Sid": "IAMPolicyForDescribingLaunchTemplateVersions", "Effect": "Allow", "Action": "ec2:DescribeLaunchTemplateVersions", "Resource": "*" }

ec2: DeleteLaunchTemplate

Importante

È necessario prestare attenzione quando si concedono ai principali le autorizzazioni per eliminare una risorsa. L'eliminazione di un modello di avvio potrebbe causare un errore in una AWS risorsa che si basa sul modello di avvio.

Per eliminare un modello di avvio, il principale deve disporre dell'autorizzazione ec2:DeleteLaunchTemplate in una policy IAM. Quando possibile, si consiglia di utilizzare le chiavi di condizione basate su tag per limitare le autorizzazioni.

Ad esempio, la seguente istruzione di policy IAM concede al principale l'autorizzazione per eliminare modelli di avvio solo se il modello dispone del tag specificato (purpose=testing).

{ "Sid": "IAMPolicyForDeletingLaunchTemplates", "Action": "ec2:DeleteLaunchTemplate", "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/purpose": "testing" } } }

In alternativa, puoi utilizzarlo ARNs per identificare il modello di lancio a cui si applica la policy IAM.

Un modello di avvio ha il seguente ARN.

"Resource": "arn:aws:ec2:us-east-1:111122223333:launch-template/lt-09477bcd97b0d310e"

Puoi specificarne più ARNs di uno racchiudendoli in un elenco oppure puoi specificare un Resource valore "*" senza l'Conditionelemento per consentire al responsabile di eliminare qualsiasi modello di lancio nell'account.

Controllo delle autorizzazioni di controllo delle versioni

Agli amministratori attendibili, è possibile concedere l'accesso per la creazione e l'eliminazione delle versioni di un modello di avvio e per modificare la versione predefinita di un modello di avvio utilizzando policy IAM simili agli esempi seguenti.

Importante

Fai attenzione quando concedi ai principali il permesso di creare versioni dei modelli di avvio o modificare i modelli di avvio.

  • Quando si crea una versione del modello di avvio, si influisce su qualsiasi risorsa AWS che consente ad Amazon EC2 di avviare istanze per proprio conto con la versione Latest.

  • Quando modifichi un modello di lancio, puoi cambiare la versione Default e quindi influire su tutte AWS le risorse che consentono ad Amazon EC2 di avviare istanze per tuo conto con questa versione modificata.

Inoltre, devi essere cauto nel modo in cui gestisci AWS le risorse che interagiscono con la versione del modello Latest o la Default lanciano, come EC2 Fleet e Spot Fleet. Quando viene utilizzata una versione diversa del modello di avvio per Latest o Default, Amazon EC2 non ricontrolla le autorizzazioni per le operazioni da completare quando si avviano nuove istanze per soddisfare la capacità prevista del parco istanze, poiché non avviene alcuna interazione fra l'utente e la risorsa AWS . Concedendo a un utente l'autorizzazione a chiamare CreateLaunchTemplateVersion and ModifyLaunchTemplate APIs, all'utente viene effettivamente concessa l'iam:PassRoleautorizzazione anche se indirizza la flotta a una versione diversa del modello di lancio che contiene un profilo di istanza (un contenitore per un ruolo IAM). Significa che un utente può potenzialmente aggiornare un modello di avvio per passare un ruolo IAM a un'istanza anche se non dispone dell'autorizzazione iam:PassRole. È possibile gestire questo rischio prestando attenzione quando si concedono le autorizzazioni a chi può creare e gestire le versioni dei modelli di avvio.

ec2: CreateLaunchTemplateVersion

Per creare una nuova versione di un modello di avvio, il principale deve disporre dell'autorizzazione ec2:CreateLaunchTemplateVersion per il modello di avvio in una policy IAM.

Ad esempio, la seguente istruzione di policy IAM concede al principale l'autorizzazione per creare versioni dei modelli di avvio solo se la versione utilizza il tag specificato (environment=production). In alternativa, puoi specificare uno o più modelli ARNs di lancio oppure puoi specificare un Resource valore "*" senza l'Conditionelemento per consentire al principale di creare versioni di qualsiasi modello di lancio nell'account.

{ "Sid": "IAMPolicyForCreatingLaunchTemplateVersions", "Action": "ec2:CreateLaunchTemplateVersion", "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/environment": "production" } } }

ec2: DeleteLaunchTemplateVersion

Importante

Come sempre, è necessario prestare attenzione quando si concedono le autorizzazioni per eliminare una risorsa. L'eliminazione di una versione del modello di avvio potrebbe causare un errore in una AWS risorsa che si basa sulla versione del modello di avvio.

Per eliminare una versione di un modello di avvio, il principale deve disporre dell'autorizzazione ec2:DeleteLaunchTemplateVersion per il modello di avvio in una policy IAM.

Ad esempio, la seguente istruzione di policy IAM concede al principale l'autorizzazione per eliminare versioni dei modelli di avvio solo se la versione utilizza il tag specificato (environment=production). In alternativa, puoi specificare uno o più modelli ARNs di lancio oppure puoi specificare un Resource valore "*" senza l'Conditionelemento per consentire al principale di eliminare le versioni di qualsiasi modello di lancio nell'account.

{ "Sid": "IAMPolicyForDeletingLaunchTemplateVersions", "Action": "ec2:DeleteLaunchTemplateVersion", "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/environment": "production" } } }

ec2: ModifyLaunchTemplate

Per modificare la versione Default associata a un modello di avvio, il principale deve disporre dell'autorizzazione ec2:ModifyLaunchTemplate per il modello di avvio in una policy IAM.

Ad esempio, la seguente istruzione di policy IAM concede al principale l'autorizzazione per modificare i modelli di avvio solo se il modello di avvio utilizza il tag specificato (environment=production). In alternativa, puoi specificare uno o più modelli ARNs di lancio oppure puoi specificare un Resource valore "*" senza l'Conditionelemento per consentire al principale di modificare qualsiasi modello di lancio nell'account.

{ "Sid": "IAMPolicyForModifyingLaunchTemplates", "Action": "ec2:ModifyLaunchTemplate", "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/environment": "production" } } }

Controllo dell'accesso ai tag sui modelli di avvio

È possibile utilizzare le chiavi di condizione per limitare le autorizzazioni di applicazione di tag quando la risorsa è un modello di avvio. Ad esempio, la seguente policy IAM consente di rimuovere solo il tag con la chiave temporary dai modelli di avvio nell'account e nella regione specificati.

{ "Sid": "IAMPolicyForDeletingTagsOnLaunchTemplates", "Action": "ec2:DeleteTags", "Effect": "Allow", "Resource": "arn:aws:ec2:us-east-1:111122223333:launch-template/*", "Condition": { "ForAllValues:StringEquals": { "aws:TagKeys": ["temporary"] } } }

Per ulteriori informazioni sulle chiavi di condizione utilizzabili per controllare le chiavi e i valori dei tag che possono essere applicati alle risorse Amazon EC2, consulta la pagina Controllo dell'accesso a tag specifici.