Conexión a Aurora MySQL con autenticación Kerberos - Amazon Aurora

Conexión a Aurora MySQL con autenticación Kerberos

Para evitar errores, utilice un cliente MySQL con la versión 8.0.26 o posterior en plataformas Unix y la versión 8.0.27 o posterior en Windows.

Uso del inicio de sesión de Kerberos en Aurora MySQL para conectarse al clúster de base de datos

Para conectarse a Aurora MySQL con la autenticación Kerberos, inicie sesión como un usuario de la base de datos que haya creado siguiendo las instrucciones que se indican en Paso 6: crear usuarios de Aurora MySQL que usen la autenticación Kerberos.

En el símbolo del sistema, conéctese a uno de los puntos de conexión asociados a su clúster de base de datos de Aurora MySQL. Cuando se le pida la contraseña, escriba la contraseña de Kerberos asociada a ese nombre de usuario.

Al autenticarse con Kerberos, se genera un ticket de concesión de tickets (TGT) si aún no existe ninguno. El complemento authentication_kerberos usa el TGT para obtener un ticket de servicio, que luego se presenta al servidor de base de datos Aurora MySQL.

Puede utilizar el cliente MySQL para conectarse a Aurora MySQL con la autenticación Kerberos mediante Windows o Unix.

Puede conectarse con uno de los siguientes métodos:

  • Obtenga el TGT manualmente. En este caso, no es necesario proporcionar la contraseña al cliente MySQL.

  • Proporcione la contraseña para iniciar sesión en Active Directory directamente al cliente MySQL.

El complemento del lado del cliente se admite en plataformas Unix para las versiones del cliente MySQL 8.0.26 y posteriores.

Para conectarse obteniendo el TGT de forma manual
  1. En la interfaz de la línea de comandos, utilice el siguiente comando para obtener el TGT.

    kinit user_name
  2. Utilice el siguiente comando mysql para iniciar sesión en el punto de conexión de la instancia de base de datos de su clúster de base de datos.

    mysql -h DB_instance_endpoint -P 3306 -u user_name -p
    nota

    La autenticación puede fallar si el keytab se rota en la instancia de base de datos. En este caso, vuelva a ejecutar kinit para obtener un nuevo TGT.

Para conectarse directamente
  1. En la interfaz de la línea de comandos, utilice el siguiente comando mysql para iniciar sesión en el punto de conexión de la instancia de base de datos de su clúster de base de datos.

    mysql -h DB_instance_endpoint -P 3306 -u user_name -p
  2. Introduzca la contraseña del usuario de Active Directory.

En Windows, la autenticación se realiza normalmente al iniciar sesión, por lo que no es necesario obtener el TGT manualmente para conectarse al clúster de base de datos de Aurora MySQL. Las mayúsculas y minúsculas del nombre de usuario de la base de datos deben ser iguales que las mayúsculas y minúsculas del usuario en Active Directory. Por ejemplo, si el usuario de Active Directory aparece como Admin, el nombre de usuario de la base de datos debe ser Admin.

El complemento del lado del cliente se admite en Windows para las versiones 8.0.27 y posteriores del cliente MySQL.

Para conectarse directamente
  • En la interfaz de la línea de comandos, utilice el siguiente comando mysql para iniciar sesión en el punto de conexión de la instancia de base de datos de su clúster de base de datos.

    mysql -h DB_instance_endpoint -P 3306 -u user_name

Autenticación Kerberos con bases de datos globales Aurora

La autenticación Kerberos para Aurora MySQL se admite en bases de datos globales de Aurora. Para autenticar a los usuarios del clúster de base de datos secundario mediante el Active Directory del clúster de base de datos principal, replique el Active Directory en la Región de AWS secundaria. La autenticación Kerberos se activa en el clúster secundario con el mismo ID de dominio que en el clúster principal. La replicación de AWS Managed Microsoft AD solo se admite con la versión Enterprise de Active Directory. Para obtener más información, consulte Multi-Region replication (Replicación en varias regiones) en la Guía de administración de AWS Directory Service.

Migración desde RDS para MySQL a Aurora MySQL

Después de migrar desde RDS para MySQL con la autenticación Kerberos habilitada a Aurora MySQL, modifique los usuarios creados con el complemento auth_pam para que usen el complemento authentication_kerberos. Por ejemplo:

ALTER USER user_name IDENTIFIED WITH 'authentication_kerberos' BY 'realm_name';

Evitar el almacenamiento en caché de tickets

Si no existe un TGT válido cuando se inicia la aplicación cliente de MySQL, la aplicación puede obtener el TGT y almacenarlo en caché. Si desea evitar que el TGT se almacene en caché, defina un parámetro de configuración en el archivo /etc/krb5.conf.

nota

Esta configuración solo se aplica a los hosts de cliente que ejecutan Unix, no Windows.

Para evitar el almacenamiento en caché de TGT
  • Añada una sección [appdefaults] a /etc/krb5.conf de la manera siguiente:

    [appdefaults] mysql = { destroy_tickets = true }

Registro para la autenticación Kerberos

La variable de entorno AUTHENTICATION_KERBEROS_CLIENT_LOG establece el nivel de registro para la autenticación Kerberos. Puede utilizar los registros para realizar la depuración del lado del cliente.

Los valores permitidos son del 1 al 5. Los mensajes de registro se escriben en la salida de error estándar. En la tabla siguiente se describe cada nivel de registro.

Logging level (Nivel de registro) Descripción
1 o no configurado Sin registro
2 Mensajes de error
3 Mensajes de error y advertencia
4 Mensajes de error, advertencia e información
5 Mensajes de error, advertencia, información y depuración