Compartilhar via


Gerenciar certificados do IoT Edge

Aplica-se a: ícone sim IoT Edge 1.1

Importante

IoT Edge 1.1 a data de término do suporte foi 13 de dezembro de 2022. Confira o Ciclo de Vida do Produto da Microsoft para obter informações sobre o suporte deste produto, serviço, tecnologia ou API. Para obter mais informações sobre como atualizar para a versão mais recente do IoT Edge, consulte Atualizar o IoT Edge.

Todos os dispositivos IoT Edge usam certificados para criar conexões seguras entre o tempo de execução e os módulos em execução no dispositivo. Dispositivos do IoT Edge funcionando como gateways usam esses mesmos certificados para se conectar também aos dispositivos downstream. Para obter mais informações sobre a função dos diferentes certificados em um dispositivo IoT Edge, consulte entender como o Azure IoT Edge usa certificados.

Observação

O termo raiz de autoridade de certificação usado, em todo este artigo, refere-se ao certificado de autoridade superior na cadeia de certificados para sua solução de IoT. Você não precisa usar a raiz do certificado de uma autoridade de certificação sindicalizada, ou a raiz da autoridade de certificação de sua organização. Em muitos casos, na verdade, é um certificado de AC intermediário.

Pré-requisitos

  • Entenda como o Azure IoT Edge usa certificados.

  • Um dispositivo do IoT Edge. Se você não tiver um dispositivo IoT Edge configurado, poderá criar um em uma máquina virtual do Azure. Siga as etapas em um dos artigos de início rápido para Criar um dispositivo virtual do Linux ou Criar um dispositivo virtual do Windows.

  • Capacidade de editar o arquivo config.toml de configuração IoT Edge seguindo o modelo de configuração.

    • Se o seu config.toml não for baseado no modelo, abra o modelo e use as diretrizes comentadas para adicionar seções de configuração seguindo a estrutura do modelo.

    • Se você tiver uma nova instalação do IoT Edge que não foi configurada, copie o modelo para inicializar a configuração. Não use esse comando se você tiver uma configuração existente. Ele substitui o arquivo.

      sudo cp /etc/aziot/config.toml.edge.template /etc/aziot/config.toml
      

AC de dispositivo

Todos os dispositivos IoT Edge usam certificados para criar conexões seguras entre o tempo de execução e os módulos em execução no dispositivo. Dispositivos do IoT Edge funcionando como gateways usam esses mesmos certificados para se conectar também aos dispositivos downstream. Para obter mais informações sobre a função dos diferentes certificados em um dispositivo IoT Edge, consulte entender como o Azure IoT Edge usa certificados.

O IoT Edge gera automaticamente AC de dispositivo no dispositivo em vários casos, incluindo:

  • Se você não fornecer seus próprios certificados de produção ao instalar e provisionar IoT Edge, o IoT Edge Security Manager gerará automaticamente um certificado de autoridade de certificação do dispositivo. Esse certificado autoassinado destina-se apenas a cenários de desenvolvimento e teste, não à produção. Este certificado expira após 90 dias.
  • O IoT Edge Security Manager também gera um certificado de CA de carga de trabalho assinado pelo certificado de autoridade de certificação dos dispositivos.

Para esses dois certificados gerados automaticamente, você tem a opção de definir um sinalizador no arquivo de configuração para configurar o número de dias para o tempo de vida dos certificados.

Observação

Há um terceiro certificado gerado automaticamente que o IoT Edge Security Manager cria, o certificado de servidor de hub do IoT Edge. Esse certificado sempre tem um tempo de vida de 30 dias, mas é renovado automaticamente antes de expirar. Esse certificado não é afetado pelo valor de vida útil da AC (autoridade de certificação) gerado automaticamente definido no arquivo de configuração.

Personalizar o tempo de vida do certificado de AC de dispositivo de início rápido

Após a expiração depois do número de dias especificado, o IoT Edge precisa ser reiniciado para regenerar o certificado de autoridade de certificação do dispositivo. O certificado de autoridade de certificação do dispositivo não é renovado automaticamente.

  1. Para configurar a expiração do certificado para algo diferente do padrão de 90 dias, adicione o valor em dias à seção certificados do arquivo de configuração.

    certificates:
      device_ca_cert: "<ADD URI TO DEVICE CA CERTIFICATE HERE>"
      device_ca_pk: "<ADD URI TO DEVICE CA PRIVATE KEY HERE>"
      trusted_ca_certs: "<ADD URI TO TRUSTED CA CERTIFICATES HERE>"
      auto_generated_ca_lifetime_days: <value>
    

    Observação

    No momento, uma limitação no libiothsm impede o uso de certificados que expiram em 1º de janeiro de 2038.

  2. Exclua o conteúdo da pasta hsm para remover todos os certificados gerados anteriormente.

    • /var/aziot/hsm/certs
    • /var/aziot/hsm/cert_keys
  3. Reinicie o serviço do IoT Edge.

    sudo systemctl restart iotedge
    
  4. Confirme a configuração do tempo de vida.

    sudo iotedge check --verbose
    

    Verifique a saída da preparação de produção: verificação de certificados , que lista o número de dias até que os certificados de autoridade de certificação do dispositivo gerados expirem automaticamente.

Instalar a AC do dispositivo na produção

Depois de migrar para um cenário de produção, ou quando quiser criar um dispositivo de gateway, você precisará fornecer seus próprios certificados.

Criar e instalar a AC do dispositivo na produção

  1. Use sua própria autoridade de certificação para criar os seguintes arquivos:

    • AC Raiz
    • Certificado de autoridade de certificação de dispositivo
    • Chave privada da AC do dispositivo

    A AC raiz não é a autoridade de certificação mais alta para uma organização. É a mais alta autoridade de certificação para o cenário de IoT Edge, que o módulo de hub do IoT Edge, os módulos de usuário e os dispositivos downstream usam para estabelecer a confiança entre si.

    Para ver um exemplo desses certificados, examine os scripts que criam certificados de demonstração em Gerenciando certificados de AC de teste para exemplos e tutoriais.

    Observação

    No momento, uma limitação no libiothsm impede o uso de certificados que expiram em 1º de janeiro de 2038.

  2. Copie os três arquivos de certificado e de chave em seu dispositivo IoT Edge. Você pode usar um serviço como Azure Key Vault ou uma função como Protocolo de cópia segura para mover os arquivos de certificado. Se você gerou os certificados no próprio dispositivo IoT Edge, pode ignorar esta etapa e usar o caminho para o diretório de trabalho.

    Dica

    Se você usou os scripts de exemplo para criar certificados de demonstração, os três arquivos de certificado e de chave estarão localizados nos seguintes caminhos:

    • Certificado de AC de dispositivo: <WRKDIR>\certs\iot-edge-device-MyEdgeDeviceCA-full-chain.cert.pem
    • Chave privada de AC do dispositivo: <WRKDIR>\private\iot-edge-device-MyEdgeDeviceCA.key.pem
    • Raiz de AC: <WRKDIR>\certs\azure-iot-test-only.root.ca.cert.pem
  1. Abrir o artigo de configuração do daemon de segurança do IoT Edge: /etc/iotedge/config.yaml

  2. Defina as propriedades do certificado em config.yaml como o caminho do URI do arquivo para o certificado e os arquivos de chave no dispositivo IOT Edge. Remova o # caractere antes das propriedades do certificado para remover os comentários das quatro linhas. Verifique se a linha certificados: não tem nenhum espaço em branco precedente e se os itens aninhados são recuados em dois espaços. Por exemplo:

    certificates:
       device_ca_cert: "file:///<path>/<device CA cert>"
       device_ca_pk: "file:///<path>/<device CA key>"
       trusted_ca_certs: "file:///<path>/<root CA cert>"
    
  3. Verifique se o usuário iotedge tem permissões de leitura/gravação para o diretório que contém os certificados.

  4. Se você tiver usado outros certificados para IoT Edge no dispositivo antes, exclua os arquivos nos dois diretórios a seguir antes de iniciar ou reiniciar IoT Edge:

    • /var/aziot/hsm/certs
    • /var/aziot/hsm/cert_keys
  5. Reinicie o IoT Edge.

    sudo iotedge system restart
    

Certificados do servidor de módulo

O Daemon do Edge emite certificados de identidade e servidor de módulo para uso por módulos do Edge. Continua a ser responsabilidade dos módulos do Edge renovar seus certificados de identidade e servidor, conforme a necessidade.

Renovação

Os certificados de servidor podem ser emitidos com base no certificado de AC do Edge ou por meio de uma AC configurada pelo DPS. Independentemente do método de emissão, esses certificados devem ser renovados pelo módulo.

Alterações em 1.2 e posteriores

  • O Certificado de autoridade de certificação do dispositivo foi renomeado como Certificado de AC do Edge.
  • O certificado da AC de carga de trabalho foi preterido. Agora, o IoT Edge Security Manager gera o certificado de servidor edgeHub de Hub de IoT Edge diretamente do certificado de AC de borda, sem o certificado de AC de carga de trabalho intermediário entre eles.
  • O arquivo de configuração padrão tem um novo nome e local, de /etc/iotedge/config.yaml para /etc/aziot/config.toml por padrão. O comando iotedge config import pode ser usado para ajudar a migrar informações de configuração do local e da sintaxe antigos para a nova.

Próximas etapas

A instalação de certificados em um dispositivo IoT Edge é uma etapa necessária antes de implantar sua solução em produção. Saiba mais sobre como Preparar-se para implantar sua solução de IoT Edge em produção.