Umgebungsvariablen zum Konfigurieren der AWS CLI - AWS Command Line Interface

Umgebungsvariablen zum Konfigurieren der AWS CLI

Umgebungsvariablen sind eine weitere Möglichkeit, Konfigurationsoptionen und Anmeldeinformationen anzugeben. Sie sind nützlich, wenn Sie Skripts erstellen oder vorübergehend ein benanntes Profil als Standard festlegen möchten.

Anmerkung

Sie können die AWS – Einmaliges Anmelden (AWS SSO)-Authentifizierung nicht mithilfe von Umgebungsvariablen angeben. Stattdessen müssen Sie ein benanntes Profil in der freigegebenen Konfigurationsdatei .aws/config verwenden. Weitere Informationen finden Sie unter Konfigurieren der AWS CLI für die Verwendung von AWS – Einmaliges Anmelden .

Vorrang von Optionen

  • Wenn Sie eine Option mit einer der in diesem Thema beschriebenen Umgebungsvariablen angeben, setzt sie jeden Wert außer Kraft, der aus einem Profil in der Konfigurationsdatei geladen wurde.

  • Wenn Sie eine Option über einen Parameter auf der CLI-Befehlszeile angeben, setzt sie jeden Wert außer Kraft, der entweder aus der entsprechenden Umgebungsvariablen oder aus einem Profil in der Konfigurationsdatei stammt.

Weitere Informationen zur Rangfolge und darüber, wie die AWS CLI bestimmt, welche Anmeldeinformationen verwendet werden sollen, finden Sie unter Konfigurationseinstellungen und Vorrang.

Festlegen von Umgebungsvariablen

Die folgenden Beispiele zeigen, wie Sie Umgebungsvariablen für den Standardbenutzer konfigurieren können.

Linux oder macOS

$ export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE $ export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY $ export AWS_DEFAULT_REGION=us-west-2

Durch die Festlegung der Umgebungsvariablen wird der verwendete Wert bis zum Ende der Shell-Sitzung oder bis zur Festlegung eines anderen Wertes für die Variable geändert. Sie können Variablen für zukünftige Sitzungen persistent machen, indem Sie sie im Startup-Skript Ihrer Shell festlegen.

Windows-Eingabeaufforderung

C:\> setx AWS_ACCESS_KEY_ID AKIAIOSFODNN7EXAMPLE C:\> setx AWS_SECRET_ACCESS_KEY wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY C:\> setx AWS_DEFAULT_REGION us-west-2

Bei Verwendung von set zur Festlegung einer Umgebungsvariablen wird der verwendete Wert bis zum Ende der aktuellen Eingabeaufforderungssitzung oder bis zur Festlegung eines anderen Wertes für die Variable geändert. Bei Verwendung von setx zur Festlegung einer Umgebungsvariablen wird der verwendete Wert in der aktuellen Eingabeaufforderungssitzung und allen nach Ausführung des Befehls erstellten Eingabeaufforderungssitzungen geändert. Andere Befehlsshells, die zum Zeitpunkt der Befehlsausführung bereits ausgeführt werden, sind hiervon nicht betroffen.

PowerShell

PS C:\> $Env:AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE" PS C:\> $Env:AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" PS C:\> $Env:AWS_DEFAULT_REGION="us-west-2"

Wenn Sie eine Umgebungsvariable an der PowerShell-Eingabeaufforderung wie in den vorherigen Beispielen festlegen, wird der Wert nur für die Dauer der aktuellen Sitzung gespeichert. Um die Einstellung der Umgebungsvariablen in allen PowerShell- und Eingabeaufforderungssitzungen persistent zu machen, speichern Sie sie mit der Anwendung System in der Systemsteuerung. Alternativ können Sie die Variable für alle zukünftigen PowerShell-Sitzungen festlegen, indem Sie sie Ihrem PowerShell-Profil hinzufügen. Weitere Informationen zum Speichern von Umgebungsvariablen bzw. zu deren persistenter sitzungsübergreifender Festlegung finden Sie in der PowerShell-Dokumentation.

Von AWS CLI unterstützte Umgebungsvariablen

Die AWS CLI unterstützt die folgenden Umgebungsvariablen.

AWS_ACCESS_KEY_ID

Gibt einen AWS-Zugriffsschlüssel an, der mit einem Benutzer oder einer Rolle von IAM verknüpft ist.

Ist sie definiert, überschreibt diese Umgebungsvariable den Wert für die Profileinstellung aws_access_key_id. Es ist nicht möglich, die Zugriffsschlüssel-ID mithilfe einer Befehlszeilenoption anzugeben.

AWS_CA_BUNDLE

Gibt den Pfad zu einem Zertifikat-Bundle für die HTTPS-Zertifikatvalidierung an.

Ist sie definiert, überschreibt diese Umgebungsvariable den Wert für die Profileinstellung ca_bundle. Sie können diese Umgebungsvariable mithilfe des --ca-bundle-Befehlszeilenparameters überschreiben.

AWS_CLI_FILE_ENCODING

Nur AWS CLI Version 2. Gibt die für Textdateien verwendete Kodierung an. Standardmäßig entspricht die Kodierung Ihrem Gebietsschema. Verwenden Sie die Umgebungsvariable aws_cli_file_encoding, um die Kodierung so festzulegen, dass sie sich vom Gebietsschema unterscheidet. Wenn Sie beispielsweise Windows mit der Standardcodierung CP1252 verwenden, legt aws_cli_file_encoding=UTF-8 die Befehlszeilenschnittstelle so fest, dass Textdateien mit UTF-8 geöffnet werden.

