

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

# Criar e configurar domínios gerenciados do cliente
<a name="iot-custom-endpoints-configurable-custom"></a>

As configurações de domínio permitem especificar um nome de domínio totalmente qualificado (FQDN) para conectar-se ao AWS IoT Core. Há muitos benefícios em usar domínios gerenciados pelo cliente (também conhecidos como domínios personalizados): você pode expor seu próprio domínio ou o domínio da sua empresa aos clientes para fins de marca; você pode facilmente alterar seu próprio domínio para apontar para um novo corretor; você pode oferecer suporte à multilocação para atender clientes com domínios diferentes dentro do mesmo Conta da AWS; e você pode gerenciar os detalhes dos seus próprios certificados de servidor, como a autoridade de certificação raiz (CA) usada para assinar o certificado, o algoritmo de assinatura, a profundidade da cadeia de certificados e o ciclo de vida do certificado.

O fluxo de trabalho para definir uma configuração de domínio com um domínio personalizado consiste nos três estágios a seguir.

1. [Registrando certificados de servidor em AWS Certificate Manager](#iot-custom-endpoints-configurable-custom-register-certificate)

1. [Criar uma configuração de domínio](#iot-custom-endpoints-configurable-custom-domain-config)

1. [Criar registros DNS](#iot-custom-endpoints-configurable-custom-dns)

## Registrando certificados de servidor em AWS certificate manager
<a name="iot-custom-endpoints-configurable-custom-register-certificate"></a>

Antes de criar uma configuração de domínio com um domínio personalizado, é necessário registrar a cadeia de certificados do servidor no [AWS Certificate Manager (ACM)](https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html). É possível usar os seguintes três tipos de certificados de servidor.
+ [Certificados públicos gerados pelo ACM](#iot-custom-endpoints-configurable-custom-register-certificate-acm)
+ [Certificados externos assinados por uma CA pública](#iot-custom-endpoints-configurable-custom-register-certificate-pubext)
+ [Certificados externos assinados por uma CA privada](#iot-custom-endpoints-configurable-custom-register-certificate-privext)

**nota**  
AWS IoT Core considera que um certificado é assinado por uma CA pública se estiver incluído no pacote [ca confiável da Mozilla](https://hg.mozilla.org/mozilla-central/raw-file/tip/security/nss/lib/ckfw/builtins/certdata.txt?raw=1).

### Requisitos de certificado
<a name="certificate-requirements"></a>

Consulte [Pré-requisitos para importar certificados](/acm/latest/userguide/import-certificate-prerequisites.html) para obter os requisitos de importação de certificados para o ACM. Além desses requisitos, o AWS IoT Core adiciona os seguintes requisitos.
+ O certificado de entidade final deve incluir a extensão **Extended Key Usage** x509 v3 com um valor de **serverAuth** (Autenticação de servidor Web TLS). Se você solicitar o certificado do ACM, essa extensão será adicionada automaticamente.
+ A profundidade máxima da cadeia de certificados é de 5 certificados.
+ O tamanho máximo da cadeia de certificados é de 16 KB.
+ Os algoritmos criptográficos e os tamanhos de chave compatíveis incluem RSA de 2048 bits (RSA\_2048) e ECDSA de 256 bits (EC\_Prime256v1).

### Usar um certificado para vários domínios
<a name="one-certificate-for-multiple-domains"></a>

Se você planeja usar um certificado para abranger vários subdomínios, use um domínio curinga no campo nome comum (CN) ou Nomes alternativos do assunto (SAN). Por exemplo, use **\*.iot.example.com** para abranger dev.iot.example.com, qa.iot.example.com e prod.iot.example.com. Cada FQDN exige sua própria configuração de domínio, mas mais de uma configuração de domínio pode usar o mesmo valor curinga. O CN ou o SAN devem abranger o FQDN que você deseja usar como domínio personalizado. Se houver SANs, o CN será ignorado e um SAN deverá cobrir o FQDN que você deseja usar como domínio personalizado. Essa abrangência pode ser uma correspondência exata ou uma correspondência curinga. Depois que um certificado curinga é validado e registrado em uma conta, outras contas na região são impedidas de criar domínios personalizados que se sobreponham ao certificado.

As seções a seguir descrevem como obter cada tipo de certificado. Cada recurso de certificado requer um nome do recurso da Amazon (ARN) registrado no ACM usado ao criar a configuração do domínio.

### ACM-generated certificados públicos
<a name="iot-custom-endpoints-configurable-custom-register-certificate-acm"></a>

Você pode gerar um certificado público para seu domínio personalizado usando a [RequestCertificate](https://docs.aws.amazon.com/acm/latest/APIReference/API_RequestCertificate.html)API. Ao gerar um certificado dessa maneira, o ACM valida a sua propriedade do domínio personalizado. Para obter mais informações, consulte [Solicitar um certificado público](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) no *Guia do usuário do AWS Certificate Manager *.

### Certificados externos assinados por uma CA pública
<a name="iot-custom-endpoints-configurable-custom-register-certificate-pubext"></a>

Se você já tem um certificado de servidor assinado por uma CA pública (uma CA incluída no pacote ca confiável da Mozilla), você pode importar a cadeia de certificados diretamente para o ACM usando a API. [ImportCertificate](https://docs.aws.amazon.com/acm/latest/APIReference/API_ImportCertificate.html) Para saber mais sobre essa tarefa, sobre os pré-requisitos e sobre as exigências de formato do certificado, consulte [Importar certificados](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html).

### Certificados externos assinados por uma CA privada
<a name="iot-custom-endpoints-configurable-custom-register-certificate-privext"></a>

Se você já tiver um certificado de servidor assinado por uma CA privada ou autoassinado, será possível usar o certificado para criar a configuração de domínio, mas também será necessário criar um certificado público adicional no ACM para validar a propriedade do seu domínio. Para fazer isso, registre sua cadeia de certificados de servidor no ACM usando a [ImportCertificate](https://docs.aws.amazon.com/acm/latest/APIReference/API_ImportCertificate.html)API. Para saber mais sobre essa tarefa, sobre os pré-requisitos e sobre as exigências de formato do certificado, consulte [Importar certificados](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html). 

### Criar um certificado de validação
<a name="iot-custom-endpoints-configurable-create-validation-certificate"></a>

Depois de importar seu certificado para o ACM, gere um certificado público para seu domínio personalizado usando a [RequestCertificate](https://docs.aws.amazon.com/acm/latest/APIReference/API_RequestCertificate.html)API. Ao gerar um certificado dessa maneira, o ACM valida a sua propriedade do domínio personalizado. Para obter mais informações, consulte [Solicitar um certificado público](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html). Ao criar a configuração de domínio, utilize esse certificado público como certificado de validação.

## Criar uma configuração de domínio
<a name="iot-custom-endpoints-configurable-custom-domain-config"></a>

Você cria um endpoint configurável em um domínio personalizado usando a [CreateDomainConfiguration](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateDomainConfiguration.html)API. Uma configuração de domínio para um domínio personalizado consiste no seguinte:
+ `domainConfigurationName`

  Um nome definido pelo usuário que identifica a configuração de domínio. Os nomes da configuração de domínio que começam com `IoT:` são reservados para endpoints padrão e não podem ser usados. Além disso, esse valor deve ser exclusivo para você Região da AWS. 
+ `domainName`

  O FQDN ao qual seus dispositivos usam para se conectar. AWS IoT Core AWS IoT Core aproveita a extensão TLS de indicação de nome do servidor (SNI) para aplicar configurações de domínio. Os dispositivos devem usar essa extensão ao conectar e transmitir um nome de servidor idêntico ao nome de domínio especificado na configuração de domínio.
+ `serverCertificateArns`

  O ARN da cadeia de certificados do servidor que você registrou no ACM. AWS IoT Core atualmente oferece suporte a apenas um certificado de servidor. 
+ `validationCertificateArn`

  O ARN do certificado público gerado no ACM para validar a propriedade do domínio personalizado. Esse argumento não é necessário se você usar um certificado de ACM-generated servidor ou assinado publicamente. 
+ `defaultAuthorizerName (optional)`

  O nome do autorizador personalizado que deve ser usado no endpoint.
+ `allowAuthorizerOverride`

  Um valor booliano que especifica se os dispositivos podem substituir o autorizador padrão especificando outro autorizador no cabeçalho HTTP da solicitação. Esse valor será exigido se um valor para `defaultAuthorizerName` for especificado. 
+ `serviceType`

  AWS IoT Core atualmente suporta somente o tipo `DATA` de serviço. Quando você especifica`DATA`, AWS IoT retorna um endpoint com um tipo de endpoint de. `iot:Data-ATS` 
+ `TlsConfig` (opcional)

  Um objeto que especifica a configuração TLS para um domínio. Para obter mais informações, consulte [Definir configurações de TLS nas configurações de domínio](iot-endpoints-tls-config.md).
+ `serverCertificateConfig` (opcional)

  Um objeto que especifica a configuração de certificado de servidor para um domínio. Para obter mais informações, consulte [Configuração de certificado de servidor para grampeamento de OCSP](iot-custom-endpoints-cert-config.md).

O AWS CLI comando a seguir cria uma configuração de domínio para **iot.example.com**.

```
aws iot create-domain-configuration --domain-configuration-name "{{myDomainConfigurationName}}" --service-type "DATA" 
--domain-name "iot.example.com" --server-certificate-arns {{serverCertARN}} --validation-certificate-arn {{validationCertArn}}
```

**nota**  
Depois de criar sua configuração de domínio, pode levar até 60 minutos até que seus certificados AWS IoT Core de servidor personalizados sejam entregues.

Para obter mais informações, consulte [Gerenciar configurações de domínio](iot-custom-endpoints-managing.md).

## Criar registros DNS
<a name="iot-custom-endpoints-configurable-custom-dns"></a>

Depois de registrar sua cadeia de certificados e criar sua configuração de domínio, crie um registro de DNS para que o domínio personalizado aponte para um domínio da AWS IoT . Esse registro deve apontar para um AWS IoT ponto final do tipo`iot:Data-ATS`. Você pode obter seu endpoint usando a [DescribeEndpoint](https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeEndpoint.html)API. 

O AWS CLI comando a seguir mostra como obter seu endpoint.

```
aws iot describe-endpoint --endpoint-type iot:Data-ATS
```

Depois de obter seu `iot:Data-ATS` endpoint, crie um `CNAME` registro do seu domínio personalizado para esse AWS IoT endpoint. Se você criar vários domínios personalizados no mesmo Conta da AWS, atribua um alias a esse mesmo `iot:Data-ATS` endpoint.

## Solução de problemas
<a name="iot-custom-endpoints-configurable-troubleshoot"></a>

Se você tiver problemas para conectar dispositivos a um domínio personalizado, verifique se ele AWS IoT Core aceitou e aplicou seu certificado de servidor. Você pode verificar AWS IoT Core se aceitou seu certificado usando o AWS IoT Core console ou AWS CLI o.

Para usar o AWS IoT Core console, navegue até a página **Configurações do domínio** e selecione o nome da configuração do domínio. Na seção **Detalhes do certificado do servidor**, verifique o status e os detalhes do status. Se o certificado for inválido, substitua-o no ACM por um certificado que atenda aos [requisitos de certificado](#certificate-requirements) listados na seção anterior. Se o certificado tiver o mesmo ARN, ele AWS IoT Core será retirado e aplicado automaticamente.

Para verificar o status do certificado usando o AWS CLI, chame a [DescribeDomainConfiguration](https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeDomainConfiguration.html)API e especifique seu nome de configuração de domínio.

**nota**  
Se seu certificado for inválido, AWS IoT Core continuará a fornecer o último certificado válido.

Você pode verificar qual certificado está sendo fornecido em seu endpoint usando o seguinte comando openssl.

`openssl s_client -connect {{custom-domain-name}}:8883 -showcerts -servername {{custom-domain-name}}`