Passaggio all'utilizzo di Servizio di metadati dell'istanza Versione 2 - 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à.

Passaggio all'utilizzo di Servizio di metadati dell'istanza Versione 2

Se desideri configurare le 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 aiutarti a identificare, monitorare e gestire la transizione del tuo software da IMDSv1 a IMDSv2. Per le istruzioni su come utilizzare questi strumenti, vederePercorso consigliato per la richiesta IMDSv2.

AWS software

Le versioni più recenti di AWS CLI e il AWS SDKs supporto IMDSv2. Per utilizzarleIMDSv2, aggiorna le EC2 istanze per utilizzare le versioni più recenti. Per le versioni AWS SDK minime supportate IMDSv2, consulta. Utilizzo di un SDK AWS supportato

Supportano tutti i pacchetti software Amazon Linux 2 e Amazon Linux 2023 IMDSv2. Amazon Linux 2023 viene disabilitato IMDSv1 per impostazione predefinita.

IMDS Packet Analyzer

IMDS Packet Analyzer è uno strumento open source che identifica e registra le IMDSv1 chiamate durante la fase di avvio e le operazioni di runtime dell'istanza. Analizzando questi log, puoi identificare con precisione il software che effettua IMDSv1 chiamate sulle tue istanze e determinare cosa deve essere aggiornato per supportare solo le tue istanze. IMDSv2 Puoi eseguire IMDS Packet Analyzer da una riga di comando o installarlo come servizio. Per ulteriori informazioni, vedere on. AWS ImdsPacketAnalyzerGitHub

CloudWatch

CloudWatch fornisce le due metriche seguenti per il monitoraggio delle istanze:

MetadataNoToken— IMDSv2 utilizza sessioni supportate da token, mentre non lo fa. IMDSv1 La MetadataNoToken metrica tiene traccia del numero di chiamate all'Instance Metadata Service (IMDS) utilizzate. 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 la MetadataNoTokenRejected metrica per tenere traccia del numero di volte in cui una IMDSv1 chiamata è stata tentata e rifiutata. Monitorando questa metrica, puoi verificare se il tuo software deve essere aggiornato per essere utilizzato. IMDSv2

Per ulteriori informazioni, consulta Parametri dell'istanza.

Avvio APIs

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'utilizzo IMDSv2 su istanze esistenti. Per ulteriori informazioni, consulta Modifica delle opzioni dei metadati dell'istanza per le istanze esistenti.

Nuove istanze lanciate dai gruppi Amazon EC2 Auto Scaling: per richiedere l'uso IMDSv2 di su tutte le nuove istanze lanciate dai gruppi Amazon Auto EC2 Scaling, i gruppi Amazon EC2 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 Amazon EC2 Auto Scaling lancia nuove istanze utilizzando il nuovo modello di avvio o la nuova configurazione di avvio, ma le istanze esistenti non ne risentono.

Istanze esistenti in un gruppo Amazon EC2 Auto Scaling: utilizza l'API per richiedere ModifyInstanceMetadataOptionsl'utilizzo IMDSv2 su istanze esistenti oppure interrompi le istanze e il gruppo Amazon Auto EC2 Scaling lancerà nuove istanze sostitutive con le impostazioni delle opzioni di metadati dell'istanza definite nel nuovo modello di lancio o nella nuova configurazione di avvio.

AMIs

AMIs configurato con il ImdsSupport parametro impostato per avviare le istanze che lo richiedono per impostazione predefinita. v2.0 IMDSv2 Amazon Linux 2023 è configurato conImdsSupport = v2.0.

Nuovo AMIs: utilizza il comando CLI register-image per impostare ImdsSupport il parametro su quando si crea una nuova v2.0 AMI.

Esistente AMIs: utilizza il comando modify-image-attributeCLI per impostare il ImdsSupport parametro su v2.0 quando si modifica un'AMI esistente.

Per ulteriori informazioni, consulta Configurazione dell'AMI.

Politiche IAM e SCPs

