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 Instanzen so konfigurieren möchten, dass sie nur Instance Metadata Service Version 2 (IMDSv2) -Aufrufe akzeptieren, empfehlen wir Ihnen, die folgenden Tools und den folgenden Übergangspfad zu verwenden.
Tools für den Übergang zu IMDSv2
Die folgenden Tools können Ihnen helfen, den Übergang Ihrer Software von IMDSv1 zu IMDSv2 zu identifizieren, zu überwachen und zu verwalten. Anweisungen zur Verwendung dieser Tools finden Sie unter. Empfohlener Weg zur Erzwingung von IMDSv2
- AWS Software
-
Die neuesten Versionen von AWS CLI und AWS SDKs unterstützen IMDSv2. Um IMDSv2 zu verwenden, aktualisieren Sie Ihre EC2-Instances, sodass sie die neuesten Versionen verwenden. Die AWS SDK-Mindestversionen, die IMDSv2 unterstützen, finden Sie unter. Verwenden Sie ein unterstütztes AWS SDK
Alle Amazon-Linux-2- und Amazon-Linux-2023-Softwarepakete unterstützen IMDSv2. Amazon Linux 2023 deaktiviert IMDSv1 standardmäßig.
- 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 die Software, die IMDSv1-Aufrufe auf Ihren Instances durchführt, genau identifizieren und ermitteln, was aktualisiert werden muss, um IMDSv2 nur auf Ihren Instances zu unterstützen. Sie können IMDS-Paket-Analysator von der Befehlszeile aus ausführen oder als Service installieren. Weitere Informationen finden Sie unter. AWS ImdsPacketAnalyzer
GitHub - CloudWatch
-
CloudWatch bietet die folgenden zwei Metriken für die Überwachung Ihrer Instances:
MetadataNoToken— IMDSv2 verwendet tokengestützte Sitzungen, IMDSv1 jedoch nicht. DieMetadataNoTokenMetrik verfolgt die Anzahl der Aufrufe des Instance Metadata Service (IMDS), die IMDSv1 verwenden. Indem Sie diese Metrik bis zum Wert Null nachverfolgen, können Sie feststellen, ob und wann Ihre Software auf IMDSv2 upgegradet wurde.MetadataNoTokenRejected— Nachdem Sie IMDSv1 deaktiviert haben, können Sie anhand derMetadataNoTokenRejectedMetrik nachverfolgen, wie oft ein IMDSv1-Anruf versucht und abgelehnt wurde. Indem Sie diese Metrik nachverfolgen, können Sie feststellen, ob Ihre Software aktualisiert werden muss, um IMDSv2 verwenden zu können.Für jede EC2-Instance schließen sich diese Metriken gegenseitig aus. Wenn IMDSv1 aktiviert ist (
httpTokens = optional), wird nur ausgegeben.MetadataNoTokenWenn IMDSv1 deaktiviert ist ()httpTokens = required, wird nur ausgegeben.MetadataNoTokenRejectedInformationen darüber, wann Sie diese Metriken verwenden sollten, finden Sie unter. Empfohlener Weg zur Erzwingung von IMDSv2Weitere Informationen finden Sie unter Instance-Metriken.
- Starten Sie APIs
-
Neue Instances: Verwenden Sie die RunInstances API, um neue Instances zu starten, die die Verwendung von IMDSv2 erfordern. Weitere Informationen finden Sie unter Konfigurieren von Instance-Metadatenoptionen für neue Instances.
Bestehende Instanzen: Verwenden Sie die ModifyInstanceMetadataOptions API, um die Verwendung von IMDSv2 für bestehende Instances vorzuschreiben. Weitere Informationen finden Sie unter Modifizieren von Instance-Metadatenoptionen für vorhandene Instances.
Neue Instances, die von Auto Scaling-Gruppen gestartet wurden: Um die Verwendung von IMDSv2 auf allen neuen Instances zu erfordern, die von Auto Scaling-Gruppen gestartet werden, können Ihre Auto 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-Gruppe: Verwenden Sie die ModifyInstanceMetadataOptions API, um die Verwendung von IMDSv2 auf vorhandenen Instances vorzuschreiben, oder beenden Sie die Instances und die Auto Scaling-Gruppe startet neue Ersatz-Instances mit den Einstellungen für Instance-Metadatenoptionen, die in der neuen Startvorlage oder Startkonfiguration definiert sind.
- AMIs
-
AMIs, bei denen der auf eingestellte
ImdsSupportParameter konfiguriert ist,v2.0starten Instances, die standardmäßig IMDSv2 benötigen. Amazon Linux 2023 ist konfiguriert mit.ImdsSupport = v2.0Neue AMIs: Verwenden Sie den https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html CLI-Befehl register-image, um den
ImdsSupportParameter auf einzustellen,v2.0wenn Sie ein neues AMI erstellen.Bestehende AMIs: Verwenden Sie den CLI-Befehl modify-image-attribute, um den
ImdsSupportParameter auf einzustellen, wenn Sie ein vorhandenes AMI ändern.v2.0Weitere Informationen finden Sie unter Konfigurieren des AMI.
- Account-level Steuerungen
-
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 unterLegen Sie IMDSv2 als Standard für das Konto fest.
Sie können die Anforderung, IMDSv2 zu verwenden, auch auf Kontoebene durchsetzen. Wenn die IMDSv2-Durchsetzung aktiviert ist:
-
Neue Instanzen: Instanzen, die für den Start mit aktiviertem IMDSv1 konfiguriert sind, können nicht gestartet werden
-
Bestehende Instances mit deaktiviertem IMDSv1: Versuche, IMDSv1 auf vorhandenen Instances zu aktivieren, werden verhindert.
-
Bestehende Instanzen mit aktiviertem IMDSv1: Bestehende Instances, bei denen IMDSv1 bereits aktiviert ist, sind nicht betroffen.
Weitere Informationen finden Sie unter Erzwingen Sie IMDSv2 auf Kontoebene.
-
- 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 nur mit der RunInstances API gestartet werden, wenn die Instance für die Verwendung von IMDSv2 konfiguriert ist.
-
Eine vorhandene Instanz kann mithilfe der ModifyInstanceMetadataOptions API nicht geändert werden, um IMDSv1 erneut zu aktivieren.
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 dem in der Richtlinie angegebenen Status entspricht, die den Bedingungsschlüssel enthält, schlägt der API- oder CLI-Aufruf mit einer Antwort fehl.
UnauthorizedOperationDarüber hinaus können Sie eine zusätzliche Schutzebene auswählen, um die Änderung von IMDSv1 auf IMDSv2 zu erzwingen. Auf der Zugriffsverwaltungsebene in Bezug auf die APIs, die über EC2-Rollenanmeldeinformationen aufgerufen werden, können Sie einen Bedingungsschlüssel entweder in IAM-Richtlinien oder in AWS Organizations Service Control Policies (SCPs) verwenden. Durch Verwendung des Bedingungsschlüssels
ec2:RoleDeliverymit dem Wert2.0in Ihren IAM-Richtlinien erhalten insbesondere API-Aufrufe mit Anmeldeinformationen von EC2-Rollen, die von IMDSv1 abgerufen wurden, die AntwortUnauthorizedOperation. Das Gleiche kann mit der von einer SCP erzwungenen Bedingung weiter gefasst werden. Dadurch wird sichergestellt, dass über IMDSv1 übermittelte Anmeldeinformationen nicht tatsächlich zum Aufrufen von APIs verwendet werden können, da bei API-Aufrufen, die die angegebene Bedingung nicht erfüllen, eine Fehlermeldung ausgegeben wird.UnauthorizedOperationBeispiele für IAM-Richtlinien finden Sie unter Arbeiten mit Instance-Metadaten. Weitere Informationen zu SCPs finden Sie unter Service-Kontrollrichtlinien im Benutzerhandbuch für AWS Organizations .
-
- Deklarative Richtlinien
-
Verwenden Sie deklarative Richtlinien (eine Funktion von AWS Organizations), um die Standardeinstellungen für IMDS-Konten, einschließlich der 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 Weg zur Erzwingung von IMDSv2
Unter Verwendung der oben genannten Tools empfehlen wir den folgenden Pfad für den Übergang zu IMDSv2:
Schritt 1: Identifizieren Sie Instanzen mit IMDSv2=optional und überprüfen Sie die IMDSv1-Nutzung
Um den Umfang Ihrer IMDSv2-Migration einzuschätzen, identifizieren Sie Instanzen, die so konfiguriert sind, dass sie entweder IMDSv1 oder IMDSv2 zulassen, und überprüfen Sie IMDSv1-Aufrufe.
-
Identifizieren Sie Instanzen, die so konfiguriert sind, dass sie entweder IMDSv1 oder IMDSv2 zulassen:
-
Überwachen Sie IMDSv1-Aufrufe auf jeder Instanz:
Verwenden Sie die Metrik CloudWatch .
MetadataNoTokenDiese Metrik zeigt die Anzahl der IMDSv1-Aufrufe des IMDS für Ihre Instances an. Weitere Informationen finden Sie unter Instance-Metriken. -
Identifizieren Sie die Software auf Ihren Instances, die IMDSv1-Aufrufe tätigen:
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 ausschließlich IMDSv2 verwenden können. 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, CLIs und Software, die Rollenanmeldedaten auf Ihren Instances verwenden, auf Versionen. IMDSv2-compatible 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: IMDSv2 für Instances erforderlich
Nachdem Sie keine IMDSv1-Aufrufe über die MetadataNoToken Metrik bestätigt haben, konfigurieren Sie Ihre vorhandenen Instances so, dass IMDSv2 erforderlich ist. Konfigurieren Sie außerdem alle neuen Instances so, dass IMDSv2 erforderlich ist. Mit anderen Worten, deaktivieren Sie IMDSv1 auf allen vorhandenen und neuen Instanzen.
-
Konfigurieren Sie vorhandene Instanzen so, dass IMDSv2 erforderlich ist:
Anmerkung
Sie können diese Einstellung bei laufenden Instanzen ändern. Die Änderung wird sofort wirksam, ohne dass ein Neustart der Instanz erforderlich ist.
Weitere Informationen finden Sie unter Erzwingen der Verwendung von IMDSv2.
-
Überwachen Sie, ob nach der Deaktivierung von IMDSv1 Probleme auftreten:
-
Verfolgen Sie anhand der Metrik, wie oft ein IMDSv1-Anruf versucht und abgelehnt wurde.
MetadataNoTokenRejectedCloudWatch -
Wenn die
MetadataNoTokenRejectedMetrik IMDSv1-Aufrufe auf einer Instance aufzeichnet, bei der Softwareprobleme auftreten, bedeutet dies, dass die Software aktualisiert werden muss, um IMDSv2 verwenden zu können.
-
-
Konfigurieren Sie neue Instances so, dass IMDSv2 erforderlich ist:
Schritt 4: Legen Sie IMDSV2=Required als Standard fest
Sie können IMDSV2=REQUIRED entweder auf Konto- oder Organisationsebene als Standardkonfiguration festlegen. Dadurch wird sichergestellt, dass alle neu gestarteten Instances automatisch so konfiguriert werden, dass IMDSv2 erforderlich ist.
-
Legen Sie die Standardeinstellung auf Kontoebene fest:
Weitere Informationen finden Sie unter Legen Sie IMDSv2 als Standard für das Konto fest.
-
Sie können auch die Standardeinstellung auf Organisationsebene mithilfe einer deklarativen Richtlinie festlegen:
Verwenden Sie eine deklarative Richtlinie, um den Organisationsstandard für IMDSv2 auf erforderlich festzulegen. Eine Beispielrichtlinie finden Sie auf der Registerkarte Instanz-Metadaten im Abschnitt Unterstützte deklarative Richtlinien im Benutzerhandbuch. AWS Organizations
Schritt 5: Erzwingen Sie, dass für Instances IMDSv2 erforderlich ist
Nachdem Sie bestätigt haben, dass auf keiner Ihrer Instances eine Abhängigkeit von IMDSv1 besteht, empfehlen wir Ihnen, IMDSv2 auf allen neuen Instances durchzusetzen.
Verwenden Sie eine der folgenden Optionen, um IMDSv2 durchzusetzen:
-
Erzwingen Sie IMDSv2 mit einer Kontoeigenschaft
Sie können die Verwendung von IMDSv2 auf Kontoebene für jedes Konto erzwingen. AWS-Region Wenn dies erzwungen wird, können Instances nur gestartet werden, wenn sie so konfiguriert sind, dass IMDSv2 erforderlich ist. Diese Durchsetzung gilt unabhängig davon, wie die Instance oder das AMI konfiguriert ist. Weitere Informationen finden Sie unter Erzwingen Sie IMDSv2 auf Kontoebene. Um diese Einstellung auf Organisationsebene anzuwenden, legen Sie eine deklarative Richtlinie fest. Ein Beispiel für eine Richtlinie finden Sie auf der Registerkarte Instanz-Metadaten im Abschnitt Unterstützte deklarative Richtlinien im AWS Organizations Benutzerhandbuch.
Um eine Umkehrung der Durchsetzung zu verhindern, 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 von IMDSv1 auf vorhandenen Instances, für die IMDSv1 derzeit deaktiviert ist.
Warnung
Wenn die IMDSv2-Erzwingung aktiviert
httpTokensist und wederrequiredin der Instance-Konfiguration beim Start noch in den Kontoeinstellungen noch in der AMI-Konfiguration auf diese Option gesetzt ist, schlägt der Instance-Start fehl. Informationen zur Problembehebung finden Sie unter Das Starten einer IMDSv1-enabled Instance schlägt fehl. -
Sie können IMDSv2 auch mithilfe der folgenden IAM- oder SCP-Bedingungsschlüssel erzwingen:
-
ec2:MetadataHttpTokens -
ec2:MetadataHttpPutResponseHopLimit -
ec2:MetadataHttpEndpoint
Diese Bedingungsschlüssel steuern die Verwendung der und der ModifyInstanceMetadataOptions APIs RunInstances 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.
-