Proteger um dispositivo com restrições de entrada usando o Microsoft Entra ID e as APIs REST do Azure Mapas

Este guia descreve como proteger aplicativos ou dispositivos públicos que não podem armazenar segredos com segurança ou aceitar a entrada do navegador. Esses tipos de aplicativos se enquadram na categoria Internet das Coisas (IoT). Os exemplos incluem Smart TVs e aplicativos de emissão de dados de sensores.

Para ver os detalhes de autenticação da conta do Azure Mapas no portal do Azure:

  1. Entre no portal do Azure.

  2. Navegue até o menu do portal do Azure. Selecione Todos os recursos e o a conta do Azure Mapas.

  3. Em Configurações no painel esquerdo, selecione Autenticação.

    Screenshot showing your Azure Maps authentication options in the Azure portal.

Três valores são criados quando a conta do Azure Mapas é criada. Eles são usados para dar suporte a dois tipos de autenticação no Azure Mapas:

  • Autenticação do Microsoft Entra: a Client ID representa a conta a ser usada para solicitações da API REST. O valor de Client ID deve ser armazenado na configuração de aplicativo, e depois, recuperado antes que sejam feitas solicitações HTTP ao Azure Mapas que usem a autenticação do Microsoft Entra.
  • Autenticação de chave compartilhada: a Primary Key e a Secondary Key são usadas como chaves de assinatura da autenticação de chave compartilhada. A autenticação de chave compartilhada baseia-se na passagem da chave gerada pela conta do Azure Mapas com cada solicitação ao Azure Mapas. É recomendado que você regenere as chaves regularmente. Para manter as conexões atuais durante a regeneração, duas chaves são fornecidas. Uma chave pode estar em uso durante a regeneração da outra. Ao regenerar suas chaves, você precisará atualizar os aplicativos que acessam essa conta para que usem as novas chaves. Para obter mais informações, confira Autenticação no Azure Mapas

Criar um registro de aplicativo no Microsoft Entra ID

Observação

Crie o aplicativo baseado em dispositivo no Microsoft Entra ID para habilitar a entrada do Microsoft Entra, que tem acesso concedido às APIs REST do Azure Mapas.

  1. No portal do Azure, na lista de serviços do Azure, selecione Microsoft Entra ID>Registros de aplicativo>Novo registro.

    A screenshot showing application registration in Microsoft Entra ID.

  2. Insira um Nome e escolha Contas somente neste diretório organizacional como o Tipo de conta com suporte. Em URIs de redirecionamento, especifique Cliente público/nativo (dispositivos móveis e área de trabalho) e, em seguida, adicione https://login.microsoftonline.com/common/oauth2/nativeclient ao valor. Para obter mais informações, consulte Aplicativo desktop do Microsoft Entra ID que chama APIs Web: registro do aplicativo . Em seguida, clique para Registrar o aplicativo.

    A screenshot showing the settings used to register an application.

  3. Navegue até Autenticação e habilite Tratar o aplicativo como um cliente público para habilitar a autenticação do código do dispositivo com o Microsoft Entra ID.

    A screenshot showing the advanced settings used to specify treating the application as a public client.

  4. Para atribuir permissões de API delegadas ao Azure Mapas, acesse o aplicativo. Em seguida, selecione Permissões de API>Adicionar uma permissão. Em APIs que a minha organização usa, procure e exclua Azure Mapas.

    A screenshot showing where you request API permissions.

  5. Selecionar a caixa de seleção ao lado de Acessar Azure Mapas e selecionar Adicionar Permissões.

    A screenshot showing where you specify the app permissions you require.

  6. Configure o RBAC do Azure (controle de acesso baseado em função do Azure) para usuários ou grupos. Para obter mais informações, confira Conceder acesso baseado em funções para usuários ao Azure Mapas.

  7. Adicione códigos para adquirir o fluxo de token no aplicativo. Para obter detalhes de implementação, consulte Fluxo de código do dispositivo. Ao adquirir tokens, faça referência ao escopo: user_impersonation que foi selecionado nas etapas anteriores.

    Dica

    Use a MSAL (Biblioteca de Autenticação da Microsoft) para adquirir tokens de acesso. Para obter mais informações, consulte Aplicativo desktop que chama APIs Web: configuração de código na documentação do Active Directory.

  8. Crie a solicitação HTTP com o token adquirido do Microsoft Entra ID e a envie com um cliente HTTP válido.

Solicitação de exemplo

Veja a seguir um corpo de solicitação de exemplo para carregar uma cerca geográfica simples representada como uma geometria de círculo usando um ponto central e um raio.

POST /mapData?api-version=2.0&dataFormat=geojson
Host: us.atlas.microsoft.com
x-ms-client-id: 30d7cc….9f55
Authorization: Bearer eyJ0e….HNIVN

O seguinte corpo da solicitação de amostra está no GeoJSON:

{
    "type": "FeatureCollection",
    "features": [{
        "type": "Feature",
        "geometry": {
            "type": "Point",
            "coordinates": [-122.126986, 47.639754]
        },
        "properties": {
            "geometryId": "001",
            "radius": 500
        }
    }]
}

Exemplo de cabeçalho de resposta

Operation-Location: https://us.atlas.microsoft.com/mapData/operations/{udid}?api-version=2.0
Access-Control-Expose-Headers: Operation-Location

Conceder acesso baseado em função para usuários do Azure Mapas

Conceda o RBAC do Azure (controle de acesso baseado em função) atribuindo um grupo do Microsoft Entra ou uma entidade de segurança a uma ou mais definições de função do Azure Mapas.

Para ver as definições de função do Azure disponíveis para o Azure Mapas, confira Exibir as definições de função internas do Azure Mapas.

Para obter etapas detalhadas de como atribuir uma função do Azure Mapas disponível para a identidade gerenciada criada ou a entidade de serviço, confira Atribuir funções do Azure usando o portal do Azure

Para gerenciar com eficiência o aplicativo do Azure Mapas e o acesso a recursos de uma grande quantidade de usuários, confira Grupos do Microsoft Entra.

Importante

Para que os usuários tenham permissão para se autenticar no aplicativo, eles precisam ser criados no Microsoft Entra ID. Para obter mais informações, confira Adicionar ou excluir usuários usando o Microsoft Entra ID.

Para saber mais sobre como gerenciar com eficiência um grande diretório de usuários, confira Microsoft Entra ID.

Aviso

As definições de função internas do Azure Mapas fornecem um acesso de autorização muito grande a muitas APIs REST do Azure Mapas. Para restringir o acesso de APIs a um mínimo, veja criar uma definição de função personalizada e atribuir a identidade atribuída pelo sistema à definição de função personalizada. Esse processo habilita o privilégio mínimo necessário para o aplicativo acessar o Azure Mapas.

Próximas etapas

Localize as métricas de uso da API para sua conta do Azure Mapas: