

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 un dominio propio con el inicio de sesión administrado
<a name="cognito-user-pools-add-custom-domain"></a>

Después de configurar un cliente de aplicación, puede configurar su grupo de usuarios con un dominio personalizado para los servicios de dominio del [inicio de sesión administrado](cognito-user-pools-managed-login.md). Con un dominio personalizado, los usuarios pueden iniciar sesión en su aplicación con su propia dirección web en lugar del [dominio de prefijo](cognito-user-pools-assign-domain-prefix.md) de `amazoncognito.com`. Los dominios personalizados mejoran la confianza de los usuarios en una aplicación con un nombre de dominio conocido, especialmente cuando el dominio raíz coincide con el dominio que aloja la aplicación. Los dominios personalizados pueden mejorar el cumplimiento de los requisitos de seguridad de la organización.

Un dominio personalizado tiene algunos requisitos previos, como un grupo de usuarios, un cliente de aplicación y un dominio web de su propiedad. Los dominios personalizados también requieren un certificado SSL para el dominio personalizado, administrado con AWS Certificate Manager (ACM) en EE. UU. Este (Norte de Virginia). Amazon Cognito crea una CloudFront distribución de Amazon, asegurada en tránsito con su certificado ACM. Como usted es el propietario del dominio, debe crear un registro DNS que dirija el tráfico a la CloudFront distribución de su dominio personalizado.

Cuando estos elementos estén listos, puede añadir el dominio personalizado a su grupo de usuarios a través de la API o la consola de Amazon Cognito. Esto implica especificar el nombre de dominio y el certificado SSL y, a continuación, actualizar la configuración de DNS con el alias de destino proporcionado. Después de realizar estos cambios, puede comprobar si se puede acceder a la página de inicio de sesión desde el dominio personalizado.

La forma más sencilla de crear un dominio personalizado es con una zona alojada pública en Amazon Route 53. La consola de Amazon Cognito puede crear los registros DNS correctos en unos pocos pasos. Antes de empezar, valore la posibilidad de [crear una zona alojada de Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/CreatingHostedZone.html) para un dominio o subdominio de su propiedad.

**Topics**
+ [Adición de un dominio personalizado a un grupo de usuarios](#cognito-user-pools-add-custom-domain-adding)
+ [Requisitos previos](#cognito-user-pools-add-custom-domain-prereq)
+ [Paso 1: Introducir el nombre de dominio personalizado](#cognito-user-pools-add-custom-domain-console-step-1)
+ [Paso 2: Agregar un destino de alias y un subdominio](#cognito-user-pools-add-custom-domain-console-step-2)
+ [Paso 3: Verificar la página de inicio de sesión](#cognito-user-pools-add-custom-domain-console-step-3)
+ [Cambio del certificado SSL en el dominio personalizado](#cognito-user-pools-add-custom-domain-changing-certificate)

## Adición de un dominio personalizado a un grupo de usuarios
<a name="cognito-user-pools-add-custom-domain-adding"></a>

Para agregar un dominio personalizado al grupo de usuarios, debe especificar el nombre de dominio en la consola de Amazon Cognito y proporcionar un certificado que administre con [AWS Certificate Manager](https://docs.aws.amazon.com/acm/latest/userguide/) (ACM). Una vez agregado el dominio, Amazon Cognito ofrece un destino de alias, que debe agregarse a la configuración de DNS.

## Requisitos previos
<a name="cognito-user-pools-add-custom-domain-prereq"></a>

Antes de comenzar, necesitará:
+ Un grupo de usuarios con un cliente de aplicación. Para obtener más información, consulte [Introducción a los grupos de usuarios](getting-started-user-pools.md).
+ Un dominio web de su propiedad. Su *dominio principal* debe tener un **registro DNS A** válido. Puede asignar cualquier valor a este registro. El elemento principal puede ser la raíz del dominio o un dominio secundario que esté un paso más arriba en la jerarquía de dominios. Por ejemplo, si el dominio personalizado es *auth.xyz.example.com*, Amazon Cognito debe poder resolver *xyz.example.com* a una dirección IP. Para evitar un impacto accidental en la infraestructura del cliente, Amazon Cognito no admite el uso de dominios de nivel superior (TLDs) para dominios personalizados. Para obtener más información, consulte [Nombres de dominio](https://tools.ietf.org/html/rfc1035).
+ Tener la capacidad para crear un subdominio en el dominio personalizado. Le recomendamos **auth** para el nombre de su subdominio. Por ejemplo: {{auth.example.com}}.
**nota**  
Si no dispone de un [certificado comodín](https://en.wikipedia.org/wiki/Wildcard_certificate), es posible que tenga que obtener un nuevo certificado para el subdominio del dominio personalizado.
+ Un SSL/TLS certificado público gestionado por ACM en el este de EE. UU. (Virginia del Norte). El certificado debe estar en us-east-1 porque se asociará a una distribución CloudFront en un servicio global.
+ Clientes de navegador compatibles con la indicación del nombre de servidor (SNI). La CloudFront distribución que Amazon Cognito asigna a los dominios personalizados requiere el SNI. No se puede cambiar esta configuración. Para obtener más información sobre el SNI en CloudFront las distribuciones, consulte [Usar el SNI para atender solicitudes HTTPS en la Guía](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cnames-https-dedicated-ip-or-sni.html#cnames-https-sni) para desarrolladores de *Amazon CloudFront *.
+ Una aplicación que permite al servidor de autorización del grupo de usuarios añadir cookies a las sesiones de los usuarios. Amazon Cognito establece varias cookies obligatorias para las páginas del inicio de sesión administrado. Entre ellos se encuentran `cognito`, `cognito-fl` y `XSRF-TOKEN`. Si bien cada cookie individual se ajusta a los límites de tamaño del navegador, los cambios en la configuración del grupo de usuarios pueden provocar que las cookies del inicio de sesión administrado aumenten de tamaño. Un servicio intermedio, como un equilibrador de carga de aplicación (ALB), delante del dominio personalizado puede imponer un tamaño máximo de encabezado o un tamaño total de cookies. Si la aplicación también establece sus propias cookies, es posible que las sesiones de los usuarios superen estos límites. Le recomendamos que, para evitar conflictos con los límites de tamaño, su aplicación no establezca cookies en el subdominio que aloja los servicios de dominio de su grupo de usuarios.
+ Permiso para actualizar las CloudFront distribuciones de Amazon. Puede hacerlo adjuntando la siguiente declaración de política de IAM a un usuario en su Cuenta de AWS:

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
           {
              "Sid": "AllowCloudFrontUpdateDistribution",
              "Effect": "Allow",
              "Action": [
                  "cloudfront:updateDistribution"
              ],
              "Resource": [
                  "*"
              ]
          }
      ]
  }
  ```

------

  Para obtener más información sobre cómo autorizar acciones en CloudFront, consulte [Uso de políticas basadas en la identidad (políticas de IAM](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/access-control-managing-permissions.html)) para. CloudFront

  Amazon Cognito utiliza inicialmente sus permisos de IAM para configurar la CloudFront distribución, pero la gestión de la distribución corre a cargo de. AWS No puede cambiar la configuración de la CloudFront distribución que Amazon Cognito asoció a su grupo de usuarios. Por ejemplo, puede actualizar las versiones de TLS compatibles en la política de seguridad.

## Paso 1: Introducir el nombre de dominio personalizado
<a name="cognito-user-pools-add-custom-domain-console-step-1"></a>

Puede agregar el dominio al grupo de usuarios con una API o la consola de Amazon Cognito.

------
#### [ Amazon Cognito console ]

**Para agregar un dominio al grupo de usuarios mediante la consola de Amazon Cognito:**

1. Vaya al menú **Dominio** en **Creación de marca**.

1. Junto a **Dominio**, elija **Acciones** y seleccione **Crear dominio personalizado** o **Crear dominio de Amazon Cognito**. Si ya ha configurado un dominio personalizado del grupo de usuarios, seleccione **Eliminar dominio personalizado** antes de crear su nuevo dominio personalizado.

1. Junto a **Dominio**, elija **Acciones** y seleccione **Crear dominio personalizado**. Si ya ha configurado un dominio personalizado, elija **Eliminar dominio personalizado** para eliminar el dominio existente antes de crear el nuevo dominio personalizado.

1. Para **Custom domain (Dominio personalizado)**, introduzca la URL del dominio que desea utilizar con Amazon Cognito. El nombre de dominio solo puede incluir letras minúsculas, números y guiones. No utilice un guion en el primer carácter ni en el último. Utilice puntos para separar los nombres de los subdominios.

1. En **ACM certificate (Certificado de ACM)**, elija el certificado SSL que desee utilizar con el dominio. Solo los certificados ACM de EE. UU. Este (Virginia del Norte) son aptos para su uso con un dominio personalizado de Amazon Cognito, independientemente Región de AWS del grupo de usuarios.

   Si no dispone de un certificado disponible, puede utilizar ACM para aprovisionar uno en EE. UU. Este (Norte de Virginia). Para obtener más información, consulte la [introducción](https://docs.aws.amazon.com/acm/latest/userguide/gs.html) de la *Guía del usuario de AWS Certificate Manager *.

1. Elija una **Versión de marca**. Su versión de marca se aplica a todas las páginas interactivas para el usuario de ese dominio. Su grupo de usuarios puede alojar el inicio de sesión administrado o la marca de interfaz de usuario alojada para todos los clientes de aplicación.
**nota**  
Puede tener un dominio personalizado y un dominio de prefijo, pero Amazon Cognito solo servirá el punto de conexión `/.well-known/openid-configuration` para el dominio *personalizado*.

1. Seleccione **Crear**.

1. Amazon Cognito lo devuelve al menú **Dominio**. Se muestra un mensaje titulado **Create an alias record in your domain's DNS (Cree un registro de alias en el DNS de su dominio)**. Anote el **Domain (Dominio)** y el **Alias Target (Destino de alias)** que se muestra en la consola. Se utilizarán en el paso siguiente para dirigir el tráfico a su dominio personalizado.

------
#### [ API ]

El siguiente cuerpo de [CreateUserPoolDomain](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPoolDomain.html)solicitud crea un dominio personalizado.

```
{
   "Domain": "auth.example.com",
   "UserPoolId": "us-east-1_EXAMPLE",
   "ManagedLoginVersion": 2,
   "CustomDomainConfig": {
    "CertificateArn": "arn:aws:acm:us-east-1:111122223333:certificate/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
   }
}
```

------

## Paso 2: Agregar un destino de alias y un subdominio
<a name="cognito-user-pools-add-custom-domain-console-step-2"></a>

En este paso, configurará un alias mediante el proveedor de servicios de servidor de nombres de dominio (DNS) que apunta al destino de alias del paso anterior. Si utiliza Amazon Route 53 para la resolución de direcciones DNS, elija la sección **To add an alias target and subdomain using Route 53 (Para agregar un destino de alias y un subdominio con Route 53).**

### Para añadir un destino de alias y un subdominio a la configuración de DNS actual
<a name="cognito-user-pools-add-custom-domain-console-step-2a"></a>
+ Si no utiliza Route 53 para la resolución de direcciones de DNS, entonces debe usar las herramientas de configuración del proveedor de servicios de DNS para agregar el destino de alias del paso anterior al registro del DNS del dominio. El proveedor de DNS también deberá configurar el subdominio para el dominio personalizado.

### Para agregar un destino de alias y un subdominio con Route 53, siga estos pasos:
<a name="cognito-user-pools-add-custom-domain-console-step-2b"></a>

1. Inicie sesión en la [consola de Route 53](https://console.aws.amazon.com/route53/). Si se le solicita, introduzca sus AWS credenciales.

1. Si no dispone de una zona alojada pública en Route 53, cree una con una raíz que sea la principal de su dominio personalizado. Para obtener más información, consulte [Creating a public hosted zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/CreatingHostedZone.html) en la *Guía para desarrolladores de Amazon Route 53*.

   1. Elija **Create Hosted Zone (Crear zona alojada)**.

   1. Introduzca el dominio principal, por ejemplo{{auth.example.com}}, de su dominio personalizado, por ejemplo{{myapp.auth.example.com}}, de la lista de **nombres de dominio**.

   1. Introduzca una **Descripción** para su zona alojada.

   1. Elija una zona alojada **Type (Tipo)** de **Public hosted zone (Zona alojada pública)** para permitir que los clientes públicos resuelvan su dominio personalizado. Elegir una **Private hosted zone (Zona alojada privada)** no es compatible.

   1. Aplique **Tags (Etiquetas)** como desee.

   1. Elija **Crear zona alojada**.
**nota**  
También puede crear una nueva zona alojada para su dominio personalizado con una delegación establecida en la zona alojada principal que dirija las consultas a la zona alojada del subdominio. De lo contrario, cree un registro A. Este método ofrece más flexibilidad y seguridad con las zonas alojadas. Para obtener más información, consulte [Creating a subdomain for a domain hosted through Amazon Route 53 (Creación de un subdominio para un dominio alojado mediante Amazon Route 53)](https://aws.amazon.com/premiumsupport/knowledge-center/create-subdomain-route-53/).

1. En la página **Hosted Zones** (Zonas alojadas), elija el nombre de la zona alojada.

1. Agregue un registro DNS para el dominio principal de su dominio personalizado, si aún no dispone de uno. Cree un registro de DNS para el dominio principal con las siguientes propiedades:
   + **Nombre del registro**: déjelo en blanco.
   + **Tipo de registro**: `A`.
   + **Alias**: no lo habilite.
   + **Valor**: introduzca un objetivo de su elección. Este registro debe convertirse en *algo*, pero el valor del registro no le importa a Amazon Cognito.
   + **TTL**: configúrelo en el TTL que prefiera o déjelo como predeterminado.
   + **Política de direccionamiento**: elija **Direccionamiento sencillo**.

1. Elija **Crear registros**. El siguiente es un ejemplo de registro para el dominio{{example.com}}:

   `{{example.com.}} 60 IN A {{198.51.100.1}}`
**nota**  
Amazon Cognito verifica que haya un registro DNS para el dominio principal de su dominio personalizado para protegerlo contra la apropiación accidental de dominios de producción. Si no tiene un registro DNS para el dominio principal, Amazon Cognito devolverá un error cuando intente establecer el dominio personalizado. Un registro de inicio de autoridad (SOA) no es un registro de DNS suficiente para la verificación del dominio principal.

1. Agregue otro registro de DNS para el dominio personalizado con las siguientes propiedades:
   + **Nombre de registro**: el prefijo de dominio personalizado; por ejemplo, `auth` para crear un registro para `auth.example.com`.
   + **Tipo de registro**: `A`.
   + **Alias**: habilítelo.
   + **Dirigir el tráfico a**: elija **Alias de la distribución de CloudFront**. Introduzca el **Destino de alias** registrado anteriormente, por ejemplo, `123example.cloudfront.net`.
   + **Política de direccionamiento**: elija **Direccionamiento sencillo**.

1. Elija **Crear registros**.
**nota**  
Los nuevos registros pueden tardar unos 60 segundos en propagarse a todos los servidores DNS de Route 53. Puede usar el método de la [GetChange](https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetChange.html)API de Route 53 para comprobar que los cambios se han propagado. 

## Paso 3: Verificar la página de inicio de sesión
<a name="cognito-user-pools-add-custom-domain-console-step-3"></a>
+ Compruebe que la página de inicio de sesión está disponible desde el dominio personalizado.

  Inicie sesión con el dominio personalizado y el subdominio; para ello, introduzca esta dirección en el navegador. Esta es una URL de ejemplo de un dominio personalizado {{example.com}} con el {{auth}} subdominio:

  ```
  https://{{myapp}}.{{auth}}.{{example.com}}/login?response_type=code&client_id={{<your_app_client_id>}}&redirect_uri={{<your_callback_url>}}
  ```

## Cambio del certificado SSL en el dominio personalizado
<a name="cognito-user-pools-add-custom-domain-changing-certificate"></a>

Si es necesario, puede utilizar Amazon Cognito para cambiar el certificado que se ha aplicado al dominio personalizado.

Esta operación no suele ser necesaria si se mantiene una renovación rutinaria de certificados con ACM. Cuando se renueva el certificado actual en ACM, el ARN del certificado sigue siendo el mismo, y el nombre de dominio personalizado utiliza el nuevo certificado de manera automática.

Sin embargo, si el certificado actual se sustituye por otro nuevo, ACM proporciona otro ARN al nuevo certificado. Para aplicar el nuevo certificado al dominio personalizado, debe proporcionar este ARN a Amazon Cognito.

Una vez proporcionado el certificado, Amazon Cognito puede necesitar hasta una hora para distribuirlo en el dominio personalizado.

**Antes de empezar**  
Para poder cambiar el certificado en Amazon Cognito, debe agregarlo a ACM. Para obtener más información, consulte la [introducción](https://docs.aws.amazon.com/acm/latest/userguide/gs.html) de la *Guía del usuario de AWS Certificate Manager *.  
Cuando añada el certificado a ACM, debe seleccionar US East (N. Virginia) [Este de EE. UU. (Norte de Virginia)] como región de AWS .

Puede cambiar el certificado con una API o la consola de Amazon Cognito.

------
#### [ Consola de administración de AWS ]

**Para renovar un certificado mediante la consola de Amazon Cognito:**

1. Inicie sesión en la consola de Amazon Cognito Consola de administración de AWS y ábrala en. [https://console.aws.amazon.com/cognito/home](https://console.aws.amazon.com/cognito/home)

1. Elija **User Pools (Grupos de usuarios)**.

1. Elija el grupo de usuarios para el que desea actualizar el certificado.

1. Elija el menú **Dominio**.

1. Elija **Actions (Acciones)**, **Edit ACM certificate (Editar certificado de ACM)**.

1. Seleccione el nuevo certificado que desea asociar a su dominio personalizado.

1. Seleccione **Save changes (Guardar cambios)**.

------
#### [ API ]

**Para renovar un certificado (API de Amazon Cognito)**
+ Utilice la acción [UpdateUserPoolDomain](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPoolDomain.html).

------