Partilhar via


RBAC (controle de acesso baseado em função) do Azure e Atualização de Dispositivo

A Atualização de Dispositivo usa o RBAC do Azure para fornecer autenticação e autorização para usuários e APIs de serviço. Para que outros usuários e aplicativos tenham acesso à Atualização de Dispositivo, os usuários ou aplicativos devem ter acesso a esse recurso. Também é necessário configurar o acesso para o service principal do serviço de Atualização de Dispositivo do Azure para implantar atualizações com êxito e gerenciar os dispositivos.

Configurar funções de controle de acesso

Estas são as funções suportadas pela Atualização de Dispositivo:

Nome da Função Descrição
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 para Atualização de Dispositivo Pode ver atualizações
Administrador de implantações de atualização de dispositivos Pode gerenciar a implantação de atualizações em dispositivos
Visualizador de atualizações de implantação de dispositivo Pode visualizar implantações de atualizações para dispositivos

Uma combinação de funções pode ser usada para fornecer o nível certo de acesso. Por exemplo, um desenvolvedor pode importar e gerenciar atualizações usando a função de Administrador de Conteúdo de Atualização de Dispositivo, mas precisa de uma função de Leitor de Implantações de Atualização de Dispositivo para exibir o progresso de uma atualização. Por outro lado, um operador de solução com a função Leitor de Atualização de Dispositivo pode exibir todas as atualizações, mas precisa usar a função Administrador de Implantações de Atualização de Dispositivo para implantar uma atualização específica nos dispositivos.

Configurando o acesso para a Entidade de Serviço de Atualização de Dispositivos do Azure no Hub IoT

A Atualização de Dispositivo para o Hub IoT comunica-se com o Hub IoT para distribuições e gestão de atualizações em grande escala. Para habilitar a Atualização de Dispositivo para fazer isso, os usuários precisam definir o acesso do Colaborador de Dados do Hub IoT para a Entidade do Serviço de Atualização de Dispositivo do Azure nas permissões do Hub IoT.

As ações abaixo serão bloqueadas com o próximo lançamento, se essas permissões não estiverem definidas:

  • Criar Implementação
  • Cancelar implantação
  • Repetir implantação
  • Adquirir dispositivo
  1. Vá para o Hub IoT conectado à sua Instância de Atualização de Dispositivo. Clique em Controle de acesso (IAM)
  2. Clique em + Adicionar ->Adicionar atribuição de função
  3. Na guia Função, selecione Colaborador de Dados do Hub IoT
  4. Clique em Next. Para Atribuir acesso a, selecione Utilizador, grupo ou principal do serviço. Clique em + Selecionar Membros, procure por 'Atualização de Dispositivo do Azure'
  5. Clique em Avançar ->Revisão + Atribuir

Para validar que você definiu as permissões corretamente:

  1. Vá para o Hub IoT conectado à sua Instância de Atualização de Dispositivo. Clique em Controle de acesso (IAM)
  2. Clique em Verificar acesso
  3. Selecionar Usuário, grupo ou entidade de serviço e procurar por 'de Atualização de Dispositivo Azure'
  4. Depois de clicar em 'Atualização de Dispositivo do Azure', verifique se a função de Colaborador de Dados do Hub IoT está listada em Atribuições de função

Autenticar nas APIs REST de Atualização de Dispositivo

A Atualização de Dispositivo usa o Azure Active Directory (AD) para autenticação nas suas APIs REST. Para começar, você precisa criar e configurar um aplicativo cliente.

Criar aplicativo cliente do Azure AD

Para integrar um aplicativo ou serviço com o Azure AD, primeiro registre um aplicativo cliente com o Azure AD. A configuração do aplicativo cliente variará dependendo do fluxo de autorização necessário (usuários, aplicativos ou identidades gerenciadas). Por exemplo, pode chamar o Device Update a partir de:

  • Aplicação móvel ou de desktop, adicione a plataforma de aplicações móveis e de desktop com para o URI de redirecionamento.
  • Site com autenticação implícita, adicione a plataforma Web Web e selecione Tokens de acesso (usados para fluxos implícitos).

Configurar permissões

Em seguida, adicione permissões para chamar a Atualização de Dispositivo ao seu aplicativo:

  1. Vá para a página de permissões da API do seu aplicativo e selecione Adicionar uma permissão.
  2. Vá para APIs que minha organização usa e procure Atualização de Dispositivo do Azure.
  3. 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 alguns exemplos de maneiras de solicitar um token de autorização.

Utilizar a CLI do Azure

az login
az account get-access-token --resource 'https://api.adu.microsoft.com/'

Utilizar a Biblioteca MSAL com o PowerShell

O módulo PowerShell MSAL.PS é um invólucro para a Biblioteca de Autenticação da Microsoft para .NET (MSAL .NET). Ele suporta vários métodos de autenticação.

Usando credenciais de 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

Usando credenciais de utilizador com código de 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

Usando as 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 uma identidade gerenciada automaticamente no Azure AD de maneira segura. Isso elimina a necessidade de os desenvolvedores terem que gerenciar credenciais fornecendo uma identidade. A Atualização de Dispositivo para o Hub IoT oferece suporte a identidades gerenciadas atribuídas pelo sistema.

Identidade gerenciada atribuída ao sistema

Para adicionar e remover uma identidade gerenciada atribuída ao sistema no portal do Azure:

  1. Entre no portal do Azure e navegue até a sua conta desejada de Atualização de Dispositivo para o Hub IoT.
  2. Navegue até Identidade no portal de Atualização de Dispositivo para o Hub IoT
  3. Navegue até Identidade no portal do IoT Hub
  4. Na guia Atribuído pelo sistema, selecione Ativado e clique em Salvar.

Para remover a identidade gerenciada atribuída ao sistema de uma conta de atualização de dispositivo para hub IoT, selecione Desativado e clique em Salvar.

Próximos passos