Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Você pode usar a ID do Microsoft Entra para autenticar solicitações para APIs do DPS (Serviço de Provisionamento de Dispositivos) do Hub IoT do Azure, como criar identidade de dispositivo e invocar método direto. Você também pode usar o controle de acesso baseado em função do Azure (Azure RBAC) para autorizar essas mesmas APIs de serviço. Ao utilizar estas tecnologias em conjunto, pode conceder permissões de acesso às APIs do Serviço de Provisionamento de Dispositivos (DPS) do Hub IoT do Azure a um principal 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 com o Microsoft Entra ID e controlar as permissões com o RBAC do Azure oferecem maior segurança e facilidade de utilização em relação aos 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.
Nota
A autenticação com o Microsoft Entra ID não é suportada para as APIs de dispositivo do Serviço de Aprovisionamento de Dispositivos (DPS) do Hub IoT do Azure (como registar dispositivo ou pesquisar o estado de registo do dispositivo). Use chaves simétricas, X.509 ou TPM para autenticar dispositivos no DPS (Serviço de Provisionamento de Dispositivos) do 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 Dispositivos (DPS) do Hub IoT do Azure, a identidade da entidade é primeiro autenticada. Para autenticação, a solicitação precisa conter um token de acesso OAuth 2.0 em tempo de execução. O nome do recurso para solicitar o token é https://azure-devices-provisioning.net. Se o aplicativo for executado em um recurso do Azure, como uma VM do Azure, aplicativo do Funções do Azure ou aplicativo do Serviço de Aplicativo do Azure, ele poderá ser representado como uma identidade gerenciada.
Depois de a identidade do Microsoft Entra ser autenticada, o passo seguinte é autorização. Nesta etapa, o Hub IoT do Azure Device Provisioning Service (DPS) utiliza o serviço de atribuição de funções do Microsoft Entra para determinar que permissões o principal tem. Se as permissões do principal corresponderem ao recurso ou à API solicitados, o DPS (Serviço de Provisionamento de Dispositivos) do Hub IoT do Azure autoriza o pedido. Portanto, esta etapa requer que uma ou mais funções do Azure sejam atribuídas à entidade de segurança. O Serviço de Provisionamento de Dispositivo (DPS) do Hub IoT do Azure fornece algumas funções internas que têm grupos comuns de permissões.
Gerenciar o acesso ao Serviço de Provisionamento de Dispositivo (DPS) do Hub IoT do Azure usando a atribuição de função RBAC do Azure
Com o Microsoft Entra ID e o RBAC, o DPS (Serviço de Provisionamento de Dispositivos) do Hub IoT do Azure exige que a entidade que solicita a API tenha o nível apropriado de permissão para autorização. Para dar permissão ao principal, atribua-lhe uma atribuição de função.
- Se o principal for um utilizador, grupo ou principal de serviço de aplicação, siga as orientações em Atribuir funções do Azure usando o portal do Azure.
- Se o principal for uma identidade gerida, siga as orientações em Atribuir acesso de uma identidade gerida a um recurso através do portal do Azure.
Para garantir o menor privilégio, atribua sempre a função apropriada no menor escopo de recurso possível, que provavelmente é o escopo do DPS (Serviço de Provisionamento de Dispositivos) do 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 |
|---|---|
| Contribuidor de dados do serviço de provisionamento de dispositivos | Permite acesso total à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 total de leitura às propriedades do plano de dados do Serviço de Provisionamento de Dispositivos. |
Você também pode definir funções personalizadas para usar com o Serviço de Provisionamento de Dispositivo (DPS) do Hub IoT do Azure combinando as permissões necessárias. Para obter mais informações, consulte Criar funções personalizadas para o controlo de acesso baseado em funções do Azure.
Chaves de escrita no plano de controlo e de política de acesso partilhado
A Microsoft.Devices/provisioningServices/write ação permite que um principal crie ou atualize qualquer propriedade do recurso DPS, incluindo a authorizationPolicies coleção. Como o contrato do Azure Resource Manager (ARM) para CreateOrUpdate aceita, em cada política, valores primaryKey e secondaryKey fornecidos pelo chamador, uma entidade principal que detenha write num recurso do DPS pode:
- Defina a chave primária ou secundária de qualquer política de acesso partilhado (incluindo a política raiz)
provisioningserviceownerpara um valor que eles escolham, e depois autentique como essa política. - Renovar as chaves de qualquer política de acesso partilhado, o que invalida os clientes existentes.
- Adicione uma nova política de acesso partilhado nomeada com um valor de chave escolhido.
Por esta razão, Microsoft.Devices/provisioningServices/write é funcionalmente equivalente à administração total das credenciais da política de acesso partilhada do recurso, independentemente de o principal também deter Microsoft.Devices/provisioningServices/listkeys/action ou Microsoft.Devices/provisioningServices/listkey/action.
Importante
Uma função personalizada que concede Microsoft.Devices/provisioningServices/write num recurso DPS sem conceder listkeys/actionnão isola a administração de credenciais da configuração do recurso. O principal continua a ter controlo total sobre o material de chave da política de acesso partilhado através da via de escrita. Não confie neste padrão para configurações de privilégio mínimo.
Se precisar de separar a configuração de recursos da administração de credenciais de políticas de acesso partilhadas, use um dos seguintes padrões:
- Prefira a autenticação do Microsoft Entra ID para o plano de dados. Atribuir os papéis incorporados Contribuidor de Dados do Serviço de Provisionamento de Dispositivos ou Leitor de Dados do Serviço de Provisionamento de Dispositivos para a gestão de inscrições e desativar, sempre que possível, o acesso com assinatura de acesso partilhado no recurso.
- Restringir
writeao nível do recurso. Comowriteimplica controlo de chaves, conceda-o apenas a entidades de confiança com credenciais de política de acesso partilhadas. - Auditar a atividade do plano de controlo. As alterações a
authorizationPoliciesefetuadas através do PUT do plano de controlo são registadas no Registo de Atividade do Azure no âmbito da operaçãoMicrosoft.Devices/provisioningServices/write. Analise estes eventos juntamente com os eventoslistkeys/actiondurante a auditoria do acesso às credenciais.
As mesmas considerações aplicam-se ao Hub IoT do Azure. Para mais detalhes, consulte Controlar o acesso ao Hub IoT utilizando o Microsoft Entra ID.
Âmbito do recurso
Antes de atribuir uma função RBAC do Azure a uma entidade de segurança, determine o escopo de acesso que a entidade de segurança deve ter. É sempre melhor conceder apenas o âmbito mais restrito possível. As funções do Azure RBAC definidas num âmbito mais alargado são herdadas pelos recursos subordinados.
Esta lista descreve os níveis nos quais você pode definir o escopo de acesso ao Hub IoT, começando com o escopo mais estreito:
- O Serviço de Provisionamento de Dispositivo (DPS) do Hub IoT do Azure. Neste escopo, uma atribuição de função se aplica ao DPS (Serviço de Provisionamento de Dispositivo) do Hub IoT do Azure. Não há suporte para atribuição de função em escopos menores, como grupo de inscrição ou inscrição individual.
- O grupo de recursos. Neste escopo, uma atribuição de função se aplica a todos os hubs IoT no grupo de recursos.
- A assinatura. Neste escopo, uma atribuição de função se aplica a todos os hubs IoT em todos os grupos de recursos na assinatura.
- Um grupo de gestão. Neste âmbito, uma atribuição de função aplica-se a todos os hubs IoT em todos os grupos de recursos de todas as subscrições do grupo de gestão.
Permissões para APIs do Serviço de Provisionamento de Dispositivo (DPS) do Hub IoT do Azure
A tabela a seguir descreve as permissões disponíveis para operações de API do DPS (Serviço de Provisionamento de Dispositivos) do Hub IoT do Azure. Para permitir que um cliente chame uma operação específica, certifique-se de que a função RBAC atribuída ao cliente ofereça permissões suficientes para a operação.
| Ação do RBAC | Descrição |
|---|---|
Microsoft.Devices/provisioningServices/attestationmechanism/details/action |
Obter detalhes do mecanismo de atestação |
Microsoft.Devices/provisioningServices/enrollmentGroups/read |
Ler grupos de inscrição |
Microsoft.Devices/provisioningServices/enrollmentGroups/write |
Escrever grupos de inscrição |
Microsoft.Devices/provisioningServices/enrollmentGroups/delete |
Excluir grupos de inscrição |
Microsoft.Devices/provisioningServices/enrollments/read |
Ver inscrições |
Microsoft.Devices/provisioningServices/enrollments/write |
Registar inscrições |
Microsoft.Devices/provisioningServices/enrollments/delete |
Excluir inscrições |
Microsoft.Devices/provisioningServices/registrationStates/read |
Ler estados de registo |
Microsoft.Devices/provisioningServices/registrationStates/delete |
Excluir estados de registro |
Extensão do Azure IoT para CLI do Azure
A maioria dos comandos para o Serviço de Aprovisionamento de Dispositivos (DPS) do Hub IoT do Azure suporta a autenticação do Microsoft Entra. Você pode controlar o tipo de autenticação usado para executar comandos usando o --auth-type parâmetro que aceita key ou login valores. O key valor é o padrão.
Quando
--auth-typetem okeyvalor, a CLI descobre automaticamente uma política adequada quando interage com o DPS (Serviço de Provisionamento de Dispositivo) do Hub IoT do Azure.Quando
--auth-typetem ologinvalor, um token de acesso da CLI do Azure registrada na entidade de segurança é usado para a operação.Atualmente, os seguintes comandos suportam
--auth-type:az iot dps enrollmentaz iot dps enrollment-groupaz iot dps registration
Para obter mais informações, consulte a página de lançamento da extensão do Azure IoT para a CLI do Azure.
SDKs e amostras
- Azure IoT SDKs para o Serviço de Aprovisionamento do Node.js
- Versão de pré-visualização do SDK do Azure IoT para Java
- Microsoft Azure IoT SDKs for .NET Preview Release
Acesso ao Microsoft Entra ID a partir do portal do Azure
Nota
O acesso ao Microsoft Entra ID a partir do portal do Azure não está atualmente disponível na pré-visualização.
Próximos passos
- Para obter mais informações sobre as vantagens de usar o Microsoft Entra ID em seu aplicativo, consulte Integração 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 o Microsoft Entra ID.