

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Usar o próprio domínio para fazer login gerenciado
<a name="cognito-user-pools-add-custom-domain"></a>

Após configurar um cliente da aplicação, você poderá configurar o grupo de usuários com um domínio personalizado para os serviços de domínio do [login gerenciado](cognito-user-pools-managed-login.md). Com um domínio personalizado, os usuários podem fazer login na aplicação usando seu próprio endereço da web em vez do [domínio de prefixo](cognito-user-pools-assign-domain-prefix.md) `amazoncognito.com`. Domínios personalizados melhoram a confiança do usuário em sua aplicação com um nome de domínio familiar, especialmente quando o domínio raiz corresponde ao domínio que hospeda a aplicação. Os domínios personalizados podem melhorar a conformidade com os requisitos de segurança da organização.

Um domínio personalizado tem alguns pré-requisitos, incluindo um grupo de usuários, um cliente da aplicação e um domínio da web de sua propriedade. Os domínios personalizados também exigem um certificado SSL para o domínio personalizado, gerenciado com AWS Certificate Manager (ACM) no Leste dos EUA (Norte da Virgínia). O Amazon Cognito cria uma CloudFront distribuição da Amazon, protegida em trânsito com seu certificado ACM. Como você é proprietário do domínio, você deve criar um registro DNS que direcione o tráfego para a CloudFront distribuição do seu domínio personalizado.

Com esses elementos prontos, você pode adicionar o domínio personalizado ao grupo de usuários por meio do console ou da API do Amazon Cognito. Isso envolve especificar o nome de domínio e o certificado SSL e, em seguida, atualizar sua configuração de DNS com o destino de alias fornecido. Depois de fazer essas alterações, você pode verificar se a página de login está acessível no seu domínio personalizado.

A maneira mais simples de criar um domínio personalizado é com uma zona hospedada pública no Amazon Route 53. O console do Amazon Cognito pode criar os registros DNS corretos em algumas etapas. Antes de começar, considere [criar uma zona hospedada do Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/CreatingHostedZone.html) para um domínio ou subdomínio que você possua.

