Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
A partir de la versión 3.5.3 de DMS, puede configurar su terminal de origen de Oracle o SQL Server para que se conecte a su instancia de base de datos mediante la autenticación Kerberos. El DMS admite AWS Directory Service la autenticación de Microsoft Active Directory y Kerberos. Para obtener más información sobre el acceso AWS administrado a los servicios de Microsoft Active Directory, consulte ¿Qué es? AWS Directory Service .
AWS DMS Descripción general de la arquitectura de autenticación Kerberos
El siguiente diagrama proporciona una descripción general de alto nivel del flujo de trabajo de autenticación AWS DMS Kerberos.

Limitaciones del uso de la autenticación Kerberos con AWSAWS DMS
Se aplican las siguientes limitaciones al utilizar la autenticación Kerberos con: AWS AWS DMS
Las instancias de replicación de DMS admiten un archivo Kerberos y un
krb5.conf
archivo keycache.Debe actualizar el archivo keycache de Kerberos en Secrets Manager al menos 30 minutos antes de que caduque el ticket.
Un terminal de DMS habilitado para Kerberos solo funciona con una instancia de replicación de DMS habilitada para Kerberos.
Requisitos previos
Para empezar, debe cumplir los siguientes requisitos previos desde un host autenticado por Active Directory o Kerberos existente:
Establezca una relación de confianza de Active Directory con su AD local. Para obtener más información, consulte el tutorial: Crear una relación de confianza entre su Microsoft AD AWS administrado y su dominio de Active Directory autoadministrado.
Prepare una versión simplificada del archivo de
krb5.conf
configuración de Kerberos. Incluya información sobre el dominio, la ubicación de los servidores de administración del dominio y las asignaciones de los nombres de host a un dominio de Kerberos. Debe comprobar que elkrb5.conf
contenido esté formateado con la combinación correcta de mayúsculas y minúsculas para los dominios y los nombres de dominio. Por ejemplo:[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
Prepare un archivo keycache de Kerberos. El archivo contiene una credencial Kerberos temporal con la información principal del cliente. El archivo no almacena la contraseña del cliente. La tarea de DMS utiliza esta información de tickets de caché para obtener credenciales adicionales sin necesidad de una contraseña. Ejecute los siguientes pasos en un host autenticado por Active Directory o Kerberos existente para generar un archivo de caché de claves.
Cree un archivo keytab de Kerberos. Puede generar un archivo keytab mediante la utilidad kutil o ktpass.
Para obtener más información acerca de la utilidad ktpass de Microsoft, consulte ktpass
en la documentación de Windows Server. Para obtener más información acerca de la utilidad kutil del MIT, consulte kutil
en la documentación del MIT sobre Kerberos. Cree un archivo keycache de Kerberos a partir del archivo keytab mediante la utilidad kinit. Para obtener más información sobre la utilidad kinit, consulte kinit
en la documentación sobre Kerberos del MIT.
-
Guarde el archivo keycache de Kerberos en Secrets Manager mediante el
SecretBinary
parámetro. Al cargar el archivo de caché de claves a Secrets Manager, DMS lo recupera y, a continuación, actualiza el archivo de caché local aproximadamente cada 30 minutos. Cuando el archivo keycache local supera la marca de tiempo de caducidad predefinida, DMS detiene la tarea sin problemas. Para evitar errores de autenticación durante una tarea de replicación en curso, actualice el archivo keycache en Secrets Manager al menos 30 minutos antes de que caduque el ticket. Para obtener más información, consulte createsecret en la Referencia de la API de Secrets Manager. El siguiente AWS CLI ejemplo muestra cómo almacenar el archivo keycache en formato binario en Secrets Manager:aws secretsmanager create-secret —name keycache —secret-binary fileb:
//keycachefile
Otorgue a un rol de IAM
GetSecretValue
losDescribeSecret
permisos para obtener el archivo keycache de Secrets Manager. Asegúrese de que la función de IAM incluya ladms-vpc-role
política de confianza. Para obtener más información sobre la política dedms-vpc-role
confianza, consulteCrear los roles de IAM para usarlos con AWS DMS.
El siguiente ejemplo muestra una política de roles de IAM con Secrets Manager GetSecretValue
y DescribeSecret
permisos. El <keycache_secretsmanager_arn>
valor es el ARN de Keycache Secrets Manager que creó en el paso anterior.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret" ], "Resource": [
<keycache_secretsmanager_arn>
] } ] }
Habilitar la compatibilidad con Kerberos en una instancia de replicación de DMS AWS
Los dominios de Kerberos son idénticos a los dominios de Windows. Para resolver un dominio principal, Kerberos se basa en un servicio de nombres de dominio (DNS). Al establecer el dns-name-servers
parámetro, la instancia de replicación utilizará el conjunto personalizado predefinido de servidores DNS para resolver los dominios de Kerberos. Otra opción alternativa para resolver las consultas de dominio de Kerberos es configurar Amazon Route 53 en la nube privada virtual (VPC) de la instancia de replicación. Para obtener más información, consulte Route 53.
Habilitar la compatibilidad con Kerberos en una instancia de replicación de DMS mediante el AWS Management Console
Para habilitar la compatibilidad con Kerberos mediante la consola, introduzca la siguiente información en la sección de autenticación de Kerberos de la página Crear Instancia de Replicación o Modificar Instancia de Replicación:
El contenido de su archivo
krb5.conf
El ARN del secreto de Secrets Manager que contiene el archivo keycache
El ARN del rol de IAM que tiene acceso al ARN del administrador secreto y permisos para recuperar el archivo keycache.
Habilitar la compatibilidad con Kerberos en una instancia de replicación de DMS mediante el AWS CLI
El siguiente AWS CLI ejemplo de llamada crea una instancia de replicación de DMS privada compatible con Kerberos. La instancia de replicación usa un DNS personalizado para resolver el dominio de Kerberos. Para obtener más información, consulte 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
Habilitar la compatibilidad con Kerberos en un punto final de origen
Antes de habilitar la autenticación Kerberos en un terminal de origen de un servidor DMS, Oracle o SQL, asegúrese de que puede autenticarse en la base de datos de origen mediante el protocolo Kerberos desde un equipo cliente. Puede usar la AMI de AWS DMS diagnóstico para lanzar una EC2 instancia de Amazon en la misma VPC que la instancia de replicación y, a continuación, probar la autenticación kerberos. Para obtener más información acerca de la AMI, consulteTrabajar con el soporte de AWS DMS diagnóstico (AMI).
Uso de la AWS consola DMS
En Acceso a la base de datos de terminales, elija la autenticación Kerberos.
Usando el AWS CLI
Especifique el parámetro de configuración del punto final y defina AuthenticationMethod
la opción como kerberos. Por ejemplo:
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\"}"
Probar un punto final de origen
Debe probar el punto final habilitado para Kerberos con una instancia de replicación habilitada para Kerberos. Si no configura correctamente la instancia de replicación o el punto final de origen para la autenticación de Kerberos, la test-connection
acción del punto final fallará y es posible que arroje errores relacionados con Kerberos. Para obtener más información, consulte test-connection.