View a markdown version of this page

Anbieter von IMDS-Anmeldeinformationen - AWS SDKs und Tools

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.

Anbieter von IMDS-Anmeldeinformationen

Anmerkung

Hilfe zum Verständnis des Layouts von Einstellungsseiten oder zur Interpretation der folgenden Tabelle „Unterstützung durch AWS SDKs und Tools“ finden Sie unterDie Einstellungsseiten dieses Handbuchs verstehen.

Der Instance Metadata Service (IMDS) stellt Daten über Ihre Instance bereit, die Sie zur Konfiguration oder Verwaltung der laufenden Instance verwenden können. Weitere Informationen zu den verfügbaren Daten finden Sie unter Arbeiten mit Instance-Metadaten im Amazon EC2-Benutzerhandbuch. Amazon EC2 stellt Instances einen lokalen Endpunkt zur Verfügung, der der Instance verschiedene Informationen zur Verfügung stellen kann. Wenn der Instance eine Rolle zugeordnet ist, kann sie eine Reihe von Anmeldeinformationen bereitstellen, die für diese Rolle gültig sind. Die SDKs können diesen Endpunkt verwenden, um Anmeldeinformationen als Teil ihrer standardmäßigen Anbieterkette für Anmeldeinformationen aufzulösen. Instance Metadata Service Version 2 (IMDSv2), eine sicherere Version von IMDS, die ein Sitzungstoken verwendet, wird standardmäßig verwendet. Schlägt dies aufgrund einer Bedingung fehl, die nicht wiederholt werden kann (HTTP-Fehlercodes 403, 404, 405), wird IMDSv1 als Fallback verwendet.

Konfigurieren Sie diese Funktion mithilfe der folgenden Optionen:

AWS_EC2_METADATA_DISABLED- Umgebungsvariable

Ob versucht werden soll, Amazon EC2 Instance Metadata Service (IMDS) zu verwenden, um Anmeldeinformationen abzurufen.

Standardwert: false.

Zulässige Werte:

  • true— Verwenden Sie IMDS nicht, um Anmeldeinformationen abzurufen.

  • false— Verwenden Sie IMDS, um Anmeldeinformationen abzurufen.

ec2_metadata_v1_disabled- Einstellung für gemeinsam genutzte AWS config Dateien
AWS_EC2_METADATA_V1_DISABLED- Umgebungsvariable
aws.disableEc2MetadataV1- JVM-Systemeigenschaft: nur Java/Kotlin

Ob Instance Metadata Service Version 1 (IMDSv1) als Fallback verwendet werden soll, falls IMDSv2 ausfällt.

Anmerkung

Neue SDKs unterstützen IMDSv1 nicht und unterstützen daher diese Einstellung nicht. Einzelheiten finden Sie in der Tabelle. Unterstützung von AWS SDKs und Tools

Standardwert: false.

Zulässige Werte:

  • true— Verwenden Sie IMDSv1 nicht als Fallback.

  • false— Verwenden Sie IMDSv1 als Fallback.

ec2_metadata_service_endpoint- gemeinsame Dateieinstellung AWS config
AWS_EC2_METADATA_SERVICE_ENDPOINT- Umgebungsvariable
aws.ec2MetadataServiceEndpoint- JVM-Systemeigenschaft: nur Java/Kotlin

Der Endpunkt von IMDS. Dieser Wert überschreibt den Standardspeicherort, an dem AWS SDKs und Tools nach Amazon EC2-Instance-Metadaten suchen.

Standardwert: Wenn ec2_metadata_service_endpoint_mode gleich, ist der IPv4 Standardendpunkt. http://169.254.169.254 Wenn ec2_metadata_service_endpoint_mode gleichIPv6, dann ist der Standardendpunkt. http://[fd00:ec2::254]

Gültige Werte: Gültiger URI.

ec2_metadata_service_endpoint_mode- Einstellung für gemeinsam genutzte AWS config Dateien
AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE- Umgebungsvariable
aws.ec2MetadataServiceEndpointMode- JVM-Systemeigenschaft: nur Java/Kotlin

Der Endpunktmodus von IMDS.

Vorgabewert: IPv4.

Gültige Werte: IPv4,IPv6.

Anmerkung

Der IMDS-Anmeldeinformationsanbieter ist Teil von. Machen Sie sich mit der Kette der Anbieter von Anmeldeinformationen vertraut Der IMDS-Anmeldeinformationsanbieter wird jedoch erst nach mehreren anderen Anbietern aus dieser Reihe geprüft. Wenn Sie also möchten, dass Ihr Programm die Anmeldeinformationen dieses Anbieters verwendet, müssen Sie andere gültige Anmeldeinformationsanbieter aus Ihrer Konfiguration entfernen oder ein anderes Profil verwenden. Anstatt sich darauf zu verlassen, dass die Kette der Anmeldeinformationsanbieter automatisch ermittelt, welcher Anbieter gültige Anmeldeinformationen zurückgibt, können Sie alternativ die Verwendung des IMDS-Anbieters für Anmeldeinformationen im Code angeben. Sie können die Quellen für Anmeldeinformationen direkt angeben, wenn Sie Service-Clients erstellen.

