

Die AWS SDK für JavaScript Version 2 ist erreicht end-of-support. Wir empfehlen Ihnen, auf [AWS SDK für JavaScript Version 3](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/) zu migrieren. Weitere Einzelheiten und Informationen zur Migration finden Sie in dieser [Ankündigung](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/).

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.

# Einrichten der Anmeldeinformationen in Node.js
<a name="setting-credentials-node"></a>

Es gibt mehrere Möglichkeiten in Node.js, um dem SDK die Anmeldeinformationen bereitzustellen. Einige davon sind sicherer und andere bieten eine höhere Benutzerfreundlichkeit bei der Anwendungsentwicklung. Beim Abrufen von Anmeldeinformationen in Node.js sollten Sie vorsichtig sein, wenn Sie sich auf mehr als eine Quelle verlassen, wie z. B. auf eine von Ihnen geladene Umgebungsvariable und eine JSON-Datei. Sie können die Berechtigungen, unter denen Ihr Code ausgeführt wird, ändern, ohne sich dieser Änderung bewusst zu sein.

So können Sie Ihre Anmeldeinformationen angeben (in der Reihenfolge der Stärke der Empfehlung):

1. Aus AWS Identity and Access Management (IAM-) Rollen für Amazon geladen EC2

1. Aus der freigegebenen Anmeldeinformationsdatei (`~/.aws/credentials`) geladen

1. Aus den Umgebungsvariablen geladen

1. Aus einer JSON-Datei auf einem Datenträger geladen

1. Andere vom SDK bereitgestellte Klassen von Anbietern von Anmeldeinformationen JavaScript 

Wenn mehr als eine Quelle für Anmeldeinformationen für die SDK verfügbar ist, lautet die Standard-Auswahlpriorität wie folgt:

1. Anmeldeinformationen, die explizit über den Service-Client-Konstruktor festgelegt werden

1. Umgebungsvariablen

1. Die freigegebene Anmeldeinformationsdatei

1. Anmeldeinformationen, die aus dem ECS-Anmeldeinformationsanbieter geladen werden (wenn zutreffend)

1. Anmeldeinformationen, die mithilfe eines Anmeldeinformationsprozesses abgerufen werden, der in der gemeinsamen AWS Konfigurationsdatei oder der Datei mit den gemeinsamen Anmeldeinformationen angegeben ist. Weitere Informationen finden Sie unter [Laden von Anmeldeinformationen in Node.js über einen Prozess für konfigurierte Anmeldeinformationen](loading-node-credentials-configured-credential-process.md).

1. Anmeldeinformationen, die mithilfe des Anmeldeinformationsanbieters der EC2 Amazon-Instance aus AWS IAM geladen wurden (sofern in den Instance-Metadaten konfiguriert)

Weitere Informationen finden Sie unter [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Credentials.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Credentials.html)und [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CredentialProviderChain.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CredentialProviderChain.html)in der API-Referenz.

**Warnung**  
Dies ist zwar möglich, wir empfehlen jedoch nicht, Ihre AWS Anmeldeinformationen in Ihrer Anwendung fest zu codieren. Die Hartcodierung der Anmeldeinformationen setzt die Zugriffsschlüssel-ID und den geheimen Zugriffsschlüssel dem Risiko einer Offenlegung aus.

Die Themen in diesem Abschnitt beschreiben, wie Sie die Anmeldeinformationen in Node.js laden.

**Topics**
+ [Anmeldeinformationen in Node.js aus IAM-Rollen für Amazon laden EC2](loading-node-credentials-iam.md)
+ [Laden der Anmeldeinformationen für eine Node.js-Lambda-Funktion](loading-node-credentials-lambda.md)
+ [Laden der Anmeldeinformationen in Node.js aus der freigegebenen Anmeldeinformationsdatei](loading-node-credentials-shared.md)
+ [Laden der Anmeldeinformationen in Node.js aus den Umgebungsvariablen](loading-node-credentials-environment.md)
+ [Laden der Anmeldeinformationen in Node.js aus einer JSON-Datei](loading-node-credentials-json-file.md)
+ [Laden von Anmeldeinformationen in Node.js über einen Prozess für konfigurierte Anmeldeinformationen](loading-node-credentials-configured-credential-process.md)

# Anmeldeinformationen in Node.js aus IAM-Rollen für Amazon laden EC2
<a name="loading-node-credentials-iam"></a>

Wenn Sie Ihre Anwendung Node.js auf einer EC2 Amazon-Instance ausführen, können Sie IAM-Rollen für Amazon nutzen EC2 , um automatisch Anmeldeinformationen für die Instance bereitzustellen. Wenn Sie Ihre Instance für die Verwendung von IAM-Rollen konfigurieren, wählt das SDK automatisch die IAM-Anmeldeinformationen für Ihre Anwendung aus, sodass Sie keine Anmeldeinformationen manuell angeben müssen.