Puoi utilizzare una policy IAM o una policy AWS Organizations di controllo dei servizi (SCP) per controllare gli utenti come segue:

  • Non è possibile avviare un'istanza utilizzando l'RunInstancesAPI a meno che l'istanza non sia configurata per l'uso IMDSv2.

  • Impossibile modificare un'istanza in esecuzione utilizzando l'ModifyInstanceMetadataOptionsAPI per IMDSv1 riattivarla.

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 API o CLI ha esito negativo e viene generata una risposta. UnauthorizedOperation

Inoltre, puoi scegliere un livello di protezione aggiuntivo per applicare la modifica da a. IMDSv1 IMDSv2 A livello di gestione degli accessi rispetto alle credenziali APIs richiamate tramite EC2 Role, è possibile utilizzare una chiave di condizione nelle policy IAM o nelle policy di controllo AWS Organizations del servizio ()SCPs. In particolare, utilizzando la chiave di condizione ec2:RoleDelivery con un valore pari 2.0 a nelle politiche IAM, le chiamate API effettuate con le credenziali EC2 Role ottenute da IMDSv1 riceveranno una UnauthorizedOperation risposta. 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 la chiamata, APIs poiché qualsiasi chiamata API che non corrisponde alla condizione specificata riceverà un UnauthorizedOperation errore.

Per esempi di policy IAM, consulta Utilizzo dei metadati delle istanze. Per ulteriori informazioni SCPs, consulta le politiche di controllo del servizio nella Guida per l'AWS Organizations utente.

Politiche dichiarative

Utilizza le politiche dichiarative (una funzionalità di AWS Organizations) da impostare e applicare centralmente IMDSv2 come versione IMDS predefinita in tutta l'organizzazione. Per un esempio di policy, consulta la scheda Instance Metadata Defaults nella sezione Politiche dichiarative supportate della Guida per l'utente.AWS Organizations

Fase 1: Identifica le istanze con IMDSv2 =optional e verifica l'utilizzo IMDSv1

Per valutare l'ambito IMDSv2 della migrazione, identifica le istanze configurate per consentire IMDSv1 o meno e verifica le IMDSv2 chiamate. IMDSv1

  1. Identifica le istanze configurate per consentire una delle due o: IMDSv1 IMDSv2

    Amazon EC2 console
    1. Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/.

    2. Nel riquadro di navigazione, scegliere Instances (Istanze).

    3. Per visualizzare solo le istanze configurate per consentire IMDSv1 o IMDSv2, aggiungi il filtro IMDSv2 = opzionale.

    4. In alternativa, per vedere se IMDSv2 è facoltativo o obbligatorio per tutte le istanze, apri la finestra Preferenze (icona a forma di ingranaggio), attiva e scegli IMDSv2Conferma. In questo modo la IMDSv2colonna viene aggiunta alla tabella Istanze.

    AWS CLI

    Utilizzate il comando describe-instances e filtrate per, come segue: metadata-options.http-tokens = optional

    aws ec2 describe-instances --filters "Name=metadata-options.http-tokens,Values=optional" --query "Reservations[*].Instances[*].[InstanceId]" --output text
  2. IMDSv1 Chiamate di controllo su ogni istanza:

    Usa la CloudWatch metricaMetadataNoToken. Questa metrica mostra il numero di IMDSv1 chiamate all'IMDS sulle tue istanze. Per ulteriori informazioni, consulta Metriche delle istanze.

  3. Identifica il software sulle tue istanze che IMDSv1 effettuano chiamate:

    Utilizza l'IMDS Packet Analyzer open source per identificare e registrare le IMDSv1 chiamate durante la fase di avvio e le operazioni di runtime dell'istanza. Utilizza queste informazioni per identificare il software da aggiornare e preparare solo le istanze all'uso. IMDSv2 Puoi eseguire IMDS Packet Analyzer da una riga di comando o installarlo come servizio.

Passaggio 2: Aggiornare il software a IMDSv2

Aggiorna tutto SDKs il CLIs software e il software che utilizzano le credenziali Role sulle tue istanze a versioni IMDSv2 compatibili. 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 .

