Compartilhar via


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.

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 de key, a CLI descobre automaticamente uma política adequada ao interagir com o DPS no Hub IoT do Azure.

  • Quando --auth-type tem o valor login, 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

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