Controlar o acesso ao DPS (Serviço de Provisionamento de Dispositivos) no Hub IoT do Azure usando o Microsoft Entra ID (versão prévia)
Você pode usar a Microsoft Entra ID para autenticar solicitações para DPS (Serviço de Provisionamento de Dispositivos) no Hub IoT do Azure, como criar a identidade do dispositivo e invocar o método direto. Você também pode usar o RBAC do Azure (controle de acesso baseado em função do Azure) para autorizar essas mesmas APIs de serviço. Usando essas tecnologias juntas, você pode conceder, a uma entidade de segurança do Microsoft Entra, permissões de acesso às APIs de DPS no Hub IoT do Azure. Essa entidade de segurança pode ser um usuário, grupo ou entidade de serviço de aplicativo.
Autenticar o acesso usando Microsoft Entra ID e controlar permissões usando o RBAC do Azure fornece segurança aprimorada e facilidade de uso em tokens de segurança. Para minimizar possíveis problemas de segurança inerentes a tokens de segurança, recomendamos usar o Microsoft Entra ID com o DPS no Hub IoT do Azure sempre que possível.
Observação
Não há suporte para a autenticação com o Microsoft Entra ID nas APIs de dispositivo do DPS no Hub IoT do Azure (como registrar dispositivo ou a pesquisa de status de registro de dispositivo). Use chaves simétricas, X.509 ou TPM para autenticar dispositivos no Serviço de Provisionamento de Dispositivos (DPS) no Hub IoT do Azure.
Autenticação e autorização
Quando uma entidade de segurança do Microsoft Entra solicita o acesso a uma API do DPS no Hub IoT do Azure, primeiro, a identidade da entidade de segurança é autenticada. Para autenticação, a solicitação precisa conter um token de acesso OAuth 2.0 no runtime. O nome do recurso para solicitar o token é https://azure-devices-provisioning.net
. Se o aplicativo for executado dentro de um recurso do Azure, como uma VM do Azure, um aplicativo do Azure Function ou um aplicativo do Serviço de Aplicativo, ele poderá ser representado como uma identidade gerenciada.
Depois que a entidade de segurança do Microsoft Entra for autenticada, a próxima etapa será autorização. Nesta etapa, o DPS no Hub IoT do Azure usa o serviço de atribuição de função do Microsoft Entra para determinar as permissões que a entidade de segurança possui. Se as permissões da entidade de segurança corresponderem ao recurso ou à API solicitado, o DPS no Hub IoT do Azure autorizará a solicitação. A etapa de autorização requer que uma ou mais funções do Azure sejam atribuídas à entidade de segurança. O DPS no Hub IoT do Azure fornece algumas funções internas com grupos comuns de permissões.
Gerenciar o acesso ao Serviço de Provisionamento de Dispositivos (DPS) no Hub IoT do Azure usando atribuição de função RBAC do Azure
Com o Microsoft Entra ID e o RBAC, o DPS no Hub IoT do Azure requer que a entidade de segurança que solicita a API tenha o nível apropriado de permissão para fornecer a autorização. Para dar permissão à entidade de segurança, conceda a essa entidade uma atribuição de função.
- Se a entidade de segurança for um usuário, grupo ou entidade de serviço de aplicativo, siga as orientações em Atribuir funções do Azure usando o Portal do Azure.
- Se a entidade de segurança for uma identidade gerenciada, siga as orientações em Atribuir um acesso de identidade gerenciada a um recurso usando o portal do Azure.
Para garantir o privilégio mínimo, atribua sempre a função apropriada no menor escopo de recursos possível, que é provavelmente o escopo do DPS no Hub IoT do Azure.
O DPS no Hub IoT do Azure fornece as seguintes funções internas do Azure para autorizar o acesso às APIs de DPS usando o Microsoft Entra ID e RBAC:
Função | Descrição |
---|---|
Colaborador de Dados do Serviço de Provisionamento de Dispositivos | Permite acesso completo às operações do plano de dados do Serviço de Provisionamento de Dispositivos. |
Leitor de Dados do Serviço de Provisionamento de Dispositivos | Permite acesso completo de leitura às propriedades do plano de dados do Serviço de Provisionamento de Dispositivo. |
Você também pode definir funções personalizadas para uso com o DPS no Hub IoT do Azure combinando as permissões necessárias. Para obter mais informações, consulte Criar funções personalizadas para controle de acesso baseado em função do Azure.
Escopo do recurso
Antes de atribuir uma função RBAC do Azure a uma entidade de segurança, determine o escopo do acesso que essa entidade de segurança deve ter. Sempre é melhor conceder o escopo mais estreito possível. As funções RBAC do Azure definidas em um escopo mais amplo são herdadas pelos recursos abaixo delas.
A lista descreve os níveis de escopo de acesso que você pode definir para o Hub IoT, começando pelo escopo mais estreito:
- O DPS (Serviço de Provisionamento de Dispositivos) no Hub IoT do Azure. Nesse escopo, uma atribuição de função se aplica ao DPS (Serviço de Provisionamento de Dispositivos) no Hub IoT do Azure. Não há suporte para atribuição de função em escopos menores, como grupo de registro ou registro individual.
- O grupo de recursos. Nesse escopo, uma atribuição de função é aplicada a todo os Hubs IoT do grupo de recursos.
- A assinatura. Nesse escopo, uma atribuição de função é aplicada a todos os Hubs IoT de todos os grupos de recursos da assinatura.
- Um grupo de gerenciamento. Nesse escopo, uma atribuição de função é aplicada a todos os Hubs IoT de todos os grupos de recursos em todas as assinaturas do grupo de gerenciamento.
Permissões para APIs de DPS no Hub IoT do Azure
A tabela a seguir descreve as permissões disponíveis para operações de API de Serviço de Provisionamento de Dispositivos (DPS) no Hub IoT do Azure. Para permitir que um cliente chame uma operação específica, verifique se a função RBAC atribuída ao cliente oferece permissões suficientes para essa operação.
Ação do RBAC | Descrição |
---|---|
Microsoft.Devices/provisioningServices/attestationmechanism/details/action |
Buscar detalhes do mecanismo de atestado |
Microsoft.Devices/provisioningServices/enrollmentGroups/read |
Ler grupos de registro |
Microsoft.Devices/provisioningServices/enrollmentGroups/write |
Gravar grupos de registro |
Microsoft.Devices/provisioningServices/enrollmentGroups/delete |
Excluir grupos de registro |
Microsoft.Devices/provisioningServices/enrollments/read |
Ler inscrições |
Microsoft.Devices/provisioningServices/enrollments/write |
Gravar registros |
Microsoft.Devices/provisioningServices/enrollments/delete |
Excluir registros |
Microsoft.Devices/provisioningServices/registrationStates/read |
Ler estados de registro |
Microsoft.Devices/provisioningServices/registrationStates/delete |
Excluir estados de registro |
Extensão de IoT do Azure para a CLI do Azure
A maioria dos comandos referente ao DPS no Hub IoT do Azure dá suporte à autenticação do Microsoft Entra. Você pode controlar o tipo de autenticação usado para executar comandos usando o parâmetro --auth-type
, que aceita os valores key
ou login
. O valor key
é o padrão.
Quando
--auth-type
tem o valor dekey
, a CLI descobre automaticamente uma política adequada ao interagir com o DPS no Hub IoT do Azure.Quando
--auth-type
tem o valorlogin
, um token de acesso da entidade de segurança conectada à CLI do Azure é usado para a operação.No momento, os seguintes comandos dão suporte para
--auth-type
:az iot dps enrollment
az iot dps enrollment-group
az iot dps registration
Para saber mais, confira a extensão do Azure IoT para a página da extensão da CLI do Azure.
SDKs e amostras
- SDKs de IoT do Azure para serviço de provisionamento Node.js
- Versão prévia do SDK de IoT do Azure para Java
- • Versão prévia de SDKs de IoT do Microsoft Azure para .NET
Acesso à Microsoft Entra ID no portal do Azure
Observação
Atualmente, o acesso do Microsoft Entra ID pelo portal do Azure não está disponível na versão prévia.
Próximas etapas
- Para obter mais informações sobre as vantagens de usar a ID do Microsoft Entra ID em seu aplicativo, consulte Integração com o Microsoft Entra ID.
- Para saber mais sobre como solicitar tokens de acesso do Microsoft Entra ID para usuários e entidades de serviço, consulte Cenários de autenticação do Microsoft Entra ID.