Controlar o acesso ao Serviço de Provisionamento de Dispositivo (DPS) do Hub IoT do Azure usando a ID do Microsoft Entra (visualização)
Você pode usar a ID do Microsoft Entra para autenticar solicitações para APIs do Serviço de Provisionamento de Dispositivo (DPS) do Hub IoT do Azure, como criar identidade de dispositivo e invocar 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 permissões para acessar APIs do Serviço de Provisionamento de Dispositivo (DPS) do Hub IoT do Azure para uma entidade de segurança do Microsoft Entra. Essa entidade de segurança pode ser um usuário, grupo ou entidade de serviço de aplicativo.
Autenticar o acesso usando a ID do Microsoft Entra e controlar permissões usando o RBAC do Azure fornece segurança aprimorada e facilidade de uso sobre tokens de segurança. Para minimizar possíveis problemas de segurança inerentes aos tokens de segurança, recomendamos que você use a ID do Microsoft Entra com seu DPS (Serviço de Provisionamento de Dispositivo) do Hub IoT do Azure sempre que possível.
Observação
A autenticação com a ID do Microsoft Entra não tem suporte para as APIs de dispositivo (DPS) do Serviço de Provisionamento de Dispositivo (DPS) do Hub IoT do Azure (como pesquisa de status de registro de dispositivo ou dispositivo de registro). 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 acesso a uma API do Serviço de Provisionamento de Dispositivo (DPS) do Hub IoT do Azure, a identidade da entidade é autenticada primeiro. 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á a autorização. Nesta etapa, o DPS (Serviço de Provisionamento de Dispositivo) do Hub IoT do Azure usa o serviço de atribuição de função Microsoft Entra para determinar quais permissões a entidade de segurança tem. 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 a ID do Microsoft Entra e o RBAC, o DPS (Serviço de Provisionamento de Dispositivo) do Hub IoT do Azure exige que a entidade de segurança que solicita a API tenha o nível apropriado de permissão para 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 Serviço de Provisionamento de Dispositivo (DPS) do Hub IoT do Azure fornece as seguintes funções internas do Azure para autorizar o acesso às APIs do DPS usando a ID do Microsoft Entra e o 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 no Serviço de Provisionamento de Dispositivo (DPS) do Hub IoT do Azure oferece 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 à ID do Microsoft Entra a partir do portal do Azure
Observação
O acesso à ID do Microsoft Entra a partir do portal do Azure não está disponível durante a pré-visualização.
Próximas etapas
- Para obter mais informações sobre as vantagens de usar o Microsoft Entra ID em seu aplicativo, consulte Integrando com o Microsoft Entra ID.
- Para obter mais informações sobre como solicitar tokens de acesso do Microsoft Entra ID para usuários e entidades de serviço, consulte Cenários de autenticação para Microsoft Entra ID.