Einstellungen der Konfigurations- und Anmeldeinformationsdatei - AWS Command Line Interface

Einstellungen der Konfigurations- und Anmeldeinformationsdatei

Sie können Ihre häufig verwendeten Konfigurationseinstellungen und Anmeldeinformationen in Dateien speichern, die von der AWS CLIverwaltet werden.

Die Dateien sind in profiles unterteilt. Standardmäßig verwendet die CLI die Einstellungen aus dem Profil mit dem Namen default. Wenn Sie alternative Einstellungen verwenden möchten, können Sie zusätzliche Profile erstellen und referenzieren. Weitere Informationen zu benannten Profilen finden Sie unter Benannte Profile.

Sie können eine einzelne Einstellung überschreiben, indem Sie entweder eine der unterstützten Umgebungsvariablen definieren oder einen Befehlszeilenparameter verwenden. Weitere Informationen zum Vorrang der Konfigurationseinstellungen finden Sie unter Konfigurationseinstellungen und Vorrang.

Wo werden Konfigurationseinstellungen gespeichert?

Die AWS CLI speichert vertrauliche Anmeldeinformationen, die Sie mit aws configure angeben, in einer lokalen Datei namens credentials in einem Ordner namens .aws in Ihrem Stammverzeichnis. Die weniger vertraulichen Konfigurationsoptionen, die Sie mit aws configure angeben, werden in einer lokalen Datei namens config gespeichert, die sich ebenfalls im Ordner .aws Ihres Stammverzeichnisses befindet.

Speichern von Anmeldeinformationen in der Konfigurationsdatei

Sie können alle Profileinstellungen in einer einzigen Datei speichern, da die AWS CLI Anmeldeinformationen aus der Datei config lesen kann. Wenn in beiden Dateien Anmeldeinformationen für ein Profil mit demselben Namen vorhanden sind, haben die Schlüssel in der Anmeldeinformationsdatei Vorrang.

Diese Dateien werden auch von den Software Development Kits (SDKs) für verschiedene Sprachen verwendet. Wenn Sie zusätzlich zur AWS CLI eines der SDKs verwenden, bestätigen Sie, ob die Anmeldeinformationen in einer eigenen Datei gespeichert werden sollen.

Der Speicherort Ihres Stammverzeichnis hängt vom Betriebssystem ab. Die folgenden Umgebungsvariablen verweisen auf dieses: %UserProfile% in Windows und $HOME oder ~ (Tilde) in Unix-basierten Systemen. Sie können auch einen Nicht-Standard-Speicherort für die Datei config angeben, indem Sie die Umgebungsvariable AWS_CONFIG_FILE auf einen anderen lokalen Pfad setzen. Details dazu finden Sie unter Umgebungsvariablen zum Konfigurieren der AWS CLI.

Beispielsweise ähneln die von der CLI generierten Dateien für ein Standardprofil, das mit aws configure konfiguriert ist, den folgenden.

~/.aws/credentials

[default] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

~/.aws/config

[default] region=us-west-2 output=json

Dateibeispiele mit mehreren benannten Profilen finden Sie unter Benannte Profile.

Wenn Sie ein freigegebenes Profil verwenden, das eine AWS Identity and Access Management (IAM)-Rolle angibt, ruft die AWS CLI die AWS STS-Operation AssumeRole auf, um temporäre Anmeldeinformationen abzurufen. Diese Anmeldeinformationen werden dann (in ~/.aws/cli/cache) gespeichert. Nachfolgende AWS CLI-Befehle verwenden die zwischengespeicherten temporären Anmeldeinformationen, bis sie ablaufen. Dann aktualisiert die AWS CLI automatisch die Anmeldeinformationen.

Festlegen und Anzeigen von Konfigurationseinstellungen

Es gibt mehrere Möglichkeiten, Ihre Konfigurationseinstellungen in den Dateien anzuzeigen und festzulegen.

Anmeldeinformationen und Konfigurationsdatei

Sie können Ihre Einstellungen anzeigen und bearbeiten, indem Sie die Dateien credentials und config direkt in einem Texteditor bearbeiten. Weitere Informationen finden Sie unter Wo werden Konfigurationseinstellungen gespeichert?

Um eine Einstellung zu entfernen, löschen Sie die entsprechende Einstellung in Ihren credentials- und config-Dateien.

aws configure

Führen Sie diesen Befehl aus, um Ihre Anmeldeinformationen, Ihre Region und das Ausgabeformat schnell festzulegen und anzuzeigen. Das folgende Beispiel zeigt Beispielwerte.

$ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-west-2 Default output format [None]: json

Weitere Informationen finden Sie unter Schnellkonfiguration mit aws configure

aws configure set

Sie können alle Anmeldeinformationen oder Konfigurationseinstellungen mit aws configure set festlegen. Geben Sie das Profil an, das Sie mit der --profile-Einstellung anzeigen oder ändern möchten.