Fase 3: Richiedere nessuna istanza IMDSv2

Dopo aver confermato l'assenza di IMDSv1 chiamate tramite la MetadataNoToken metrica, configura le istanze esistenti su require. IMDSv2 Inoltre, configura tutte le nuove istanze da richiedere. IMDSv2 In altre parole, disabilita IMDSv1 su tutte le istanze esistenti e nuove.

  1. Configura le istanze esistenti per richiedere: IMDSv2

    Amazon EC2 console
    1. Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/.

    2. Nel riquadro di navigazione, scegliere Instances (Istanze).

    3. Selezionare l'istanza.

    4. Seleziona Operazioni, Impostazioni istanza, Modifica opzioni dei metadati dell'istanza.

    5. Per IMDSv2, scegli Obbligatorio.

    6. Scegli Save (Salva).

    AWS CLI

    Usa il comando modify-instance-metadata-optionsCLI per specificare che deve essere IMDSv2 usato solo.

    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 Richiedi l'uso di IMDSv2.

  2. Monitora i problemi dopo la IMDSv1 disabilitazione:

    1. Tieni traccia del numero di volte in cui una IMDSv1 chiamata è stata tentata e rifiutata con la MetadataNoTokenRejected CloudWatch metrica.

    2. Se la MetadataNoTokenRejected metrica registra IMDSv1 le chiamate su un'istanza che presenta problemi software, ciò indica che il software richiede un aggiornamento per essere utilizzato. IMDSv2

  3. Configura nuove istanze per richiedere: IMDSv2

    Amazon EC2 console
    1. Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/.

    2. Segui i passaggi per avviare un'istanza.

    3. Espandi i dettagli avanzati e, per la versione Metadata, scegli solo V2 (è richiesto il token).

    4. Nel pannello Summary (Riepilogo), verifica la configurazione dell'istanza, quindi scegli Launch instance (Avvia istanza).

      Per ulteriori informazioni, consulta Configurazione dell'istanza all'avvio.

    AWS CLI

    AWS CLI: utilizzate il comando run-instances e specificate che è richiesto. IMDSv2

Passaggio 4: imposta IMDSv2 =required come predefinito

Puoi impostare IMDSv2 =required come configurazione predefinita a livello di account o di organizzazione. Ciò garantisce che tutte le istanze appena avviate siano automaticamente configurate in modo da richiedere. IMDSv2

  1. Imposta il valore predefinito a livello di account:

    Amazon EC2 console
    1. Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/.

    2. Nella EC2 dashboard, in Attributi dell'account, scegli Protezione e sicurezza dei dati.

    3. In Impostazioni predefinite IMDS, scegli Gestisci.

    4. Ad esempio, servizio di metadati, scegli Abilitato.

    5. Per la versione dei metadati, scegli solo la V2 (è richiesto il token).

    6. Scegliere Aggiorna.

    AWS CLI

    Utilizzate il comando modify-instance-metadata-defaultsCLI e specificate --http-tokens required e. --http-put-response-hop-limit 2

    Per ulteriori informazioni, consulta Imposta IMDSv2 come impostazione predefinita per l'account.

  2. In alternativa, imposta il valore predefinito a livello di organizzazione utilizzando una politica dichiarativa:

    Utilizza una politica dichiarativa per impostare come obbligatorio l'impostazione predefinita dell'organizzazione. IMDSv2 Per un esempio di policy, consulta la scheda Instance Metadata Defaults nella sezione Politiche dichiarative supportate della Guida per l'utente.AWS Organizations

Fase 5: Applica le istanze da richiedere IMDSv2

Utilizza le seguenti chiavi di condizione IAM o SCP per imporre l'utilizzo: IMDSv2

  • ec2:MetadataHttpTokens

  • ec2:MetadataHttpPutResponseHopLimit

  • ec2:MetadataHttpEndpoint

Questi tasti condizionali controllano l'uso di RunInstancese ModifyInstanceMetadataOptions APIs e corrispondenti. CLIs 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.