Passwortverwaltung mit , Amazon Aurora und AWS Secrets Manager - Amazon Aurora

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.

Passwortverwaltung mit , Amazon Aurora und AWS Secrets Manager

Amazon Aurora lässt sich in Secrets Manager integrieren, um Hauptbenutzerpasswörter für Ihre DB--Cluster zu verwalten.

Verfügbarkeit von Regionen und Versionen

Die Verfügbarkeit von Funktionen und der Support variieren zwischen bestimmten Versionen der einzelnen Datenbank-Engines und in allen AWS-Regionen. Weitere Informationen zur Verfügbarkeit von Versionen und Regionen für die Integration von Secrets Manager in Amazon Aurora finden Sie unter Unterstützte Regionen und Aurora-DB-Engines für die Secrets Manager Manager-Integration.

Einschränkungen für die Integration von Secrets Manager in Amazon Aurora

Die Verwaltung von Hauptpasswörtern mit Secrets Manager wird für die folgenden Funktionen nicht unterstützt:

  • Blau/Grün-Bereitstellungen von Amazon RDS

  • DB-Cluster, die Teil einer globalen Aurora-Datenbank sind

  • Aurora Serverless v1-DB-Cluster

  • Regionsübergreifende Lesereplikate von Aurora MySQL

Überblick über die Verwaltung von Masterbenutzerkennwörtern mit AWS Secrets Manager

Mit AWS Secrets Manager können Sie hartcodierte Anmeldeinformationen in Ihrem Code, einschließlich Datenbankkennwörtern, durch einen API-Aufruf an Secrets Manager ersetzen, um das Geheimnis programmgesteuert abzurufen. Weitere Informationen zu Secrets Manager finden Sie im Benutzerhandbuch für AWS Secrets Manager.

Wenn Sie Datenbankgeheimnisse in Secrets Manager speichern, AWS-Konto fallen Gebühren an. Informationen zu Preisen erhalten Sie unter AWS Secrets Manager -Preise.

Sie können angeben, dass Aurora das Hauptbenutzerpasswort in Secrets Manager für einen DB-Cluster von Amazon Aurora verwaltet, wenn Sie eine der folgenden Operationen ausführen:

  • Den -DB-Cluster erstellen

  • Den -DB-Cluster ändern

  • Den DB-Cluster aus Amazon S3 wiederherstellen (nur Aurora MySQL)

Wenn Sie angeben, dass Aurora das Hauptbenutzerpasswort in Secrets Manager verwaltet, generiert Aurora das Passwort und speichert es in Secrets Manager. Sie können direkt mit dem Secret interagieren, um die Anmeldeinformationen für den Hauptbenutzer abzurufen. Sie können auch einen vom Kunden verwalteten Schlüssel angeben, um das Secret zu verschlüsseln, oder den KMS-Schlüssel verwenden, der von Secrets Manager bereitgestellt wird.

Aurora verwaltet die Einstellungen für das Secret und rotiert das Secret standardmäßig alle sieben Tage. Sie können einige Einstellungen ändern, wie zum Beispiel den Rotationsplan. Wenn Sie  einen DB-Cluster löschen, der ein Secret in Secrets Manager verwaltet, werden das Secret und die zugehörigen Metadaten ebenfalls gelöscht.

Um eine Verbindung mit mit den Anmeldeinformationen in einem Secret herzustellen, können Sie das Secret von Secrets Manager abrufen. Weitere Informationen finden Sie im Benutzerhandbuch unter Abrufen von Geheimnissen aus AWS Secrets Manager und Herstellen einer Verbindung zu einer SQL-Datenbank mit Anmeldeinformationen in einem AWS Secrets Manager Geheimnis herstellen.AWS Secrets Manager

Vorteile der Verwaltung von Hauptbenutzerpasswörtern mit Secrets Manager

Die Verwaltung von Aurora-Hauptbenutzerpasswörtern mit Secrets Manager bietet die folgenden Vorteile:

  • Aurora generiert automatisch Datenbankanmeldeinformationen.

  • Aurora speichert und verwaltet automatisch Datenbankanmeldedaten in AWS Secrets Manager.

  • Aurora rotiert die Datenbankanmeldeinformationen regelmäßig, ohne dass Anwendungsänderungen erforderlich sind.

  • Secrets Manager schützt Datenbankanmeldeinformationen vor menschlichem Zugriff und der Klartextansicht.

  • Secrets Manager ermöglicht das Abrufen von Datenbankanmeldeinformationen in Secrets für Datenbankverbindungen.

  • Secrets Manager ermöglicht eine detaillierte Steuerung des Zugriffs auf Datenbankanmeldeinformationen in Secrets mithilfe von IAM.

  • Optional können Sie die Datenbankverschlüsselung von der Anmeldeinformationsverschlüsselung mit unterschiedlichen KMS-Schlüsseln trennen.

  • Sie können die manuelle Verwaltung und Rotation der Datenbankanmeldeinformationen vermeiden.

  • Sie können Datenbankanmeldedaten einfach mit AWS CloudTrail Amazon überwachen CloudWatch.

