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.
Verwenden von Secrets für den Zugriff auf AWS Database Migration Service -Endpunkte
Denn ein Geheimnis ist ein verschlüsselter Schlüssel AWS DMS, den Sie verwenden können, um eine Reihe von Benutzeranmeldeinformationen darzustellen, um die Datenbankverbindung für einen unterstützten AWS DMS Quell- oder Zielendpunkt durch geheime Authentifizierung zu authentifizieren. Für einen Oracle-Endpunkt, der auch Oracle Automatic Storage Management (ASM) verwendet, ist ein zusätzliches Geheimnis AWS DMS erforderlich, das die Benutzeranmeldedaten für den Zugriff auf Oracle ASM darstellt.
Sie können den oder die geheimen Schlüssel, die für die geheime Authentifizierung AWS DMS erforderlich sind AWS Secrets Manager, mithilfe eines Dienstes erstellen, 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. Wenn Sie die Rotation geheimer Werte aktivieren, wird AWS Secrets Manager auch sichergestellt, dass diese geheime Wertrotation ohne Auswirkungen auf Datenbankmigrationen erfolgt, die auf dem Geheimnis beruhen. 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 AWS DMS zum Herstellen von Verbindungen erforderlich sind. Erstellen Sie stattdessen einen neuen Benutzer und ein neues Secret. Informationen zum Erstellen eines Benutzers und eines Secrets finden Sie im Folgenden unter Verwenden Sie die AWS Management Console , 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:
-
Klartext-Werte zur Authentifizierung der Datenbankverbindung mithilfe der Einstellungen
UserName
,Password
,ServerName
undPort
. Fügen Sie für einen Oracle-Endpunkt, der auch Oracle ASM verwendet, zusätzliche Klartext-Werte hinzu, um ASM mithilfe der EinstellungenAsmUserName
,AsmPassword
undAsmServerName
zu authentifizieren. -
Secret-Authentifizierung mit Werten für die Einstellungen
SecretsManagerSecretId
undSecretsManagerAccessRoleArn
. Fügen Sie für einen Oracle-Endpunkt, der Oracle ASM verwendet, zusätzliche Werte für die EinstellungenSecretsManagerOracleAsmSecretId
undSecretsManagerOracleAsmAccessRoleArn
hinzu. 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 diesesSecretsManagerSecretId
Geheimnis 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
SecretsManagerSecretId
Geheimnis zu gewähren.SecretsManagerOracleAsmSecretId
Wenn Sie diese einzelne geheime Zugriffsrolle für beide Secrets erstellen, müssen SieSecretsManagerAccessRoleArn
undSecretsManagerOracleAsmAccessRoleArn
denselben ARN für diese Zugriffsrolle zuweisen. Wenn beispielsweise der ARN Ihrer geheimen Zugriffsrolle für beide Secrets der VariablenARN2xsecrets
zugewiesen ist, können Sie diese ARN-Einstellungen wie folgt festlegen:SecretsManagerAccessRoleArn = ARN2xsecrets; SecretsManagerOracleAsmAccessRoleArn = ARN2xsecrets;
Weitere Informationen zum Erstellen dieser Werte finden Sie unter Verwenden Sie die AWS Management Console , 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
Erlaubnis für die geheime Zugriffsrolle und die SecretsManager:DescribeSecret
Berechtigung für den geheimen Zugriff beinhalten. AWS DMS benötigt diese Berechtigungen, um sowohl die Zugriffsrolle als auch ihren geheimen Schlüssel zu überprüfen.
So können Sie die erforderlichen Benutzerberechtigungen bereitstellen und überprüfen
-
Melden Sie sich bei der an AWS Management Console 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
CreateEndpoint
undModifyEndpoint
verwendet 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 AWS CLI mit dem, ob die Berechtigungen korrekt erteilt wurden, indem Sie die oben verwendete Rolle oder den Benutzer annehmen.
-
Überprüfen Sie die Benutzerberechtigungen für die SecretAccessRole Verwendung des
get-role
IAM-Befehls.aws iam get-role --role-name
ROLE_NAME
Ersetzen Sie
ROLE_NAME
durch den Namen von.SecretsManagerAccessRole
Wenn 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-id
SECRET_NAME OR SECRET_ARN
--region=REGION_NAME
Der 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.
-
Verwenden Sie die AWS Management Console , um eine geheime und geheime Zugriffsrolle zu erstellen
Sie können die verwenden AWS Management Console , 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 AWS Management Console , das zur Authentifizierung einer Datenbank für Quell- und Zielendpunktverbindungen verwendet werden AWS DMS kann
-
Melden Sie sich bei der an AWS Management Console 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
SecretsManagerSecretId
zuweisen, 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_username
ist das Passwort des Datenbankbenutzers,db_user_password
die Portnummer für den Zugriff auf die Datenbank unddb_port_number
der 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
SecretsManagerOracleAsmSecretId
zuweisen, 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_username
das Passwort des Oracle-ASM-Benutzers undasm_user_password
der 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 Standard-Verschlüsselungsschlüssel akzeptieren, der von für Ihren Dienst erstellt wurde, AWS Secrets Manager oder einen AWS KMS Schlüssel auswählen, den Sie selbst erstellen.
-
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
SecretsManagerSecretId
oderSecretsManagerOracleAsmSecretId
verwenden. -
Wenn Sie die automatische Rotation für den geheimen Schlüssel aktivieren möchten, müssen Sie eine AWS Lambda Funktion auswählen oder erstellen, die berechtigt ist, die Anmeldeinformationen für den geheimen Schlüssel wie beschrieben rotieren zu lassen. 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_CHARACTERS
die 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, wird das Geheimnis AWS Secrets Manager sofort rotiert, um Ihre geheime Konfiguration zu validieren.
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 und speichern Sie Ihr Geheimnis in. AWS Secrets Manager Sie können dann jedes Geheimnis anhand seines benutzerfreundlichen Namens in nachschlagen und dann den geheimen ARN als Wert für
SecretsManagerSecretId
oderSecretsManagerOracleAsmSecretId
nach Bedarf abrufen AWS Secrets Manager, um den Zugriff auf Ihre Endpunkt-Datenbankverbindung und Oracle ASM (falls verwendet) zu authentifizieren.
Um die geheime Zugriffsrichtlinie und Rolle zu erstellen, mit der Sie Ihr SecretsManagerAccessRoleArn
oder festlegen könnenSecretsManagerOracleAsmAccessRoleArn
, was AWS DMS
den AWS Secrets Manager Zugriff auf Ihr entsprechendes Geheimnis ermöglicht
-
Melden Sie sich bei der an AWS Management Console 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.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource":
secret_arn
, }, { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource":kms_key_arn
, } ] }Hier ist
der ARN Ihres Secrets, den Sie wie erforderlich vonsecret_arn
SecretsManagerSecretId
oderSecretsManagerOracleAsmSecretId
abrufen können, und
der ARN des AWS KMS -Schlüssels, mit dem Sie Ihr Secret verschlüsseln, wie im folgenden Beispiel gezeigt.kms_key_arn
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": "arn:aws:secretsmanager:us-east-2:123456789012:secret:MySQLTestSecret-qeHamH" }, { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource": "arn:aws:kms:us-east-2:123456789012:key/761138dc-0542-4e58-947f-4a3a8458d0fd" } ] }
Anmerkung
Wenn Sie den standardmäßigen Verschlüsselungsschlüssel verwenden AWS Secrets Manager, der von erstellt wurde, müssen Sie die AWS KMS Berechtigungen für
nicht angeben.kms_key_arn
Wenn 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
SecretsManagerAccessRoleArn
eine zusätzliche Richtlinie, um das kontoübergreifende Secret zu überprüfen. Fügen Sie der Richtlinie in solchen Anwendungsfällen die Aktionsecretsmanager:DescribeSecret
hinzu. Weitere Informationen zur Einrichtung eines kontoübergreifenden Geheimnisses finden Sie unter Berechtigungen für AWS Secrets Manager 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 an dieser Stelle die Vertrauensstellungen 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-name
us-east-1
. Somit folgt ein AWS DMS regionaler Service Principal 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
SecretsManagerAccessRoleArn
oderSecretsManagerOracleAsmAccessRoleArn
abrufen, 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.
-
Fügen Sie die Sicherheitsgruppe der Replikations-Instance an den Secrets-Manager-VPC-Endpunkt an.
-
Lassen Sie für die Ausgangsregeln für die Sicherheitsgruppe der Replikations-Instance den gesamten Datenverkehr für das Ziel
0.0.0.0/0
zu. -
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 DNS
secretsManagerEndpointOverride=vpce-1234a5678b9012c-12345678.secretsmanager.eu-west-1.vpce.amazonaws.com