Mit dem folgenden Befehl beispielsweise wird die region in dem Profil mit dem Namen integ festgelegt.

$ aws configure set region us-west-2 --profile integ

Um eine Einstellung zu entfernen, verwenden Sie eine leere Zeichenfolge als Wert, oder löschen Sie die Einstellung in den credentials- und config-Dateien manuell in einem Texteditor.

$ aws configure set cli_pager "" --profile integ
aws configure get

Sie können alle Anmeldeinformationen oder Konfigurationseinstellungen abrufen, die Sie mit aws configure get festgelegt haben. Geben Sie das Profil an, das Sie mit der --profile-Einstellung anzeigen oder ändern möchten.

Beispielsweise wird mit dem folgenden Befehl dieregion-Einstellung in dem Profil mit dem Namen integ abgerufen.

$ aws configure get region --profile integ us-west-2

Wenn die Ausgabe leer ist, ist die Einstellung nicht explizit festgelegt und es wird der Standardwert verwendet.

aws configure import
Diese Funktion ist nur mit AWS CLI Version 2 verfügbar.

Die folgende Funktion ist nur verfügbar, wenn Sie AWS CLI Version 2 verwenden. Sie ist nicht verfügbar, wenn Sie AWS CLI Version 1 ausführen. Informationen zur Installation von Version 2 finden Sie unter Installieren der AWS CLI Version 2.

Importieren von CSV-Anmeldeinformationen, die von der AWS-Webkonsole generiert wurden. Eine CSV-Datei wird importiert, wobei der Profilname mit dem IAM-Benutzernamen übereinstimmt.

$ aws configure import –csv file://credentials.csv
aws configure list

Um alle Konfigurationsdaten aufzulisten, verwenden Sie den Befehl aws configure list. Dieser Befehl zeigt den AWS CLI-Namen aller Einstellungen, die Sie konfiguriert haben, ihre Werte, und von wo aus die Konfiguration abgerufen wurde.

$ aws configure list Name Value Type Location ---- ----- ---- -------- profile <not set> None None access_key ****************ABCD shared-credentials-file secret_key ****************ABCD shared-credentials-file region us-west-2 env AWS_DEFAULT_REGION
aws configure list-profiles
Diese Funktion ist nur mit AWS CLI Version 2 verfügbar.

Die folgende Funktion ist nur verfügbar, wenn Sie AWS CLI Version 2 verwenden. Sie ist nicht verfügbar, wenn Sie AWS CLI Version 1 ausführen. Informationen zur Installation von Version 2 finden Sie unter Installieren der AWS CLI Version 2.

Um alle Profilnamen aufzulisten, verwenden Sie den Befehl aws configure list-profiles.

$ aws configure list-profiles default test

Unterstützte Einstellungen in der config-Datei

Die folgenden Einstellungen werden in der config-Datei unterstützt. Es werden die Werte in dem angegebenen Profil (oder dem Standardprofil) verwendet, es sei denn, sie werden durch eine gleichnamige Umgebungsvariable oder eine gleichnamige Befehlszeilenoption überschrieben. Weitere Informationen darüber, welche Rangfolgeeinstellungen Vorrang haben, finden Sie unter Konfigurationseinstellungen und Vorrang

Globale Einstellungen

api_versions

Einige AWS-Services unterhalten mehrere API-Versionen zur Unterstützung der Abwärtskompatibilität. Standardmäßig wird in CLI-Befehlen die neueste verfügbare API-Version verwendet. Durch Angabe der Einstellung api_versions in der config-Datei können Sie eine API-Version angeben, die für ein Profil verwendet werden soll.

Hierbei handelt es sich um eine „verschachtelte” Einstellung, auf die eine oder mehrere eingerückte Zeilen folgen, in denen jeweils ein AWS-Service und die zu verwendende API-Version angegeben sind. Informationen zu den jeweils verfügbaren API-Versionen finden Sie in der Dokumentation zu den einzelnen Services.

Im folgenden Beispiel sehen Sie, wie Sie eine API-Version für zwei AWS-Services angeben können. Diese API-Versionen werden nur für Befehle verwendet, die unter dem Profil mit diesen Einstellungen ausgeführt werden.

api_versions = ec2 = 2015-03-01 cloudfront = 2015-09-017

Diese Einstellung verfügt nicht über eine Umgebungsvariable oder einen entsprechenden Befehlszeilenparameter.

aws_access_key_id

Gibt den AWS-Zugriffsschlüssel an, der als Teil der Anmeldeinformationen zur Authentifizierung der Befehlsanforderung verwendet wird. Zwar kann dieser in der config-Datei gespeichert werden, wir empfehlen Ihnen jedoch, ihn in der credentials-Datei zu speichern.

