Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo explica como implantar o Hub IoT do Azure com integração ao Azure Device Registry e gerenciamento de certificados X.509 com suporte da Microsoft.
Importante
O Hub IoT do Azure com integração ao Registro de Dispositivos do Azure e gerenciamento de certificados X.509 com suporte da Microsoft está em prévia pública e não é recomendado para cargas de trabalho de produção. Para obter mais informações, consulte FAQ: o que há de novo em Hub IoT?.
Pré-requisitos
- Uma assinatura de Azure ativa. Se você não tiver uma assinatura do Azure, crie uma conta gratuita.
- O privilégio de executar atribuições de função dentro do escopo de destino. Executar atribuições de função no Azure requer uma função privilegiada, como Proprietário ou Administrador de Acesso do Usuário no escopo apropriado.
- Uma região compatível para implantar instâncias de Hub IoT, Azure Registro de Dispositivo e DPS (Serviço de Provisionamento de Dispositivos).
Escolher um método de implantação
Para usar o gerenciamento de certificados, você também deve configurar Hub IoT, Registro de Dispositivo e DPS. Se preferir, você pode optar por não habilitar o gerenciamento de certificados e configurar apenas Hub IoT com o Registro de Dispositivo.
Para configurar sua instância de Hub IoT com a integração do Registro de Dispositivos e o gerenciamento de certificados, você pode usar o portal Azure, o CLI do Azure ou um script que automatiza o processo de instalação.
| Método de implantação | Description |
|---|---|
| Selecione a guia Azure portal na parte superior da página. | Use o portal Azure para criar um novo hub IoT, uma instância DPS e um namespace do Registro de Dispositivo e para definir todas as configurações necessárias. |
| Selecione a guia CLI do Azure na parte superior da página. | Use o CLI do Azure para criar um novo hub IoT, uma instância DPS e um namespace do Registro de Dispositivo e para definir todas as configurações necessárias. |
| Selecione a guia script do PowerShell na parte superior da página. | Use um script do PowerShell (somente Windows) para automatizar a criação de um novo hub IoT, uma instância DPS e um namespace do Registro de Dispositivo e definir todas as configurações necessárias. |
Mais pré-requisitos para Azure portal
Antes de começar, verifique se você tem:
- Um grupo de recursos Azure para organizar o IoT hub e os recursos relacionados. Crie o grupo de recursos e os recursos em uma região com suporte. Para obter mais informações, consulte Criar um grupo de recursos.
- A função Contributor atribuída ao Hub IoT do Azure no nível do grupo de recursos. Ao selecionar membros durante a atribuição de função, pesquise e selecione Hub IoT do Azure na lista de entidades de serviço. Para obter mais informações, confira Atribuir funções do Azure usando o portal do Azure.
Visão geral
Observação
Para criar um Hub IoT vinculado a um namespace de ADR, você deve usar a CLI do Azure.
Use o portal Azure para criar um hub IoT com o Registro de Dispositivo e a integração de gerenciamento de certificados.
O processo de instalação neste artigo inclui as seguintes etapas:
- Configure o namespace do Registro de Dispositivos com o gerenciamento de certificados habilitado e atribua as funções necessárias.
- Crie uma política de credencial personalizada para seu namespace.
- Crie um hub IoT vinculado ao namespace do Registro de Dispositivo com uma identidade gerenciada atribuída pelo usuário.
- Crie uma instância DPS e vincule-a ao namespace do Registro de Dispositivos.
- Vincule o hub IoT à instância do DPS.
- Sincronize as políticas de credencial do namespace com os hubs IoT.
- Crie um grupo de registro e atribua uma política para habilitar a integração do dispositivo.
Importante
Durante o período de visualização, o Hub IoT com integração com o Registro de Dispositivos e os recursos de gerenciamento de certificados habilitados no Hub IoT estão disponíveis gratuitamente. O DPS é cobrado separadamente e não está incluído na oferta de pré-visualização. Para obter detalhes sobre os preços do DPS, consulte Hub IoT do Azure preços.
Configurar o namespace do Registro de Dispositivo
Nesta seção, você configurará o namespace do Registro de Dispositivos, habilitará o gerenciamento de certificados, atribuirá a função de Colaborador necessária e criará uma política de certificado personalizada. Estas etapas preparam seu ambiente para gerenciar com segurança identidades e certificados de dispositivo e garantir que o hub IoT possa usar o Registro de Dispositivos para integração de dispositivos e gerenciamento de certificados.
Criar um namespace do Registro de Dispositivo com o gerenciamento de certificados habilitado
Quando você cria um namespace com o gerenciamento de certificados habilitado, o processo cria uma credencial conhecida como AC (autoridade de certificação raiz) e uma política padrão conhecida como AC intermediária. O gerenciamento de certificados usa essas credenciais e políticas para integrar dispositivos ao namespace.
Entre no portal Azure.
Pesquise e selecione Azure Registro de Dispositivo.
Selecione Namespaces>Criar.
Na guia Noções básicas , preencha os seguintes campos:
Propriedade Valor Subscription Selecione a assinatura a ser usada para o namespace do Registro de Dispositivos. Grupo de recursos Selecione ou crie o grupo de recursos que você deseja usar para o hub IoT. Nome Insira um nome para o namespace do Registro de Dispositivo. O nome do namespace pode conter apenas letras minúsculas e hifens ( -) no meio do nome, mas não no início ou no final. Por exemplo, o nomemsft-namespaceé válido.Região As funcionalidades de integração e gerenciamento de certificados do Registro de Dispositivos estão em versão prévia e disponíveis apenas em determinadas regiões. Consulte as regiões com suporte. Selecione a região mais próxima de você onde você deseja que seu hub esteja localizado.
Selecione Próximo.
Na guia Gerenciamento de certificados , selecione Habilitado.
O gerenciamento de certificados armazena e gerencia com segurança as credenciais de autenticação do dispositivo, como chaves de API ou certificados, para dispositivos que se conectam ao namespace. Ao habilitar esse recurso, você pode definir políticas para controlar como os certificados são emitidos e gerenciados para seus dispositivos.
Selecione Próximo.
Na guia Marcas , opcionalmente, você pode adicionar marcas para organizar o namespace do Registro de Dispositivos. As tags são pares de chave-valor que ajudam a gerenciar e identificar seus recursos. Use marcas para filtrar e agrupar seus recursos no portal do Azure.
Selecione Próximo.
Examine as configurações e selecione Criar para criar o namespace do Registro de Dispositivos.
O processo de criação do namespace pode levar até cinco minutos.
Obter a ID principal para o namespace
Para concluir algumas etapas de configuração depois de criar o hub IoT, você precisará da ID principal do namespace do Registro de Dispositivo. Esse valor é usado para conceder permissões e vincular recursos com segurança.
- No portal do Azure, vá para o namespace do Registro de Dispositivo que você criou.
- Na página Visão geral , no lado superior direito, selecione o modo de exibição JSON.
- Localize a seção de identidade e localize o valor para
principalId. - Copie o valor da ID principal a ser usado com atribuições de função para sua instância do hub IoT.
Atribuir funções à sua identidade gerenciada
Depois de criar o namespace do Registro de Dispositivo, conceda as permissões necessárias à sua identidade gerenciada atribuída pelo usuário. A identidade gerenciada atribuída pelo usuário é usada para acessar com segurança outros recursos Azure, como um namespace do Registro de Dispositivo e DPS. Se você não tiver uma identidade gerenciada atribuída pelo usuário, crie uma no portal Azure. Para obter mais informações, consulte Criar uma identidade gerenciada atribuída pelo usuário no portal Azure.
Primeiro, conceda à sua identidade gerenciada pelo usuário a função de Integração do Registro de Dispositivo do Azure:
- No namespace do Registro de Dispositivo que você criou, selecione Controle de acesso (IAM) no menu da barra lateral.
- Selecione +Adicionar>Adicionar atribuição de função.
- No campo Role, pesquise e selecione Incorporação ao Registro de Dispositivos do Azure. Essa função permite que sua identidade gerenciada admita dispositivos por meio de políticas de credenciais do Registro de Dispositivo.
- Selecione Próximo.
- Em Atribuir acesso, selecione Identidade gerenciada.
- Escolha Selecionar membros e selecione a identidade gerenciada atribuída pelo usuário. Pesquise sua identidade e selecione-a.
- Selecione Examinar + atribuir para concluir. Depois que a atribuição for propagada, sua identidade gerenciada tem as permissões de integração necessárias.
Repita estas etapas para atribuir a função colaborador do Registro de Dispositivo Azure:
- No mesmo painel Controle de acesso (IAM) do namespace do Registro de Dispositivos, selecione + Adicionar>Adicionar atribuição de função novamente.
- No campo Role, pesquise e selecione Colaborador do Registro de Dispositivo Azure. Essa função fornece à sua identidade gerenciada as permissões que o Registro de Dispositivo precisa para instalação e operação.
- Selecione Próximo.
- Em Atribuir acesso, selecione Identidade gerenciada.
- Escolha Selecionar membros e selecione a identidade gerenciada atribuída pelo usuário. Pesquise sua identidade e selecione-a.
- Selecione Examinar + atribuir para concluir. Depois que a atribuição for propagada, você poderá selecionar a identidade gerenciada atribuída pelo usuário ao criar o hub IoT.
Criar uma política personalizada para seu namespace
Crie políticas personalizadas no namespace do Registro de Dispositivos para definir como os certificados são emitidos e gerenciados para seus dispositivos. As políticas permitem que você defina parâmetros, como períodos de validade do certificado e entidades. Não há suporte para edição ou desabilitação de uma política na versão prévia.
No namespace do Registro de Dispositivo que você criou, em recursos de namespace, selecione políticas de credencial (versão prévia).
Na caixa de diálogo Habilitar gerenciamento de certificados , selecione Habilitar.
Na página Políticas de Credencial , selecione + Criar Política.
Um painel é exibido onde você pode definir as configurações de política. Na guia Noções básicas , preencha os seguintes campos:
Propriedade Valor Nome Insira um nome exclusivo para sua política. O nome deve ter entre 3 e 50 caracteres alfanuméricos e pode incluir hifens ( -).Período de validade (dias) Insira o número de dias em que os certificados emitidos são válidos. Selecione uma AC raiz para os certificados nesta política Aceite o valor padrão, Usar a Autoridade de Certificação Raiz (AC) emitida pela Microsoft para este namespace (Padrão). Selecione Avançar e selecione Examinar + criar.
Para examinar a política, selecione políticas de credencial para ver o nome da política e o período de validade.
Criar um hub IoT no portal do Azure
Para criar um Hub IoT vinculado a um namespace de ADR, você deve usar a CLI do Azure.
Atribua funções à ID da entidade do namespace do Registro de Dispositivo no seu hub IoT
Para habilitar a integração segura entre seu hub IoT e o namespace do Registro de Dispositivos, atribua funções à ID da identidade principal do namespace do Registro de Dispositivos na instância do seu hub IoT. Esta etapa garante que o namespace do Registro de Dispositivos possa gerenciar identidades de dispositivo e operações de registro em seu hub.
- No portal Azure, acesse o recurso do hub IoT.
- No menu da barra lateral, selecione Controlo de acesso (IAM).
- Selecione +Adicionar>Adicionar atribuição de função.
- No campo Função , selecione a guia Funções de administrador com privilégios .
- Pesquise e selecione Colaborador.
- Selecione Próximo.
- Em Atribuir acesso, selecione Usuário, grupo ou entidade de serviço.
- Escolha Selecionar membros e, em seguida, cole a ID principal do namespace do Registro de Dispositivos que você copiou em uma etapa anterior. Selecione a identidade correspondente.
- Selecione Examinar + atribuir para concluir.
Repita estas etapas para atribuir a função Contribuidor do Registro do Hub IoT:
- Selecione + Adicionar>atribuição de função novamente.
- No campo Role, pesquise e selecione Colaborador de Registro do Hub IoT.
- Selecione Próximo.
- Em Atribuir acesso, selecione Usuário, grupo ou entidade de serviço.
- Escolha Selecionar membros e, em seguida, cole a ID principal do namespace do Registro de Dispositivos que você copiou em uma etapa anterior. Selecione a identidade correspondente.
- Selecione Examinar + atribuir para concluir.
Criar uma instância do DPS
Depois de criar o hub IoT e o namespace, crie uma nova instância de DPS.
No portal Azure, pesquise e selecione Device Provisioning Service.
Nos Serviços de Provisionamento de Dispositivos, selecione + Criar para criar uma nova instância de DPS.
Na guia Noções básicas , preencha os seguintes campos:
Propriedade Valor Subscription Selecione a assinatura a ser usada para sua instância de DPS. Grupo de recursos Selecione o mesmo grupo de recursos que contém o hub IoT criado nas etapas anteriores. Ao colocar todos os recursos relacionados em um grupo, você pode gerenciá-los juntos. Nome Forneça um nome exclusivo para sua nova instância de DPS. Se o nome inserido estiver disponível, uma marca de seleção verde será exibida. Região Selecione a mesma região em que você criou o hub IoT e o namespace do Registro de Dispositivos nas etapas anteriores. Selecione Examinar + criar para validar o serviço de provisionamento.
Selecione Criar para iniciar a implantação da instância do DPS.
Após a conclusão da implantação, selecione Ir para o recurso para exibir a instância do DPS.
Adicionar seu namespace ao DPS
Depois de criar sua instância DPS, vincule-a ao namespace do Registro de Dispositivo para que os dispositivos possam ser provisionados usando políticas de credencial do Registro de Dispositivo.
No Azure portal, vá para a instância DPS que você criou.
Na página Visão geral , localize a seção namespace ADR .
Selecione o link para adicionar o namespace.
Selecione o namespace do Registro de Dispositivo e a identidade gerenciada atribuída pelo usuário.
Clique em Salvar.
Depois que o link for estabelecido, sua instância DPS poderá usar o namespace do Registro de Dispositivo para provisionamento de dispositivos e gerenciamento de certificados.
Vincular o hub IoT e a instância do DPS
Adicione uma configuração à instância DPS que define o hub IoT ao qual a instância provisiona dispositivos IoT.
Em Configurações no menu da barra lateral da instância do DPS, selecione Hubs IoT Vinculados.
Selecione Adicionar.
No painel Adicionar link ao hub IoT , forneça as seguintes informações:
Propriedade Valor Subscription Selecione a assinatura que contém o hub IoT que você deseja vincular à sua nova instância DPS. Hub de IoT Selecione o hub IoT para vincular à nova instância do DPS. Política de Acesso Selecione iothubowner (RegistryWrite, ServiceConnect, DeviceConnect) como as credenciais para estabelecer o vinculo com o hub IoT.
Clique em Salvar.
Selecione Atualizar. Agora você deve ver o hub selecionado na lista de Hubs IoT vinculados.
Sincronizar políticas com hubs IoT
Sincronize uma política que você criou no namespace do Registro de Dispositivos com o hub IoT vinculado a esse namespace. Essa sincronização permite que o Hub IoT confie em todos os dispositivos autenticados com um certificado folha emitido pela autoridade de certificação emissora da política.
- No Azure portal, acesse o recurso de namespace do Registro de Dispositivo que você criou anteriormente.
- No menu da barra lateral, selecione Recursos de namespace>Políticas de credencial (Prévia).
- Na lista, selecione a política de credencial que você deseja sincronizar.
- Na parte superior, selecione Sincronizar tudo.
- Aguarde a mensagem de confirmação que indica que a sincronização foi bem-sucedida.
Se você selecionar sincronizar mais de uma política, o processo sincroniza as políticas com seus respectivos hubs IoT. Você não pode desfazer uma operação de sincronização.
Criar um grupo de registro e atribuir uma política
Para provisionar dispositivos com certificados de folha, você precisa criar um grupo de inscrição e atribuir a política que criou ao namespace do Device Registry. A política de alocação define o mecanismo de autenticação para integração que o DPS usa antes de emitir um certificado folha. O mecanismo de atestado padrão é uma chave simétrica.
No portal Azure, pesquise e selecione Device Provisioning Services.
Pesquise e selecione a instância DPS que você criou anteriormente.
Em Configurações no menu da barra lateral da instância do DPS, selecione Gerenciar registros.
Na página Gerenciar registros , selecione a guia Grupos de registro ou registros individuais com base em suas necessidades de provisionamento.
Selecione + Adicionar grupo de registro ou + Adicionar registro individual para criar um novo registro.
Na página Registro + provisionamento , preencha os seguintes campos:
Propriedade Valor Mecanismo de atestado Selecione qualquer método de atestação suportado, como chave simétrica, X.509, TPM e outros. Para mais informações, veja Mecanismo de atestado. Nome do grupo Insira um nome para o grupo de registro. Ignore este campo se você estiver criando um registro individual. Status do provisionamento Selecione Habilitado para ativar o registro por meio do provisionamento. Política de reprovisionamento Especifique a política de reprovisionamento para o registro. Essa política determina como o registro se comporta durante o reprovisionamento de dispositivos. Selecione e preencha as guias Hubs de IoT e Configurações do dispositivo conforme apropriado ao seu ambiente.
Selecione a guia Políticas de Credencial (Versão Prévia) e selecione a política que você deseja atribuir ao grupo de registro ou ao registro individual.
Selecione Examinar + criar e, em seguida, selecione Criar para finalizar o registro.
Mais pré-requisitos para o CLI do Azure
Antes de começar, verifique se você tem:
O CLI do Azure instalado. Siga as etapas para instalar o CLI do Azure.
A extensão da CLI do IoT do Azure, instalada com as versões prévias habilitadas, para acessar as funcionalidades de integração com o Registro de Dispositivos do Azure e de gerenciamento de certificados do Hub IoT do Azure:
Verifique se há instalações de extensão de CLI do Azure existentes.
az extension listRemova as instalações existentes
azure-iot.az extension remove --name azure-iotInstale a
azure-iotextensão do índice com as visualizações habilitadas.az extension add --name azure-iot --allow-previewOu você pode baixar o arquivo .whl da página de versões do GitHub para instalar a extensão manualmente.
az extension add --upgrade --source https://github.com/Azure/azure-iot-cli-extension/releases/tag/v0.30.0b2Após a instalação, valide se a
azure-iotversão da extensão é pelo menos 0.30.0b2.az extension list
Visão geral
Use os comandos CLI do Azure para criar um hub IoT com integração do Registro de Dispositivo e gerenciamento de certificados.
O processo de instalação neste artigo inclui as seguintes etapas:
- Crie um grupo de recursos.
- Configure os privilégios de aplicativo necessários.
- Crie uma identidade gerenciada atribuída pelo usuário.
- Crie um namespace do Registro de Dispositivo com a identidade gerenciada atribuída pelo sistema.
- Crie uma autoridade certificadora de credenciais (AC raiz) e uma política da AC emissora restritas a esse namespace.
- Crie um hub IoT (versão prévia) com um namespace vinculado e uma identidade gerenciada.
- Crie uma instância DPS com um hub IoT vinculado e um namespace.
- Sincronize suas credenciais e políticas (certificados de AC) para Hub IoT.
- Crie um grupo de registro e vincule-se à sua política para habilitar o provisionamento de certificados.
Importante
Durante o período de visualização, o Hub IoT com integração com o Registro de Dispositivos e os recursos de gerenciamento de certificados habilitados no Hub IoT estão disponíveis gratuitamente. O serviço de provisionamento de dispositivos é cobrado separadamente e não está incluído na oferta de visualização. Para obter informações sobre os preços do DPS, consulte preços do Hub IoT do Azure.
Prepare o seu ambiente
Para preparar seu ambiente para usar o Registro de Dispositivo, siga estas etapas:
Abra uma janela do terminal.
Para entrar em sua conta Azure, execute
az login.Para listar todas as assinaturas e locatários aos quais você tem acesso, execute
az account list.Se você tiver acesso a várias assinaturas Azure, defina sua assinatura ativa em que seus dispositivos IoT são criados executando o seguinte comando:
az account set --subscription "<your subscription name or ID>"Para exibir os detalhes da conta atual, execute
az account show. Copie os dois valores a seguir da saída do comando e salve-os em um local seguro, como:- O
idGUID. Use esse valor para fornecer sua ID de assinatura. - O
tenantIdGUID. Use esse valor para atualizar suas permissões usando a ID do locatário.
- O
Configurar seu grupo de recursos, permissões e identidade gerenciada
Para criar um grupo de recursos, uma função e permissões para sua solução de IoT, siga estas etapas:
Crie um grupo de recursos para seu ambiente.
az group create --name <RESOURCE_GROUP_NAME> --location <REGION>Atribua uma função de Colaborador a Hub IoT no nível do grupo de recursos. O valor
AppId, que é a ID principal do Hub IoT, é89d10474-74af-4874-99a7-c23c2f643083e é o mesmo para todos os aplicativos Hub IoT.az role assignment create --assignee "89d10474-74af-4874-99a7-c23c2f643083" --role "Contributor" --scope "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP_NAME>"Crie uma nova identidade gerenciada atribuída pelo usuário.
az identity create --name <USER_IDENTITY> --resource-group <RESOURCE_GROUP_NAME> --location <REGION>Recupere a ID do recurso da identidade gerenciada. Você precisa da ID do recurso para atribuir funções, configurar políticas de acesso ou vincular a identidade a outros recursos.
UAMI_RESOURCE_ID=$(az identity show --name <USER_IDENTITY> --resource-group <RESOURCE_GROUP_NAME> --query id -o tsv)
Criar um novo namespace do Registro de Dispositivo
Nesta seção, você criará um novo namespace do Registro de Dispositivos com uma identidade gerenciada atribuída pelo sistema. Esse processo gera automaticamente uma credencial de AC raiz e uma política de AC emissora para o namespace. Para obter mais informações sobre como credenciais e políticas são usadas para assinar certificados de folha do dispositivo durante o provisionamento, consulte gerenciamento de certificados.
As credenciais são opcionais. Você também pode criar um namespace sem uma identidade gerenciada omitindo os sinalizadores --enable-certificate-management e --policy-name.
Crie um novo namespace do Registro de Dispositivos. Seu namespace
namepode conter apenas letras minúsculas e hifens (-) no meio do nome, mas não no início ou no final. Por exemplo, o nomemsft-namespaceé válido. O--enable-certificate-managementcomando cria credencial (AC raiz) e política padrão (AC emissora) para esse namespace. Você pode configurar o nome dessa política usando o--policy-namecomando. Por padrão, uma política pode emitir certificados com uma validade de 30 dias.az iot adr ns create --name <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP_NAME> --location <REGION> --enable-certificate-management true --policy-name <POLICY_NAME>Opcionalmente, você pode criar uma política personalizada adicionando os parâmetros
--cert-subjecte--cert-validity-days. Para obter mais informações, consulte Criar uma política personalizada.A criação do namespace do Registro de Dispositivo com identidade gerenciada atribuída pelo sistema pode levar até cinco minutos.
Certifique-se de que o namespace com uma identidade gerenciada atribuída pelo sistema ou ID de entidade de segurança tenha sido criado.
az iot adr ns show --name <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP_NAME>Verifique se uma credencial e uma política nomeada foram criadas.
az iot adr ns credential show --namespace <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP_NAME> az iot adr ns policy show --namespace <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP_NAME> --name <POLICY_NAME>Se você não atribuir um nome de política, a política será criada com o nome
default.
Atribuir uma função de identidade gerenciada atribuída pelo usuário para acessar o namespace do Registro de Dispositivo
Nesta seção, você atribuirá a função Azure Device Registry Contributor à identidade gerenciada e definirá o escopo ao namespace. Essa função personalizada permite acesso completo a dispositivos IoT dentro do namespace do Registro de Dispositivo.
Recupere a ID principal da identidade gerenciada atribuída pelo usuário. Essa ID é necessária para atribuir funções à identidade.
UAMI_PRINCIPAL_ID=$(az identity show --name <USER_IDENTITY> --resource-group <RESOURCE_GROUP> --query principalId -o tsv)Recupere o ID do recurso do namespace do Registro de Dispositivos. Este ID é utilizado como escopo para a atribuição de funções.
NAMESPACE_RESOURCE_ID=$(az iot adr ns show --name <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP> --query id -o tsv)Atribua a função Colaborador do Registro de Dispositivos do Azure à identidade gerenciada. Essa função concede à identidade gerenciada as permissões necessárias que têm como escopo o namespace.
az role assignment create --assignee $UAMI_PRINCIPAL_ID --role "a5c3590a-3a1a-4cd4-9648-ea0a32b15137" --scope $NAMESPACE_RESOURCE_IDAtribua a função de Onboarding do Azure Device Registry à identidade gerenciada:
az role assignment create --assignee "$UAMI_PRINCIPAL_ID" --role "547f7f0a-69c0-4807-bd9e-0321dfb66a84" --scope "$NAMESPACE_RESOURCE_ID"
Criar um hub IoT com a integração do Registro de Dispositivo
Crie um novo hub IoT vinculado ao namespace do Registro de Dispositivos e com a identidade gerenciada atribuída pelo usuário que você criou anteriormente.
az iot hub create --name <HUB_NAME> --resource-group <RESOURCE_GROUP> --location <HUB_LOCATION> --sku GEN2 --mi-user-assigned $UAMI_RESOURCE_ID --ns-resource-id $NAMESPACE_RESOURCE_ID --ns-identity-id $UAMI_RESOURCE_IDEsse comando cria um hub IoT com SKU = GEN2 e vincula uma identidade gerenciada atribuída pelo usuário ao hub IoT.
Importante
Como o Hub IoT será publicamente detectável como um ponto de extremidade DNS, evite inserir informações de identificação pessoal ou confidenciais ao nomeá-lo.
Verifique se o hub IoT tem a identidade correta e as propriedades do Registro de Dispositivo configuradas.
az iot hub show --name <HUB_NAME> --resource-group <RESOURCE_GROUP> --query identity --output json
Atribuir funções do Hub IoT para acessar o namespace do Registro de Dispositivos
Recupere a ID principal da identidade gerenciada do namespace do Registro de Dispositivo. Essa identidade precisa de permissões para interagir com o hub IoT.
ADR_PRINCIPAL_ID=$(az iot adr ns show --name <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP> --query identity.principalId -o tsv)Obtenha o ID do recurso do hub de IoT. Esse ID é usado como o escopo para atribuições de funções.
HUB_RESOURCE_ID=$(az iot hub show --name <HUB_NAME> --resource-group <RESOURCE_GROUP> --query id -o tsv)Atribua a função Colaborador à identidade do Registro de Dispositivo. Essa função concede acesso de Colaborador de identidade gerenciada do namespace do Registro de Dispositivo ao Hub IoT. A função permite acesso amplo, incluindo o gerenciamento de recursos, mas não a atribuição de funções.
az role assignment create --assignee $ADR_PRINCIPAL_ID --role "Contributor" --scope $HUB_RESOURCE_IDAtribua a função Colaborador do Registro do Hub IoT à identidade do Registro de Dispositivo. Essa função concede permissões mais específicas para gerenciar identidades de dispositivo no Hub IoT. Essas permissões são essenciais para que o Registro de Dispositivos registre e gerencie dispositivos no hub.
az role assignment create --assignee $ADR_PRINCIPAL_ID --role "IoT Hub Registry Contributor" --scope $HUB_RESOURCE_ID
Criar uma instância de DPS com a integração do Registro de Dispositivo
Crie uma nova instância DPS vinculada ao namespace do Registro de Dispositivo que você criou nas seções anteriores. Sua instância DPS deve estar localizada na mesma região que o namespace do Registro de Dispositivo.
az iot dps create --name <DPS_NAME> --resource-group <RESOURCE_GROUP> --location <LOCATION> --mi-user-assigned $UAMI_RESOURCE_ID --ns-resource-id $NAMESPACE_RESOURCE_ID --ns-identity-id $UAMI_RESOURCE_IDVerifique se o DPS tem a identidade correta e as propriedades do Registro de Dispositivo configuradas.
az iot dps show --name <DPS_NAME> --resource-group <RESOURCE_GROUP> --query identity --output json
Vincular o hub IoT à instância do DPS
Vincule o Hub IoT à instância do DPS.
az iot dps linked-hub create --dps-name <DPS_NAME> --resource-group <RESOURCE_GROUP> --hub-name <HUB_NAME>Verifique se o hub IoT aparece na lista de hubs vinculados para a instância do DPS.
az iot dps linked-hub list --dps-name <DPS_NAME> --resource-group <RESOURCE_GROUP>
Executar a sincronização de credenciais do Registro de Dispositivo
Sincronize suas credenciais e políticas com o hub IoT. Esta etapa garante que o hub IoT registre os certificados de AC e confie em todos os certificados folha emitidos por suas políticas configuradas.
az iot adr ns credential sync --namespace <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP>
Validar o certificado da Autoridade Certificadora do hub
Valide se o hub de IoT registrou o certificado da AC.
az iot hub certificate list --hub-name <HUB_NAME> --resource-group <RESOURCE_GROUP>
Criar um registro no DPS
Para provisionar dispositivos usando certificados de folha, crie um grupo de inscrição no DPS e atribua-o à política de credenciais apropriada com o parâmetro --credential-policy.
O comando a seguir cria um grupo de registro que usa o atestado de chave simétrica por padrão:
Observação
Se você criar uma política com um nome diferente de default, certifique-se de usar o nome da política após o parâmetro --credential-policy.
az iot dps enrollment-group create --dps-name <DPS_NAME> --resource-group <RESOURCE_GROUP> --enrollment-id <ENROLLMENT_ID> --credential-policy <POLICY_NAME>
Seu hub IoT com integração do Registro de Dispositivo e gerenciamento de certificados agora está configurado e pronto para uso.
Comandos opcionais
Os comandos a seguir ajudam você a gerenciar seus namespaces do Registro de Dispositivos, desabilitar dispositivos, criar políticas personalizadas e excluir recursos quando eles não forem mais necessários.
Gerenciar seus namespaces
Liste todos os namespaces em seu grupo de recursos.
az iot adr ns list --resource-group <RESOURCE_GROUP_NAME>Mostrar os detalhes de um namespace específico.
az iot adr ns show --name <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP_NAME>Liste todas as políticas em seu namespace.
az iot adr ns policy list --namespace <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP_NAME>Mostrar os detalhes de uma política específica.
az iot adr ns policy show --namespace <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP_NAME> --name <POLICY_NAME>Liste todas as credenciais em seu namespace.
az iot adr ns credential list --namespace <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP_NAME>
Desabilitar dispositivos
Liste todos os dispositivos em seu hub de IoT.
az iot hub device-identity list --hub-name <HUB_NAME> --resource-group <RESOURCE_GROUP_NAME>Desabilite um dispositivo atualizando seu status para
disabled. Certifique-se de substituir<MY_DEVICE_ID>pelo ID do dispositivo que você deseja desativar.az iot hub device-identity update --hub-name <HUB_NAME> --resource-group <RESOURCE_GROUP_NAME> -d <MY_DEVICE_ID> --status disabledExecute o dispositivo novamente e verifique se ele não consegue se conectar a um hub IoT.
Criar uma política personalizada
Crie uma política personalizada usando o az iot adr ns policy create comando. Defina o nome, o assunto do certificado e o período de validade da política seguindo estas regras:
- O valor da política
namedeve ser exclusivo dentro do namespace. Se você tentar criar uma política com um nome que já existe, receberá uma mensagem de erro. - O valor do sujeito
cert-subjectdo certificado deve ser único em todas as políticas dentro do namespace. Se você tentar criar uma política com um assunto que já existe, você receberá uma mensagem de erro. - O valor do período
cert-validity-daysde validade deve estar entre 1 e 30 dias. Se você tentar criar uma política com um período de validade fora desse intervalo, receberá uma mensagem de erro.
O exemplo a seguir cria uma política chamada custom-policy com um assunto de CN=TestDevice e um período de validade de 30 dias.
az iot adr ns policy create --name "custom-policy" --namespace <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP_NAME> --cert-subject "CN=TestDevice" --cert-validity-days "30"
Excluir recursos
Para excluir o namespace do Registro de Dispositivo, primeiro você deve excluir todos os hubs IoT vinculados ao namespace.
az iot hub delete --name <HUB_NAME> --resource-group <RESOURCE_GROUP_NAME>
az iot adr ns delete --name <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP_NAME>
az iot dps delete --name <DPS_NAME> --resource-group <RESOURCE_GROUP_NAME>
az identity delete --name <USER_IDENTITY> --resource-group <RESOURCE_GROUP_NAME>
Visão geral
Use o script do PowerShell fornecido para automatizar a configuração do seu hub IoT com integração ao Registro de Dispositivos do Azure. O script executa todas as etapas necessárias para criar os recursos necessários e vinculá-los juntos, incluindo etapas para:
- Crie um grupo de recursos.
- Configure os privilégios de aplicativo necessários.
- Crie uma identidade gerenciada atribuída pelo usuário.
- Crie um namespace do Registro de Dispositivo com a identidade gerenciada atribuída pelo sistema.
- Crie uma autoridade certificadora de credenciais raiz (AC raiz) e uma política da AC emissora restritas a esse namespace.
- Crie um hub IoT (versão prévia) com um namespace vinculado e uma identidade gerenciada.
- Crie uma instância DPS com um hub IoT vinculado e um namespace.
- Sincronize suas credenciais e políticas (certificados de AC) para Hub IoT.
- Crie um grupo de registro e vincule-se à sua política para habilitar o provisionamento de certificados.
Importante
Durante o período de visualização, o Hub IoT com integração com o Registro de Dispositivos e os recursos de gerenciamento de certificados habilitados no Hub IoT estão disponíveis gratuitamente. O serviço de provisionamento de dispositivos é cobrado separadamente e não está incluído na oferta de visualização. Para obter mais informações sobre os preços do DPS, consulte preços do Hub IoT do Azure.
Prepare o seu ambiente
Baixe o PowerShell 7 para Windows.
Vá para o repositório GitHub e baixe a pasta Scripts, que contém o arquivo de script,
iothub-adr-certs-setup-preview.ps1.
Personalizar as variáveis de script
Abra o arquivo de script em um editor de texto e modifique as seguintes variáveis para corresponder à configuração desejada:
-
TenantId: seu ID de locatário. Para localizar esse valor, executeaz account showem seu terminal. -
SubscriptionId: sua ID de assinatura. Para localizar esse valor, executeaz account showem seu terminal. -
ResourceGroup: o nome do novo grupo de recursos. -
Location: a região do Azure em que você deseja criar seus recursos. Confira os locais disponíveis para ver os recursos de visualização na seção regiões com suporte . -
NamespaceName: o nome do namespace pode conter apenas letras minúsculas e hifens (-) no meio do nome, mas não no início ou no final. Por exemplo, msft-namespace é um nome válido. -
HubName: o nome do hub pode conter apenas letras minúsculas e numerais. -
DpsName: o nome da nova instância do DPS. -
UserIdentity: a nova identidade gerenciada atribuída pelo usuário para seus recursos. -
WorkingFolder: a pasta local em que o script está localizado.
Importante
Como o Hub IoT será publicamente detectável como um ponto de extremidade DNS, evite inserir informações de identificação pessoal ou confidenciais ao nomeá-lo.
Executar o script interativamente
Abra o script e execute no PowerShell 7+ como administrador. Vá para a pasta que contém o script e execute
.\iothub-adr-certs-setup-preview.ps1.Se você encontrar um problema de política de execução, tente executar
powershell -ExecutionPolicy Bypass -File .\iothub-adr-certs-setup-preview.ps1.Se você receber uma mensagem informando que o namespace
Microsoft.DeviceRegistrynão está registrado, tente executaraz provider register --namespace Microsoft.DeviceRegistry.Siga as instruções guiadas.
- Selecione Enter para continuar com uma etapa.
- Selecione s ou S para ignorar uma etapa.
- Selecione Ctrl + C para anular.
A criação do namespace do Registro de Dispositivo, Hub IoT, instância DPS e outros recursos pode levar até cinco minutos cada.
Monitorar a execução e validar os recursos
O script continua a execução quando os avisos são encontrados e só é interrompido se um comando retorna um código de saída diferente de zero. Monitore o console para mensagens ERROR vermelhas, que indicam problemas que exigem atenção.
Após a conclusão do script, valide a criação de seus recursos visitando seu novo grupo de recursos no portal Azure. Você deverá ver os seguintes recursos criados:
- Instância do Hub IoT
- Instância do DPS
- namespace do Registro de Dispositivo Azure
- Identidade gerenciada atribuída pelo usuário
Próximas etapas
Seu hub IoT com integração do Registro de Dispositivos e gerenciamento de certificados está configurado e pronto para uso. Agora você pode começar a integrar seus dispositivos IoT ao hub usando uma instância DPS. Você pode usar suas políticas do Registro de Dispositivos para emitir certificados para seus dispositivos:
O gerenciamento de certificados é compatível com alguns SDKs selecionados do Hub IoT e com o DPS para SDKs de dispositivo. Agora você pode adicionar dispositivos usando o gerenciamento de certificados X.509 com suporte da Microsoft com os seguintes exemplos de SDK: