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.
Datenbankanmeldedaten für RDS Proxy einrichten
RDS Proxy in Amazon RDS verwendet AWS Secrets Manager , um Datenbankanmeldedaten sicher zu speichern und zu verwalten. Anstatt Anmeldeinformationen in Ihre Anwendung einzubetten, verknüpfen Sie einen Proxy mit einem Secrets-Manager-Secret, das die erforderlichen Authentifizierungsdetails enthält. Sie erstellen ein separates Secrets Manager-Secret für jedes Datenbankbenutzerkonto, mit dem der Proxy auf der dem Aurora-DB-Cluster eine Verbindung herstellt.
Alternativ können Sie den RDS-Proxy so konfigurieren, dass er die end-to-end IAM-Authentifizierung verwendet, sodass keine Datenbankanmeldedaten in Secrets Manager gespeichert werden müssen. RDS Proxy verwendet die IAM-Authentifizierung für beide Verbindungen client-to-proxy. proxy-to-database Dies bietet eine vollständig integrierte IAM-basierte Authentifizierungslösung, für die keine Verwaltung von Geheimnissen oder Passwörtern erforderlich ist. Informationen zum Hinzufügen eines neuen IAM-DB-Benutzers finden Sie unter. Erstellen eines Datenbankkontos mithilfe der IAM-Authentifizierung
Erstellen von Secrets zur Verwendung mit RDS-Proxy
Bevor Sie einen Proxy erstellen, müssen Sie zunächst mindestens ein Secret erstellen, in dem Ihre Datenbankanmeldeinformationen gespeichert werden.
So erstellen Sie ein Secret
Öffnen Sie die Secrets Manager Manager-Konsole unter https://console.aws.amazon.com/secretsmanager/
. -
Wählen Sie Store a new secret (Ein neues Secret speichern).
-
Wählen Sie Anmeldeinformationen für Amazon-RDS-Datenbank aus.
-
Geben Sie einen Benutzernamen und ein Passwort ein. Die von Ihnen eingegebenen Anmeldeinformationen müssen mit den Anmeldeinformationen eines Datenbankbenutzers übereinstimmen, der in der zugehörigen RDS-Datenbank vorhanden ist. RDS-Proxy verwendet diese Anmeldeinformationen, um im Namen von Anwendungen Verbindungen zur Datenbank zu authentifizieren und herzustellen.
Wenn eine Unstimmigkeit vorliegt, können Sie das Secret so aktualisieren, dass es mit dem Datenbankkennwort übereinstimmt. Solange Sie das Secret nicht aktualisieren, schlagen Verbindungsversuche über den Proxy fehl, Verbindungen, die andere gültige geheime Schlüssel verwenden, funktionieren aber dennoch.
Anmerkung
Für RDS für SQL Server erfordert RDS-Proxy unabhängig von den Sortierungseinstellungen der DB-Instance ein Secret in Secrets Manager, bei dem Groß- und Kleinschreibung beachtet wird. Wenn Ihre Anwendung Benutzernamen mit unterschiedlicher Groß- und Kleinschreibung wie „Admin“ und „admin“ zulässt, müssen Sie für jeden separate Secrets erstellen. RDS-Proxy unterstützt keine Benutzernamenauthentifizierung ohne Berücksichtigung der Groß-/Kleinschreibung zwischen Client und Proxy.
Weitere Informationen über die Sortierung in SQL Server finden Sie in der Dokumentation für Microsoft SQL Server
. -
Wählen Sie für Datenbank die Amazon-RDS-Datenbank aus, auf die das Secret zugreift.
-
Geben Sie weitere Einstellungen für das Secret ein und wählen Sie dann Speichern aus. Umfassende Anleitungen finden Sie unter Erstellen eines AWS Secrets Manager -Secrets im Benutzerhandbuch für AWS Secrets Manager .
Wenn Sie über den einen Proxy erstellen AWS CLI, geben Sie die Amazon-Ressourcennamen (ARNs) der entsprechenden Geheimnisse an. Diesen Vorgang führen Sie für alle DB-Benutzerkonten aus, auf die der Proxy zugreifen kann. In der AWS Management Console wählen Sie die Geheimnisse anhand ihrer aussagekräftigen Namen aus.
-
Verwenden Sie den Befehl create-secret, um ein Secrets Manager-Secret für die Verwendung mit RDS-Proxy zu erstellen:
aws secretsmanager create-secret \ --name "secret_name" \ --description "secret_description" \ --regionregion_name\ --secret-string '{"username":"db_user","password":"db_user_password"}' -
Sie können auch einen benutzerdefinierten Schlüssel erstellen, um Ihr Secrets Manager-Secret zu verschlüsseln. Im folgenden Beispiel wird ein Beispielschlüssel erstellt.
aws kms create-key --description "test-key" --policy '{ "Id":"kms-policy", "Version": "2012-10-17", "Statement": [ { "Sid":"Enable IAM User Permissions", "Effect":"Allow", "Principal":{"AWS":"arn:aws:iam::account_id:root"}, "Action":"kms:*","Resource":"*" }, { "Sid":"Allow access for Key Administrators", "Effect":"Allow", "Principal": { "AWS": ["$USER_ARN","arn:aws:iam:account_id::role/Admin"] }, "Action": [ "kms:Create*", "kms:Describe*", "kms:Enable*", "kms:List*", "kms:Put*", "kms:Update*", "kms:Revoke*", "kms:Disable*", "kms:Get*", "kms:Delete*", "kms:TagResource", "kms:UntagResource", "kms:ScheduleKeyDeletion", "kms:CancelKeyDeletion" ], "Resource":"*" }, { "Sid":"Allow use of the key", "Effect":"Allow", "Principal":{"AWS":"$ROLE_ARN"}, "Action":["kms:Decrypt","kms:DescribeKey"], "Resource":"*" } ] }'
Mit den folgenden Befehlen werden beispielsweise Secrets Manager-Secrets für zwei Datenbankbenutzer erstellt:
aws secretsmanager create-secret \ --namesecret_name_1--description "db admin user" \ --secret-string '{"username":"admin","password":"choose_your_own_password"}' aws secretsmanager create-secret \ --namesecret_name_2--description "application user" \ --secret-string '{"username":"app-user","password":"choose_your_own_password"}'
Verwenden Sie die folgenden Befehle, um diese mit Ihrem benutzerdefinierten AWS KMS Schlüssel verschlüsselten Geheimnisse zu erstellen:
aws secretsmanager create-secret \ --namesecret_name_1--description "db admin user" \ --secret-string '{"username":"admin","password":"choose_your_own_password"}' \ --kms-key-id arn:aws:kms:us-east-2:account_id:key/key_idaws secretsmanager create-secret \ --namesecret_name_2--description "application user" \ --secret-string '{"username":"app-user","password":"choose_your_own_password"}' \ --kms-key-id arn:aws:kms:us-east-2:account_id:key/key_id
Verwenden Sie den Befehl list-secrets, um die Geheimnisse zu sehen, die Ihrem AWS Konto gehören:
aws secretsmanager list-secrets
Wenn Sie mit der CLI einen Proxy erstellen, übergeben Sie die Amazon-Ressourcennamen (ARNs) eines oder mehrerer Secrets an den --auth Parameter. Das folgende Beispiel zeigt, wie Sie einen Bericht nur mit dem Namen und dem ARN jedes Secrets Ihres AWS -Kontos erstellen. In diesem Beispiel wird der --output table Parameter verwendet, der in AWS CLI Version 2 verfügbar ist. Wenn Sie AWS CLI Version 1 verwenden, verwenden Sie --output
text stattdessen.
aws secretsmanager list-secrets --query '*[].[Name,ARN]' --output table
Verwenden Sie den get-secret-valueBefehl, um zu überprüfen, ob der geheime Schlüssel die richtigen Anmeldeinformationen im richtigen Format enthält. Ersetzen Sie durch den Kurznamen oder den ARN des Secrets.your_secret_name
aws secretsmanager get-secret-value --secret-idyour_secret_name
Die Ausgabe enthält eine Zeile mit einem JSON-codierten Wert, der dem folgenden ähnelt:
... "SecretString": "{\"username\":\"your_username\",\"password\":\"your_password\"}", ...