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.
Richten Sie die automatische Rotation ein mit dem AWS CLI
In diesem Tutorial wird beschrieben, wie Sie mit Rotation durch Lambda-Funktion 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). Informationen zu allen anderen Secret-Typen finden Sie unter Automatische Rotation für Nicht-Datenbankgeheimnisse (Konsole).
Um die Rotation mithilfe von einzurichten AWS CLI, müssen Sie zunächst eine Rotationsstrategie wählen, wenn Sie einen Datenbankschlüssel rotieren. 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. Im nächsten Schritt müssen Sie sicherstellen, 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.
Schritte:
Voraussetzung für Datenbankgeheimnisse: Wählen Sie eine Rotationsstrategie
Informationen zu den von Secrets Manager angebotenen Strategien finden Sie unterStrategien zur Rotation von Lambda-Funktionen.
Option 1: Strategie für einen Benutzer
Wenn Sie sich für die Einzelbenutzerstrategie entscheiden, können Sie mit Schritt 1 fortfahren.
Option 2: Strategie für wechselnde Benutzer
Wenn Sie sich für die Strategie für wechselnde Benutzer entscheiden, müssen Sie:
-
Erstellen Sie ein geheimes Passwort und speichern Sie darin die Anmeldedaten für den Datenbank-Superuser. Sie benötigen ein geheimes Passwort mit Superuser-Anmeldeinformationen, da durch wechselnde Benutzerrotation der erste Benutzer 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.
Beachten Sie, dass Amazon RDS Proxy die Strategie für wechselnde Benutzer nicht unterstützt.
Schritt 1: Schreiben Sie den Funktionscode für die Rotation
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. In diesem Schritt schreiben Sie den Code, der das Geheimnis aktualisiert, und den Dienst oder die Datenbank, für die das Geheimnis bestimmt ist.
Secrets Manager bietet Vorlagen für Amazon RDS-, Amazon Aurora-, Amazon Redshift- und Amazon DocumentDB-Datenbankgeheimnisse in. Rotationsfunktionsvorlagen
Um den Rotationsfunktionscode zu schreiben
-
Führen Sie eine der folgenden Aktionen aus:
Überprüfen Sie die Liste der Vorlagen für Rotationsfunktionen. Wenn es eine gibt, die zu Ihrer Service- und Rotationsstrategie passt, kopieren Sie den Code.
Für andere Arten von Geheimnissen schreiben Sie Ihre eigene Rotationsfunktion. Detaillierte Anweisungen finden Sie unter Lambda-Rotationsfunktionen.
Speichern Sie die Datei
my-function.zipzusammen mit allen erforderlichen Abhängigkeiten in einer ZIP-Datei.
Schritt 2: Erstellen Sie die Lambda-Funktion
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 fest. Dies ist die Rolle, die Lambda einnimmt, wenn die Funktion aufgerufen wird.
Erstellen Sie eine Lambda-Drehungsfunktion und Ausführungsrolle wie folgt:
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. 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, um beispielsweise ein neues Passwort zu erstellen.
-
Erstellen Sie die Lambda-Ausführungsrolle und wenden Sie die Vertrauensrichtlinie an, die Sie im vorherigen Schritt erstellt haben, indem Sie aufrufen
iam create-role.aws iam create-role \ --role-namerotation-lambda-role\ --assume-role-policy-document file://trust-policy.json -
Die Lambda-Funktion aus der ZIP-Datei erstellen, indem sie
lambda create-functionaufruft.aws lambda create-function \ --function-namemy-rotation-function\ --runtime python3.12 \ --zip-file fileb://my-function.zip\ --handler lambda_function.lambda_handler \ --role arn:aws:iam::123456789012:role/service-role/rotation-lambda-role -
Eine Ressourcenrichtlinie für die Lambda-Funktion festlegen, damit Secrets Manager sie durch Aufrufen von
lambda add-permissionaufrufen kann.aws lambda add-permission \ --function-namemy-rotation-function\ --action lambda:InvokeFunction \ --statement-id SecretsManager \ --principal secretsmanager.amazonaws.com \ --source-account123456789012
Schritt 3: Richten Sie den Netzwerkzugriff ein
Weitere Informationen finden Sie unter Netzwerkzugriff für die AWS Lambda Rotationsfunktion.
Schritt 4: Konfigurieren Sie das Geheimnis für die Rotation
Um die automatische Drehung für Ihr Secret zu aktivieren, rufen Sie rotate-secret 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.
aws secretsmanager rotate-secret \ --secret-id MySecret \ --rotation-lambda-arn arn:aws:lambda::aws-region123456789012:function:my-rotation-function\ --rotation-rules "{\"ScheduleExpression\": \"cron(0 16 1,15 * ? *)\", \"Duration\": \"2h\"}"
Nächste Schritte
Siehe Fehlerbehebung AWS Secrets Manager Drehung.