Compartilhar via


Proteger um aplicativo de página única com a entrada do usuário

O guia a seguir refere-se a um aplicativo hospedado em um servidor de conteúdo ou que tenha dependências mínimas do servidor Web. O aplicativo fornece recursos protegidos somente para usuários Microsoft Entra. O objetivo do cenário é permitir que o aplicativo Web se autentique na ID do Microsoft Entra e chame as APIs REST do Azure Mapas em nome do usuário.

Para exibir 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 selecione sua conta do Azure Mapas.

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

    Captura de tela mostrando as opções de autenticação do Azure Mapas no portal do Azure.

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: Client ID representa a conta que deve ser usada para solicitações da API REST. O Client ID valor deve ser armazenado na configuração do aplicativo e, em seguida, deve ser recuperado antes de fazer solicitações HTTP do Azure Mapas que usam a autenticação do Microsoft Entra.
  • Autenticação de Chave Compartilhada: Primary Key e Secondary Key são usadas como a chave de assinatura para autenticação de chave compartilhada. A autenticação de Chave Compartilhada depende da passagem da chave gerada pela conta do Azure Mapas com cada solicitação para o Azure Mapas. Recomendamos que você regenere regularmente suas chaves. Para manter as conexões atuais durante a regeneração, duas chaves são fornecidas. Uma chave pode estar em uso, enquanto a outra está sendo regenerada. Ao regenerar suas chaves, você deve atualizar todos os aplicativos que acessam essa conta para usar as novas chaves. Para obter mais informações, consulte Autenticação com o Azure Mapas

Criar um registro de aplicativo na ID do Microsoft Entra

Crie o aplicativo Web na ID do Microsoft Entra para que os usuários entrem. O aplicativo Web delega o acesso do usuário às APIs REST do Azure Mapas.

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

    Uma captura de tela mostrando o registro do aplicativo na ID do Microsoft Entra.

  2. Insira um Nome, escolha um tipo de conta de suporte, forneça um URI de redirecionamento que representa a URL em que a ID do Microsoft Entra emite o token e é a URL em que o controle de mapa está hospedado. Para obter um exemplo detalhado, consulte os exemplos do Microsoft Entra ID no Azure Maps. Depois, selecione Registrar.

  3. Para atribuir permissões de API delegadas ao Azure Mapas, acesse o aplicativo. Em seguida, em registros de aplicativo, selecione permissões> de APIAdicionar uma permissão. Em APIs que minha organização usa, pesquise e selecione Azure Mapas.

    Captura de tela mostrando uma lista de APIs que minha organização usa.

  4. Marque a caixa de seleção ao lado do Access Azure Mapas e, em seguida, selecione Adicionar permissões.

    Captura de tela mostrando a tela de permissões da API do aplicativo de solicitação.

  5. Habilitar oauth2AllowImplicitFlow. Para habilitá-lo, na seção Manifesto do registro do aplicativo, defina oauth2AllowImplicitFlow como true.

  6. Copie a ID do aplicativo Microsoft Entra e a ID do locatário do Microsoft Entra no registro do aplicativo para usar no SDK da Web. Adicione os detalhes de registro do aplicativo do Microsoft Entra e o x-ms-client-id da conta do Mapa do Azure ao SDK da Web.

        <link rel="stylesheet" href="https://atlas.microsoft.com/sdk/javascript/mapcontrol/3/atlas.min.css" type="text/css" />
        <script src="https://atlas.microsoft.com/sdk/javascript/mapcontrol/3/atlas.min.js" />
        <script>
            var map = new atlas.Map("map", {
                center: [-122.33, 47.64],
                zoom: 12,
                language: "en-US",
                authOptions: {
                    authType: "aad",
                    clientId: "<insert>",  // azure map account client id
                    aadAppId: "<insert>",  // azure ad app registration id
                    aadTenant: "<insert>", // azure ad tenant id
                    aadInstance: "https://login.microsoftonline.com/"
                }
            });
        </script>   
    
  7. Configure o RBAC (controle de acesso baseado em função) do Azure para usuários ou grupos. Confira as seções a seguir para habilitar o RBAC do Azure.

Conceder acesso baseado em função para usuários no 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 exibir as definições de função do Azure disponíveis para o Azure Mapas, consulte Exibir definições de função internas do Azure Mapas.

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

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

Importante

Para que os usuários possam se autenticar em um aplicativo, os usuários devem primeiro ser criados na ID do Microsoft Entra. Para obter mais informações, confira Adicionar ou excluir usuários usando o Microsoft Entra ID.

Para saber mais sobre como gerenciar efetivamente um grande diretório para usuários, consulte a ID do Microsoft Entra.

Aviso

As definições de função interna 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, consulte criar uma definição de função personalizada e atribuir a identidade atribuída pelo sistema à definição de função personalizada. Isso permite o menor privilégio necessário para que o aplicativo acesse o Azure Maps.

Próximas etapas

Compreensão adicional do cenário de aplicativo de página única:

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

Explore amostras que mostram como integrar o Microsoft Entra ID ao Azure Mapas: