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 a entidade de serviço de Atualização de Dispositivo do Azure para implantar atualizações com êxito e gerenciar seus dispositivos.
Configurar funções de controle de acesso
Estas são as funções suportadas pela 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 a implantação de atualizações em dispositivos |
Leitor de implantações de atualizaçã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 Dispositivo do Azure no Hub IoT
A Atualização de Dispositivo para o 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, 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.
Ações de implantação, gerenciamento e diagnóstico de dispositivos e atualizações não serão permitidas se essas permissões não forem definidas. As operações que serão bloqueadas incluirão:
- Criar Implementação
- Cancelar implantação
- Repetir implantação
- Obter dispositivo
A permissão pode ser definida a partir do Controle de Acesso do Hub IoT (IAM). Consulte Configurar o acesso para a entidade de serviço de atualização de dispositivo do Azure no hub IoT vinculado
Autenticar em 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 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 variará dependendo do fluxo de autorização necessário (usuários, aplicativos ou identidades gerenciadas). Por exemplo, para chamar a Atualização de Dispositivo de:
- Aplicativo móvel ou de desktop, adicione a plataforma de aplicativos móveis e de desktop com
https://login.microsoftonline.com/common/oauth2/nativeclient
o URI de redirecionamento. - Website com início de sessão implícito, adicione plataforma Web e selecione Tokens de acesso (utilizados para fluxos implícitos).
Nota
A Microsoft recomenda que você use o fluxo de autenticação mais seguro disponível. A autenticação de fluxo implícita requer um grau muito alto de confiança no aplicativo e acarreta riscos que não estão presentes em outros fluxos. Você só deve usar esse fluxo quando outros fluxos mais seguros, como identidades gerenciadas, não forem viáveis.
Configurar permissões
Em seguida, adicione permissões para chamar a Atualização de Dispositivo ao seu aplicativo:
- 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 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/'
Usando a Biblioteca MSAL do PowerShell
MSAL.PS módulo PowerShell é um wrapper sobre 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 usuário 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 geridas proporcionam aos serviços do Azure uma identidade gerida automaticamente no Microsoft Entra ID de forma 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 gerida atribuída pelo sistema
Para adicionar e remover uma identidade gerenciada atribuída ao sistema no portal do Azure:
- Entre no portal do Azure e navegue até a sua conta desejada de Atualização de Dispositivo para o Hub IoT.
- Navegue até Identidade no portal de Atualização de Dispositivo para o Hub IoT
- Navegue até Identidade no portal do Hub IoT
- 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.