Sicherheit für IMDS-Anmeldeinformationen

Wenn das AWS SDK nicht mit gültigen Anmeldeinformationen konfiguriert ist, versucht das SDK standardmäßig, den Amazon EC2 Instance Metadata Service (IMDS) zu verwenden, um Anmeldeinformationen für eine Rolle abzurufen. AWS Dieses Verhalten kann deaktiviert werden, indem die AWS_EC2_METADATA_DISABLED Umgebungsvariable auf gesetzt wird. true Dies verhindert unnötige Netzwerkaktivitäten und erhöht die Sicherheit in nicht vertrauenswürdigen Netzwerken, in denen die Identität des Amazon EC2 Instance Metadata Service imitiert werden kann.

Anmerkung

AWS SDK-Clients, die mit gültigen Anmeldeinformationen konfiguriert sind, verwenden IMDS niemals zum Abrufen von Anmeldeinformationen, unabhängig von diesen Einstellungen.

Deaktivierung der Verwendung von Amazon EC2-IMDS-Anmeldeinformationen

Wie Sie diese Umgebungsvariable festlegen, hängt davon ab, welches Betriebssystem verwendet wird und ob die Änderung dauerhaft sein soll oder nicht.

Unter Linux und macOS

Kunden, die Linux oder macOS verwenden, können diese Umgebungsvariable mit dem folgenden Befehl festlegen:

$ export AWS_EC2_METADATA_DISABLED=true

Wenn Sie möchten, dass diese Einstellung über mehrere Shell-Sitzungen und Systemneustarts hinweg beibehalten wird, können Sie den obigen Befehl zu Ihrer Shell-Profildatei hinzufügen, z. B. .bash_profile.zsh_profile, oder.profile.

Windows

Kunden, die Windows verwenden, können diese Umgebungsvariable mit dem folgenden Befehl festlegen:

$ set AWS_EC2_METADATA_DISABLED=true

Wenn Sie möchten, dass diese Einstellung über mehrere Shell-Sitzungen und Systemneustarts hinweg beibehalten wird, können Sie stattdessen den folgenden Befehl verwenden:

$ setx AWS_EC2_METADATA_DISABLED=true
Anmerkung

Der setx Befehl wendet den Wert nicht auf die aktuelle Shell-Sitzung an, sodass Sie die Shell neu laden oder erneut öffnen müssen, damit die Änderung wirksam wird.

Unterstützung von AWS SDKs und Tools

Die folgenden SDKs unterstützen die in diesem Thema beschriebenen Funktionen und Einstellungen. Alle teilweisen Ausnahmen werden vermerkt. Alle JVM-Systemeigenschaftseinstellungen werden von AWS SDK für Java and the AWS SDK für Kotlin only unterstützt.

SDK Unterstützt Hinweise oder weitere Informationen
AWS CLI   v2 Ja
SDK für C++ Ja
SDK für Go V2 (1.x) Ja
SDK für Go 1.x (V1) Ja Um die Einstellungen für gemeinsam genutzte config Dateien zu verwenden, müssen Sie das Laden aus der Konfigurationsdatei aktivieren; siehe Sitzungen.
SDK für Java 2.x Ja
SDK für Java 1.x Teilweise JVM-Systemeigenschaften: Wird com.amazonaws.sdk.disableEc2MetadataV1 anstelle von verwendetaws.disableEc2MetadataV1; aws.ec2MetadataServiceEndpoint und wird aws.ec2MetadataServiceEndpointMode nicht unterstützt.
SDK für 3.x JavaScript Ja
SDK für 2.x JavaScript Ja
SDK für Kotlin Ja Verwendet kein IMDSv1-Fallback.
SDK für.NET 4.x Ja
SDK für.NET 3.x Ja
SDK für PHP 3.x Ja
SDK für Python (Boto3) Ja
SDK für Ruby 3.x Ja
SDK für Rust Ja Verwendet kein IMDSv1-Fallback.
SDK für Swift Ja
Tools für PowerShell V5 Ja Sie können das IMDSv1-Fallback explizit im Code mit deaktivieren. [Amazon.Util.EC2InstanceMetadata]::EC2MetadataV1Disabled = $true
Tools für V4 PowerShell Ja Sie können das IMDSv1-Fallback explizit im Code deaktivieren, indem Sie Folgendes verwenden. [Amazon.Util.EC2InstanceMetadata]::EC2MetadataV1Disabled = $true