

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.

# AWS Secrets Manager Geheimnisse rotieren
<a name="rotating-secrets"></a>

*Drehung* ist der Prozess der periodischen Aktualisierung eines Secrets. Wenn Sie ein Secret rotieren, werden die Anmeldeinformationen sowohl im Secret als auch in der Datenbank oder im Service aktualisiert. Im Secrets Manager können Sie die automatische Rotation für Ihre Secrets einrichten. Es gibt zwei Formen der Rotation:
+ [Verwaltete Rotation](rotate-secrets_managed.md)— Für die meisten [verwalteten Geheimnisse](service-linked-secrets.md) verwenden Sie die verwaltete Rotation, bei der der Service die Rotation für Sie konfiguriert und verwaltet. Die verwaltete Rotation verwendet keine Lambda-Funktion.
+ [Rotate Secrets Manager verwaltete externe Geheimnisse](rotate-secrets_external.md)— Bei Geheimnissen, die von Secrets Manager Manager-Partnern aufbewahrt werden, verwenden Sie die Rotation verwalteter externer Geheimnisse, um das Geheimnis auf dem System des Partners zu aktualisieren. Dies erfordert keine Lambda-Funktion.
+ [Rotation durch Lambda-Funktion](rotate-secrets_lambda.md)— Bei anderen Arten von Geheimnissen verwendet die Secrets Manager Manager-Rotation eine Lambda-Funktion, um das Geheimnis und die Datenbank oder den Dienst zu aktualisieren.

# Verwaltete Rotation von AWS Secrets Manager Geheimnissen
<a name="rotate-secrets_managed"></a>

Einige Services bieten eine *verwaltete Rotation* an, bei der der Service die Rotation für Sie konfiguriert und verwaltet. Bei der verwalteten Rotation verwenden Sie keine AWS Lambda Funktion, um das Geheimnis und die Anmeldeinformationen in der Datenbank zu aktualisieren. 

