Criar um dispositivo do IoT Edge

Aplica-se a:marca de verificação do IoT Edge 1.4 IoT Edge 1.4

Este artigo fornece uma visão geral das opções disponíveis para instalar e provisionar IoT Edge em seus dispositivos.

Este artigo fornece uma visão geral em todas as opções para sua solução de IoT Edge e ajuda a:

No final deste artigo, você terá uma visão clara do que são as opções de plataforma, provisionamento e autenticação que deseja usar para sua solução de IoT Edge.

Introdução

Se você souber que tipo de plataforma, provisionamento e opções de autenticação deseja usar para criar um dispositivo IoT Edge, use os links na tabela a seguir para começar.

Se você quiser obter mais informações sobre como escolher a opção certa para você, continue neste artigo para saber mais.

Observação

A tabela a seguir reflete os cenários com suporte para IoT Edge versão 1.4.

Contêineres do Linux em hosts Linux
Provisionamento manual (dispositivo único) Certificados X.509

Chaves simétricas
Provisionamento automático (dispositivos em escala) Certificados X.509

TPM

Chaves simétricas
Contêineres do Linux em hosts Linux Contêineres do Linux em hosts Windows
Provisionamento manual (dispositivo único) Certificados X.509

Chaves simétricas
Certificados X.509

Chaves simétricas
Provisionamento automático (dispositivos em escala) Certificados X.509

TPM

Chaves simétricas
Certificados X.509

TPM

Chaves simétricas

Termos e conceitos

Se você ainda não estiver familiarizado com a terminologia IoT Edge, examine alguns conceitos importantes:

Runtime do IoT Edge: o runtime do IoT Edge é uma coleção de programas que transforma um dispositivo em um dispositivo do IoT Edge. Coletivamente, os componentes de tempo de execução IoT Edge permitem que os dispositivos do IoT Edge executem seus módulos de IoT Edge.

Provisionamento: cada dispositivo do IoT Edge deve ser provisionado. O provisionamento é um processo de duas etapas. A primeira etapa é registrar o dispositivo em um hub IoT, que cria uma identidade de nuvem que o dispositivo usa para estabelecer a conexão com seu hub. A segunda etapa é configurar o dispositivo com sua identidade de nuvem. O provisionamento pode ser feito manualmente por dispositivo ou pode ser feito em escala usando o Serviço de Provisionamento de Dispositivos no Hub IOT.

Autenticação: seus dispositivos do IoT Edge precisam verificar sua identidade quando se conectam ao Hub IoT. Você pode escolher qual método de autenticação usar, como senhas de chave simétrica, impressões digitais de certificado ou TPMs (módulos de plataforma confiável).

Escolher uma plataforma

As opções de plataforma são referenciadas pelos sistemas operacionais do contêiner e do host. O sistema operacional do contêiner é o usado dentro do runtime do IoT Edge e contêineres de módulo. O sistema operacional do host é o do dispositivo em que os contêineres e módulos do runtime do IoT Edge estão em execução.

Há três opções de plataforma para seus dispositivos do IoT Edge.

  • Contêineres do Linux em hosts Linux: execute contêineres de IoT Edge baseados em Linux diretamente em um host Linux. Em todos os documentos do IoT Edge, você também verá essa opção conhecida como Linux e contêineres do Linux para simplificar.

  • Contêineres do linux em hosts Windows: execute contêineres de IoT Edge baseados em linux em uma máquina virtual linux em um host Windows. Em todos os documentos do IoT Edge, você também verá essa opção conhecida como Linux no Windows, IoT Edge para Linux no Windows e EFLOW.

  • Contêineres do Windows em hosts Windows: execute contêineres de IoT Edge baseados em Windows diretamente em um host Windows. Em todos os documentos do IoT Edge, você também verá essa opção conhecida como Windows e contêineres do Windows para simplificar.

Para ver as informações mais recentes sobre quais sistemas operacionais têm suporte para cenários de produção, confira Sistemas com suporte do Azure IoT Edge.

Contêineres do Linux no Linux

Para dispositivos Linux, o tempo de execução do IoT Edge é instalado diretamente no dispositivo host.

O IoT Edge dá suporte a dispositivos Linux x64, ARM32 e ARM64. A Microsoft fornece pacotes de instalação oficiais para uma variedade de sistemas operacionais.

Contêineres do Linux no Windows

IoT Edge para Linux no Windows hospeda uma máquina virtual Linux em seu dispositivo Windows. A máquina virtual vem predefinida com o runtime do IoT Edge, e as atualizações são gerenciadas por meio de Microsoft Update.

O IoT Edge para Linux no Windows é a maneira recomendada para executar IoT Edge em dispositivos Windows. Para saber mais, confira O que é Azure IoT Edge para Linux no Windows.

Contêineres do Windows no Windows

A versão 1.4 do IoT Edge não dá suporte a contêineres do Windows. Os contêineres do Windows não têm suporte além da versão 1.1.

Escolher como provisionar os dispositivos

Você pode provisionar um único dispositivo ou vários dispositivos em escala, dependendo das necessidades de sua solução de IoT Edge.

As opções disponíveis para autenticar comunicações entre seus dispositivos IoT Edge e seus hubs IoT dependem do método de provisionamento escolhido. Você pode ler mais sobre essas opções na seção Escolher um método de autenticação.