Weitere Informationen zum Hinzufügen von IAM-Rollen zu einer EC2 Amazon-Instance finden Sie unter [Verwenden von IAM-Rollen für EC2 Amazon-Instances](https://docs.aws.amazon.com/sdkref/latest/guide/access-iam-roles-for-ec2.html) im *AWS SDKs Tools-Referenzhandbuch.*

# Laden der Anmeldeinformationen für eine Node.js-Lambda-Funktion
<a name="loading-node-credentials-lambda"></a>

Wenn Sie eine AWS Lambda Funktion erstellen, müssen Sie eine spezielle IAM-Rolle erstellen, die über die Berechtigung zum Ausführen der Funktion verfügt. Diese Rolle wird *Ausführungsrolle* genannt. Wenn Sie eine Lambda-Funktion einrichten, müssen Sie die von Ihnen erstellte IAM-Rolle als entsprechende Ausführungsrolle angeben.

Die Ausführungsrolle stellt der Lambda-Funktion die Anmeldeinformationen zur Verfügung, die sie zum Ausführen und Aufrufen anderer Webdienste benötigt. Daher müssen Sie keine Anmeldeinformationen für den Code Node.js angeben, den Sie in einer Lambda-Funktion schreiben.

Weitere Informationen zum Erstellen einer Lambda-Ausführungsrolle finden Sie unter [Berechtigungen verwalten: Verwenden einer IAM-Rolle (Ausführungsrolle)](https://docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html#lambda-intro-execution-role) im *AWS Lambda Entwicklerhandbuch*.

# Laden der Anmeldeinformationen in Node.js aus der freigegebenen Anmeldeinformationsdatei
<a name="loading-node-credentials-shared"></a>

Sie können Ihre AWS Anmeldedaten in einer gemeinsam genutzten Datei speichern, die von SDKs und der Befehlszeilenschnittstelle verwendet wird. Wenn das SDK für JavaScript geladen wird, durchsucht es automatisch die Datei mit den gemeinsamen Anmeldeinformationen, die den Namen „Anmeldeinformationen“ trägt. Wo Sie die freigegebene Anmeldeinformationsdatei speichern, hängt von Ihrem Betriebssystem ab:
+ Die Datei mit gemeinsam genutzten Anmeldeinformationen auf Linux, Unix und macOS: `~/.aws/credentials`
+ Die freigegebene Datei für Anmeldeinformationen auf Windows: `C:\Users\USER_NAME\.aws\credentials`

Wenn Sie noch keine freigegebene Anmeldeinformationsdatei haben, finden Sie weitere Informationen unter [SDK-Authentifizierung mit AWS](getting-your-credentials.md). Sobald Sie diese Anweisungen befolgt haben, sollte in der Anmeldeinformationsdatei ein Text ähnlich dem Folgenden angezeigt werden, in dem *<YOUR\$1ACCESS\$1KEY\$1ID>* sich Ihre Zugriffsschlüssel-ID und *<YOUR\$1SECRET\$1ACCESS\$1KEY>* Ihr geheimer Zugriffsschlüssel befinden:

```
[default]
aws_access_key_id = <YOUR_ACCESS_KEY_ID>
aws_secret_access_key = <YOUR_SECRET_ACCESS_KEY>
```

Ein Beispiel für die Verwendung dieser Datei finden Sie unter [Erste Schritte in Node.js](getting-started-nodejs.md).

Unter der `[default]`-Abschnittsüberschrift wird ein Standardprofil sowie die zugehörigen Werte für die Anmeldeinformationen festgelegt. Sie können zusätzliche Profile in der gleichen freigegebenen Konfigurationsdatei erstellen, wobei diese über ihre eigenen Anmeldeinformationen verfügen. Das folgende Beispiel zeigt eine Konfigurationsdatei mit dem Standardprofil und zwei zusätzlichen Profilen:

```
[default] ; default profile
aws_access_key_id = <DEFAULT_ACCESS_KEY_ID>
aws_secret_access_key = <DEFAULT_SECRET_ACCESS_KEY>
    
[personal-account] ; personal account profile
aws_access_key_id = <PERSONAL_ACCESS_KEY_ID>
aws_secret_access_key = <PERSONAL_SECRET_ACCESS_KEY>
    
[work-account] ; work account profile
aws_access_key_id = <WORK_ACCESS_KEY_ID>
aws_secret_access_key = <WORK_SECRET_ACCESS_KEY>
```

Standardmäßig prüft das SDK die Umgebungsvariable `AWS_PROFILE`, um zu bestimmen, welches Profil verwendet werden soll. Wenn die `AWS_PROFILE`-Variable in Ihrer Umgebung nicht festgelegt ist, verwendet das SDK die Anmeldeinformationen für das `[default]`-Profil. Um eines der alternativen Profile zu verwenden, müssen Sie den Wert der Umgebungsvariablen `AWS_PROFILE` einstellen oder ändern. Beispiel: Um die Anmeldeinformationen aus dem Arbeitskonto bei der oben gezeigten Konfigurationsdatei zu verwenden, legen Sie die `AWS_PROFILE` Umgebungsvariable auf `work-account` (passend für Ihr Betriebssystem).

**Anmerkung**  
Wenn Sie Umgebungsvariablen einstellen, stellen Sie sicher, dass Sie später die angemessenen Schritte durchführen (gemäß den Anforderungen Ihres Betriebssystems), um die Variablen in der Befehlszeile oder der Befehlsumgebung verfügbar zu machen.

Nachdem Sie die Umgebungsvariable festgelegt haben (falls erforderlich), können Sie eine JavaScript Datei ausführen, die das SDK verwendet, z. B. eine Datei mit dem Namen`script.js`.

```
$ node script.js
```

Sie können auch das vom SDK verwendete Profil explizit auswählen. Definieren Sie dazu entweder `process.env.AWS_PROFILE` vor dem Laden der SDK oder wählen Sie den Anmeldeinformationsanbieter aus, wie im folgenden Beispiel gezeigt:

```
var credentials = new AWS.SharedIniFileCredentials({profile: 'work-account'});
AWS.config.credentials = credentials;
```

# Laden der Anmeldeinformationen in Node.js aus den Umgebungsvariablen
<a name="loading-node-credentials-environment"></a>

Das SDK erkennt automatisch AWS Anmeldeinformationen, die in Ihrer Umgebung als Variablen festgelegt sind, und verwendet sie für SDK-Anfragen, sodass Sie keine Anmeldeinformationen in Ihrer Anwendung verwalten müssen. Die Umgebungsvariablen, die Sie zum Bereitstellen Ihrer Anmeldeinformationen festlegen, sind:
+ `AWS_ACCESS_KEY_ID`
+ `AWS_SECRET_ACCESS_KEY`
+ `AWS_SESSION_TOKEN`

Weitere Informationen zur Einstellung von Umgebungsvariablen finden Sie unter [Unterstützung von Umgebungsvariablen](https://docs.aws.amazon.com/sdkref/latest/guide/environment-variables.html) im Referenzhandbuch *AWS SDKs und im Tools-Referenzhandbuch*.

# Laden der Anmeldeinformationen in Node.js aus einer JSON-Datei
<a name="loading-node-credentials-json-file"></a>

Sie können die Konfigurations- und Anmeldeinformationen aus einem JSON-Dokument auf der Festplatte mithilfe von `AWS.config.loadFromPath` laden. Der angegebene Pfad ist relativ zum aktuellen Arbeitsverzeichnis Ihres Vorgangs. Um zum Beispiel Anmeldeinformationen aus einer `'config.json'`-Datei mit folgendem Inhalt zu laden:

```
{ "accessKeyId": <YOUR_ACCESS_KEY_ID>, "secretAccessKey": <YOUR_SECRET_ACCESS_KEY>, "region": "us-east-1" }
```

Verwenden Sie dann den folgenden Code:

```
var AWS = require("aws-sdk");
AWS.config.loadFromPath('./config.json');
```

**Anmerkung**  
Durch das Laden der Konfigurationsdaten aus einem JSON-Dokument werden alle vorhandenen Konfigurationsdaten zurückgesetzt. Fügen Sie nach Verwendung dieser Methode zusätzliche Konfigurationsdaten hinzu. Das Laden von Anmeldeinformationen aus einem JSON-Dokument wird in Browser-Skripts nicht unterstützt.

# Laden von Anmeldeinformationen in Node.js über einen Prozess für konfigurierte Anmeldeinformationen
<a name="loading-node-credentials-configured-credential-process"></a>

Sie können Anmeldeinformationen unter Verwendung einer Methode beschaffen, die nicht in das SDK integriert ist. Geben Sie dazu in der gemeinsamen Konfigurationsdatei oder der Datei mit den AWS gemeinsamen Anmeldeinformationen einen Prozess für Anmeldeinformationen an. Wenn die `AWS_SDK_LOAD_CONFIG` Umgebungsvariable auf einen beliebigen Wert gesetzt ist, bevorzugt das SDK den in der Konfigurationsdatei angegebenen Prozess gegenüber dem in der Anmeldeinformationsdatei angegebenen Prozess (falls vorhanden).

Einzelheiten zur Angabe eines Prozesses mit Anmeldeinformationen in der gemeinsamen AWS Konfigurationsdatei oder der Datei mit gemeinsam genutzten Anmeldeinformationen finden Sie in der *AWS CLI Befehlsreferenz*, insbesondere in den Informationen zur [Beschaffung von Anmeldeinformationen aus externen Prozessen](https://docs.aws.amazon.com/cli/latest/topic/config-vars.html#sourcing-credentials-from-external-processes).

Informationen zur Verwendung der `AWS_SDK_LOAD_CONFIG`-Umgebungsvariablen finden Sie unter [Verwenden einer freigegebenen Konfigurationsdatei](setting-region.md#setting-region-config-file) in diesem Dokument.