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.
Verwendung von Geheimnissen für den Zugriff AWS Database Migration Service Endpunkte
Denn ein Geheimnis ist ein verschlüsselter Schlüssel AWS DMS, den Sie zur Darstellung einer Reihe von Benutzeranmeldeinformationen verwenden können, um durch geheime Authentifizierung die Datenbankverbindung für einen unterstützten AWS DMS Quell- oder Zielendpunkt zu authentifizieren. Für einen Oracle-Endpoint, der auch Oracle Automatic Storage Management (ASM) verwendet, ist ein zusätzliches Geheimnis AWS DMS erforderlich, das die Benutzeranmeldeinformationen für den Zugriff auf Oracle ASM darstellt.
Sie können das oder die Geheimnisse erstellen, die für die geheime Authentifizierung AWS DMS erforderlich sind AWS Secrets Manager, indem Sie einen Dienst verwenden, mit dem Anmeldeinformationen für den Zugriff auf Anwendungen, Dienste und IT-Ressourcen in der Cloud und vor Ort sicher erstellt, gespeichert und abgerufen werden können. Dies umfasst die Unterstützung der automatischen regelmäßigen Rotation des verschlüsselten Secret-Werts ohne Ihr Eingreifen, wodurch zusätzliche Sicherheit für Ihre Anmeldeinformationen gewährleistet wird. Durch die Aktivierung der Rotation geheimer Werte wird AWS Secrets Manager außerdem sichergestellt, dass diese Rotation der geheimen Werte erfolgt, ohne dass sich dies auf eine Datenbankmigration auswirkt, die auf dem Geheimnis beruht. Um eine Endpunkt-Datenbankverbindung verborgen zu authentifizieren, erstellen Sie ein Secret, dessen Identität oder ARN Sie SecretsManagerSecretId zuweisen und das Sie in Ihre Endpunkteinstellungen aufnehmen. Um Oracle ASM als Teil eines Oracle-Endpunkts verborgen zu authentifizieren, erstellen Sie ein Secret, dessen Identität oder ARN Sie SecretsManagerOracleAsmSecretId zuweisen und das Sie in Ihre Endpunkteinstellungen aufnehmen.
Anmerkung
Sie können keine von Amazon RDS Aurora verwalteten Master-Anmeldeinformationen verwenden. Diese Anmeldeinformationen enthalten keine Host- oder Portinformationen, die für den Verbindungsaufbau AWS DMS benötigt werden. Erstellen Sie stattdessen einen neuen Benutzer und ein neues Secret. Informationen zum Erstellen eines Benutzers und eines Secrets finden Sie im Folgenden unter Verwendung der AWS-Managementkonsole um eine geheime und geheime Zugriffsrolle zu erstellen.
Weitere Informationen finden Sie AWS Secrets Manager unter Was ist AWS Secrets Manager? im AWS Secrets Manager Benutzerhandbuch.
AWS DMS unterstützt die geheime Authentifizierung für die folgenden lokalen oder AWS verwalteten Datenbanken auf unterstützten Quell- und Zielendpunkten:
-
Amazon DocumentDB
-
IBM Db2 (LUW)
-
Microsoft SQL Server
-
MongoDB
-
MySQL
-
Oracle
-
PostgreSQL
-
Amazon Redshift
-
SAP ASE
Um eine Verbindung zu einer dieser Datenbanken herzustellen, können Sie einen der folgenden Werte, aber nicht beide, als Teil Ihrer Endpunkteinstellungen eingeben:
-
Clear-text Werte zur Authentifizierung der Datenbankverbindung mithilfe der Einstellungen
UserName,Password,ServerNameund.PortFügen Sie für einen Oracle-Endpunkt, der auch Oracle ASM verwendet, zusätzliche Klartext-Werte hinzu, um ASM mithilfe der EinstellungenAsmUserName,AsmPasswordundAsmServerNamezu authentifizieren. -
Secret-Authentifizierung mit Werten für die Einstellungen
SecretsManagerSecretIdundSecretsManagerAccessRoleArn. Fügen Sie für einen Oracle-Endpunkt, der Oracle ASM verwendet, zusätzliche Werte für die EinstellungenSecretsManagerOracleAsmSecretIdundSecretsManagerOracleAsmAccessRoleArnhinzu. Die Secret-Werte für diese Einstellungen können Folgendes beinhalten für:-
SecretsManagerSecretId– den vollständigen Amazon-Ressourcennamen (ARN), einen Teil des ARN oder den Anzeigenamen eines Secrets, das Sie für den Endpunktdatenbank-Zugriff in AWS Secrets Manager erstellt haben. -
SecretsManagerAccessRoleArn— Der ARN einer geheimen Zugriffsrolle, die Sie in IAM erstellt haben, um in Ihrem Namen AWS DMS Zugriff auf diesesSecretsManagerSecretIdGeheimnis zu gewähren. -
SecretsManagerOracleAsmSecretId– den vollständigen Amazon-Ressourcennamen (ARN), einen Teil des ARN oder den Anzeigenamen eines Secrets, das Sie für den Zugriff auf Oracle SAM in AWS Secrets Manager erstellt haben. -
SecretsManagerOracleAsmAccessRoleArn– den ARN einer geheimen Zugriffsrolle, die Sie in IAM erstellt haben, um AWS DMS in Ihrem Namen Zugriff auf diesesSecretsManagerOracleAsmSecretId-Secret zu gewähren.
Anmerkung
Sie können auch eine einzelne geheime Zugriffsrolle verwenden, um Zugriff sowohl AWS DMS auf das Geheimnis als auch auf das
SecretsManagerSecretIdGeheimnis zu gewähren.SecretsManagerOracleAsmSecretIdWenn Sie diese einzelne geheime Zugriffsrolle für beide Secrets erstellen, müssen SieSecretsManagerAccessRoleArnundSecretsManagerOracleAsmAccessRoleArndenselben ARN für diese Zugriffsrolle zuweisen. Wenn beispielsweise der ARN Ihrer geheimen Zugriffsrolle für beide Secrets der VariablenARN2xsecretszugewiesen ist, können Sie diese ARN-Einstellungen wie folgt festlegen:SecretsManagerAccessRoleArn = ARN2xsecrets; SecretsManagerOracleAsmAccessRoleArn = ARN2xsecrets;Weitere Informationen zum Erstellen dieser Werte finden Sie unter Verwendung der AWS-Managementkonsole um eine geheime und geheime Zugriffsrolle zu erstellen.
-
Nachdem Sie das erforderliche Secret und die Endpunkteinstellungen für die geheime Zugriffsrolle für Ihre Endpunkte erstellt und angegeben haben, aktualisieren Sie die Berechtigungen für die Benutzerkonten, die die API-Anfrage CreateEndpoint oder ModifyEndpoint ausführen werden, mit diesen Secret-Informationen. Stellen Sie sicher, dass diese Kontoberechtigungen die IAM:GetRole Berechtigungen für die geheime Zugriffsrolle und die SecretsManager:DescribeSecret Berechtigung für das Geheimnis enthalten. AWS DMS benötigt diese Berechtigungen, um sowohl die Zugriffsrolle als auch das zugehörige Geheimnis zu validieren.
So können Sie die erforderlichen Benutzerberechtigungen bereitstellen und überprüfen
-
Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die AWS Identity and Access Management Konsole unterhttps://console.aws.amazon.com/iam/
. -
Wählen Sie Benutzer und dann die Benutzer-ID aus, die für die API-Aufrufe
CreateEndpointundModifyEndpointverwendet wird. -
Wählen Sie auf der Registerkarte Berechtigungen die Option {} JSON aus.
-
Vergewissern Sie sich, dass der Benutzer über die im Folgenden angezeigten Berechtigungen verfügt:
{ "Statement": [{ "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole" ], "Resource": "SECRET_ACCESS_ROLE_ARN" }, { "Effect": "Allow", "Action": "secretsmanager:DescribeSecret", "Resource": "SECRET_ARN" } ] } -
Wenn der Benutzer nicht über diese Berechtigungen verfügt, fügen Sie sie hinzu.
-
Wenn Sie eine IAM-Rolle für DMS-API-Aufrufe verwenden, wiederholen Sie die obigen Schritte für die entsprechende Rolle.
-
Öffnen Sie ein Terminal und überprüfen Sie anhand von, ob die Berechtigungen korrekt erteilt wurden, indem Sie die oben verwendete Rolle oder den oben verwendeten Benutzer annehmen. AWS CLI
-
Überprüfen Sie die Benutzerberechtigung SecretAccessRole mithilfe des
get-roleIAM-Befehls.aws iam get-role --role-nameROLE_NAMEErsetzen Sie
ROLE_NAMEdurch den Namen von.SecretsManagerAccessRoleWenn der Befehl eine Fehlermeldung zurückgibt, stellen Sie sicher, dass die Berechtigungen korrekt erteilt wurden.
-
Überprüfen Sie die Benutzerberechtigung für das Secret mithilfe des Secrets-Manager-Befehls
describe-secret.aws secretsmanager describe-secret --secret-idSECRET_NAME OR SECRET_ARN--region=REGION_NAMEDer Benutzer kann der Anzeigename, ein Teil des ARN oder der vollständige ARN sein. Weitere Informationen finden Sie unter describe-secret.
Wenn der Befehl eine Fehlermeldung zurückgibt, stellen Sie sicher, dass die Berechtigungen korrekt erteilt wurden.
-
Verwendung der AWS-Managementkonsole um eine geheime und geheime Zugriffsrolle zu erstellen
Sie können das verwenden AWS-Managementkonsole , um ein Geheimnis für die Endpunktauthentifizierung zu erstellen und die Richtlinie und Rolle zu erstellen, die den Zugriff auf das Geheimnis in Ihrem Namen ermöglichen AWS DMS .
Um ein Geheimnis zu erstellen, verwenden Sie den AWS-Managementkonsole that AWS DMS kann verwendet werden, um eine Datenbank für Quell- und Zielendpunktverbindungen zu authentifizieren
-
Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die AWS Secrets Manager Konsole unterhttps://console.aws.amazon.com/secretsmanager/
. -
Wählen Sie Store a new secret (Ein neues Secret speichern).
-
Wählen Sie unter Secret-Typ auswählen auf der Seite Ein neues Secret speichern die Option Anderer Secret-Typ und anschließend Klartext aus.
Anmerkung
Dies ist die einzige Stelle, an der Sie ab diesem Zeitpunkt Klartext-Anmeldeinformationen eingeben müssen, um eine Verbindung zu Ihrer Endpunktdatenbank herzustellen.
-
Im Feld Klartext:
-
Geben Sie für ein Secret, dessen Identität Sie
SecretsManagerSecretIdzuweisen, die folgende JSON-Struktur ein.{ "username":db_username, "password":db_user_password, "port":db_port_number, "host":db_server_name}Anmerkung
Diese Liste enthält die für die Authentifizierung der Endpunktdatenbank mindestens erforderlichen JSON-Elemente. Sie können zusätzliche JSON-Endpunkteinstellungen als JSON-Elemente in Kleinbuchstaben hinzufügen, wenn Sie möchten. AWS DMS ignoriert jedoch alle zusätzlichen JSON-Elemente für die Endpunktauthentifizierung.
Hier ist
der Name des Benutzers, der auf die Datenbank zugreift,db_usernameist das Passwort des Datenbankbenutzers,db_user_passworddie Portnummer für den Zugriff auf die Datenbank unddb_port_numberder Name (die Adresse) des Datenbankservers im Internet, wie im folgenden Beispiel gezeigt.db_server_name{ "username": "admin", "password": "some_password", "port": "8190", "host": "oracle101.abcdefghij.us-east-1.rds.amazonaws.com" } -
Geben Sie für ein Secret, dessen Identität Sie
SecretsManagerOracleAsmSecretIdzuweisen, die folgende JSON-Struktur ein.{ "asm_user":asm_username, "asm_password":asm_user_password, "asm_server":asm_server_name}Anmerkung
Diese Liste enthält die für die Authentifizierung von Oracle ASM für einen Oracle-Endpunkt mindestens erforderlichen JSON-Elemente. Darüber hinaus ist dies die vollständige Liste, die Sie auf der Grundlage der verfügbaren Oracle-ASM-Endpunkteinstellungen angeben können.
Hier ist
der Name des Benutzers, der auf Oracle ASM zugreift,asm_usernamedas Passwort des Oracle-ASM-Benutzers undasm_user_passwordder Name (die Adresse) des Oracle-ASM-Servers im Internet, einschließlich des Ports, wie im folgenden Beispiel gezeigt.asm_server_name{ "asm_user": "oracle_asm_user", "asm_password": "oracle_asm_password", "asm_server": "oracle101.abcdefghij.us-east-1.rds.amazonaws.com:8190/+ASM" }
-
-
Wählen Sie einen AWS KMS Verschlüsselungsschlüssel aus, um das Geheimnis zu verschlüsseln. Sie können den für Ihren Dienst erstellten Standardverschlüsselungsschlüssel akzeptieren AWS Secrets Manager oder einen von Ihnen erstellten AWS KMS Schlüssel auswählen.
-
Geben Sie einen Namen für den Verweis auf dieses Secret und eine optionale Beschreibung an. Dies ist der Anzeigename, den Sie als Wert für
SecretsManagerSecretIdoderSecretsManagerOracleAsmSecretIdverwenden. -
Wenn Sie die automatische Rotation im Schlüssel aktivieren möchten, müssen Sie eine AWS Lambda Funktion auswählen oder erstellen, die berechtigt ist, die Anmeldeinformationen für den Schlüssel wie beschrieben zu rotieren. Bevor Sie jedoch die automatische Rotation für die Verwendung Ihrer Lambda-Funktion einrichten, müssen Sie sicherstellen, dass die Konfigurationseinstellungen für die Funktion dem Wert der Umgebungsvariablen
EXCLUDE_CHARACTERSdie folgenden vier Zeichen hinzufügen.;.:+{}*&,%\AWS DMS erlaubt diese Zeichen nicht in Passwörtern, die für Endpunkt-Anmeldeinformationen verwendet werden. Wenn Sie Ihre Lambda-Funktion so konfigurieren, dass sie ausgeschlossen werden, generiert AWS Secrets Manager diese Zeichen nicht als Teil der rotierten Passwortwerte. Nachdem Sie die automatische Rotation für die Verwendung Ihrer Lambda-Funktion eingerichtet haben, rotiert das Secret AWS Secrets Manager sofort, um Ihre geheime Konfiguration zu überprüfen.
Anmerkung
Je nach der Konfiguration Ihrer Datenbank-Engine ruft Ihre Datenbank die rotierten Anmeldeinformationen möglicherweise nicht ab. In diesem Fall müssen Sie die Aufgabe manuell neu starten, um die Anmeldeinformationen zu aktualisieren.
-
Überprüfen Sie Ihr Geheimnis und speichern Sie es in. AWS Secrets Manager Anschließend können Sie jedes Geheimnis anhand seines benutzerfreundlichen Namens in nachschlagen und dann den geheimen ARN als Wert für
SecretsManagerSecretIdoderSecretsManagerOracleAsmSecretIdnach Bedarf abrufen AWS Secrets Manager, um den Zugriff auf Ihre Endpunkt-Datenbankverbindung und Oracle ASM (falls verwendet) zu authentifizieren.
Um die geheime Zugriffsrichtlinie und die Rolle zu erstellen, mit der Sie Ihr SecretsManagerAccessRoleArn oder festlegen können SecretsManagerOracleAsmAccessRoleArn, was Folgendes ermöglicht AWS DMS um darauf zuzugreifen AWS Secrets Manager um auf Ihr entsprechendes Geheimnis zuzugreifen
-
Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die AWS Identity and Access Management (IAM-) Konsole unter https://console.aws.amazon.com/iam/
. -
Wählen Sie Richtlinien und anschließend Richtlinie erstellen aus.
-
Wählen Sie JSON aus und geben Sie die folgende Richtlinie ein, um den Zugriff auf Ihr Secret und dessen Entschlüsselung zu ermöglichen.
Hier ist
der ARN Ihres Secrets, den Sie wie erforderlich vonsecret_arnSecretsManagerSecretIdoderSecretsManagerOracleAsmSecretIdabrufen können, undder ARN des AWS KMS -Schlüssels, mit dem Sie Ihr Secret verschlüsseln, wie im folgenden Beispiel gezeigt.kms_key_arnAnmerkung
Wenn Sie den Standardverschlüsselungsschlüssel verwenden, der von erstellt wurde AWS Secrets Manager, müssen Sie die AWS KMS Berechtigungen für
nicht angeben.kms_key_arnWenn Sie möchten, dass Ihre Richtlinie Zugriff auf beide Geheimnisse gewährt, geben Sie einfach ein zusätzliches JSON-Ressourcenobjekt für das andere an
secret_arn.Wenn sich Ihr Secret in einem anderen Konto befindet, benötigt die Rolle
SecretsManagerAccessRoleArneine zusätzliche Richtlinie, um das kontoübergreifende Secret zu überprüfen. Fügen Sie der Richtlinie in solchen Anwendungsfällen die Aktionsecretsmanager:DescribeSecrethinzu. Weitere Informationen zum Einrichten eines kontoübergreifenden Geheimnisses finden Sie unter Berechtigungen für AWS Secrets Manager-Geheimnisse für Benutzer in einem anderen Konto. -
Überprüfen und erstellen Sie die Richtlinie mit einem Anzeigenamen und einer optionalen Beschreibung.
-
Wählen Sie Rollen und anschließend Rolle erstellen aus.
-
Wählen Sie als Typ der vertrauenswürdigen Entität AWS -Service aus.
-
Wählen Sie in der Liste der Services DMS als vertrauenswürdigen Service aus und wählen Sie dann Weiter: Berechtigungen aus.
-
Suchen Sie nach der Richtlinie, die Sie in Schritt 4 erstellt haben, und fügen Sie sie an. Fügen Sie dann alle Tags hinzu und überprüfen Sie Ihre Rolle. Bearbeiten Sie jetzt die Vertrauensbeziehungen für die Rolle, sodass Ihr AWS DMS regionaler Dienstprinzipal als vertrauenswürdige Entität verwendet wird. Dieser Prinzipal weist das folgende Format auf:
dms.region-name.amazonaws.com.rproxy.goskope.comHier ist
der Name Ihrer Region, z. B.region-nameus-east-1. Somit folgt ein AWS DMS regionaler Dienstprinzipal für diese Region.dms.us-east-1.amazonaws.com -
Nachdem Sie die vertrauenswürdige Entität für die Rolle bearbeitet haben, erstellen Sie die Rolle mit einem Anzeigenamen und einer optionalen Beschreibung. Sie können Ihre neue Rolle jetzt anhand ihres Anzeigenamens in IAM suchen und dann den Rollen-ARN als Wert für
SecretsManagerAccessRoleArnoderSecretsManagerOracleAsmAccessRoleArnabrufen, um Ihre Endpunkt-Datenbankverbindung zu authentifizieren.
So verwenden Sie Secrets Manager mit einer Replikations-Instance in einem privaten Subnetz
-
Erstellen Sie einen Secrets-Manager-VPC-Endpunkt und notieren Sie sich das DNS für den Endpunkt. Weitere Informationen zum Erstellen eines Secrets-Manager-VPC-Endpunkts finden Sie unter Connecting to Secrets Manager through a VPC endpoint im Benutzerhandbuch für AWS Secrets Manager.
-
Erlauben Sie für die VPC-Endpunkt-Sicherheitsgruppe den HTTPS-Verkehr von der privaten IP-Adresse der Replikationsinstanz oder von Sicherheitsgruppen, die den Replizierungsinstanzen zugeordnet sind.
-
Lassen Sie für die Ausgangsregeln für die Sicherheitsgruppe der Replikations-Instance den gesamten Datenverkehr für das Ziel
0.0.0.0/0zu. -
Legen Sie das zusätzliche Verbindungsattribut
secretsManagerEndpointOverride=des Endpunkts fest, um das DNS des Secrets-Manager-VPC-Endpunkts bereitzustellen, wie im folgenden Beispiel gezeigt.secretsManager endpoint DNSsecretsManagerEndpointOverride=vpce-1234a5678b9012c-12345678.secretsmanager.eu-west-1.vpce.amazonaws.com