

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.

# Verwenden des AWS SDK for C\$1\$1 C\$1\$1-Anmeldeinformationsanbieter
<a name="credproviders"></a>

 Alle Anfragen an AWS müssen kryptografisch signiert werden, wobei die Anmeldeinformationen verwendet werden müssen, die von ausgestellt wurden. AWS Zur Laufzeit ruft das SDK Konfigurationswerte für Anmeldeinformationen ab, indem es mehrere Speicherorte überprüft.

Die Authentifizierung mit AWS kann außerhalb Ihrer Codebasis erfolgen. Viele Authentifizierungsmethoden können vom SDK mithilfe der Credential Provider-Kette automatisch erkannt, verwendet und aktualisiert werden.

Anleitungen zu den ersten Schritten mit der AWS Authentifizierung für Ihr Projekt finden Sie unter [Authentifizierung und Zugriff](https://docs.aws.amazon.com/sdkref/latest/guide/access.html) im *AWS SDKs Referenzhandbuch zu Tools.*

## Die Kette der Anbieter von Anmeldeinformationen
<a name="credproviders-default-credentials-provider-chain"></a>

Wenn Sie bei der Erstellung eines Clients nicht explizit einen Anmeldeinformationsanbieter angeben, verwendet das SDK for C\$1\$1 eine Anmeldeinformationsanbieterkette, die eine Reihe von Stellen überprüft, an denen Sie Anmeldeinformationen angeben können. Sobald das SDK Anmeldeinformationen an einem dieser Orte findet, wird die Suche beendet. 

### Reihenfolge beim Abrufen der Anmeldeinformationen
<a name="credproviders-credential-retrieval-order"></a>

Alle SDKs haben eine Reihe von Orten (oder Quellen), die sie überprüfen, um gültige Anmeldeinformationen zu erhalten, mit denen eine Anfrage an eine gestellt werden kann. AWS-Service Nachdem gültige Anmeldeinformationen gefunden wurden, wird die Suche beendet. Diese systematische Suche wird als Credential Provider Chain bezeichnet. 

Für jeden Schritt in der Kette gibt es unterschiedliche Möglichkeiten, die Werte festzulegen. Das Setzen von Werten direkt im Code hat immer Vorrang, gefolgt von der Einstellung als Umgebungsvariablen und dann in der gemeinsam genutzten AWS `config` Datei. Weitere Informationen finden Sie unter [Priorität der Einstellungen](https://docs.aws.amazon.com/sdkref/latest/guide/settings-reference.html#precedenceOfSettings) im Referenzhandbuch *AWS SDKs und im Tools-Referenzhandbuch.* 

Das SDK versucht, Anmeldeinformationen aus dem `[default]` Profil in die gemeinsam genutzten `credentials` Dateien AWS `config` und Dateien zu laden. Sie können die `AWS_PROFILE` Umgebungsvariable verwenden, um ein benanntes Profil auszuwählen, das das SDK laden und nicht verwenden soll`[default]`. Die `credentials` Dateien `config` und werden von den Tools AWS SDKs und gemeinsam genutzt. Das *Referenzhandbuch für AWS SDKs und Tools* enthält Informationen zu den SDK-Konfigurationseinstellungen, die von all AWS SDKs und dem verwendet werden AWS CLI. Weitere Informationen zur Konfiguration des SDK mithilfe der gemeinsam genutzten AWS `config` Datei finden Sie unter Gemeinsam genutzte Konfigurations [- und Anmeldeinformationsdateien](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html). Weitere Informationen zur Konfiguration des SDK durch das Setzen von Umgebungsvariablen finden Sie unter [Unterstützung von Umgebungsvariablen](https://docs.aws.amazon.com/sdkref/latest/guide/environment-variables.html).

Zur Authentifizierung mit AWSüberprüft das SDK for C\$1\$1 die Anmeldeinformationsanbieter in der folgenden Reihenfolge. 

1. **AWS Zugriffsschlüssel (temporäre und langfristige Anmeldeinformationen)**

   Das SDK versucht, Anmeldeinformationen aus den `AWS_ACCESS_KEY_ID` `AWS_SESSION_TOKEN` Umgebungsvariablen und oder aus der gemeinsam genutzten AWS `credentials` Datei zu laden. `AWS_SECRET_ACCESS_KEY`
   +  Anleitungen zur Konfiguration dieses Anbieters finden Sie in den [AWS Zugriffstasten](https://docs.aws.amazon.com/sdkref/latest/guide/access-users.html) im Referenzhandbuch *AWS SDKs und im Tools-Referenzhandbuch*.
   +  Einzelheiten zu den SDK-Konfigurationseigenschaften für diesen Anbieter finden Sie unter [AWS Zugriffstasten](https://docs.aws.amazon.com/sdkref/latest/guide/feature-static-credentials.html) im Referenzhandbuch *AWS SDKs und im Tools-Referenzhandbuch*.

1. **AWS STS Web-Identität**

   Beim Erstellen von mobilen Anwendungen oder clientbasierten Webanwendungen, für die Zugriff erforderlich ist AWS, gibt AWS -Security-Token-Service (AWS STS) einen Satz temporärer Sicherheitsanmeldedaten für Verbundbenutzer zurück, die über einen Public Identity Provider (IdP) authentifiziert wurden.
   + Wenn Sie dies in einem Profil angeben, versucht das SDK oder das Tool, temporäre Anmeldeinformationen mithilfe der API-Methode abzurufen. AWS STS `AssumeRoleWithWebIdentity` Einzelheiten zu dieser Methode finden Sie [AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html)in der *AWS -Security-Token-Service API-Referenz*.
   +  Anleitungen zur Konfiguration dieses Anbieters finden Sie unter [Federate with Web Identity oder OpenID Connect](https://docs.aws.amazon.com/sdkref/latest/guide/access-assume-role.html#webidentity) im *AWS SDKs und Tools Reference Guide.*
   +  Einzelheiten zu den SDK-Konfigurationseigenschaften für diesen Anbieter finden Sie unter Assume [role Credential Provider](https://docs.aws.amazon.com/sdkref/latest/guide/feature-assume-role-credentials.html) im Referenzhandbuch *AWS SDKs und im Tools-Referenzhandbuch*.

1. **IAM Identity Center**

   Wenn Sie IAM Identity Center zur Authentifizierung verwenden, verwendet das SDK for C\$1\$1 in diesem Fall das Single Sign-On-Token, das durch Ausführen AWS des CLI-Befehls eingerichtet wurde. `aws sso login` Das SDK verwendet die temporären Anmeldeinformationen, die das IAM Identity Center gegen ein gültiges Token ausgetauscht hat. Das SDK verwendet dann die temporären Anmeldeinformationen, wenn es aufruft AWS-Services. Ausführliche Informationen zu diesem Prozess finden Sie unter [Grundlegendes zur Auflösung von SDK-Anmeldeinformationen](https://docs.aws.amazon.com/sdkref/latest/guide/understanding-sso.html#idccredres) im Referenzhandbuch *AWS SDKs und AWS-Services im Tools-Referenzhandbuch.*
   +  Anleitungen zur Konfiguration dieses Anbieters finden Sie unter [IAM Identity Center-Authentifizierung](https://docs.aws.amazon.com/sdkref/latest/guide/access-sso.html) im Referenzhandbuch *AWS SDKs und im Tools-Referenzhandbuch.*
   +  Einzelheiten zu den SDK-Konfigurationseigenschaften für diesen Anbieter finden Sie unter [IAM Identity Center-Anmeldeinformationsanbieter](https://docs.aws.amazon.com/sdkref/latest/guide/feature-sso-credentials.html) im Referenzhandbuch *AWS SDKs und im Tools-Referenzhandbuch*.

1. **Identity Resolver für Anmeldeinformationen mit Signin AWS **

   Wenn Sie AWS-Anmelde- und Konsolenanmeldedaten zur Authentifizierung verwenden, verwendet das SDK for C\$1\$1 in diesem Fall die Konsolenanmeldedaten, die durch Ausführen `aws login` oder `aws login --profile` in der CLI eingerichtet wurden. Das SDK verwendet diese Anmeldeinformationen, wenn es AWS Dienste aufruft. 
   +  Ausführliche Informationen zu diesem Vorgang finden Sie unter [Anmeldung für die AWS lokale Entwicklung mit Konsolenanmeldedaten](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sign-in.html) im Referenzhandbuch *AWS SDKs und im Tools-Referenzhandbuch*.

1. **Externer Prozessanbieter**

   Dieser Anbieter kann verwendet werden, um benutzerdefinierte Implementierungen bereitzustellen, z. B. zum Abrufen von Anmeldeinformationen aus einem lokalen Anmeldeinformationsspeicher oder zur Integration mit Ihrem lokalen Identitätsanbieter.
   +  *Eine Anleitung zur Konfiguration dieses Anbieters finden Sie unter [IAM Roles Anywhere](https://docs.aws.amazon.com/sdkref/latest/guide/access-rolesanywhere.html) im Referenzhandbuch zu Tools.AWS SDKs *
   +  Einzelheiten zu den SDK-Konfigurationseigenschaften für diesen Anbieter finden Sie unter Anbieter für [Prozessanmeldedaten im Referenzhandbuch AWS](https://docs.aws.amazon.com/sdkref/latest/guide/feature-process-credentials.html) *SDKs und im Tools-Referenzhandbuch.*

1. **Anmeldeinformationen für Amazon ECS- und Amazon EKS-Container**

   Ihren Amazon Elastic Container Service-Aufgaben und Kubernetes-Servicekonten kann eine IAM-Rolle zugewiesen werden. Die in der IAM-Rolle gewährten Berechtigungen werden von den Containern übernommen, die in der Aufgabe oder den Containern des Pods ausgeführt werden. Diese Rolle ermöglicht es Ihrem SDK for C\$1\$1 C\$1\$1-Anwendungscode (auf dem Container), andere zu verwenden AWS-Services.

   Das SDK versucht, Anmeldeinformationen aus den `AWS_CONTAINER_CREDENTIALS_FULL_URI` Umgebungsvariablen `AWS_CONTAINER_CREDENTIALS_RELATIVE_URI` oder abzurufen, die automatisch von Amazon ECS und Amazon EKS festgelegt werden können.
   + Einzelheiten zur Einrichtung dieser Rolle für Amazon ECS finden Sie unter [Amazon ECS-Aufgaben-IAM-Rolle](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) im *Amazon Elastic Container Service Developer Guide*.
   + Informationen zur Einrichtung von Amazon EKS finden Sie unter [Einrichten des Amazon EKS Pod Identity Agent](https://docs.aws.amazon.com/eks/latest/userguide/pod-id-agent-setup.html) im **Amazon EKS-Benutzerhandbuch**.
   +  Einzelheiten zu den SDK-Konfigurationseigenschaften für diesen Anbieter finden Sie unter [Container Credential Provider](https://docs.aws.amazon.com/sdkref/latest/guide/feature-container-credentials.html) im *AWS SDKs und Tools Reference Guide.*

1. **Metadatenservice für EC2 Amazon-Instances**

   Erstellen Sie eine IAM-Rolle und fügen Sie sie Ihrer Instance hinzu. Das SDK for C\$1\$1 C\$1\$1-Anwendung auf der Instanz versucht, die von der Rolle bereitgestellten Anmeldeinformationen aus den Instanzmetadaten abzurufen. 
   + Einzelheiten zur Einrichtung dieser Rolle und zur Verwendung von Metadaten, [IAM-Rollen für Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) und [Work with Instance-Metadaten](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html) finden Sie im * EC2 Amazon-Benutzerhandbuch*.
   +  Einzelheiten zu den SDK-Konfigurationseigenschaften für diesen Anbieter finden Sie unter [IMDS-Anmeldeinformationsanbieter](https://docs.aws.amazon.com/sdkref/latest/guide/feature-imds-credentials.html) im Referenzhandbuch *AWS SDKs und im Tools-Referenzhandbuch*.

Die Credential Provider-Kette kann [https://github.com/aws/aws-sdk-cpp/blob/main/src/aws-cpp-sdk-core/source/auth/AWSCredentialsProviderChain.cpp#L43-L86](https://github.com/aws/aws-sdk-cpp/blob/main/src/aws-cpp-sdk-core/source/auth/AWSCredentialsProviderChain.cpp#L43-L86)im AWS SDK für C\$1\$1 Quellcode unter eingesehen werden. GitHub

Wenn Sie für den Einstieg den empfohlenen Ansatz für neue Benutzer befolgt haben, richten Sie die Authentifizierung mit den AWS Anmeldeinformationen während [Authentifizierung mit AWS AWS SDK for C\$1\$1](credentials.md) des Themas Erste Schritte ein. Andere Authentifizierungsmethoden sind in verschiedenen Situationen nützlich. Um Sicherheitsrisiken zu vermeiden, empfehlen wir, immer kurzfristige Anmeldeinformationen zu verwenden. Informationen zu anderen Authentifizierungsmethoden finden Sie unter [Authentifizierung und Zugriff](https://docs.aws.amazon.com/sdkref/latest/guide/access.html) im *AWS SDKs Referenzhandbuch zu Tools*.

## Anbieter expliziter Anmeldeinformationen
<a name="credproviders-explicit-credentials-provider"></a>

Anstatt sich bei der Erkennung Ihrer Authentifizierungsmethode auf die Kette der Anmeldeinformationsanbieter zu verlassen, können Sie einen bestimmten Anmeldeinformationsanbieter angeben, den das SDK verwenden soll. Sie können dies tun, indem Sie Anmeldeinformationen im Konstruktor Ihres Service-Clients angeben.

Im folgenden Beispiel wird ein Amazon Simple Storage Service-Client erstellt, indem temporäre Zugangsdaten direkt bereitgestellt werden, anstatt die Kette zu verwenden.

```
    SDKOptions options;
    Aws::InitAPI(options);
    {
        const auto cred_provider = Aws::MakeShared<Auth::SimpleAWSCredentialsProvider>("TestAllocationTag",
            "awsAccessKeyId",
            "awsSecretKey",
            "sessionToken");
        S3Client client{cred_provider};
    }
    Aws::ShutdownAPI(options);
```

## Zwischenspeichern von Identitäten
<a name="credproviders-identity-caching"></a>

Das SDK speichert Anmeldeinformationen und andere Identitätstypen wie SSO-Token im Cache. Standardmäßig verwendet das SDK eine Lazy-Cache-Implementierung, die Anmeldeinformationen bei der ersten Anfrage lädt, zwischenspeichert und dann versucht, sie bei einer weiteren Anfrage zu aktualisieren, wenn sie fast ablaufen. Clients, die auf derselben Grundlage erstellt wurden, [https://docs.aws.amazon.com/sdk-for-cpp/latest/api/aws-cpp-sdk-core/html/struct_aws_1_1_client_1_1_client_configuration.html](https://docs.aws.amazon.com/sdk-for-cpp/latest/api/aws-cpp-sdk-core/html/struct_aws_1_1_client_1_1_client_configuration.html)teilen sich einen Cache.