Kann von der Umgebungsvariablen AWS_ACCESS_KEY_ID überschrieben werden. Es ist nicht möglich, die Zugriffsschlüssel-ID als Befehlszeilenoption anzugeben.

aws_access_key_id = 123456789012
aws_secret_access_key

Gibt den geheimen AWS-Schlüssel an, der als Teil der Anmeldeinformationen zur Authentifizierung der Befehlsanforderung verwendet wird. Zwar kann dieser in der config-Datei gespeichert werden, wir empfehlen Ihnen jedoch, ihn in der credentials-Datei zu speichern.

Kann von der Umgebungsvariablen AWS_SECRET_ACCESS_KEY überschrieben werden. Es ist nicht möglich, den geheimen Zugriffsschlüssel als Befehlszeilenoption anzugeben.

aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
aws_session_token

Gibt ein AWS-Sitzungs-Token an. Ein Sitzungs-Token ist nur erforderlich, wenn Sie manuell temporäre Anmeldeinformationen angeben. Zwar kann dieses in der config-Datei gespeichert werden, wir empfehlen Ihnen jedoch, es in der credentials-Datei zu speichern.

Kann von der Umgebungsvariablen AWS_SESSION_TOKEN überschrieben werden. Es ist nicht möglich, das Sitzungs-Token als Befehlszeilenoption anzugeben.

aws_session_token = AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4Olgk
ca_bundle

Gibt eine CA-Zertifikat-Bundle (eine Datei mit der Erweiterung .pem) an, die zur Überprüfung von SSL-Zertifikaten verwendet wird.

Kann von der Umgebungsvariablen AWS_CA_BUNDLE oder mit der Befehlszeilenoption --ca-bundle überschrieben werden.

ca_bundle = dev/apps/ca-certs/cabundle-2019mar05.pem
cli_binary_format
Diese Funktion ist nur mit AWS CLI Version 2 verfügbar.

Die folgende Funktion ist nur verfügbar, wenn Sie AWS CLI Version 2 verwenden. Sie ist nicht verfügbar, wenn Sie AWS CLI Version 1 ausführen. Informationen zur Installation von Version 2 finden Sie unter Installieren der AWS CLI Version 2.

Gibt an, wie die AWS CLI Version 2 binäre Eingabeparameter interpretiert. Dabei kann es sich um einen der folgenden Werte handeln:

  • base64 – Dies ist der Standardwert. Ein Eingabeparameter, der als BLOB (Binary Large Object) eingegeben wird, akzeptiert eine base64-kodierte Zeichenfolge. Um echten binären Inhalt zu übergeben, legen Sie den Inhalt in eine Datei und geben den Pfad und den Namen der Datei mit dem Präfix fileb:// als Wert des Parameters an. Um in einer Datei enthaltenen base64-kodierten Text zu übergeben, geben Sie den Pfad und den Namen der Datei mit dem Präfix file:// als Wert des Parameters an.

  • raw-in-base64-out– Bietet Abwärtskompatibilität mit dem AWS CLI Version 1-Verhalten, bei dem Binärwerte exakt wie angegeben übergeben werden müssen.

Dieser Eintrag verfügt über keine entsprechende Umgebungsvariable. Sie können den Wert in einem einzelnen Befehl mit dem Parameter --cli-binary-format raw-in-base64-out angeben.

cli_binary_format = raw-in-base64-out

Wenn Sie einen Binärwert in einer Datei mit der Präfixnotation fileb:// referenzieren, erwartet die AWS CLI immer, dass die Datei unformatierten binären Inhalt enthält, und versucht nicht, den Wert zu konvertieren.

Wenn Sie einen binären Wert in einer Datei mithilfe der Präfixnotation file:// referenzieren, behandelt die AWS CLI die Datei entsprechend der aktuellen cli_binary_format-Einstellung. Wenn der Wert dieser Einstellung base64 lautet (der Standardwert, wenn nicht explizit festgelegt), erwartet die CLI, dass die Datei base64-kodierten Text enthält. Wenn der Wert dieser Einstellung raw-in-base64-out lautet, erwartet die CLI, dass die Datei unformatierten binären Inhalt enthält.

cli_follow_urlparam
Diese Funktion ist nur mit AWS CLI Version 1 verfügbar.

Die folgende Funktion ist nur verfügbar, wenn Sie AWS CLI Version 1 verwenden. Sie ist nicht verfügbar, wenn Sie AWS CLI Version 2 ausführen.

Gibt an, ob die CLI versucht, URL-Links in Befehlszeilenparametern zu folgen, die mit http:// oder https:// beginnen. Wenn diese Einstellung aktiviert ist, werden die abgerufenen Inhalte anstelle der URL als Parameterwert verwendet.

  • true: Dies ist der Standardwert. Wenn angegeben, werden alle Zeichenfolgeparameter abgerufen, die mit http:// oder https:// beginnen, und die heruntergeladenen Inhalte werden als Parameterwert für den Befehl verwendet.

  • false – Wenn angegeben, behandelt die CLI Zeichenfolgewerte des Parameters, die mit http:// oder https:// beginnen, nicht anders als andere Zeichenfolgen.

