Compartilhar via


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.

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 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 à 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