AWS_CONFIG_FILE

Gibt den Speicherort der Datei an, die die AWS CLI zum Speichern von Konfigurationsprofilen verwendet. Der Standardpfad ist ~/.aws/config.

Sie können diesen Wert nicht in einer benannten Profileinstellung oder mithilfe eines Befehlszeilenparameters angeben.

AWS_DEFAULT_OUTPUT

Gibt das zu verwendende Ausgabeformat an.

Ist sie definiert, überschreibt diese Umgebungsvariable den Wert für die Profileinstellung output. Sie können diese Umgebungsvariable mithilfe des --output-Befehlszeilenparameters überschreiben.

AWS_DEFAULT_REGION

Gibt die AWS-Region an, an die die Anfrage gesendet werden soll.

Ist sie definiert, überschreibt diese Umgebungsvariable den Wert für die Profileinstellung region. Sie können diese Umgebungsvariable mithilfe des --region-Befehlszeilenparameters überschreiben.

AWS_PAGER

Gibt das für die Ausgabe verwendete Pager-Programm an. Standardmäßig gibt AWS CLI Version 2 die gesamte Ausgabe über das Standard-Pager-Programm Ihres Betriebssystems zurück.

Um die gesamte Verwendung eines externen Auslagerungsprogramms zu deaktivieren, setzen Sie die Variable auf eine leere Zeichenfolge.

Wenn diese Umgebungsvariable definiert ist, überschreibt sie den Wert der Profileinstellung cli_pager.

AWS_PROFILE

Gibt den Namen des CLI-Profils mit den zu verwendenden Anmeldeinformationen und Optionen an. Dabei kann es sich um den Namen eines Profils handeln, das in einer credentials- oder config-Datei gespeichert ist, oder um den Wert default zur Nutzung des Standardprofils.

Ist sie definiert, überschreibt diese Umgebungsvariable das Verhalten, bei dem das Profil mit dem Namen [default] in der Konfigurationsdatei verwendet wird. Sie können diese Umgebungsvariable mithilfe des --profile-Befehlszeilenparameters überschreiben.

AWS_ROLE_SESSION_NAME

Gibt einen Namen an, der der Rollensitzung zugeordnet werden soll. Dieser Wert wird in CloudTrail-Protokollen für Befehle angezeigt, die vom Benutzer dieses Profils ausgeführt werden.

Ist sie definiert, überschreibt diese Umgebungsvariable den Wert für die Profileinstellung role_session_name. Sie können keinen Rollensitzungsnamen als Befehlszeilenparameter angeben.

AWS_SECRET_ACCESS_KEY

Gibt den geheimen Schlüssel an, der mit dem Zugriffsschlüssel verknüpft ist. Dies ist im Wesentlichen das "Passwort" für den Zugriffsschlüssel.

Ist sie definiert, überschreibt diese Umgebungsvariable den Wert für die Profileinstellung aws_secret_access_key. Es ist nicht möglich, die Zugriffsschlüssel-ID als Befehlszeilenoption anzugeben.

AWS_SESSION_TOKEN

Gibt den Sitzungstokenwert an, der erforderlich ist, wenn Sie temporäre Sicherheitsanmeldeinformationen verwenden, die Sie direkt aus AWS STS-Operationen abgerufen haben. Weitere Informationen finden Sie im Ausgabeabschnitt des Befehls "assume-role" im AWS CLI Command Reference.

Ist sie definiert, überschreibt diese Umgebungsvariable den Wert für die Profileinstellung aws_session_token. Es ist nicht möglich, das Sitzungs-Token als Befehlszeilenoption anzugeben.

AWS_SHARED_CREDENTIALS_FILE

Gibt den Speicherort der Datei an, die die AWS CLI zum Speichern von Zugriffsschlüsseln verwendet. Der Standardpfad ist ~/.aws/credentials.

Sie können diesen Wert nicht in einer benannten Profileinstellung oder mithilfe eines Befehlszeilenparameters angeben.

AWS_STS_REGIONAL_ENDPOINTS

Gibt an, wie die AWS CLI den AWS-Service-Endpunkt bestimmt, den der AWS CLI-Client zur Kommunikation mit dem AWS Security Token Service (AWS STS) verwendet.

  • Der Standardwert für den AWS CLI Version 1 beträgt legacy.

  • Der Standardwert für den AWS CLI Version 2 beträgt regional.

Sie können einen von zwei Werten angeben:

  • legacy – Verwendet den globalen STS-Endpunkt, sts.amazonaws.com, für die folgenden AWS-Regionen: ap-northeast-1, ap-south-1, ap-southeast-1, ap-southeast-2, aws-global, ca-central-1, eu-central-1, eu-north-1, eu-west-1, eu-west-2, eu-west-3, sa-east-1, us-east-1, us-east-2, us-west-1 und us-west-2. Für alle anderen Regionen wird automatisch deren jeweiliger regionaler Endpunkt verwendet.

  • regional – Die AWS CLI verwendet immer den AWS STS-Endpunkt für die aktuell konfigurierte Region. Wenn der Client beispielsweise für die Verwendung von us-west-2 konfiguriert ist, werden alle Aufrufe von AWS STS über den regionalen Endpunkt sts.us-west-2.amazonaws.com anstatt des globalen Endpunkts sts.amazonaws.com ausgeführt. Um eine Anforderung an den globalen Endpunkt zu senden, während diese Einstellung aktiviert ist, können Sie die Region auf aws-global festlegen.