Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
A partire da DMS v3.5.3, è possibile configurare l'endpoint di origine Oracle o SQL Server per connettersi all'istanza del database utilizzando l'autenticazione Kerberos. DMS supporta l'autenticazione AWS Directory Service Microsoft Active Directory e Kerberos. Per ulteriori informazioni sull'accesso AWS gestito a Microsoft Active Directory Services, vedere Cos'è AWS Directory Service? .
AWS DMS Panoramica dell'architettura di autenticazione Kerberos
Il diagramma seguente fornisce una panoramica di alto livello del flusso di lavoro di autenticazione AWS DMS Kerberos.

Limitazioni all'utilizzo dell'autenticazione Kerberos con AWSAWS DMS
Le seguenti limitazioni si applicano quando si utilizza l'autenticazione Kerberos con: AWS AWS DMS
Le istanze di replica DMS supportano un file Kerberos e un file keycache
krb5.conf
.È necessario aggiornare il file keycache Kerberos in Secrets Manager almeno 30 minuti prima della scadenza del ticket.
Un endpoint DMS abilitato per Kerberos funziona solo con un'istanza di replica DMS abilitata per Kerberos.
Prerequisiti
Per iniziare, è necessario completare i seguenti prerequisiti da un host autenticato con Active Directory o Kerberos esistente:
Stabilisci una relazione di fiducia in Active Directory con il tuo AD locale. Per ulteriori informazioni, vedi Tutorial: Creare una relazione di trust tra il tuo Microsoft AD AWS gestito e il tuo dominio Active Directory autogestito.
Prepara una versione semplificata del file di configurazione Kerberos
krb5.conf
. Includi informazioni sul realm, sulla posizione dei server di amministrazione del dominio e sulla mappatura dei nomi host su un realm Kerberos. È necessario verificare che ilkrb5.conf
contenuto sia formattato con l'involucro misto corretto per i nomi dei realm e dei nomi di dominio. Per esempio:[libdefaults] dns_lookup_realm = true dns_lookup_kdc = true forwardable = true default_realm = MYDOMAIN.ORG [realms] MYDOMAIN.ORG = { kdc = mydomain.org admin_server = mydomain.org } [domain_realm] .mydomain.org = MYDOMAIN.ORG mydomain.org = MYDOMAIN.ORG
Preparare un file keycache Kerberos. Il file contiene una credenziale Kerberos temporanea contenente le informazioni principali del client. Il file non memorizza la password del client. L'attività DMS utilizza queste informazioni del ticket di cache per ottenere credenziali aggiuntive senza password. Esegui i passaggi seguenti su un host esistente con Active Directory o Kerberos per generare un file keycache.
Crea un file keytab Kerberos. È possibile generare un file keytab utilizzando l'utilità kutil o ktpass.
Per ulteriori informazioni sull'utilità Microsoft ktpass, vedere ktpass nella documentazione
di Windows Server. Per ulteriori informazioni sull'utilità MIT kutil, vedere kutil
nella documentazione MIT Kerberos. Crea un file keycache Kerberos dal file keytab usando l'utilità kinit. Per ulteriori informazioni sull'utilità kinit, consulta kinit
nella documentazione MIT Kerberos.
-
Memorizzate il file keycache Kerberos in Secrets Manager utilizzando il parametro.
SecretBinary
Quando caricate il file keycache su Secrets Manager, DMS lo recupera e quindi aggiorna il file della cache locale ogni 30 minuti circa. Quando il file keycache locale supera il timestamp di scadenza predefinito, DMS interrompe correttamente l'operazione. Per evitare errori di autenticazione durante un'attività di replica in corso, aggiorna il file keycache in Secrets Manager almeno 30 minuti prima della scadenza del ticket. Per ulteriori informazioni, consulta createsecret nella Guida di riferimento all'API Secrets Manager. L' AWS CLI esempio seguente mostra come archiviare il file keycache in formato binario in Secrets Manager:aws secretsmanager create-secret —name keycache —secret-binary fileb:
//keycachefile
Concedi a un ruolo IAM
GetSecretValue
e leDescribeSecret
autorizzazioni per ottenere il file keycache da Secrets Manager. Assicurati che il ruolo IAM includa la policy didms-vpc-role
fiducia. Per ulteriori informazioni sulla politica didms-vpc-role
fiducia, consultaCreazione dei ruoli IAM da utilizzare con AWS DMS.
L'esempio seguente mostra una politica di ruolo IAM con Secrets Manager GetSecretValue
e DescribeSecret
autorizzazioni. Il <keycache_secretsmanager_arn>
valore è l'ARN di Keycache Secrets Manager creato nel passaggio precedente.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret" ], "Resource": [
<keycache_secretsmanager_arn>
] } ] }
Abilitazione del supporto Kerberos su un'istanza di replica DMS AWS
I realm Kerberos sono identici ai domini di Windows. Per risolvere un dominio principale, Kerberos si affida a un Domain Name Service (DNS). Quando imposti il dns-name-servers
parametro, l'istanza di replica utilizzerà il set personalizzato predefinito di server DNS per risolvere i realm di dominio Kerberos. Un'altra opzione alternativa per risolvere le query Kerberos realm consiste nel configurare Amazon Route 53 sul cloud privato virtuale (VPC) dell'istanza di replica. Per ulteriori informazioni, consulta Route 53.
Abilitazione del supporto Kerberos su un'istanza di replica DMS utilizzando AWS Management Console
Per abilitare il supporto Kerberos tramite la console, inserisci le seguenti informazioni nella sezione di autenticazione Kerberos della pagina Crea istanza di replica o Modifica istanza di replica:
krb5.conf
Il contenuto del tuo fileL'ARN del segreto di Secrets Manager che contiene il file keycache
L'ARN del ruolo IAM che ha accesso all'ARN del gestore segreto e le autorizzazioni per recuperare il file keycache
Abilitazione del supporto Kerberos su un'istanza di replica DMS utilizzando AWS CLI
La seguente chiamata di AWS CLI esempio crea un'istanza di replica DMS privata con supporto Kerberos. L'istanza di replica utilizza un DNS personalizzato per risolvere il realm Kerberos. Per ulteriori informazioni, consulta create-replication-instance.
aws dms create-replication-instance --replication-instance-identifier my-replication-instance --replication-instance-class dms.t2.micro --allocated-storage 50 --vpc-security-group-ids sg-12345678 --engine-version 3.5.4 --no-auto-minor-version-upgrade --kerberos-authentication-settings'{"KeyCacheSecretId":<secret-id>,"KeyCacheSecretIamArn":<secret-iam-role-arn>,"Krb5FileContents":<krb5.conf file contents>}' --dns-name-servers
<custom dns server>
--no-publicly-accessible
Abilitazione del supporto Kerberos su un endpoint di origine
Prima di abilitare l'autenticazione Kerberos su un endpoint di origine DMS Oracle o SQL Server, assicurati di poter autenticarti sul database di origine utilizzando il protocollo Kerberos da un computer client. Puoi utilizzare l'AMI di AWS DMS diagnostica per avviare un' EC2 istanza Amazon sullo stesso VPC dell'istanza di replica e quindi testare l'autenticazione kerberos. Per ulteriori informazioni sull'AMI, vedereUtilizzo dell'AMI di supporto AWS DMS diagnostico.
Utilizzo della console AWS DMS
In Accesso al database degli endpoint, scegli l'autenticazione Kerberos.
Usando il AWS CLI
Specificate il parametro di impostazione dell'endpoint e impostate AuthenticationMethod
l'opzione come kerberos. Per esempio:
Oracle
aws dms create-endpoint --endpoint-identifier my-endpoint --endpoint-type source --engine-name oracle --username dmsuser@MYDOMAIN.ORG --server-name
mydatabaseserver
--port 1521 --database-namemydatabase
--oracle-settings "{\"AuthenticationMethod\": \"kerberos\"}"
SQL Server
aws dms create-endpoint --endpoint-identifier my-endpoint --endpoint-type source --engine-name sqlserver --username dmsuser@MYDOMAIN.ORG --server-name
mydatabaseserver
--port 1433 --database-namemydatabase
--microsoft-sql-server-settings "{\"AuthenticationMethod\": \"kerberos\"}"
Test di un endpoint di origine
È necessario testare l'endpoint abilitato per Kerberos rispetto a un'istanza di replica abilitata per Kerberos. Se non si configura correttamente l'istanza di replica o l'endpoint di origine per l'autenticazione Kerberos, l'azione dell'endpoint avrà esito negativo e potrebbe restituire errori relativi a Kerberos. test-connection
Per ulteriori informazioni, consulta