Uso de la autenticación Kerberos con AWS Database Migration Service - AWSDatabase Migration Service

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.

Uso de la autenticación Kerberos con AWS Database Migration Service

A partir de la versión 3.5.3 de DMS, puede configurar su punto de conexión 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 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? Directory Service .

AWS DMSDescripció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.

Arquitectura de la autenticación Kerberos

Limitaciones del uso de la autenticación Kerberos con AWS DMS

Se aplican las siguientes limitaciones al utilizar la autenticación Kerberos con: AWS DMS

  • Las instancias de replicación de DMS admiten un archivo krb5.conf de Kerberos y un archivo keycache.

  • Debe actualizar el archivo keycache de Kerberos en Secrets Manager al menos 30 minutos antes de que caduque el ticket.

  • Un punto de conexión de DMS habilitado para Kerberos solo funciona con una instancia de replicación de DMS habilitada para Kerberos.

Requisitos previos

Para comenzar, debe cumplir los siguientes requisitos previos desde un host autenticado de Active Directory o Kerberos existente:

  • Establezca una relación de confianza de Active Directory con su AD en las instalaciones. 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 configuración de krb5.conf Kerberos. Incluya información sobre el ámbito, la ubicación de los servidores de administración del dominio y las asignaciones de los nombres de host a un ámbito de Kerberos. Debe comprobar que el contenido de krb5.conf esté formateado con la combinación correcta de mayúsculas y minúsculas para los ámbitos y los nombres de los ámbitos de los dominios. 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 de Kerberos temporal con la información de la entidad principal del cliente. El archivo no almacena la contraseña del cliente. La tarea de DMS utiliza esta información de los tickets en caché para obtener credenciales adicionales sin contraseña. Ejecute los siguientes pasos en un host autenticado por Active Directory o Kerberos existente para generar un archivo keycache.

    • Cree un archivo keytab de Kerberos. Puede generar un archivo keytab con 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 de MIT, consulte kutil en la documentación de MIT Kerberos.

    • Cree un archivo keycache de Kerberos a partir del archivo keytab mediante la utilidad kinit. Para obtener más información acerca de la utilidad kinit, consulte kinit en la documentación de MIT Kerberos.

  • Guarde el archivo keycache de Kerberos en Secrets Manager con el parámetro SecretBinary. Al cargar el archivo keycache en 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 Systems 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 los permisos GetSecretValue y DescribeSecret al rol de IAM para obtener el archivo keycache de Secrets Manager. Asegúrese de que el rol de IAM incluya la política de confianza dms-vpc-role. Para obtener más información acerca de la política de confianza dms-vpc-role, consulte Crear los roles de IAM para usarlos con AWS DMS.

En el siguiente ejemplo, se muestra cómo crear una política de rol de IAM con los permisos GetSecretValue y DescribeSecret de Secrets Manager. El <keycache_secretsmanager_arn> valor es el ARN de Keycache Secrets Manager que creó en el paso anterior.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret" ], "Resource": "*" } ] }

Habilitar la compatibilidad con Kerberos en una instancia de replicación de DMS AWS

Los ámbitos de Kerberos son idénticos a los dominios de Windows. Para resolver un ámbito principal, Kerberos se basa en un servicio de nombres de dominio (DNS). Al establecer el parámetro dns-name-servers, la instancia de replicación utiliza el conjunto personalizado predefinido de servidores DNS para resolver los ámbitos de los dominios de Kerberos. Otra opción alternativa para resolver las consultas de ámbito 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 Consola de administración de AWS

Para habilitar la compatibilidad con Kerberos mediante la consola, introduzca la siguiente información en la sección Autenticación 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 incluye el archivo keycache

  • El ARN del rol de IAM que tiene acceso al ARN de Secrets Manager y permisos para obtener el archivo keycache

Habilitar la compatibilidad con Kerberos en una instancia de replicación de DMS mediante 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 ámbito 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

Activación de la compatibilidad con Kerberos en un punto de conexión de origen

Antes de activar la autenticación Kerberos en un punto de conexión 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 sobre la AMI, consulte Trabajar con el soporte de AWS DMS diagnóstico (AMI).

Uso de la consola DMS AWS

En Acceso a la base de datos de puntos de conexión, elija Autenticación Kerberos.

Uso de AWS CLI

Especifique el parámetro de configuración del punto de conexión y defina la opción AuthenticationMethod 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-name mydatabase --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-name mydatabase --microsoft-sql-server-settings "{\"AuthenticationMethod\": \"kerberos\"}"

Prueba de un punto de conexión de origen

Debe probar el punto de conexión habilitado para Kerberos con una instancia de replicación habilitada para Kerberos. Si no configura correctamente la instancia de replicación o el punto de conexión de origen para la autenticación Kerberos, la acción test-connection del punto de conexión fallará y es posible que arroje errores relacionados con Kerberos. Para obtener más información, consulte test-connection.