Zu diesem Eintrag gibt es keine entsprechende Umgebungsvariable oder Befehlszeilenoption.

cli_follow_urlparam = false
cli_pager
Diese Funktion ist nur mit AWS CLI Version 2 verfügbar.

Die folgende Funktion ist nur verfügbar, wenn Sie AWS CLI Version 2 verwenden. Sie ist nicht verfügbar, wenn Sie AWS CLI Version 1 ausführen. Informationen zur Installation von Version 2 finden Sie unter Installieren der AWS CLI Version 2.

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.

Kann durch die Umgebungsvariable AWS_PAGER außer Kraft gesetzt werden.

cli_pager=less

Um die gesamte Verwendung eines externen Auslagerungsprogramms zu deaktivieren, setzen Sie die Variable auf eine leere Zeichenfolge, wie im folgenden Beispiel gezeigt.

cli_pager=
cli_timestamp_format

Gibt das Format der in der Ausgabe enthaltenen Zeitstempelwerte an. Sie können einen der folgenden Werte angeben:

  • iso8601: Der Standardwert für AWS CLI Version 2. Die AWS CLI formatiert alle Zeitstempel nach ISO 8601 neu.

  • wire: Der Standardwert für AWS CLI Version 1. Die AWS CLI zeigt alle Zeitstempelwerte genau so an, wie sie in der HTTP-Abfrageantwort empfangen wurden.

Zu diesem Eintrag gibt es keine entsprechende Umgebungsvariable oder Befehlszeilenoption.

cli_timestamp_format = iso8601
credential_process

Gibt einen externen Befehl an, den die CLI ausführt, um Authentifizierungs-Anmeldeinformationen für diesen Befehl zu generieren oder abzurufen. Der Befehl muss die Anmeldeinformationen in einem bestimmten Format zurückgeben. Weitere Informationen zur Verwendung dieser Einstellung finden Sie unter Beschaffung von Anmeldeinformationen über einen externen Prozess.

Zu diesem Eintrag gibt es keine entsprechende Umgebungsvariable oder Befehlszeilenoption.

credential_process = /opt/bin/awscreds-retriever --username susan
credential_source

Wird innerhalb von Amazon EC2-Instances oder EC2-Containern verwendet, um anzugeben, wo die AWS CLI Anmeldeinformationen für die Übernahme der Rolle finden kann, die Sie mit dem Parameter role_arn angegeben haben. Sie können source_profile und credential_source nicht im selben Profil angeben.

Dieser Parameter kann einen von drei Werten haben:

  • Umgebung: Gibt an, dass die AWS CLI Quellanmeldeinformationen aus Umgebungsvariablen abrufen soll.

  • EC2InstanceMetadata: Gibt an, dass die AWS CLI die IAM-Rolle verwenden soll, die dem EC2-Instance-Profil zugeordnet ist, um Quellanmeldeinformationen abrufen zu können.

  • ECSContainer: Gibt an, dass die AWS CLI die IAM-Rolle, die dem ECS-Container zugeordnet ist, als Quellanmeldeinformationen verwendet werden soll.

credential_source = Ec2InstanceMetadata
duration_seconds

Gibt die maximale Dauer der Rollensitzung in Sekunden an. Der Wert kann zwischen 900 Sekunden (15 Minuten) und der maximalen Sitzungsdauer für die Rolle liegen maximal 43.200). Dieser Parameter ist optional. Standardmäßig ist der Wert auf 3.600 Sekunden festgelegt.

external_id

Gibt eine eindeutige Kennung an, die von Dritten verwendet wird, um eine Rolle in den Konten ihrer Kunden zu übernehmen. Dies entspricht dem Parameter ExternalId in der Operation AssumeRole. Dieser Parameter ist nur erforderlich, wenn die Vertrauensrichtlinie für die Rolle einen Wert für ExternalId angibt. Weitere Informationen finden Sie unter Verwenden eines externen Gateways, um Dritten Zugriff auf Ihre AWS-Ressourcen zu gewähren im IAM-Benutzerhandbuch.

mfa_serial

Die ID eines MFA-Geräts, das verwendet werden soll, wenn eine Rolle übernommen wird. Diese ist nur erforderlich, wenn die Vertrauensrichtlinie der übernommenen Rolle eine Bedingung enthält, für die eine MFA-Authentifizierung erforderlich ist. Der Wert kann entweder eine Seriennummer für ein Hardwaregerät (z. B. GAHT12345678) oder ein Amazon-Ressourcenname (ARN) für ein virtuelles MFA-Gerät (z. B. arn:aws:iam::123456789012:mfa/user) sein.

output