Die folgenden Services bieten eine verwaltete Rotation:
+ **Amazon Aurora** bietet eine verwaltete Rotation für Master-Benutzeranmeldedaten. Weitere Informationen finden Sie unter [Passwortverwaltung mit Amazon Aurora und AWS Secrets Manager](https://docs.aws.amazon.com//AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html) im *Amazon-Aurora-Benutzerhandbuch*.
+ **Amazon ECS** Service Connect bietet eine verwaltete Rotation für AWS Private Certificate Authority TLS-Zertifikate. Weitere Informationen finden Sie unter [TLS with Service Connect](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect-tls.html) im *Amazon Elastic Container Service Developer Guide*.
+ **Amazon RDS** bietet eine verwaltete Rotation für Master-Benutzeranmeldedaten. Weitere Informationen finden Sie unter [Passwortverwaltung mit Amazon RDS und AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) im *Amazon-RDS-Benutzerhandbuch*.
+ **Amazon DocumentDB** bietet eine verwaltete Rotation für Master-Benutzeranmeldedaten. Weitere Informationen finden Sie unter [Passwortverwaltung mit Amazon DocumentDB und AWS Secrets Manager im Amazon DocumentDB](https://docs.aws.amazon.com/documentdb/latest/developerguide/docdb-secrets-manager.html) *DocumentDB-Benutzerhandbuch*.
+ **Amazon Redshift** bietet eine verwaltete Rotation für Administratorkennwörter. Weitere Informationen finden Sie unter [Verwaltung von Amazon Redshift-Administratorkennwörtern mithilfe von AWS Secrets Manager](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-secrets-manager-integration.html) im *Amazon Redshift Management Guide*.
+ **Managed External Secrets** bietet eine verwaltete Rotation für Geheimnisse, die von Secrets Manager Manager-Partnern aufbewahrt werden. Weitere Informationen finden Sie unter [Verwendung AWS Secrets Manager verwalteter externer Geheimnisse zur Verwaltung von Geheimnissen von Drittanbietern](managed-external-secrets.md).

**Tipp**  
Informationen zu allen anderen Secret-Typen finden Sie unter [Rotation durch Lambda-Funktion](rotate-secrets_lambda.md).

Die Rotation für verwaltete Geheimnisse ist in der Regel innerhalb einer Minute abgeschlossen. Während der Rotation erhalten neue Verbindungen, die das Geheimnis abrufen, möglicherweise die vorherige Version der Anmeldeinformationen. Bei Anwendungen wird dringend empfohlen, einen Datenbankbenutzer zu verwenden, der mit den Mindestberechtigungen erstellt wurde, die für Ihre Anwendung erforderlich sind, anstatt den Masterbenutzer zu verwenden. Für Anwendungsbenutzer können Sie für höchste Verfügbarkeit die [Rotationsstrategie für wechselnde Benutzer](rotation-strategy.md) verwenden.

Für Geheimnisse, die von Secrets Manager-Partnern aufbewahrt werden, 

**Um den Zeitplan für die verwaltete Rotation zu ändern**

1. Öffnen Sie das verwaltete Secret in der Secrets-Manager-Konsole. Sie können einem Link des Verwaltungsservices folgen oder in [der Secrets Manager-Konsole nach dem Secret suchen](service-linked-secrets.md).

1. Geben Sie unter **Rotation schedule** (Drehungszeitplan) Ihren Zeitplan in der UTC-Zeitzone entweder im **Schedule expression builder** (Zeitplanausdruck-Generator) oder als **Schedule expression** (Zeitplanausdruck) ein. Secrets Manager speichert Ihren Zeitplan als `rate()`- oder `cron()`-Ausdruck. Das Rotationsfenster beginnt automatisch um Mitternacht, es sei denn, Sie geben eine **Startzeit**an. Sie können ein Secret bis zu alle vier Stunden rotieren. Weitere Informationen finden Sie unter [Rotationspläne](rotate-secrets_schedule.md).

1. (Optional) Wählen Sie für **Dauer des Fensters** die Länge des Fensters aus, in dem Secrets Manager Ihr Secret rotieren soll, z. B. **3h** für ein Drei-Stunden-Fenster. Das Fenster darf nicht in das nächste Rotationsfenster übergehen. Wenn Sie keine **Fensterdauer** angeben, wird das Fenster für einen Rotationsplan in Stunden automatisch nach einer Stunde geschlossen. Bei einem Rotationsplan in Tagen wird das Fenster am Ende des Tages automatisch geschlossen. 

1. Wählen Sie **Speichern**.

**So ändern Sie den Zeitplan für die verwaltete Rotation (AWS CLI)**
+ Rufen Sie die Seite [https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/rotate-secret.html](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/rotate-secret.html) auf. Im folgenden Beispiel rotiert das Secret am 1. und 15. Tag des Monats zwischen 16:00 Uhr und 18:00 Uhr UTC. Weitere Informationen finden Sie unter [Rotationspläne](rotate-secrets_schedule.md).

  ```
  aws secretsmanager rotate-secret \
      --secret-id MySecret \
      --rotation-rules \
          "{\"ScheduleExpression\": \"cron(0 16 1,15 * ? *)\", \"Duration\": \"2h\"}"
  ```

# Rotate Secrets Manager verwaltete externe Geheimnisse
<a name="rotate-secrets_external"></a>

Secrets Manager hat sich mit ausgewählten Softwareanbietern zusammengetan, um verwaltete externe Geheimnisse anzubieten. Diese Funktion unterstützt Kunden bei der Verwaltung des geheimen Lebenszyklus, indem Rotationen automatisch durchgeführt werden. Mit verwalteten externen Geheimnissen müssen Kunden nicht mehr für jedes Geheimnis, das bei verschiedenen Partnern gespeichert ist, eine spezifische Rotationslogik einhalten. Dies wird von Secrets Manager erledigt.

Eine Liste der Partner, die bei Secrets Manager angemeldet sind, finden Sie unter [Verwaltete externe Secrets-Partner](https://docs.aws.amazon.com/secretsmanager/latest/userguide/mes-partners.html).

## Richten Sie die Rotation in der Konsole ein
<a name="rotate-secrets_external-console"></a>

Gehen Sie wie folgt vor, um die Rotation für ein vorhandenes verwaltetes externes Geheimnis zu konfigurieren, das durch Angabe des Geheimtyps und des von den jeweiligen [Integrationspartnern](https://docs.aws.amazon.com/secretsmanager/latest/userguide/mes-partners.html) angegebenen Geheimwerts erstellt wurde:

1. Öffnen Sie die Secrets Manager-Konsole.

1. Wählen Sie Ihr verwaltetes externes Geheimnis aus der Liste aus.

1. Wählen Sie die Registerkarte **Konfiguration** aus.

1. Wählen Sie im Abschnitt **Rotationskonfiguration** die Option **Rotation bearbeiten** aus.

1. Schalten Sie die **automatische Rotation** ein.

1. Fügen Sie unter **Rotationsmetadaten** alle partnerspezifischen Metadaten hinzu, die für die Rotation erforderlich sind:

   Folgen Sie den Richtlinien Ihres Integrationspartners für andere erforderliche Metadaten

1. Wählen Sie unter **Dienstberechtigungen für die geheime Rotation** eine IAM-Rolle für die Rotation aus oder erstellen Sie sie:
   + Wählen Sie **Neue Rolle erstellen** aus, um automatisch eine Rolle mit den erforderlichen Berechtigungen zu erstellen
   + Oder wählen Sie eine bestehende Rolle mit den entsprechenden Berechtigungen für Ihren Partner aus

   Standardmäßig sind die Berechtigungen auf den einzelnen Partner in der Region beschränkt, in der das Geheimnis erstellt wurde

1. Lege deinen **Rotationsplan** fest (rotiere z. B. automatisch alle 30 Tage).

1. Wählen Sie **Speichern**, um die Rotationskonfiguration anzuwenden.

Die beiden wichtigsten Metadatenfelder, die während dieses Vorgangs konfiguriert wurden, sind:


| Feld | Description | 
| --- | --- | 
| ExternalSecretRotationMetadata | Partnerspezifische Metadaten, die für die Rotation erforderlich sind, z. B. die API-Version für Salesforce | 
| ExternalSecretRotationRoleArn | Der ARN der IAM-Rolle, die für die Rotation verwendet wird, wobei die Berechtigungen auf den Integrationspartner beschränkt sind | 

Weitere Informationen zu diesen Feldern finden Sie unter Verwenden von [verwalteten externen Geheimnissen von Secrets Manager zur Verwaltung von Geheimnissen von Drittanbietern](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managed-external-secrets.html).

## Rotation mit der CLI einrichten
<a name="rotate-secrets_external-cli"></a>

Führen Sie den folgenden Befehl aus, um die Rotation für einen Salesforce-Schlüssel einzurichten. Dieser Befehl gibt die geheime ID, den IAM-Rollen-ARN für die Rotation, den Rotationsplan und alle partnerspezifischen Metadaten an, die für den Rotationsprozess erforderlich sind.

```
aws secretsmanager rotate-secret \
            --secret-id SampleSecret \
            --external-secret-rotation-role-arn arn:aws:iam::123412341234:role/xyz \
            --rotation-rules AutomaticallyAfterDays=1 \
            --external-secret-rotation-metadata '[{"Key":"apiVersion","Value":"v65.0"}]'
```

# Rotation durch Lambda-Funktion
<a name="rotate-secrets_lambda"></a>

Für viele Arten von Geheimnissen verwendet Secrets Manager eine AWS Lambda Funktion, um das Geheimnis und die Datenbank oder den Dienst zu aktualisieren. Hinweise zu den Kosten der Verwendung einer Lambda-Funktion finden Sie unter [Preisgestaltung](intro.md#asm_pricing).

Für einige [Von anderen Services verwaltete Geheimnisse](service-linked-secrets.md) verwenden Sie die *verwaltete Rotation*. Um [Verwaltete Rotation](rotate-secrets_managed.md) zu verwenden, erstellen Sie das Secret zunächst über den Verwaltungsservice.

Während der Drehung protokolliert Secrets Manager Ereignisse, die den Drehungszustand angeben. Weitere Informationen finden Sie unter [AWS Secrets Manager Ereignisse protokollieren mit AWS CloudTrail](monitoring-cloudtrail.md).

Um ein Geheimnis zu rotieren, ruft Secrets Manager eine [Lambda-Funktion](rotate-secrets_lambda-functions.md) gemäß dem von Ihnen eingerichteten Rotationsplan auf. Wenn Sie Ihren Secret-Wert auch manuell aktualisieren, während die automatische Rotation eingerichtet ist, berücksichtigt Secrets Manager diese Rotation bei der Berechnung des nächsten Rotationsdatums. 

Während der Drehung ruft Secrets Manager dieselbe Funktion mehrmals auf – jeweils mit unterschiedlichen Parametern. Secrets Manager ruft die Funktion mit der folgenden JSON-Anforderungsstruktur von Parametern auf: 

```
{
    "Step" : "request.type",
    "SecretId" : "string",
    "ClientRequestToken" : "string",
    "RotationToken" : "string"
}
```

**Parameter:**
+ **Schritt** — Der Rotationsschritt:`create_secret`, `set_secret``test_secret`, oder`finish_secret`. Weitere Informationen finden Sie unter [Vier Schritte in einer Rotationsfunktion](rotate-secrets_lambda-functions.md#rotate-secrets_lambda-functions-code).
+ **SecretId**— Der ARN des Geheimnisses, das rotiert werden soll.
+ **ClientRequestToken**— Eine eindeutige Kennung für die neue Version des Geheimnisses. Dieser Wert trägt dazu bei, die Idempotenz sicherzustellen. Weitere Informationen finden Sie unter [PutSecretValue: ClientRequestToken](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_PutSecretValue.html#SecretsManager-PutSecretValue-request-ClientRequestToken) in der *AWS Secrets Manager API-Referenz*.
+ **RotationToken**— Eine eindeutige Kennung, die die Quelle der Anfrage angibt. Erforderlich für die geheime Rotation mit einer angenommenen Rolle oder für eine kontoübergreifende Rotation, bei der Sie ein Geheimnis in einem Konto rotieren, indem Sie eine Lambda-Rotationsfunktion in einem anderen Konto verwenden. In beiden Fällen nimmt die Rotationsfunktion eine IAM-Rolle an, um Secrets Manager aufzurufen, und Secrets Manager verwendet dann das Rotationstoken, um die IAM-Rollenidentität zu validieren. 

Wenn ein Schritt in der Rotation fehlschlägt, wiederholt Secrets Manager den gesamten Rotationsprozess mehrmals.

**Topics**
+ [Automatische Rotierung für Datenbank-Secrets (Konsole)](rotate-secrets_turn-on-for-db.md)
+ [Automatische Rotation für Nicht-Datenbankgeheimnisse (Konsole)](rotate-secrets_turn-on-for-other.md)
+ [Automatische Drehung (AWS CLI)](rotate-secrets_turn-on-cli.md)
+ [

# Strategien zur Rotation von Lambda-Funktionen
](rotation-strategy.md)
+ [

# Lambda-Rotationsfunktionen
](rotate-secrets_lambda-functions.md)
+ [Rotationsfunktionsvorlagen](reference_available-rotation-templates.md)
+ [Berechtigungen für Rotation](rotating-secrets-required-permissions-function.md)
+ [

# Netzwerkzugriff für die AWS Lambda Rotationsfunktion
](rotation-function-network-access.md)
+ [Fehlerbehebung bei der Rotation](troubleshoot_rotation.md)

# Automatische Rotation für Amazon RDS-, Amazon Aurora-, Amazon Redshift- oder Amazon DocumentDB DocumentDB-Geheimnisse einrichten
<a name="rotate-secrets_turn-on-for-db"></a>

In diesem Tutorial wird beschrieben, wie Sie Datenbankgeheimnisse einrichten[Rotation durch Lambda-Funktion](rotate-secrets_lambda.md). Rotation ist der Prozess der periodischen Aktualisierung eines Secrets. Wenn Sie ein Secret drehen, werden die Anmeldeinformationen sowohl im Secret als auch in der Datenbank aktualisiert. Im Secrets Manager können Sie die automatische Drehung für Ihre Datenbank-Secrets einrichten.

Um die Rotation über die Konsole einzurichten, müssen Sie zunächst eine Rotationsstrategie auswählen. Dann konfigurieren Sie das Secret für die Drehung, wodurch eine Lambda-Drehungsfunktion erstellt wird, falls Sie noch keine haben. Die Konsole legt auch Berechtigungen für die Ausführungsrolle der Lambda-Funktion fest. Der letzte Schritt besteht darin, sicherzustellen, dass die Lambda-Drehungsfunktion sowohl auf Secrets Manager als auch auf Ihre Datenbank über das Netzwerk zugreifen kann.

**Warnung**  
Um die automatische Rotation zu aktivieren, benötigen Sie die Berechtigung, eine IAM-Ausführungsrolle für die Lambda-Rotationsfunktion zu erstellen und ihr eine Berechtigungsrichtlinie anzuhängen. Sie brauchen sowohl `iam:CreateRole` und `iam:AttachRolePolicy`-Berechtigungen. Durch die Gewährung dieser Berechtigungen kann sich eine Identität selbst alle Berechtigungen gewähren.

**Topics**
+ [

## Schritt 1: Wählen Sie eine Drehungsstrategie und erstellen Sie (optional) ein Superuser-Secret
](#rotate-secrets_turn-on-for-db_step1)
+ [

## Schritt 2: Konfigurieren Sie die Drehung und erstellen Sie eine Drehungsfunktion
](#rotate-secrets_turn-on-for-db_step2)
+ [

## Schritt 3: (Optional) Zusätzliche Berechtigungsbedingungen für die Rotationsfunktion festlegen
](#rotate-secrets_turn-on-for-db_step3)
+ [

## Schritt 4: Konfigurieren Sie den Netzwerkzugriff für die Drehungsfunktion
](#rotate-secrets_turn-on-for-db_step4)
+ [

## Nächste Schritte
](#rotate-secrets_turn-on-for-db_stepnext)

## Schritt 1: Wählen Sie eine Drehungsstrategie und erstellen Sie (optional) ein Superuser-Secret
<a name="rotate-secrets_turn-on-for-db_step1"></a>

Informationen zu den von Secrets Manager angebotenen Strategien finden Sie unter[Strategien zur Rotation von Lambda-Funktionen](rotation-strategy.md).

Wenn Sie die *Strategie für alternierende Benutzer* wählen, müssen Sie [Erschaffe Geheimnisse](create_secret.md) und Superuser-Anmeldeinformationen der Datenbank darin speichern. Sie benötigen ein Secret mit Superuser-Anmeldeinformationen, da die Drehung den ersten Benutzer klont und die meisten Benutzer nicht über diese Berechtigung verfügen. Beachten Sie, dass Amazon RDS Proxy die Strategie für wechselnde Benutzer nicht unterstützt.

## Schritt 2: Konfigurieren Sie die Drehung und erstellen Sie eine Drehungsfunktion
<a name="rotate-secrets_turn-on-for-db_step2"></a>

**Aktivieren Sie die Drehung für ein Secret von Amazon RDS, Amazon DocumentDB oder Amazon Redshift wie folgt:**

1. Öffnen Sie die Secrets Manager Manager-Konsole unter [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Wählen Sie auf der Seite **Secrets** Ihr Secret aus.

1. Klicken Sie auf der Seite mit den **Secret-Details** im Abschnitt **Rotation configuration (Rotationskonfiguration)** auf **Edit rotation (Rotation bearbeiten)**.

1. Führen Sie im Dialogfeld **Edit rotation configuration (Rotationskonfiguration bearbeiten)** die folgenden Schritte aus:

   1. Schalten Sie die **automatische Rotation** ein.

   1. Geben Sie unter **Rotation schedule** (Drehungszeitplan) Ihren Zeitplan in der UTC-Zeitzone entweder im **Schedule expression builder** (Zeitplanausdruck-Generator) oder als **Schedule expression** (Zeitplanausdruck) ein. Secrets Manager speichert Ihren Zeitplan als `rate()`- oder `cron()`-Ausdruck. Das Rotationsfenster beginnt automatisch um Mitternacht, es sei denn, Sie geben eine **Startzeit**an. Sie können ein Secret bis zu alle vier Stunden rotieren. Weitere Informationen finden Sie unter [Rotationspläne](rotate-secrets_schedule.md).

   1. (Optional) Wählen Sie für **Dauer des Fensters** die Länge des Fensters aus, in dem Secrets Manager Ihr Secret rotieren soll, z. B. **3h** für ein Drei-Stunden-Fenster. Das Fenster darf nicht in das nächste Rotationsfenster übergehen. Wenn Sie keine **Fensterdauer** angeben, wird das Fenster für einen Rotationsplan in Stunden automatisch nach einer Stunde geschlossen. Bei einem Rotationsplan in Tagen wird das Fenster am Ende des Tages automatisch geschlossen. 

   1. (Optional) Wählen Sie **Sofort rotieren, wenn das Secret gespeichert ist**, um Ihr Secret zu rotieren, wenn Sie Ihre Änderungen speichern. Wenn Sie das Kontrollkästchen deaktivieren, beginnt die erste Rotation nach dem von Ihnen festgelegten Zeitplan.

      Wenn die Drehung fehlschlägt, z. B. weil die Schritte 3 und 4 noch nicht abgeschlossen sind, wiederholt Secrets Manager den Drehungsvorgang mehrmals.

   1. Führen Sie unter **Rotationsfunktion** einen der folgenden Schritte aus:
      + Wählen Sie **Create a new Lambda function** (Neue Lambda-Funktion erstellen) aus und geben Sie einen Namen für Ihre neue Funktion ein. Secrets Manager fügt „`SecretsManager`“ am Anfang des Funktionsnamens hinzu. Secrets Manager erstellt die Funktion basierend auf der entsprechenden [Vorlage](reference_available-rotation-templates.md) und legt die erforderlichen [Berechtigungen](rotating-secrets-required-permissions-function.md) für die Lambda-Ausführungsrolle fest.
      + Wählen Sie **Use an existing Lambda function** (Bestehende Lambda-Funktion verwenden), um eine Drehungsfunktion wiederzuverwenden, die Sie für ein anderes Secret verwendet haben. Die Drehungsfunktionen, die unter **Recommended VPC configurations** (Empfohlene VPC-Konfigurationen) aufgeführt sind, haben dieselbe VPC und Sicherheitsgruppe wie die Datenbank, wodurch die Funktion auf die Datenbank zugreifen kann.

   1. Wählen Sie für die **Rotationsstrategie** die Strategie **Einzelbenutzer** oder **Alternierende Benutzer** aus. Weitere Informationen finden Sie unter [Schritt 1: Wählen Sie eine Drehungsstrategie und erstellen Sie (optional) ein Superuser-Secret](#rotate-secrets_turn-on-for-db_step1).

1. Wählen Sie **Save (Speichern)** aus.

## Schritt 3: (Optional) Zusätzliche Berechtigungsbedingungen für die Rotationsfunktion festlegen
<a name="rotate-secrets_turn-on-for-db_step3"></a>

Wir empfehlen, in die Ressourcenrichtlinie für Ihre Drehungsfunktion den Kontextschlüssel [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) aufzunehmen, um zu verhindern, dass Lambda als [verwirrter Stellvertreter](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) verwendet wird. Für einige AWS Dienste AWS empfiehlt es sich, sowohl den Bedingungsschlüssel als auch den [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)globalen Bedingungsschlüssel zu verwenden, um das [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)Szenario „Confused Deputy“ zu vermeiden. Wenn Sie jedoch die `aws:SourceArn`-Bedingung in Ihre Drehungsfunktions-Richtlinie einschließen, kann die Drehungsfunktion nur verwendet werden, um das von diesem ARN angegebene Secret zu rotieren. Es wird empfohlen, nur den Kontextschlüssel `aws:SourceAccount` anzugeben, damit Sie die Drehungsfunktion für mehrere Geheimnisse verwenden können. 

**Aktualisieren Sie die Ressourcenrichtlinie Ihrer Drehungsfunktion wie folgt:**

1. Wählen Sie in der Secrets-Manager-Konsole Ihr Secret aus und wählen Sie dann auf der Detailseite unter **Rotation configuration** (Drehungs-Konfiguration) die Lambda-Drehungsfunktion aus. Die Lambda-Konsole wird geöffnet.

1. Folgen Sie den Anweisungen unter [Verwenden von ressourcenbasierten Richtlinien für Lambda](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html), um eine `aws:sourceAccount`-Bedingung hinzuzufügen.

   ```
   "Condition": {
       "StringEquals": {
           "AWS:SourceAccount": "123456789012"
       }
   },
   ```

Wenn das Secret mit einem anderen KMS-Schlüssel als Von AWS verwalteter Schlüssel `aws/secretsmanager` verschlüsselt ist, gewährt Secrets Manager der Lambda-Ausführungsrolle die Berechtigung, den Schlüssel zu verwenden. Sie können den [SecretARN-Verschlüsselungskontext](security-encryption.md#security-encryption-encryption-context) verwenden, um die Verwendung der Entschlüsselungsfunktion einzuschränken, sodass die Rolle der Rotationsfunktion nur Zugriff auf das Secret hat, für dessen Rotation diese verantwortlich ist.

**So aktualisieren Sie Ihre Ausführungsrolle Ihrer Rotationsfunktion**

1. Wählen Sie in der Lambda-Rotationsfunktion die Option **Konfiguration** und dann unter **Ausführungsrolle** den **Rollennamen** aus. 

1. Folgen Sie den Anweisungen unter [Ändern einer Richtlinie für Rollenberechtigungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html#roles-modify_permissions-policy), um eine `kms:EncryptionContext:SecretARN`-Bedingung hinzuzufügen.

   ```
   "Condition": {
       "StringEquals": {
           "kms:EncryptionContext:SecretARN": "SecretARN"
       }
   },
   ```

## Schritt 4: Konfigurieren Sie den Netzwerkzugriff für die Drehungsfunktion
<a name="rotate-secrets_turn-on-for-db_step4"></a>

Weitere Informationen finden Sie unter [Netzwerkzugriff für die AWS Lambda Rotationsfunktion](rotation-function-network-access.md).

## Nächste Schritte
<a name="rotate-secrets_turn-on-for-db_stepnext"></a>

Siehe [Fehlerbehebung bei der AWS Secrets Manager Rotation](troubleshoot_rotation.md).

# Automatische Rotation für AWS Secrets Manager Nicht-Datenbankgeheimnisse einrichten
<a name="rotate-secrets_turn-on-for-other"></a>

In diesem Tutorial wird beschrieben, wie Sie geheime Daten einrichten, [Rotation durch Lambda-Funktion](rotate-secrets_lambda.md) die keine Datenbanken sind. Rotation ist der Prozess der periodischen Aktualisierung eines Secrets. Wenn Sie ein Secret drehen, werden die Anmeldeinformationen sowohl im Secret als auch in der Datenbank oder im Service, für die bzw. den das Secret bestimmt ist, aktualisiert.

Informationen zu Datenbank-Secrets finden Sie unter [Automatische Rotierung für Datenbank-Secrets (Konsole)](rotate-secrets_turn-on-for-db.md).

**Warnung**  
Um die automatische Rotation zu aktivieren, benötigen Sie die Berechtigung, eine IAM-Ausführungsrolle für die Lambda-Rotationsfunktion zu erstellen und ihr eine Berechtigungsrichtlinie anzuhängen. Sie brauchen sowohl `iam:CreateRole` und `iam:AttachRolePolicy`-Berechtigungen. Durch die Gewährung dieser Berechtigungen kann sich eine Identität selbst alle Berechtigungen gewähren.

**Topics**
+ [

## Schritt 1: Erstellen Sie eine generische Rotationsfunktion
](#rotate-secrets_turn-on-for-other_create)
+ [

## Schritt 2: Schreiben Sie den Drehungsfunktionscode
](#rotate-secrets_turn-on-for-other_write)
+ [

## Schritt 3: Konfigurieren Sie das Geheimnis für die Rotation
](#rotate-secrets_turn-on-for-other_configure)
+ [

## Schritt 4: Erlauben Sie der Rotationsfunktion den Zugriff auf Secrets Manager und Ihre Datenbank oder Ihren Dienst
](#rotate-secrets_turn-on-for-other_perms)
+ [

## Schritt 5: Erlauben Sie Secrets Manager, die Rotationsfunktion aufzurufen
](#rotate-secrets_turn-on-for-other_perms2)
+ [

## Schritt 6: Richten Sie den Netzwerkzugriff für die Rotationsfunktion ein
](#rotate-secrets_turn-on-for-other_network)
+ [

## Nächste Schritte
](#rotate-secrets_turn-on-for-other_stepnext)

## Schritt 1: Erstellen Sie eine generische Rotationsfunktion
<a name="rotate-secrets_turn-on-for-other_create"></a>

Erstellen Sie zunächst eine Lambda-Rotationsfunktion. Sie wird nicht den Code enthalten, mit dem Sie Ihr Geheimnis rotieren können. Sie werden ihn also in einem späteren Schritt schreiben. Hinweise zur Funktionsweise einer Rotationsfunktion finden Sie unter[Lambda-Rotationsfunktionen](rotate-secrets_lambda-functions.md).

In unterstützten Regionen können Sie sie verwenden, AWS Serverless Application Repository um die Funktion aus einer Vorlage zu erstellen. Eine Liste der unterstützten -Regionen finden Sie unter [AWS Serverless Application Repository FAQs](https://aws.amazon.com/serverless/serverlessrepo/faqs/). In anderen Regionen erstellen Sie die Funktion von Grund auf neu und kopieren den Vorlagencode in die Funktion.

**Um eine generische Rotationsfunktion zu erstellen**

1. Informationen darüber, ob sie in Ihrer Region unterstützt AWS Serverless Application Repository wird, finden Sie in der *AWS allgemeinen Referenz* unter [AWS Serverless Application Repository Endpunkte und Kontingente](https://docs.aws.amazon.com/general/latest/gr/serverlessrepo.html). 

1. Führen Sie eine der folgenden Aktionen aus:
   +  AWS Serverless Application Repository Wird in Ihrer Region unterstützt:

     1. Wählen Sie in der Lambda-Konsole **Applications** und anschließend **Create Application** aus.

     1. Wählen Sie auf der Seite „**Anwendung erstellen**“ die Registerkarte **Serverlose Anwendung** aus.

     1. Geben **SecretsManagerRotationTemplate** Sie im Suchfeld unter **Öffentliche Anwendungen** den Text ein.

     1. Wählen Sie **Apps anzeigen, die benutzerdefinierte IAM-Rollen oder Ressourcenrichtlinien** erstellen.

     1. Wählen Sie die Kachel **SecretsManagerRotationTemplate** aus. 

     1. Füllen Sie auf der Seite **Überprüfen, konfigurieren und bereitstellen** in der Kachel **Anwendungseinstellungen** die erforderlichen Felder aus. 
        + Geben Sie als **Endpunkt** den Endpunkt für Ihre Region ein, einschließlich**https://**. Eine Liste der Endpunkte finden Sie unter [AWS Secrets Manager Endpunkte](asm_access.md#endpoints).
        + Um die Lambda-Funktion in eine VPC zu integrieren, schließen Sie die **vpcSecurityGroupIDs** und ein. **vpcSubnetIds**

     1. Wählen Sie **Bereitstellen**.
   + Falls in Ihrer Region AWS Serverless Application Repository nicht unterstützt wird:

     1. Wählen Sie in der Lambda-Konsole **Funktionen** und dann **Funktion erstellen** aus.

     1. Gehen Sie auf der Seite **Create function** (Funktion erstellen) wie folgt vor:

        1. Wählen Sie **Von Grund auf neu schreiben** aus.

        1. Geben Sie unter **Function name** (Funktionsname) einen Namen für Ihre Drehungsfunktion ein.

        1. Wählen Sie für **Runtime** **Python 3.10**.

        1. Wählen Sie **Funktion erstellen**.

## Schritt 2: Schreiben Sie den Drehungsfunktionscode
<a name="rotate-secrets_turn-on-for-other_write"></a>

In diesem Schritt schreiben Sie den Code, der das Geheimnis aktualisiert, und den Dienst oder die Datenbank, für den das Geheimnis bestimmt ist. Hinweise zur Funktionsweise einer Rotationsfunktion, einschließlich Tipps zum Schreiben Ihrer eigenen Rotationsfunktion, finden Sie unter[Lambda-Rotationsfunktionen](rotate-secrets_lambda-functions.md). Sie können die auch [Rotationsfunktionsvorlagen](reference_available-rotation-templates.md) als Referenz verwenden.

## Schritt 3: Konfigurieren Sie das Geheimnis für die Rotation
<a name="rotate-secrets_turn-on-for-other_configure"></a>

In diesem Schritt legen Sie einen Rotationsplan für Ihr Geheimnis fest und verbinden die Rotationsfunktion mit dem Geheimnis. 

**Konfigurieren Sie die Drehung und erstellen Sie eine leere Drehungsfunktion wie folgt:**

1. Öffnen Sie die Secrets Manager Manager-Konsole unter [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Wählen Sie auf der Seite **Secrets** Ihr Secret aus.

1. Klicken Sie auf der Seite mit den **Secret-Details** im Abschnitt **Rotation configuration (Rotationskonfiguration)** auf **Edit rotation (Rotation bearbeiten)**. Führen Sie im Dialogfeld **Edit rotation configuration (Rotationskonfiguration bearbeiten)** die folgenden Schritte aus:

   1. Schalten Sie die **automatische Rotation** ein.

   1. Geben Sie unter **Rotation schedule** (Drehungszeitplan) Ihren Zeitplan in der UTC-Zeitzone entweder im **Schedule expression builder** (Zeitplanausdruck-Generator) oder als **Schedule expression** (Zeitplanausdruck) ein. Secrets Manager speichert Ihren Zeitplan als `rate()`- oder `cron()`-Ausdruck. Das Rotationsfenster beginnt automatisch um Mitternacht, es sei denn, Sie geben eine **Startzeit**an. Sie können ein Secret bis zu alle vier Stunden rotieren. Weitere Informationen finden Sie unter [Rotationspläne](rotate-secrets_schedule.md).

   1. (Optional) Wählen Sie für **Dauer des Fensters** die Länge des Fensters aus, in dem Secrets Manager Ihr Secret rotieren soll, z. B. **3h** für ein Drei-Stunden-Fenster. Das Fenster darf nicht in das nächste Rotationsfenster übergehen. Wenn Sie keine **Fensterdauer** angeben, wird das Fenster für einen Rotationsplan in Stunden automatisch nach einer Stunde geschlossen. Bei einem Rotationsplan in Tagen wird das Fenster am Ende des Tages automatisch geschlossen. 

   1. (Optional) Wählen Sie **Sofort rotieren, wenn das Secret gespeichert ist**, um Ihr Secret zu rotieren, wenn Sie Ihre Änderungen speichern. Wenn Sie das Kontrollkästchen deaktivieren, beginnt die erste Rotation nach dem von Ihnen festgelegten Zeitplan.

   1. Wählen Sie unter **Rotationsfunktion** die Lambda-Funktion aus, die Sie in Schritt 1 erstellt haben.

   1. Wählen Sie **Speichern**.

## Schritt 4: Erlauben Sie der Rotationsfunktion den Zugriff auf Secrets Manager und Ihre Datenbank oder Ihren Dienst
<a name="rotate-secrets_turn-on-for-other_perms"></a>

Die Lambda-Drehungsfunktion benötigt die Berechtigung, auf das Secret in Secrets Manager zuzugreifen, und sie benötigt die Berechtigung, auf Ihre Datenbank oder Ihren Service zuzugreifen. In diesem Schritt erteilen Sie diese Berechtigungen der Lambda-Ausführungsrolle. Wenn das Secret mit einem anderen KMS-Schlüssel als den Von AWS verwalteter Schlüssel `aws/secretsmanager` verschlüsselt wird, müssen Sie der Lambda-Ausführungsrolle die Berechtigung erteilen, den Schlüssel zu verwenden. Sie können den [SecretARN-Verschlüsselungskontext](security-encryption.md#security-encryption-encryption-context) verwenden, um die Verwendung der Entschlüsselungsfunktion einzuschränken, sodass die Rolle der Rotationsfunktion nur Zugriff auf das Secret hat, für dessen Rotation diese verantwortlich ist. Richtlinienbeispiele finden Sie unter [Berechtigungen für Rotation](rotating-secrets-required-permissions-function.md).

Anweisungen dazu finden Sie unter [Lambda-Ausführungsrolle](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html) im *AWS Lambda -Entwicklerhandbuch*.

## Schritt 5: Erlauben Sie Secrets Manager, die Rotationsfunktion aufzurufen
<a name="rotate-secrets_turn-on-for-other_perms2"></a>

Damit Secrets Manager die Rotationsfunktion auf dem von Ihnen eingerichteten Rotationsplan aufrufen kann, müssen Sie dem Secrets Manager Manager-Dienstprinzipal in der Ressourcenrichtlinie der Lambda-Funktion die `lambda:InvokeFunction` Erlaubnis erteilen.

Wir empfehlen, in die Ressourcenrichtlinie für Ihre Drehungsfunktion den Kontextschlüssel [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) aufzunehmen, um zu verhindern, dass Lambda als [verwirrter Stellvertreter](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) verwendet wird. Für einige AWS Dienste AWS empfiehlt es sich, sowohl den Bedingungsschlüssel als auch den [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)globalen Bedingungsschlüssel zu verwenden, um ein verwirrtes [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)Deputy-Szenario zu vermeiden. Wenn Sie jedoch die `aws:SourceArn`-Bedingung in Ihre Drehungsfunktions-Richtlinie einschließen, kann die Drehungsfunktion nur verwendet werden, um das von diesem ARN angegebene Secret zu rotieren. Es wird empfohlen, nur den Kontextschlüssel `aws:SourceAccount` anzugeben, damit Sie die Drehungsfunktion für mehrere Geheimnisse verwenden können. 

Informationen zum Anfügen einer Ressourcenrichtlinie an eine Lambda-Funktion finden Sie unter [Verwenden von ressourcenbasierten Richtlinien für Lambda](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html).

Die folgende Richtlinie ermöglicht Secrets Manager, eine Lambda-Funktion aufzurufen.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "default",
    "Statement": [
    {
        "Effect": "Allow",
        "Principal": {
            "Service": "secretsmanager.amazonaws.com"
            },
        "Action": "lambda:InvokeFunction",
        "Condition": {
            "StringEquals": {
                "AWS:SourceAccount": "123456789012"
            }
        },
        "Resource": "arn:aws:lambda:us-east-1:123456789012:function:function-name"
    }
    ]
}
```

------

## Schritt 6: Richten Sie den Netzwerkzugriff für die Rotationsfunktion ein
<a name="rotate-secrets_turn-on-for-other_network"></a>

In diesem Schritt ermöglichen Sie der Rotationsfunktion, eine Verbindung sowohl mit Secrets Manager als auch mit dem Dienst oder der Datenbank herzustellen, für den das Geheimnis bestimmt ist. Die Rotationsfunktion muss Zugriff auf beide haben, um das Geheimnis rotieren zu können. Siehe [Netzwerkzugriff für die AWS Lambda Rotationsfunktion](rotation-function-network-access.md).

## Nächste Schritte
<a name="rotate-secrets_turn-on-for-other_stepnext"></a>

Bei der Konfiguration der Rotation in Schritt 3 haben Sie einen Zeitplan für die Rotation des Secrets festgelegt. Wenn die Rotation zum geplanten Zeitpunkt fehlschlägt, versucht Secrets Manager die Rotation mehrmals. Sie können eine Rotation auch sofort starten, indem Sie den Anweisungen unter folgen[Secret sofort drehen](rotate-secrets_now.md).

Falls die Rotation fehlschlägt, finden Sie weitere Informationen unter[Fehlerbehebung bei der Rotation](troubleshoot_rotation.md).

# Richten Sie die automatische Rotation ein mit dem AWS CLI
<a name="rotate-secrets_turn-on-cli"></a>

In diesem Tutorial wird beschrieben, wie Sie mit [Rotation durch Lambda-Funktion](rotate-secrets_lambda.md) dem einrichten AWS CLI. Wenn Sie ein Secret drehen, werden die Anmeldeinformationen sowohl im Secret als auch in der Datenbank oder im Service, für die bzw. den das Secret bestimmt ist, aktualisiert. 

Sie können die Rotation auch über die Konsole einrichten. Informationen zu Datenbank-Secrets finden Sie unter [Automatische Rotierung für Datenbank-Secrets (Konsole)](rotate-secrets_turn-on-for-db.md). Informationen zu allen anderen Secret-Typen finden Sie unter [Automatische Rotation für Nicht-Datenbankgeheimnisse (Konsole)](rotate-secrets_turn-on-for-other.md).

Um die Rotation mithilfe von einzurichten AWS CLI, müssen Sie, wenn Sie ein Datenbankgeheimnis rotieren, zunächst eine Rotationsstrategie wählen. Wenn Sie die Strategie für alternierende Benutzer wählen, müssen Sie ein separates Secret mit Anmeldeinformationen für einen Datenbank-Superuser speichern. Als Nächstes schreiben Sie den Drehungsfunktionscode. Secrets Manager bietet Vorlagen, auf denen Sie Ihre Funktion aufbauen können. Anschließend erstellen Sie eine Lambda-Funktion mit Ihrem Code und legen Berechtigungen sowohl für die Lambda-Funktion als auch für die Lambda-Ausführungsrolle fest. Der nächste Schritt besteht darin, sicherzustellen, dass die Lambda-Funktion über das Netzwerk sowohl auf Secrets Manager als auch auf Ihre Datenbank oder Ihren Dienst zugreifen kann. Schließlich konfigurieren Sie das Secret für die Drehung.

**Topics**
+ [

## Voraussetzung für Datenbankgeheimnisse: Wählen Sie eine Rotationsstrategie
](#rotate-secrets_turn-on-cli_step1)
+ [

## Schritt 1: Schreiben Sie den Code für die Rotationsfunktion
](#rotate-secrets_turn-on-cli_write)
+ [

## Schritt 2: Erstellen Sie die Lambda-Funktion
](#w2aac21c11c25c15)
+ [

## Schritt 3: Netzwerkzugriff einrichten
](#w2aac21c11c25c17)
+ [

## Schritt 4: Konfigurieren Sie das Geheimnis für die Rotation
](#w2aac21c11c25c19)
+ [

## Nächste Schritte
](#w2aac21c11c25c21)

## Voraussetzung für Datenbankgeheimnisse: Wählen Sie eine Rotationsstrategie
<a name="rotate-secrets_turn-on-cli_step1"></a>

Informationen zu den von Secrets Manager angebotenen Strategien finden Sie unter[Strategien zur Rotation von Lambda-Funktionen](rotation-strategy.md).

### Option 1: Strategie für einen einzelnen Benutzer
<a name="w2aac21c11c25c11b5"></a>

Wenn Sie sich für die *Einzelbenutzerstrategie* entscheiden, können Sie mit Schritt 1 fortfahren. 

### Option 2: Strategie für wechselnde Benutzer
<a name="w2aac21c11c25c11b7"></a>

Wenn Sie sich für die *Strategie mit wechselnden Benutzern* entscheiden, müssen Sie:
+ [Erstellen Sie ein Geheimnis](create_secret.md#create_secret_cli) und speichern Sie darin die Anmeldeinformationen für den Datenbank-Superuser. Sie benötigen einen geheimen Schlüssel mit Superuser-Anmeldeinformationen, da der erste Benutzer abwechselnd geklont wird und die meisten Benutzer nicht über diese Berechtigung verfügen. 
+ Fügen Sie den ARN des Superuser-Geheimnisses zum ursprünglichen Geheimnis hinzu. Weitere Informationen finden Sie unter [JSON-Struktur von AWS Secrets Manager Geheimnissen](reference_secret_json_structure.md). 

Beachten Sie, dass Amazon RDS Proxy die Strategie für wechselnde Benutzer nicht unterstützt.

## Schritt 1: Schreiben Sie den Code für die Rotationsfunktion
<a name="rotate-secrets_turn-on-cli_write"></a>

Um ein Secret zu drehen, benötigen Sie eine Drehungsfunktion. Eine Drehungsfunktion ist eine Lambda-Funktion, die Secrets Manager aufruft, um Ihr Secret zu drehen. Weitere Informationen finden Sie unter [Rotation durch Lambda-Funktion](rotate-secrets_lambda.md). In diesem Schritt schreiben Sie den Code, der das Geheimnis aktualisiert, und den Dienst oder die Datenbank, für den das Geheimnis bestimmt ist.

Secrets Manager bietet Vorlagen für Amazon RDS-, Amazon Aurora-, Amazon Redshift- und Amazon DocumentDB DocumentDB-Datenbankgeheimnisse in. [Rotationsfunktionsvorlagen](reference_available-rotation-templates.md) 

**Um den Code für die Rotationsfunktion zu schreiben**

1. Führen Sie eine der folgenden Aktionen aus:
   + Überprüfen Sie die Liste der [Vorlagen für Rotationsfunktionen](reference_available-rotation-templates.md). Wenn es eine gibt, die Ihrer Service- und Rotationsstrategie entspricht, kopieren Sie den Code. 
   + Für andere Arten von Geheimnissen schreiben Sie Ihre eigene Rotationsfunktion. Detaillierte Anweisungen finden Sie unter [Lambda-Rotationsfunktionen](rotate-secrets_lambda-functions.md). 

1. Speichern Sie die Datei *my-function.zip* zusammen mit allen erforderlichen Abhängigkeiten in einer ZIP-Datei.

## Schritt 2: Erstellen Sie die Lambda-Funktion
<a name="w2aac21c11c25c15"></a>

In diesem Schritt erstellen Sie die Lambda-Funktion mithilfe der ZIP-Datei, die Sie in Schritt 1 erstellt haben. Sie legen auch die [Lambda-Ausführungsrolle](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html) fest, die Rolle, die Lambda übernimmt, wenn die Funktion aufgerufen wird.

**Erstellen Sie eine Lambda-Drehungsfunktion und Ausführungsrolle wie folgt:**

1. Erstellen Sie eine Vertrauensrichtlinie für die Lambda-Ausführungsrolle und speichern Sie sie als JSON-Datei. Beispiele und weitere Informationen finden Sie unter [Rollenberechtigungen für die Ausführung der Lambda-Rotationsfunktion für AWS Secrets Manager](rotating-secrets-required-permissions-function.md). Die Richtlinie muss:
   + Der Rolle erlauben, Secrets-Manager-Vorgänge für das Secret aufzurufen. 
   + Erlauben Sie der Rolle, den Dienst aufzurufen, für den das Geheimnis bestimmt ist, z. B. um ein neues Passwort zu erstellen. 

1. Erstellen Sie die Lambda-Ausführungsrolle und wenden Sie die Vertrauensrichtlinie an, die Sie im vorherigen Schritt erstellt haben, indem Sie aufrufen [https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html](https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html).

   ```
   aws iam create-role \
       --role-name rotation-lambda-role \
       --assume-role-policy-document file://trust-policy.json
   ```

1. Die Lambda-Funktion aus der ZIP-Datei erstellen, indem sie [https://docs.aws.amazon.com/cli/latest/reference/lambda/create-function.html](https://docs.aws.amazon.com/cli/latest/reference/lambda/create-function.html) aufruft.

   ```
   aws lambda create-function \
     --function-name my-rotation-function \
     --runtime python3.7 \
     --zip-file fileb://my-function.zip \
     --handler .handler \
     --role arn:aws:iam::123456789012:role/service-role/rotation-lambda-role
   ```

1. Eine Ressourcenrichtlinie für die Lambda-Funktion festlegen, damit Secrets Manager sie durch Aufrufen von [https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html](https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html) aufrufen kann.

   ```
   aws lambda add-permission \
     --function-name my-rotation-function \
     --action lambda:InvokeFunction \
     --statement-id SecretsManager \
     --principal secretsmanager.amazonaws.com \
     --source-account 123456789012
   ```

## Schritt 3: Netzwerkzugriff einrichten
<a name="w2aac21c11c25c17"></a>

Weitere Informationen finden Sie unter [Netzwerkzugriff für die AWS Lambda Rotationsfunktion](rotation-function-network-access.md).

## Schritt 4: Konfigurieren Sie das Geheimnis für die Rotation
<a name="w2aac21c11c25c19"></a>

Um die automatische Drehung für Ihr Secret zu aktivieren, rufen Sie [https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/rotate-secret.html](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/rotate-secret.html) an. Sie können einen Drehungszeitplan mit einem `cron()`- oder `rate()`-Zeitplanausdruck festlegen, und Sie können die Dauer eines Drehungsfensters festlegen. Weitere Informationen finden Sie unter [Rotationspläne](rotate-secrets_schedule.md).

```
aws secretsmanager rotate-secret \
    --secret-id MySecret \
    --rotation-lambda-arn arn:aws:lambda:Region:123456789012:function:my-rotation-function \
    --rotation-rules "{\"ScheduleExpression\": \"cron(0 16 1,15 * ? *)\", \"Duration\": \"2h\"}"
```

## Nächste Schritte
<a name="w2aac21c11c25c21"></a>

Siehe [Fehlerbehebung bei der AWS Secrets Manager Rotation](troubleshoot_rotation.md).

# Strategien zur Rotation von Lambda-Funktionen
<a name="rotation-strategy"></a>

Denn für [Rotation durch Lambda-Funktion](rotate-secrets_lambda.md) Datenbankgeheimnisse bietet Secrets Manager zwei Rotationsstrategien.

## Rotationsstrategie: Einzelbenutzer
<a name="rotating-secrets-one-user-one-password"></a>

Diese Strategie aktualisiert die Anmeldeinformationen für einen Benutzer in einem Secret. Da Benutzer bei Amazon-RDS-Db2-Instances ihre eigenen Passwörter nicht ändern können, müssen Sie Administratoranmeldedaten in einem separaten Secrets angeben. **Dies ist die einfachste Rotationsstrategie und eignet sich für die meisten Anwendungsfälle.** Insbesondere empfehlen wir Ihnen, diese Strategie für Anmeldeinformationen für einmalige (Ad-hoc) oder interaktive Benutzer zu verwenden.

Wenn das Secret rotiert, werden offene Datenbankverbindungen nicht gelöscht. Während dieser Rotation gibt es einen kurzen Zeitraum zwischen dem Ändern des Passworts in der Datenbank und dem Zeitpunkt, an dem das Secret aktualisiert wird. Während dieser Zeit besteht ein geringes Risiko, dass die Datenbank Anrufe ablehnt, die die rotierten Anmeldeinformationen verwenden. Sie können dieses Risiko abschwächen indem Sie eine [angemessene Wiederholungsstrategie](https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/) nutzen. Nach der Rotation verwenden neue Verbindungen die neuen Anmeldeinformationen. 

## Rotationsstrategie: wechselnde Benutzer
<a name="rotating-secrets-two-users"></a>

Diese Strategie aktualisiert die Anmeldeinformationen für zwei Benutzer in einem Secret. Sie erstellen den ersten Benutzer, und während der ersten Rotation klont die Rotationsfunktion ihn, um den zweiten Benutzer zu erstellen. Jedes Mal, wenn das Secret rotiert, wechselt die Rotationsfunktion ab, welches Benutzerkennwort sie aktualisiert. Da die meisten Benutzer keine Berechtigung haben, sich selbst zu klonen, müssen Sie die Anmeldeinformationen für einen `superuser` in einem anderen Secret angeben. Wir empfehlen die Verwendung der Einzelbenutzer-Drehungsstrategie, wenn geklonte Benutzer in Ihrer Datenbank nicht über dieselben Berechtigungen verfügen wie der ursprüngliche Benutzer, sowie für Anmeldeinformationen für einmalige (Ad-hoc-) oder interaktive Benutzer.

Diese Strategie ist für Datenbanken mit Berechtigungsmodellen geeignet, bei denen eine Rolle Eigentümer der Datenbanktabellen ist und eine zweite Rolle die Berechtigung zum Zugriff auf die Datenbanktabellen hat. Sie ist auch für Anwendungen geeignet, die eine hohe Verfügbarkeit erfordern. Wenn eine Anwendung das Secret während der Rotation abruft, erhält die Anwendung dennoch einen gültigen Satz von Anmeldeinformationen. Nach der Rotation sind sowohl `user`- als auch `user_clone`-Anmeldeinformationen gültig. Die Wahrscheinlichkeit, dass Anwendungen bei dieser Art der Rotation abgelehnt werden, ist noch geringer als bei der Rotation durch einen Einzelbenutzer. Wenn die Datenbank in einer Serverfarm gehostet wird, bei der die Passwortänderung einige Zeit für die Weitergabe an alle Server benötigt, besteht die Gefahr, dass die Datenbank Aufrufe ablehnt, die die neuen Anmeldeinformationen verwenden. Sie können dieses Risiko abschwächen indem Sie eine [angemessene Wiederholungsstrategie](https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/) nutzen.

Secrets Manager erstellt den geklonten Benutzer mit denselben Berechtigungen wie die des ursprünglichen Benutzers. Wenn Sie nach der Erstellung des Klons die Berechtigungen des ursprünglichen Benutzers ändern, müssen Sie auch die Berechtigungen des geklonten Benutzers ändern.

Wenn Sie beispielsweise ein Secret mit den Anmeldeinformationen eines Datenbankbenutzers erstellen, enthält das Secret eine Version mit diesen Anmeldeinformationen.

 ![\[The secret contains one secret version labeled AWSCURRENT. The username for the AWSCURRENT version is MyUser.\]](http://docs.aws.amazon.com/de_de/secretsmanager/latest/userguide/images/AlternatingUsers1.png) 

**Erste Rotation** — Die Rotationsfunktion erstellt einen Klon Ihres Benutzers mit einem generierten Passwort, und diese Anmeldeinformationen werden zur aktuellen geheimen Version.

 ![\[The secret contains two secret versions, one labeled AWSCURRENT and one labeled AWSPREVIOUS. The username for the AWSCURRENT version is MyUser_clone.\]](http://docs.aws.amazon.com/de_de/secretsmanager/latest/userguide/images/AlternatingUsers2.png) 

**Zweite Rotation** — Die Rotationsfunktion aktualisiert das Passwort für den ursprünglichen Benutzer.

 ![\[The secret contains two secret versions, one labeled AWSCURRENT and one labeled AWSPREVIOUS. The username for the AWSCURRENT version is MyUser.\]](http://docs.aws.amazon.com/de_de/secretsmanager/latest/userguide/images/AlternatingUsers3.png) 

**Dritte Rotation** — Die Rotationsfunktion aktualisiert das Passwort für den geklonten Benutzer.

 ![\[The secret contains two secret versions, one labeled AWSCURRENT and one labeled AWSPREVIOUS. The username for the AWSCURRENT version is MyUser_clone.\]](http://docs.aws.amazon.com/de_de/secretsmanager/latest/userguide/images/AlternatingUsers4.png) 

# Lambda-Rotationsfunktionen
<a name="rotate-secrets_lambda-functions"></a>

[Rotation durch Lambda-Funktion](rotate-secrets_lambda.md)In rotiert eine AWS Lambda Funktion das Geheimnis. AWS Secrets Manager verwendet [Staging-Labels](whats-in-a-secret.md), um geheime Versionen während der Rotation zu identifizieren.

Wenn AWS Secrets Manager keine [Vorlage für eine Rotationsfunktion](reference_available-rotation-templates.md) für Ihren geheimen Typ bereitgestellt wird, können Sie eine benutzerdefinierte Rotationsfunktion erstellen. Befolge diese Richtlinien, wenn du deine Rotationsfunktion schreibst:

**Bewährte Methoden für benutzerdefinierte Rotationsfunktionen**
+ Verwenden Sie die [generische Rotationsvorlage](reference_available-rotation-templates.md#OTHER_rotation_templates) als Ausgangspunkt.
+ Seien Sie vorsichtig beim Debuggen oder Protokollieren von Anweisungen. Sie können Informationen in Amazon CloudWatch Logs schreiben. Stellen Sie sicher, dass die Protokolle keine vertraulichen Informationen enthalten.

  Beispiele für Protokollanweisungen finden Sie im [AWS Secrets Manager Vorlagen für Rotationsfunktionen](reference_available-rotation-templates.md) Quellcode.
+ Aus Sicherheitsgründen erlaubt es AWS Secrets Manager nur einer Lambda-Rotationsfunktion, das Geheimnis direkt zu rotieren. Die Rotationsfunktion kann keine andere Lambda-Funktion aufrufen, um das Geheimnis zu rotieren.
+ Anleitungen zum Debuggen finden Sie unter Serverlose [Anwendungen testen und debuggen](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-test-and-debug.html).
+ Wenn Sie externe Binärdateien und Bibliotheken verwenden, um beispielsweise eine Verbindung zu einer Ressource herzustellen, sind Sie dafür verantwortlich, diese zu patchen und zu aktualisieren.
+ Verpacken Sie Ihre Rotationsfunktion und alle Abhängigkeiten in einer ZIP-Datei, z. *my-function.zip* B.

**Warnung**  
Wenn Sie den bereitgestellten Parallelitätsparameter auf einen Wert unter 10 setzen, kann dies aufgrund unzureichender Ausführungsthreads für die Lambda-Funktion zu einer Drosselung führen. Weitere Informationen finden Sie unter [Grundlegendes zu reservierter Parallelität und bereitgestellter Parallelität](https://docs.aws.amazon.com/lambda/latest/dg/lambda-concurrency.html#reserved-and-provisioned) im Entwicklerhandbuch. AWS Lambda AWS Lambda 

## Vier Schritte in einer Rotationsfunktion
<a name="rotate-secrets_lambda-functions-code"></a>

**Topics**
+ [

### `createSecret`: Erstelle eine neue Version des Secrets
](#w2aac21c11c29c11b5)
+ [

### **setSecret**: Ändern Sie die Anmeldeinformationen in der Datenbank oder im Service
](#w2aac21c11c29c11b7)
+ [

### **testSecret**: Testen Sie die neue geheime Version
](#w2aac21c11c29c11b9)
+ [

### **finishSecret**: Beende die Rotation
](#w2aac21c11c29c11c11)

### `createSecret`: Erstelle eine neue Version des Secrets
<a name="w2aac21c11c29c11b5"></a>

Die Methode prüft `createSecret` zunächst, ob ein Geheimnis existiert, indem sie [https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/secretsmanager.html#SecretsManager.Client.get_secret_value](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/secretsmanager.html#SecretsManager.Client.get_secret_value)mit dem übergebenen aufruft. `ClientRequestToken` Wenn es kein Geheimnis gibt, erstellt sie ein neues Geheimnis mit [https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/secretsmanager.html#SecretsManager.Client.create_secret](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/secretsmanager.html#SecretsManager.Client.create_secret)und dem Token als. `VersionId` Dann generiert es einen neuen geheimen Wert mit [https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/secretsmanager.html#SecretsManager.Client.get_random_password](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/secretsmanager.html#SecretsManager.Client.get_random_password). Als Nächstes wird es aufgerufen [https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/secretsmanager.html#SecretsManager.Client.put_secret_value](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/secretsmanager.html#SecretsManager.Client.put_secret_value), um es mit dem Staging-Label `AWSPENDING` zu speichern. Das Speichern des neuen geheimen Werts in `AWSPENDING` trägt zur Sicherstellung der Idempotenz bei. Wenn die Drehung aus irgendeinem Grund fehlschlägt, können Sie in nachfolgenden Aufrufen auf diesen geheimen Wert verweisen. Weitere Informationen finden Sie unter [How do I make my Lambda function idempotent](https://aws.amazon.com/premiumsupport/knowledge-center/lambda-function-idempotent/) (Wie mache ich meine Lambda-Funktion idempotent?).

**Tipps zum Schreiben Ihrer eigenen Rotationsfunktion**
+ Stellen Sie sicher, dass der neue geheime Wert nur Zeichen enthält, die für die Datenbank oder den Dienst gültig sind. Schließen Sie Zeichen mithilfe des `ExcludeCharacters`-Parameters aus. 
+ Verwenden Sie beim Testen Ihrer Funktion die Versionsstufen, AWS CLI um sich die Versionsstufen anzusehen: aufrufen [https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/describe-secret.html](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/describe-secret.html)und ansehen`VersionIdsToStages`.
+ Für Amazon RDS MySQL erstellt Secrets Manager in abwechselnder Benutzerrotation einen geklonten Benutzer mit einem Namen, der nicht länger als 16 Zeichen ist. Sie können die Rotationsfunktion ändern, um längere Benutzernamen zuzulassen. MySQL Version 5.7 und höher unterstützt Benutzernamen mit bis zu 32 Zeichen. Secrets Manager fügt jedoch „\$1clone“ (sechs Zeichen) an das Ende des Benutzernamens an, sodass Sie den Benutzernamen auf maximal 26 Zeichen beschränken müssen.

### **setSecret**: Ändern Sie die Anmeldeinformationen in der Datenbank oder im Service
<a name="w2aac21c11c29c11b7"></a>

Die Methode `setSecret` ändert die Anmeldeinformationen in der Datenbank oder im Dienst so, dass sie dem neuen geheimen Wert in der `AWSPENDING` Version des Geheimnisses entsprechen. 

**Tipps zum Schreiben Ihrer eigenen Rotationsfunktion**
+ Wenn Sie Anweisungen an einen Dienst übergeben, der Anweisungen interpretiert, z. B. an eine Datenbank, verwenden Sie die Abfrageparametrisierung. *Weitere Informationen finden Sie im [Cheat Sheet zur Abfrageparametrisierung auf der OWASP-Website](https://cheatsheetseries.owasp.org/cheatsheets/Query_Parameterization_Cheat_Sheet.html).*
+ Die Drehungsfunktion ist ein privilegierter Stellvertreter, der berechtigt ist, auf Kundenanmeldeinformationen sowohl im Secrets-Manager-Secret als auch in der Zielressource zuzugreifen und diese zu ändern. Um einen möglichen [verwirrten Stellvertreterangriff](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) zu verhindern, müssen Sie sicherstellen, dass ein Angreifer die Funktion nicht verwenden kann, um auf andere Ressourcen zuzugreifen. Bevor Sie die Anmeldeinformationen aktualisieren:
  + Überprüfen Sie, ob die Anmeldeinformationen in der `AWSCURRENT`-Version des Secrets gültig sind. Wenn die `AWSCURRENT`-Anmeldeinformationen nicht gültig sind, brechen Sie den Drehungsversuch ab.
  + Stellen Sie sicher, dass die geheimen Werte `AWSPENDING` und `AWSCURRENT` für dieselbe Ressource gelten. Überprüfen Sie für einen Benutzernamen und ein Passwort, ob die `AWSCURRENT`- und `AWSPENDING`-Benutzernamen identisch sind. 
  + Stellen Sie sicher, dass die Ziel-Service-Ressource identisch ist. Überprüfen Sie bei einer Datenbank, ob die Hostnamen `AWSCURRENT` und `AWSPENDING` identisch sind.
+ In seltenen Fällen möchten Sie möglicherweise eine vorhandene Rotationsfunktion für eine Datenbank anpassen. Bei abwechselnder Benutzerrotation erstellt Secrets Manager beispielsweise den geklonten Benutzer, indem er die [Laufzeitkonfigurationsparameter](https://www.postgresql.org/docs/8.0/runtime-config.html) des ersten Benutzers kopiert. Wenn Sie mehr Attribute hinzufügen oder ändern möchten, welche dem geklonten Benutzer gewährt werden, müssen Sie den Code in der `set_secret`-Funktion aktualisieren. 

### **testSecret**: Testen Sie die neue geheime Version
<a name="w2aac21c11c29c11b9"></a>

Als Nächstes testet die Lambda-Rotationsfunktion die `AWSPENDING`-Version des Secrets, indem es für den Zugriff auf die Datenbank oder den Service verwendet wird. Rotationsfunktionen basierend auf Folgendem: [Rotationsfunktionsvorlagen](reference_available-rotation-templates.md) testen das neue Secret mit Lesezugriff. 

### **finishSecret**: Beende die Rotation
<a name="w2aac21c11c29c11c11"></a>

Schließlich verschiebt die Lambda-Rotationsfunktion das Label `AWSCURRENT` von der vorherigen Secret-Version in diese Version, wodurch auch das `AWSPENDING`-Label im selben API-Aufruf entfernt wird. Secrets Manager fügt der vorherigen Version die `AWSPREVIOUS`-Staging-Bezeichnung hinzu, sodass Sie die letzte als funktionierend bekannte Version des Secret behalten. 

Die Methode **finish\$1secret** verwendet [https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/secretsmanager.html#SecretsManager.Client.update_secret_version_stage](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/secretsmanager.html#SecretsManager.Client.update_secret_version_stage), um das Staging-Label `AWSCURRENT` von der vorherigen geheimen Version in die neue geheime Version zu verschieben. Secrets Manager fügt der vorherigen Version die `AWSPREVIOUS`-Staging-Bezeichnung automatisch hinzu, sodass Sie die letzte als funktionierend bekannte Version des Secret behalten. 

**Tipps zum Schreiben Ihrer eigenen Rotationsfunktion**
+ Entfernen Sie es nicht `AWSPENDING` vor diesem Punkt und entfernen Sie es nicht mithilfe eines separaten API-Aufrufs, da dies Secrets Manager anzeigen kann, dass die Rotation nicht erfolgreich abgeschlossen wurde. Secrets Manager fügt der vorherigen Version die `AWSPREVIOUS`-Staging-Bezeichnung hinzu, sodass Sie die letzte als funktionierend bekannte Version des Secret behalten. 

Wenn die Rotation erfolgreich ist, wird die `AWSPENDING`-Staging-Bezeichnung möglicherweise an dieselbe Version wie die `AWSCURRENT`-Version angehängt oder wird möglicherweise keiner Version zugeordnet. Wenn die `AWSPENDING`-Staging-Bezeichnung zwar vorhanden, aber nicht derselben Version zugeordnet ist wie `AWSCURRENT`, wird bei jedem späteren Aufruf der Rotation davon ausgegangen, dass eine vorherige Rotationsanforderung noch in Bearbeitung ist, und es wird ein Fehler zurückgegeben. Wenn die Rotation nicht erfolgreich ist, wird die `AWSPENDING`-Staging-Bezeichnung möglicherweise an eine leere Secret-Version angehängt. Weitere Informationen finden Sie unter [Fehlerbehebung bei der Rotation](troubleshoot_rotation.md).

# AWS Secrets Manager Vorlagen für Rotationsfunktionen
<a name="reference_available-rotation-templates"></a>

AWS Secrets Manager bietet eine Reihe von Vorlagen für Rotationsfunktionen, mit deren Hilfe die sichere Verwaltung von Anmeldeinformationen für verschiedene Datenbanksysteme und Dienste automatisiert werden kann. Bei den Vorlagen handelt es sich um ready-to-use Lambda-Funktionen, die bewährte Methoden für die Rotation von Anmeldeinformationen implementieren und Ihnen helfen, Ihre Sicherheitslage ohne manuelles Eingreifen aufrechtzuerhalten.

Die Vorlagen unterstützen zwei primäre Rotationsstrategien:
+ *Rotation für einzelne Benutzer*, bei der die Anmeldeinformationen für einen einzelnen Benutzer aktualisiert werden.
+ *Rotation mit wechselnden Benutzern*, bei der zwei separate Benutzer beibehalten werden, um Ausfallzeiten bei Änderungen der Anmeldeinformationen zu vermeiden.

Secrets Manager bietet auch eine generische Vorlage, die als Ausgangspunkt für jede Art von Geheimnis dient.

Informationen zur Verwendung der Vorlagen finden Sie unter:
+ [Automatische Rotierung für Datenbank-Secrets (Konsole)](rotate-secrets_turn-on-for-db.md)
+ [Automatische Rotation für Nicht-Datenbankgeheimnisse (Konsole)](rotate-secrets_turn-on-for-other.md)

Informationen zum Schreiben Ihrer eigenen Rotationsfunktion finden [Sie unter Schreiben einer Rotationsfunktion](rotate-secrets_lambda-functions.md).

**Contents**
+ [

## Amazon RDS und Amazon Aurora
](#RDS_rotation_templates)
  + [

### Amazon RDS Db2: Einzelbenutzer
](#sar-template-db2-singleuser)
  + [

### Amazon RDS Db2: Wechselnde Benutzer
](#sar-template-db2-multiuser)
  + [

### Amazon RDS MariaDB – Einzelbenutzer
](#sar-template-mariadb-singleuser)
  + [

### Amazon RDS MariaDB – wechselnde Benutzer
](#sar-template-mariadb-multiuser)
  + [

### Amazon RDS und Amazon Aurora MySQL: Einzelbenutzer
](#sar-template-mysql-singleuser)
  + [

### Amazon RDS und Amazon Aurora MySQL: Wechselnde Benutzer
](#sar-template-mysql-multiuser)
  + [

### Amazon RDS Oracle – Einzelbenutzer
](#sar-template-oracle-singleuser)
  + [

### Amazon RDS Oracle – wechselnde Benutzer
](#sar-template-oracle-multiuser)
  + [

### Amazon RDS und Amazon Aurora PostgreSQL: Einzelbenutzer
](#sar-template-postgre-singleuser)
  + [

### Amazon RDS und Amazon Aurora PostgreSQL: Wechselnde Benutzer
](#sar-template-postgre-multiuser)
  + [

### Amazon RDS Microsoft SQLServer Einzelbenutzer
](#sar-template-sqlserver-singleuser)
  + [

### Amazon RDS Microsoft: SQLServer Wechselnde Benutzer
](#sar-template-sqlserver-multiuser)
+ [

## Amazon DocumentDB (mit MongoDB-Kompatibilität)
](#NON-RDS_rotation_templates)
  + [

### Amazon-DocumentDB-Einzelbenutzer
](#sar-template-mongodb-singleuser)
  + [

### Amazon DocumentDB – wechselnde Benutzer
](#sar-template-mongodb-multiuser)
+ [

## Amazon Redshift
](#template-redshift)
  + [

### Amazon Redshift – Einzelbenutzer
](#sar-template-redshift-singleuser)
  + [

### Amazon Redshift – wechselnde Benutzer
](#sar-template-redshift-multiuser)
+ [

## Amazon Timestream für InfluxDB
](#template-TimeStream)
  + [

### Amazon Timestream für InfluxDB-Einzelbenutzer
](#template-TimeStream-singleuser)
  + [

### Amazon Timestream für InfluxDB mit wechselnden Benutzern
](#template-TimeStream-multiuser)
+ [

## Amazon ElastiCache
](#template-ELC)
+ [

## Active Directory
](#template-AD)
  + [

### Active Directory-Anmeldeinformationen
](#template-AD-password)
  + [

### Active Directory-Schlüsseltabelle
](#template-AD-keytab)
+ [

## Andere Arten von Secrets
](#OTHER_rotation_templates)

## Amazon RDS und Amazon Aurora
<a name="RDS_rotation_templates"></a>

### Amazon RDS Db2: Einzelbenutzer
<a name="sar-template-db2-singleuser"></a>
+ **Name der Vorlage:** SecretsManager RDSDb2 RotationSingleUser
+ **Drehungsstrategie:** [Rotationsstrategie: Einzelbenutzer](rotation-strategy.md#rotating-secrets-one-user-one-password).
+ **`SecretString`-Struktur:** [Amazon RDS- und Aurora-Anmeldeinformationen](reference_secret_json_structure.md#reference_secret_json_structure_rds).
+ **Quellcode: https://github.com/aws-samples/** [aws-secrets-manager-rotation- lambdas/tree/master/SecretsManagerRDSDb2RotationSingleUser/lambda \$1function.py](https://github.com/aws-samples/aws-secrets-manager-rotation-lambdas/tree/master/SecretsManagerRDSDb2RotationSingleUser/lambda_function.py)
+ **Abhängigkeit: **[python-ibmdb](https://github.com/ibmdb/python-ibmdb)

### Amazon RDS Db2: Wechselnde Benutzer
<a name="sar-template-db2-multiuser"></a>
+ **Name der Vorlage:** SecretsManager RDSDb2 RotationMultiUser
+ **Drehungsstrategie:** [Rotationsstrategie: wechselnde Benutzer](rotation-strategy.md#rotating-secrets-two-users).
+ **`SecretString`-Struktur:** [Amazon RDS- und Aurora-Anmeldeinformationen](reference_secret_json_structure.md#reference_secret_json_structure_rds).
+ **Quellcode: https://github.com/aws-samples/** [aws-secrets-manager-rotation- lambdas/tree/master/SecretsManagerRDSDb2RotationMultiUser/lambda \$1function.py](https://github.com/aws-samples/aws-secrets-manager-rotation-lambdas/tree/master/SecretsManagerRDSDb2RotationMultiUser/lambda_function.py)
+ **Abhängigkeit: **[python-ibmdb](https://github.com/ibmdb/python-ibmdb)

### Amazon RDS MariaDB – Einzelbenutzer
<a name="sar-template-mariadb-singleuser"></a>
+ **Name der Vorlage:** SecretsManager RDSMaria DBRotation SingleUser
+ **Drehungsstrategie:** [Rotationsstrategie: Einzelbenutzer](rotation-strategy.md#rotating-secrets-one-user-one-password).
+ **`SecretString`-Struktur:** [Amazon RDS- und Aurora-Anmeldeinformationen](reference_secret_json_structure.md#reference_secret_json_structure_rds).
+ **Quellcode: https://github.com/aws-samples/** [aws-secrets-manager-rotation- lambdas/tree/master/SecretsManagerRDSMariaDBRotationSingleUser/lambda \$1function.py](https://github.com/aws-samples/aws-secrets-manager-rotation-lambdas/tree/master/SecretsManagerRDSMariaDBRotationSingleUser/lambda_function.py)
+ **Abhängigkeit:** PyMy SQL 1.0.2. Wenn Sie das SHA256-Passwort für die Authentifizierung verwenden, PyMy SQL [rsa]. Informationen zur Verwendung von Paketen mit kompiliertem Code in einer Lambda-Laufzeit finden Sie unter [Wie füge ich Python-Pakete mit kompilierten Binärdateien zu meinem Bereitstellungspaket hinzu und mache das Paket mit Lambda kompatibel](https://repost.aws/knowledge-center/lambda-python-package-compatible)? *im AWS Knowledge Center.*

### Amazon RDS MariaDB – wechselnde Benutzer
<a name="sar-template-mariadb-multiuser"></a>
+ **Name der Vorlage:** SecretsManager RDSMaria DBRotation MultiUser
+ **Drehungsstrategie:** [Rotationsstrategie: wechselnde Benutzer](rotation-strategy.md#rotating-secrets-two-users).
+ **`SecretString`-Struktur:** [Amazon RDS- und Aurora-Anmeldeinformationen](reference_secret_json_structure.md#reference_secret_json_structure_rds).
+ **Quellcode: https://github.com/aws-samples/** [aws-secrets-manager-rotation- lambdas/tree/master/SecretsManagerRDSMariaDBRotationMultiUser/lambda \$1function.py](https://github.com/aws-samples/aws-secrets-manager-rotation-lambdas/tree/master/SecretsManagerRDSMariaDBRotationMultiUser/lambda_function.py)
+ **Abhängigkeit:** PyMy SQL 1.0.2. Wenn Sie das SHA256-Passwort für die Authentifizierung verwenden, PyMy SQL [rsa]. Informationen zur Verwendung von Paketen mit kompiliertem Code in einer Lambda-Laufzeit finden Sie unter [Wie füge ich Python-Pakete mit kompilierten Binärdateien zu meinem Bereitstellungspaket hinzu und mache das Paket mit Lambda kompatibel](https://repost.aws/knowledge-center/lambda-python-package-compatible)? *im AWS Knowledge Center.*

### Amazon RDS und Amazon Aurora MySQL: Einzelbenutzer
<a name="sar-template-mysql-singleuser"></a>
+ **Name der Vorlage:** SecretsManager RDSMy SQLRotation SingleUser
+ **Drehungsstrategie:** [Rotationsstrategie: Einzelbenutzer](rotation-strategy.md#rotating-secrets-one-user-one-password).
+ **Erwartete `SecretString`-Struktur:** [Amazon RDS- und Aurora-Anmeldeinformationen](reference_secret_json_structure.md#reference_secret_json_structure_rds).
+ **Quellcode: https://github.com/aws-samples/** [aws-secrets-manager-rotation- lambdas/tree/master/SecretsManagerRDSMySQLRotationSingleUser/lambda \$1function.py](https://github.com/aws-samples/aws-secrets-manager-rotation-lambdas/tree/master/SecretsManagerRDSMySQLRotationSingleUser/lambda_function.py)
+ **Abhängigkeit:** PyMy SQL 1.0.2. Wenn Sie das SHA256-Passwort für die Authentifizierung verwenden, PyMy SQL [rsa]. Informationen zur Verwendung von Paketen mit kompiliertem Code in einer Lambda-Laufzeit finden Sie unter [Wie füge ich Python-Pakete mit kompilierten Binärdateien zu meinem Bereitstellungspaket hinzu und mache das Paket mit Lambda kompatibel](https://repost.aws/knowledge-center/lambda-python-package-compatible)? *im AWS Knowledge Center.*

### Amazon RDS und Amazon Aurora MySQL: Wechselnde Benutzer
<a name="sar-template-mysql-multiuser"></a>
+ **Name der Vorlage:** SecretsManager RDSMy SQLRotation MultiUser
+ **Drehungsstrategie:** [Rotationsstrategie: wechselnde Benutzer](rotation-strategy.md#rotating-secrets-two-users).
+ **Erwartete `SecretString`-Struktur:** [Amazon RDS- und Aurora-Anmeldeinformationen](reference_secret_json_structure.md#reference_secret_json_structure_rds).
+ **Quellcode: https://github.com/aws-samples/** [aws-secrets-manager-rotation- lambdas/tree/master/SecretsManagerRDSMySQLRotationMultiUser/lambda \$1function.py](https://github.com/aws-samples/aws-secrets-manager-rotation-lambdas/tree/master/SecretsManagerRDSMySQLRotationMultiUser/lambda_function.py)
+ **Abhängigkeit:** PyMy SQL 1.0.2. Wenn Sie das SHA256-Passwort für die Authentifizierung verwenden, PyMy SQL [rsa]. Informationen zur Verwendung von Paketen mit kompiliertem Code in einer Lambda-Laufzeit finden Sie unter [Wie füge ich Python-Pakete mit kompilierten Binärdateien zu meinem Bereitstellungspaket hinzu und mache das Paket mit Lambda kompatibel](https://repost.aws/knowledge-center/lambda-python-package-compatible)? *im AWS Knowledge Center.*

### Amazon RDS Oracle – Einzelbenutzer
<a name="sar-template-oracle-singleuser"></a>
+ **Name der Vorlage:** SecretsManager RDSOracle RotationSingleUser
+ **Drehungsstrategie:** [Rotationsstrategie: Einzelbenutzer](rotation-strategy.md#rotating-secrets-one-user-one-password).
+ **Erwartete `SecretString`-Struktur:** [Amazon RDS- und Aurora-Anmeldeinformationen](reference_secret_json_structure.md#reference_secret_json_structure_rds).
+ **Quellcode: https://github.com/aws-samples/** [aws-secrets-manager-rotation- lambdas/tree/master/SecretsManagerRDSOracleRotationSingleUser/lambda \$1function.py](https://github.com/aws-samples/aws-secrets-manager-rotation-lambdas/tree/master/SecretsManagerRDSOracleRotationSingleUser/lambda_function.py)
+ **Abhängigkeit: python-oracledb** [2.4.1](https://github.com/oracle/python-oracledb)

### Amazon RDS Oracle – wechselnde Benutzer
<a name="sar-template-oracle-multiuser"></a>
+ **Name der Vorlage:** SecretsManager RDSOracle RotationMultiUser
+ **Drehungsstrategie:** [Rotationsstrategie: wechselnde Benutzer](rotation-strategy.md#rotating-secrets-two-users).
+ **Erwartete `SecretString`-Struktur:** [Amazon RDS- und Aurora-Anmeldeinformationen](reference_secret_json_structure.md#reference_secret_json_structure_rds).
+ **Quellcode: https://github.com/aws-samples/** [aws-secrets-manager-rotation- lambdas/tree/master/SecretsManagerRDSOracleRotationMultiUser/lambda \$1function.py](https://github.com/aws-samples/aws-secrets-manager-rotation-lambdas/tree/master/SecretsManagerRDSOracleRotationMultiUser/lambda_function.py)
+ **Abhängigkeit: python-oracledb** [2.4.1](https://github.com/oracle/python-oracledb)

### Amazon RDS und Amazon Aurora PostgreSQL: Einzelbenutzer
<a name="sar-template-postgre-singleuser"></a>
+ **Name der Vorlage:** SecretsManager RDSPostgre SQLRotation SingleUser
+ **Drehungsstrategie:** [Rotationsstrategie: Einzelbenutzer](rotation-strategy.md#rotating-secrets-one-user-one-password).
+ **Erwartete `SecretString`-Struktur:** [Amazon RDS- und Aurora-Anmeldeinformationen](reference_secret_json_structure.md#reference_secret_json_structure_rds).
+ **Quellcode: https://github.com/aws-samples/** [aws-secrets-manager-rotation- lambdas/tree/master/SecretsManagerRDSPostgreSQLRotationSingleUser/lambda \$1function.py](https://github.com/aws-samples/aws-secrets-manager-rotation-lambdas/tree/master/SecretsManagerRDSPostgreSQLRotationSingleUser/lambda_function.py)
+ **Abhängigkeit:** PyGre SQL 5.2.5

### Amazon RDS und Amazon Aurora PostgreSQL: Wechselnde Benutzer
<a name="sar-template-postgre-multiuser"></a>
+ **Name der Vorlage:** SecretsManager RDSPostgre SQLRotation MultiUser
+ **Drehungsstrategie:** [Rotationsstrategie: wechselnde Benutzer](rotation-strategy.md#rotating-secrets-two-users).
+ **Erwartete `SecretString`-Struktur:** [Amazon RDS- und Aurora-Anmeldeinformationen](reference_secret_json_structure.md#reference_secret_json_structure_rds).
+ **Quellcode: https://github.com/aws-samples/** [aws-secrets-manager-rotation- lambdas/tree/master/SecretsManagerRDSPostgreSQLRotationMultiUser/lambda \$1function.py](https://github.com/aws-samples/aws-secrets-manager-rotation-lambdas/tree/master/SecretsManagerRDSPostgreSQLRotationMultiUser/lambda_function.py)
+ **Abhängigkeit:** PyGre SQL 5.2.5

### Amazon RDS Microsoft SQLServer Einzelbenutzer
<a name="sar-template-sqlserver-singleuser"></a>
+ **Name der Vorlage:** SecretsManager RDSSQLServer RotationSingleUser
+ **Drehungsstrategie:** [Rotationsstrategie: Einzelbenutzer](rotation-strategy.md#rotating-secrets-one-user-one-password).
+ **Erwartete `SecretString`-Struktur:** [Amazon RDS- und Aurora-Anmeldeinformationen](reference_secret_json_structure.md#reference_secret_json_structure_rds).
+ **Quellcode: https://github.com/aws-samples/** [aws-secrets-manager-rotation- lambdas/tree/master/SecretsManagerRDSSQLServerRotationSingleUser/lambda \$1function.py](https://github.com/aws-samples/aws-secrets-manager-rotation-lambdas/tree/master/SecretsManagerRDSSQLServerRotationSingleUser/lambda_function.py)
+ **Abhängigkeit: **Pymssql 2.2.2

### Amazon RDS Microsoft: SQLServer Wechselnde Benutzer
<a name="sar-template-sqlserver-multiuser"></a>
+ **Name der Vorlage:** SecretsManager RDSSQLServer RotationMultiUser
+ **Drehungsstrategie:** [Rotationsstrategie: wechselnde Benutzer](rotation-strategy.md#rotating-secrets-two-users).
+ **Erwartete `SecretString`-Struktur:** [Amazon RDS- und Aurora-Anmeldeinformationen](reference_secret_json_structure.md#reference_secret_json_structure_rds).
+ **Quellcode: https://github.com/aws-samples/** [aws-secrets-manager-rotation- lambdas/tree/master/SecretsManagerRDSSQLServerRotationMultiUser/lambda \$1function.py](https://github.com/aws-samples/aws-secrets-manager-rotation-lambdas/tree/master/SecretsManagerRDSSQLServerRotationMultiUser/lambda_function.py)
+ **Abhängigkeit: **Pymssql 2.2.2

## Amazon DocumentDB (mit MongoDB-Kompatibilität)
<a name="NON-RDS_rotation_templates"></a>

### Amazon-DocumentDB-Einzelbenutzer
<a name="sar-template-mongodb-singleuser"></a>
+ **Name der Vorlage:** SecretsManagerMongo DBRotation SingleUser
+ **Drehungsstrategie:** [Rotationsstrategie: Einzelbenutzer](rotation-strategy.md#rotating-secrets-one-user-one-password).
+ **Erwartete `SecretString`-Struktur:** [Amazon DocumentDB DocumentDB-Anmeldeinformationen](reference_secret_json_structure.md#reference_secret_json_structure_docdb).
+ **Quellcode: https://github.com/aws-samples/** [aws-secrets-manager-rotation- lambdas/tree/master/SecretsManagerMongoDBRotationSingleUser/lambda \$1function.py](https://github.com/aws-samples/aws-secrets-manager-rotation-lambdas/tree/master/SecretsManagerMongoDBRotationSingleUser/lambda_function.py)
+ **Abhängigkeit:** PyMongo 4.2.0

### Amazon DocumentDB – wechselnde Benutzer
<a name="sar-template-mongodb-multiuser"></a>
+ **Name der Vorlage:** SecretsManagerMongo DBRotation MultiUser
+ **Drehungsstrategie:** [Rotationsstrategie: wechselnde Benutzer](rotation-strategy.md#rotating-secrets-two-users).
+ **Erwartete `SecretString`-Struktur:** [Amazon DocumentDB DocumentDB-Anmeldeinformationen](reference_secret_json_structure.md#reference_secret_json_structure_docdb).
+ **Quellcode: https://github.com/aws-samples/** [aws-secrets-manager-rotation- lambdas/tree/master/SecretsManagerMongoDBRotationMultiUser/lambda \$1function.py](https://github.com/aws-samples/aws-secrets-manager-rotation-lambdas/tree/master/SecretsManagerMongoDBRotationMultiUser/lambda_function.py)
+ **Abhängigkeit:** PyMongo 4.2.0

## Amazon Redshift
<a name="template-redshift"></a>

### Amazon Redshift – Einzelbenutzer
<a name="sar-template-redshift-singleuser"></a>
+ **Name der Vorlage:** SecretsManagerRedshiftRotationSingleUser
+ **Drehungsstrategie:** [Rotationsstrategie: Einzelbenutzer](rotation-strategy.md#rotating-secrets-one-user-one-password).
+ **Erwartete `SecretString`-Struktur:** [Amazon Redshift Redshift-Anmeldeinformationen](reference_secret_json_structure.md#reference_secret_json_structure_RS).
+ **Quellcode: https://github.com/aws-samples/** [aws-secrets-manager-rotation- lambdas/tree/master/SecretsManagerRedshiftRotationSingleUser/lambda \$1function.py](https://github.com/aws-samples/aws-secrets-manager-rotation-lambdas/tree/master/SecretsManagerRedshiftRotationSingleUser/lambda_function.py)
+ **Abhängigkeit:** PyGre SQL 5.2.5

### Amazon Redshift – wechselnde Benutzer
<a name="sar-template-redshift-multiuser"></a>
+ **Name der Vorlage:** SecretsManagerRedshiftRotationMultiUser
+ **Drehungsstrategie:** [Rotationsstrategie: wechselnde Benutzer](rotation-strategy.md#rotating-secrets-two-users).
+ **Erwartete `SecretString`-Struktur:** [Amazon Redshift Redshift-Anmeldeinformationen](reference_secret_json_structure.md#reference_secret_json_structure_RS).
+ **Quellcode: https://github.com/aws-samples/** [aws-secrets-manager-rotation- lambdas/tree/master/SecretsManagerRedshiftRotationMultiUser/lambda \$1function.py](https://github.com/aws-samples/aws-secrets-manager-rotation-lambdas/tree/master/SecretsManagerRedshiftRotationMultiUser/lambda_function.py)
+ **Abhängigkeit:** PyGre SQL 5.2.5

## Amazon Timestream für InfluxDB
<a name="template-TimeStream"></a>

Informationen zur Verwendung dieser Vorlagen finden Sie unter [How Amazon Timestream for InfluxDB uses Secrets](https://docs.aws.amazon.com/timestream/latest/developerguide/timestream-for-influx-security-db-secrets.html) im *Amazon Timestream* Developer Guide.

### Amazon Timestream für InfluxDB-Einzelbenutzer
<a name="template-TimeStream-singleuser"></a>
+ Name der **Vorlage**: Influx SecretsManager  DBRotation SingleUser
+ **Erwartete `SecretString`-Struktur:** [Geheime Struktur von Amazon Timestream für InfluxDB](reference_secret_json_structure.md#reference_secret_json_structure_TIME).
+ **Quellcode: https://github.com/aws-samples/** [aws-secrets-manager-rotation- \$1function.py lambdas/tree/master/SecretsManagerInfluxDBRotationSingleUser/lambda](https://github.com/aws-samples/aws-secrets-manager-rotation-lambdas/tree/master/SecretsManagerInfluxDBRotationSingleUser/lambda_function.py)
+ **Abhängigkeit:** InfluxDB 2.0-Python-Client

### Amazon Timestream für InfluxDB mit wechselnden Benutzern
<a name="template-TimeStream-multiuser"></a>
+ **Name der Vorlage:** SecretsManagerInflux DBRotation MultiUser
+ **Erwartete `SecretString`-Struktur:** [Geheime Struktur von Amazon Timestream für InfluxDB](reference_secret_json_structure.md#reference_secret_json_structure_TIME).
+ **Quellcode: https://github.com/aws-samples/** [aws-secrets-manager-rotation- lambdas/tree/master/SecretsManagerInfluxDBRotationMultiUser/lambda \$1function.py](https://github.com/aws-samples/aws-secrets-manager-rotation-lambdas/tree/master/SecretsManagerInfluxDBRotationMultiUser/lambda_function.py)
+ **Abhängigkeit:** InfluxDB 2.0-Python-Client

## Amazon ElastiCache
<a name="template-ELC"></a>

Informationen zur Verwendung dieser Vorlage finden Sie unter [Automatisches Rotieren von Passwörtern für Benutzer](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/User-Secrets-Manager.html) im * ElastiCache Amazon-Benutzerhandbuch*.
+ **Name der Vorlage:** SecretsManagerElasticacheUserRotation
+ **Erwartete `SecretString`-Struktur:** [ElastiCache Amazon-Anmeldeinformationen](reference_secret_json_structure.md#reference_secret_json_structure_ELC).
+ **Quellcode: https://github.com/aws-samples/** [aws-secrets-manager-rotation- lambdas/tree/master/SecretsManagerElasticacheUserRotation/lambda \$1function.py](https://github.com/aws-samples/aws-secrets-manager-rotation-lambdas/tree/master/SecretsManagerElasticacheUserRotation/lambda_function.py)

## Active Directory
<a name="template-AD"></a>

### Active Directory-Anmeldeinformationen
<a name="template-AD-password"></a>
+ **Name der Vorlage:** SecretsManagerActiveDirectoryRotationSingleUser
+ **Erwartete `SecretString`-Struktur:** [Active Directory-Anmeldeinformationen](reference_secret_json_structure.md#reference_secret_json_structure_AD).
+ **Quellcode: https://github.com/aws-samples/** [aws-secrets-manager-rotation- lambdas/tree/master/SecretsManagerActiveDirectoryRotationSingleUser/lambda \$1function.py](https://github.com/aws-samples/aws-secrets-manager-rotation-lambdas/tree/master/SecretsManagerActiveDirectoryRotationSingleUser/lambda_function.py)

### Active Directory-Schlüsseltabelle
<a name="template-AD-keytab"></a>
+ **Name der Vorlage:** SecretsManagerActiveDirectoryAndKeytabRotationSingleUser
+ **Erwartete `SecretString`-Struktur:** [Active Directory-Anmeldeinformationen](reference_secret_json_structure.md#reference_secret_json_structure_AD).
+ **Quellcode: https://github.com/aws-samples/** [aws-secrets-manager-rotation- lambdas/tree/master/SecretsManagerActiveDirectoryAndKeytabRotationSingleUser/lambda \$1function.py](https://github.com/aws-samples/aws-secrets-manager-rotation-lambdas/tree/master/SecretsManagerActiveDirectoryAndKeytabRotationSingleUser/lambda_function.py)
+ **Abhängigkeiten: msktutil**

## Andere Arten von Secrets
<a name="OTHER_rotation_templates"></a>

Secrets Manager stellt diese Vorlage als Ausgangspunkt bereit, um eine Rotationsfunktion für jede Art von Geheimnis zu erstellen.
+ **Name der Vorlage:** SecretsManagerRotationTemplate
+ **Quellcode: https://github.com/aws-samples/** [aws-secrets-manager-rotation- lambdas/tree/master/SecretsManagerRotationTemplate/lambda \$1function.py](https://github.com/aws-samples/aws-secrets-manager-rotation-lambdas/tree/master/SecretsManagerRotationTemplate/lambda_function.py)

# Rollenberechtigungen für die Ausführung der Lambda-Rotationsfunktion für AWS Secrets Manager
<a name="rotating-secrets-required-permissions-function"></a>

Denn wenn Secrets Manager eine Lambda-Funktion verwendet[Rotation durch Lambda-Funktion](rotate-secrets_lambda.md), um ein Geheimnis zu rotieren, nimmt Lambda eine [IAM-Ausführungsrolle](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html) an und stellt diese Anmeldeinformationen für den Lambda-Funktionscode bereit. Anweisungen zum Einrichten der automatischen Rotation finden Sie unter: 
+ [Automatische Rotierung für Datenbank-Secrets (Konsole)](rotate-secrets_turn-on-for-db.md)
+ [Automatische Rotation für Nicht-Datenbankgeheimnisse (Konsole)](rotate-secrets_turn-on-for-other.md)
+ [Automatische Drehung (AWS CLI)](rotate-secrets_turn-on-cli.md)

Die folgenden Beispiele zeigen Inline-Richtlinien für Ausführungsrollen von Lambda-Drehungsfunktionen. Informationen zum Erstellen einer Ausführungsrolle und Anfügen einer Berechtigungsrichtlinie finden Sie unter [AWS Lambda -Ausführungsrolle](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html).

**Topics**
+ [

## Richtlinie für eine Lambda-Drehungsfunktion und Ausführungsrolle
](#rotating-secrets-required-permissions-function-example)
+ [

## Richtlinienanweisung für einen kundenverwalteten Schlüssel
](#rotating-secrets-required-permissions-function-cust-key-example)
+ [

## Richtlinienanweisung für die Strategie für wechselnde Benutzer
](#rotating-secrets-required-permissions-function-alternating-example)

## Richtlinie für eine Lambda-Drehungsfunktion und Ausführungsrolle
<a name="rotating-secrets-required-permissions-function-example"></a>

Die folgende Beispielrichtlinie erlaubt der Drehungsfunktion folgende Tätigkeiten:
+ Führen Sie Secrets Manager Manager-Operationen für aus*SecretARN*.
+ Erstellen eines Passworts.
+ Einrichten der erforderlichen Konfiguration, wenn Ihre Datenbank oder Ihr Service in einer VPC ausgeführt wird. Siehe [Konfigurieren einer Lambda-Funktion für den Zugriff auf Ressourcen in einer VPC](https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html).

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:DescribeSecret",
                "secretsmanager:GetSecretValue",
                "secretsmanager:PutSecretValue",
                "secretsmanager:UpdateSecretVersionStage"
            ],
            "Resource": "arn:aws:secretsmanager:us-east-1:123456789012:secret:secretName-AbCdEf"
    },
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetRandomPassword"
            ],
            "Resource": "*"
        },
        {
            "Action": [
                "ec2:CreateNetworkInterface",
                "ec2:DeleteNetworkInterface",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DetachNetworkInterface"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}
```

------

## Richtlinienanweisung für einen kundenverwalteten Schlüssel
<a name="rotating-secrets-required-permissions-function-cust-key-example"></a>

Wenn das Secret mit einem anderen KMS-Schlüssel als den Von AWS verwalteter Schlüssel `aws/secretsmanager` verschlüsselt wird, müssen Sie der Lambda-Ausführungsrolle die Berechtigung erteilen, den Schlüssel zu verwenden. Sie können den [SecretARN-Verschlüsselungskontext](security-encryption.md#security-encryption-encryption-context) verwenden, um die Verwendung der Entschlüsselungsfunktion einzuschränken, sodass die Rolle der Rotationsfunktion nur Zugriff auf das Secret hat, für dessen Rotation diese verantwortlich ist. Das folgende Beispiel zeigt eine Anweisung, die zur Ausführungsrollenrichtlinie hinzugefügt werden soll, um das Secret mithilfe des KMS-Schlüssels zu entschlüsseln.

```
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:DescribeKey",
                "kms:GenerateDataKey"
            ],
            "Resource": "KMSKeyARN",
            "Condition": {
                "StringEquals": {
                    "kms:EncryptionContext:SecretARN": "SecretARN"
                }
            }
        }
```

Um die Rotationsfunktion für mehrere Secrets zu verwenden, die mit einem vom Kunden verwalteten Schlüssel verschlüsselt sind, fügen Sie eine Anweisung wie im folgenden Beispiel hinzu, damit die Ausführungsrolle das Secret entschlüsseln kann.

```
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:DescribeKey",
                "kms:GenerateDataKey"
            ],
            "Resource": "KMSKeyARN",
            "Condition": {
                "StringEquals": {
                    "kms:EncryptionContext:SecretARN": [
                        "arn1",
                        "arn2"
                    ]
                }
            }
        }
```

## Richtlinienanweisung für die Strategie für wechselnde Benutzer
<a name="rotating-secrets-required-permissions-function-alternating-example"></a>

Weitere Informationen zu *Drehungsstrategie für alternierende Benutzer* finden Sie unter [Strategien zur Rotation von Lambda-Funktionen](rotation-strategy.md).

Wenn Sie bei einem Secret, das Amazon RDS-Anmeldeinformationen enthält, die Strategie für wechselnde Benutzer verwenden und das Superuser-Geheimnis [von Amazon RDS verwaltet](rotate-secrets_managed.md) wird, müssen Sie auch zulassen, dass die Rotationsfunktion APIs auf Amazon RDS schreibgeschützt aufruft, damit sie die Verbindungsinformationen für die Datenbank abrufen kann. Wir empfehlen Ihnen, die AWS verwaltete Richtlinie von [Amazon](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRDSReadOnlyAccess.html) beizufügen RDSReadOnlyAccess.

Die folgende Beispielrichtlinie erlaubt der Funktion folgende Tätigkeiten:
+ Führen Sie Secrets Manager Manager-Operationen für aus*SecretARN*.
+ Abrufen von Anmeldeinformationen im Superuser-Secret. Secrets Manager verwendet die Anmeldeinformationen im Superuser-Secret, um die Anmeldeinformationen im gedrehten Secret zu aktualisieren.
+ Erstellen eines Passworts.
+ Einrichten der erforderlichen Konfiguration, wenn Ihre Datenbank oder Ihr Service in einer VPC ausgeführt wird. Weitere Informationen finden Sie unter [Konfigurieren einer Lambda-Funktion für den Zugriff auf Ressourcen in einer VPC](https://docs.aws.amazon.com/lambda/latest/dg/vpc.html).

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:DescribeSecret",
                "secretsmanager:GetSecretValue",
                "secretsmanager:PutSecretValue",
                "secretsmanager:UpdateSecretVersionStage"
            ],
            "Resource": "arn:aws:secretsmanager:us-east-1:123456789012:secret:secretName-AbCdEf"
    },
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": "arn:aws:secretsmanager:us-east-1:123456789012:secret:secretName-AbCdEf"
    },
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetRandomPassword"
            ],
            "Resource": "*"
        },
        {
            "Action": [
                "ec2:CreateNetworkInterface",
                "ec2:DeleteNetworkInterface",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DetachNetworkInterface"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}
```

------

# Netzwerkzugriff für die AWS Lambda Rotationsfunktion
<a name="rotation-function-network-access"></a>

Denn wenn Secrets Manager eine Lambda-Funktion verwendet[Rotation durch Lambda-Funktion](rotate-secrets_lambda.md), um ein Geheimnis zu rotieren, muss die Lambda-Rotationsfunktion auf das Geheimnis zugreifen können. Wenn Ihr Secret Anmeldeinformationen enthält, muss die Lambda-Funktion auch auf die Quelle dieser Anmeldeinformationen zugreifen können, z. B. auf eine Datenbank oder einen Service.

**Greifen Sie wie folgt auf ein Secret zu:**  
Die Lambda-Drehungsfunktion muss auf einen Secrets-Manager-Endpunkt zugreifen können. Wenn Ihre Lambda-Funktion auf das Internet zugreifen kann, können Sie einen öffentlichen Endpunkt verwenden. Informationen zum Suchen nach einem Endpunkt finden Sie unter [AWS Secrets Manager Endpunkte](asm_access.md#endpoints).  
Wenn Ihre Lambda-Funktion in einer VPC ausgeführt wird, die keinen Internetzugang hat, empfehlen wir Ihnen, private Endpunkte des Secrets-Manager-Services in Ihrer VPC zu konfigurieren. Ihre VPC kann dann Anfragen abfangen, die an den öffentlichen regionalen Endpunkt gerichtet sind und sie an den privaten Endpunkt umleiten. Weitere Informationen finden Sie unter [VPC-Endpunkte (AWS PrivateLink)](vpc-endpoint-overview.md).  
Sie können alternativ Ihre Lambda-Funktion so konfigurieren, dass sie auf den öffentlichen Secrets-Manager-Endpunkt zugreifen kann, indem Sie ein [NAT-Gateway](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) oder ein [Internet-Gateway](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html) zu Ihrer VPC hinzufügen. Auf diese Weise kann Datenverkehr von Ihrer VPC den öffentlichen Endpunkt erreichen. Für Ihre VPC ergibt sich dabei ein Risiko, da es eine IP-Adresse für das Gateway gibt, die aus dem öffentlichen Internet angegriffen werden kann.

**(Optional) Greifen Sie auf die Datenbank oder den Service wie folgt zu:**  
Für Secrets wie API-Schlüssel gibt es keine Quelldatenbank oder -Service, den Sie zusammen mit dem Secret aktualisieren müssen.  
Wenn Ihre Datenbank oder Ihr Service auf einer EC2 Amazon-Instance in einer VPC ausgeführt wird, empfehlen wir Ihnen, Ihre Lambda-Funktion so zu konfigurieren, dass sie in derselben VPC ausgeführt wird. Dann kann die Drehungsfunktion direkt mit Ihrem Service kommunizieren. Weitere Informationen finden Sie unter [Konfigurieren des VPC-Zugriffs](https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html#vpc-configuring).  
Um der Lambda-Funktion den Zugriff auf die Datenbank oder den Service zu ermöglichen, müssen Sie sicherstellen, dass die Sicherheitsgruppen, die an Ihre Lambda-Drehungsfunktion angeschlossen sind, ausgehende Verbindungen zur Datenbank oder zum Service zulassen. Sie müssen darüber hinaus sicherstellen, dass die Sicherheitsgruppen, die an Ihre Datenbank oder Ihren Service angefügt sind, eingehende Verbindungen von der Lambda-Drehungsfunktion zulassen. 

# Fehlerbehebung bei der AWS Secrets Manager Rotation
<a name="troubleshoot_rotation"></a>

Für viele Services verwendet Secrets Manager eine Lambda-Funktion, um Secrets zu rotieren. Weitere Informationen finden Sie unter [Rotation durch Lambda-Funktion](rotate-secrets_lambda.md). Die Lambda-Drehungsfunktion interagiert mit der Datenbank oder dem Service, für den das Secret bestimmt ist, sowie mit dem Secrets Manager. Wenn die Rotation nicht wie erwartet funktioniert, sollten Sie zuerst die CloudWatch Protokolle überprüfen.

**Anmerkung**  
Einige Services können Services für Sie verwalten, einschließlich der Verwaltung der automatischen Rotation. Weitere Informationen finden Sie unter [Verwaltete Rotation von AWS Secrets Manager Geheimnissen](rotate-secrets_managed.md).

**Topics**
+ [

## Wie behebt man geheime Rotationsfehler in AWS Lambda Funktionen
](#troubleshooting-secret-rotation-failures)
+ [

## Keine Aktivität nach „Anmeldeinformationen in Umgebungsvariablen gefunden“
](#troubleshoot_rotation_timing-out)
+ [

## Keine Aktivität nach „createSecret“
](#troubleshoot_rotation_createSecret)
+ [

## Fehler: „Zugriff auf KMS ist nicht zulässig“
](#troubleshoot_rotation_kms-key)
+ [

## Fehler: „Key is missing from secret JSON“ (Schlüssel fehlt in Secret-JSON)
](#tshoot-lambda-mismatched-secretvalue)
+ [

## Fehler: „setSecret: Unable to log into database“ (setSecret: Anmeldung in Datenbank nicht möglich)
](#troubleshoot_rotation_setSecret)
+ [

## Fehler: „Modul ‚lambda\$1function‘ konnte nicht importiert werden“
](#tshoot-python-version)
+ [

## Eine bestehende Rotationsfunktion von Python 3.7 auf 3.9 aktualisieren
](#troubleshoot_rotation_python39)
+ [

## Aktualisieren Sie eine bestehende Rotationsfunktion von Python 3.9 auf 3.10
](#troubleshoot_rotation_python_310)
+ [

## AWS Lambda geheime Rotation mit fehlgeschlagen `PutSecretValue`
](#troubleshoot_rotation_putsecretvalue)
+ [

## Fehler: „Fehler bei der Ausführung von Lambda *<arn>* während des *<a rotation>* Schritts“
](#concurrency-related-failures)

## Wie behebt man geheime Rotationsfehler in AWS Lambda Funktionen
<a name="troubleshooting-secret-rotation-failures"></a>

Wenn bei Ihren Lambda-Funktionen geheime Rotationsfehler auftreten, gehen Sie wie folgt vor, um das Problem zu beheben und zu lösen.

### Mögliche Ursachen
<a name="possible-causes"></a>
+ Unzureichende gleichzeitige Ausführungen für die Lambda-Funktion
+ Rennbedingungen aufgrund mehrerer API-Aufrufe während der Rotation
+ Falsche Lambda-Funktionslogik
+ Netzwerkprobleme zwischen der Lambda-Funktion und der Datenbank

### Allgemeine Schritte zur Fehlerbehebung
<a name="general-troubleshooting-steps"></a>

1.  CloudWatch Logs analysieren:
   + Suchen Sie in den Lambda-Funktionsprotokollen nach bestimmten Fehlermeldungen oder unerwartetem Verhalten
   + Stellen Sie sicher, dass alle Rotationsschritte (**CreateSecret****SetSecret**,**TestSecret**,,**FinishSecret**) versucht wurden

1. API-Aufrufe während der Rotation überprüfen:
   + Vermeiden Sie mutierende API-Aufrufe des Secrets während der Lambda-Rotation
   + Stellen Sie sicher, dass zwischen beiden Aufrufen keine Wettlaufbedingungen bestehen **RotateSecret** **PutSecretValue**

1. Überprüfen Sie die Lambda-Funktionslogik:
   + Vergewissern Sie sich, dass Sie den neuesten AWS Beispielcode für die geheime Rotation verwenden
   + Wenn Sie benutzerdefinierten Code verwenden, überprüfen Sie ihn auf die korrekte Handhabung aller Rotationsschritte

1. Überprüfen Sie die Netzwerkkonfiguration:
   + Überprüfen Sie, ob Sicherheitsgruppenregeln der Lambda-Funktion den Zugriff auf die Datenbank ermöglichen
   + Stellen Sie den richtigen VPC-Endpunkt- oder öffentlichen Endpunktzugriff für Secrets Manager sicher

1. Testen Sie geheime Versionen:
   + Stellen Sie sicher, dass die AWSCURRENT Version des Secrets den Datenbankzugriff ermöglicht
   + Prüfen Sie, AWSPREVIOUS ob AWSPENDING unsere Versionen gültig sind

1. Ausstehende Rotationen löschen:
   + Wenn die Rotation immer wieder fehlschlägt, löschen Sie das AWSPENDING Staging-Label und versuchen Sie es erneut

1. Überprüfen Sie die Lambda-Parallelitätseinstellungen:
   + Stellen Sie sicher, dass die Parallelitätseinstellungen für Ihren Workload geeignet sind
   + Wenn Sie Probleme mit der Parallelität vermuten, finden Sie weitere Informationen im Abschnitt „Behebung von Rotationsfehlern im Zusammenhang mit der Parallelität“

## Keine Aktivität nach „Anmeldeinformationen in Umgebungsvariablen gefunden“
<a name="troubleshoot_rotation_timing-out"></a>

Wenn nach „Anmeldeinformationen in Umgebungsvariablen gefunden“ keine Aktivität vorhanden ist und die Aufgabendauer lang ist, z. B. das standardmäßige Lambda-Timeout von 30 000 ms, kann es bei der Lambda-Funktion zu einem Timeout kommen, während versucht wird, den Secrets-Manager-Endpunkt zu erreichen.

Die Lambda-Drehungsfunktion muss auf einen Secrets-Manager-Endpunkt zugreifen können. Wenn Ihre Lambda-Funktion auf das Internet zugreifen kann, können Sie einen öffentlichen Endpunkt verwenden. Informationen zum Suchen nach einem Endpunkt finden Sie unter [AWS Secrets Manager Endpunkte](asm_access.md#endpoints).

Wenn Ihre Lambda-Funktion in einer VPC ausgeführt wird, die keinen Internetzugang hat, empfehlen wir Ihnen, private Endpunkte des Secrets-Manager-Services in Ihrer VPC zu konfigurieren. Ihre VPC kann dann Anfragen abfangen, die an den öffentlichen regionalen Endpunkt gerichtet sind und sie an den privaten Endpunkt umleiten. Weitere Informationen finden Sie unter [VPC-Endpunkte (AWS PrivateLink)](vpc-endpoint-overview.md).

Sie können alternativ Ihre Lambda-Funktion so konfigurieren, dass sie auf den öffentlichen Secrets-Manager-Endpunkt zugreifen kann, indem Sie ein [NAT-Gateway](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) oder ein [Internet-Gateway](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html) zu Ihrer VPC hinzufügen. Auf diese Weise kann Datenverkehr von Ihrer VPC den öffentlichen Endpunkt erreichen. Für Ihre VPC ergibt sich dabei ein Risiko, da es eine IP-Adresse für das Gateway gibt, die aus dem öffentlichen Internet angegriffen werden kann.

## Keine Aktivität nach „createSecret“
<a name="troubleshoot_rotation_createSecret"></a>

Die folgenden Probleme können dazu führen, dass die Rotation nach createSecret gestoppt wird:

**Das VPC-Netzwerk lässt ACLs keinen eingehenden und ausgehenden HTTPS-Verkehr zu.**  
Weitere Informationen finden Sie unter [Steuern des Datenverkehrs zu Subnetzen mithilfe des Netzwerks ACLs](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html) im *Amazon VPC-Benutzerhandbuch*.

**Die Timeout-Konfiguration der Lambda-Funktion ist zu kurz, um die Aufgabe auszuführen. **  
Weitere Informationen finden Sie unter [Konfigurieren von Lambda-Funktionsoptionen](https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html) im *AWS Lambda -Entwicklerhandbuch*.

**Der Secrets Manager VPC-Endpunkt lässt die CIDRs VPC beim Eindringen in die zugewiesenen Sicherheitsgruppen nicht zu. **  
Weitere Informationen finden Sie unter [Control traffic to resources using security groups](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html) (Kontrollieren des Datenverkehrs zu Ressourcen mithilfe von Sicherheitsgruppen) im *Benutzerhandbuch von Amazon VPC*.

**Der VPC-Endpunkt des Secrets Managers erlaubt Lambda nicht, den VPC-Endpunkt zu verwenden. **  
Weitere Informationen finden Sie unter [Verwenden eines AWS Secrets Manager VPC-Endpunkts](vpc-endpoint-overview.md).

**Das Secret verwendet die Rotation alternierender Benutzer, das Superuser-Secret wird von Amazon RDS verwaltet und die Lambda-Funktion kann nicht auf die RDS-API zugreifen.**  
Für die [Rotation wechselnder Benutzer](rotation-strategy.md#rotating-secrets-two-users), bei der das Superuser-Secret [von einem anderen AWS -Service](service-linked-secrets.md) verwaltet wird, muss die Lambda-Rotationsfunktion in der Lage sein, den Serviceendpunkt aufzurufen, um die Datenbankverbindungsinformationen abzurufen. Wir empfehlen die Konfiguration eines VPC-Endpunkts für den Datenbankservice. Weitere Informationen finden Sie unter:  
+  [Amazon RDS API und Schnittstellen-VPC-Endpunkte](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/vpc-interface-endpoints.html) im *Amazon-RDS-Benutzerhandbuch*.
+ [Arbeiten mit VPC-Endpunkten](https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-working-with-endpoints.html) im *Amazon-Redshift-Verwaltungshandbuch*.

## Fehler: „Zugriff auf KMS ist nicht zulässig“
<a name="troubleshoot_rotation_kms-key"></a>

Wenn Ihnen `ClientError: An error occurred (AccessDeniedException) when calling the GetSecretValue operation: Access to KMS is not allowed` angezeigt wird, ist die Rotationsfunktion nicht berechtigt, das Secret mit dem KMS-Schlüssel, der zur Verschlüsselung des Secrets verwendet wurde, zu entschlüsseln. Möglicherweise enthält die Berechtigungsrichtlinie eine Bedingung, die den Verschlüsselungskontext auf ein bestimmtes Secret beschränkt. Informationen zu den erforderlichen Berechtigungen finden Sie unter [Richtlinienanweisung für einen kundenverwalteten Schlüssel](rotating-secrets-required-permissions-function.md#rotating-secrets-required-permissions-function-cust-key-example).

## Fehler: „Key is missing from secret JSON“ (Schlüssel fehlt in Secret-JSON)
<a name="tshoot-lambda-mismatched-secretvalue"></a>

Für eine Lambda-Rotationsfunktion muss sich der Secret-Wert in einer bestimmten JSON-Struktur befinden. Wenn Sie diesen Fehler sehen, fehlt dem JSON möglicherweise ein Schlüssel, auf den die Rotationsfunktion zugreifen wollte. Hinweise zur JSON-Struktur für die einzelnen Arten von Secrets finden Sie unter [JSON-Struktur von AWS Secrets Manager Geheimnissen](reference_secret_json_structure.md).

## Fehler: „setSecret: Unable to log into database“ (setSecret: Anmeldung in Datenbank nicht möglich)
<a name="troubleshoot_rotation_setSecret"></a>

Die folgenden Probleme können diesen Fehler verursachen:

**Die Rotationsfunktion kann nicht auf die Datenbank zugreifen.**  
Wenn die Aufgabendauer lang ist, z. B. über 5 000 ms, kann die Lambda-Rotationsfunktion möglicherweise nicht über das Netzwerk auf die Datenbank zugreifen.   
Wenn Ihre Datenbank oder Ihr Service auf einer Amazon-EC2-Instance in einer VPC ausgeführt wird, empfehlen wir, dass Sie die Ausführung Ihrer Lambda-Funktion für dieselbe VPC konfigurieren. Dann kann die Drehungsfunktion direkt mit Ihrem Service kommunizieren. Weitere Informationen finden Sie unter [Konfigurieren des VPC-Zugriffs](https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html#vpc-configuring).  
Um der Lambda-Funktion den Zugriff auf die Datenbank oder den Service zu ermöglichen, müssen Sie sicherstellen, dass die Sicherheitsgruppen, die an Ihre Lambda-Drehungsfunktion angeschlossen sind, ausgehende Verbindungen zur Datenbank oder zum Service zulassen. Sie müssen darüber hinaus sicherstellen, dass die Sicherheitsgruppen, die an Ihre Datenbank oder Ihren Service angefügt sind, eingehende Verbindungen von der Lambda-Drehungsfunktion zulassen. 

**Die Anmeldeinformationen im Secret sind falsch.**  
Wenn die Aufgabendauer kurz ist, kann sich die Lambda-Drehungsfunktion möglicherweise nicht mit den Anmeldeinformationen im Secret authentifizieren. Überprüfen Sie die Anmeldeinformationen, indem Sie sich mithilfe des Befehls manuell mit den Informationen in den `AWSPREVIOUS` Versionen `AWSCURRENT` und Versionen des Secrets anmelden. AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/get-secret-value.html](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/get-secret-value.html)

**Die Datenbank verwendet `scram-sha-256` zum Verschlüsseln der Passwörter.**  
Wenn Ihre Datenbank Aurora PostgreSQL Version 13 oder höher ist und `scram-sha-256` zur Verschlüsselung verwendet, die Rotationsfunktion jedoch `libpq` Version 9 oder eine ältere Version verwendet, die `scram-sha-256` nicht unterstützt, kann die Rotationsfunktion keine Verbindung zur Datenbank herstellen.   

**Um festzustellen, welche Datenbankbenutzer `scram-sha-256`-Verschlüsselung verwenden**
+ Weitere Informationen finden Sie unter *Auf Benutzer prüfen, deren Passwörter nicht im SCRAM-Format sind* im Blog [SCRAM-Authentifizierungin RDS für PostgreSQL 13](https://aws.amazon.com/blogs/database/scram-authentication-in-rds-for-postgresql-13/).

**Um festzustellen, welche Version von `libpq` Ihre Rotationsfunktion verwendet**

1. Navigieren Sie auf einem Linux-Computer in der Lambda-Konsole zu Ihrer Rotationsfunktion und laden Sie das Bereitstellungspaket herunter. Entpacken Sie die Zip-Datei in ein Arbeitsverzeichnis.

1. Führen Sie in einer Befehlszeile im Arbeitsverzeichnis Folgendes aus:

   `readelf -a libpq.so.5 | grep RUNPATH`

1. Wenn Sie die Zeichenfolge *`PostgreSQL-9.4.x`* oder eine Hauptversion unter 10 sehen, unterstützt die Rotationsfunktion `scram-sha-256` nicht.
   + Ausgabe für eine Rotationsfunktion, die `scram-sha-256` nicht unterstützt:

     `0x000000000000001d (RUNPATH) Library runpath: [/local/p4clients/pkgbuild-a1b2c/workspace/build/PostgreSQL/PostgreSQL-9.4.x_client_only.123456.0/AL2_x86_64/DEV.STD.PTHREAD/build/private/tmp/brazil-path/build.libfarm/lib:/local/p4clients/pkgbuild-a1b2c/workspace/src/PostgreSQL/build/private/install/lib]`
   + Ausgabe für eine Rotationsfunktion, die `scram-sha-256` unterstützt:

     `0x000000000000001d (RUNPATH) Library runpath: [/local/p4clients/pkgbuild-a1b2c/workspace/build/PostgreSQL/PostgreSQL-10.x_client_only.123456.0/AL2_x86_64/DEV.STD.PTHREAD/build/private/tmp/brazil-path/build.libfarm/lib:/local/p4clients/pkgbuild-a1b2c/workspace/src/PostgreSQL/build/private/install/lib]`
   + Ausgabe für eine Rotationsfunktion, die `scram-sha-256` unterstützt:

     `0x000000000000001d (RUNPATH) Library runpath: [/local/p4clients/pkgbuild- a1b2c /workspace/build/PostgreSQL/PostgreSQL-14.x_client_only. 123456 .0/AL2_x86_64/DEV.STD.PTHREAD/build/private/tmp/brazil-path/build.libfarm/lib:/local/p4clients/pkgbuild- a1b2c /workspace/src/PostgreSQL/build/private/install/lib]`
   + Ausgabe für eine Rotationsfunktion, die `scram-sha-256` unterstützt:

     `0x000000000000001d (RUNPATH) Library runpath: [/local/p4clients/pkgbuild- a1b2c/workspace/build/PostgreSQL/PostgreSQL- 14.x_client_only.123456.0/AL2_x86_64/DEV.STD.PTHREAD/build/private/tmp/brazil- path/build.libfarm/lib:/local/p4clients/pkgbuild- a1b2c/workspace/src/PostgreSQL/build/private/install/lib]`
Wenn Sie vor dem 30. Dezember 2021 die automatische Rotation von Geheimnissen eingerichtet haben, unterstützt `scram-sha-256` Ihre Rotationsfunktion in einer früheren Version `libpq` diese Funktion nicht. Um `scram-sha-256` zu unterstützen, müssen Sie [Ihre Rotationsfunktion neuerstellen](rotate-secrets_turn-on-for-db.md). 

**Die Datenbank benötigt SSL/TLS Zugriff.**  
Wenn Ihre Datenbank eine SSL/TLS Verbindung benötigt, die Rotationsfunktion jedoch eine unverschlüsselte Verbindung verwendet, kann die Rotationsfunktion keine Verbindung mit der Datenbank herstellen. Rotationsfunktionen für Amazon RDS (außer Oracle und Db2) und Amazon DocumentDB verwenden automatisch Secure Socket Layer (SSL) oder Transport Layer Security (TLS), um eine Verbindung zu Ihrer Datenbank herzustellen, wenn sie verfügbar ist. Andernfalls verwenden sie eine unverschlüsselte Verbindung.  
Wenn Sie die automatische geheime Rotation vor dem 20. Dezember 2021 eingerichtet haben, basiert Ihre Rotationsfunktion möglicherweise auf einer früheren VorlageSSL/TLS. To support connections that use SSL/TLS, die nicht unterstützt wurde. Sie müssen [Ihre Rotationsfunktion neu erstellen](rotate-secrets_turn-on-for-db.md). 

**So bestimmen Sie, wann Ihre Rotationsfunktion erstellt wurde**

1. Öffnen Sie in der Secrets Manager Manager-Konsole [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/)Ihr Geheimnis. Im Abschnitt **Rotationskonfiguration** sehen Sie unter **Lambda-Rotationsfunktion** den **ARN der Lambda-Funktion**, zum Beispiel `arn:aws:lambda:aws-region:123456789012:function:SecretsManagerMyRotationFunction `. Kopieren Sie in diesem Beispiel den Funktionsnamen vom Ende des ARN, z. B. ` SecretsManagerMyRotationFunction `. 

1. Fügen Sie in der AWS Lambda Konsole [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/)unter **Funktionen** Ihren Lambda-Funktionsnamen in das Suchfeld ein, klicken Sie auf Enter und wählen Sie dann die Lambda-Funktion aus. 

1. Kopieren Sie auf der Funktionsdetailseite auf der Registerkarte **Konfiguration** unter **Tags**, den Wert neben den Schlüssel **aws:cloudformation:stack-name**. 

1. Fügen Sie in der AWS CloudFormation Konsole [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/) unter **Stacks** den Schlüsselwert in das Suchfeld ein und wählen Sie dann Enter.

1. Die Liste der Stacks wird so gefiltert, dass nur der Stack angezeigt wird, der die Lambda-Rotationsfunktion erstellt hat. In der Spalte **Erstellungsdatum** sehen Sie das Datum, an dem der Stack erstellt wurde. Dies ist das Datum, an dem die Lambda-Rotationsfunktion erstellt wurde.

## Fehler: „Modul ‚lambda\$1function‘ konnte nicht importiert werden“
<a name="tshoot-python-version"></a>

Dieser Fehler kann auftreten, wenn Sie eine frühere Lambda-Funktion ausführen, die automatisch von Python 3.7 auf eine neuere Version von Python aktualisiert wurde. Um den Fehler zu beheben, können Sie die Version der Lambda-Funktion wieder auf Python 3.7 und dann auf [Eine bestehende Rotationsfunktion von Python 3.7 auf 3.9 aktualisieren](#troubleshoot_rotation_python39) ändern. Weitere Informationen finden Sie unter [Warum ist die Rotation meiner Secrets-Manager-Lambda-Funktion mit der Fehlermeldung „PG-Modul nicht gefunden“ fehlgeschlagen?](https://repost.aws/knowledge-center/secrets-manager-lambda-rotation) in *AWS -re:Post*.

## Eine bestehende Rotationsfunktion von Python 3.7 auf 3.9 aktualisieren
<a name="troubleshoot_rotation_python39"></a>

Einige Rotationsfunktionen, die vor November 2022 erstellt wurden, verwendeten Python 3.7. Das AWS SDK für Python hat die Unterstützung von Python 3.7 im Dezember 2023 eingestellt. Weitere Informationen finden Sie unter [Updates der Python-Supportrichtlinie für AWS SDKs und Tools](https://aws.amazon.com/blogs/developer/python-support-policy-updates-for-aws-sdks-and-tools/). Um zu einer neuen Rotationsfunktion zu wechseln, die Python 3.9 verwendet, können Sie einer vorhandenen Rotationsfunktion eine Laufzeiteigenschaft hinzufügen oder die Rotationsfunktion neu erstellen.

**So finden Sie heraus, welche Lambda-Rotationsfunktionen Python 3.7 verwenden**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die AWS Lambda Konsole unter [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Filtern Sie in der Liste der **Funktionen** nach **SecretsManager**.

1. Suchen Sie in der gefilterten Liste der Funktionen unter **Laufzeit** nach Python 3.7.

**Topics**
+ [

### Option 1: Erstellen Sie die Rotationsfunktion neu mit CloudFormation
](#update-python-opt-1)
+ [

### Option 2: Aktualisieren Sie die Laufzeit für die bestehende Rotationsfunktion mit CloudFormation
](#update-python-opt-2)
+ [

### Option 3: AWS CDK Benutzer müssen die CDK-Bibliothek aktualisieren
](#update-python-opt-3)

### Option 1: Erstellen Sie die Rotationsfunktion neu mit CloudFormation
<a name="update-python-opt-1"></a>

Wenn Sie die Secrets Manager-Konsole verwenden, um die Rotation zu aktivieren, erstellt Secrets Manager die erforderlichen Ressourcen, einschließlich der Lambda-Rotationsfunktion. CloudFormation Wenn Sie die Konsole verwendet haben, um die Rotation zu aktivieren, oder wenn Sie die Rotationsfunktion mithilfe eines CloudFormation Stacks erstellt haben, können Sie denselben CloudFormation Stack verwenden, um die Rotationsfunktion mit einem neuen Namen neu zu erstellen. Die neue Funktion verwendet die neuere Version von Python.

**Um den CloudFormation Stapel zu finden, der die Rotationsfunktion erstellt hat**
+ Wählen Sie auf der Detailseite zur Lambda-Funktion auf der Registerkarte **Konfiguration** **Tags** aus. Zeigen Sie den ARN neben **aws:cloudformation:stack-id** an.

  Der Stack-Name ist in den ARN eingebettet, wie im folgenden Beispiel gezeigt.
  + ARN: `arn:aws:cloudformation:us-west-2:408736277230:stack/SecretsManagerRDSMySQLRotationSingleUser5c2-SecretRotationScheduleHostedRotationLambda-3CUDHZMDMBO8/79fc9050-2eef-11ed-80f0-021fb13c0537`
  + Stackname: **SecretsManagerRDSMySQLRotationSingleUser5c2-SecretRotationScheduleHostedRotationLambda**

**So erstellen Sie eine Rotationsfunktion neu (CloudFormation)**

1. Suchen Sie in CloudFormation anhand des Namens nach dem Stapel und wählen Sie dann **Aktualisieren** aus. 

   Wenn ein Dialogfeld angezeigt wird, in dem empfohlen wird, den Root-Stack zu aktualisieren, wählen Sie **Zum Root-Stack gehen** und dann **Aktualisieren** aus.

1. Wählen Sie auf der Seite **Stack aktualisieren** unter **Vorlage vorbereiten** die Option **In Application Composer bearbeiten** und wählen Sie dann unter **Vorlage bearbeiten in Application Composer** die Schaltfläche **In Application Composer bearbeiten** aus.

1. Gehen Sie in Application Composer wie folgt vor:

   1. Ersetzen Sie im Vorlagencode in `SecretRotationScheduleHostedRotationLambda` den Wert für `"functionName": "SecretsManagerTestRotationRDS"` durch einen neuen Funktionsnamen, z. B. in JSON, `"functionName": "SecretsManagerTestRotationRDSupdated"` 

   1. Wählen Sie **Vorlage aktualisieren**.

   1. Wählen Sie im CloudFormation Dialogfeld **Weiter zu** die Option **Bestätigen und fortfahren mit CloudFormation**.

1. Fahren Sie mit dem CloudFormation Stack-Workflow fort und wählen Sie dann **Submit** aus.

### Option 2: Aktualisieren Sie die Laufzeit für die bestehende Rotationsfunktion mit CloudFormation
<a name="update-python-opt-2"></a>

Wenn Sie die Secrets Manager-Konsole verwenden, um die Rotation zu aktivieren, erstellt Secrets Manager die erforderlichen Ressourcen, einschließlich der Lambda-Rotationsfunktion. CloudFormation Wenn Sie die Konsole zum Aktivieren der Rotation verwendet haben oder die Rotationsfunktion mithilfe eines CloudFormation Stacks erstellt haben, können Sie denselben CloudFormation Stack verwenden, um die Laufzeit für die Rotationsfunktion zu aktualisieren.

**Um den CloudFormation Stapel zu finden, der die Rotationsfunktion erstellt hat**
+ Wählen Sie auf der Detailseite zur Lambda-Funktion auf der Registerkarte **Konfiguration** **Tags** aus. Zeigen Sie den ARN neben **aws:cloudformation:stack-id** an.

  Der Stack-Name ist in den ARN eingebettet, wie im folgenden Beispiel gezeigt.
  + ARN: `arn:aws:cloudformation:us-west-2:408736277230:stack/SecretsManagerRDSMySQLRotationSingleUser5c2-SecretRotationScheduleHostedRotationLambda-3CUDHZMDMBO8/79fc9050-2eef-11ed-80f0-021fb13c0537`
  + Stackname: **SecretsManagerRDSMySQLRotationSingleUser5c2-SecretRotationScheduleHostedRotationLambda**

**So aktualisiereen Sie die Laufzeit für eine Rotationsfunktion (CloudFormation)**

1. Suchen Sie in CloudFormation anhand des Namens nach dem Stapel und wählen Sie dann **Aktualisieren** aus. 

   Wenn ein Dialogfeld angezeigt wird, in dem empfohlen wird, den Root-Stack zu aktualisieren, wählen Sie **Zum Root-Stack gehen** und dann **Aktualisieren** aus.

1. Wählen Sie auf der Seite **Stack aktualisieren** unter **Vorlage vorbereiten** die Option **In Application Composer bearbeiten** und wählen Sie dann unter **Vorlage bearbeiten in Application Composer** die Schaltfläche **In Application Composer bearbeiten** aus.

1. Gehen Sie in Application Composer wie folgt vor:

   1. Fügen Sie in der JSON-Vorlage für `SecretRotationScheduleHostedRotationLambda``Properties`, unter`Parameters`, hinzu**"runtime": "python3.9"**.

   1. Wählen Sie **Vorlage aktualisieren**.

   1. Wählen Sie im CloudFormation Dialogfeld **Weiter zu** die Option **Bestätigen und fortfahren mit CloudFormation**.

1. Fahren Sie mit dem CloudFormation Stack-Workflow fort und wählen Sie dann **Submit** aus.

### Option 3: AWS CDK Benutzer müssen die CDK-Bibliothek aktualisieren
<a name="update-python-opt-3"></a>

Wenn Sie die AWS CDK frühere Version v2.94.0 verwendet haben, um die Rotation für Ihr Geheimnis einzurichten, können Sie die Lambda-Funktion aktualisieren, indem Sie ein Upgrade auf Version 2.94.0 oder höher durchführen. Weitere Informationen finden Sie im [AWS Cloud Development Kit (AWS CDK) -v2-Entwicklerhandbuch](https://docs.aws.amazon.com/cdk/v2/guide/home.html).

## Aktualisieren Sie eine bestehende Rotationsfunktion von Python 3.9 auf 3.10
<a name="troubleshoot_rotation_python_310"></a>

Secrets Manager stellt für Lambda-Rotationsfunktionen von Python 3.9 auf 3.10 um. Um zu einer neuen Rotationsfunktion zu wechseln, die Python 3.10 verwendet, müssen Sie dem Upgrade-Pfad folgen, der auf Ihrer Bereitstellungsmethode basiert. Verwenden Sie die folgenden Verfahren, um sowohl die Python-Version als auch die zugrunde liegenden Abhängigkeiten zu aktualisieren.

**Um herauszufinden, welche Lambda-Rotationsfunktionen Python 3.9 verwenden**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die AWS Lambda Konsole unter [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Filtern Sie in der Liste der **Funktionen** nach **SecretsManager**.

1. Suchen Sie in der gefilterten Funktionsliste unter **Runtime** nach**Python 3.9**.

### Aktualisieren Sie die Pfade nach der Bereitstellungsmethode
<a name="update-python-3.9-paths"></a>

Die in dieser Liste aufgeführten Lambda-Rotationsfunktionen können über die Secrets Manager Manager-Konsole, AWS Serverless Application Repository Apps oder CloudFormation Transformationen bereitgestellt werden. Jede dieser Bereitstellungsstrategien hat einen eigenen Aktualisierungspfad. 

Verwenden Sie eines der folgenden Verfahren, um Ihre Lambda-Rotationsfunktionen zu aktualisieren, je nachdem, wie Ihre Funktion bereitgestellt wurde.

------
#### [ AWS Secrets Manager console-deployed functions ]

Eine neue Lambda-Funktion muss über die AWS Secrets Manager Konsole bereitgestellt werden, da Sie Abhängigkeiten für bestehende Lambda-Funktionen nicht manuell aktualisieren können.

Gehen Sie wie folgt vor, um auf der AWS Secrets Manager Konsole bereitgestellte Funktionen zu aktualisieren.

1. Öffnen Sie die Secrets Manager Manager-Konsole unter [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Wählen Sie **AWS Secrets Manager**unter **Secrets** aus. Wählen Sie das Geheimnis aus, das die Lambda-Funktion verwendet, die Sie aktualisieren möchten.

1. Navigieren Sie zur Registerkarte **Rotationen** und wählen Sie die Option **Rotationskonfigurationen aktualisieren** aus.

1. Wählen Sie unter **Rotationsfunktionen** die Option **Neue Funktion erstellen** aus, und geben Sie einen neuen Namen für die Lambda-Rotationsfunktion ein.

   1. (Optional) Sobald das Update abgeschlossen ist, können Sie die aktualisierte Lambda-Funktion testen, um sicherzustellen, dass sie erwartungsgemäß funktioniert. Wählen Sie auf der Registerkarte **Rotation** die Option **Geheim sofort drehen** aus, um eine sofortige Rotation einzuleiten.

   1. (Optional) Sie können Ihre Funktionsprotokolle und die zur Laufzeit verwendete Python-Version in Amazon einsehen CloudWatch. Weitere Informationen finden Sie im *AWS Lambda Entwicklerhandbuch* unter [ CloudWatch Logs für Lambda-Funktionen anzeigen](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-cloudwatchlogs-view.html#monitoring-cloudwatchlogs-console).

1. Sobald die neue Rotationsfunktion eingerichtet ist, können Sie die alte Rotationsfunktion löschen.

------
#### [ AWS Serverless Application Repository deployments ]

Das folgende Verfahren zeigt, wie AWS Serverless Application Repository Bereitstellungen aktualisiert werden. Die über bereitgestellten Lambda-Funktionen AWS Serverless Application Repository sind mit einem Banner versehen, `This function belongs to an application. Click here to manage it.` das einen Link zu der Lambda-Anwendung enthält, zu der die Funktion gehört.

**Wichtig**  
AWS Serverless Application Repository Die Verfügbarkeit ist abhängig AWS-Region .

Gehen Sie wie folgt vor, um AWS Serverless Application Repository bereitgestellte Funktionen zu aktualisieren.

1. Öffnen Sie die AWS Lambda Konsole unter [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Navigieren Sie zur Registerkarte **Konfigurationen** der Lambda-Funktion, die aktualisiert werden muss.

   1. Sie benötigen die folgenden Informationen zu Ihrer Funktion, wenn Sie die bereitgestellte AWS Serverless Application Repository Anwendung aktualisieren. Sie finden diese Informationen in der Lambda-Konsole.
     + **Name der Lambda-Anwendung**
       + Den Namen der Lambda-Anwendung finden Sie über den Link im Banner. Auf dem Banner steht beispielsweise Folgendes`serverlessrepo-SecretsManagerRedshiftRotationSingleUser`. Der Name in diesem Beispiel lautet`SecretsManagerRedshiftRotationSingleUser`.
     + **Name der Lambda-Rotationsfunktion**
     + **Secrets Manager Manager-Endpunkt**
       + Der Endpunkt befindet sich auf den Registerkarten **Konfigurationen** und **Umgebungsvariablen, die der Variablen** **SECRETS\$1MANAGER\$1ENDPOINT** zugewiesen sind.

1. Um Python zu aktualisieren, müssen Sie die semantische Version der serverlosen Anwendung aktualisieren. Weitere Informationen finden Sie unter [Aktualisieren von Anwendungen](https://docs.aws.amazon.com/serverlessrepo/latest/devguide/serverlessrepo-how-to-consume-new-version.html#update-applications) im *AWS Serverless Application Repository Entwicklerhandbuch*.

------
#### [ Custom Lambda rotation functions ]

Wenn Sie benutzerdefinierte Lambda-Rotationsfunktionen erstellt haben, müssen Sie die Abhängigkeiten und Laufzeiten der einzelnen Pakete für diese Funktionen aktualisieren. Weitere Informationen finden Sie unter [Aktualisieren der Lambda-Funktionslaufzeit auf die neueste Version](https://repost.aws/knowledge-center/lambda-upgrade-function-runtime).

------
#### [ AWS::SecretsManager-2024-09-16 transform macro ]

Wenn die Lambda-Funktion über diese Transformation bereitgestellt wird, können Sie durch [die Aktualisierung der Stacks mithilfe der vorhandenen Vorlage](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-direct.html) die aktualisierte Lambda-Laufzeit verwenden. 

Gehen Sie wie folgt vor, um den CloudFormation Stack mithilfe der vorhandenen Vorlage zu aktualisieren.

1. Öffnen Sie die CloudFormation Konsole unter [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Wählen Sie auf der Seite **Stacks** den Stack aus, den Sie aktualisieren möchten.

1. Wählen Sie im Bereich mit den Stack-Details die Option **Aktualisieren** aus.

1. **Wählen Sie für Wählen Sie eine Methode für die Aktualisierung von Vorlagen** die Option **Direktes Update** aus.

1. Wählen Sie auf der Seite „**Vorlage angeben**“ die Option **Bestehende Vorlage verwenden** aus.

1. Behalten Sie für alle anderen Optionen die Standardwerte bei und wählen Sie dann **Stapel aktualisieren**.

Wenn beim Aktualisieren des Stacks Probleme auftreten, finden Sie weitere Informationen unter [Ermitteln der Ursache eines Stack-Fehlers](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/determine-root-cause-for-stack-failures.html) im *CloudFormation Benutzerhandbuch*.

------
#### [ AWS::SecretsManager-2020-07-23 transform macro ]

Wir empfehlen Ihnen, auf die neuere Transform-Version zu migrieren, wenn Sie diese verwenden`AWS::SecretsManager-2020-07-23`. Weitere Informationen finden Sie unter [Einführung einer erweiterten Version von AWS Secrets Manager Transform AWS::: SecretsManager -2024-09-16](https://aws.amazon.com/blogs/security/introducing-an-enhanced-version-of-the-aws-secrets-manager-transform-awssecretsmanager-2024-09-16/) im *AWS Sicherheits-Blog*. Wenn Sie weiterhin verwenden`AWS::SecretsManager-2020-07-23`, kann es zu einem Nichtübereinstimmungsfehler zwischen Ihrer Runtime-Version und den Lambda-Funktionscode-Artefakten kommen. Weitere Informationen finden Sie unter [AWS:::SecretsManager: RotationSchedule HostedRotationLambda](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-secretsmanager-rotationschedule-hostedrotationlambda.html#cfn-secretsmanager-rotationschedule-hostedrotationlambda-runtime) in der *CloudFormation Vorlagenreferenz*. 

Wenn bei der Aktualisierung des Stacks Probleme auftreten, [ermitteln Sie die Ursache für einen Stack-Ausfall](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/determine-root-cause-for-stack-failures.html) im *CloudFormation Benutzerhandbuch*.

------

**Python-Upgrade überprüfen**  
Um das Python-Upgrade zu überprüfen, öffnen Sie die Lambda-Konsole ([https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/)) und rufen Sie die **Funktionsseite** auf. Wählen Sie die Funktion aus, die Sie aktualisiert haben. Überprüfen Sie im Abschnitt **Codequelle** die im Verzeichnis enthaltenen Dateien und stellen Sie sicher, dass es sich bei der Python-.so-Datei um die Version `3.10` handelt.

## AWS Lambda geheime Rotation mit fehlgeschlagen `PutSecretValue`
<a name="troubleshoot_rotation_putsecretvalue"></a>

Wenn Sie eine angenommene Rolle oder eine kontoübergreifende Rotation mit Secrets Manager verwenden und ein **RotationFailed** Ereignis CloudTrail mit der Meldung finden: Ausstehende geheime Version *VERSION\$1ID * für Secret *SECRET\$1ARN * wurde nicht von Lambda erstellt *LAMBDA\$1ARN.* Entfernen Sie das `AWSPENDING` Staging-Label und starten Sie die Rotation neu, dann müssen Sie Ihre Lambda-Funktion aktualisieren, um den Parameter zu verwenden. `RotationToken`<a name="troubleshoot_rotation_procedure"></a>

## Aktualisieren Sie die Lambda-Rotationsfunktion um Folgendes: `RotationToken`
<a name="troubleshoot_rotation_procedure"></a>

1. Laden Sie den Lambda-Funktionscode herunter
   + Öffnen Sie die Lambda-Konsole
   + **Wählen Sie im Navigationsbereich Funktionen**
   + Wählen Sie Ihre geheime Lambda-Rotationsfunktion als **Funktionsname** aus
   + **Wählen **Sie zum Herunterladen** einen der folgenden Felder aus**: Funktionscode .zip**, **AWS SAM file, Both****
   + Wählen Sie **OK**, um die Funktion auf Ihrem lokalen Computer zu speichern.

1. Bearbeiten `Lambda_handler`

   Fügen Sie den Parameter rotation\$1token in den Schritt create\$1secret für die kontoübergreifende Rotation ein:

   ```
   def lambda_handler(event, context):
       """Secrets Manager Rotation Template
   
       This is a template for creating an AWS Secrets Manager rotation lambda
   
       Args:
           event (dict): Lambda dictionary of event parameters. These keys must include the following:
               - SecretId: The secret ARN or identifier
               - ClientRequestToken: The ClientRequestToken of the secret version
               - Step: The rotation step (one of createSecret, setSecret, testSecret, or finishSecret)
               - RotationToken: the rotation token to put as parameter for PutSecretValue call
   
           context (LambdaContext): The Lambda runtime information
   
       Raises:
           ResourceNotFoundException: If the secret with the specified arn and stage does not exist
   
           ValueError: If the secret is not properly configured for rotation
   
           KeyError: If the event parameters do not contain the expected keys
   
       """
       arn = event['SecretId']
       token = event['ClientRequestToken']
       step = event['Step']
       # Add the rotation token
       rotation_token = event['RotationToken']
   
       # Setup the client
       service_client = boto3.client('secretsmanager', endpoint_url=os.environ['SECRETS_MANAGER_ENDPOINT'])
   
       # Make sure the version is staged correctly
       metadata = service_client.describe_secret(SecretId=arn)
       if not metadata['RotationEnabled']:
           logger.error("Secret %s is not enabled for rotation" % arn)
           raise ValueError("Secret %s is not enabled for rotation" % arn)
       versions = metadata['VersionIdsToStages']
       if token not in versions:
           logger.error("Secret version %s has no stage for rotation of secret %s." % (token, arn))
           raise ValueError("Secret version %s has no stage for rotation of secret %s." % (token, arn))
       if "AWSCURRENT" in versions[token]:
           logger.info("Secret version %s already set as AWSCURRENT for secret %s." % (token, arn))
           return
       elif "AWSPENDING" not in versions[token]:
           logger.error("Secret version %s not set as AWSPENDING for rotation of secret %s." % (token, arn))
           raise ValueError("Secret version %s not set as AWSPENDING for rotation of secret %s." % (token, arn))
       # Use rotation_token
       if step == "createSecret":
           create_secret(service_client, arn, token, rotation_token)
   
       elif step == "setSecret":
           set_secret(service_client, arn, token)
       
       elif step == "testSecret":
           test_secret(service_client, arn, token)
           
       elif step == "finishSecret":
           finish_secret(service_client, arn, token)
           
       else:
           raise ValueError("Invalid step parameter")
   ```

1. Code bearbeiten `create_secret`

   Überarbeiten Sie die `create_secret` Funktion, um den `rotation_token` Parameter zu akzeptieren und zu verwenden:

   ```
   # Add rotation_token to the function
   def create_secret(service_client, arn, token, rotation_token):
   """Create the secret
   
   This method first checks for the existence of a secret for the passed in token. If one does not exist, it will generate a
   new secret and put it with the passed in token.
   
   Args:
   service_client (client): The secrets manager service client
   
   arn (string): The secret ARN or other identifier
   
   token (string): The ClientRequestToken associated with the secret version
   
   rotation_token (string): the rotation token to put as parameter for PutSecretValue call
   
   Raises:
   ResourceNotFoundException: If the secret with the specified arn and stage does not exist
   
   """
   # Make sure the current secret exists
   service_client.get_secret_value(SecretId=arn, VersionStage="AWSCURRENT")
   
   # Now try to get the secret version, if that fails, put a new secret
   try:
   service_client.get_secret_value(SecretId=arn, VersionId=token, VersionStage="AWSPENDING")
   logger.info("createSecret: Successfully retrieved secret for %s." % arn)
   except service_client.exceptions.ResourceNotFoundException:
   # Get exclude characters from environment variable
   exclude_characters = os.environ['EXCLUDE_CHARACTERS'] if 'EXCLUDE_CHARACTERS' in os.environ else '/@"\'\\'
   # Generate a random password
   passwd = service_client.get_random_password(ExcludeCharacters=exclude_characters)
   
   # Put the secret, using rotation_token
   service_client.put_secret_value(SecretId=arn, ClientRequestToken=token, SecretString=passwd['RandomPassword'], VersionStages=['AWSPENDING'], RotationToken=rotation_token)
   logger.info("createSecret: Successfully put secret for ARN %s and version %s." % (arn, token))
   ```

1. Laden Sie den aktualisierten Lambda-Funktionscode hoch

   Nachdem Sie Ihren Lambda-Funktionscode aktualisiert haben, [laden Sie ihn hoch, um Ihr Geheimnis zu wechseln](https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-zip.html#configuration-function-update).

## Fehler: „Fehler bei der Ausführung von Lambda *<arn>* während des *<a rotation>* Schritts“
<a name="concurrency-related-failures"></a>

Wenn Sie gelegentlich Fehler bei der geheimen Rotation feststellen und Ihre Lambda-Funktion in einer Set-Schleife hängen bleibt, z. B. zwischen **CreateSecret** und**SetSecret**, kann das Problem mit den Parallelitätseinstellungen zusammenhängen.

### Schritte zur Fehlerbehebung bei Parallelität
<a name="concurrency-troubleshooting-steps"></a>

**Warnung**  
Wenn Sie den bereitgestellten Parallelitätsparameter auf einen Wert unter 10 setzen, kann dies zu einer Drosselung führen, da die Ausführungsthreads für die Lambda-Funktion nicht ausreichen. Weitere Informationen finden Sie unter [Grundlegendes zu reservierter Parallelität und bereitgestellter Parallelität](https://docs.aws.amazon.com/lambda/latest/dg/lambda-concurrency.html#reserved-and-provisioned) im Entwicklerhandbuch. AWS Lambda AWS Lambda 

1. Überprüfen und passen Sie die Lambda-Parallelitätseinstellungen an:
   + Stellen Sie sicher, dass der Wert nicht zu niedrig `reserved_concurrent_executions` ist (z. B. 1)
   + Wenn Sie reservierte Parallelität verwenden, setzen Sie sie auf mindestens 10
   + Erwägen Sie aus Gründen der Flexibilität die Verwendung von unreservierter Parallelität

1. Für bereitgestellte Parallelität:
   + Legen Sie den bereitgestellten Parallelitätsparameter nicht explizit fest (z. B. in Terraform).
   + Wenn Sie ihn festlegen müssen, verwenden Sie einen Wert von mindestens 10.
   + Testen Sie gründlich, um sicherzustellen, dass der gewählte Wert für Ihren Anwendungsfall geeignet ist.

1. Parallelität überwachen und anpassen:
   + Berechnen Sie die Parallelität anhand der folgenden Formel: Parallelität = (durchschnittliche Anfragen pro Sekunde) \$1 (durchschnittliche Anforderungsdauer in Sekunden). Weitere Informationen finden Sie unter [Schätzung](https://docs.aws.amazon.com/lambda/latest/dg/configuration-concurrency.html#estimating-reserved-concurrency) der reservierten Parallelität.
   + Beobachten Sie die Werte während der Rotationen und zeichnen Sie sie auf, um die geeigneten Parallelitätseinstellungen zu ermitteln.
   + Seien Sie vorsichtig, wenn Sie niedrige Parallelitätswerte festlegen. Sie können zu Drosselungen führen, wenn nicht genügend Ausführungs-Threads verfügbar sind.

Weitere Informationen zur Konfiguration von Lambda-Parallelität finden Sie unter [Configuring Reserved Concurrency und Configuring](https://docs.aws.amazon.com/lambda/latest/dg/configuration-concurrency.html) [Provisioned Concurrency](https://docs.aws.amazon.com/lambda/latest/dg/provisioned-concurrency.html) im Developer Guide. AWS Lambda 

# Rotationspläne
<a name="rotate-secrets_schedule"></a>

Secrets Manager rotiert Ihr Secret nach einem Zeitplan während eines von Ihnen festgelegten Rotationsfensters. Um den Zeitplan und das Fenster festzulegen, verwenden Sie einen **Cron ()** - oder **Rate ()** -Ausdruck zusammen mit einer Fensterdauer. Secrets Manager rotiert Ihr Secret während des Rotationsfensters. Sie können ein Geheimnis innerhalb eines Rotationsfensters von nur einer Stunde bis zu alle vier Stunden wechseln. 

Informationen zum Aktivieren der Drehung finden Sie unter:
+ [Verwaltete Rotation von AWS Secrets Manager Geheimnissen](rotate-secrets_managed.md)
+ [Automatische Rotation für Amazon RDS-, Amazon Aurora-, Amazon Redshift- oder Amazon DocumentDB DocumentDB-Geheimnisse einrichten](rotate-secrets_turn-on-for-db.md)
+ [Automatische Rotation für AWS Secrets Manager Nicht-Datenbankgeheimnisse einrichten](rotate-secrets_turn-on-for-other.md)

Rotationspläne von Secrets Manager verwenden die UTC-Zeitzone.

## Rotationsfenster
<a name="rotate-secrets_rotation-windows"></a>

Ein Secrets Manager Manager-Rotationsfenster ähnelt einem Wartungsfenster. Sie legen das Rotationsfenster fest, wenn Sie möchten, dass Ihr Geheimnis rotiert wird, und Secrets Manager dreht Ihr Geheimnis zu einem bestimmten Zeitpunkt während des Rotationsfensters. 

Die Rotationsfenster von Secrets Manager beginnen immer stündlich. Bei einem Rotationsplan, der einen `rate()` Ausdruck in Tagen verwendet, beginnt das Rotationsfenster um Mitternacht. Sie können die Startzeit für das Rotationsfenster mithilfe eines `cron()` Ausdrucks festlegen. Beispiele finden Sie unter [Cron-Ausdrücke](#rotate-secrets_schedule-cron). 

Standardmäßig wird das Rotationsfenster bei einem Rotationsplan in *Stunden* nach einer Stunde und bei einem Rotationsplan in *Tagen* am Ende des Tages geschlossen. 

Um die Länge des Rotationsfensters zu ändern, legen Sie die **Fensterdauer** fest. Sie können das Rotationsfenster auf eine Stunde beschränken. Das Rotationsfenster darf nicht in das nächste Rotationsfenster übergehen. Mit anderen Worten: Stellen Sie bei einem Rotationsplan in *Stunden* sicher, dass das Rotationsfenster kleiner oder gleich der Anzahl der Stunden zwischen den Rotationen ist. Stellen Sie bei einem Rotationsplan in *Tagen* sicher, dass die Startstunde zuzüglich der Fensterdauer weniger als oder gleich 24 Stunden ist.

## Rate-Ausdrücke
<a name="rotate-secrets_schedule-rate"></a>

Secrets Manager Manager-Ratenausdrücke haben das folgende Format, wobei eine positive Ganzzahl *Value* ist und`hour`, `hours``day`, oder sein *Unit* kann`days`:

```
rate(Value Unit)
```

Sie können ein Secret bis zu alle vier Stunden rotieren. Die maximale Rotationsdauer beträgt 999 Tage. Beispiele:
+ `rate(4 hours)` bedeutet, dass das Secret alle vier Stunden rotiert wird.
+ `rate(1 day)` bedeutet, dass das Secret jeden Tag rotiert wird.
+ `rate(10 days)` bedeutet, dass das Secret alle zehn Tage rotiert wird.

## Cron-Ausdrücke
<a name="rotate-secrets_schedule-cron"></a>

Secrets Manager Cron-Ausdrücke haben das folgende Format:

```
cron(Minutes Hours Day-of-month Month Day-of-week Year)
```

Ein Cron-Ausdruck, der Stundenschritte enthält, wird jeden Tag zurückgesetzt. `cron(0 4/12 * * ? *)` bedeutet zum Beispiel 4:00 Uhr, 16:00 Uhr und dann am nächsten Tag 4:00 Uhr, 16:00 Uhr. Rotationspläne von Secrets Manager verwenden die UTC-Zeitzone.


| Beispiel für einen Zeitplan | Expression | 
| --- | --- | 
| Alle acht Stunden ab Mitternacht.  |  `cron(0 /8 * * ? *)`  | 
| Alle acht Stunden ab 8:00 Uhr.  |  `cron(0 8/8 * * ? *)`  | 
| Alle zehn Stunden ab 2:00 Uhr. Die Rotationsfenster beginnen um 2:00 Uhr, 12:00 Uhr und 22:00 Uhr und dann am nächsten Tag um 2:00 Uhr, 12:00 Uhr und 22:00 Uhr.  |  `cron(0 2/10 * * ? *)`  | 
| Täglich um 10:00 Uhr. |  `cron(0 10 * * ? *)`  | 
|  Jeden Samstag um 18:00 Uhr.  |  `cron(0 18 ? * SAT *)`  | 
|  Ausführung jeden 1. Tag des Monats um 08:00 Uhr.  |  `cron(0 8 1 * ? *)`  | 
|  Alle drei Monate am ersten Sonntag um 1:00 Uhr.  |  `cron(0 1 ? 1/3 SUN#1 *)`  | 
|  5:00 Uhr jeden letzten Tag im Monat  |  `cron(0 17 L * ? *)`  | 
|  Montag bis Freitag um 8:00 Uhr.  |  `cron(0 8 ? * MON-FRI *)`  | 
|  Erster und 15. Tag eines jeden Monats um 16:00 Uhr.  |  `cron(0 16 1,15 * ? *)`  | 
|  Jeden ersten Sonntag im Monat um Mitternacht.  |  `cron(0 0 ? * SUN#1 *)`  | 
|  Ab Januar alle 11 Monate am ersten Montag um Mitternacht.  |  `cron(0 0 ? 1/11 2#1 *)`  | 

### Anforderungen an Cron-Ausdrücke in Secrets Manager
<a name="rotate-secrets_schedule-cron-ASM"></a>

Secrets Manager hat einige Einschränkungen im Hinblick darauf, was Sie für Cron-Ausdrücke verwenden können. Ein cron-Ausdruck für Secrets Manager muss **0** im Feld „Minutes“ (Minuten) haben, da Secrets-Manager-Rotationsfenster zur vollen Stunde gestartet werden. Es muss **\$1**im Feld „Jahr“ haben, da Secrets Manager keine Rotationspläne unterstützt, die mehr als ein Jahr voneinander entfernt sind. Die folgende Tabelle zeigt die Optionen an, die Sie verwenden können.


| **Felder** | **Werte** | **Platzhalter** | 
| --- | --- | --- | 
|  Minuten  | Muss 0 sein | Keine | 
|  Stunden  |  0–23  |  Verwenden Sie **/**(Schrägstrich), um die Schrittweite anzugeben. `2/10` bedeutet zum Beispiel alle zehn Stunden ab 2:00 Uhr. Sie können ein Secret bis zu alle vier Stunden rotieren.   | 
|  D ay-of-month  |  1-31  |  Verwenden Sie **,** (Komma), um zusätzliche Werte hinzuzufügen. `1,15` bedeutet zum Beispiel den 1. und 15. Tag des Monats. Verwenden Sie **-** (Bindestrich), um einen Bereich anzugeben. `1–15` bedeutet zum Beispiel die Tage 1 bis 15 des Monats. Verwenden Sie das Platzhalterzeichen **\$1** (Sternchen), um alle Werte im Feld einzubeziehen. `*` bedeutet zum Beispiel jeden Tag des Monats. Das Platzhalterzeichen **?** (Fragezeichen) steht für einen Wert. Es ist nicht möglich, die Felder `Day-of-month` und `Day-of-week` im gleichen Cron-Ausdruck anzugeben. Wenn Sie einen Wert in einem der Felder angeben, müssen Sie in dem anderen Feld ein **?** (Fragezeichen) eingeben. Verwenden Sie **/**(Schrägstrich), um die Schrittweite anzugeben. `1/2` bedeutet zum Beispiel alle zwei Tage ab Tag 1, also Tag 1, 3, 5 usw. Verwenden Sie **L**, um den letzten Tag des Monats anzugeben. Verwenden Sie ***DAY*L**, um den letzten benannten Tag des Monats anzugeben. `SUNL` bedeutet zum Beispiel den letzten Sonntag des Monats.  | 
|  Monat  |  1–12 oder JAN-DEZ  |  Verwenden Sie **,** (Komma), um zusätzliche Werte hinzuzufügen. `JAN,APR,JUL,OCT` bedeutet beispielsweise Januar, April, Juli und Oktober. Verwenden Sie **-** (Bindestrich), um einen Bereich anzugeben. `1–3` bedeutet zum Beispiel die Monate 1 bis 3 des Jahres. Verwenden Sie das Platzhalterzeichen **\$1** (Sternchen), um alle Werte im Feld einzubeziehen. `*` bedeutet zum Beispiel jeden Monat. Verwenden Sie **/**(Schrägstrich), um die Schrittweite anzugeben. `1/3` bedeutet zum Beispiel jeden dritten Monat, beginnend mit Monat 1, also Monat 1, 4, 7 und 10.  | 
|  D ay-of-week  |  1–7 oder SO-SA  |  Verwenden Sie **\$1**, um den Wochentag innerhalb eines Monats anzugeben. Beispielsweise steht `TUE#3` für den dritten Dienstag im Monat.  Verwenden Sie **,** (Komma), um zusätzliche Werte hinzuzufügen. `1,4` bedeutet zum Beispiel den ersten und vierten Tag der Woche. Verwenden Sie **-** (Bindestrich), um einen Bereich anzugeben. `1–4` bedeutet zum Beispiel die Tage 1 bis 4 der Woche. Verwenden Sie das Platzhalterzeichen **\$1** (Sternchen), um alle Werte im Feld einzubeziehen. `*` bedeutet zum Beispiel jeden Tag der Woche. Das Platzhalterzeichen **?** (Fragezeichen) steht für einen Wert. Es ist nicht möglich, die Felder `Day-of-month` und `Day-of-week` im gleichen Cron-Ausdruck anzugeben. Wenn Sie einen Wert in einem der Felder angeben, müssen Sie in dem anderen Feld ein **?** (Fragezeichen) eingeben. Verwenden Sie **/**(Schrägstrich), um die Schrittweite anzugeben. `1/2` bedeutet beispielsweise jeden zweiten Wochentag, beginnend mit dem ersten Tag, also Tag 1, 3, 5 und 7. Verwenden Sie **L**, um den letzten Tag der Woche anzugeben.  | 
|  Jahr  | Muss \$1 sein. | Keine | 

# Drehe ein AWS Secrets Manager Geheimnis sofort um
<a name="rotate-secrets_now"></a>

Sie können nur ein Secret rotieren, bei dem die Rotation aktiviert ist. Um festzustellen, ob ein Secret für die Drehung konfiguriert wurde, zeigen Sie in der Konsole das Secret an und scrollen Sie nach unten zum Abschnitt **Rotation configuration** (Rotationskonfiguration). Wenn der **Rotation status** (Drehungsstatus) **Enabled** (Aktiviert) lautet, ist das Secret für die Drehung konfiguriert. Falls nicht, siehe [AWS Secrets Manager Geheimnisse rotieren](rotating-secrets.md).

**So drehen Sie sofort ein Secret (Konsole)**

1. Öffnen Sie die Secrets Manager Manager-Konsole unter [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Wählen Sie Ihr Secret aus.

1. Wählen Sie auf der Details-Seite des Secrets unter **Drehungskonfiguretion**, **Drehen Sie das Secret sofort** aus. 

1. Wählen Sie im Dialogfeld **Secret drehen** die Option **Drehen**.

## AWS CLI
<a name="rotate-secrets_now_cli"></a>

**Example Secret sofort drehen**  
Im folgenden [https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/rotate-secret.html](https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/rotate-secret.html)-Beispiel wird eine sofortige Rotation gestartet. Für das Secret muss die Rotation bereits konfiguriert sein.  

```
$ aws secretsmanager rotate-secret \
    --secret-id MyTestSecret
```

# Finde Geheimnisse, die nicht rotiert werden
<a name="find-secrets-not-rotating"></a>

Damit können Sie AWS Config Ihre Geheimnisse auswerten, um festzustellen, ob sie gemäß Ihren Standards rotieren. Sie definieren Ihre internen Sicherheits- und Compliance-Anforderungen für Geheimnisse mithilfe von AWS Config Regeln. Dann AWS Config können Sie Geheimnisse identifizieren, die nicht Ihren Regeln entsprechen. Sie können auch Änderungen an geheimen Metadaten, der Drehungskonfiguration, dem für die geheime Verschlüsselung verwendeten KMS-Schlüssel, der Lambda-Drehungsfunktion und mit einem Geheimnis verknüpften Tags nachverfolgen.

Wenn Sie in mehreren AWS-Konten und AWS-Regionen in Ihrer Organisation über Geheimnisse verfügen, können Sie diese Konfigurations- und Compliance-Daten zusammenfassen. Weitere Informationen finden Sie unter [Datenaggregation für mehrere Konten und mehrere Regionen](https://docs.aws.amazon.com/config/latest/developerguide/aggregate-data.html).

**Um zu beurteilen, ob geheime Daten rotieren**

1. Folgen Sie den Anweisungen zur [Bewertung Ihrer Ressourcen mithilfe von AWS Config Regeln](https://docs.aws.amazon.com/config/latest/developerguide/evaluating-your-resources.html) und wählen Sie eine der folgenden Regeln aus:
   + `[secretsmanager-rotation-enabled-check](https://docs.aws.amazon.com/config/latest/developerguide/secretsmanager-rotation-enabled-check.html)` – Prüft, ob die Rotation für in Secrets Manager gespeicherte Secrets konfiguriert ist. 
   + `[secretsmanager-scheduled-rotation-success-check](https://docs.aws.amazon.com/config/latest/developerguide/secretsmanager-scheduled-rotation-success-check.html)` – Prüft, ob die letzte erfolgreiche Rotation innerhalb der konfigurierten Rotationsfrequenz liegt. Die Überprüfung muss mindestens täglich erfolgen. 
   + `[secretsmanager-secret-periodic-rotation](https://docs.aws.amazon.com/config/latest/developerguide/secretsmanager-secret-periodic-rotation.html)` – Prüft, ob Secrets innerhalb der letzten angegebenen Anzahl von Tagen rotiert wurden.

1. Sie können die Konfiguration optional so konfigurieren, AWS Config dass Sie benachrichtigt werden, wenn geheime Daten nicht den Vorschriften entsprechen. Weitere Informationen finden Sie unter [Benachrichtigungen, die AWS Config an ein Amazon SNS SNS-Thema gesendet](https://docs.aws.amazon.com/config/latest/developerguide/notifications-for-AWS-Config.html) werden.

# Automatische Rotation im Secrets Manager abbrechen
<a name="cancel-automatic-rotation"></a>

Wenn Sie die [automatische Rotation](rotating-secrets.md) für ein Geheimnis konfiguriert haben und die Rotation beenden möchten, können Sie die Rotation abbrechen.

**Um die automatische Rotation abzubrechen**

1. Öffnen Sie die Secrets Manager Manager-Konsole unter [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Wählen Sie Ihr Secret aus.

1. Wählen Sie auf der Seite mit den geheimen Details unter **Rotationskonfiguration** die Option **Rotation bearbeiten** aus. 

1. Deaktivieren **Sie im Dialogfeld „Rotationskonfiguration bearbeiten**“ die Option **Automatische Rotation** und wählen Sie dann **Speichern**.

   Secrets Manager speichert die Informationen zur Rotationskonfiguration, sodass Sie sie in future verwenden können, wenn Sie die Rotation wieder aktivieren möchten.