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.
Instance-Metadaten-Services für den Zugriff auf Instance-Metadaten verwenden
Sie können mit einer der folgenden Methoden auf Instance-Metadaten aus einer laufenden Instance zugreifen:
-
Instanz-Metadatendienst Version 2 (IMDSv2) — eine sitzungsorientierte Methode
Beispiele finden Sie unter Beispiele für IMDSv2.
-
Instanz-Metadatendienst Version 1 (IMDSv1) — eine Anforderungs-/Antwortmethode
Beispiele finden Sie unter Beispiele für IMDSv1.
Standardmäßig können Sie entweder IMDSv1 oder oder IMDSv2 beide verwenden.
Sie können den Instanz-Metadatendienst (IMDS) für jede Instanz so konfigurieren, dass lokaler Code oder Benutzer ihn verwenden IMDSv2 müssen. Wenn Sie angeben, dass dieser verwendet werden IMDSv2 muss, funktioniert das nicht IMDSv1 mehr. Informationen darüber, wie Sie Ihre Instance für die Verwendung konfigurieren IMDSv2, finden Sie unterKonfigurieren der Optionen des Instance-Metadaten-Services.
Die GET
Header PUT
oder sind einzigartig für IMDSv2. Wenn diese Header in der Anfrage enthalten sind, ist die Anfrage für vorgesehen. IMDSv2 Wenn keine Header vorhanden sind, wird davon ausgegangen, dass die Anfrage dafür bestimmt ist. IMDSv1
Einen ausführlichen Überblick über dieses Thema IMDSv2 finden Sie unter Erweiterter Schutz vor offenen Firewalls, Reverse-Proxys und SSRF-Schwachstellen mit Verbesserungen
Themen
Funktionsweise von Instance-Metadatenservice Version 2
IMDSv2 verwendet sitzungsorientierte Anfragen. Bei sitzungsorientierten Anforderungen erstellen Sie ein Sitzungs-Token, das die Sitzungsdauer definiert, die mindestens eine Sekunde und maximal sechs Stunden betragen kann. Während der angegebenen Dauer können Sie dasselbe Sitzungs-Token für nachfolgende Anfragen verwenden. Nach Ablauf der angegebenen Dauer müssen Sie ein neues Sitzungs-Token erstellen, das Sie für zukünftige Anfragen verwenden können.
Anmerkung
Die Beispiele in diesem Abschnitt verwenden die IPv4 Adresse des Instance Metadata Service (IMDS):. 169.254.169.254
Wenn Sie Instanz-Metadaten für EC2 Instances über die IPv6 Adresse abrufen, stellen Sie sicher, dass Sie stattdessen die IPv6 Adresse aktivieren und verwenden:. [fd00:ec2::254]
Die IPv6 Adresse des IMDS ist mit Befehlen kompatibel IMDSv2 . Die IPv6 Adresse ist nur auf Nitro-basierten Instances in einem Subnetz zugänglich, das von IPv6 -unterstützt wird (Dual-Stack oder nur). IPv6
In den folgenden Beispielen wird ein Shell-Skript verwendet, IMDSv2 um die Metadatenelemente der Instanz auf oberster Ebene abzurufen. Jedes Beispiel:
-
Erstellt ein Sitzungs-Token mit einer Dauer von sechs Stunden (21 600 Sekunden) unter Verwendung der
PUT
-Anfrage. -
Speichern den Sitzungs-Token-Header in einer Variablen namens
TOKEN
(Linux-Instances) odertoken
(Windows-Instances) -
aFordert die Top-Level-Metadatenelemente über das Token an.
Sie können zwei separate Befehle ausführen oder kombinieren.
Separate Befehle
Generieren Sie zuerst ein Token mit dem folgenden Befehl.
[ec2-user ~]$
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"`
Verwenden Sie dann das Token, um mit dem folgenden Befehl Metadatenelemente der obersten Ebene zu generieren.
[ec2-user ~]$
curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/
Kombinierte Befehle
Sie können das Token speichern und die Befehle kombinieren. Das folgende Beispiel kombiniert die beiden obigen Befehle und speichert den Sitzungs-Token-Header in einer Variablen namens TOKEN.
Anmerkung
Wenn beim Erstellen des Tokens anstelle eines gültigen Tokens ein Fehler auftritt, wird in der Variablen eine Fehlermeldung gespeichert, und der Befehl funktioniert nicht.
[ec2-user ~]$
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \ && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/
Nachdem Sie ein Token erstellt haben, können Sie es bis zum Ablauf wiederverwenden. Im folgenden Beispielbefehl, der die ID des AMIs abruft, mit dem die Instance gestartet wurde, wird das im vorherigen Beispiel in $TOKEN
gespeicherte Token wiederverwendet.
[ec2-user ~]$
curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/ami-id
PS C:\>
[string]$token = Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} -Method PUT -Uri http://169.254.169.254/latest/api/token
PS C:\>
Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token" = $token} -Method GET -Uri http://169.254.169.254/latest/meta-data/
Nachdem Sie ein Token erstellt haben, können Sie es bis zum Ablauf wiederverwenden. Im folgenden Beispielbefehl, der die ID des AMIs abruft, mit dem die Instance gestartet wurde, wird das im vorherigen Beispiel in $token
gespeicherte Token wiederverwendet.
PS C:\>
Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token" = $token} ` -Method GET -uri http://169.254.169.254/latest/meta-data/ami-id
Wenn Sie IMDSv2 Instanz-Metadaten anfordern, muss die Anfrage Folgendes enthalten:
-
Verwenden Sie eine
PUT
-Anfrage, um eine Sitzung mit dem Instance-Metadaten-Service zu starten. DiePUT
-Anfrage gibt ein Token zurück, das in nachfolgendenGET
-Anfragen an den Instance-Metadaten-Service enthalten sein muss. Das Token wird für den Zugriff auf Metadaten mit IMDSv2 benötigt. -
Nehmen Sie das Token
GET
in alle Anfragen an den IMDS auf. Wenn die Token-Verwendung aufrequired
festgelegt ist, erhalten Anfragen ohne gültiges Token oder mit abgelaufenem Token einen401 - Unauthorized
-HTTP-Fehlercode.-
Das Token ist ein Instance-bezogener Schlüssel. Das Token ist auf anderen EC2 Instances nicht gültig und wird abgelehnt, wenn Sie versuchen, es außerhalb der Instanz zu verwenden, auf der es generiert wurde.
-
Die
PUT
-Anfrage muss einen Header enthalten, der die Time To Live (TTL) für das Token in Sekunden bis zu maximal sechs Stunden (21 600 Sekunden) angibt. Das Token stellt eine logische Sitzung dar. Die TTL gibt die Gültigkeitsdauer des Token und damit die Dauer der Sitzung an. -
Nachdem ein Token abgelaufen ist, müssen Sie eine neue Sitzung mit einem anderen
PUT
erstellen, um auf die Instance-Metadaten zuzugreifen. -
Sie können auswählen, ob Sie ein Token wiederverwenden oder bei jeder Anforderung einen neues Token erstellen möchten. Für eine kleine Anzahl von Anfragen kann es einfacher sein, bei jedem Zugriff auf den IMDS ein Token zu generieren und sofort zu verwenden. Aus Effizienzgründen können Sie jedoch eine längere Dauer für das Token festlegen und es wiederverwenden, anstatt jedes Mal eine
PUT
-Anfrage stellen zu müssen, wenn Sie Instance-Metadaten anfordern müssen. Es gibt kein praktisches Limit für die Anzahl gleichzeitiger Token, von denen jedes für eine eigene Sitzung steht. IMDSv2 ist jedoch immer noch durch normale IMDS-Verbindungs- und Drosselungsgrenzen eingeschränkt. Weitere Informationen finden Sie unter Drosselung abfragen.
-
In IMDSv2 Instance-Metadatenanfragen sind HTTP GET
- und HEAD
-Methoden zulässig. PUT
-Anfragen werden abgelehnt, wenn sie einen X-Forwarded-For-Header enthalten.
Standardmäßig hat die Antwort auf PUT
-Anfragen auf IP-Protokollebene ein Antworthop-Limit (Time To Live) von 1
. Wenn Sie ein größeres Hop-Limit benötigen, können Sie es mit dem Befehl anpassen. modify-instance-metadata-options
Übergang zur Verwendung von Instance-Metadatenservice Version 2
Wir empfehlen Ihnen IMDSv2, bei der Migration zu die folgenden Tools und den folgenden Übergangspfad zu verwenden.
Tools zur Unterstützung beim Übergang zu IMDSv2
Wenn Ihre Software verwendet wird IMDSv1, verwenden Sie die folgenden Tools, um Ihre zu IMDSv2 verwendende Software neu zu konfigurieren.
- AWS Software
-
Die neuesten Versionen von AWS CLI und AWS SDKs unterstützenIMDSv2. Stellen Sie zur Verwendung sicher IMDSv2, dass Ihre EC2 Instances über die neuesten Versionen der CLI verfügen und SDKs. Informationen zur Aktualisierung der CLI finden Sie unter Installation oder Aktualisierung von AWS CLI im AWS Command Line Interface Benutzerhandbuch.
Alle Amazon Linux 2- und Amazon Linux 2023-Softwarepakete IMDSv2 werden unterstützt. In Amazon Linux 2023 IMDSv1 ist es standardmäßig deaktiviert.
Die AWS SDK-Mindestversionen, die dies unterstützen IMDSv2, finden Sie unterVerwenden eines unterstützten AWS -SDK.
- IMDS-Paket-Analysator
-
Der IMDS Packet Analyzer ist ein Open-Source-Tool, das IMDSv1 Aufrufe aus der Startphase Ihrer Instance identifiziert und protokolliert. Dies kann dabei helfen, die Software zu identifizieren, die EC2 Instances IMDSv1 aufruft, sodass Sie genau bestimmen können, was Sie aktualisieren müssen, damit Ihre Instances nur einsatzbereit sind. IMDSv2 Sie können IMDS-Paket-Analysator von der Befehlszeile aus ausführen oder als Service installieren. Weitere Informationen finden Sie unter IMDS Packet Analyzer
unter. GitHub - CloudWatch
-
IMDSv2 verwendet tokengestützte Sitzungen, tut dies jedoch nicht. IMDSv1 Die
MetadataNoToken
CloudWatch Metrik 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.Nach der Deaktivierung IMDSv1 können Sie anhand der
MetadataNoTokenRejected
CloudWatch Metrik 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.Weitere Informationen finden Sie unter Instance-Metriken.
- Aktualisierungen für und EC2 APIs CLIs
-
Für neue Instances können Sie die RunInstancesAPI verwenden, 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.
Für bestehende Instances können Sie die ModifyInstanceMetadataOptionsAPI verwenden, um die Verwendung von zu verlangenIMDSv2. Weitere Informationen finden Sie unter Modifizieren von Instance-Metadatenoptionen für vorhandene Instances.
Um die Verwendung von IMDSv2 auf allen 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. Für bestehende Instances in einer Auto Scaling Scaling-Gruppe können Sie die ModifyInstanceMetadataOptionsAPI verwenden, um die Verwendung von IMDSv2 auf den vorhandenen Instances vorzuschreiben, oder Sie können die Instances beenden und die Auto Scaling Scaling-Gruppe startet neue Ersatz-Instances mit den Einstellungen für die Instance-Metadatenoptionen, die in der neuen Startvorlage oder Startkonfiguration definiert sind. - Verwenden Sie ein AMI, das IMDSv2 standardmäßig konfiguriert wird
-
Wenn Sie eine Instance starten, können Sie sie automatisch so konfigurieren, dass sie IMDSv2 standardmäßig verwendet wird (der
HttpTokens
Parameter ist auf gesetztrequired
), indem Sie sie mit einem AMI starten, für das derImdsSupport
Parameter auf konfiguriert istv2.0
. Sie können denImdsSupport
Parameter auf festlegen,v2.0
wenn Sie das AMI mit dem CLI-Befehl register-imageregistrieren, oder Sie können ein vorhandenes AMI mit dem modify-image-attribute CLI-Befehl ändern. Weitere Informationen finden Sie unter Konfigurieren des AMI. - 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 laufende 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 dem Status entspricht, der in der Richtlinie mit dem Bedingungsschlüssel angegeben ist, schlägt der API- oder CLI-Aufruf mit der Antwort
UnauthorizedOperation
fehl.Darüber hinaus können Sie eine zusätzliche Schutzebene wählen, um die Änderung von IMDSv1 zu IMDSv2 durchzusetzen. Auf der Ebene der Zugriffsverwaltung können Sie in Bezug auf die über die EC2 Rolle APIs aufgerufenen Anmeldeinformationen einen neuen Bedingungsschlüssel entweder in IAM-Richtlinien oder in Richtlinien zur AWS Organizations Dienststeuerung verwenden (SCPs). Insbesondere wenn Sie den Bedingungsschlüssel
ec2:RoleDelivery
mit einem Wert von2.0
in Ihren IAM-Richtlinien verwenden, IMDSv1 erhalten API-Aufrufe mit den EC2 Rollenanmeldedaten von eineUnauthorizedOperation
Antwort. Das 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, eineUnauthorizedOperation
Fehlermeldung 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.
-
Empfohlener Pfad zur Anforderung IMDSv2
Wenn Sie die oben genannten Tools verwenden, empfehlen wir, dass Sie diesen Pfad für den Übergang zu IMDSv2 befolgen.
Schritt 1: Zu Beginn
Aktualisieren Sie die SDKs, CLIs, und Ihre Software, die Rollenanmeldedaten auf ihren EC2 Instanzen verwendet, auf Versionen, die mit IMDSv2 kompatibel sind. Weitere Informationen zur Aktualisierung der CLI finden Sie unter Installation oder Aktualisierung auf die neueste Version von AWS CLI im AWS Command Line Interface Benutzerhandbuch.
Ändern Sie dann mithilfe der IMDSv2 Anfragen Ihre Software, die direkt auf Instanz-Metadaten zugreift (mit anderen Worten, die kein SDK verwendet). Sie können den IMDS Packet Analyzer
Schritt 2: Verfolgen des Umstellungsfortschritts
Verfolgen Sie den Fortschritt Ihrer Umstellung anhand der CloudWatch MetrikMetadataNoToken
. Diese Metrik zeigt die Anzahl der IMDSv1 Aufrufe an das IMDS auf Ihren Instances. Weitere Informationen finden Sie unter Instance-Metriken.
Schritt 3: Wenn keine Nutzung erfolgt IMDSv1
Wenn die CloudWatch Metrik eine IMDSv1 Nutzung von Null MetadataNoToken
aufzeichnet, sind Ihre Instances bereit, vollständig auf Nutzung IMDSv2 umgestellt zu werden. In dieser Phase können Sie Folgendes tun:
-
Konto-Standard
Sie können festlegen IMDSv2 , dass das Konto standardmäßig erforderlich ist. Wenn eine Instance gestartet wird, wird die Instance-Konfiguration automatisch auf den Konto-Standard gesetzt.
Um den Kontostandard festzulegen, gehen Sie wie folgt vor:
-
EC2 Amazon-Konsole: Stellen Sie im EC2 Dashboard unter Kontoattribute, Datenschutz und Sicherheit für IMDS-Standardeinstellungen den Instance-Metadatenservice auf Aktiviert und die Metadatenversion auf Nur Version 2 ein (Token erforderlich). Weitere Informationen finden Sie unter IMDSv2Als Standard für das Konto festlegen.
-
AWS CLI: Verwenden Sie den modify-instance-metadata-defaults
CLI-Befehl und geben Sie --http-tokens required
und an--http-put-response-hop-limit
.2
-
-
Neue Instances
Beim Starten einer neuen Instance haben Sie folgende Möglichkeiten:
-
EC2 Amazon-Konsole: Stellen Sie im Assistenten zum Starten der Instance die Option Metadaten, auf die Aktiviert zugegriffen werden kann, und die Metadaten-Version auf Nur V2 ein (Token erforderlich). Weitere Informationen finden Sie unter Konfigurieren der Instance beim Start.
-
AWS CLI: Verwenden Sie den Befehl run-instances
und geben Sie an, dass dies erforderlich IMDSv2 ist.
-
-
Vorhandene Instances
Bei vorhandenen Instances können Sie Folgendes tun:
-
EC2 Amazon-Konsole: Wählen Sie auf der Seite Instances Ihre Instance aus, wählen Sie Aktionen, Instance-Einstellungen, Optionen für Instance-Metadaten ändern und wählen Sie für IMDSv2Erforderlich aus. Weitere Informationen finden Sie unter Erzwingen der Verwendung von IMDSv2.
-
AWS CLI: Verwenden Sie den modify-instance-metadata-options
CLI-Befehl, um anzugeben, IMDSv2 dass nur verwendet werden soll.
Sie können die Instance-Metadatenoptionen auf laufenden Instances ändern, und Sie müssen die Instances nicht neu starten, nachdem Sie die Instance-Metadatenoptionen geändert haben.
-
Schritt 4: Prüfen Sie, ob Ihre Instances umgestellt wurden IMDSv2
Sie können überprüfen, ob Instanzen noch nicht so konfiguriert sind, dass sie die Verwendung von erfordern IMDSv2, IMDSv2 d. h. ob sie noch als optional
konfiguriert sind. Falls Instanzen noch als konfiguriert sindoptional
, können Sie die Optionen für die Instanz-Metadaten entsprechend ändern, IMDSv2 required
indem Sie den vorherigen Schritt 3 wiederholen.
Filtern Ihrer Instances:
-
EC2 Amazon-Konsole: Filtern Sie Ihre Instances auf der Seite Instances mithilfe des optionalen Filters IMDSv2 =. Weitere Informationen zur Filterung erhalten Sie unter Filtern von Ressourcen mithilfe der Konsole. Sie können auch für jede Instance sehen, ob dies erforderlich oder optional IMDSv2 ist: Aktivieren Sie im Fenster „Einstellungen“ die Option, IMDSv2um die IMDSv2Spalte zur Instance-Tabelle hinzuzufügen.
-
AWS CLI: Verwenden Sie den Befehl describe-instances
und filtern Sie wie folgt nach metadata-options.http-tokens = optional
:aws ec2 describe-instances --filters "Name=metadata-options.http-tokens,Values=optional" --query "Reservations[*].Instances[*].[InstanceId]" --output text
Schritt 5: Wenn alle Ihre Instances umgestellt wurden IMDSv2
Die ec2:MetadataHttpEndpoint
IAM-Bedingungsschlüssel ec2:MetadataHttpTokens
ec2:MetadataHttpPutResponseHopLimit
, und können verwendet werden, um die Verwendung der RunInstancesModifyInstanceMetadataOptions APIs und der entsprechenden Schlüssel zu steuern. 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.
Darüber hinaus können Sie nach der Deaktivierung IMDSv1 anhand der MetadataNoTokenRejected
CloudWatch Metrik verfolgen, wie oft ein IMDSv1 Anruf versucht und abgelehnt wurde. Wenn Sie nach der Deaktivierung Software habenIMDSv1, die nicht richtig funktioniert und die MetadataNoTokenRejected
Metrik IMDSv1 Anrufe aufzeichnet, ist es wahrscheinlich, dass diese Software aktualisiert werden muss, um sie verwenden IMDSv2 zu können.
Verwenden eines unterstützten AWS -SDK
Um sie verwenden zu können IMDSv2, müssen Ihre EC2 Instances eine AWS SDK-Version verwenden, die die Verwendung IMDSv2 unterstützt. Die neuesten Versionen aller AWS SDKs unterstützen die Verwendung von IMDSv2.
Wichtig
Wir empfehlen Ihnen, über die SDK-Versionen auf dem Laufenden zu bleiben, um über die neuesten Features, Sicherheitsupdates und zugrunde liegenden Abhängigkeiten informiert zu sein. Die fortgesetzte Verwendung einer nicht unterstützten SDK-Version wird nicht empfohlen und erfolgt nach Ihrem Ermessen. Weitere Informationen finden Sie in den Wartungsrichtlinien für AWS SDKs und Tools im AWS SDKs Referenzhandbuch für Tools.
Im Folgenden sind die Mindestversionen aufgeführt, die die Verwendung von unterstützen IMDSv2:
-
AWS CLI
– 1.16.289 -
AWS Tools for Windows PowerShell
– 4.0.1.0 -
AWS SDK for .NET
– 3.3.634.1 -
AWS SDK for C++
– 1.7.229 -
AWS SDK für Go
– 1.25.38 -
AWS SDK for Go v2
— 0.19.0 -
AWS SDK for Java
– 1.11.678 -
AWS SDK for Java 2.x
– 2.10.21 -
AWS SDK für JavaScript in Node.js
— 2.722.0 -
AWS SDK for Kotlin
— 1.1.4 -
AWS SDK for PHP
– 3.147.7 -
AWS SDK für Python (Botocore)
— 1.13.25 -
AWS SDK for Python (Boto3)
– 1.12.6 -
AWS SDK for Ruby
– 3.79.0
Beispiele für IMDSv2
Führen Sie die folgenden Beispiele auf Ihrer EC2 Amazon-Instance aus, um die Instance-Metadaten für abzurufen IMDSv2.
Auf Windows-Instanzen können Sie Windows verwenden PowerShell oder cURL oder wget installieren. Wenn Sie ein Drittanbieter-Tool in einer Windows-Instance installieren, sollten Sie die zugehörige Dokumentation unbedingt sorgfältig lesen; die Methode für die Aufrufe und die Ausgabe können von dieser Dokumentation abweichen.
Beispiele
- Abrufen der verfügbaren Versionen der Instance-Metadaten
- Anfordern der Top-Level-Metadatenelemente
- Die Werte für Metadatenelemente abrufen
- Abrufen der Liste der verfügbaren öffentlichen Schlüssel
- Anzeigen der Formate, in denen der öffentliche Schlüssel 0 verfügbar ist
- Anfordern des öffentlichen Schlüssels 0 (im OpenSSH-Schlüsselformat)
- Anfordern der Subnetz-ID für eine Instance
- Abrufen von Instance-Tags für eine Instance
Abrufen der verfügbaren Versionen der Instance-Metadaten
In diesem Beispiel werden die verfügbaren Versionen der Instance-Metadaten abgerufen. Jede Version bezieht sich auf einen Instance-Metadaten-Build, wenn neue Instance-Metadatenkategorien veröffentlicht wurden. Die Build-Versionen der Instance-Metadaten korrelieren nicht mit den EC2 Amazon-API-Versionen. Es stehen frühere Versionen zur Verfügung, für den Fall dass Skripte angewendet werden, die auf den Strukturen und Daten dieser früheren Versionen aufbauen.
Anfordern der Top-Level-Metadatenelemente
In diesem Beispiel werden die Metadaten-Elemente der obersten Ebene abgerufen. Weitere Informationen zu den einzelnen Punkten in der Antwort finden Sie unter Instance-Metadatenkategorien.
Beachten Sie, dass Tags nur dann in dieser Ausgabe enthalten sind, wenn Sie den Zugriff zugelassen haben. Weitere Informationen finden Sie unter Zulassen des Zugriffs auf Tags in Instance-Metadaten.
Die Werte für Metadatenelemente abrufen
Die folgenden Beispiele zeigen die Werte einiger der Top-Level-Metadatenelemente, die im vorherigen Beispiel abgerufen wurden. Diese Anfragen verwenden das gespeicherte Token, das mit dem Befehl im vorherigen Beispiel erstellt wurde. Das Token darf nicht abgelaufen sein.
Abrufen der Liste der verfügbaren öffentlichen Schlüssel
In diesem Beispiel wird die Liste der verfügbaren öffentlichen Schlüssel abgerufen.
Anzeigen der Formate, in denen der öffentliche Schlüssel 0 verfügbar ist
In diesem Beispiel werden die Formate abgerufen, in denen der öffentliche Schlüssel 0 verfügbar ist.
Anfordern des öffentlichen Schlüssels 0 (im OpenSSH-Schlüsselformat)
In diesem Beispiel wird der öffentliche Schlüssel 0 abgerufen (im Format für OpenSSH-Schlüssel).
Anfordern der Subnetz-ID für eine Instance
In diesem Beispiel wird eine Subnetz-ID für eine Instance vergeben.
Abrufen von Instance-Tags für eine Instance
Wenn der Zugriff auf Instance-Tags in den Instance-Metadaten aktiviert ist, können Sie die Tags für eine Instance aus den Instance-Metadaten abrufen. Weitere Informationen finden Sie unter Abrufen von Tags aus Instance-Metadaten.
Beispiele für IMDSv1
Führen Sie die folgenden Beispiele auf Ihrer EC2 Amazon-Instance aus, um die Instance-Metadaten für abzurufen IMDSv1.
Auf Windows-Instanzen können Sie Windows verwenden PowerShell oder cURL oder wget installieren. Wenn Sie ein Drittanbieter-Tool in einer Windows-Instance installieren, sollten Sie die zugehörige Dokumentation unbedingt sorgfältig lesen; die Methode für die Aufrufe und die Ausgabe können von dieser Dokumentation abweichen.
Beispiele
- Abrufen der verfügbaren Versionen der Instance-Metadaten
- Anfordern der Top-Level-Metadatenelemente
- Die Werte für Metadatenelemente abrufen
- Abrufen der Liste der verfügbaren öffentlichen Schlüssel
- Anzeigen der Formate, in denen der öffentliche Schlüssel 0 verfügbar ist
- Anfordern des öffentlichen Schlüssels 0 (im OpenSSH-Schlüsselformat)
- Anfordern der Subnetz-ID für eine Instance
- Abrufen von Instance-Tags für eine Instance
Abrufen der verfügbaren Versionen der Instance-Metadaten
In diesem Beispiel werden die verfügbaren Versionen der Instance-Metadaten abgerufen. Jede Version bezieht sich auf einen Instance-Metadaten-Build, wenn neue Instance-Metadatenkategorien veröffentlicht wurden. Die Build-Versionen der Instance-Metadaten korrelieren nicht mit den EC2 Amazon-API-Versionen. Es stehen frühere Versionen zur Verfügung, für den Fall dass Skripte angewendet werden, die auf den Strukturen und Daten dieser früheren Versionen aufbauen.
Anfordern der Top-Level-Metadatenelemente
In diesem Beispiel werden die Metadaten-Elemente der obersten Ebene abgerufen. Weitere Informationen zu den einzelnen Punkten in der Antwort finden Sie unter Instance-Metadatenkategorien.
Beachten Sie, dass Tags nur dann in dieser Ausgabe enthalten sind, wenn Sie den Zugriff zugelassen haben. Weitere Informationen finden Sie unter Zulassen des Zugriffs auf Tags in Instance-Metadaten.
Die Werte für Metadatenelemente abrufen
Die folgenden Beispiele zeigen die Werte einiger der Top-Level-Metadatenelemente, die im vorherigen Beispiel abgerufen wurden.
Abrufen der Liste der verfügbaren öffentlichen Schlüssel
In diesem Beispiel wird die Liste der verfügbaren öffentlichen Schlüssel abgerufen.
Anzeigen der Formate, in denen der öffentliche Schlüssel 0 verfügbar ist
In diesem Beispiel werden die Formate abgerufen, in denen der öffentliche Schlüssel 0 verfügbar ist.
Anfordern des öffentlichen Schlüssels 0 (im OpenSSH-Schlüsselformat)
In diesem Beispiel wird der öffentliche Schlüssel 0 abgerufen (im Format für OpenSSH-Schlüssel).
Anfordern der Subnetz-ID für eine Instance
In diesem Beispiel wird eine Subnetz-ID für eine Instance vergeben.
Abrufen von Instance-Tags für eine Instance
Wenn der Zugriff auf Instance-Tags in den Instance-Metadaten aktiviert ist, können Sie die Tags für eine Instance aus den Instance-Metadaten abrufen. Weitere Informationen finden Sie unter Abrufen von Tags aus Instance-Metadaten.