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
- Vá para o Hub IoT que você conectou anteriormente à sua instância de Atualização de Dispositivo. Clique em Controle de Acesso (IAM)
- Clique em + Adicionar ->Adicionar atribuição de função
- Na guia Função, selecione Colaborador de Dados do Hub IoT
- 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'
- Clique em Avançar ->Revisar + Atribuir
Para validar se você definiu as permissões corretamente:
- Vá para o Hub IoT que você conectou anteriormente à sua instância de Atualização de Dispositivo. Clique em Controle de Acesso (IAM)
- Clique em Verificar acesso
- Selecione Usuário, grupo ou entidade de serviço e pesquise "Atualização de Dispositivo do Azure"
- 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:
- Acesse a página de permissões de API do seu aplicativo e selecione Adicionar uma permissão.
- Acesse APIs que minha organização usa e pesquise por Atualização de Dispositivo do Azure.
- 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:
- Entre no portal do Azure e navegue até a conta de Atualização de Dispositivo para Hub IoT desejada.
- Navegue até Identidade em seu portal de Atualização de Dispositivo para Hub IoT
- Vá para Identidade no portal do Hub IoT
- 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.