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à.
Passaggio all'utilizzo di Servizio di metadati dell'istanza Versione 2
Se desideri configurare le tue istanze in modo che accettino solo chiamate Instance Metadata Service Version 2 (IMDSv2), ti consigliamo di utilizzare i seguenti strumenti e il percorso di transizione.
Strumenti per la transizione a IMDSv2
I seguenti strumenti possono aiutarvi a identificare, monitorare e gestire la transizione del vostro software da IMDSv1 a IMDSv2. Per le istruzioni su come utilizzare questi strumenti, vedere. Percorso consigliato per richiedere IMDSv2
- AWS software
-
Le versioni più recenti di AWS CLI e gli AWS SDK supportano IMDSv2. Per usare IMDSv2, aggiorna le tue istanze EC2 per utilizzare le versioni più recenti. Per le versioni minime dell' AWS SDK che supportano IMDSv2, consulta. Usa un supporto AWS SDK
Tutti i pacchetti software Amazon Linux 2 e Amazon Linux 2023 supportano IMDSv2. Amazon Linux 2023 disabilita IMDSv1 per impostazione predefinita.
- IMDS Packet Analyzer
-
IMDS Packet Analyzer è uno strumento open source che identifica e registra le chiamate IMDSv1 durante la fase di avvio e le operazioni di runtime dell'istanza. Analizzando questi log, potete identificare con precisione il software che effettua chiamate IMDSv1 sulle vostre istanze e determinare cosa deve essere aggiornato per supportare IMDSv2 solo sulle vostre istanze. Puoi eseguire IMDS Packet Analyzer da una riga di comando o installarlo come servizio. AWS ImdsPacketAnalyzer
Per GitHub ulteriori informazioni, consulta su. - CloudWatch
-
CloudWatch fornisce le due metriche seguenti per il monitoraggio delle istanze:
MetadataNoToken— IMDSv2 utilizza sessioni supportate da token, mentre IMDSv1 no. LaMetadataNoTokenmetrica tiene traccia del numero di chiamate all'Instance Metadata Service (IMDS) che utilizzano IMDSv1. Monitorando questo parametro a zero, puoi determinare se e quando tutto il software è stato aggiornato per utilizzare IMDSv2.MetadataNoTokenRejected— Dopo aver disabilitato IMDSv1, puoi utilizzare laMetadataNoTokenRejectedmetrica per tenere traccia del numero di volte in cui una chiamata IMDSv1 è stata tentata e rifiutata. Monitorando questa metrica puoi verificare se il software deve essere aggiornato per utilizzare IMDSv2.Per ogni istanza EC2, queste metriche si escludono a vicenda. Quando IMDSv1 è abilitato (), emette solo.
httpTokens = optionalMetadataNoTokenQuando IMDSv1 è disabilitato (), emette solo.httpTokens = requiredMetadataNoTokenRejectedPer sapere quando utilizzare queste metriche, consulta. Percorso consigliato per richiedere IMDSv2Per ulteriori informazioni, consulta Parametri dell'istanza.
- Avvia le API
-
Nuove istanze: utilizza l'RunInstancesAPI per avviare nuove istanze che richiedono l'uso di IMDSv2. Per ulteriori informazioni, consulta Configurazione delle opzioni dei metadati dell'istanza per le nuove istanze.
Istanze esistenti: utilizza l'ModifyInstanceMetadataOptionsAPI per richiedere l'uso di IMDSv2 su istanze esistenti. Per ulteriori informazioni, consulta Modifica delle opzioni dei metadati dell'istanza per le istanze esistenti.
Nuove istanze lanciate dai gruppi Auto Scaling: per richiedere l'uso di IMDSv2 su tutte le nuove istanze lanciate dai gruppi Auto Scaling, i gruppi Auto Scaling possono utilizzare un modello di avvio o una configurazione di avvio. Quando crei un modello di avvio o una configurazione di avvio, devi configurare i parametri
MetadataOptionsper richiedere l'utilizzo di IMDSv2. Il gruppo con scalabilità automatica avvia le nuove istanza tramite il nuovo modello di avvio o configurazione di avvio, senza coinvolgere le istanze esistenti.Istanze esistenti in un gruppo Auto Scaling: utilizza l'ModifyInstanceMetadataOptionsAPI per richiedere l'uso di IMDSv2 su istanze esistenti o termina le istanze e il gruppo Auto Scaling avvierà nuove istanze sostitutive con le impostazioni delle opzioni dei metadati delle istanze definite nel nuovo modello di avvio o nella nuova configurazione di avvio.
- AMI
-
Le AMI configurate con il parametro impostato per avvieranno le istanze che richiedono IMDSv2 per impostazione predefinita.
ImdsSupportv2.0Amazon Linux 2023 è configurato con.ImdsSupport = v2.0Nuove AMI: utilizza il comando register-image CLI per impostare il
ImdsSupportparametro suv2.0quando crei una nuova AMI.AMI esistenti: utilizzate il comando CLI modify-image-attribute per impostare il parametro su quando modificate un'AMI esistente.
ImdsSupportv2.0Per ulteriori informazioni, consulta Configurazione dell'AMI.
- Account-level controlli
-
È possibile configurare i valori predefiniti per tutte le opzioni di metadati delle istanze a livello di account. I valori predefiniti vengono applicati automaticamente all'avvio di un'istanza. Per ulteriori informazioni, vedere. Configurazione di IMDSv2 come impostazione predefinita per l'account
È inoltre possibile imporre l'obbligo di utilizzare IMDSv2 a livello di account. Quando l'applicazione di IMDSv2 è abilitata:
-
Nuove istanze: le istanze configurate per l'avvio con IMDSv1 abilitato non verranno avviate
-
Istanze esistenti con IMDSv1 disabilitato: i tentativi di abilitare IMDSv1 su istanze esistenti saranno impediti.
-
Istanze esistenti con IMDSv1 abilitato: le istanze esistenti con IMDSv1 già abilitato non saranno interessate.
Per ulteriori informazioni, consulta Applica IMDSv2 a livello di account.
-
- Policy IAM e SCP
-
Puoi utilizzare una policy IAM o una policy di controllo del AWS Organizations servizio (SCP) per controllare gli utenti come segue:
-
Non è possibile avviare un'istanza utilizzando l'RunInstancesAPI a meno che l'istanza non sia configurata per utilizzare IMDSv2.
-
Non è possibile modificare un'istanza esistente utilizzando l'ModifyInstanceMetadataOptionsAPI per riattivare IMDSv1.
La policy IAM o SCP deve contenere le chiavi di condizione IAM indicate di seguito:
-
ec2:MetadataHttpEndpoint -
ec2:MetadataHttpPutResponseHopLimit -
ec2:MetadataHttpTokens
Se un parametro nella chiamata API o CLI non corrisponde allo stato specificato nella policy che contiene la chiave di condizione, la chiamata all'API o alla CLI ha esito negativo con una risposta.
UnauthorizedOperationInoltre, puoi scegliere un livello aggiuntivo di protezione per imporre la modifica da IMDSv1 a IMDSv2. A livello di gestione degli accessi rispetto alle API chiamate tramite le credenziali del ruolo EC2, puoi utilizzare una chiave di condizione nelle policy IAM o nelle policy di controllo dei AWS Organizations servizi (SCP). In particolare, utilizzando la chiave di condizione della policy
ec2:RoleDeliverycon il valore2.0nelle policy IAM, le chiamate dell'API effettuate con le credenziali del ruolo EC2 ottenute da IMDSv1 riceveranno una rispostaUnauthorizedOperation. Lo stesso può essere ottenuto su scala più ampia con tale condizione richiesta da un SCP. Ciò garantisce che le credenziali fornite tramite IMDSv1 non possano essere effettivamente utilizzate per chiamare le API perché qualsiasi chiamata API che non corrisponde alla condizione specificata riceverà un errore.UnauthorizedOperationPer esempi di policy IAM, consulta Utilizzo dei metadati delle istanze. Per ulteriori informazioni sulle policy di controllo dei servizi (SCP), consulta Service control policies nella Guida per l’utente di AWS Organizations .
-
- Politiche dichiarative
-
Utilizza le politiche dichiarative (una funzionalità di AWS Organizations) per impostare centralmente le impostazioni predefinite degli account IMDS, inclusa l'applicazione di IMDSv2, in tutta l'organizzazione. Per un esempio di policy, consulta la scheda Metadati delle istanze nella sezione Politiche dichiarative supportate della Guida per l'utente. AWS Organizations
Percorso consigliato per richiedere IMDSv2
Utilizzando gli strumenti sopra riportati, consigliamo il seguente percorso per la transizione a IMDSv2:
Fase 1: Identifica le istanze con IMDSv2=opzionale e verifica l'utilizzo di IMDSv1
Per valutare l'ambito della migrazione a IMDSv2, identifica le istanze configurate per consentire IMDSv1 o IMDSv2 e verifica le chiamate IMDSv1.
-
Identifica le istanze configurate per consentire IMDSv1 o IMDSv2:
-
Controlla le chiamate IMDSv1 su ogni istanza:
Usa la metrica. CloudWatch
MetadataNoTokenTale parametro mostra il numero di chiamate IMDSv1 al servizio di metadati dell'istanza (IMDS) nelle istanze. Per ulteriori informazioni, consulta Parametri dell'istanza. -
Identifica il software sulle tue istanze che effettuano chiamate IMDSv1:
Utilizzate l'IMDS Packet Analyzer open source
per identificare e registrare le chiamate IMDSv1 durante la fase di avvio e le operazioni di runtime dell'istanza. Usa queste informazioni per identificare il software da aggiornare e preparare le tue istanze all'uso solo di IMDSv2. Puoi eseguire IMDS Packet Analyzer da una riga di comando o installarlo come servizio.
Fase 2: Aggiorna il software a IMDSv2
Aggiorna tutti gli SDK, le CLI e il software che utilizzano le credenziali di ruolo sulle tue istanze alle versioni. IMDSv2-compatible Per ulteriori informazioni sull’aggiornamento dell’interfaccia a riga di comando (CLI), consulta Installing or updating to the latest version of the AWS CLI nella Guida per l’utente di AWS Command Line Interface .
Passaggio 3: richiedi IMDSv2 sulle istanze
Dopo aver confermato zero chiamate IMDSv1 tramite la MetadataNoToken metrica, configura le istanze esistenti in modo che richiedano IMDSv2. Inoltre, configura tutte le nuove istanze in modo che richiedano IMDSv2. In altre parole, disabilita IMDSv1 su tutte le istanze esistenti e nuove.
-
Configura le istanze esistenti per richiedere IMDSv2:
Nota
È possibile modificare questa impostazione sulle istanze in esecuzione. La modifica ha effetto immediato senza che sia necessario riavviare l'istanza.
Per ulteriori informazioni, consulta Richiesta dell'uso di IMDSv2.
-
Monitora i problemi dopo aver disabilitato IMDSv1:
-
Tieni traccia del numero di volte in cui una chiamata IMDSv1 è stata tentata e rifiutata con la metrica.
MetadataNoTokenRejectedCloudWatch -
Se la
MetadataNoTokenRejectedmetrica registra le chiamate IMDSv1 su un'istanza che presenta problemi software, ciò indica che il software deve essere aggiornato per utilizzare IMDSv2.
-
-
Configura le nuove istanze in modo che richiedano IMDSv2:
Passaggio 4: imposta IMDSV2=Required come predefinito
È possibile impostare IMDSV2=Required come configurazione predefinita a livello di account o organizzazione. Ciò garantisce che tutte le istanze appena avviate siano configurate automaticamente per richiedere IMDSv2.
-
Imposta l'impostazione predefinita a livello di account:
Per ulteriori informazioni, consulta Configurazione di IMDSv2 come impostazione predefinita per l'account.
-
In alternativa, imposta l'impostazione predefinita a livello di organizzazione utilizzando una politica dichiarativa:
Utilizza una politica dichiarativa per impostare l'impostazione predefinita dell'organizzazione per IMDSv2 su obbligatoria. Per un esempio di policy, consulta la scheda Metadati dell'istanza nella sezione Politiche dichiarative supportate della Guida per l'utente. AWS Organizations
Fase 5: Imporre alle istanze di richiedere IMDSv2
Dopo aver verificato che non c'è dipendenza da IMDSv1 su nessuna delle tue istanze, ti consigliamo di applicare IMDSv2 su tutte le nuove istanze.
Usa una delle seguenti opzioni per applicare IMDSv2:
-
Applica IMDSv2 con una proprietà dell'account
È possibile imporre l'uso di IMDSv2 a livello di account per ciascuno. Regione AWS Una volta applicate, le istanze possono essere avviate solo se sono configurate per richiedere IMDSv2. Questa applicazione si applica indipendentemente dalla configurazione dell'istanza o dell'AMI. Per ulteriori informazioni, consulta Applica IMDSv2 a livello di account. Per applicare questa impostazione a livello di organizzazione, imposta una politica dichiarativa. Per un esempio di policy, consulta la scheda Metadati dell'istanza nella sezione Politiche dichiarative supportate della Guida per l'utente. AWS Organizations
Per evitare un'inversione dell'applicazione, è necessario utilizzare una policy IAM per impedire l'accesso all'API. ModifyInstanceMetadataDefaults Per ulteriori informazioni, consulta Utilizzo di una policy IAM.
Nota
Questa impostazione non modifica la versione IMDS delle istanze esistenti, ma blocca l'abilitazione di IMDSv1 sulle istanze esistenti che attualmente hanno IMDSv1 disabilitato.
avvertimento
Se l'imposizione di IMDSv2 è abilitata e non
httpTokensè impostata nella configurazione dell'istanza all'avvio,requirednelle impostazioni dell'account o nella configurazione AMI, l'avvio dell'istanza fallirà. Per informazioni sulla risoluzione dei problemi, consulta L'avvio di un' IMDSv1-enabled istanza non riesce. -
In alternativa, applica IMDSv2 utilizzando le seguenti chiavi di condizione IAM o SCP:
-
ec2:MetadataHttpTokens -
ec2:MetadataHttpPutResponseHopLimit -
ec2:MetadataHttpEndpoint
Queste chiavi di condizione controllano l'uso delle API RunInstances e delle CLI ModifyInstanceMetadataOptions corrispondenti. Se viene creata una policy e un parametro nella chiamata API non corrisponde allo stato specificato nella policy utilizzando la chiave di condizione, la chiamata all'API o alla CLI non va a buon e viene restituita la risposta
UnauthorizedOperation.Per esempi di policy IAM, consulta Utilizzo dei metadati delle istanze.
-