Compartilhar 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, é necessário conceder acesso a esse recurso a eles. Também é necessário configurar o acesso para a entidade de serviço do Atualização de Dispositivo do Azure para implantar atualizações e gerenciar seus dispositivos com êxito.

Configurar as funções de controle de acesso

A Atualização de Dispositivo dá suporte a estas funções:

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 exibir todas as atualizações e implantações
Administrador de Conteúdo de Atualização de Dispositivo Pode exibir, importar e excluir atualizações
Leitor de Conteúdo de Atualização de Dispositivo Pode exibir atualizações
Administrador de Implantações de Atualização de Dispositivo Pode gerenciar a implantação de atualizações em dispositivos
Leitor de Implantações de Atualização de Dispositivo Pode exibir a implantação de atualizações em 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 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 de Leitor de Atualização de Dispositivo pode exibir todas as atualizações, mas precisa usar a função de Administrador de Implantações de Atualização de Dispositivo para implantar uma atualização específica nos dispositivos.

Configurar o acesso para a entidade de serviço da Atualização de Dispositivo do Azure no Hub IoT

A Atualização de Dispositivo para Hub IoT se comunica com o Hub IoT para implantações e gerencia atualizações em escala. Para habilitar a Atualização de Dispositivo para fazer isso, é necessário que os usuários definam o acesso de Colaborador de Dados do Hub IoT para a Entidade de Serviço de Atualização de Dispositivo do Azure nas permissões do Hub IoT.

As ações abaixo serão bloqueadas na próxima versão, se estas permissões não estiverem definidas:

  • Criar implantação
  • Cancelar implantação
  • Repita implantação
  • Obter dispositivo
  1. Vá para o Hub IoT que você conectou anteriormente à 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 Próximo. Em Atribuir acesso a, selecione Usuário, grupo ou entidade de serviço. Clique em + Selecionar Membros, pesquise por 'Atualização de Dispositivo do Azure'
  5. Clique em Avançar ->Revisar + Atribuir

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

  1. Vá para o Hub IoT que você conectou anteriormente à sua instância de Atualização de Dispositivo. Clique em Controle de Acesso (IAM)
  2. Clique em Verificar acesso
  3. Selecione Usuário, grupo ou entidade de serviço e pesquise "Atualização de Dispositivo do Azure"
  4. Após clicar em "Atualização de Dispositivo do Azure", verifique se a função Colaborador de Dados do Hub IoT está listada em Atribuições de função

Autenticar para APIs REST da Atualização de Dispositivo

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

Criar um aplicativo Azure AD cliente

Para integrar um aplicativo ou serviço ao Azure AD, primeiro registre um aplicativo cliente no Azure AD. A instalação do aplicativo cliente irá variar dependendo do fluxo de autorização que você precisa (usuários, aplicativos ou identidades gerenciadas). Por exemplo, para chamar a Atualização de Dispositivo de:

  • Aplicativo móvel ou de área de trabalho, adicione a plataforma de Aplicativos móveis e de área de trabalho com https://login.microsoftonline.com/common/oauth2/nativeclient para o URI de redirecionamento.
  • Site com logon implícito, adicione a plataforma 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 para seu aplicativo:

  1. Acesse a página de permissões de API do seu aplicativo e selecione Adicionar uma permissão.
  2. Acesse APIs que minha organização usa e pesquise por Atualização de Dispositivo do Azure.
  3. Selecione a permissão user_impersonation e selecione Adicionar permissões.

Solicitar um token de autorização

A API REST da Atualização de Dispositivo exige 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.

Usando a CLI do Azure

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

Usando a biblioteca MSAL do PowerShell

MSAL.PS O módulo do PowerShell é um wrapper da biblioteca de autenticação da Microsoft para .NET (MSAL .NET). Ele é compatível com os seguintes 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 usuário com o 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

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 serviços do Azure com uma identidade gerenciada automaticamente no Azure AD, de maneira segura. Isso elimina a necessidade de que os desenvolvedores gerenciem credenciais fornecendo uma identidade. A Atualização de Dispositivo para Hub IoT dá suporte a identidades gerenciadas atribuídas pelo sistema.

Identidade gerenciada atribuída pelo sistema

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

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

Para remover a identidade gerenciada atribuída pelo sistema de uma conta de Atualização de Dispositivo para hub IoT, selecione Desativar e clique em Salvar.

Próximas etapas