Compartilhar via


RBAC do Azure e Atualização de Dispositivo do Azure para 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 de Atualização de Dispositivo. A entidade de serviço atualização de dispositivo também deve obter acesso ao 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 RBAC (controle de acesso baseado em função) do Azure para fornecer autenticação e autorização para usuários e APIs de serviço. O artigo também descreve a autenticação da ID do Microsoft Entra para APIs REST de Atualização de Dispositivo e o suporte para identidades gerenciadas no Device Update e no Hub IoT do Azure.

Funções de controle de acesso da Atualização de Dispositivo

A Atualização de Dispositivo dá suporte às seguintes funções RBAC. Para obter mais informações, consulte Configurar o controle de acesso para a conta de 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 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 implantações de atualizações em dispositivos
Leitor de Implantações de Atualização de Dispositivo Pode exibir a implantação de atualizações em 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 da entidade de 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 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 a seguinte implantação, gerenciamento de dispositivos e atualizações e ações de diagnóstico:

  • Criar implantação
  • Cancelar implantação
  • Repita 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 do dispositivo

A Atualização do Dispositivo utiliza o Microsoft Entra ID para autenticação em suas APIs REST. Para começar, você precisa criar e configurar um aplicativo cliente.

Criar um aplicativo cliente do Microsoft Entra

Para integrar um aplicativo ou serviço ao Microsoft Entra ID, primeiro registre um aplicativo cliente no 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 de um aplicativo móvel ou de área de trabalho, selecione Cliente público/nativo (móvel & área de trabalho) em Selecionar uma plataforma e insira https://login.microsoftonline.com/common/oauth2/nativeclient para o URI de redirecionamento.

  • Para chamar a Atualização de Dispositivo de um site com logon implícito, use plataforma de Web. Em concessão implícita e fluxos híbridos, selecione tokens de acesso (usados para fluxos implícitos).

    Observação

    Use o fluxo de autenticação mais seguro disponível. A autenticação de fluxo implícito requer um alto grau de confiança no aplicativo e traz 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.

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

O módulo do PowerShell MSAL.PS é um wrapper da Biblioteca de autenticação da Microsoft para .NET (MSAL .NET) que dá 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 da ID do Microsoft Entra. As identidades gerenciadas eliminam a necessidade de os desenvolvedores gerenciarem credenciais fornecendo identidades. A Atualização de Dispositivo dá suporte a identidades gerenciadas atribuídas pelo sistema.

Para adicionar uma identidade gerenciada atribuída pelo sistema para a Atualização de Dispositivo:

  1. No portal do Azure, acesse sua conta de Atualização de Dispositivo.
  2. Na navegação à esquerda, selecione Configurações>Identidade.
  3. Em Sistema atribuído na página Identidade, defina Status como Ativado.
  4. Selecione Salvar e selecione Sim.

Para adicionar uma identidade gerenciada atribuída pelo sistema ao Hub IoT:

  1. No portal do Azure, vá para o hub IoT.
  2. Na navegação à esquerda, selecione Configurações de segurança>Identidade.
  3. Em Atribuído pelo sistema na página Identidade, selecione Ativado em Status.
  4. Selecione Salvar e selecione Sim.

Para remover a identidade gerenciada atribuída pelo sistema de uma conta de Atualização de Dispositivo ou hub IoT, defina ou selecione Desativado na página Identidade e selecione Salvar.