

# Uso de la autenticación Kerberos para Aurora MySQL
<a name="aurora-mysql-kerberos"></a>

Puede usar la autenticación Kerberos para autenticar a los usuarios cuando estos se conecten a su clúster de base de datos de Aurora MySQL. Para ello, configure el clúster de base de datos para utilizar AWS Directory Service for Microsoft Active Directory para la autenticación Kerberos. AWS Directory Service for Microsoft Active Directorytambién se denomina AWS Managed Microsoft AD. Es una función disponible con Directory Service. Para obtener más información, consulte [¿Qué esDirectory Service?](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/what_is.html) en la *Guía de administración de AWS Directory Service*.

Para empezar, cree un directorio de AWS Managed Microsoft AD para almacenar las credenciales de usuario. A continuación, proporcione a su clúster de base de datos de Aurora MySQL el dominio de Active Directory y otra información. Cuando los usuarios se autentican con el clúster de base de datos de Aurora MySQL, las solicitudes de autenticación se reenvían al directorio AWS Managed Microsoft AD.

Mantener todas las credenciales en el mismo directorio puede ahorrarle tiempo y esfuerzo. Con este método, dispone de un lugar centralizado para almacenar y administrar credenciales de numerosos clústeres de bases de datos. El uso de un directorio también puede mejorar su perfil de seguridad general.

Además, puede acceder a las credenciales desde su propio Microsoft Active Directory en las instalaciones. Para ello, cree una relación de dominio de confianza para que el directorio de AWS Managed Microsoft AD confíe en su Microsoft Active Directory en las instalaciones. De esta manera, los usuarios pueden acceder a los clústeres de base de datos de Aurora MySQL con la misma experiencia de inicio de sesión único (SSO) de Windows que cuando acceden a cargas de trabajo de la red en las instalaciones.

Una base de datos puede usar la autenticación de Kerberos, de AWS Identity and Access Management (IAM), o ambas. Sin embargo, dado que la autenticación Kerberos y de IAM proporcionan diferentes métodos de autenticación, un usuario específico puede iniciar sesión en una base de datos con solo uno u otro método de autenticación, pero no ambos. Para obtener más información acerca de la autenticación IAM, consulte [Autenticación de bases de datos de IAM ](UsingWithRDS.IAMDBAuth.md).

**Contents**
+ [Información general de la autenticación Kerberos para clústeres de base de datos de Aurora MySQL](#aurora-mysql-kerberos-setting-up-overview)
+ [Limitaciones de la autenticación Kerberos para Aurora MySQL](#aurora-mysql-kerberos.limitations)
+ [Configuración de la autenticación Kerberos para clústeres de base de datos de Aurora MySQL](aurora-mysql-kerberos-setting-up.md)
  + [Paso 1: crear un directorio con AWS Managed Microsoft AD](aurora-mysql-kerberos-setting-up.md#aurora-mysql-kerberos-setting-up.create-directory)
  + [Paso 2: (opcional) crear una relación de confianza para un Active Directory en las instalaciones](aurora-mysql-kerberos-setting-up.md#aurora-mysql-kerberos-setting-up.create-trust)
  + [Paso 3: crear un rol de IAM para que lo use Amazon Aurora](aurora-mysql-kerberos-setting-up.md#aurora-mysql-kerberos-setting-up.CreateIAMRole)
  + [Paso 4: crear y configurar usuarios](aurora-mysql-kerberos-setting-up.md#aurora-mysql-kerberos-setting-up.create-users)
  + [Paso 5: crear o modificar un clúster de base de datos de Aurora MySQL](aurora-mysql-kerberos-setting-up.md#aurora-mysql-kerberos-setting-up.create-modify)
  + [Paso 6: crear usuarios de Aurora MySQL que usen la autenticación Kerberos](aurora-mysql-kerberos-setting-up.md#aurora-mysql-kerberos-setting-up.create-logins)
    + [Modificación de un inicio de sesión de Aurora MySQL existente](aurora-mysql-kerberos-setting-up.md#aurora-mysql-kerberos.modify-login)
  + [Paso 7: configurar un cliente MySQL](aurora-mysql-kerberos-setting-up.md#aurora-mysql-kerberos-setting-up.configure-client)
  + [Paso 8: (opcional) configurar la comparación de nombres de usuario que no distinga mayúsculas de minúsculas](aurora-mysql-kerberos-setting-up.md#aurora-mysql-kerberos-setting-up.case-insensitive)
+ [Conexión a Aurora MySQL con autenticación Kerberos](aurora-mysql-kerberos-connecting.md)
  + [Uso del inicio de sesión de Kerberos en Aurora MySQL para conectarse al clúster de base de datos](aurora-mysql-kerberos-connecting.md#aurora-mysql-kerberos-connecting.login)
  + [Autenticación Kerberos con bases de datos globales Aurora](aurora-mysql-kerberos-connecting.md#aurora-mysql-kerberos-connecting.global)
  + [Migración desde RDS para MySQL a Aurora MySQL](aurora-mysql-kerberos-connecting.md#aurora-mysql-kerberos-connecting.rds)
  + [Evitar el almacenamiento en caché de tickets](aurora-mysql-kerberos-connecting.md#aurora-mysql-kerberos.destroy-tickets)
  + [Registro para la autenticación Kerberos](aurora-mysql-kerberos-connecting.md#aurora-mysql-kerberos.logging)
+ [Administración de un clúster de base de datos en un dominio](aurora-mysql-kerberos-managing.md)
  + [Descripción de la pertenencia a los dominios](aurora-mysql-kerberos-managing.md#aurora-mysql-kerberos-managing.understanding)

## Información general de la autenticación Kerberos para clústeres de base de datos de Aurora MySQL
<a name="aurora-mysql-kerberos-setting-up-overview"></a>

Para configurar la autenticación Kerberos para un clúster de base de datos de Aurora MySQL, realice los siguientes pasos generales. Estos pasos se describen con más detalle más adelante.

1. Utilice AWS Managed Microsoft AD para crear un directorio de AWS Managed Microsoft AD. Puede utilizar la Consola de administración de AWS, la AWS CLI o Directory Service para crear el directorio. Para obtener más detalles, consulte [Create your AWS Managed Microsoft AD directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_getting_started_create_directory.html) (Creación de su directorio de AWS Managed Microsoft AD) en la *Guía de administración de AWS Directory Service*.

1. Cree un rol de AWS Identity and Access Management (IAM) que utilice la política de IAM administrada `AmazonRDSDirectoryServiceAccess`. El rol permite a Amazon Aurora realizar llamadas al directorio.

   Para que el rol permita el acceso, el punto de conexión AWS Security Token Service (AWS STS) debe activarse en la Región de AWS para su cuenta de AWS. Los puntos de conexión de AWS STS están activos de forma predeterminada en todas Regiones de AWS y puede usarlos sin ninguna acción posterior. Para obtener más información, consulte [Activación y desactivación de AWS STS en una región de Región de AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html#sts-regions-activate-deactivate) en la *Guía del usuario de IAM*.

1. Cree y configure usuarios en el directorio de AWS Managed Microsoft AD usando las herramientas de Microsoft Active Directory. Para obtener más información sobre la creación de usuarios en su Active Directory, consulte [Administrar usuarios y grupos en AWS Managed Microsoft AD](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_manage_users_groups.html) en la *guía de administración de AWS Directory Service*.

1. Cree o modifique un clúster de base de datos de Aurora MySQL. Si utiliza la CLI o la API de RDS en la solicitud de creación, especifique un identificador de dominio con el parámetro `Domain`. Utilice el identificador `d-*` que se ha generado al crear el directorio y el nombre del rol de IAM que ha creado.

   Si modifica un clúster de base de datos de Aurora MySQL ya existente para utilizar la autenticación Kerberos, establezca los parámetros de dominio y rol de IAM para el clúster de base de datos. Busque el clúster de base de datos en la misma VPC que el directorio de dominio.

1. Use las credenciales de usuario principal de Amazon RDS para conectarse al clúster de base de datos de Aurora MySQL. Cree el usuario de base de datos en Aurora MySQL siguiendo las instrucciones de [Paso 6: crear usuarios de Aurora MySQL que usen la autenticación Kerberos](aurora-mysql-kerberos-setting-up.md#aurora-mysql-kerberos-setting-up.create-logins).

   Los usuarios que cree de esta manera pueden iniciar sesión en el clúster de base de datos de Aurora MySQL con la autenticación Kerberos. Para obtener más información, consulte [Conexión a Aurora MySQL con autenticación Kerberos](aurora-mysql-kerberos-connecting.md).

Para utilizar la autenticación Kerberos con un Microsoft Active Directory en las instalaciones o autoalojado, cree una *relación de confianza entre bosques*. Una relación de confianza entre bosques es una relación de confianza entre dos grupos de dominios. La confianza puede ser unidireccional o bidireccional. Para obtener más información acerca de la configuración de relaciones de confianza entre bosques con Directory Service, consulte [Cuándo crear una relación de confianza](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_setup_trust.html) en la *Guía de administración de AWS Directory Service*.

## Limitaciones de la autenticación Kerberos para Aurora MySQL
<a name="aurora-mysql-kerberos.limitations"></a>

Las siguientes limitaciones se aplican a la autenticación Kerberos para Aurora MySQL:
+ La autenticación Kerberos es compatible con la versión 3.03 de Aurora MySQL y versiones posteriores.

  Para obtener más información sobre la compatibilidad en Región de AWS, consulte [Autenticación Kerberos con Aurora MySQL](Concepts.Aurora_Fea_Regions_DB-eng.Feature.KerberosAuthentication.md#Concepts.Aurora_Fea_Regions_DB-eng.Feature.KerberosAuthentication.amy).
+ Para usar la autenticación Kerberos con Aurora MySQL, su cliente o conector de MySQL debe usar la versión 8.0.26 o versiones posteriores en las plataformas Unix, y la versión 8.0.27 o versiones posteriores en Windows. De lo contrario, el complemento `authentication_kerberos_client` del lado del cliente no estará disponible y no podrá autenticarse.
+ Solo se admite AWS Managed Microsoft AD en Aurora MySQL. Sin embargo, puede unir clústeres de base de datos de Aurora MySQL a dominios compartidos de Managed Microsoft AD propiedad de distintas cuentas de la misma Región de AWS.

  También puede usar su propio Active Directory en las instalaciones. Para obtener más información, consulte [Paso 2: (opcional) crear una relación de confianza para un Active Directory en las instalaciones](aurora-mysql-kerberos-setting-up.md#aurora-mysql-kerberos-setting-up.create-trust).
+ Al utilizar Kerberos para autenticar a un usuario que se conecta al clúster de Aurora MySQL desde clientes MySQL o desde controladores del sistema operativo Windows, de forma predeterminada, las mayúsculas y minúsculas del nombre de usuario de la base de datos deben se iguales que las mayúsculas y minúsculas del usuario de 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`.

  Sin embargo, ahora puede usar la comparación de nombres de usuario que no distinga mayúsculas de minúsculas con el complemento `authentication_kerberos`. Para obtener más información, consulte [Paso 8: (opcional) configurar la comparación de nombres de usuario que no distinga mayúsculas de minúsculas](aurora-mysql-kerberos-setting-up.md#aurora-mysql-kerberos-setting-up.case-insensitive).
+ Debe reiniciar las instancias de base de datos del lector después de activar la característica para instalar el complemento `authentication_kerberos`.
+ La replicación en instancias de base de datos que no admiten el complemento `authentication_kerberos` puede provocar un error de replicación.
+ Para que las bases de datos globales de Aurora utilicen la autenticación Kerberos, debe configurarla para cada clúster de base de datos de la base de datos global.
+ El nombre de dominio debe tener menos de 62 caracteres.
+ No modifique el puerto del clúster de base de datos después de activar la autenticación Kerberos. Si modifica el puerto, la autenticación Kerberos dejará de funcionar. 

# Configuración de la autenticación Kerberos para clústeres de base de datos de Aurora MySQL
<a name="aurora-mysql-kerberos-setting-up"></a>

Utilice AWS Managed Microsoft AD para configurar la autenticación Kerberos para un clúster de base de datos de Aurora MySQL. Para configurar la autenticación Kerberos, siga los pasos que se indican a continuación:

**Topics**
+ [Paso 1: crear un directorio con AWS Managed Microsoft AD](#aurora-mysql-kerberos-setting-up.create-directory)
+ [Paso 2: (opcional) crear una relación de confianza para un Active Directory en las instalaciones](#aurora-mysql-kerberos-setting-up.create-trust)
+ [Paso 3: crear un rol de IAM para que lo use Amazon Aurora](#aurora-mysql-kerberos-setting-up.CreateIAMRole)
+ [Paso 4: crear y configurar usuarios](#aurora-mysql-kerberos-setting-up.create-users)
+ [Paso 5: crear o modificar un clúster de base de datos de Aurora MySQL](#aurora-mysql-kerberos-setting-up.create-modify)
+ [Paso 6: crear usuarios de Aurora MySQL que usen la autenticación Kerberos](#aurora-mysql-kerberos-setting-up.create-logins)
+ [Paso 7: configurar un cliente MySQL](#aurora-mysql-kerberos-setting-up.configure-client)
+ [Paso 8: (opcional) configurar la comparación de nombres de usuario que no distinga mayúsculas de minúsculas](#aurora-mysql-kerberos-setting-up.case-insensitive)

## Paso 1: crear un directorio con AWS Managed Microsoft AD
<a name="aurora-mysql-kerberos-setting-up.create-directory"></a>

Directory Service crea un directorio de Active Directory completamente administrado en la nube de AWS. Cuando crea un directorio de AWS Managed Microsoft AD, Directory Service crea dos controladores de dominio y servidores del sistema de nombres de dominio (DNS) en su nombre. Los servidores de directorios se crean en diferentes subredes de una VPC. Esta redundancia ayuda a garantizar que su directorio permanezca accesible incluso si ocurre un error.

Cuando crea un directorio de AWS Managed Microsoft AD, Directory Service realiza en su nombre las siguientes tareas:
+ Configurar un Active Directory dentro de la VPC.
+ Crea una cuenta de administrador del directorio con el nombre de usuario `Admin` y la contraseña especificada. Esta cuenta le permite administrar el directorio.
**nota**  
Asegúrese de guardar esta contraseña. Directory Service no la almacena. Es posible restablecerla, pero no recuperarla.
+ Crea un grupo de seguridad para los controladores del directorio.

Al lanzar AWS Managed Microsoft AD, AWS crea una unidad organizativa (OU) que contiene todos los objetos del directorio. Esta unidad organizativa tiene el nombre de NetBIOS que introdujo al crear el directorio. Se encuentra en la raíz del dominio, que es propiedad y está administrada por AWS.

La cuenta `Admin` que se creó con el directorio de AWS Managed Microsoft AD dispone de permisos para realizar las actividades administrativas más habituales para la unidad organizativa, entre las que se incluyen:
+ Crear, actualizar o eliminar usuarios
+ Añadir recursos a su dominio, como servidores de archivos o de impresión y, a continuación, asignar permisos para esos recursos a usuarios dentro de la unidad organizativa
+ Crear unidades organizativas y contenedores adicionales
+ Delegar autoridad
+ Restaurar objetos eliminados de la papelera de reciclaje de Active Directory
+ Ejecutar módulos de AD y DNS de Windows PowerShell en el servicio web de Active Directory 

La cuenta `Admin` también tiene derechos para realizar las siguientes actividades en todo el dominio:
+ Administrar configuraciones DNS (agregar, quitar o actualizar registros, zonas y programas de envío).
+ Ver logs de eventos DNS
+ Ver logs de eventos de seguridad

**Para crear un directorio con AWS Managed Microsoft AD**

1. Inicie sesión en Consola de administración de AWS y abra la consola de Directory Service en [https://console.aws.amazon.com/directoryservicev2/](https://console.aws.amazon.com/directoryservicev2/).

1. En el panel de navegación, elija **Directories (Directorios)** y, a continuación, **Set up Directory (Configurar directorio)**.

1. Elija **AWS Managed Microsoft AD**. AWS Managed Microsoft AD es la única opción que puede usar actualmente con Amazon RDS.

1. Introduzca la información siguiente:  
**Nombre de DNS del directorio**  
El nombre completo del directorio, como por ejemplo **corp.example.com**.  
**Nombre NetBIOS del directorio**  
El nombre abreviado del directorio, como **CORP**.  
**Descripción del directorio**  
(Opcional) Descripción del directorio.  
**Contraseña de administrador**  
Contraseña del administrador del directorio. El proceso de creación de directorios crea una cuenta de administrador con el nombre de usuario Admin y esta contraseña.  
La contraseña del administrador del directorio no puede contener la palabra "admin". La contraseña distingue entre mayúsculas y minúsculas y debe tener un mínimo de 864 caracteres y un máximo de 64. También debe contener al menos un carácter de tres de las siguientes categorías:  
   + Letras minúsculas (a–z)
   + Letras mayúsculas (A–Z)
   + Números (0–9)
   + Caracteres no alfanuméricos (\$1\$1@\$1\$1%^&\$1\$1-\$1=`\$1\$1()\$1\$1[]:;"'<>,.?/)  
**Confirm password**  
Se vuelve a introducir la contraseña del administrador.

1. Elija **Next (Siguiente)**.

1.  Escriba la siguiente información en la sección **Networking (Redes)** y luego seleccione **Next (Siguiente)**:  
**VPC**  
VPC del directorio. Cree el clúster de base de datos de Aurora MySQL en esta misma VPC.  
**Subredes**  
Subredes de los servidores del directorio. Las dos subredes deben estar en diferentes zonas de disponibilidad.

1. Revise la información del directorio y haga los cambios necesarios. Cuando la información sea correcta, seleccione **Create directory (Crear directorio)**.  
![\[Página de detalles del directorio durante la creación\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/AuroraUserGuide/images/WinAuth2.png)

El directorio tarda varios minutos en crearse. Cuando se haya creado correctamente, el valor de **Status (Estado)** cambiará a **Active (Activo)**.

Para consultar información de su directorio, seleccione el nombre del directorio en la descripción de directorios. Anote el valor de **ID del directorio** porque lo necesitará cuando cree o modifique su clúster de base de datos de Aurora MySQL.

![\[ID del directorio en la página de detalles del directorio\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/AuroraUserGuide/images/WinAuth3.png)


## Paso 2: (opcional) crear una relación de confianza para un Active Directory en las instalaciones
<a name="aurora-mysql-kerberos-setting-up.create-trust"></a>

Si no planea usar su propio Microsoft Active Directory local, vaya a [Paso 3: crear un rol de IAM para que lo use Amazon Aurora](#aurora-mysql-kerberos-setting-up.CreateIAMRole).

Para usar la autenticación Kerberos con Active Directory en las instalaciones, debe crear una relación de dominio de confianza entre Microsoft Active Directory en las instalaciones y el directorio AWS Managed Microsoft AD (creado en [Paso 1: crear un directorio con AWS Managed Microsoft AD](#aurora-mysql-kerberos-setting-up.create-directory)). La confianza puede ser unidireccional, donde el directorio AWS Managed Microsoft AD confía en Microsoft Active Directory local. La confianza también puede ser bidireccional, donde ambos Active Directories confían entre sí. Para obtener más información acerca de la configuración de relaciones de confianza con Directory Service, consulte [Cuándo crear una relación de confianza](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_setup_trust.html) en la *guía de administración de AWS Directory Service*.

**nota**  
Si utiliza Microsoft Active Directory en las instalaciones:  
Los clientes de Windows no pueden conectarse con utilizando punto de conexión personalizados de Aurora. Para obtener más información, consulte [Conexiones de puntos de conexión de Amazon Aurora](Aurora.Overview.Endpoints.md).
Para [bases de datos globales](aurora-global-database.md):  
Los clientes de Windows solo pueden conectarse mediante los puntos de enlace de la instancia o los del clúster en la Región de AWS principal de la base de datos global.
Los clientes de Windows no pueden conectarse mediante los puntos de enlace del clúster en Regiones de AWS secundarias.

Asegúrese de que el nombre de dominio local de Microsoft Active Directory incluya un enrutamiento de sufijo DNS que corresponda a la relación de confianza recién creada. En la siguiente captura de pantalla, se muestra un ejemplo.

![\[El enrutamiento DNS corresponde a la confianza creada\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/AuroraUserGuide/images/kerberos-auth-trust.png)


## Paso 3: crear un rol de IAM para que lo use Amazon Aurora
<a name="aurora-mysql-kerberos-setting-up.CreateIAMRole"></a>

Para que Amazon Aurora llame a Directory Service en su nombre, necesita un rol de AWS Identity and Access Management (IAM) que utilice la política de IAM administrada `AmazonRDSDirectoryServiceAccess`. Este rol permite a Aurora realizar llamadas a Directory Service.

Cuando crea un clúster de base de datos con la Consola de administración de AWS y tiene el permiso `iam:CreateRole`, la consola crea este rol automáticamente. En este caso, el nombre del rol es `rds-directoryservice-kerberos-access-role`. De no ser así, debe crear el rol de IAM manualmente. Cuando cree este rol de IAM, elija `Directory Service` y asocie la política administrada de AWS `AmazonRDSDirectoryServiceAccess` a este.

A fin de obtener más información acerca de la creación de roles de IAM para un servicio, consulte [Creación de un rol para delegar permisos a un servicio de AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) en la *guía del usuario de IAM*.

Opcionalmente, puede crear políticas con los permisos requeridos en vez de utilizar la política de IAM administrad `AmazonRDSDirectoryServiceAccess`. En este caso, el rol de IAM debe tener la siguiente política de confianza de IAM.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "directoryservice.rds.amazonaws.com",
          "rds.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

El rol debe también tener la siguiente política de rol de IAM.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "ds:DescribeDirectories",
        "ds:AuthorizeApplication",
        "ds:UnauthorizeApplication",
        "ds:GetAuthorizedApplicationDetails"
      ],
    "Effect": "Allow",
    "Resource": "*"
    }
  ]
}
```

------

## Paso 4: crear y configurar usuarios
<a name="aurora-mysql-kerberos-setting-up.create-users"></a>

Puede crear usuarios con la herramienta Usuarios y equipos de Active Directory. Esta herramienta forma parte de las herramientas Active Directory Domain Services y Active Directory Lightweight Directory Services. Los usuarios representan a las personas físicas o entidades que tienen acceso al directorio.

Para crear usuarios en un directorio de Directory Service, tiene que usar una instancia en las instalaciones o de Amazon EC2 basada en Microsoft Windows que esté unida a su directorio de Directory Service. Debe iniciar sesión en la instancia como usuario con privilegios para crear usuarios. Para obtener más información, consulte [Administrar usuarios y grupos de AWS Managed Microsoft AD en la ](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/creating_ad_users_and_groups.html)*Guía de administración de AWS Directory Service*.

## Paso 5: crear o modificar un clúster de base de datos de Aurora MySQL
<a name="aurora-mysql-kerberos-setting-up.create-modify"></a>

Cree o modifique un clúster de base de datos de Aurora MySQL para usarlo con su directorio. Puede utilizar la consola, la AWS CLI o la API de RDS para asociar un clúster de base de datos con un directorio. Puede realizar esta tarea de una de las siguientes formas:
+ Cree un nuevo clúster de base de datos de Aurora MySQL con la consola, el comando [create-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-cluster.html) de la CLI o la operación [CreateDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html) de la API de RDS.

  Para obtener instrucciones, consulte [Creación de un clúster de base de datos de Amazon Aurora](Aurora.CreateInstance.md).
+ Modifique un clúster de base de datos de Aurora MySQL existente con la consola, el comando [modify-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html) de la CLI o la operación [ModifyDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBCluster.html) de la API de RDS.

  Para obtener instrucciones, consulte [Modificación de un clúster de base de datos de Amazon Aurora](Aurora.Modifying.md).
+ Restaure un clúster de base de datos de Aurora MySQL a partir de una instantánea de base de datos con la consola, el comando [restore-db-cluster-from-snapshot](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-cluster-from-snapshot.html) de la CLI o la operación [RestoreDBClusterFromSnapshot](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBClusterFromSnapshot.html) de la API de RDS.

  Para obtener instrucciones, consulte [Restauración de una instantánea de clúster de base de datos](aurora-restore-snapshot.md).
+ Restaure un clúster de base de datos de Aurora MySQL a un punto en el tiempo con la consola, el comando [restore-db-cluster-to-point-in-time](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-cluster-to-point-in-time.html) de la CLI o la operación [RestoreDBClusterToPointInTime](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBClusterToPointInTime.html) de la API de RDS.

  Para obtener instrucciones, consulte [Restauración de un clúster de base de dato a un momento indicado](aurora-pitr.md).

La autenticación Kerberos solo es compatible con clústeres de base de datos de Aurora MySQL en una VPC. El clúster de base de datos puede estar en la misma VPC que el directorio o en una VPC diferente. La VPC del clúster de base de datos tiene que tener un grupo de seguridad de VPC que permita la comunicación saliente con su directorio. 

### Consola
<a name="aurora-mysql-kerberos-setting-up.create-modify.CON"></a>

Si utiliza la consola para crear, modificar o restaurar un clúster de base de datos, elija **Kerberos authentication (Autenticación de Kerberos)** en la sección **Database authentication (Autenticación de base de datos)**. Elija **Browse Directory (Examinar directorio)** y, a continuación, seleccione el directorio o elija **Create a new directory (Crear un nuevo directorio)**.

![\[Configuración de la autenticación Kerberos al crear un clúster de base de datos\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/AuroraUserGuide/images/kerberos-auth-create-cluster.png)


### AWS CLI
<a name="aurora-mysql-kerberos-setting-up.create-modify.CLI"></a>

Puede utilizar la AWS CLI o la API de RDS para asociar un clúster de base de datos con un directorio. Es necesario incluir los parámetros siguientes para que el clúster de base de datos pueda usar el directorio de dominio que ha creado:
+ Para el parámetro `--domain`, utilice el identificador de dominio (identificador "d-\$1") que se generó cuando creó el directorio.
+ Para el parámetro `--domain-iam-role-name`, utilice el rol que creó que usa la política `AmazonRDSDirectoryServiceAccess` de IAM administrada.

Por ejemplo, el siguiente comando de la CLI modifica un clúster de base de datos para que use un directorio.

Para Linux, macOS o Unix:

```
aws rds modify-db-cluster \
    --db-cluster-identifier mydbcluster \
    --domain d-ID \
    --domain-iam-role-name role-name
```

Para Windows:

```
aws rds modify-db-cluster ^
    --db-cluster-identifier mydbcluster ^
    --domain d-ID ^
    --domain-iam-role-name role-name
```

**importante**  
Si modifica un clúster de base de datos para activar la autenticación Kerberos, reinicie las instancias de base de datos del lector después de hacer el cambio.

## Paso 6: crear usuarios de Aurora MySQL que usen la autenticación Kerberos
<a name="aurora-mysql-kerberos-setting-up.create-logins"></a>

El clúster de base de datos está unido al dominio de AWS Managed Microsoft AD. Por lo tanto, puede crear usuarios de Aurora MySQL a partir de usuarios de Active Directory en su dominio. Los permisos de base de datos se administran mediante permisos estándar de Aurora MySQL que se conceden y revocan a estos usuarios.

Puede permitir que un usuario de Active Directory se autentique con Aurora MySQL. Para ello, primero use las credenciales del usuario principal de Amazon RDS para conectarse al clúster de base de datos de Aurora MySQL igual que con cualquier otro clúster de base de datos. Después de iniciar sesión, cree un usuario autenticado externamente con la autenticación Kerberos en Aurora MySQL, tal y como se muestra a continuación:

```
CREATE USER user_name@'host_name' IDENTIFIED WITH 'authentication_kerberos' BY 'realm_name';
```
+ Sustituya `user_name` por el nombre de usuario. Los usuarios (tanto humanos como aplicaciones) del dominio pueden conectarse ahora al clúster de base de datos desde un equipo cliente unido al dominio utilizando la autenticación Kerberos.
+ Sustituya `host_name` por el nombre del host. Puede utilizar `%` como comodín. También puede usar direcciones IP específicas para el nombre de host.
+ Sustituya *realm\$1name* por el nombre del ámbito del directorio del dominio. El nombre del ámbito suele ser el mismo que el nombre de dominio DNS en mayúsculas (por ejemplo, `CORP.EXAMPLE.COM`). Un ámbito es un grupo de sistemas que utilizan el mismo centro de distribución de claves de Kerberos.

En el siguiente ejemplo, se crea un usuario de base de datos con el nombre `Admin` que se autentica en Active Directory con el nombre de ámbito `MYSQL.LOCAL`.

```
CREATE USER Admin@'%' IDENTIFIED WITH 'authentication_kerberos' BY 'MYSQL.LOCAL';
```

### Modificación de un inicio de sesión de Aurora MySQL existente
<a name="aurora-mysql-kerberos.modify-login"></a>

También puede modificar un inicio de sesión de Aurora MySQL existente para usar la autenticación Kerberos mediante la siguiente sintaxis:

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

## Paso 7: configurar un cliente MySQL
<a name="aurora-mysql-kerberos-setting-up.configure-client"></a>

Para configurar un cliente MySQL, siga estos pasos:

1. Cree un archivo `krb5.conf` (o equivalente) para apuntar al dominio.

1. Verifique que el tráfico puede fluir entre el host cliente y Directory Service. Use una utilidad de red como, por ejemplo, Netcat, para lo siguiente:
   + Verificar el tráfico sobre DNS para el puerto 53.
   + Verificar el tráfico sobre TCP/UDP para el puerto 52 y para Kerberos, lo que incluye los puertos 88 y 464 para Directory Service.

1. Verifique que el tráfico puede fluir entre el host cliente y la instancia de base de datos sobre el puerto de base de datos. Por ejemplo, utilice `mysql` para conectarse a la base de datos y acceder a ella.

A continuación, se muestra un contenido de `krb5.conf` de ejemplo para AWS Managed Microsoft AD.

```
[libdefaults]
 default_realm = EXAMPLE.COM
[realms]
 EXAMPLE.COM = {
  kdc = example.com
  admin_server = example.com
 }
[domain_realm]
 .example.com = EXAMPLE.COM
 example.com = EXAMPLE.COM
```

A continuación, se muestra un contenido de `krb5.conf` de ejemplo para un Microsoft Active Directory en las instalaciones.

```
[libdefaults]
 default_realm = EXAMPLE.COM
[realms]
 EXAMPLE.COM = {
  kdc = example.com
  admin_server = example.com
 }
 ONPREM.COM = {
  kdc = onprem.com
  admin_server = onprem.com
 }
[domain_realm]
 .example.com = EXAMPLE.COM
 example.com = EXAMPLE.COM
 .onprem.com = ONPREM.COM
 onprem.com = ONPREM.COM  
 .rds.amazonaws.com = EXAMPLE.COM
 .amazonaws.com.rproxy.govskope.us.cn = EXAMPLE.COM
 .amazon.com = EXAMPLE.COM
```

## Paso 8: (opcional) configurar la comparación de nombres de usuario que no distinga mayúsculas de minúsculas
<a name="aurora-mysql-kerberos-setting-up.case-insensitive"></a>

De forma predeterminada, las mayúsculas y minúsculas del nombre de usuario de la base de datos de MySQL deben ser iguales que las del inicio de sesión en Active Directory. Sin embargo, ahora puede usar la comparación de nombres de usuario que no distinga mayúsculas de minúsculas con el complemento `authentication_kerberos`. Para ello, defina el parámetro `authentication_kerberos_caseins_cmp` del clúster de base de datos en `true`.

**Utilización de la comparación de nombres de usuario que no distingue mayúsculas de minúsculas**

1. Cree un grupo de parámetros de clúster de base de datos personalizado. Siga los procedimientos indicados en [Creación de un grupo de parámetros de clúster de base de datos en Amazon Aurora](USER_WorkingWithParamGroups.CreatingCluster.md).

1. Edite el nuevo grupo de parámetros para establecer el valor de `authentication_kerberos_caseins_cmp` en `true`. Siga los procedimientos indicados en [Modificación de los parámetros en un grupo de parámetros de clúster de base de datos en Amazon Aurora](USER_WorkingWithParamGroups.ModifyingCluster.md).

1. Asocie el grupo de parámetros del clúster de base de datos con el clúster de base de datos de MySQL. Siga los procedimientos indicados en [Asociación de un grupo de parámetros de clúster de base de datos con un clúster de base de datos en Amazon Aurora](USER_WorkingWithParamGroups.AssociatingCluster.md).

1. Reinicie el clúster de base de datos.

# Conexión a Aurora MySQL con autenticación Kerberos
<a name="aurora-mysql-kerberos-connecting"></a>

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
<a name="aurora-mysql-kerberos-connecting.login"></a>

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](aurora-mysql-kerberos-setting-up.md#aurora-mysql-kerberos-setting-up.create-logins).

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.

### Unix
<a name="aurora-mysql-kerberos-connecting.login.unix"></a>

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
   ```

1. 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
   ```

1. Introduzca la contraseña del usuario de Active Directory.

### Windows
<a name="aurora-mysql-kerberos-connecting.login.win"></a>

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
<a name="aurora-mysql-kerberos-connecting.global"></a>

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](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_configure_multi_region_replication.html) (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
<a name="aurora-mysql-kerberos-connecting.rds"></a>

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
<a name="aurora-mysql-kerberos.destroy-tickets"></a>

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
<a name="aurora-mysql-kerberos.logging"></a>

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.


| 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 | 

# Administración de un clúster de base de datos en un dominio
<a name="aurora-mysql-kerberos-managing"></a>

Puede usar la AWS CLI o la API de RDS para administrar el clúster de base de datos y su relación con su Active Directory administrado. Por ejemplo, puede asociar un Active Directory para la autenticación Kerberos y desasociar un Active Directory para desactivar la autenticación Kerberos. También puede mover un clúster de base de datos para que lo autentique externamente un Active Directory en otro.

Por ejemplo, con la API de Amazon RDS puede hacer lo siguiente:
+ Para volver a intentar activar la autenticación Kerberos en una pertenencia que ha dado un error, use la operación de API `ModifyDBInstance` y especifique el ID de directorio de la pertenencia actual.
+ Para actualizar el nombre del rol de IAM para la suscripción, use la operación `ModifyDBInstance` de la API y especifique el ID del directorio de la suscripción actual y el nuevo rol de IAM.
+ Para desactivar la autenticación Kerberos en un clúster de base de datos, utilice la operación de API `ModifyDBInstance` y especifique `none` como parámetro de dominio.
+ Para mover un clúster de base de datos de un dominio a otro, use la operación de API `ModifyDBInstance` y especifique el identificador del nuevo dominio como parámetro del dominio.
+ Para generar una lista de pertenencias de cada clúster de base de datos, utilice la operación de API `DescribeDBInstances`.

## Descripción de la pertenencia a los dominios
<a name="aurora-mysql-kerberos-managing.understanding"></a>

Una vez que haya creado o modificado un clúster de base de datos, este se convierte en miembro del dominio. Si desea ver el estado de pertenencia al dominio del clúster de base de datos, ejecute el comando de la CLI [describe-db-clusters](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-clusters.html). El estado del clúster de base de datos puede ser uno de los siguientes:
+ `kerberos-enabled`: el clúster de base de datos tiene activada la autenticación Kerberos.
+  `enabling-kerberos`: AWS está realizando el proceso de activación de la autenticación Kerberos en este clúster de base de datos.
+ `pending-enable-kerberos`: la activación de la autenticación Kerberos está pendiente en este clúster de base de datos.
+ `pending-maintenance-enable-kerberos`: AWS intentará activar la autenticación Kerberos en el clúster de base de datos durante el próximo periodo de mantenimiento programado.
+ `pending-disable-kerberos`: la desactivación de la autenticación Kerberos está pendiente en este clúster de base de datos.
+ `pending-maintenance-disable-kerberos`: AWS intentará desactivar la autenticación Kerberos en el clúster de base de datos durante el próximo periodo de mantenimiento programado.
+ `enable-kerberos-failed`: un problema de configuración ha impedido que AWS active la autenticación Kerberos en el clúster de base de datos. Compruebe y corrija la configuración antes de volver a ejecutar el comando para modificar el clúster de base de datos.
+ `disabling-kerberos`: AWS está realizando el proceso de desactivación de la autenticación Kerberos en este clúster de base de datos.

Una solicitud para activar la autenticación Kerberos puede generar un error a causa de un problema de conectividad de la red o de un rol de IAM incorrecto. Por ejemplo, supongamos que crea un clúster de base de datos o modifica un clúster de base de datos ya existente y se produce un error en el intento de activar la autenticación Kerberos. Si esto sucede, vuelva a ejecutar el comando modify o modifique el clúster de base de datos recién creado para unirse al dominio.