Partilhar via


Gerenciar certificados do IoT Edge

Aplica-se a: ícone sim IoT Edge 1.1

Importante

A data de fim do suporte do IoT Edge 1.1 foi 13 de dezembro de 2022. Consulte o Ciclo de Vida de Produtos da Microsoft para obter informações sobre como é suportado este 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 utilizam certificados para criar ligações seguras entre o runtime e quaisquer módulos em execução no dispositivo. Os dispositivos IoT Edge que funcionam como gateways também usam esses mesmos certificados para se conectar a seus dispositivos downstream. Para obter mais informações sobre a função dos diferentes certificados em um dispositivo IoT Edge, consulte Compreender como o Azure IoT Edge usa certificados.

Nota

O termo autoridade de certificação raiz usado ao longo deste artigo refere-se ao certificado da autoridade superior na cadeia de certificados para sua solução IoT. Não é necessário usar a raiz do certificado de uma autoridade de certificação sindicalizada ou a raiz da autoridade de certificação da sua organização. Em muitos casos, trata-se, na verdade, de um certificado de autoridade de certificação intermediário.

Pré-requisitos

  • Compreender como o Azure IoT Edge utiliza os certificados.

  • Um dispositivo 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 Linux virtual ou Criar um dispositivo virtual do Windows.

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

    • config.toml Se você não estiver baseado no modelo, abra-o e use as orientações 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 tenha sido configurada, copie o modelo para inicializar a configuração. Não use este 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 utilizam certificados para criar ligações seguras entre o runtime e quaisquer módulos em execução no dispositivo. Os dispositivos IoT Edge que funcionam como gateways também usam esses mesmos certificados para se conectar a seus dispositivos downstream. Para obter mais informações sobre a função dos diferentes certificados em um dispositivo IoT Edge, consulte Compreender como o Azure IoT Edge usa certificados.

O IoT Edge gera automaticamente a CA do dispositivo no dispositivo em vários casos, incluindo:

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

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.

Nota

Há um terceiro certificado gerado automaticamente que o gerenciador de segurança do IoT Edge cria, o certificado do servidor do hub IoT Edge. Este certificado tem sempre uma vida útil de 30 dias, mas é renovado automaticamente antes de expirar. O valor do tempo de vida da CA gerado automaticamente definido no arquivo de configuração não afeta esse certificado.

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

Após a expiração após o número especificado de dias, o IoT Edge deve 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 dos 90 dias padrão, adicione o valor em dias à seção de 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>
    

    Nota

    Atualmente, uma limitação no libiothsm impede o uso de certificados que expiram em ou após 1º de janeiro de 2038.

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

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

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

    sudo iotedge check --verbose
    

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

Instalar a autoridade de certificação do dispositivo para produção

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

Criar e instalar a autoridade de certificação do dispositivo para produção

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

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

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

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

    Nota

    Atualmente, uma limitação no libiothsm impede o uso de certificados que expiram em ou após 1º de janeiro de 2038.

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

    Gorjeta

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

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

  2. Defina as propriedades do certificado em config.yaml para o caminho do URI do arquivo para os arquivos de certificado e chave no dispositivo IoT Edge. Remova o # caractere antes das propriedades do certificado para descomentar as quatro linhas. Verifique se a linha certificados: não tem espaço em branco anterior e se os itens aninhados estão recuados por 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. Certifique-se de que o iotedge do usuário tenha permissões de leitura/gravação para o diretório que contém os certificados.

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

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

    sudo iotedge system restart
    

Certificados de servidor de módulo

O Edge Daemon emite certificados de identidade e servidor de módulo para uso pelos módulos de Borda. Continua sendo responsabilidade dos módulos de Borda renovar sua identidade e certificados de servidor conforme necessário.

Renovação

Os certificados de servidor podem ser emitidos fora do certificado da autoridade de certificação de borda ou por meio de uma autoridade de certificação configurada pelo DPS. Independentemente do método de emissão, esses certificados devem ser renovados pelo módulo.

Alterações na versão 1.2 e posteriores

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

Próximos passos

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 IoT Edge em produção.