Weitere Informationen zu den Vorteilen von Secrets Manager finden Sie im Benutzerhandbuch für AWS Secrets Manager.

Erforderliche Berechtigungen für die Integration von Secrets Manager

Benutzer müssen über die erforderlichen Berechtigungen verfügen, um Operationen im Zusammenhang mit der Integration von Secrets Manager auszuführen. Sie können IAM-Richtlinien erstellen, die die Berechtigung zum Ausführen bestimmter API-Operationen für die angegebenen Ressourcen gewähren, die benötigt werden. Sie können diese Richtlinien dann den IAM-Berechtigungssätzen oder -Rollen zuordnen, die diese Berechtigungen benötigen. Weitere Informationen finden Sie unter Identity and Access Management für Amazon Aurora.

Für Erstellungs-, Änderungs- oder Wiederherstellungsoperationen muss der Benutzer, der angibt, dass Aurora das Hauptbenutzerpasswort in Secrets Manager verwaltet, über entsprechende Berechtigungen für folgende Operationen verfügen:

  • kms:DescribeKey

  • secretsmanager:CreateSecret

  • secretsmanager:TagResource

Für Erstellungs-, Änderungs- oder Wiederherstellungsoperationen muss der Benutzer, der den benutzerdefinierten Schlüssel zum Entschlüsseln des Secrets in Secrets Manager angibt, über entsprechende Berechtigungen für folgende Operationen verfügen:

  • kms:Decrypt

  • kms:GenerateDataKey

  • kms:CreateGrant

Für Änderungsoperationen muss der Benutzer, der das Hauptbenutzerpasswort in Secrets Manager rotiert, über entsprechende Berechtigungen für die folgende Operation verfügen:

  • secretsmanager:RotateSecret

Durchsetzung der Verwaltung des Masterbenutzerkennworts durch Aurora in AWS Secrets Manager

Sie können IAM-Bedingungsschlüssel verwenden, um die Aurora-Verwaltung des Hauptbenutzerpassworts in AWS Secrets Manager zu erzwingen. Die folgende Richtlinie erlaubt Benutzern nicht, DB-Instances oder DB-Cluster zu erstellen oder wiederherzustellen, es sei denn, das Hauptbenutzerpasswort wird von Aurora in Secrets Manager verwaltet.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": ["rds:CreateDBInstance", "rds:CreateDBCluster", "rds:RestoreDBInstanceFromS3", "rds:RestoreDBClusterFromS3"], "Resource": "*", "Condition": { "Bool": { "rds:ManageMasterUserPassword": false } } } ] }
Anmerkung

Diese Richtlinie erzwingt die Passwortverwaltung bereits AWS Secrets Manager bei der Erstellung. Sie können die Secrets-Manager-Integration jedoch nach wie vor deaktivieren und ein Hauptpasswort manuell festlegen, indem Sie den Cluster ändern.

Um dies zu verhindern, nehmen Sie rds:ModifyDBInstance, rds:ModifyDBCluster in den Aktionsblock der Richtlinie auf. Beachten Sie, dass der Benutzer dadurch keine weiteren Änderungen an vorhandenen Clustern vornehmen kann, für die die Secrets-Manager-Integration nicht aktiviert ist.

Weitere Informationen zum Verwenden der Bedingungsschlüssels in IAM-Richtlinien finden Sie unter Richtlinien-Bedingungsschlüssel für Aurora und Beispielrichtlinien: Verwenden von Bedingungsschlüsseln.

Verwaltung des Hauptbenutzerpassworts für einen DB-Cluster mit Secrets Manager

Sie können die Aurora-Verwaltung des Hauptbenutzerpassworts in Secrets Manager konfigurieren, wenn Sie die folgenden Aktionen ausführen:

Sie können die RDS-Konsole AWS CLI, die oder die RDS-API verwenden, um diese Aktionen auszuführen.

Folgen Sie den Anweisungen zum Erstellen oder Ändern eines DB-Clusters mit der RDS-Konsole:

Wenn Sie die RDS-Konsole verwenden, um eine dieser Operationen auszuführen, können Sie angeben, dass das Hauptbenutzerpasswort von Aurora in Secrets Manager verwaltet wird. Wählen Sie dazu beim Erstellen oder Wiederherstellen eines DB-Clusters Hauptanmeldeinformationen in AWS Secrets Manager verwalten unter Anmeldeinformationseinstellungen aus. Wenn Sie einen DB-Cluster ändern, wählen Sie Hauptanmeldeinformationen in AWS Secrets Manager verwalten unter Einstellungen aus.

Die folgende Abbildung zeigt ein Beispiel für die Einstellung Hauptanmeldeinformationen in AWS Secrets Manager verwalten beim Erstellen oder Wiederherstellen eines DB-Clusters.

Hauptanmeldedaten verwalten in AWS Secrets Manager

Wenn Sie diese Option auswählen, generiert Aurora das Hauptbenutzerpasswort und verwaltet es während seines gesamten Lebenszyklus in Secrets Manager.

Hauptanmeldedaten verwalten in AWS Secrets Manager ausgewählten

Sie können wählen, ob Sie das Secret mit einem von Secrets Manager bereitgestellten KMS-Schlüssel oder mit einem von Ihnen erstellten kundenverwalteten Schlüssel verschlüsseln möchten. Nachdem Aurora die Datenbankanmeldeinformationen für einen DB-Cluster verwaltet hat, können Sie den KMS-Schlüssel, der zum Verschlüsseln des Secrets verwendet wird, nicht mehr ändern.

Sie können andere Einstellungen auswählen, die Ihren Anforderungen entsprechen.

Weitere Informationen zu den verfügbaren Einstellungen beim Erstellen eines DB-Clusters finden Sie unter Einstellungen für Aurora-DB-Cluster. Weitere Informationen zu den verfügbaren Einstellungen beim Ändern eines DB-Clusters finden Sie unter Einstellungen für Amazon Aurora.

Wenn Sie angeben möchten, dass Aurora das Hauptbenutzerpasswort in Secrets Manager verwalten soll, geben Sie die --manage-master-user-password-Option in einem der folgenden Befehle an:

Wenn Sie die --manage-master-user-password-Option angeben, generiert Aurora das Hauptbenutzerpasswort und verwaltet es während seines gesamten Lebenszyklus in Secrets Manager.

Sie können auch einen kundenverwalteten Schlüssel angeben, um das Secret zu verschlüsseln, oder den KMS-Standardschlüssel verwenden, der von Secrets Manager bereitgestellt wird. Verwenden Sie die --master-user-secret-kms-key-id-Option, um einen kundenverwalteten Schlüssel anzugeben. Die AWS KMS-Schlüssel-ID ist der Schlüssel-ARN, die Schlüssel-ID, der Alias-ARN oder der Aliasname für den KMS-Schlüssel. Um einen KMS-Schlüssel in einem anderen zu verwenden AWS-Konto, geben Sie den Schlüssel-ARN oder den Alias-ARN an. Nachdem Aurora die Datenbankanmeldeinformationen für einen DB-Cluster verwaltet hat, können Sie den KMS-Schlüssel, der zum Verschlüsseln des Secrets verwendet wird, nicht mehr ändern.

Sie können andere Einstellungen auswählen, die Ihren Anforderungen entsprechen.

Weitere Informationen zu den verfügbaren Einstellungen beim Erstellen eines DB-Clusters finden Sie unter Einstellungen für Aurora-DB-Cluster. Weitere Informationen zu den verfügbaren Einstellungen beim Ändern eines DB-Clusters finden Sie unter Einstellungen für Amazon Aurora.

In diesem Beispiel wird ein -DB-Cluster erstellt und angegeben, dass Aurora das Passwort in Secrets Manager verwaltet. Das Secret wird mit dem KMS-Schlüssel verschlüsselt, der von Secrets Manager bereitgestellt wird.

Für LinuxmacOS, oderUnix:

aws rds create-db-cluster \ --db-cluster-identifier sample-cluster \ --engine aurora-mysql \ --engine-version 8.0 \ --master-username admin \ --manage-master-user-password

Windows:

aws rds create-db-cluster ^ --db-cluster-identifier sample-cluster ^ --engine aurora-mysql ^ --engine-version 8.0 ^ --master-username admin ^ --manage-master-user-password

Wenn Sie angeben möchten, dass Aurora das Hauptbenutzerpasswort in Secrets Manager verwaltet, legen Sie den ManageMasterUserPassword-Parameter in einer der folgenden Operationen auf true fest:

