

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.

# 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).