Gibt das Standardausgabeformat für Befehle an, die mit diesem Profil angefordert wurden. Sie können alle folgenden Werte angeben:

  • json: Die Ausgabe wird als JSON-Zeichenfolge formatiert.

  • yaml: Die Ausgabe wird als YAML-Zeichenfolge formatiert. (Nur in AWS CLI Version 2 verfügbar.)

  • text: Die Ausgabe wird als mehrzeilige Folge von Zeichenfolgewerten mit Tabulatoren als Trennzeichen formatiert. Dies kann nützlich sein, wenn die Ausgabe an ein Modul zur Verarbeitung von Text wie grep, sed oder awk übergeben werden soll.

  • table: Die Ausgabe erfolgt in Form einer Tabelle mit den Zeichen +|-, die den Zellenrahmen bilden. Normalerweise wird die Information in einem benutzerfreundlichen Format wiedergegeben, das viel einfacher zu lesen ist als die anderen, jedoch programmatisch nicht so nützlich ist.

Kann von der Umgebungsvariablen AWS_DEFAULT_OUTPUT oder mit der Befehlszeilenoption --output überschrieben werden.

output = table
parameter_validation

Gibt an, ob der AWS CLI-Client versucht, Parameter zu validieren, bevor diese an den AWS-Service-Endpunkt gesendet werden.

  • true: Dies ist der Standardwert. Wenn festgelegt, nimmt die CLI eine lokale Validierung von Befehlszeilenparametern vor.

  • false: Wenn festgelegt, validiert die CLI die Befehlszeilenparameter nicht, bevor diese an den AWS-Service-Endpunkt gesendet werden.

Zu diesem Eintrag gibt es keine entsprechende Umgebungsvariable oder Befehlszeilenoption.

parameter_validation = false
region

Gibt die AWS-Region an, an die Anforderungen für Befehle gesendet werden sollen, die mit diesem Befehl angefordert wurden.

  • Sie können einen der für den ausgewählten Service verfügbaren Regionscodes angeben, die unter AWS-Regionen und -Endpunkte in der Allgemeine Amazon Web Services-Referenz aufgeführt sind.

  • Mit aws_global können Sie den globalen Endpunkt für Services angeben, die neben regionalen Endpunkten auch einen globalen Endpunkt unterstützen, z. B. AWS Security Token Service (AWS STS) und Amazon Simple Storage Service (Amazon S3).

Sie können diesen Wert überschreiben, indem Sie die Umgebungsvariable AWS_DEFAULT_REGION oder die Befehlszeilenoption --region verwenden.

region = us-west-2
role_arn

Gibt den Amazon-Ressourcennamen (ARN) einer IAM-Rolle an, die Sie zum Ausführen der AWS CLI-Befehle verwenden möchten. Sie müssen auch einen der folgenden Parameter angeben, um die Anmeldeinformationen zu identifizieren, die berechtigt sind, diese Rolle zu übernehmen:

  • source_profile

  • credential_source

role_arn = arn:aws:iam::123456789012:role/role-name
role_session_name

Gibt den Namen an, der der Rollensitzung zugeordnet werden soll. Dieser Wert wird dem Parameter RoleSessionName bereitgestellt, wenn die AWS CLI die Operation AssumeRole aufruft, und wird Teil des Benutzer-ARN der übernommenen Rolle: arn:aws:sts::123456789012:assumed-role/role_name/role_session_name Dieser Parameter ist optional. Wenn Sie diesen Wert nicht angeben, wird automatisch ein Sitzungsname generiert. Dieser Name wird in den AWS CloudTrail-Protokollen für Einträge angezeigt, die dieser Sitzung zugeordnet sind.

role_session_name = maria_garcia_role
source_profile

Gibt ein benanntes Profil mit langfristigen Anmeldeinformationen an, die die AWS CLI verwenden kann, um eine Rolle zu übernehmen, die Sie mit dem Parameter role_arn angegeben haben. Sie können source_profile und credential_source nicht im selben Profil angeben.

source_profile = production-profile
sso_account_id (Nur in AWS CLI Version 2 verfügbar.)

Die AWS-Konto-ID, die die IAM-Rolle mit der Berechtigung enthält, die Sie dem zugeordneten AWS SSO-Benutzer erteilen möchten.

Diese Einstellung verfügt nicht über eine Umgebungsvariable oder eine Befehlszeilenoption.

sso_account_id = 123456789012
sso_region (Nur in AWS CLI Version 2 verfügbar.)

Gibt die AWS-Region an, die den AWS SSO-Portalhost enthält. Diese ist getrennt vom region-Standard-CLI-Parameter und kann eine andere Region sein.

Diese Einstellung verfügt nicht über eine Umgebungsvariable oder eine Befehlszeilenoption.

aws_sso_region = us_west-2
sso_role_name (Nur in AWS CLI Version 2 verfügbar.)

