Geteilte credentials Dateien config und Dateien - AWS SDKsund 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.

Geteilte credentials Dateien config und Dateien

Die geteilten credentials Dateien AWS config und Dateien enthalten eine Reihe von Profilen. Ein Profil ist ein Satz von Konfigurationseinstellungen in Schlüssel-Wert-Paaren, der von den Tools AWS Command Line Interface (AWS CLI) AWS SDKs, dem und anderen verwendet wird. Konfigurationswerte werden an ein Profil angehängt, um einen bestimmten Aspekt des SDK /tools zu konfigurieren, wenn dieses Profil verwendet wird. Diese Dateien werden „gemeinsam genutzt“, da die Werte für alle Anwendungen, Prozesse oder in SDKs der lokalen Umgebung eines Benutzers wirksam werden.

Sowohl die gemeinsam genutzten config Dateien als auch die credentials Dateien sind Klartextdateien, die nur ASCII Zeichen enthalten (UTF-8-kodiert). Sie haben die Form von Dateien, die allgemein als Dateien bezeichnet werden. INI

Profile

Die Einstellungen in den geteilten credentials Dateien config und Dateien sind einem bestimmten Profil zugeordnet. In der Datei können mehrere Profile definiert werden, um unterschiedliche Einstellungskonfigurationen für unterschiedliche Entwicklungsumgebungen zu erstellen.

Das [default] Profil enthält die Werte, die von einer Operation des SDK Oder-Tools verwendet werden, wenn kein bestimmtes benanntes Profil angegeben ist. Sie können auch separate Profile erstellen, auf die Sie explizit namentlich verweisen können. Jedes Profil kann je nach Anwendung und Szenario unterschiedliche Einstellungen und Werte verwenden.

Anmerkung

[default]ist einfach ein unbenanntes Profil. Dieses Profil ist benanntdefault, weil es das Standardprofil ist, das von verwendet wird, SDK wenn der Benutzer kein Profil angibt. Es stellt keine vererbten Standardwerte für andere Profile bereit. Wenn Sie im [default] Profil etwas festlegen und es nicht in einem benannten Profil festlegen, wird der Wert nicht festgelegt, wenn Sie das benannte Profil verwenden.

Legen Sie ein benanntes Profil fest

Das [default] Profil und mehrere benannte Profile können in derselben Datei vorhanden sein. Verwenden Sie die folgende Einstellung, um auszuwählen, welche Profileinstellungen von Ihrem SDK OR-Tool bei der Ausführung Ihres Codes verwendet werden. Profile können auch innerhalb des Codes oder per Befehl ausgewählt werden, wenn Sie mit dem AWS CLI arbeiten.

Konfigurieren Sie diese Funktionalität, indem Sie eine der folgenden Einstellungen festlegen:

AWS_PROFILE- Umgebungsvariable

Wenn diese Umgebungsvariable auf ein benanntes Profil oder „Standard“ gesetzt ist, verwenden der gesamte SDK Code und alle AWS CLI Befehle die Einstellungen in diesem Profil.

Linux/macOS-Beispiel für das Setzen von Umgebungsvariablen über die Befehlszeile:

export AWS_PROFILE="my_default_profile_name";

Windows-Beispiel für das Setzen von Umgebungsvariablen über die Befehlszeile:

setx AWS_PROFILE "my_default_profile_name"
aws.profile- JVM Systemeigenschaft

SDKFür Kotlin auf dem JVM und SDK für Java 2.x können Sie die aws.profile Systemeigenschaft setzen. Wenn der einen Service-Client SDK erstellt, verwendet er die Einstellungen im genannten Profil, sofern die Einstellung nicht im Code überschrieben wird. Das SDK für Java 1.x unterstützt diese Systemeigenschaft nicht.

Anmerkung

Wenn sich Ihre Anwendung auf einem Server befindet, auf dem mehrere Anwendungen ausgeführt werden, empfehlen wir, immer benannte Profile anstelle des Standardprofils zu verwenden. Das Standardprofil wird automatisch von allen AWS Anwendungen in der Umgebung übernommen und von allen Anwendungen gemeinsam genutzt. Wenn also jemand anderes das Standardprofil für seine Anwendung aktualisiert, kann sich dies unbeabsichtigt auf die anderen auswirken. Um dies zu verhindern, definieren Sie ein benanntes Profil in der gemeinsam genutzten config Datei und verwenden Sie dann dieses benannte Profil in Ihrer Anwendung, indem Sie das benannte Profil in Ihrem Code festlegen. Sie können die Umgebungsvariable oder die JVM Systemeigenschaft verwenden, um das benannte Profil festzulegen, wenn Sie wissen, dass sich sein Geltungsbereich nur auf Ihre Anwendung auswirkt.

