Criar e configurar domínios personalizados - AWS IoT Core

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 personalizados

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 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 cadeia de profundidade do certificado, 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.

Registrando certificados de servidor no gerenciador AWS de certificados

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). É possível usar os seguintes três tipos de certificados de servidor.

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.

Requisitos de certificado

Consulte Pré-requisitos para importar certificados 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 preliminar deve incluir a extensão x509 v3 do Extended Key Usage 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 suportados incluem RSA de 2048 bits (RSA_2048) e ECDSA de 256 bits (EC_Prime256v1).

Usar um certificado para vários domínios

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.

Certificados públicos gerados pelo ACM

Você pode gerar um certificado público para seu domínio personalizado usando a RequestCertificateAPI. 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 no Guia do usuário do AWS Certificate Manager .

Certificados externos assinados por uma CA pública

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 Para saber mais sobre essa tarefa, sobre os pré-requisitos e sobre as exigências de formato do certificado, consulte Importar certificados.

Certificados externos assinados por uma CA privada

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 ImportCertificateAPI. Para saber mais sobre essa tarefa, sobre os pré-requisitos e sobre as exigências de formato do certificado, consulte Importar certificados.

Criar um certificado de validação

Depois de importar seu certificado para o ACM, gere um certificado público para seu domínio personalizado usando a RequestCertificateAPI. 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. 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

Você cria um endpoint configurável em um domínio personalizado usando a CreateDomainConfigurationAPI. 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 será necessário se você usar um certificado de servidor gerado pelo ACM 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ê especificaDATA, 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 ter mais informações, consulte Definir configurações de TLS nas configurações de domínio.

  • serverCertificateConfig (opcional)

    Um objeto que especifica a configuração do certificado do servidor para um domínio. Para ter mais informações, consulte Configuração de certificado de servidor para grampeamento OCSP.

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 ter mais informações, consulte Gerenciar configurações de domínio.

Criar registros DNS

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 tipoiot:Data-ATS. Você pode obter seu endpoint usando a DescribeEndpointAPI.

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

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