Gibt den Anzeigenamen der IAM-Rolle an, die die Berechtigungen des Benutzers bei der Verwendung dieses Profils definiert.

Diese Einstellung verfügt nicht über eine Umgebungsvariable oder eine Befehlszeilenoption.

sso_role_name = ReadAccess
sso_start_url (Nur in AWS CLI Version 2 verfügbar.)

Gibt die URL an, die auf das AWS SSO-Benutzerportal der Organisation verweist. Die AWS CLI verwendet diese URL, um eine Sitzung mit dem AWS SSO-Service zur Authentifizierung seiner Benutzer einzurichten.

Diese Einstellung verfügt nicht über eine Umgebungsvariable oder eine Befehlszeilenoption.

sso_start_url = https://my-sso-portal.awsapps.com/start
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.

Diese Einstellung kann mit der Umgebungsvariablen AWS_STS_REGIONAL_ENDPOINTS überschrieben werden. Sie können diesen Wert nicht als Befehlszeilenparameter festlegen.

web_identity_token_file

Gibt den Pfad zu einer Datei an, die ein OAuth 2.0-Zugriffstoken oder OpenID Connect ID-Token enthält, das von einem Identitätsanbieter bereitgestellt wird. Die AWS CLI lädt den Inhalt dieser Datei und übergibt ihn als WebIdentityToken-Argument an die Operation AssumeRoleWithWebIdentity.

tcp_keepalive

Gibt an, ob der AWS CLI-Client TCP-Keepalive-Pakete verwendet.

Zu diesem Eintrag gibt es keine entsprechende Umgebungsvariable oder Befehlszeilenoption.

tcp_keepalive = false

Einstellungen für benutzerdefinierte S3-Befehle

Amazon S3 unterstützt mehrere Einstellungen zur Konfiguration der Ausführung von Amazon S3-Operationen über die AWS CLI. Einige gelten für alle S3-Befehle in den s3-Namespaces und den s3api-Namespaces. Andere beziehen sich speziell auf „benutzerdefinierte” S3-Befehle, die allgemeine Operationen abstrahieren und mehr als eine Eins-zu-eins-Zuordnung zu einer API-Operation vornehmen. Für die aws s3-Übertragungsbefehle cp, sync, mv und rm gibt es zusätzliche Einstellungen, die Sie zur Steuerung von S3-Übertragungen verwenden können.

Alle diese Optionen können durch Angabe der verschachtelten Einstellung s3 in Ihrer config-Datei konfiguriert werden. Jede Einstellung wird dann in einer eigenen Zeile eingerückt.

Anmerkung

Diese Einstellungen sind völlig optional. Die aws s3-Übertragungsbefehle müssten auch ohne Konfiguration dieser Einstellungen erfolgreich ausgeführt werden können. Die Einstellungen werden bereitgestellt, damit Sie die Leistung verbessern oder die besondere Umgebung berücksichtigen können, in der Sie diese aws s3-Befehle ausführen.

Die folgenden Einstellungen gelten für alle S3-Befehle in den s3- oder s3api-Namespaces.

addressing_style

Gibt an, welcher Adressierungsstil verwendet werden soll. Dieser Wert steuert, ob der Bucketname im Hostnamen enthalten oder Teil der URL ist. Gültige Werte sind: path, virtual und auto. Der Standardwert ist auto.

Es gibt zwei Möglichkeiten, einen S3-Endpunkt zu erstellen. Die erste wird als virtual bezeichnet und beinhaltet den Bucket-Namen als Teil des Hostnamens. Beispiel: https://bucketname.s3.amazonaws.com. Alternativ können Sie mit dem path-Stil den Bucket-Namen wie einen Pfad im URI behandeln. Beispiel: https://s3.amazonaws.com/bucketname. Standardmäßig wird in der CLI auto verwendet. Dabei wird versucht, möglichst den virtual-Stil zu verwenden, gegebenenfalls wird jedoch auf den path-Stil zurückgegriffen. Wenn Ihr Bucket-Name beispielsweise nicht DNS-kompatibel ist, kann er nicht Teil des Hostnamens sein und muss im Pfad enthalten sein. Bei Verwendung von auto erkennt die CLI diese Bedingung und schaltet automatisch zum path-Stil um. Wenn Sie als Adressierungsstil path festlegen, müssen Sie sicherstellen, dass die AWS-Region, die Sie in der AWS CLI konfiguriert haben, mit der Region Ihres Buckets übereinstimmt.

payload_signing_enabled

Gibt an, ob eine SHA256-Signatur für sigv4-Nutzlasten erfolgen soll. Standardmäßig ist diese Einstellung bei Verwendung von HTTPS für Streaming-Uploads (UploadPart und PutObject) deaktiviert. Standardmäßig ist die Einstellung für Streaming-Uploads (UploadPart und PutObject) auf false gesetzt, allerdings nur, wenn ContentMD5 vorhanden ist (wird standardmäßig generiert) und der Endpunkt HTTPS verwendet.

