Beschaffung von Anmeldeinformationen über einen externen Prozess - AWS Command Line Interface

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.

Beschaffung von Anmeldeinformationen über einen externen Prozess

Warnung

In diesem Thema wird die Beschaffung von Anmeldeinformationen von einem externen Prozess erläutert. Dies könnte ein Sicherheitsrisiko darstellen, wenn der Befehl zum Generieren der Anmeldeinformationen nicht zulässigen Prozessen oder Benutzern zugänglich wird. Wir empfehlen Ihnen, die unterstützten, sicheren Alternativen von AWS CLI und zu verwenden, um das Risiko AWS zu verringern, dass Ihre Anmeldeinformationen kompromittiert werden. Sorgen Sie dafür, dass Sie die config-Datei und alle zugehörigen Dateien und Tools vor einer Offenlegung sichern.

Stellen Sie sicher, dass Ihr benutzerdefiniertes Anmeldeinformationstool keine geheimen Informationen speichert, StdErr da es solche Informationen erfassen und protokollieren AWS CLI kann, wodurch sie möglicherweise unbefugten Benutzern zugänglich gemacht werden. SDKs

Wenn Sie über eine Methode zum Generieren oder Nachschlagen von Anmeldeinformationen verfügen, die nicht direkt von der unterstützt wird AWS CLI, können Sie die AWS CLI so konfigurieren, dass sie verwendet wird, indem Sie die credential_process Einstellung in der config Datei konfigurieren.

Beispielsweise könnten Sie einen etwa wie folgt aussehenden Eintrag in die config-Datei aufnehmen.

[profile developer] credential_process = /opt/bin/awscreds-custom --username helen
Syntax

Um diese Zeichenfolge auf eine Weise zu erstellen, die mit jedem Betriebssystem kompatibel ist, gehen Sie nach den folgenden Regeln vor:

  • Wenn der Pfad oder Dateiname ein Leerzeichen enthält, umgeben Sie den vollständigen Pfad und Dateinamen mit doppelten Anführungszeichen („ “). Pfad und Dateiname dürfen nur aus folgenden Zeichen bestehen: A-Z a-z 0-9 – _. Leerzeichen

  • 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.

  • Fügen Sie keine Umgebungsvariablen in die Zeichenfolgen ein. Sie können beispielsweise nicht $HOME oder %USERPROFILE% einschließen.

  • Geben Sie den Basisordner nicht als ~ an. Sie müssen den vollständigen Pfad angeben.

Beispiel für Windows

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

Beispiel für Linux oder macOS

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

Erwartete Ausgabe des Anmeldeinformationsprogramms

Der AWS CLI führt den Befehl wie im Profil angegeben aus und liest dann Daten vonSTDOUT. Der von Ihnen angegebene Befehl 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": "ISO8601 timestamp 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 Format ISO8601. Wenn der Expiration Schlüssel nicht in der Ausgabe des Tools enthalten ist, wird CLI davon ausgegangen, dass es sich bei den Anmeldeinformationen um langfristige Anmeldeinformationen handelt, die nicht aktualisiert werden. Andernfalls werden die Anmeldeinformationen als temporäre Anmeldeinformationen angesehen und automatisch aktualisiert, indem der Befehl credential_process vor ihrem Ablauf erneut ausgeführt wird.

Anmerkung

Der speichert AWS CLI keine externen Prozessanmeldedaten im Cache, so wie er es bei Rollenanmeldedaten tut. 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.