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à.
Policy di esempio da utilizzare all'API Amazon EC2
È possibile utilizzare le policy IAM per concedere agli utenti le autorizzazioni richieste per utilizzare Amazon EC2. Per istruzioni dettagliate, consulta Creazione di politiche IAM 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 user input placeholder con le tue informazioni.
Per le policy di esempio da utilizzare nella console Amazon EC2, consultare Policy di esempio per controllare l'accesso alla console Amazon EC2.
Esempio: Read-only accesso
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 * è 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.
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).
Esempio: limitazione dell'accesso a una regione specifica
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.
In alternativa, è possibile utilizzare la chiave di condizione ec2:Region, specifica per Amazon EC2 ed è supportata da tutte le operazioni API di Amazon EC2.
Utilizzo delle istanze
Esempi
Esempio: descrizione, avvio, arresto e terminazione di tutte le istanze
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 * per indicare che tutti gli utenti possono specificare tutte le risorse con queste operazioni dell'API. Il carattere jolly * è 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.
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.
Esempio: descrizione di tutte le istanze e arresto, avvio e terminazione soltanto di determinate istanze
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 * 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 * è 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.
La seconda istruzione utilizza le autorizzazioni a livello di risorsa per le operazioni StopInstances e StartInstances. Le istanze specifiche sono indicate dai relativi ARN nell'elemento Resource.
La terza dichiarazione consente agli utenti di chiudere tutte le istanze nella 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.
Istanze di avvio () RunInstances
L'azione RunInstances API avvia una o più On-Demand istanze o una o più istanze Spot. RunInstancesrichiede 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' EBS-backedAMI Amazon crea 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.
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.
Resources
AMI
La policy seguente consente gli utenti di avviare le istanze soltanto tramite le AMI specificate, ami-9e1670f7 e ami-45cf5c3c. Gli utenti non possono avviare un'istanza con altre AMI (a meno che un'altra istruzione non conceda loro l'autorizzazione corrispondente).
In alternativa, la policy seguente consente agli utenti di avviare le istanze da tutte le AMI di proprietà di Amazon o di determinati partner sicuri e verificati. L'elemento Condition della prima istruzione verifica se ec2:Owner è amazon. Gli utenti non possono avviare un'istanza con altre AMI (a meno che un'altra istruzione non conceda loro l'autorizzazione corrispondente).
Tipi di istanza
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.
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.
Sottoreti
La policy seguente consente agli utenti di avviare le istanze soltanto tramite la sottorete subnet- specificata. Il gruppo non può avviare le istanze in altre sottoreti (a meno che un'altra istruzione non conceda agli utenti l'autorizzazione corrispondente).12345678
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-. Questa negazione sostituisce le altre policy create per consentire l'avvio delle istanze in altre sottoreti.12345678
Volumi EBS
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.
Tag
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.
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.
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.
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.
Per impedire a chiunque abbia chiamato tag on create for RunInstances
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 policy non viene valutata se non ci sono tag spot-instances-request, quindi una richiesta Spot on Run senza tag ha esito positivo.
Tag in un modello di avvio
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.
GPU elastiche
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.
Modelli di avvio
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.
In questo esempio, gli utenti possono avviare le istanze solo se utilizzano un modello di avvio specifico. La policy utilizza la chiave di condizione ec2:IsLaunchTemplateResource per impedire agli utenti di sovrascrivere qualsiasi ARN preesistente del modello di avvio.
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'NotResourceelemento 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.
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.
Utilizzo delle Istanze spot
È possibile utilizzare l' RunInstances azione per creare richieste di istanza Spot e contrassegnare le richieste di istanza 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 contrassegni una richiesta di istanza Spot al momento della creazione, Amazon EC2 non valuta la
spot-instances-requestrisorsa nella RunInstances dichiarazione. -
Se tagghi una richiesta di istanza Spot al momento della creazione, Amazon EC2 valuta la
spot-instances-requestrisorsa contenuta nell'istruzione. RunInstances
Pertanto, per la risorsa spot-instances-request, alla policy IAM si applicano le seguenti regole:
-
Se lo utilizzi RunInstances per creare una richiesta di istanza Spot e non intendi etichettare la richiesta di istanza Spot al momento della creazione, non è necessario consentire esplicitamente la
spot-instances-requestrisorsa; la chiamata avrà esito positivo. -
Se lo utilizzi RunInstances per creare una richiesta di istanza Spot e intendi etichettare la richiesta di istanza Spot al momento della creazione, devi includere la
spot-instances-requestrisorsa nell'istruzione RunInstances allow, altrimenti la chiamata avrà esito negativo. -
Se lo 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-requestrisorsa o il*carattere jolly nell'istruzione CreateTags allow, altrimenti la chiamata avrà esito negativo.
Puoi richiedere le istanze Spot utilizzando RunInstances o. RequestSpotInstances Il seguente esempio di policy IAM si applica 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 le istanze Spot.
Nota
Da utilizzare RunInstances per creare richieste di istanze Spot, puoi ometterle spot-instances-request dall'Resourceelenco se non intendi taggare le richieste di istanza Spot al momento della creazione. Questo perché Amazon EC2 non valuta la spot-instances-request risorsa nella RunInstances dichiarazione se la richiesta di istanza Spot non è contrassegnata al momento della creazione.
avvertimento
NON SUPPORTATO — Esempio: negare agli utenti il permesso di richiedere istanze Spot utilizzando RunInstances
La seguente policy non è supportata per la risorsa spot-instances-request.
La seguente politica ha lo scopo di concedere agli utenti il permesso di avviare On-Demand istanze, ma negare agli utenti il permesso di richiedere istanze Spot. La spot-instances-request risorsa, creata da RunInstances, è la risorsa che richiede le istanze Spot. La seconda dichiarazione 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 nella RunInstances dichiarazione se la richiesta dell'istanza Spot non è contrassegnata al momento della creazione.
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 contrassegni una richiesta di istanza Spot al momento della creazione, Amazon EC2 valuta la spot-instances-request risorsa nella dichiarazione. RunInstances Pertanto, è necessario consentire esplicitamente alla spot-instances-request risorsa di eseguire l' RunInstances azione, altrimenti la chiamata avrà esito negativo.
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 è contrassegnata in fase di creazione, la RunInstances chiamata avrà esito negativo.
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 dichiarazione 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'assenza di tag genera un Unauthenticated errore. Tuttavia, se non viene specificato alcun tag per la richiesta di istanza Spot, Amazon EC2 non valuta la spot-instances-request risorsa nella RunInstances dichiarazione, il che comporta la creazione di richieste di istanza Spot senza tag da parte di. RunInstances
Nota che specificare un altro tag diverso da quello environment=production genera un Unauthenticated errore, perché se un utente tagga una richiesta di istanza Spot, Amazon EC2 valuta la spot-instances-request risorsa nella dichiarazione. RunInstances
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 dichiarazione 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.
Esempio: utilizzo delle Istanze riservate
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 * 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 * è necessario inoltre nei casi in cui l'operazione dell'API non supporta le autorizzazioni a livello di risorsa.
Per consentire agli utenti di visualizzare e modificare le Istanze riservate nell'account, ma non di acquistare nuove Istanze riservate.
Esempio: aggiunta di tag alle risorse
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.
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.
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.
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.
Esempio: utilizzo dei ruoli IAM
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.
Gli utenti devono disporre dell'autorizzazione per utilizzare l'iam:PassRoleazione per passare il ruolo all'istanza.
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.
Esempio: utilizzo delle tabelle di routing
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.
Esempio: consenti a un'istanza specifica di visualizzare le risorse in altre AWS services
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.
Esempio: utilizzo dei modelli di avvio
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-). Gli utenti non possono utilizzare altri modelli di lancio.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.
Utilizzo dei metadati delle istanze
Le policy seguenti assicurano che gli utenti possano recuperare i metadati delle istanze solo utilizzando Servizio di metadati dell'istanza Versione 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 dei RunInstances metadati devono essere utilizzate insieme a una politica che fornisca le autorizzazioni principali con cui avviare un'istanza. RunInstances Se anche il principale non dispone RunInstances delle autorizzazioni, non sarà in grado di avviare un'istanza. Per ulteriori informazioni, consulta le policy Utilizzo delle istanze e Istanze di avvio () RunInstances.
Importante
Se si utilizzano gruppi Auto Scaling e si deve richiedere l'uso di IMDSv2 su tutte le nuove istanze, i gruppi Auto Scaling devono utilizzare i 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 sull'uso di IMDSv1 su principal IAM per RunInstances vengono verificate solo quando viene creato o aggiornato un gruppo 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.
Per applicare l'uso di IMDSv2 su istanze lanciate dai gruppi Auto Scaling, sono necessari i seguenti passaggi aggiuntivi:
-
Disabilitare l'utilizzo delle configurazioni di avvio per tutti gli account dell'organizzazione utilizzando i limiti delle autorizzazioni IAM o le policy di controllo del servizio (SCP) per i nuovi principal 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 comenull. -
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
$lateste$defaultspecificando"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 LaunchTemplateSpecification Amazon EC2 Auto Scaling API Reference, in particolare il parametro.Version -
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 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.
Esempi
Richiesta dell'uso di IMDSv2
La seguente policy specifica che non è possibile chiamare l' RunInstances API a meno che l'istanza non richieda anche l'uso di IMDSv2 (indicato da). "ec2:MetadataHttpTokens": "required" Se non specifichi che l'istanza richiede IMDSv2, riceverai un errore quando chiami l'API. UnauthorizedOperation RunInstances
Come negare l'esclusione da IMDSv2
La seguente policy specifica che non puoi chiamare l'API ModifyInstanceMetadataOptions e consentire l'opzione IMDSv1 o IMDSv2. Se chiami l'API ModifyInstanceMetadataOptions, l'attributo HttpTokens deve essere impostato su required.
Specificare limite massimo di hop
La seguente politica specifica che non è possibile chiamare l' RunInstances API a meno che non si specifichi anche un limite di hop e che il limite di hop non può essere superiore a 3. Se non riesci a farlo, ricevi un UnauthorizedOperation errore quando chiami l' RunInstances API.
Limitazione di chi può modificare le opzioni dei metadati dell'istanza
Con la policy seguente, gli utenti con il ruolo ec2-imds-admins potranno apportare modifiche alle opzioni di metadati dell'istanza. Se un responsabile diverso dal ec2-imds-admins ruolo tenta di chiamare l' ModifyInstanceMetadataOptions API, riceverà un UnauthorizedOperation errore. Questa dichiarazione potrebbe essere utilizzata per controllare l'uso dell' ModifyInstanceMetadataOptions API; attualmente non esistono controlli di accesso (condizioni) dettagliati per l'API. ModifyInstanceMetadataOptions
Richiesta delle credenziali del ruolo da recuperare da IMDSv2
La policy seguente specifica che se questa policy 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 dalle credenziali del ruolo EC2 recuperate da IMDSv2. In caso contrario, per tutte le relative chiamate all'API si verifica un errore UnauthorizedOperation. Questo statement/policy può essere applicato in generale perché, se la richiesta non è firmata dalle credenziali del ruolo EC2, non ha alcun effetto.
Lavora con volumi e snapshot Amazon EBS
Ad esempio, politiche per l'utilizzo di volumi e snapshot di Amazon EBS, consulta gli esempi di Identity-based policy per Amazon EBS.