Automatische Rotation für Amazon-RDS, Amazon Aurora-, Amazon Redshift- oder Amazon DocumentDB DocumentDB-Geheimnisse einrichten - AWS Secrets Manager

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 Amazon-RDS, Amazon Aurora-, Amazon Redshift- oder Amazon DocumentDB DocumentDB-Geheimnisse einrichten

In diesem Tutorial wird beschrieben, wie Sie Datenbankgeheimnisse einrichtenRotation durch Lambda-Funktion. 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.

Schritt 1: Wählen Sie eine Drehungsstrategie und erstellen Sie (optional) ein Superuser-Secret

Informationen zu den von Secrets Manager angebotenen Strategien finden Sie unterStrategien zur Rotation von Lambda-Funktionen.

Wenn Sie die Strategie für alternierende Benutzer wählen, müssen Sie Erschaffe Geheimnisse 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

So aktivieren Sie die Rotation für ein Amazon-RDS, Amazon DocumentDB- oder Amazon Redshift Redshift-Secret
  1. Öffnen Sie die Secrets Manager Manager-Konsole unter https://console.aws.amazon.com/secretsmanager/.

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

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

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

    1. Schalten Sie die automatische Rotation ein.

    2. Geben Sie unter Rotationszeitplan Ihren Zeitplan in UTC Zeitzone entweder im Zeitplanausdrucks-Generator oder als Zeitplanausdruck ein. Secrets Manager speichert Ihren Zeitplan als rate()- oder cron()-Ausdruck. Das Rotationsfenster beginnt automatisch um Mitternacht, es sei denn, Sie geben eine Startzeitan. Sie können ein Secret bis zu alle vier Stunden rotieren. Weitere Informationen finden Sie unter Rotationspläne.

    3. (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.

    4. (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.

    5. 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 und legt die erforderlichen Berechtigungen 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 unter Empfohlene VPC Konfigurationen aufgelisteten Rotationsfunktionen haben dieselbe VPC Sicherheitsgruppe wie die Datenbank, was der Funktion den Zugriff auf die Datenbank erleichtert.

    6. 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.

  5. Wählen Sie Save (Speichern) aus.

Schritt 3: (Optional) Zusätzliche Berechtigungsbedingungen für die Rotationsfunktion festlegen

Wir empfehlen, in die Ressourcenrichtlinie für Ihre Drehungsfunktion den Kontextschlüssel aws:SourceAccount aufzunehmen, um zu verhindern, dass Lambda als verwirrter Stellvertreter verwendet wird. Für einige AWS Dienste, um das Szenario eines verwirrten Stellvertreters zu vermeiden AWS empfiehlt, sowohl den Bedingungsschlüssel als auch den aws:SourceArnaws:SourceAccountglobalen Bedingungsschlüssel zu verwenden. Wenn Sie die aws:SourceArn Bedingung jedoch in Ihre Rotationsfunktionsrichtlinie aufnehmen, kann die Rotationsfunktion nur verwendet werden, um das darin angegebene Geheimnis zu rotierenARN. 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.

  2. Folgen Sie den Anweisungen unter Verwenden von ressourcenbasierten Richtlinien für Lambda, um eine aws:sourceAccount-Bedingung hinzuzufügen.

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

Wenn das Geheimnis mit einem anderen KMS Schlüssel als dem verschlüsselt ist Von AWS verwalteter Schlüssel aws/secretsmanager, Secrets Manager erteilt der Lambda-Ausführungsrolle die Erlaubnis, den Schlüssel zu verwenden. Sie können den ARNSecret-Verschlüsselungskontext verwenden, um die Verwendung der Entschlüsselungsfunktion einzuschränken, sodass die Rotationsfunktionsrolle nur Zugriff auf die Entschlüsselung des Geheimnisses hat, für dessen Rotation sie zuständig 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.

  2. Folgen Sie den Anweisungen unter Ändern einer Richtlinie für Rollenberechtigungen, um eine kms:EncryptionContext:SecretARN-Bedingung hinzuzufügen.

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

Schritt 4: Konfigurieren Sie den Netzwerkzugriff für die Drehungsfunktion

Weitere Informationen finden Sie unter Netzwerkzugriff für die Lambda-Rotationsfunktion.

Nächste Schritte

Siehe Fehlerbehebung bei der AWS Secrets Manager Rotation.