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 scegli di eseguire la migrazione a IMDSv2, ti consigliamo di utilizzare gli strumenti e il percorso di transizione seguenti.
Argomenti
Strumenti per semplificare la transizione a IMDSv2
Se il software utilizza IMDSv1, gli strumenti seguenti consentono di riconfigurare il software per utilizzare IMDSv2.
- AWS software
-
Le versioni più recenti degli AWS CLI AWS SDK supportano IMDSv2. Per utilizzare IMDSv2, accertati che le istanze EC2 dispongano delle versioni più recenti della CLI e degli SDK. Per informazioni sull'aggiornamento della CLI, consulta Installazione, aggiornamento e disinstallazione di AWS CLI nella Guida per l'utente di AWS Command Line Interface .
Tutti i pacchetti software Amazon Linux 2 e Amazon Linux 2023 supportano iMDSv2. In Amazon Linux 2023, iMDSv1 è disabilitato per impostazione predefinita.
Per le versioni AWS SDK minime che supportano IMDSv2, consulta. Utilizzo di un SDK AWS supportato
- IMDS Packet Analyzer
-
IMDS Packet Analyzer è uno strumento open source che identifica e registra le chiamate IMDSv1 dalla fase di avvio dell'istanza. Questo strumento può aiutare a identificare il software che effettua chiamate IMDSv1 sulle istanze EC2, consentendoti di individuare esattamente cosa devi aggiornare per preparare le tue istanze al solo utilizzo di IMDSv2. Puoi eseguire IMDS Packet Analyzer da una riga di comando o installarlo come servizio. Per ulteriori informazioni, vedere IMDS
Packet Analyzer su. GitHub - CloudWatch
-
IMDSv2 utilizza sessioni supportate da token, mentre IMDSv1 no. La
MetadataNoToken
CloudWatch metrica 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.Dopo aver disabilitato IMDSv1, puoi utilizzare la
MetadataNoTokenRejected
CloudWatch metrica per tenere traccia del numero di volte in cui una chiamata IMDSv1 è stata tentata e rifiutata. Monitorando questa metrica, puoi verificare se il tuo software deve essere aggiornato per utilizzare IMDSv2.Per ulteriori informazioni, consulta Parametri dell'istanza.
- Aggiornamenti alle API e alle CLI di EC2
-
Per le nuove istanze, puoi utilizzare 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.
Per le istanze esistenti, puoi utilizzare l'ModifyInstanceMetadataOptionsAPI per richiedere l'uso di IMDSv2. Per ulteriori informazioni, consulta Modifica delle opzioni dei metadati dell'istanza per le istanze esistenti.
Per richiedere l'utilizzo di IMDSv2 in tutte le nuove istanze avviate 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
MetadataOptions
per 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. Per le istanze esistenti in un gruppo Auto Scaling, è possibile utilizzare l'API per richiedere ModifyInstanceMetadataOptionsl'uso di IMDSv2 sulle istanze esistenti oppure terminare le istanze e il gruppo Auto Scaling lancerà nuove istanze sostitutive con le impostazioni delle opzioni dei metadati dell'istanza definite nel nuovo modello di avvio o nella nuova configurazione di avvio. - Usa un'AMI che configura IMDSv2 per impostazione predefinita
-
Quando avvii un'istanza, puoi configurarla automaticamente per l'uso di IMDSv2 per impostazione predefinita (il parametro
HttpTokens
è impostato surequired
) avviandola con un'AMI configurata con il parametroImdsSupport
impostato suv2.0
. È possibile impostare ilImdsSupport
parametro suv2.0
quando si registra l'AMI utilizzando il comando CLI register-image oppure modificare un'AMI esistente utilizzando il comando CLI. modify-image-attribute Per ulteriori informazioni, consulta Configurazione dell'AMI. - Policy IAM e SCP
-
È possibile utilizzare una policy IAM o una policy di controllo dei AWS Organizations servizi (SCP) per controllare gli utenti nel modo seguente:
-
Non è possibile avviare un'istanza utilizzando l'RunInstancesAPI a meno che l'istanza non sia configurata per utilizzare IMDSv2.
-
Impossibile modificare un'istanza in esecuzione 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 nell'API o nella CLI non corrisponde allo stato specificato nella policy che contiene la chiave di condizione, la chiamata dell'API o della CLI non riesce e viene restituita la risposta
UnauthorizedOperation
.Inoltre, puoi scegliere un livello aggiuntivo di protezione per imporre la modifica da IMDSv1 a IMDSv2. A livello di gestione degli accessi rispetto alle API richiamate tramite le credenziali EC2 Role, puoi utilizzare una nuova chiave di condizione nelle policy IAM o AWS Organizations nelle policy di controllo dei servizi (SCP). In particolare, utilizzando la chiave di condizione della policy
ec2:RoleDelivery
con il valore2.0
nelle 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ò assicura che le credenziali distribuite tramite IMDSv1 non possano di fatto essere utilizzate per chiamare API perché le eventuali chiamate API che non corrispondono alla condizione specificata riceveranno un erroreUnauthorizedOperation
.Per esempi di policy IAM, consulta Utilizzo dei metadati delle istanze. Per ulteriori informazioni sulle SCP, consulta Service Control Policies (Policy di controllo dei servizi) nella Guida per l'utente di AWS Organizations .
-
Percorso consigliato per richiedere IMDSv2
Utilizzando gli strumenti precedenti, ti consigliamo di seguire questo percorso per eseguire la transizione a IMDSv2.
Fase 1: all'inizio
Aggiorna gli SDK, le CLI e il software che utilizza credenziali del ruolo sulle istanze EC2 a versioni compatibili con IMDSv2. Per informazioni sull'aggiornamento della CLI, consulta Aggiornamento all'ultima versione della AWS CLI nella Guida per l'utente di AWS Command Line Interface .
Quindi, modifica il software che accede direttamente ai metadati dell'istanza (in altre parole, che non utilizza un SDK) utilizzando le richieste IMDSv2. Puoi utilizzare IMDS Packet Analyzer
Fase 2: monitoraggio dell'avanzamento della transizione
Tieni traccia dei progressi della transizione utilizzando la metrica. CloudWatch MetadataNoToken
Tale parametro mostra il numero di chiamate IMDSv1 al servizio di metadati dell'istanza (IMDS) nelle istanze. Per ulteriori informazioni, consulta Parametri dell'istanza.
Fase 3: quando l'utilizzo di IMDSv1 è pari a zero
Quando la CloudWatch metrica MetadataNoToken
registra un utilizzo pari a zero per IMDSv1, le istanze sono pronte per la transizione completa all'utilizzo di IMDSv2. In questa fase, puoi fare quanto segue:
-
Account predefinito
È possibile impostare IMDSv2 in modo che sia obbligatorio come account predefinito. All'avvio di un'istanza, la configurazione dell'istanza viene automaticamente impostata sui valori predefiniti dell'account.
Per impostare l'account predefinito, procedi come segue:
-
Console Amazon EC2: nella dashboard EC2, in Attributi dell'account, protezione dei dati e sicurezza, per le impostazioni predefinite IMDS, imposta il servizio di metadati dell'istanza su Enabled e la versione dei metadati solo su V2 (token richiesto). Per ulteriori informazioni, consulta Imposta IMDSv2 come predefinito per l'account.
-
AWS CLI: utilizzate il comando modify-instance-metadata-defaultsCLI e specificate
--http-tokens required
e.--http-put-response-hop-limit
2
-
-
Nuove istanze
Quando avvii una nuova istanza, puoi effettuare le operazioni seguenti:
-
Console di Amazon EC2: nella procedura guidata di avvio dell'istanza, imposta Metadata accessible (Metadati accessibili) su Enabled (Abilitato) e Metadata version (Versione metadati) su V2 only (token required) (Solo V2 [token richiesto]). Per ulteriori informazioni, consulta Configurazione dell'istanza all'avvio.
-
AWS CLI: utilizzate il comando CLI run-instances e specificate che IMDSv2 è obbligatorio.
-
-
Istanze esistenti
Per le istanze esistenti, procedi come indicato di seguito:
-
Console Amazon EC2: seleziona l'istanza nella pagina Istanze, scegli Operazioni, Impostazioni istanza, Modifica opzioni dei metadati dell'istanza e, per IMDSv2, scegli Obbligatorio. Per ulteriori informazioni, consulta Richiesta dell'uso di IMDSv2.
-
AWS CLI: utilizzare il comando modify-instance-metadata-optionsCLI per specificare che deve essere utilizzato solo IMDSv2.
Puoi modificare le opzioni dei metadati dell'istanza nelle istanze in esecuzione, senza dover riavviare le istanze dopo aver apportato le modifiche.
-
Fase 4: verifica se le istanze hanno eseguito la transizione a IMDSv2
Puoi verificare se alcune istanze non sono ancora configurate per l'utilizzo di IMDSv2, in altre parole, se IMDSv2 è ancora configurato come optional
. Se alcune istanze sono ancora configurate come optional
, puoi modificare le opzioni dei metadati dell'istanza per rendere IMDSv2 required
ripetendo la fase 3 precedente.
Per filtrare le istanze:
-
Console Amazon EC2: nella pagina Istanze, filtra le istanze utilizzando il filtro IMDSv2 = facoltativo. Per ulteriori informazioni sul filtro, consulta Filtrare le risorse mediante la console. Puoi anche vedere se IMDSv2 è obbligatorio o facoltativo per ogni istanza: nella finestra Preferenze, attiva IMDSv2 per aggiungere la colonna IMDSv2 alla tabella Istanze.
-
AWS CLI: utilizza il comando CLI describe-instances e filtra per
metadata-options.http-tokens = optional
, come mostrato:aws ec2 describe-instances --filters "Name=metadata-options.http-tokens,Values=optional" --query "Reservations[*].Instances[*].[InstanceId]" --output text
Fase 5: quando tutte le istanze hanno eseguito la transizione a IMDSv2
Le chiavi di condizione ec2:MetadataHttpTokens
ec2:MetadataHttpPutResponseHopLimit
, e ec2:MetadataHttpEndpoint
IAM possono essere utilizzate per controllare l'uso delle ModifyInstanceMetadataOptionsAPI RunInstancese delle CLI 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.
Inoltre, dopo aver disabilitato IMDSv1, puoi utilizzare la MetadataNoTokenRejected
CloudWatch metrica per tenere traccia del numero di volte in cui una chiamata IMDSv1 è stata tentata e rifiutata. Se, dopo aver disabilitato IMDSv1, il software non funziona correttamente e la MetadataNoTokenRejected
metrica registra le chiamate IMDSv1, è probabile che questo software debba essere aggiornato per utilizzare IMDSv2.