Wenn die Einstellung auf „true” gesetzt wird, erhalten S3-Anforderungen eine zusätzliche Inhaltsvalidierung in Form einer SHA256-Prüfsumme, die berechnet und in die Anforderungssignatur aufgenommen wird. Wenn „false” festgelegt ist, wird die Prüfsumme nicht berechnet. Eine Deaktivierung dieser Einstellung kann nützlich sein, um den durch die Prüfsummenberechnung entstandenen Leistungsaufwand zu reduzieren.

use_dualstack_endpoint

Verwendet den Amazon S3-Dual IPv4-/IPv6-Endpunkt für alle s3- und s3api-Befehle. Der Standardwert von "false". Diese Einstellung und die Einstellung use_accelerate_endpoint schließen sich gegenseitig aus.

Wenn der Wert „true“ festgelegt wird, leitet die AWS CLI alle Amazon S3-Anforderungen an den Dual IPv4-/IPv6-Endpunkt für die konfigurierte Region.

use_accelerate_endpoint

Verwendet den Amazon S3 Accelerate-Endpunkt für alle s3- und s3api-Befehle. Der Standardwert ist "false". Diese Einstellung und die Einstellung use_dualstack_endpoint schließen sich gegenseitig aus.

Wenn dieser Wert auf „true“ gesetzt ist, leitet die AWS CLI alle Amazon S3-Anforderungen an den S3 Accelerate-Endpunkt an s3-accelerate.amazonaws.com. Um diesen Endpunkt zu verwenden, müssen Sie Ihrem Bucket die Verwendung von S3 Accelerate ermöglichen. Alle Anforderungen werden unter Verwendung der virtuellen Bucket-Adressierungsform gesendet: my-bucket.s3-accelerate.amazonaws.com. ListBuckets-, CreateBucket- und DeleteBucket -Anfragen werden nicht an den S3 Accelerate-Endpunkt gesendet, da dieser Endpunkt diese Operationen nicht unterstützt. Dieses Verhalten kann auch festgelegt werden, wenn der Parameter --endpoint-url für einen s3- oder s3api-Befehl auf https://s3-accelerate.amazonaws.com oder http://s3-accelerate.amazonaws.com gesetzt ist.

Die folgenden Einstellungen gelten nur für Befehle im Befehlssatz für den s3-Namespace.

max_bandwidth

Gibt die maximale Bandbreite an, die zum Hoch- und Herunterladen von Daten in und aus Amazon S3 verbraucht werden kann. Standardmäßig ist kein Grenzwert festgelegt.

Diese Einstellung begrenzt die maximale Bandbreite, die S3-Befehle zur Übertragung von Daten an und aus Amazon S3 nutzen können. Der Wert gilt nur für Uploads und Downloads, nicht für Kopien oder Löschvorgänge. Der Wert wird in Bytes pro Sekunde ausgedrückt. Der Wert kann wie folgt angegeben werden:

  • Als ganze Zahl. Bei Angabe von 1048576 wird für die maximale Bandbreitennutzung beispielsweise 1 Megabyte pro Sekunde festgelegt.

  • Als ganze Zahl, gefolgt von einem Suffix für die Rate. Sie können Suffixe unter Verwendung von KB/s, MB/s oder GB/s angeben. Beispiel, 300KB/s, 10MB/s.

Im Allgemeinen empfehlen wir, zunächst durch Verringerung des Werts für max_concurrent_requests eine niedrigere Bandbreitennutzung anzugeben. Wenn der Bandbreitenverbrauch dadurch nicht angemessen auf die gewünschte Rate begrenzt werden kann, können Sie die Einstellung max_bandwidth verwenden, um den Bandbreitenverbrauch weiter zu begrenzen. Dies liegt daran, dass max_concurrent_requests steuert, wie viele Threads zurzeit ausgeführt werden. Wenn Sie stattdessen zuerst max_bandwidth senken, es aber bei einer hohen max_concurrent_requests-Einstellung belassen, kann dies dazu führen, dass Threads unnötig warten müssen. Dies kann zu einem übermäßigen Ressourcenverbrauch und Verbindungszeitüberschreitungen führen.

max_concurrent_requests

Gibt die maximale Anzahl gleichzeitiger Anforderungen an. Der Standardwert lautet 10.

Die aws s3-Übertragungsbefehle sind Multithread-Befehle. Zu jedem Zeitpunkt können mehrere Amazon S3-Anforderungen ausgeführt werden. Wenn Sie beispielsweise den Befehl aws s3 cp localdir s3://bucket/ --recursive verwenden, um Dateien in einen S3-Bucket hochzuladen, kann die AWS CLI die Dateien localdir/file1, localdir/file2 und localdir/file3 parallel hochladen. Die Einstellung max_concurrent_requests gibt die maximale Anzahl von Übertragungsoperationen an, die gleichzeitig ausgeführt werden können.

Unter Umständen müssen Sie diesen Wert aus einem der folgenden Gründe ändern:

  • Verringerung dieses Werts – in einigen Umgebungen kann der Standardwert von 10 gleichzeitigen Anforderungen zu einer Überlastung des Systems führen. Die Folge können Zeitüberschreitungen bei der Verbindung oder eine herabgesetzte Reaktionsfähigkeit des Systems sein. Wenn Sie diesen Wert senken, sind die S3-Übertragungsbefehle weniger ressourcenintensiv. Der Nachteil ist jedoch, dass S3-Übertragungen länger dauern können. Eine Senkung dieses Wertes könnte erforderlich sein, wenn Sie ein Tool zur Begrenzung der Bandbreite verwenden.

  • Erhöhung dieses Werts – in einigen Fällen kann es sinnvoll sein, die S3-Übertragungen so schnell wie möglich durchzuführen und dabei so viel Netzwerkbandbreite wie nötig zu beanspruchen. In einem solchen Fall reicht die standardmäßige Anzahl gleichzeitiger Anforderungen möglicherweise nicht aus, um die gesamte verfügbare Netzwerkbandbreite zu nutzen. Eine Erhöhung dieses Werts kann dazu führen, dass sich die Zeit für die Durchführung einer S3-Übertragung verkürzt.

max_queue_size

Gibt die maximale Anzahl von Aufgaben in der Aufgabenwarteschlange an. Der Standardwert lautet 1000.

Die AWS CLI verwendet intern ein Modell, bei dem Amazon S3-Aufgaben in die Warteschlange gestellt und dann von Konsumenten ausgeführt werden, deren Zahl durch max_concurrent_requests begrenzt ist. Eine Aufgabe entspricht im Allgemeinen einer einzelnen S3-Operation. Eine mögliche Aufgabe könnte beispielsweise PutObjectTask, GetObjectTask oder UploadPartTask sein. Die Aufgaben können der Warteschlange viel schneller hinzugefügt werden, als die Konsumenten die Aufgaben abschließen. Um ein unbegrenztes Wachstum zu vermeiden, ist die Größe der Aufgabenwarteschlange begrenzt. Diese Einstellung ändert den Wert dieser maximalen Anzahl.

Im Allgemeinen müssen Sie diese Einstellung nicht ändern. Diese Einstellung entspricht auch der Anzahl Aufgaben, von denen die CLI weiß, dass sie ausgeführt werden müssen. Somit kann die CLI standardmäßig nur 1000 Aufgaben vorab sehen. Wenn dieser Wert erhöht wird, weiß die CLI schneller, wie viele Aufgaben insgesamt benötigt werden, vorausgesetzt, die Einreihung in die Warteschlange erfolgt schneller als die Aufgabenausführung. Der Nachteil besteht darin, dass für eine größere maximale Warteschlangengröße mehr Speicher benötigt wird.

multipart_chunksize

Gibt die Blockgröße an, welche die AWS CLI für mehrteilige Übertragungen einzelner Dateien verwendet. Der Standardwert ist 8 MB und mindestens 5 MB.

Wenn eine Datei den multipart_threshold-Wert überschreitet, teilt die CLI die Datei in Blöcke dieser Größe. Dieser Wert kann mit derselben Syntax wie multipart_threshold angegeben werden, also entweder als ganzzahlige Bytezahl oder unter Verwendung einer Größe und eines Suffixes.

multipart_threshold

Gibt den Größenschwellenwert an, den die AWS CLI für mehrteilige Übertragungen einzelner Dateien verwendet. Der Standardwert lautet 8 MB.

Beim Hochladen, Herunterladen oder Kopieren einer Datei gehen die S3-Befehle zu mehrteiligen Operationen über, wenn die Datei diese Größe überschreitet. Sie können diesen Wert auf zwei Arten angeben:

  • Dateigröße in Bytes. Beispiel, 1048576.

  • Dateigröße mit einem Größensuffix. Sie können KB, MB, GB oder TB verwenden. Beispiel: 10MB, 1GB.

    Anmerkung

    S3 kann Beschränkungen für gültige Werte anwenden, die für mehrteilige Operationen verwendet werden können. Weitere Informationen finden Sie in der S3-Dokumentation zu mehrteiligen Uploads im Entwicklerhandbuch für Amazon Simple Storage Service.

Diese Einstellungen werden alle unter einem s3-Schlüssel der obersten Ebene in der config-Datei festgelegt, wie im folgenden Beispiel für das development-Profil dargestellt.

[profile development] s3 = max_concurrent_requests = 20 max_queue_size = 10000 multipart_threshold = 64MB multipart_chunksize = 16MB max_bandwidth = 50MB/s use_accelerate_endpoint = true addressing_style = path