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 Referenzen mit einem externen Prozess in der AWS CLI
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 zu verwenden, die von AWS CLI und bereitgestellt werden, 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 ISO8601Expiration
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 der Übernahme von 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.