Anbieter von Prozessanmeldeinformationen - 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 Prozessanmeldeinformationen

SDKs bieten eine Möglichkeit, die Kette der Anbieter von Anmeldeinformationen für benutzerdefinierte Anwendungsfälle zu erweitern.

IAM Roles Anywhere bietet eine Möglichkeit, temporäre Anmeldeinformationen für einen Workload oder Prozess abzurufen, der außerhalb von ausgeführt wird. AWS Informationen zur Konfiguration credential_process für diese Verwendung finden Sie unterIAM Roles Anywhere.

Warnung

Im Folgenden wird eine Methode zur Beschaffung von Anmeldeinformationen aus einem externen Prozess beschrieben. Dies kann potenziell gefährlich sein, gehen Sie also vorsichtig vor. Andere Anbieter von Anmeldeinformationen sollten nach Möglichkeit bevorzugt werden. Wenn Sie diese Option verwenden, sollten Sie sicherstellen, dass die config Datei so weit wie möglich gesperrt ist, indem Sie die bewährten Sicherheitsmethoden für Ihr Betriebssystem verwenden. Stellen Sie sicher, dass Ihr benutzerdefiniertes Anmeldeinformationstool keine geheimen Informationen speichertStdErr, da die SDKs solche Informationen erfassen und protokollieren AWS CLI können, wodurch sie möglicherweise unbefugten Benutzern zugänglich gemacht werden.

Konfigurieren Sie diese Funktionalität wie folgt:

credential_process- Einstellung für gemeinsam genutzte AWS config Dateien

Gibt einen externen Befehl an, den das SDK oder Tool in Ihrem Namen ausführt, um zu verwendende Authentifizierungsdaten zu generieren oder abzurufen. Die Einstellung gibt den Namen eines Programms oder Befehls an, den das SDK aufruft. Wenn das SDK den Prozess aufruft, wartet es darauf, dass der Prozess JSON-Daten in sie schreibt. stdout Der benutzerdefinierte Anbieter muss Informationen in einem bestimmten Format zurückgeben. Diese Informationen enthalten die Anmeldeinformationen, mit denen das SDK oder das Tool Sie authentifizieren kann.

Anmerkung

Der Anbieter von Prozessanmeldedaten ist Teil von. Kette von Anbietern von Anmeldeinformationen Der Anbieter für Prozessanmeldedaten wird jedoch erst nach mehreren anderen Anbietern aus dieser Serie 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 auf die Kette der Anmeldeinformationsanbieter zu verlassen, um automatisch zu ermitteln, welcher Anbieter gültige Anmeldeinformationen zurückgibt, können Sie alternativ die Verwendung des Anbieters für Prozessanmeldedaten im Code angeben. Sie können die Quellen für Anmeldeinformationen direkt angeben, wenn Sie Dienstclients erstellen.

Den Pfad zum Programm für Anmeldeinformationen angeben

Der Wert der Einstellung ist eine Zeichenfolge, die einen Pfad zu einem Programm enthält, das das SDK oder das Entwicklungstool in Ihrem Namen ausführt:

  • Der Pfad und der Dateiname dürfen nur aus diesen Zeichen bestehen: A-Z, a-z, 0-9, Bindestrich (-), Unterstrich (_), Punkt (.), Schrägstrich (/), umgekehrter Schrägstrich (\) und Leerzeichen.

  • Wenn der Pfad oder Dateiname ein Leerzeichen enthält, umgeben Sie den vollständigen Pfad und Dateinamen mit doppelten Anführungszeichen („ “).

  • Wenn ein Parametername oder ein Parameterwert ein Leerzeichen enthält, umgeben Sie dieses Element mit doppelten Anführungszeichen („ “). Umgeben Sie dabei nur den Namen oder den Wert, nicht beides.

  • Nehmen Sie keine Umgebungsvariablen in die Zeichenketten auf. Fügen Sie beispielsweise $HOME oder nicht ein%USERPROFILE%.

  • Geben Sie den Basisordner nicht als an~. * Sie müssen entweder den vollständigen Pfad oder einen Basisdateinamen angeben. Wenn es einen Basisdateinamen gibt, versucht das System, das Programm in den durch die PATH Umgebungsvariable angegebenen Ordnern zu finden.

    Das folgende Beispiel zeigt die Einstellung von credentials al_process in der gemeinsam genutzten config Datei unter Linux/macOS.

    credential_process = "/path/to/credentials.sh" parameterWithoutSpaces "parameter with spaces"

    Das folgende Beispiel zeigt die Einstellung von credentials al_process in der gemeinsam genutzten Datei unter Windows. config

    credential_process = "C:\Path\To\credentials.cmd" parameterWithoutSpaces "parameter with spaces"

Gültige Ausgabe des Credentials-Programms

Das SDK führt den Befehl wie im Profil angegeben aus und liest dann Daten aus dem Standardausgabestream. Der von Ihnen angegebene Befehl, unabhängig davon, ob es sich um ein Skript oder ein Binärprogramm handelt, muss eine JSON-Ausgabe generierenSTDOUT, die der folgenden Syntax entspricht.

{ "Version": 1, "AccessKeyId": "an AWS access key", "SecretAccessKey": "your AWS secret access key", "SessionToken": "the AWS session token for temporary credentials", "Expiration": "RFC3339 timestamp for when the credentials expire" }
Anmerkung

Derzeit muss der Version-Schlüssel auf 1 gesetzt sein. Im Laufe der Zeit kann ein höherer Wert erforderlich sein, wenn sich die Struktur weiterentwickelt.

Der Expiration Schlüssel ist ein Zeitstempel im RFC3339-Format. Wenn der Expiration Schlüssel nicht in der Ausgabe des Tools enthalten ist, geht das SDK davon aus, dass es sich bei den Anmeldeinformationen um langfristige Anmeldeinformationen handelt, die nicht aktualisiert werden. Andernfalls werden die Anmeldeinformationen als temporäre Anmeldeinformationen betrachtet und sie werden automatisch aktualisiert, indem der credential_process Befehl erneut ausgeführt wird, bevor die Anmeldeinformationen ablaufen.

Anmerkung

Das SDK speichert die Anmeldeinformationen für externe Prozesse nicht im Cache, so wie es bei der Übernahme von Rollenanmeldedaten der Fall ist. Wenn Caching erforderlich ist, müssen Sie dies im externen Prozess implementieren.

Der externe Prozess kann einen Rückgabecode ungleich Null zurückgeben, um anzuzeigen, dass beim Abrufen der Anmeldeinformationen ein Fehler aufgetreten ist.

Kompatibilität mit SDKs AWS

Die folgenden SDKs unterstützen die in diesem Thema beschriebenen Funktionen und Einstellungen. Alle teilweisen Ausnahmen werden vermerkt. Alle Einstellungen für JVM-Systemeigenschaften werden AWS SDK for Kotlin nur von AWS SDK for Java und vom unterstützt.

SDK Unterstützt Hinweise oder weitere Informationen
AWS CLI v2 Ja
SDK for C++ Ja
SDK for Go V2 (1.x) Ja
SDK for 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 Sessions.
SDK for Java 2.x Ja
SDK for Java 1.x Ja
SDK für 3.x JavaScript Ja
SDK für 2.x JavaScript Ja
SDK für Kotlin Ja
SDK for .NET 3.x Ja
SDK for PHP 3.x Ja
SDK for Python (Boto3) Ja
SDK for Ruby 3.x Ja
SDK für Rust Ja
Tools für PowerShell Ja