Format der Konfigurationsdatei

Die config Datei ist in Abschnitte unterteilt. Ein Abschnitt ist eine benannte Sammlung von Einstellungen und reicht bis zur nächsten Abschnittsdefinitionszeile.

Die config Datei ist eine Klartextdatei, die das folgende Format verwendet:

  • Alle Einträge in einem Abschnitt haben das allgemeine Format setting-name=value.

  • Zeilen können auskommentiert werden, indem die Zeile mit einem Hashtag-Zeichen (#) begonnen wird.

Typen von Abschnitten

Eine Abschnittsdefinition ist eine Zeile, die einer Sammlung von Einstellungen einen Namen zuweist. Die Zeilen der Abschnittsdefinition beginnen und enden mit eckigen Klammern ([]). Innerhalb der Klammern befinden sich eine Typ-ID für den Abschnitt und ein benutzerdefinierter Name für den Abschnitt. Sie können Buchstaben, Zahlen, Bindestriche () und Unterstriche (-_) verwenden, aber keine Leerzeichen.

Abschnittstyp: default

Beispiel für eine Abschnittsdefinitionszeile: [default]

[default]ist das einzige Profil, für das die profile Abschnitts-ID nicht erforderlich ist.

Das folgende Beispiel zeigt eine config Basisdatei mit einem [default] Profil. Es legt die regionEinstellung fest. Alle Einstellungen, die dieser Zeile folgen, sind Teil dieses Profils, bis eine andere Abschnittsdefinition gefunden wird.

[default] #Full line comment, this text is ignored. region = us-east-2

Abschnittstyp: profile

Beispiel für eine Abschnittsdefinitionszeile: [profile dev]

Die profile Abschnittsdefinitionszeile ist eine benannte Konfigurationsgruppierung, die Sie für verschiedene Entwicklungsszenarien anwenden können. Weitere Informationen zu benannten Profilen finden Sie im vorherigen Abschnitt über Profile.

Das folgende Beispiel zeigt eine config Datei mit einer profile Abschnittsdefinitionszeile und einem benannten Profil namensfoo. Alle Einstellungen, die auf diese Zeile folgen, bis eine andere Abschnittsdefinition gefunden wird, sind Teil dieses benannten Profils.

[profile foo] ...settings...

Einige Einstellungen haben ihre eigene verschachtelte Gruppe von Untereinstellungen, wie die s3 Einstellung und die Untereinstellungen im folgenden Beispiel. Ordnen Sie die Untereinstellungen der Gruppe zu, indem Sie sie um ein oder mehrere Leerzeichen einrücken.

[profile test] region = us-west-2 s3 = max_concurrent_requests=10 max_queue_size=1000

Abschnittstyp: sso-session

Beispiel für eine Abschnittsdefinitionszeile: [sso-session my-sso]

Die sso-session Abschnittsdefinitionszeile benennt eine Gruppe von Einstellungen, die Sie verwenden, um ein Profil für die Auflösung von AWS Anmeldeinformationen zu konfigurieren AWS IAM Identity Center. Weitere Informationen zur Konfiguration der Single Sign-On-Authentifizierung finden Sie unterIAMIdentity Center-Authentifizierung für Ihr Tool SDK oder. Ein Profil ist mit einem sso-session Abschnitt durch ein Schlüssel-Wert-Paar verknüpft, wobei sso-session der Schlüssel und der Name Ihres sso-session Abschnitts der Wert ist, z. B. sso-session = <name-of-sso-session-section>

Im folgenden Beispiel wird ein Profil konfiguriert, das mithilfe eines Tokens von „my-sso“ kurzfristige AWS Anmeldeinformationen für die IAM Rolle SampleRole "" im Konto „111122223333" erhält. Der Abschnitt „my-sso“ wird im sso-session Abschnitt unter Verwendung des Schlüssels namentlich referenziert. profile sso-session

[profile dev] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://my-sso-portal.awsapps.com/start

Abschnittstyp: services

Beispiel für eine Abschnittsdefinitionszeile: [services dev]

Anmerkung

Der services Abschnitt unterstützt dienstspezifische Endpunktanpassungen und ist nur in SDKs Tools verfügbar, die diese Funktion enthalten. Informationen darüber, ob diese Funktion für Sie verfügbar istSDK, finden Sie unter Servicespezifische Kompatibilität mit AWS SDKs Endgeräte.

servicesIn der Definitionszeile des Abschnitts wird eine Gruppe von Einstellungen benannt, mit denen benutzerdefinierte Endpunkte für Anfragen konfiguriert werden. AWS-Service Ein Profil ist mit einem services Abschnitt durch ein Schlüssel-Wert-Paar verknüpft, wobei services der Schlüssel und der Name Ihres services Abschnitts der Wert ist, z. B. services = <name-of-services-section>

Der services Abschnitt ist weiter durch <SERVICE> = Zeilen in Unterabschnitte unterteilt, wobei sich der <SERVICE> AWS-Service Identifikationsschlüssel befindet. Der AWS-Service Bezeichner basiert auf dem API Modell, indem alle Leerzeichen serviceId durch Unterstriche ersetzt und alle Buchstaben klein geschrieben werden. Eine Liste aller Service-ID-Schlüssel, die im services-Abschnitt verwendet werden können, finden Sie unter Identifikatoren für dienstspezifische Endpunkte. Auf den Service-ID-Schlüssel folgen verschachtelte Einstellungen, die jeweils in einer eigenen Zeile stehen, welche durch zwei Leerzeichen eingerückt sind.

Im folgenden Beispiel wird eine services Definition verwendet, um den Endpunkt so zu konfigurieren, dass er nur für Anfragen verwendet wird, die an den Amazon DynamoDB Dienst gestellt werden. Der "local-dynamodb" services Abschnitt wird im profile Abschnitt unter Verwendung des services Schlüssels namentlich referenziert. Der AWS-Service Bezeichnerschlüssel lautetdynamodb. Der Unterabschnitt Amazon DynamoDB Service beginnt in der Zeiledynamodb = . Alle unmittelbar folgenden Zeilen, die eingerückt sind, sind in diesem Unterabschnitt enthalten und gelten für diesen Service.

[profile dev] services = local-dynamodb [services local-dynamodb] dynamodb = endpoint_url = http://localhost:8000

Weitere Informationen zur Konfiguration benutzerdefinierter Endgeräte finden Sie unterServicespezifische Endpunkte.

Format der Datei mit den Anmeldeinformationen

Die Regeln für die credentials Datei sind im Allgemeinen identisch mit denen für die config Datei, mit der Ausnahme, dass Profilabschnitte nicht mit dem Wort beginnenprofile. Verwenden Sie nur den Profilnamen selbst in eckigen Klammern. Das folgende Beispiel zeigt eine credentials Datei mit einem benannten Profilabschnitt namensfoo.

[foo] ...credential settings...

Nur die folgenden Einstellungen, die als „geheim“ oder vertraulich gelten, können in der credentials Datei gespeichert werden: aws_access_key_idaws_secret_access_key, undaws_session_token. Diese Einstellungen können zwar auch in der gemeinsam genutzten config Datei platziert werden, wir empfehlen jedoch, diese sensiblen Werte in der separaten credentials Datei beizubehalten. Auf diese Weise können Sie bei Bedarf separate Berechtigungen für jede Datei bereitstellen.

Das folgende Beispiel zeigt eine credentials Basisdatei mit einem [default] Profil. Es legt die aws_session_token globalen Einstellungen für aws_access_key_idaws_secret_access_key, und fest.

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

Unabhängig davon, ob Sie ein benanntes Profil oder default "" in Ihrer credentials Datei verwenden, werden alle Einstellungen hier mit allen Einstellungen aus Ihrer config Datei kombiniert, die denselben Profilnamen verwendet. Wenn in beiden Dateien Anmeldeinformationen für ein Profil mit demselben Namen vorhanden sind, haben die Schlüssel in der Anmeldeinformationsdatei Vorrang.