

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 Ruby Ruby-Anmeldeinformationsanbieter
<a name="credential-providers"></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.*

## Kette von Anbietern von Anmeldeinformationen
<a name="credchain"></a>

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

**Anmerkung**  
Wenn Sie für den Einstieg den empfohlenen Ansatz für neue Benutzer befolgt haben, haben Sie sich währenddessen mit Anmeldedaten für die Konsole authentifiziert. [Authentifizierung mit AWS AWS SDK for Ruby](credentials.md) 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*.

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. 

Das *Referenzhandbuch AWS SDKs und Tools* enthält Informationen zu den SDK-Konfigurationseinstellungen, die von all AWS SDKs und dem AWS CLI verwendet werden. 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 überprüft das AWS SDK for Ruby die Anmeldeinformationsanbieter in der Reihenfolge, die in der folgenden Tabelle aufgeführt ist. AWS


| Anbieter von Anmeldeinformationen nach Priorität | *AWS SDKs und Referenzhandbuch für Tools* | *AWS SDK für Ruby API Reference* | 
| --- | --- | --- | 
| AWS Zugangsschlüssel (temporäre und langfristige Anmeldeinformationen) | [AWS Zugriffstasten](https://docs.aws.amazon.com/sdkref/latest/guide/feature-static-credentials.html) | [https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Credentials.html](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Credentials.html)[https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SharedCredentials.html](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SharedCredentials.html) | 
| Web-Identitätstoken von AWS -Security-Token-Service (AWS STS)  | [Nehmen Sie die Rolle des Anbieters von Anmeldeinformationen an](https://docs.aws.amazon.com/sdkref/latest/guide/feature-assume-role-credentials.html)Verwenden von `role_arn``role_session_name`, und `web_identity_token_file` | [https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/AssumeRoleWebIdentityCredentials.html](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/AssumeRoleWebIdentityCredentials.html)  | 
| AWS IAM Identity Center. In diesem Handbuch finden Sie weitere Informationen[Authentifizierung mit AWS AWS SDK for Ruby](credentials.md). | [Anbieter von IAM Identity Center-Anmeldeinformationen](https://docs.aws.amazon.com/sdkref/latest/guide/feature-sso-credentials.html) | [https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SSOCredentials.html](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SSOCredentials.html) | 
| Vertrauenswürdiger Entitätsanbieter (z. B.AWS\$1ROLE\$1ARN). In diesem Handbuch finden Sie weitere Informationen unter[Ein AWS STS Zugriffstoken erstellen](#aws-ruby-sdk-credentials-access-token). | [Nehmen Sie die Rolle des Anbieters von Anmeldeinformationen an](https://docs.aws.amazon.com/sdkref/latest/guide/feature-assume-role-credentials.html)Verwenden von `role_arn` und `role_session_name` | [https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/AssumeRoleCredentials.html](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/AssumeRoleCredentials.html) | 
| Anbieter für Anmeldeinformationen | [Anbieter von Anmeldeinformationen](https://docs.aws.amazon.com/sdkref/latest/guide/feature-login-credentials.html) | [https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/LoginCredentials.html](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/LoginCredentials.html) | 
| Anbieter für Prozessanmeldeinformationen | [Anbieter für Anmeldeinformationen verarbeiten](https://docs.aws.amazon.com/sdkref/latest/guide/feature-process-credentials.html) | [https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ProcessCredentials.html](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ProcessCredentials.html) | 
| Anmeldeinformationen für Amazon Elastic Container Service (Amazon ECS) | [Anbieter von Container-Anmeldeinformationen](https://docs.aws.amazon.com/sdkref/latest/guide/feature-container-credentials.html) | [https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ECSCredentials.html](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ECSCredentials.html) | 
| Anmeldeinformationen für das Amazon Elastic Compute Cloud (Amazon EC2) -Instanzprofil (IMDS-Anmeldeinformationsanbieter) | [Anbieter von IMDS-Anmeldeinformationen](https://docs.aws.amazon.com/sdkref/latest/guide/feature-imds-credentials.html) | [https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/InstanceProfileCredentials.html](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/InstanceProfileCredentials.html) | 

Wenn die Umgebungsvariable AWS SDK for Ruby gesetzt `AWS_SDK_CONFIG_OPT_OUT` ist, wird die gemeinsam genutzte AWS `config` Datei` ~/.aws/config`, normalerweise unter, nicht auf Anmeldeinformationen analysiert.

## Ein AWS STS Zugriffstoken erstellen
<a name="aws-ruby-sdk-credentials-access-token"></a>

Die Übernahme einer Rolle beinhaltet die Verwendung einer Reihe temporärer Sicherheitsanmeldedaten, mit denen Sie auf AWS Ressourcen zugreifen können, auf die Sie normalerweise keinen Zugriff haben. Diese temporären Anmeldeinformationen bestehen aus einer Zugriffsschlüssel-ID, einem geheimen Zugriffsschlüssel und einem Sicherheits-Token. Sie können die [https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/AssumeRoleCredentials.html](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/AssumeRoleCredentials.html)Methode verwenden, um ein Zugriffstoken AWS -Security-Token-Service (AWS STS) zu erstellen.

Im folgenden Beispiel `linked::account::arn` wird ein Zugriffstoken verwendet, um ein Amazon S3 S3-Client-Objekt zu erstellen, wobei der Amazon-Ressourcenname (ARN) der Rolle, die übernommen werden soll, und ein Bezeichner für die angenommene Rollensitzung `session-name` ist.

```
role_credentials = Aws::AssumeRoleCredentials.new(
  client: Aws::STS::Client.new,
  role_arn: "linked::account::arn",
  role_session_name: "session-name"
)

s3 = Aws::S3::Client.new(credentials: role_credentials)
```

Weitere Informationen zur Einstellung `role_arn` oder `role_session_name` Einstellung dieser Einstellungen stattdessen mithilfe der gemeinsam genutzten AWS `config` Datei 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.* 