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.
Automatisches Rotieren von Passwörtern für Benutzer
Mit AWS Secrets Manager können Sie fest codierte Anmeldeinformationen in Ihrem Code (einschließlich Passwörter) durch einen API-Aufruf an Secrets Manager ersetzen, um das Geheimnis programmgesteuert abzurufen. Dadurch wird sichergestellt, dass das Secret nicht kompromittiert werden kann, wenn jemand Ihren Code durchsucht, da es sich gar nicht dort befindet. Außerdem können Sie Secrets Manager so konfigurieren, dass er das Secret automatisch nach einem von Ihnen festgelegten Zeitplan rotiert. So können Sie Secrets mit langer Einsatzdauer durch Secrets mit kurzer Einsatzdauer ersetzen und damit das Risiko einer Kompromittierung erheblich verringern.
Mit Secrets Manager können Sie Ihre ElastiCache für Redis OSS-Passwörter (d. h. Geheimnisse) mithilfe einer AWS Lambda Funktion, die Secrets Manager bereitstellt, automatisch rotieren.
Valkey-Authentifizierung erforderlich
Valkey unterstützt den no-password-required Authentifizierungsmodus nicht. Wenn Sie Valkey verwenden, erstellen Sie den ersten Benutzer mit einem temporären Passwort. Setzen Sie die Zugriffszeichenfolge auf off (deaktiviert), anstatt das in Schritt 1 unten gezeigte --no-password Kennzeichen zu verwenden.
Weitere Informationen finden Sie AWS Secrets Manager unter Was ist AWS Secrets Manager?
Wie ElastiCache benutzt man Geheimnisse
Valkey 7.2 und höher haben einen äquivalenten Funktionsumfang wie Redis OSS 7.0. In Redis OSS 6 ElastiCache eingeführt, Role-Based Zugriffskontrolle (RBAC) um den Valkey- oder Redis OSS-Cluster zu sichern. Mit dieser Funktion können bestimmte Verbindungen bezüglich der ausführbaren Befehle und der Tasten, auf die zugegriffen werden kann, eingeschränkt werden. Bei RBAC erstellt der Kunde zwar einen Benutzer mit Passwörtern, die Passwortwerte müssen jedoch manuell im Klartext eingegeben werden und sind für den Bediener sichtbar.
Mit Secrets Manager wird das Passwort von Anwendungen aus Secrets Manager abgerufen, anstatt es manuell einzugeben und in der Anwendungskonfiguration zu speichern. Weitere Informationen hierzu finden Sie unter Wie ElastiCache Benutzer mit dem Secret verknüpft werden.
Für die Verwendung von Secrets fallen Kosten an. Preisinformationen finden Sie unter AWS Secrets Manager – Preise
Wie ElastiCache Benutzer mit dem Secret verknüpft werden
Secrets Manager speichert eine Referenz für den zugehörigen Benutzer im SecretString-Feld des Secrets. Von der ElastiCache Seite wird das Geheimnis nicht erwähnt.
{ "password": "strongpassword", "username": "user1", "user_arn": "arn:aws:elasticache:us-east-1:xxxxxxxxxx918:user:user1" //this is the bond between the secret and the user }
Lambda-Rotationsfunktion
Zur Aktivierung der automatischen Passwortrotation von Secrets Manager erstellen Sie eine Lambda-Funktion, die mit der modify-user-API interagiert, um die Passwörter des Benutzers zu aktualisieren.
Informationen zur Funktionsweise finden Sie unter Funktionsweise der Drehung.
Anmerkung
Für einige AWS Dienste AWS empfiehlt es sich, sowohl den Bedingungsschlüssel als auch den aws:SourceAccount globalen Bedingungsschlüssel zu verwenden, um das verwirrende aws:SourceArn Stellvertreter-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 zu Problemen, auf die Sie möglicherweise stoßen, finden Sie unter Problembehandlung bei der AWS Secrets Manager-Rotation.
Wie erstelle ich einen ElastiCache Benutzer und verknüpfe ihn mit Secrets Manager
Die folgenden Schritte veranschaulichen, wie Sie einen Benutzer erstellen und ihn mit Secrets Manager verknüpfen:
Einen inaktiven Benutzer erstellen
Für Linux, macOS oder Unix:
aws elasticache create-user \ --user-id user1 \ --user-name user1 \ --engine "REDIS" \ --no-password \ // no authentication is required --access-string "*off* +get ~keys*" // this disables the userFür Windows:
aws elasticache create-user ^ --user-id user1 ^ --user-name user1 ^ --engine "REDIS" ^ --no-password ^ // no authentication is required --access-string "*off* +get ~keys*" // this disables the userEs wird eine Antwort ähnlich dem folgenden Beispiel angezeigt:
{ "UserId": "user1", "UserName": "user1", "Status": "active", "Engine": "redis", "AccessString": "off ~keys* -@all +get", "UserGroupIds": [], "Authentication": { "Type": "no_password" }, "ARN": "arn:aws:elasticache:us-east-1:xxxxxxxxxx918:user:user1" }Erstellen eines -Secrets
Für Linux, macOS oder Unix:
aws secretsmanager create-secret \ --name production/ec/user1 \ --secret-string \ '{ "user_arn": "arn:aws:elasticache:us-east-1:123456xxxx:user:user1", "username":"user1" }'Für Windows:
aws secretsmanager create-secret ^ --name production/ec/user1 ^ --secret-string ^ '{ "user_arn": "arn:aws:elasticache:us-east-1:123456xxxx:user:user1", "username":"user1" }'Es wird eine Antwort ähnlich dem folgenden Beispiel angezeigt:
{ "ARN": "arn:aws:secretsmanager:us-east-1:123456xxxx:secret:production/ec/user1-eaFois", "Name": "production/ec/user1", "VersionId": "aae5b963-1e6b-4250-91c6-ebd6c47d0d95" }Eine Lambda-Funktion zur Rotation Ihres Passworts konfigurieren
Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Lambda-Konsole unter https://console.aws.amazon.com/lambda/
Wählen Sie im Navigationsbereich Functions (Funktionen) und dann die erstellte Funktion aus. Wählen Sie den Funktionsnamen aus, nicht das Kontrollkästchen links davon.
Wählen Sie die Registerkarte Konfiguration aus.
Wählen Sie unter General configuration (Allgemeine Konfiguration) die Option Edit (Bearbeiten) aus und legen Sie die Timeout (Zeitüberschreitung) anschließend auf mindestens 12 Minuten fest.
Wählen Sie Speichern.
Wählen Sie Environment variables (Umgebungsvariablen) aus und legen Sie dann Folgendes fest:
SECRETS_MANAGER_ENDPOINT — .amazonaws.com https://secretsmanager.
REGIONSERET_ARN – der Amazon-Ressourcenname (ARN) des Secrets, das Sie in Schritt 2 erstellt haben.
USER_NAME — Benutzername des Benutzers, ElastiCache
Wählen Sie Speichern.
Wählen Sie Permissions (Berechtigungen) aus.
Wählen Sie unter Execution role (Ausführungsrolle) den Namen der Lambda-Funktionsrolle aus, die auf der IAM-Konsole angezeigt werden soll.
Die Lambda-Funktion benötigt die folgende Berechtigung, um die Benutzer zu ändern und das Passwort festzulegen:
ElastiCache
Secrets Manager
Die Secrets-Manager-Rotation einrichten
Verwenden von AWS-Managementkonsole, siehe Automatische Rotation für AWS Secrets Manager-Secrets mithilfe der Konsole einrichten
Weitere Informationen zum Einrichten eines Rotationszeitplans finden Sie unter Zeitplanausdrücke in Secrets-Manager-Rotation.
Verwenden von AWS CLI, siehe Automatische Rotation einrichten für die AWS Secrets Manager Verwendung von AWS Command Line Interface