Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Übergang zur Verwendung von Instance-Metadatenservice Version 2
Wenn Sie Ihre Instances so konfigurieren möchten, dass sie nur Aufrufe von Instance Metadata Service Version 2 (IMDSv2) akzeptieren, empfehlen wir Ihnen, die folgenden Tools und den folgenden Übergangspfad zu verwenden.
Tools für den Übergang zu IMDSv2
Mit den folgenden Tools können Sie den Übergang Ihrer Software von zu identifizieren, zu überwachen und IMDSv1 zu IMDSv2 verwalten. Anweisungen zur Verwendung dieser Tools finden Sie unterEmpfohlener Pfad zur Anforderung IMDSv2.
- AWS Software
-
Die neuesten Versionen der AWS SDKs AWS CLI und unterstützen IMDSv2. Um IMDSv2 zu verwenden, aktualisieren Sie Ihre EC2-Instances, sodass sie die neuesten Versionen verwenden. Informationen zu den AWS SDK-Mindestversionen, die dies unterstützen IMDSv2, finden Sie unter. Verwenden Sie ein unterstütztes AWS SDK
Alle Amazon Linux 2- und Amazon Linux 2023-Softwarepakete IMDSv2 werden unterstützt. Amazon Linux 2023 ist IMDSv1 standardmäßig deaktiviert.
- IMDS-Paket-Analysator
-
IMDS Packet Analyzer ist ein Open-Source-Tool, das IMDSv1 Aufrufe während der Startphase und der Laufzeitvorgänge Ihrer Instance identifiziert und protokolliert. Durch die Analyse dieser Protokolle können Sie genau identifizieren, welche Software Ihre Instances IMDSv1 aufruft, und bestimmen, welche Software aktualisiert werden muss, damit sie IMDSv2 nur auf Ihren Instances unterstützt wird. Sie können IMDS-Paket-Analysator von der Befehlszeile aus ausführen oder als Service installieren. Weitere Informationen finden Sie AWS ImdsPacketAnalyzer
unter GitHub. - CloudWatch
-
CloudWatch bietet die folgenden zwei Metriken für die Überwachung Ihrer Instances:
MetadataNoToken— IMDSv2 verwendet tokengestützte Sitzungen, tut dies aber IMDSv1 nicht. DieMetadataNoTokenMetrik verfolgt die Anzahl der Aufrufe des Instance Metadata Service (IMDS), die verwendet werden. IMDSv1 Indem Sie diese Metrik bis zum Wert Null nachverfolgen, können Sie feststellen, ob und wann Ihre Software auf IMDSv2 aktualisiert wurde.MetadataNoTokenRejected— Nach der Deaktivierung IMDSv1 können Sie anhand derMetadataNoTokenRejectedMetrik verfolgen, wie oft ein IMDSv1 Anruf versucht und abgelehnt wurde. Indem Sie diese Metrik verfolgen, können Sie feststellen, ob Ihre Software aktualisiert werden muss, um sie verwenden IMDSv2 zu können.Für jede EC2-Instance schließen sich diese Metriken gegenseitig aus. Wenn aktiviert IMDSv1 ist (
httpTokens = optional), wird nur ausgegebenMetadataNoToken. Wenn deaktiviert IMDSv1 ist (httpTokens = required), wird nur ausgegebenMetadataNoTokenRejected. Wann Sie diese Metriken verwenden sollten, finden Sie unterEmpfohlener Pfad zur Anforderung IMDSv2.Weitere Informationen finden Sie unter Instance-Metriken.
- Starten APIs
-
Neue Instances: Verwenden Sie die RunInstancesAPI, um neue Instances zu starten, für die die Verwendung von erforderlich ist IMDSv2. Weitere Informationen finden Sie unter Konfigurieren von Instance-Metadatenoptionen für neue Instances.
Bestehende Instanzen: Verwenden Sie die ModifyInstanceMetadataOptionsAPI, um die Verwendung von IMDSv2 auf vorhandenen Instanzen vorzuschreiben. Weitere Informationen finden Sie unter Modifizieren von Instance-Metadatenoptionen für vorhandene Instances.
Neue Instances, die von Auto Scaling Scaling-Gruppen gestartet wurden: Um die Verwendung von IMDSv2 für alle neuen Instances zu verlangen, die von Auto Scaling Scaling-Gruppen gestartet werden, können Ihre Auto Scaling Scaling-Gruppen entweder eine Startvorlage oder eine Startkonfiguration verwenden. Wenn Sie eine Startvorlage erstellen oder eine Startkonfiguration erstellen, müssen Sie die
MetadataOptions-Parameter so konfigurieren, dass die Verwendung von IMDSv2 erforderlich ist. Die Auto-Scaling-Gruppe startet neue Instances mit der neuen Startvorlage oder Startkonfiguration, bestehende Instances sind davon jedoch nicht betroffen.Bestehende Instances in einer Auto Scaling Scaling-Gruppe: Verwenden Sie die ModifyInstanceMetadataOptionsAPI, um die Verwendung von IMDSv2 auf vorhandenen Instances vorzuschreiben, oder beenden Sie die Instances, und die Auto Scaling Scaling-Gruppe startet neue Ersatz-Instances mit den Einstellungen der Instance-Metadaten-Optionen, die in der neuen Startvorlage oder Startkonfiguration definiert sind.
- AMIs
-
AMIs konfiguriert mit dem
ImdsSupportParameter, der auf gesetzt ist,v2.0startet IMDSv2 standardmäßig Instances, die dies erfordern. Amazon Linux 2023 ist konfiguriert mitImdsSupport = v2.0.Neu AMIs: Verwenden Sie den CLI-Befehl register-image, um den
ImdsSupportParameter auf zu setzen,v2.0wenn Sie ein neues AMI erstellen.Existierend AMIs: Verwenden Sie den modify-image-attributeCLI-Befehl, um den
ImdsSupportParameter auf festzulegen,v2.0wenn Sie ein vorhandenes AMI ändern.Weitere Informationen finden Sie unter Konfigurieren des AMI.
- Kontrollen auf Kontoebene
-
Sie können Standardwerte für alle Instanz-Metadatenoptionen auf Kontoebene konfigurieren. Die Standardwerte werden automatisch angewendet, wenn Sie eine Instance starten. Weitere Informationen finden Sie unterIMDSv2 Als Standard für das Konto festlegen.
Sie können die Anforderung zur Nutzung auch IMDSv2 auf Kontoebene durchsetzen. Wenn die IMDSv2 Durchsetzung aktiviert ist:
-
Neue Instanzen: Instances, die so konfiguriert sind, dass sie mit IMDSv1 aktivierter Option gestartet werden, können nicht gestartet werden
-
Bestehende Instances mit IMDSv1 deaktiviertem Status: Versuche, sie IMDSv1 auf vorhandenen Instances zu aktivieren, werden verhindert.
-
Bestehende Instanzen mit IMDSv1 aktivierter Option: Bestehende Instanzen, die IMDSv1 bereits aktiviert sind, sind davon nicht betroffen.
Weitere Informationen finden Sie unter IMDSv2 Auf Kontoebene durchsetzen.
-
- IAM-Richtlinien und SCPs
-
Sie können eine IAM-Richtlinie oder eine AWS Organizations Service Control Policy (SCP) verwenden, um Benutzer wie folgt zu kontrollieren:
-
Eine Instance kann nicht mithilfe der RunInstancesAPI gestartet werden, es sei denn, die Instance ist für die Verwendung konfiguriert. IMDSv2
-
Eine bestehende Instanz kann nicht mithilfe der ModifyInstanceMetadataOptionsAPI geändert werden, um sie erneut zu aktivierenIMDSv1.
Die IAM-Richtlinie oder die SCP muss die folgenden IAM-Bedingungsschlüssel enthalten:
-
ec2:MetadataHttpEndpoint -
ec2:MetadataHttpPutResponseHopLimit -
ec2:MetadataHttpTokens
Wenn ein Parameter im API- oder CLI-Aufruf nicht mit dem Status übereinstimmt, der in der Richtlinie angegeben ist, die den Bedingungsschlüssel enthält, schlägt der API- oder CLI-Aufruf mit einer
UnauthorizedOperationAntwort fehl.Darüber hinaus können Sie eine zusätzliche Schutzebene auswählen, um die Änderung von IMDSv1 auf IMDSv2 zu erzwingen. Auf der Zugriffsverwaltungsebene für die APIs, die über EC2-Rollenanmeldedaten aufgerufen werden, können Sie einen Bedingungsschlüssel entweder in IAM-Richtlinien oder in AWS Organizations Dienststeuerungsrichtlinien () SCPs verwenden. Insbesondere wenn Sie den Bedingungsschlüssel
ec2:RoleDeliverymit einem Wert von2.0in Ihren IAM-Richtlinien verwenden, erhalten API-Aufrufe, die mit den EC2-Rollenanmeldedaten von IMDSv1 abgerufen wurden, eine Antwort.UnauthorizedOperationDas Gleiche kann mit der von einer SCP erzwungenen Bedingung weiter gefasst werden. Dadurch wird sichergestellt, dass die über übermittelten Anmeldeinformationen IMDSv1 nicht tatsächlich zum Aufrufen verwendet werden können, APIs da bei API-Aufrufen, die nicht der angegebenen Bedingung entsprechen, eineUnauthorizedOperationFehlermeldung ausgegeben wird.Beispiele für IAM-Richtlinien finden Sie unter Arbeiten mit Instance-Metadaten. Weitere Informationen zu SCPs finden Sie im AWS Organizations Benutzerhandbuch unter Richtlinien zur Servicesteuerung.
-
- Deklarative Richtlinien
-
Verwenden Sie deklarative Richtlinien (eine Funktion von AWS Organizations), um die Standardeinstellungen für IMDS-Konten, einschließlich deren IMDSv2 Durchsetzung, in Ihrem gesamten Unternehmen zentral festzulegen. Eine Beispielrichtlinie finden Sie auf der Registerkarte Instanz-Metadaten im Abschnitt Unterstützte deklarative Richtlinien im Benutzerhandbuch.AWS Organizations
Empfohlener Pfad zur Anforderung IMDSv2
Unter Verwendung der oben genannten Tools empfehlen wir den folgenden Pfad für den Übergang zuIMDSv2:
Schritt 1: Identifizieren Sie Instanzen mit IMDSv2 =optional und überprüfen Sie die Nutzung IMDSv1
Um Ihren IMDSv2 Migrationsumfang einzuschätzen, identifizieren Sie Instanzen, die so konfiguriert sind, dass sie entweder IMDSv1 oder zulassen IMDSv2, und prüfen Sie IMDSv1 Aufrufe.
-
Identifizieren Sie Instanzen, die so konfiguriert sind, dass sie entweder IMDSv1 oder IMDSv2:
-
IMDSv1 Audit-Aufrufe für jede Instanz:
Verwenden Sie die CloudWatch Metrik
MetadataNoToken. Diese Metrik zeigt die Anzahl der IMDSv1 Aufrufe an das IMDS auf Ihren Instances. Weitere Informationen finden Sie unter Instanz-Metriken. -
Identifizieren Sie die Software auf Ihren Instances, die IMDSv1 Anrufe tätigt:
Verwenden Sie den Open-Source-IMDS Packet Analyzer
, um IMDSv1 Aufrufe während der Startphase und der Laufzeitvorgänge Ihrer Instance zu identifizieren und zu protokollieren. Verwenden Sie diese Informationen, um die Software zu identifizieren, die aktualisiert werden muss, damit Ihre Instances IMDSv2 nur einsatzbereit sind. Sie können IMDS-Paket-Analysator von der Befehlszeile aus ausführen oder als Service installieren.
Schritt 2: Aktualisieren Sie die Software auf IMDSv2
Aktualisieren Sie alle SDKs, und Software CLIs, die Rollenanmeldedaten auf Ihren Instances verwendet, auf IMDSv2 -kompatible Versionen. Weitere Informationen zur Aktualisierung der CLI finden Sie unter Installieren oder Aktualisieren auf die neueste Version der AWS CLI im Benutzerhandbuch für AWS Command Line Interface .
Schritt 3: Keine Instanzen erforderlich IMDSv2
Nachdem Sie anhand der MetadataNoToken Metrik bestätigt haben, dass keine IMDSv1 Aufrufe mehr erforderlich sind, konfigurieren Sie Ihre vorhandenen Instances so, dass sie erforderlich sind IMDSv2. Konfigurieren Sie außerdem alle neuen Instanzen so, dass sie erforderlich sind IMDSv2. Mit anderen Worten, deaktivieren Sie es IMDSv1 auf allen vorhandenen und neuen Instanzen.
-
Konfigurieren Sie bestehende Instanzen so, dass sie Folgendes erfordernIMDSv2:
Anmerkung
Sie können diese Einstellung bei laufenden Instances ändern. Die Änderung wird sofort wirksam, ohne dass ein Neustart der Instanz erforderlich ist.
Weitere Informationen finden Sie unter Erfordern die Verwendung von IMDSv2.
-
Achten Sie nach der Deaktivierung IMDSv1 auf Probleme:
-
Verfolgen Sie anhand der
MetadataNoTokenRejectedCloudWatch Metrik, wie oft ein IMDSv1 Anruf versucht und abgelehnt wurde. -
Wenn die
MetadataNoTokenRejectedMetrik IMDSv1 Aufrufe einer Instanz aufzeichnet, bei der Softwareprobleme auftreten, bedeutet dies, dass die Software aktualisiert werden muss, damit sie verwendet IMDSv2 werden kann.
-
-
Konfigurieren Sie neue Instanzen so, dass sie Folgendes erfordernIMDSv2:
Schritt 4: Stellen Sie IMDSv2 =required als Standard ein
Sie können IMDSv2 =required als Standardkonfiguration entweder auf Konto- oder Organisationsebene festlegen. Dadurch wird sichergestellt, dass alle neu gestarteten Instances automatisch so konfiguriert werden, dass sie Folgendes benötigen IMDSv2.
-
Legen Sie den Standard auf Kontoebene fest:
Weitere Informationen finden Sie unter IMDSv2 Als Standard für das Konto festlegen.
-
Alternativ können Sie mithilfe einer deklarativen Richtlinie den Standard auf Organisationsebene festlegen:
Verwenden Sie eine deklarative Richtlinie, um den Organisationsstandard für auf erforderlich festzulegen. IMDSv2 Eine Beispielrichtlinie finden Sie auf der Registerkarte Instanz-Metadaten im Abschnitt Unterstützte deklarative Richtlinien im AWS Organizations Benutzerhandbuch.
Schritt 5: Erzwingen Sie, dass Instanzen Folgendes benötigen IMDSv2
Sobald Sie bestätigt haben, dass keine IMDSv1 Abhängigkeit von einer Ihrer Instances besteht, empfehlen wir Ihnen, dies für alle neuen Instances durchzusetzen IMDSv2 .
Verwenden Sie zur Durchsetzung eine der folgenden Optionen IMDSv2:
-
IMDSv2 Mit einer Kontoeigenschaft durchsetzen
Sie können die Verwendung von für jedes Konto IMDSv2 auf Kontoebene erzwingen AWS-Region. Wenn diese Option erzwungen wird, können Instances nur gestartet werden, wenn sie so konfiguriert sind, dass sie dies erfordern IMDSv2. Diese Durchsetzung gilt unabhängig davon, wie die Instance oder das AMI konfiguriert ist. Weitere Informationen finden Sie unter IMDSv2 Auf Kontoebene durchsetzen. Um diese Einstellung auf Organisationsebene anzuwenden, legen Sie eine deklarative Richtlinie fest. Eine Beispielrichtlinie finden Sie auf der Registerkarte Instanz-Metadaten im Abschnitt Unterstützte deklarative Richtlinien im AWS Organizations Benutzerhandbuch.
Um zu verhindern, dass die Durchsetzung rückgängig gemacht wird, sollten Sie eine IAM-Richtlinie verwenden, um den Zugriff auf die API zu verhindern. ModifyInstanceMetadataDefaults Weitere Informationen finden Sie unter Verwenden einer IAM-Richtlinie.
Anmerkung
Diese Einstellung ändert nicht die IMDS-Version vorhandener Instances, blockiert jedoch die Aktivierung vorhandener Instances, die derzeit IMDSv1 deaktiviert sind. IMDSv1
Warnung
Wenn die IMDSv2 Erzwingung aktiviert
httpTokensist und wederrequiredin der Instance-Konfiguration beim Start noch in den Kontoeinstellungen oder in der AMI-Konfiguration auf festgelegt ist, schlägt der Instance-Start fehl. Informationen zur Problembehebung finden Sie unter Das Starten einer IMDSv1 -fähigen Instance schlägt fehl. -
Alternativ können Sie die IMDSv2 Erzwingung mithilfe der folgenden IAM- oder SCP-Bedingungsschlüssel erzwingen:
-
ec2:MetadataHttpTokens -
ec2:MetadataHttpPutResponseHopLimit -
ec2:MetadataHttpEndpoint
Diese Bedingungsschlüssel steuern die Verwendung der RunInstancesModifyInstanceMetadataOptions APIs und der entsprechenden. CLIs Wenn eine Richtlinie erstellt wird und ein Parameter im API-Aufruf nicht mit dem in der Richtlinie über den Bedingungsschlüssel angegebenen Status übereinstimmt, schlägt der API- oder CLI-Aufruf mit einer
UnauthorizedOperation-Antwort fehl.Beispiele für IAM-Richtlinien finden Sie unter Arbeiten mit Instance-Metadaten.
-