

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.

# Holen Sie ein Geheimnis oder einen geheimen Wert aus dem Secrets Manager
<a name="dynamic-references-secretsmanager"></a>

Secrets Manager ist ein Dienst, mit dem Sie Geheimnisse wie Datenbankanmeldedaten, Passwörter und API-Schlüssel von Drittanbietern sicher speichern und verwalten können. Mit Secrets Manager können Sie den Zugriff auf diese Geheimnisse zentral speichern und steuern, sodass Sie hartcodierte Anmeldeinformationen in Ihrem Code (einschließlich Passwörtern) durch einen API-Aufruf an Secrets Manager ersetzen können, um das Geheimnis programmgesteuert abzurufen. Weitere Informationen finden Sie unter [Was ist AWS Secrets Manager?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) im *AWS Secrets Manager Benutzerhandbuch*.

Um ganze Geheimnisse oder geheime Werte, die in Secrets Manager gespeichert sind, in Ihren CloudFormation Vorlagen zu verwenden, verwenden Sie `secretsmanager` dynamische Verweise.

## Best Practices
<a name="dynamic-references-secretsmanager-best-practices"></a>

Folgen Sie diesen bewährten Methoden, wenn Sie dynamische Secrets Manager Manager-Referenzen in Ihren CloudFormation Vorlagen verwenden:
+ **Verwenden Sie versionslose Referenzen für Ihre CloudFormation Vorlagen** — Speichern Sie Anmeldeinformationen in Secrets Manager und verwenden Sie dynamische Verweise ohne Angabe von `version-stage` `version-id` Parametern, um korrekte Workflows für die geheime Rotation zu unterstützen.
+ **Nutzen Sie die automatische Rotation**- Verwenden Sie das automatische Rotationsfeature von Secrets Manager mit versionslosen dynamischen Referenzen für die Verwaltung von Zugangsdaten. Dadurch wird sichergestellt, dass Ihre Anmeldedaten regelmäßig aktualisiert werden, ohne dass Änderungen an der Vorlage erforderlich sind. Weitere Informationen finden Sie unter [Drehen von AWS Secrets Manager Geheimnissen](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html).
+ **Verwenden Sie versionierte Referenzen sparsam**- Geben Sie explizite `version-stage` oder `version-id` Parameter nur für bestimmte Szenarien wie Tests oder Rollback-Situationen an.

## Überlegungen
<a name="dynamic-references-secretsmanager-considerations"></a>

Bei der Verwendung von dynamischen `secretsmanager`-Referenzen sind einige wichtige Punkte zu beachten:
+ CloudFormation verfolgt nicht, welche Version eines Secrets in früheren Bereitstellungen verwendet wurde. Planen Sie Ihre Strategie zur Verwaltung von Geheimnissen sorgfältig, bevor Sie dynamische Referenzen einführen. Verwenden Sie nach Möglichkeit versionslose Referenzen, um die automatische Rotation von Geheimnissen zu nutzen. Überwachen und validieren Sie Ressourcenaktualisierungen, wenn Sie Änderungen an dynamischen Referenzkonfigurationen vornehmen, beispielsweise beim Übergang von nicht versionierten zu versionierten dynamischen Referenzen und umgekehrt.
+ Wenn nur der geheime Wert in Secrets Manager aktualisiert wird CloudFormation , wird der neue Wert nicht automatisch abgerufen. CloudFormation ruft den geheimen Wert nur bei der Ressourcenerstellung oder bei Aktualisierungen ab, bei denen die Ressource geändert wird, die die dynamische Referenz enthält. 

  Nehmen wir zum Beispiel an, Ihre Vorlage enthält eine [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-rds-dbinstance.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-rds-dbinstance.html)-Ressource, bei der die `MasterPassword`-Eigenschaft auf eine dynamische Referenz von Secrets Manager eingestellt ist. Nachdem Sie einen Stapel aus dieser Vorlage erstellt haben, aktualisieren Sie den Wert des Geheimnisses in Secrets Manager. Die Eigenschaft `MasterPassword` behält jedoch den alten Kennwortwert bei. 

  Um den neuen geheimen Wert anzuwenden, müssen Sie die `AWS::RDS::DBInstance` Ressource in Ihrer CloudFormation Vorlage ändern und ein Stack-Update durchführen. 

  Um diesen manuellen Prozess in Zukunft zu vermeiden, sollten Sie den Secrets Manager verwenden, um das Geheimnis automatisch zu drehen. 
+ Dynamische Verweise auf sichere Werte, wie z. B.`secretsmanager`, werden derzeit in benutzerdefinierten Ressourcen nicht unterstützt.
+ Die dynamische `secretsmanager`-Referenz kann in allen Ressourceneigenschaften verwendet werden. Die Verwendung der `secretsmanager` dynamischen Referenz bedeutet, dass weder Secrets Manager noch CloudFormation Protokolle einen aufgelösten geheimen Wert beibehalten sollten. Der Geheimnis-Wert kann jedoch in dem Service erscheinen, in dessen Ressource er verwendet wird. Überprüfen Sie Ihre Nutzung um zu vermeiden, dass Geheimnis-Daten preisgegeben werden.

## Berechtigungen
<a name="dynamic-references-secretsmanager-permissions"></a>

Um ein in Secrets Manager gespeichertes Geheimnis anzugeben, müssen Sie die Berechtigung haben, [https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html) für das Geheimnis aufzurufen.

## Referenzmuster
<a name="dynamic-references-secretsmanager-pattern"></a>

Verwenden Sie das folgende Referenzmuster, um Secrets Manager-Geheimnisse in Ihrer CloudFormation Vorlage zu `secretsmanager` referenzieren.

```
{{resolve:secretsmanager:secret-id:secret-string:json-key:version-stage:version-id}}
```

