O que é o Serviço Aprovisionamento de Dispositivos no Hub IoT do Azure?
O Microsoft Azure fornece um conjunto avançado de serviços de cloud pública integrada para todas as suas necessidades de solução IoT. O Hub IoT Serviço de Aprovisionamento de Dispositivos (DPS) é um serviço auxiliar para Hub IoT que permite o aprovisionamento sem toque e just-in-time no hub IoT certo sem necessidade de intervenção humana. O DPS permite o aprovisionamento de milhões de dispositivos de forma segura e dimensionável.
Muitos dos passos manuais tradicionalmente envolvidos no aprovisionamento são automatizados com o DPS para reduzir o tempo de implementação de dispositivos IoT e reduzir o risco de erro manual. O diagrama seguinte descreve o que se passa nos bastidores para obter um dispositivo aprovisionado. O primeiro passo é manual e todos os passos seguintes são automatizados.
Antes de o fluxo de aprovisionamento de dispositivos começar, existem dois passos manuais para preparar. Do lado do dispositivo, o fabricante do dispositivo prepara o dispositivo para aprovisionamento ao pré-configurar o dispositivo com as credenciais de autenticação e o ID do Serviço de Aprovisionamento de Dispositivos atribuído e o ponto final. Do lado da cloud, o utilizador ou o fabricante do dispositivo prepara a instância do Serviço Aprovisionamento de Dispositivos com inscrições individuais e grupos de inscrições que identificam dispositivos válidos e definem como devem ser aprovisionados.
Assim que o dispositivo e a cloud estiverem configurados para aprovisionamento, os passos seguintes são iniciados automaticamente assim que o dispositivo for ativado pela primeira vez:
- Quando o dispositivo é ligado pela primeira vez, liga-se ao ponto final do DPS e apresenta-lhe credenciais de autenticação.
- A instância do DPS verifica a identidade do dispositivo relativamente à respetiva lista de inscrição. Assim que a identidade do dispositivo for verificada, o DPS atribui o dispositivo a um hub IoT e regista-o no hub.
- A instância do DPS recebe o ID do dispositivo e as informações de registo do hub atribuído e transmite essas informações de volta para o dispositivo.
- O dispositivo utiliza as respetivas informações de registo para ligar diretamente ao hub IoT atribuído e autenticar.
- Depois de autenticado, o dispositivo e o hub IoT começam a comunicar diretamente. A instância do DPS não tem mais nenhuma função como intermediário, a menos que o dispositivo precise de ser novamente aprovisionamento.
Quando utilizar o Serviço de Aprovisionamento de Dispositivos
Existem muitos cenários de aprovisionamento em que o DPS é uma excelente opção para ligar e configurar dispositivos para Hub IoT, tais como:
- Aprovisionamento sem toques numa solução de IoT única sem codificar informações de ligação do Hub IoT na fábrica de (configuração inicial)
- Dispositivos de balanceamento de carga em vários hubs
- Ligar dispositivos à solução IoT do proprietário com base em dados de transações de vendas (multi-inquilino)
- Ligação de dispositivos a uma solução de IoT específica, consoante o caso de utilização (isolamento da solução)
- Ligação de um dispositivo ao hub IoT com a latência mais baixa (fragmentação geográfica)
- Reaprovisionamento com base numa alteração no dispositivo
- Implementar as chaves utilizadas pelo dispositivo para estabelecer ligação ao Hub IoT (quando não utilizar certificados x.509 para ligar)
O aprovisionamento de dispositivos IoT Edge aninhados (hierarquias principal/subordinado) não é atualmente suportado pelo DPS.
Processo de aprovisionamento
Existem dois passos distintos no processo de implementação de um dispositivo em que o DPS participa de forma independente:
- O passo de fabrico no qual o dispositivo é criado e preparado na fábrica, e
- O passo de configuração da cloud no qual o Serviço de Aprovisionamento de Dispositivos é configurado para o aprovisionamento automatizado.
Ambos os passos enquadram-se de forma totalmente integrada com os processos de implementação e fabrico existentes. O DPS até simplifica alguns processos de implementação que envolvem trabalho manual para obter informações de ligação no dispositivo.
Passo de fabrico
Este passo envolve o que acontece na linha de fabrico. As funções envolvidas neste passo incluem o designer de silício, o fabricante de silício, o integrador e/ou o fabricante final do dispositivo. Este passo está relacionado com a criação do próprio hardware.
O DPS não introduz um novo passo no processo de fabrico; Em vez disso, associa-se ao passo existente que instala o software inicial e (idealmente) o HSM no dispositivo. Em vez de criar um ID de dispositivo neste passo, o dispositivo é programado com as informações do serviço de aprovisionamento, permitindo-lhe chamar o serviço de aprovisionamento para obter a respetiva informação de ligação/ atribuição de solução IoT quando é ligado.
Também neste passo, o fabricante fornece informações sobre a chave de identificação ao implementador/operador do dispositivo. O fornecimento dessas informações pode ser tão simples como confirmar que todos os dispositivos têm um certificado X.509 gerado a partir de um certificado de assinatura fornecido pelo implementador/operador do dispositivo ou tão complicado como extrair a parte pública de uma chave de endossamento TPM de cada dispositivo TPM. Estes serviços são oferecidos atualmente por muitos fabricantes de silício.
Passo de configuração da cloud
Este passo diz respeito à configuração da cloud para o aprovisionamento automático adequado. Geralmente, existem dois tipos de utilizadores envolvidos no passo de configuração da cloud: alguém que saiba como os dispositivos têm de ser inicialmente configurados (um operador do dispositivo) e alguém que saiba como os dispositivos devem ser divididos entre os hubs IoT (um operador da solução).
Há uma configuração inicial única do aprovisionamento que tem de ocorrer, que normalmente é processada pelo operador da solução. Depois de o serviço de aprovisionamento ser configurado, não tem de ser modificado, a não ser que o caso de utilização mude.
Depois de o serviço ser configurado para o aprovisionamento automático, tem de ser preparado para inscrever dispositivos. Este passo é efetuado pelo operador do dispositivo, que conhece a configuração pretendida dos dispositivos e é responsável por garantir que o serviço de aprovisionamento consegue atestar corretamente a identidade do dispositivo quando procura o respetivo hub IoT. O operador do dispositivo utiliza as informações da chave de identificação do fabricante e adiciona-as à lista de inscrição. Podem existir atualizações subsequentes à lista de inscrição à medida que são adicionadas novas entradas ou que as entradas existentes são atualizadas com as informações mais recentes sobre os dispositivos.
Registo e aprovisionamento
Aprovisionamento tem significados diferentes consoante a indústria em que o termo é utilizado. No contexto do aprovisionamento de dispositivos IoT na respetiva solução de cloud, o aprovisionamento é um processo composto por duas partes:
- A primeira parte consiste em estabelecer a ligação inicial entre o dispositivo e a solução de IoT ao registar o dispositivo.
- A segunda parte consiste em aplicar a configuração adequada ao dispositivo com base nos requisitos específicos da solução na qual foi registado.
Após a conclusão desses dois passos, podemos afirmar que o dispositivo foi totalmente aprovisionado. Alguns serviços cloud fornecem apenas o primeiro passo do processo de aprovisionamento, ou seja, registam os dispositivos no ponto final da solução de IoT, mas não fornecem a configuração inicial. O DPS automatiza ambos os passos para proporcionar uma experiência de aprovisionamento totalmente integrada para o dispositivo.
Funcionalidades do Serviço de Aprovisionamento de Dispositivos
O DPS tem muitas funcionalidades, o que o torna ideal para o aprovisionamento de dispositivos.
- Suporte de atestado seguro para identidades baseadas em X.509 e TPM.
- Lista de inscrição que contém o registo completo de dispositivos/grupos de dispositivos que podem ser registados em qualquer momento. A lista de inscrição contém informações sobre a configuração pretendida do dispositivo, depois de ser registado, e pode ser atualizada em qualquer altura.
- Várias políticas de alocação para controlar a forma como o DPS atribui dispositivos a hubs IoT para suportar os seus cenários: Latência mais baixa, distribuição ponderada uniformemente (predefinição) e configuração estática. A latência é determinada com o mesmo método que o Gestor de Tráfego. A alocação personalizada, que lhe permite implementar as suas próprias políticas de alocação através de webhooks alojados no Funções do Azure também é suportada.
- Monitorização e registo de diagnóstico para garantir que tudo está a funcionar corretamente.
- O suporte de vários hubs permite que o DPS atribua dispositivos a mais do que um hub IoT. O DPS pode falar com hubs em várias subscrições do Azure.
- O suporte entre regiões permite que o DPS atribua dispositivos a hubs IoT noutras regiões.
- A encriptação de dados inativos permite que os dados no DPS sejam encriptados e desencriptados de forma transparente através da encriptação AES de 256 bits, uma das cifras de bloco mais fortes disponíveis e está em conformidade com FIPS 140-2.
Pode saber mais sobre os conceitos e funcionalidades envolvidos no aprovisionamento de dispositivos ao rever o artigo de terminologia do DPS juntamente com outros artigos conceptuais na mesma secção.
Suporte de várias plataformas
Tal como todos os serviços do Azure IoT, o DPS funciona em várias plataformas com vários sistemas operativos. O Azure oferece SDKs open source em vários idiomas para facilitar a ligação de dispositivos e a gestão do serviço. O DPS suporta os seguintes protocolos para ligar dispositivos:
- HTTPS
- AMQP
- AMQP através de sockets web
- MQTT
- MQTT através de sockets web
O DPS só suporta ligações HTTPS para operações de serviço.
Regiões
O DPS está disponível em muitas regiões. A lista de regiões suportadas para todos os serviços está disponível em Regiões do Azure. Pode verificar a disponibilidade do Serviço de Aprovisionamento de Dispositivos na página Estado do Azure.
Para resiliência e fiabilidade, recomendamos a implementação numa das regiões que suportam Zonas de Disponibilidade.
Consideração sobre a residência dos dados
O Serviço de Aprovisionamento de Dispositivos armazena os dados do cliente. Por predefinição, os dados do cliente são replicados para uma região secundária para suportar cenários de recuperação após desastre. Para implementações no Sudeste Asiático e Sul do Brasil, os clientes podem optar por manter os seus dados apenas nessa região ao desativar a recuperação após desastre. Para obter mais informações, veja Replicação entre regiões no Azure.
O DPS utiliza o mesmo ponto final de aprovisionamento de dispositivos para todas as instâncias do serviço de aprovisionamento e efetua o balanceamento de carga de tráfego para o ponto final de serviço disponível mais próximo. Como resultado, os segredos de autenticação podem ser transferidos temporariamente para fora da região onde a instância do DPS foi criada inicialmente. No entanto, assim que o dispositivo estiver ligado, os dados do dispositivo irão fluir diretamente para a região original da instância do DPS. Para garantir que os seus dados não saem da região original ou secundária, utilize um ponto final privado. Para saber como configurar pontos finais privados, veja Suporte de DPS para redes virtuais.
Quotas e Limites
Cada subscrição do Azure possui limites de quota predefinidos que podem afetar o âmbito da sua solução de IoT. O limite atual por subscrição é de 10 Serviços de Aprovisionamento de Dispositivos por subscrição.
Para obter mais detalhes sobre os limites de quota, veja Limites do Serviço de Subscrição do Azure.
Nota
Algumas áreas deste serviço têm limites ajustáveis. Isto é representado nas tabelas abaixo com a coluna Ajustável? Quando o limite pode ser ajustado, o valor Ajustável? é Sim.
O valor real ao qual um limite pode ser ajustado pode variar com base na implementação de cada cliente. Podem ser necessárias várias instâncias de DPS para implementações muito grandes.
Se a sua empresa precisar de aumentar um limite ou quota ajustável acima do limite predefinido, pode submeter um pedido de recursos adicionais ao abrir um pedido de suporte. Pedir um aumento não garante que seja concedido, uma vez que tem de ser revisto caso a caso. Contacte o suporte da Microsoft o mais cedo possível durante a implementação, para poder determinar se o seu pedido pode ser aprovado e planear em conformidade.
A tabela seguinte lista os limites que se aplicam aos recursos do Serviço de Aprovisionamento de Dispositivos Hub IoT do Azure.
Recurso | Limite | Ajustável? |
---|---|---|
Máximo de serviços de aprovisionamento de dispositivos por subscrição do Azure | 10 | Yes |
Número máximo de registos | 1 000 000 | Yes |
Número máximo de inscrições individuais | 1 000 000 | Yes |
Número máximo de grupos de inscrição (certificado X.509) | 100 | Yes |
Número máximo de grupos de inscrição (chave simétrica) | 100 | No |
Número máximo de ACs | 25 | Yes |
Número máximo de hubs IoT ligados | 50 | No |
Tamanho máximo da mensagem | 96 KB | No |
Dica
Se o limite rígido dos grupos de inscrição de chaves simétricas for um problema de bloqueio, recomenda-se que utilize inscrições individuais como solução.
O Serviço de Aprovisionamento de Dispositivos tem os seguintes limites de taxa.
Tarifa | Valor por unidade | Ajustável? |
---|---|---|
Operações | 1000/min/serviço | Yes |
Registos de dispositivos | 1000/min/serviço | Yes |
Operação de consulta de dispositivos | 5/10 seg/dispositivo | No |
Operações e preços de serviços faturáveis
Cada chamada à API no DPS é faturável como uma operação. Isto inclui todas as APIs de serviço e a API de registo de dispositivos.
As tabelas abaixo mostram o estado faturável atual para cada operação da API do serviço DPS. Para saber mais sobre os preços do DPS, selecione Tabela de preços na parte superior da página de preços do Hub IoT do Azure. Em seguida, selecione o separador Hub IoT Serviço Aprovisionamento de Dispositivos e a moeda e a região do seu serviço.
API | Operação | Faturável? |
---|---|---|
API do Dispositivo | Pesquisa do Estado do Registo de Dispositivos | No |
API do Dispositivo | Pesquisa do Estado da Operação | No |
API do Dispositivo | Registar Dispositivo | Yes |
API do Serviço DPS (estado de registo) | Eliminar | Yes |
API do Serviço DPS (estado de registo) | Get | Yes |
API do Serviço DPS (estado de registo) | Query | Yes |
API de Serviço DPS (grupo de inscrição) | Criar ou Atualizar | Yes |
API de Serviço DPS (grupo de inscrição) | Eliminar | Yes |
API de Serviço DPS (grupo de inscrição) | Get | Yes |
API de Serviço DPS (grupo de inscrição) | Obter o Mecanismo de Atestado | Yes |
API de Serviço DPS (grupo de inscrição) | Query | Yes |
API de Serviço DPS (grupo de inscrição) | Executar Operação em Massa | Yes |
API do Serviço DPS (inscrição individual) | Criar ou Atualizar | Yes |
API do Serviço DPS (inscrição individual) | Eliminar | Yes |
API do Serviço DPS (inscrição individual) | Get | Yes |
API do Serviço DPS (inscrição individual) | Obter o Mecanismo de Atestado | Yes |
API do Serviço DPS (inscrição individual) | Query | Yes |
API do Serviço DPS (inscrição individual) | Executar Operação em Massa | Yes |
API de Certificado DPS | Criar ou Atualizar | No |
API de Certificado DPS | Eliminar | No |
API de Certificado DPS | Gerar o Código de Verificação | No |
API de Certificado DPS | Get | No |
API de Certificado DPS | Lista | No |
API de Certificado DPS | Verificar Certificado | No |
API de Recursos do DPS IoT | Verificar a Disponibilidade do Nome do Serviço de Aprovisionamento | No |
API de Recursos do DPS IoT | Criar ou Atualizar | No |
API de Recursos do DPS IoT | Eliminar | No |
API de Recursos do DPS IoT | Get | No |
API de Recursos do DPS IoT | Obter Resultado da Operação | No |
API de Recursos do DPS IoT | Listar por Grupo de Recursos | No |
API de Recursos do DPS IoT | Lista por Subscrição | No |
API de Recursos do DPS IoT | Listar por Chaves | No |
API de Recursos do DPS IoT | Chaves de Lista para Nome da Chave | No |
API de Recursos do DPS IoT | Listar SKUs Válidos | No |
API de Recursos do DPS IoT | Atualizar | No |
Componentes do Azure relacionados
O DPS automatiza o aprovisionamento de dispositivos com Hub IoT do Azure. Saiba mais sobre Hub IoT.
Nota
O aprovisionamento de dispositivos edge aninhados (hierarquias principais/subordinadas) não é atualmente suportado pelo DPS.
As aplicações do IoT Central utilizam uma instância DPS interna para gerir ligações de dispositivos. Para saber mais, veja:
- Como os dispositivos se ligam ao IoT Central
- Tutorial: Criar e ligar uma aplicação cliente à sua aplicação do Azure IoT Central
Passos seguintes
Agora já tem uma descrição geral do aprovisionamento de dispositivos IoT no Azure. O passo seguinte é experimentar um cenário de IoT ponto a ponto.
Configurar o Serviço de Aprovisionamento de Dispositivos Hub IoT com o portal do Azure