Wenn Sie den ManageMasterUserPassword-Parameter in einer dieser Operationen auf true festlegen, generiert Aurora das Hauptbenutzerpasswort und verwaltet es während seines gesamten Lebenszyklus in Secrets Manager.

Sie können auch einen kundenverwalteten Schlüssel angeben, um das Secret zu verschlüsseln, oder den KMS-Standardschlüssel verwenden, der von Secrets Manager bereitgestellt wird. Verwenden Sie den MasterUserSecretKmsKeyId-Parameter, um einen kundenverwalteten Schlüssel anzugeben. Die AWS KMS-Schlüssel-ID ist der Schlüssel-ARN, die Schlüssel-ID, der Alias-ARN oder der Aliasname für den KMS-Schlüssel. Geben Sie den Schlüssel-ARN oder Alias-ARN an, um einen KMS-Schlüssel in einem anderen AWS-Konto zu verwenden. Nachdem Aurora die Datenbankanmeldeinformationen für einen DB-Cluster verwaltet hat, können Sie den KMS-Schlüssel, der zum Verschlüsseln des Secrets verwendet wird, nicht mehr ändern.

Rotieren des Hauptbenutzerpasswort-Secrets für einen DB-Cluster

Wenn Aurora ein Hauptbenutzerpasswort-Secret rotiert, generiert Secrets Manager eine neue Secret-Version für das vorhandene Secret. Die neue Secret-Version enthält das neue Hauptbenutzerpasswort. Aurora ändert das Hauptbenutzerpasswort für den -DB-Cluster so, dass es mit dem Passwort für die neue Secret-Version übereinstimmt.

Sie können ein Secret sofort rotieren, anstatt auf eine geplante Rotation zu warten. Wenn Sie das Hauptbenutzerpasswort-Secret in Secrets Manager rotieren möchten, ändern Sie den DB-Cluster. Informationen über das Ändern eines DB-Clusters finden Sie unter Ändern eines Amazon Aurora-DB-Clusters.

Sie können das geheime Masterbenutzer-Passwort sofort mit der RDS-Konsole AWS CLI, der oder der RDS-API wechseln. Das neue Passwort ist immer 28 Zeichen lang und enthält mindestens einen Groß- und Kleinbuchstaben, eine Zahl und ein Satzzeichen.

Wenn Sie das Hauptbenutzerpasswort-Secret mithilfe der RDS-Konsole rotieren möchten, ändern Sie den DB-Cluster und wählen Sie die Option Rotate secret immediately (Sofortige Secret-Drehung) unter Settings (Einstellungen) aus.

Ein Hauptbenutzerpasswort-Secret sofort drehen

Folgen Sie den Anweisungen zum Ändern eines DB-Clusters mit der RDS-Konsole in Ändern des DB-Clusters über die Konsole, die CLI und die API. Sie müssen auf der Bestätigungsseite die Option Apply immediately (Sofort anwenden) auswählen.

Verwenden Sie den modify-db-clusterBefehl und geben Sie die Option an AWS CLI, um das geheime Masterbenutzerpasswort mithilfe von zu ändern. --rotate-master-user-password Sie müssen die --apply-immediately-Option angeben, wenn Sie das Hauptpasswort rotieren.

In diesem Beispiel wird ein Hauptbenutzerpasswort-Secret rotiert.

Für LinuxmacOS, oderUnix:

aws rds modify-db-cluster \ --db-cluster-identifier mydbcluster \ --rotate-master-user-password \ --apply-immediately

Windows:

aws rds modify-db-cluster ^ --db-cluster-identifier mydbcluster ^ --rotate-master-user-password ^ --apply-immediately

Sie können ein Hauptbenutzerpasswort-Secret mit der Operation ModifyDBCluster und der Einstellung des RotateMasterUserPassword-Parameters auf true rotieren. Sie müssen den ApplyImmediately-Parameter auf true festlegen, wenn Sie das Hauptpasswort rotieren.

Anzeigen der Details zu einem Secret für einen DB-Cluster

Sie können Ihre Secrets über die Konsole (https://console.aws.amazon.com/secretsmanager/) oder den AWS CLI (get-secret-valueSecrets Manager Manager-Befehl) abrufen.

Sie finden den Amazon-Ressourcennamen (ARN) eines von Aurora verwalteten Secrets im Secrets Manager mit der RDS-Konsole AWS CLI, der oder der RDS-API.

So zeigen Sie die Details zu einem von Aurora verwalteten Secret in Secrets Manager an
  1. Melden Sie sich bei der Amazon RDS-Konsole an AWS Management Console und öffnen Sie sie unter https://console.aws.amazon.com/rds/.

  2. Wählen Sie im Navigationsbereich Datenbanken aus.

  3. Wählen Sie den Namen des DB-Clusters aus, um dessen Details anzuzeigen.

  4. Wählen Sie die Registerkarte Konfiguration aus.

    Unter Master Credentials ARN (ARN der Hauptanmeldeinformationen) können Sie den geheimen ARN einsehen.

    Die Details zu einem von Aurora verwalteten Secret in Secrets Manager anzeigen

    Sie können dem Link Manage in Secrets Manager (In Secrets Manager verwalten) folgen, um das Secret in der Secrets-Manager-Konsole anzuzeigen und zu verwalten.

Sie können den AWS CLI describe-db-clustersBefehl RDS verwenden, um die folgenden Informationen zu einem Secret zu finden, das von Aurora in Secrets Manager verwaltet wird:

  • SecretArn – Der ARN des Secrets

  • SecretStatus – Der Status des Secrets

    Mögliche Werte für den Status sind u. a. folgende:

    • creating – Das Secret wird erstellt.

    • active – Das Secret ist für den normalen Gebrauch und die Rotation verfügbar.

    • rotating – Das Secret wird rotiert.

    • impaired – Das Secret kann für den Zugriff auf Datenbankanmeldeinformationen verwendet werden, es kann jedoch nicht rotiert werden. Ein Secret kann diesen Status haben, wenn beispielsweise die Berechtigungen geändert werden, sodass RDS nicht mehr auf das Secret oder den KMS-Schlüssel für das Secret zugreifen kann.

      Wenn ein Secret diesen Status hat, können Sie die Bedingung korrigieren, die den Status verursacht hat. Wenn Sie die Bedingung korrigieren, die den Status verursacht hat, behält der Status bis zur nächsten Rotation den Wert impaired. Alternativ können Sie den DB-Cluster ändern, um die automatische Verwaltung von Datenbankanmeldeinformationen zu deaktivieren, und dann den DB-Cluster erneut ändern, um die automatische Verwaltung von Datenbankanmeldeinformationen zu aktivieren. Verwenden Sie die --manage-master-user-password Option im modify-db-clusterBefehl, um den DB-Cluster zu ändern.

  • KmsKeyId – Der ARN des KMS-Schlüssels, der verwendet wird, um das Secret zu verschlüsseln

Geben Sie die --db-cluster-identifier-Option an, um die Ausgabe für einen bestimmten DB-Cluster anzuzeigen. Dieses Beispiel zeigt die Ausgabe für ein Secret, das von einem DB-Cluster verwendet wird.

aws rds describe-db-clusters --db-cluster-identifier mydbcluster

Das folgende Beispiel zeigt die Ausgabe für ein Secret:

"MasterUserSecret": { "SecretArn": "arn:aws:secretsmanager:eu-west-1:123456789012:secret:rds!cluster-033d7456-2c96-450d-9d48-f5de3025e51c-xmJRDx", "SecretStatus": "active", "KmsKeyId": "arn:aws:kms:eu-west-1:123456789012:key/0987dcba-09fe-87dc-65ba-ab0987654321" }

Wenn Sie über den geheimen ARN verfügen, können Sie mit dem get-secret-valueSecrets Manager-CLI-Befehl Details zum Secret Manager anzeigen.

Dieses Beispiel zeigt die Details für das Secret in der vorherigen Beispielausgabe.

Für LinuxmacOS, oderUnix:

aws secretsmanager get-secret-value \ --secret-id 'arn:aws:secretsmanager:eu-west-1:123456789012:secret:rds!cluster-033d7456-2c96-450d-9d48-f5de3025e51c-xmJRDx'

Windows:

aws secretsmanager get-secret-value ^ --secret-id 'arn:aws:secretsmanager:eu-west-1:123456789012:secret:rds!cluster-033d7456-2c96-450d-9d48-f5de3025e51c-xmJRDx'

Sie können den ARN, den Status und den KMS-Schlüssel für ein von Aurora verwaltetes Secret in Secrets Manager anzeigen, indem Sie die RDS-Operation DescribeDBClusters verwenden und den DBClusterIdentifier-Parameter auf eine DB-Instance-ID festlegen. Details zum Secret sind in der Ausgabe enthalten

Wenn Sie über den geheimen ARN verfügen, können Sie mithilfe des GetSecretValueSecrets Manager-Vorgangs Details zu dem Secret anzeigen.