Único dispositivo

O provisionamento de um único dispositivo refere-se ao provisionamento de um dispositivo IoT Edge sem a assistência do DPS (serviço de provisionamento de dispositivos) do dispositivo IoT. Você verá o provisionamento de dispositivo único também conhecido como provisionamento manual.

Usando o provisionamento de dispositivo único, você precisará inserir manualmente as informações de provisionamento, como uma cadeia de conexão, em seus dispositivos. O provisionamento manual é rápido e fácil de configurar para apenas alguns dispositivos, mas a carga de trabalho aumentará com o número de dispositivos. O provisionamento ajuda quando você está considerando a escalabilidade da solução.

Os métodos de autenticação de chave simétrica e X. 509 autoassinados estão disponíveis para provisionamento manual. Você pode ler mais sobre essas opções na seção Escolher um método de autenticação.

Dispositivos em escala

O provisionamento de dispositivos em escala refere-se ao provisionamento de um ou mais dispositivos IoT Edge com a assistência do Serviço de Provisionamento de Dispositivos no Hub IoT. Você verá o provisionamento em escala também conhecido como provisionamento automático.

Se sua solução IoT Edge exigir mais de um dispositivo, o provisionamento automático usando o DPS economizará o esforço de inserir manualmente informações de provisionamento nos arquivos de configuração de cada dispositivo. Esse modelo automatizado pode ser dimensionado para milhões de dispositivos do IoT Edge.

Você pode proteger o IoT Edge com o método de autenticação de sua escolha. Os métodos de autenticação chave simétrica, certificados X.509 e atestado de TPM (Trusted Platform Module) estão disponíveis para dispositivos de provisionamento em escala. Você pode ler mais sobre essas opções na seção Escolher um método de autenticação.

Para ver mais dos recursos do DPS, consulte a Seção de recursos da página de visão geral.

Escolher um método de autenticação

Atestado do certificado X.509

Usar certificados X.509 como um mecanismo de atestado é a maneira recomendada de dimensionar a produção e simplificar o provisionamento de dispositivos. Normalmente, os certificados X.509 são organizados em uma cadeia de certificados de confiança. Começando com um certificado raiz confiável ou autoassinado, cada certificado na cadeia assina o próximo certificado inferior. Esse padrão cria uma relação de confiança representante desde o certificado raiz até cada certificado intermediário até o certificado de dispositivo downstream final instalado em um dispositivo.

Você cria dois certificados de identidade X.509 e os coloca no dispositivo. Ao criar uma nova identidade do dispositivo no Hub IoT, você fornece impressões digitais de ambos os certificados. Quando o dispositivo é autenticado no Hub IoT, ele apresenta um certificado e o Hub IoT verifica se o certificado corresponde à sua impressão digital. As chaves X.509 no dispositivo devem ser armazenadas em um HSM (Módulo de Segurança de Hardware). Por exemplo, módulos PKCS nº 11, ATECC, dTPM etc.

Esse método de autenticação é mais seguro do que chaves simétricas e dá suporte a registros de grupo que fornecem uma experiência de gerenciamento simplificada para um alto número de dispositivos. Esse método de autenticação é recomendado para cenários de produção.

Atestado TPM (Trusted Platform Module)

O uso do atestado TPM é o método para provisionamento de dispositivos que usa recursos de autenticação no software e no hardware. Cada chip do TPM usa uma chave de endosso exclusiva para verificar sua autenticidade.

O atestado do TPM só está disponível para provisionamento em escala com o DPS e dá suporte apenas a registro individuais e não a registro de grupo. Os registros de grupo não estão disponíveis devido à natureza específica do dispositivo do TPM.

O TPM 2.0 é necessário quando você usa o atestado do TPM com o serviço de provisionamento de dispositivos.

Esse método de autenticação é mais seguro que o das chaves simétricas e é recomendado para cenários de produção.

Atestado de chaves simétricas

O atestado de chave simétrica é uma abordagem simples para autenticar o dispositivo. Esse método de atestado representa uma experiência de "Olá, Mundo" para desenvolvedores que são novos no provisionamento de dispositivos ou não tem requisitos de segurança rígidos.

Quando você cria uma nova identidade de dispositivo no Hub IoT, o serviço cria duas chaves. Você coloca uma das chaves no dispositivo e apresenta a chave para o Hub IoT durante a autenticação.

Esse método de autenticação é mais rápido para começar a usar, mas não tão seguro. O provisionamento de dispositivos usando um TPM ou certificados X.509 é mais seguro e deve ser usado em soluções com requisitos de segurança mais rigorosos.

Próximas etapas

Você pode usar o tabela de conteúdo para navegar até o guia de ponta a ponta apropriado para criar um dispositivo do IoT Edge para a plataforma, o provisionamento e os requisitos de autenticação da sua solução de IoT Edge.

Você também pode usar os links abaixo para ir para o artigo relevante.

Contêineres do Linux em hosts Linux

Provisionar manualmente um único dispositivo:

Provisionar vários dispositivos em escala:

Contêineres do Linux em hosts Windows

Provisionar manualmente um único dispositivo:

Provisionar vários dispositivos em escala: