

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

# Conectando dispositivos cliente a um dispositivo AWS IoT Greengrass Core com um corretor MQTT
<a name="connecting-to-mqtt"></a>

Quando você usa um agente MQTT em seu dispositivo AWS IoT Greengrass Core, o dispositivo usa uma *autoridade de certificação (CA) de dispositivo principal* exclusiva do dispositivo para emitir um certificado ao agente para fazer conexões TLS mútuas com clientes. 

AWS IoT Greengrass gerará automaticamente uma CA do dispositivo principal ou você poderá fornecer a sua própria. A CA do dispositivo principal é registrada AWS IoT Greengrass quando o [Autenticação do dispositivo cliente](client-device-auth-component.md) componente é conectado. A CA do dispositivo principal gerada automaticamente é persistente, o dispositivo continuará a usar a mesma CA enquanto o componente de autenticação do dispositivo cliente estiver configurado.

Quando o agente MQTT é iniciado, ele solicita um certificado. O componente de autenticação do dispositivo cliente emite um certificado X.509 usando a CA do dispositivo principal. O certificado é rotacionado quando o agente é iniciado, quando o certificado expira ou quando as informações de conectividade, como o endereço IP, são alteradas. Para obter mais informações, consulte [Troca de certificado no agente MQTT local](device-auth.md#mqtt-certificate-expiration).

Para conectar um cliente ao agente MQTT, você precisa do seguinte:
+ O dispositivo cliente deve ter a CA do dispositivo AWS IoT Greengrass principal. Você pode ter essa CA por meio da descoberta na nuvem ou fornecendo a CA manualmente. Para obter mais informações, consulte [Como usar sua própria autoridade de certificação](#use-your-own-CA).
+ O nome de domínio totalmente qualificado (FQDN) ou endereço IP do dispositivo principal deve estar presente no certificado do agente emitido pela CA do dispositivo principal. Você garante isso usando o componente [Detector IP](ip-detector-component.md) ou configurando manualmente o endereço IP. Para obter mais informações, consulte [Gerenciar endpoints do dispositivo principal do](manage-core-device-endpoints.md).
+ O componente de autenticação do dispositivo do cliente deve dar permissão ao dispositivo do cliente para se conectar ao dispositivo principal do Greengrass. Para obter mais informações, consulte [Autenticação do dispositivo cliente](client-device-auth-component.md).

## Como usar sua própria autoridade de certificação
<a name="use-your-own-CA"></a>

Se seus dispositivos cliente não conseguirem acessar a nuvem para descobrir seu dispositivo principal, você poderá fornecer uma *autoridade de certificação (CA) do dispositivo principal*. Seu dispositivo principal do Greengrass usa a CA do dispositivo principal para emitir certificados para o agente MQTT. Depois de configurar o dispositivo principal e provisionar seu dispositivo cliente com a CA, seus dispositivos cliente podem se conectar ao endpoint e verificar o handshake TLS usando a CA do dispositivo principal (CA fornecida por você ou gerada automaticamente).

Para configurar o componente [Autenticação do dispositivo cliente](client-device-auth-component.md) para usar a CA do dispositivo principal, defina o parâmetro de configuração `certificateAuthority` ao implantar o componente. Forneça os detalhes a seguir durante a configuração:
+ A localização de um certificado de CA do dispositivo principal.
+ A chave privada do certificado de CA do dispositivo principal.
+ (Opcional) A cadeia de certificados para o certificado raiz se a CA do dispositivo principal for uma CA intermediária.

Se você fornecer uma CA de dispositivo principal, AWS IoT Greengrass registrará a CA na nuvem.

Você pode armazenar os certificados em um módulo de segurança de hardware ou no sistema de arquivos. O exemplo a seguir mostra uma configuração `certificateAuthority` para uma CA intermediária armazenada usando HSM/TPM. Observe que a cadeia de certificados só pode ser armazenada em disco.

```
  "certificateAuthority": {
      "certificateUri": "pkcs11:object=CustomerIntermediateCA;type=cert",
      "privateKeyUri": "pkcs11:object=CustomerIntermediateCA;type=private"
      "certificateChainUri": "file:///home/ec2-user/creds/certificateChain.pem",
    }
```

Neste exemplo, o parâmetro de configuração `certificateAuthority` configura o componente de autenticação do dispositivo cliente para usar uma CA intermediária do sistema de arquivos:

```
  "certificateAuthority": {
      "certificateUri": "file:///home/ec2-user/creds/intermediateCA.pem",
      "privateKeyUri": "file:///home/ec2-user/creds/intermediateCA.privateKey.pem",
      "certificateChainUri": "file:///home/ec2-user/creds/certificateChain.pem",
    }
```

Para conectar os dispositivos ao seu dispositivo AWS IoT Greengrass Core, faça o seguinte:

1. Crie uma autoridade de certificação (CA) intermediária para o dispositivo principal do Greengrass usando a CA raiz da sua organização. É recomendável usar uma CA intermediária como prática de segurança.

1. Forneça o certificado de CA intermediário, a chave privada e a cadeia de certificados à CA raiz para o dispositivo principal do Greengrass. Para obter mais informações, consulte [Autenticação do dispositivo cliente](client-device-auth-component.md). A CA intermediária se torna a CA do dispositivo principal do Greengrass, e o dispositivo registra a CA com. AWS IoT Greengrass

1. Registre o dispositivo cliente como uma AWS IoT coisa. Para obter mais informações, consulte [Criar um objeto](https://docs.aws.amazon.com/iot/latest/developerguide/create-iot-resources.html#create-aws-thing) no *Guia do desenvolvedor do AWS IoT Core *. Adicione a chave privada, chave pública, certificado do dispositivo e certificado de CA raiz ao dispositivo do cliente. A forma como você adiciona as informações depende do dispositivo e software.

Depois de configurar o dispositivo, você pode usar o certificado e a cadeia de chaves públicas para se conectar ao dispositivo principal do Greengrass. Seu software é responsável por encontrar os endpoints do dispositivo principal. Você pode definir o endpoint manualmente para o dispositivo principal. Para obter mais informações, consulte [Gerenciar endpoints manualmente](manage-core-device-endpoints.md#manually-manage-endpoints).