`secret-id`  
Der Name oder ARN des Secrets.  
Um auf ein Geheimnis in Ihrem zuzugreifen AWS-Konto, müssen Sie nur den geheimen Namen angeben. Um auf ein Geheimnis in einem anderen zuzugreifen AWS-Konto, geben Sie den vollständigen ARN des Geheimnisses an.  
Erforderlich

`secret-string`  
Der einzige unterstützte Wert ist `SecretString`. Der Standardwert ist `SecretString`.

`json-key`  
Der Schlüsselname des Schlüssel/Wert-Paares, dessen Wert Sie abrufen möchten. Wenn Sie kein a angeben`json-key`, wird der gesamte geheime Text CloudFormation abgerufen.  
Dieses Segment darf nicht das Doppelpunktzeichen (`:`) enthalten.

`version-stage`  
Das Staging-Label der zu verwendenden Version des Geheimnisses. Secrets Manager verwendet Staging-Markierungen, um während des Rotationsprozesses den Überblick über verschiedene Versionen zu behalten. Wenn Sie `version-stage` verwenden, geben Sie `version-id` nicht an. Wenn Sie weder `version-stage` noch `version-id` angeben, dann ist der Standard die `AWSCURRENT`-Version.  
Dieses Segment darf nicht das Doppelpunktzeichen (`:`) enthalten.

`version-id`  
Die eindeutige ID der Version des zu verwendenden Secrets. Wenn Sie `version-id` angeben, dürfen Sie `version-stage` nicht angeben. Wenn Sie weder `version-stage` noch `version-id` angeben, dann ist der Standard die `AWSCURRENT`-Version.  
Dieses Segment darf nicht das Doppelpunktzeichen (`:`) enthalten.

## Beispiele
<a name="dynamic-references-secretsmanager-examples"></a>

**Topics**
+ [Abrufen von Benutzernamen und Passwort aus einem Geheimnis](#dynamic-references-secretsmanager-examples-user-name-and-password)
+ [Abrufen der gesamten SecretString](#dynamic-references-secretsmanager-examples-entire-secretstring)
+ [Abrufen eines Wertes aus einer bestimmten Version eines Geheimnisses](#dynamic-references-secretsmanager-examples-specific-version)
+ [Abrufen von Geheimnissen von einem anderen AWS-Konto](#dynamic-references-secretsmanager-examples-secrets-from-another-account)

### Abrufen von Benutzernamen und Passwort aus einem Geheimnis
<a name="dynamic-references-secretsmanager-examples-user-name-and-password"></a>

Das folgende [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-rds-dbinstance.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-rds-dbinstance.html) Beispiel ruft die im `MySecret`-Geheimnis gespeicherten Werte für Benutzernamen und Kennwort ab. Dieses Beispiel zeigt das empfohlene Muster für versionslose dynamische Referenzen, das automatisch die `AWSCURRENT`-Version verwendet und Secrets Manager Rotationsworkflows unterstützt, ohne dass Vorlagenänderungen erforderlich sind.

#### JSON
<a name="dynamic-references-secretsmanager-examples-user-name-and-password.json"></a>

```
{
    "MyRDSInstance": {
        "Type": "AWS::RDS::DBInstance",
        "Properties": {
            "DBName": "MyRDSInstance",
            "AllocatedStorage": "20",
            "DBInstanceClass": "db.t2.micro",
            "Engine": "mysql",
            "MasterUsername": "{{resolve:secretsmanager:MySecret:SecretString:username}}",
            "MasterUserPassword": "{{resolve:secretsmanager:MySecret:SecretString:password}}"
        }
    }
}
```

#### YAML
<a name="dynamic-references-secretsmanager-examples-user-name-and-password.yaml"></a>

```
  MyRDSInstance:
    Type: AWS::RDS::DBInstance
    Properties:
      DBName: MyRDSInstance
      AllocatedStorage: '20'
      DBInstanceClass: db.t2.micro
      Engine: mysql
      MasterUsername: '{{resolve:secretsmanager:MySecret:SecretString:username}}'
      MasterUserPassword: '{{resolve:secretsmanager:MySecret:SecretString:password}}'
```

### Abrufen der gesamten SecretString
<a name="dynamic-references-secretsmanager-examples-entire-secretstring"></a>

Die folgende dynamische Referenz ruft die `SecretString` für `MySecret`ab.

```
{{resolve:secretsmanager:MySecret}}
```

Alternative Vorgehensweise:

```
{{resolve:secretsmanager:MySecret::::}}
```

### Abrufen eines Wertes aus einer bestimmten Version eines Geheimnisses
<a name="dynamic-references-secretsmanager-examples-specific-version"></a>

Die folgende dynamische Referenz ruft den Wert `password` für die Version `AWSPREVIOUS` von `MySecret`ab.

```
{{resolve:secretsmanager:MySecret:SecretString:password:AWSPREVIOUS}}
```

### Abrufen von Geheimnissen von einem anderen AWS-Konto
<a name="dynamic-references-secretsmanager-examples-secrets-from-another-account"></a>

Der folgende dynamische Verweis ruft das `SecretString` für `MySecret` ab, das in einem anderen AWS-Konto enthalten ist. Sie müssen den vollständigen geheimen ARN angeben, um auf Geheimnisse in einem anderen zugreifen zu können AWS-Konto.

```
{{resolve:secretsmanager:arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret}}
```

Der folgende dynamische Verweis ruft den Wert `password` für `MySecret` ab, der in einem anderen AWS-Konto enthalten ist. Sie müssen den vollständigen geheimen ARN angeben, um auf Geheimnisse in einem anderen zugreifen zu können AWS-Konto.

```
{{resolve:secretsmanager:arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret:SecretString:password}}
```