RBAC do Azure e Atualização de Dispositivo do Azure para o Hub IoT
Para que usuários e aplicativos acessem a Atualização de Dispositivo do Azure para Hub IoT, eles devem ter acesso ao recurso Atualização de Dispositivo. A entidade de serviço de Atualização de Dispositivo também deve obter acesso ao seu hub IoT associado para implantar atualizações e gerenciar dispositivos.
Este artigo explica como a Atualização de Dispositivo e o Hub IoT do Azure usam o controle de acesso baseado em função do Azure (Azure RBAC) para fornecer autenticação e autorização para usuários e APIs de serviço. O artigo também descreve a autenticação de ID do Microsoft Entra para APIs REST de Atualização de Dispositivo e suporte para identidades gerenciadas na Atualização de Dispositivo e no Hub IoT do Azure.
Funções de controle de acesso de Atualização de Dispositivo
A Atualização de Dispositivo suporta as seguintes funções RBAC. Para obter mais informações, consulte Configurar o controle de acesso à conta de Atualização de Dispositivo.
Nome da Função | Description |
---|---|
Administrador de atualização de dispositivo | Tem acesso a todos os recursos de Atualização de Dispositivo |
Leitor de atualização de dispositivo | Pode visualizar todas as atualizações e implantações |
Administrador de conteúdo de atualização de dispositivo | Pode visualizar, importar e excluir atualizações |
Leitor de conteúdo de atualização de dispositivo | Pode ver atualizações |
Administrador de implantações de atualização de dispositivo | Pode gerenciar implantações de atualizações em dispositivos |
Leitor de implantações de atualização de dispositivo | Pode visualizar implantações de atualizações para dispositivos |
Você pode atribuir uma combinação de funções para fornecer o nível certo de acesso. Por exemplo, você pode usar a função Administrador de Conteúdo de Atualização de Dispositivo para importar e gerenciar atualizações, mas precisa da função Leitor de Implantações de Atualização de Dispositivo para exibir o progresso de uma atualização. Por outro lado, com a função Leitor de Atualização de Dispositivo, você pode exibir todas as atualizações, mas precisa da função Administrador de Implantações de Atualização de Dispositivo para implantar uma atualização nos dispositivos.
Acesso principal do serviço de Atualização de Dispositivo ao Hub IoT
A Atualização de Dispositivo se comunica com seu hub IoT associado para implantar e gerenciar atualizações em escala. Para habilitar essa comunicação, você precisa conceder à entidade de serviço de Atualização de Dispositivo acesso ao hub IoT com a função de Colaborador de Dados do Hub IoT.
A concessão dessa permissão permite as seguintes ações de implantação, gerenciamento de dispositivos e atualizações e diagnóstico:
- Criar implementação
- Cancelar implantação
- Repetir implantação
- Obter dispositivo
Você pode definir essa permissão na página Controle de Acesso (IAM) do hub IoT. Para obter mais informações, consulte Configurar o acesso ao hub IoT para a entidade de serviço de Atualização de Dispositivo.
APIs REST de atualização de dispositivo
A Atualização de Dispositivo usa o ID do Microsoft Entra para autenticação em suas APIs REST. Para começar, você precisa criar e configurar um aplicativo cliente.
Criar um aplicativo cliente Microsoft Entra
Para integrar um aplicativo ou serviço com o Microsoft Entra ID, primeiro registre um aplicativo cliente com o Microsoft Entra ID. A configuração do aplicativo cliente varia dependendo do fluxo de autorização necessário: usuários, aplicativos ou identidades gerenciadas. Por exemplo:
Para chamar a Atualização de Dispositivo a partir de um aplicativo móvel ou de desktop, selecione Cliente público/nativo (móvel ou desktop) em Selecionar uma plataforma e insira
https://login.microsoftonline.com/common/oauth2/nativeclient
o URI de redirecionamento.Para chamar a Atualização de Dispositivo de um site com logon implícito, use a plataforma Web . Em Concessão implícita e fluxos híbridos, selecione Tokens de acesso (usados para fluxos implícitos).
Nota
Use o fluxo de autenticação mais seguro disponível. A autenticação de fluxo implícita requer um alto grau de confiança no aplicativo e acarreta riscos que não estão presentes em outros fluxos. Você deve usar esse fluxo somente quando outros fluxos mais seguros, como identidades gerenciadas, não forem viáveis.
Configurar permissões
Em seguida, conceda permissões ao seu aplicativo para chamar a Atualização de Dispositivo.
- Vá para a página de permissões da API do seu aplicativo e selecione Adicionar uma permissão.
- Vá para APIs que minha organização usa e procure Atualização de Dispositivo do Azure.
- Selecione user_impersonation permissão e selecione Adicionar permissões.
Solicitar token de autorização
A API REST de Atualização de Dispositivo requer um token de autorização OAuth 2.0 no cabeçalho da solicitação. As seções a seguir mostram exemplos de algumas maneiras de solicitar um token de autorização.
CLI do Azure
az login
az account get-access-token --resource 'https://api.adu.microsoft.com/'
Biblioteca MSAL do PowerShell
MSAL.PS
O módulo PowerShell é um wrapper sobre a Biblioteca de Autenticação da Microsoft para .NET (MSAL .NET) que oferece suporte a vários métodos de autenticação.
Credenciais do usuário:
$clientId = '<app_id>' $tenantId = '<tenant_id>' $authority = "https://login.microsoftonline.com/$tenantId/v2.0" $Scope = 'https://api.adu.microsoft.com/user_impersonation' Get-MsalToken -ClientId $clientId -TenantId $tenantId -Authority $authority -Scopes $Scope
Credenciais do usuário com código do dispositivo:
$clientId = '<app_id>’ $tenantId = '<tenant_id>’ $authority = "https://login.microsoftonline.com/$tenantId/v2.0" $Scope = 'https://api.adu.microsoft.com/user_impersonation' Get-MsalToken -ClientId $clientId -TenantId $tenantId -Authority $authority -Scopes $Scope -Interactive -DeviceCode
Credenciais do aplicativo:
$clientId = '<app_id>’ $tenantId = '<tenant_id>’ $cert = '<client_certificate>' $authority = "https://login.microsoftonline.com/$tenantId/v2.0" $Scope = 'https://api.adu.microsoft.com/.default' Get-MsalToken -ClientId $clientId -TenantId $tenantId -Authority $authority -Scopes $Scope -ClientCertificate $cert
Suporte para identidades gerenciadas
As identidades gerenciadas fornecem aos serviços do Azure identidades seguras e gerenciadas automaticamente do Microsoft Entra ID. As identidades gerenciadas eliminam a necessidade de os desenvolvedores gerenciarem credenciais fornecendo identidades. A Atualização de Dispositivo suporta identidades gerenciadas atribuídas pelo sistema.
Para adicionar uma identidade gerenciada atribuída pelo sistema para a Atualização de Dispositivo:
- No portal do Azure, aceda à sua conta de Atualização de Dispositivo.
- Na navegação à esquerda, selecione Identidade das configurações>.
- Em Sistema atribuído na página Identidade , defina Status como Ativado.
- Selecione Guardar e, em seguida, selecione Sim.
Para adicionar uma identidade gerenciada atribuída pelo sistema para o Hub IoT:
- No portal do Azure, vá para seu hub IoT.
- Na navegação à esquerda, selecione Identidade das configurações>de segurança.
- Em Atribuído pelo sistema na página Identidade , selecione Ativado em Status.
- Selecione Guardar e, em seguida, selecione Sim.
Para remover a identidade gerenciada atribuída ao sistema de uma conta de Atualização de Dispositivo ou hub IoT, defina ou selecione Desativado na página Identidade e selecione Salvar.