**Topics**
+ [Como adicionar um domínio personalizado a um grupo de usuários](#cognito-user-pools-add-custom-domain-adding)
+ [Pré-requisitos](#cognito-user-pools-add-custom-domain-prereq)
+ [Etapa 1: insira o nome de domínio personalizado](#cognito-user-pools-add-custom-domain-console-step-1)
+ [Etapa 2: adicionar um destino do alias e subdomínio](#cognito-user-pools-add-custom-domain-console-step-2)
+ [Etapa 3: verificar a página de acesso](#cognito-user-pools-add-custom-domain-console-step-3)
+ [Como alterar o certificado SSL do seu domínio personalizado](#cognito-user-pools-add-custom-domain-changing-certificate)

## Como adicionar um domínio personalizado a um grupo de usuários
<a name="cognito-user-pools-add-custom-domain-adding"></a>

Para adicionar um domínio personalizado para seu grupo de usuários, especifique o nome de domínio no console do Amazon Cognito e forneça um certificado que você gerencia com o [AWS Certificate Manager](https://docs.aws.amazon.com/acm/latest/userguide/) (ACM). Depois de adicionar seu domínio, o Amazon Cognito fornece um destino de alias, que você adiciona à sua configuração de DNS.

## Pré-requisitos
<a name="cognito-user-pools-add-custom-domain-prereq"></a>

Antes de começar, você precisa de:
+ Um grupo de usuários com um cliente de aplicativo. Para obter mais informações, consulte [Conceitos básicos dos grupos de usuários](getting-started-user-pools.md).
+ Um domínio da Web do qual você é proprietário. O *domínio superior* deve ter um **registro A** DNS válido. Você pode atribuir qualquer valor a esse registro. O domínio superior pode ser a raiz do domínio ou um domínio inferior que fica um nível acima na hierarquia do domínio. Por exemplo, se o domínio personalizado for *auth.xyz.exemplo.com*, o Amazon Cognito precisará ser capaz de resolver *xyz.exemplo.com* como um endereço IP. Para evitar um impacto acidental na infraestrutura do cliente, o Amazon Cognito não suporta o uso de domínios de primeiro nível TLDs () para domínios personalizados. Para obter mais informações, consulte [Nomes de domínio](https://tools.ietf.org/html/rfc1035).
+ A capacidade de criar um subdomínio para seu domínio personalizado. Recomendamos **auth** para o nome do subdomínio. Por exemplo: *auth.example.com*.
**nota**  
Poderá ser necessário obter um novo certificado para o subdomínio do domínio personalizado se você não tiver um [certificado curinga](https://en.wikipedia.org/wiki/Wildcard_certificate).
+ Um SSL/TLS certificado público gerenciado pela ACM no Leste dos EUA (Norte da Virgínia). O certificado deve estar em us-east-1 porque será associado a uma distribuição CloudFront em, um serviço global.
+ Clientes de navegador compatíveis com Server Name Indication (SNI). A CloudFront distribuição que o Amazon Cognito atribui aos domínios personalizados requer SNI. Você não pode alterar essa configuração. Para obter mais informações sobre o SNI nas CloudFront distribuições, consulte [Usar o SNI para atender solicitações HTTPS](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cnames-https-dedicated-ip-or-sni.html#cnames-https-sni) no *Amazon CloudFront * Developer Guide.
+ Uma aplicação que permite que o servidor de autorização do grupo de usuários adicione cookies às sessões do usuário. O Amazon Cognito define vários cookies obrigatórios para páginas de login gerenciado. Entre eles estão `cognito`, `cognito-fl` e `XSRF-TOKEN`. Embora cada cookie individual respeite os limites de tamanho do navegador, alterações na configuração do grupo de usuários podem fazer com que os cookies do login gerenciado aumentem de tamanho. Um serviço intermediário, como o Application Load Balancer (ALB), na frente do domínio personalizado pode impor um tamanho máximo de cabeçalho ou tamanho total do cookie. Se a aplicação também definir seus próprios cookies, as sessões dos usuários poderão exceder esses limites. Para evitar conflitos de limite de tamanho, recomendamos que a aplicação não defina cookies no subdomínio que hospeda os serviços de domínio do grupo de usuários.
+ Permissão para atualizar as CloudFront distribuições da Amazon. Você pode fazer isso anexando a declaração de política do IAM a seguir a um usuário em sua Conta da AWS:

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

****  

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

------

  Para obter mais informações sobre como autorizar ações em CloudFront, consulte [Usando políticas baseadas em identidade (políticas do IAM)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/access-control-managing-permissions.html) para. CloudFront

  O Amazon Cognito inicialmente usa suas permissões do IAM para configurar a CloudFront distribuição, mas a distribuição é gerenciada por. AWS Você não pode alterar a configuração da CloudFront distribuição que o Amazon Cognito associou ao seu grupo de usuários. Por exemplo, não é possível atualizar as versões de TLS compatíveis na política de segurança.

## Etapa 1: insira o nome de domínio personalizado
<a name="cognito-user-pools-add-custom-domain-console-step-1"></a>

É possível adicionar seu domínio ao grupo de usuários usando a API ou o console do Amazon Cognito.

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

**Para adicionar o domínio ao grupo de usuários diretamente do console do Amazon Cognito:**

1. Navegue até o menu **Domínio** em **Identidade visual**.

1. Ao lado de **Domínio**, escolha **Ações** e **Criar domínio personalizado** ou **Criar domínio do Amazon Cognito**. Se já tiver configurado um domínio personalizado de grupo de usuários, clique em **Excluir domínio personalizado** antes de criar seu novo domínio personalizado.

1. Ao lado de **Domínio**, selecione **Ações** e clique em **Criar domínio personalizado**. Se você já configurou um domínio personalizado, clique em **Excluir domínio personalizado** para excluir o domínio existente antes de criar seu novo domínio personalizado.

1. Para o **Custom domain** (Domínio personalizado), insira o URL do domínio que você deseja usar com o Amazon Cognito. Seu nome de domínio pode incluir somente letras minúsculas, números e hífens. Não use um hífen como primeiro ou último caractere. Use pontos para separar nomes de subdomínio.

1. Para o **ACM certificate** (Certificado do ACM), escolha o certificado SSL que você deseja usar para seu domínio. Somente certificados ACM no Leste dos EUA (Norte da Virgínia) estão qualificados para uso com um domínio personalizado do Amazon Cognito, independentemente Região da AWS do seu grupo de usuários.

   Se você não tem um certificado disponível, poderá usar o ACM para implantar um no Leste dos EUA (Norte da Virgínia). Para obter mais informações, consulte [Conceitos básicos](https://docs.aws.amazon.com/acm/latest/userguide/gs.html) no *Guia do usuário do AWS Certificate Manager *.

1. Escolha uma **Versão de marca**. Sua versão de marca se aplica a todas as páginas interativas nesse domínio. Seu grupo de usuários pode hospedar a identidade visual do login gerenciado ou da IU hospedada para todos os clientes da aplicação.
**nota**  
Você pode ter um domínio personalizado e um domínio de prefixo, mas o Amazon Cognito só fornece o endpoint `/.well-known/openid-configuration` para o domínio *personalizado*.

1. Escolha **Criar**.

1. O Amazon Cognito retorna você ao menu **Domínio**. Uma mensagem intitulada **Create an alias record in your domain's DNS** (Criar um registro de alias no DNS do seu domínio) é exibida. Anote o **Domain** (Domínio) e **Alias target** (Destino do alias) exibidos no console. Eles serão usados na próxima etapa para direcionar o tráfego para o seu domínio personalizado.

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

O corpo da [CreateUserPoolDomain](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPoolDomain.html)solicitação a seguir cria um domínio 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"
   }
}
```

------

## Etapa 2: adicionar um destino do alias e subdomínio
<a name="cognito-user-pools-add-custom-domain-console-step-2"></a>

Nesta etapa, configure um alias por meio do seu provedor de serviços do servidor de nome de domínio (DNS) que aponta para o destino do alias da etapa anterior. Se você estiver usando o Amazon Route 53 para resolução do endereço DNS, escolha a seção **To add an alias target and subdomain using Route 53** (Para adicionar um destino do alias e subdomínio usando o Route 53).

### Para adicionar um destino do alias e subdomínio à sua configuração atual do DNS
<a name="cognito-user-pools-add-custom-domain-console-step-2a"></a>
+ Se não estiver usando o Route 53 para resolução do endereço DNS, é necessário utilizar as ferramentas de configuração do seu provedor de serviço DNS para adicionar o destino do alias da etapa anterior ao registro DNS do domínio. O provedor DNS também precisará configurar o subdomínio para o seu domínio personalizado.

### Para adicionar um destino do alias e subdomínio usando o Route 53
<a name="cognito-user-pools-add-custom-domain-console-step-2b"></a>

1. Faça login no [console do Route 53](https://console.aws.amazon.com/route53/). Se solicitado, insira suas AWS credenciais.

1. Se não tiver uma zona hospedada pública no Route 53, crie uma com uma raiz que seja pai do seu domínio personalizado. Para obter mais informações, consulte [Criar uma zona hospedada pública](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/CreatingHostedZone.html) no *Guia do desenvolvedor do Amazon Route 53*.

   1. Escolha **Criar zona hospedada**.

   1. Insira o domínio principal, por exemplo*auth.example.com*, do seu domínio personalizado, por exemplo*myapp.auth.example.com*, na lista de **nomes de domínio**.

   1. Insira uma **Descrição** para a sua zona hospedada.

   1. Selecione um **Type** (Tipo) de zona hospedada de **Public hosted zone** (Zona hospedada pública) para permitir que clientes públicos resolvam seu domínio personalizado. Não há compatibilidade com a seleção de **Private hosted zone** (Zona hospedada privada).

   1. Aplique **Etiquetas** como desejar.

   1. Escolha **Criar zona hospedada**.
**nota**  
Também é possível criar uma nova zona hospedada para o domínio personalizado com um conjunto de delegação na zona hospedada principal que direciona consultas para a zona hospedada do subdomínio. Caso contrário, crie um registro A. Esse método oferece mais flexibilidade e segurança com suas zonas hospedadas. Para mais informações, consulte [Creating a subdomain for a domain hosted through Amazon Route 53](https://aws.amazon.com/premiumsupport/knowledge-center/create-subdomain-route-53/) (Criar um subdomínio para um domínio hospedado por meio do Amazon Route 53).

1. Na página **Hosted Zones (Zonas hospedadas)**, escolha o nome da sua zona hospedada.

1. Adicione um registro DNS ao domínio pai do seu domínio personalizado, caso ainda não tenha um. Crie um registro DNS para o domínio pai com as propriedades a seguir:
   + **Nome do registro**: deixe em branco.
   + **Tipo de registro**: `A`.
   + **Alias**: não ative.
   + **Valor**: insira o valor desejado. Esse registro deve ser resolvido como *algo*, mas o valor do registro não importa para o Amazon Cognito.
   + **TTL**: defina como seu TTL preferido ou deixe o padrão.
   + **Política de roteamento**: escolha **roteamento simples**.

1. Escolha **Criar registros**. Veja a seguir um exemplo de registro para o domínio*example.com*:

   `example.com. 60 IN A 198.51.100.1`
**nota**  
O Amazon Cognito verifica que há um registro DNS para o domínio pai do seu domínio personalizado para proteger contra o sequestro acidental de domínios de produção. Se você não tiver um registro DNS para o domínio pai, o Amazon Cognito retornará um erro quando você tentar definir o domínio personalizado. Um registro de Início de autoridade (SOA) não é um registro DNS suficiente para fins de verificação do domínio pai.

1. Adicione outro registro DNS para seu domínio personalizado com as seguintes propriedades:
   + **Nome do registro**: prefixo do domínio personalizado, por exemplo, `auth` para criar um registro para `auth.example.com`.
   + **Tipo de registro**: `A`.
   + **Alias**: ative.
   + **Rotear tráfego para**: escolha **Alias para distribuição do CloudFront**. Insira o **Destino do alias** que você registrou anteriormente, por exemplo, `123example.cloudfront.net`.
   + **Política de roteamento**: escolha **roteamento simples**.

1. Escolha **Criar registros**.
**nota**  
A propagação de seus novos registros para todos os servidores de DNS do Route 53 pode levar cerca de 60 segundos. Você pode usar o método da [GetChange](https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetChange.html)API Route 53 para verificar se suas alterações foram propagadas. 

## Etapa 3: verificar a página de acesso
<a name="cognito-user-pools-add-custom-domain-console-step-3"></a>
+ Verifique se a página de login está disponível no seu domínio personalizado.

  Faça login com o domínio e o subdomínio personalizados inserindo esse endereço no navegador. Este é um exemplo de URL de um domínio personalizado *example.com* com o subdomínio: *auth*

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

## Como alterar o certificado SSL do seu domínio personalizado
<a name="cognito-user-pools-add-custom-domain-changing-certificate"></a>

Quando necessário, você poderá usar o Amazon Cognito para alterar o certificado aplicado ao seu domínio personalizado.

Geralmente, isso é desnecessário ao ser seguida a rotina de renovação do certificado com o ACM. Quando você renovar seu certificado existente no ACM, o ARN do certificado permanecerá o mesmo, e seu domínio personalizado usará o novo certificado automaticamente.

No entanto, se você substituir o certificado existente por um novo, o ACM dará ao novo certificado um novo ARN. Para aplicar o novo certificado ao seu domínio personalizado, você deve fornecer esse ARN ao Amazon Cognito.

Depois de fornecer o novo certificado, o Amazon Cognito precisará de até uma hora para distribuí-lo ao seu domínio personalizado.

**Antes de começar**  
Antes de alterar seu certificado no Amazon Cognito, você deve adicionar o certificado ao ACM. Para obter mais informações, consulte [Conceitos básicos](https://docs.aws.amazon.com/acm/latest/userguide/gs.html) no *Guia do usuário do AWS Certificate Manager *.  
Ao adicionar seu certificado ao ACM, você deve escolher Leste dos EUA (Norte da Virgínia) como região da AWS .

É possível alterar seu certificado usando a API ou o console do Amazon Cognito.

------
#### [ Console de gerenciamento da AWS ]

**Para renovar um certificado no console do Amazon Cognito:**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon Cognito em. [https://console.aws.amazon.com/cognito/home](https://console.aws.amazon.com/cognito/home)

1. Escolha **User Pools** (Grupos de usuários).

1. Escolha o grupo de usuários para o qual deseja atualizar o certificado.

1. Clique no menu **Domínio**.

1. Escolha **Actions** (Ações), **Edit ACM certificate** (Editar certificado do ACM).

1. Selecione o novo certificado que deseja associar ao seu domínio personalizado.

1. Escolha **Salvar alterações**.

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

**Para renovar um certificado (API do Amazon Cognito)**
+ Use a ação [UpdateUserPoolDomain](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPoolDomain.html).

------