Compartilhar via


Autenticação apenas de aplicações do Armazém de Dados do Intune

Pode configurar uma aplicação com o Microsoft Entra ID e autenticar-se no Armazém de Dados do Intune. Este processo é útil para sites, aplicações e processos em segundo plano em que a aplicação não deve ter acesso às credenciais do utilizador. Com os seguintes passos, autoriza a sua aplicação com o Microsoft Entra ID através do OAuth 2.0.

Authorization

O Microsoft Entra ID utiliza o OAuth 2.0 para lhe permitir autorizar o acesso a aplicações Web e APIs Web no seu inquilino do Microsoft Entra. Este guia mostra-lhe como autenticar a sua aplicação com C#. O fluxo de código de autorização OAuth 2.0 está descrito na secção 4.1 da especificação OAuth 2.0. Para obter mais informações, consulte Autorizar o acesso a aplicações Web com o OAuth 2.0 e o Microsoft Entra ID.

Azure KeyVault

O processo seguinte utiliza um método privado para processar e converter uma chave de aplicação. Este método privado foi denominado SecureString. Como alternativa, pode utilizar o Azure KeyVault para armazenar a chave da aplicação. Para obter mais informações, veja Key Vault.

Criar uma Aplicação Web

Nesta secção, irá fornecer detalhes sobre a aplicação Web para a qual pretende apontar no Intune. Uma aplicação Web é uma aplicação cliente-servidor. O servidor fornece o aplicativo Web, que inclui a interface do usuário, o conteúdo e a funcionalidade. Este tipo de aplicação é mantido separadamente na Web. Utilize o Intune para conceder acesso a uma aplicação Web ao Intune. O fluxo de dados é iniciado pela aplicação Web.

  1. Entre no Centro de administração do Microsoft Intune.

  2. Selecione Todos os serviços>M365 Microsoft Entra ID>Registos da AplicaçãoMicrosoft Entra ID>.

  3. Clique em Novo registo para apresentar o painel Registar uma aplicação .

  4. No painel Registar uma aplicação , adicione os detalhes da sua aplicação:

  5. Clique em Registrar.

    Observação

    Copie o ID da Aplicação (cliente) do painel da aplicação para utilizar mais tarde.

Criar uma chave (palavra-passe)

Nesta secção, o ID do Microsoft Entra gera um valor chave para a sua aplicação.

  1. No painel Registos de aplicações , selecione a aplicação recém-criada para apresentar o painel da aplicação.

  2. Selecione Certificados & segredos junto à parte superior do painel para apresentar o painel Certificados & segredos .

  3. Selecione Segredos do cliente no painel Certificados & segredos .

  4. Adicione a chave Descrição e uma Duração expira para a chave.

  5. Clique em Adicionar para guardar e atualizar as chaves da aplicação.

  6. Tem de copiar o valor da chave gerada (codificado em base64).

    Observação

    O valor da chave desaparece depois de sair do painel Certificados & segredos . Não é possível obter a chave a partir deste painel mais tarde. Copie-o para utilizar mais tarde.

Conceder permissões de aplicação

Nesta secção, vai conceder permissões às aplicações.

  1. Selecione Permissões> de APIAdicionar uma permissão>Permissões da Aplicação doIntune>.
  2. Escolha a opção get_data_warehouse (Obter informações do armazém de dados do Microsoft Intune).
  3. Clique em Adicionar permissões.
  4. Clique em Concluído no painel Adicionar acesso à API .
  5. Clique em Conceder consentimento do administrador no painel de permissões da API e clique em Sim quando for promovido para atualizar as permissões existentes que esta aplicação já tenha.

Gerar token

Com o Visual Studio, crie um projeto de Aplicação de Consola (.NET Framework) que suporte o .NET Framework e utilize C# como linguagem de codificação.

  1. Selecione Ficheiro>Novo>Projeto para apresentar a caixa de diálogo Novo Projeto .

  2. À esquerda, selecione Visual C# para apresentar todos os projetos do .NET Framework.

  3. Selecione Aplicação de Consola (.NET Framework), adicione um nome de aplicação e, em seguida, clique em OK para criar a aplicação.

  4. No Explorador de Soluções, selecione Program.cs para apresentar o código.

  5. No Explorador de Soluções, adicione uma referência à assemblagem System.Configuration.

  6. No menu de pop-up, selecione Adicionar>Novo item. É apresentada a caixa de diálogo Adicionar Novo Item .

  7. À esquerda, em Visual C#, selecione Código.

  8. Selecione Classe, altere o nome da classe para IntuneDataWarehouseClass.cs e clique em Adicionar.

  9. Adicione o seguinte código no Main método :

         var applicationId = ConfigurationManager.AppSettings["appId"].ToString();
         SecureString applicationSecret = ConvertToSecureStr(ConfigurationManager.AppSettings["appKey"].ToString()); // Load as SecureString from configuration file or secret store (i.e. Azure KeyVault)
         var tenantDomain = ConfigurationManager.AppSettings["tenantDomain"].ToString();
         var msalContext = new AuthenticationContext($"https://login.windows.net/" + tenantDomain + "/oauth2/token");
    
         AuthenticationResult authResult = msalContext.AcquireTokenAsync(
             resource: "https://api.manage.microsoft.com/",
             clientCredential: new ClientCredential(
                 applicationId,
                 new SecureClientSecret(applicationSecret))).Result;
    
  10. Adicione mais espaços de nomes ao adicionar o seguinte código na parte superior do ficheiro de código:

     using System.Security;
     using Microsoft.Identity.Client;
     using System.Configuration;
    

    Observação

    Tem de utilizar a Biblioteca de Autenticação da Microsoft (MSAL). Para obter mais informações, consulte Atualizar seus aplicativos para usar a Biblioteca de Autenticação da Microsoft (MSAL) e a API do Microsoft Graph .

  11. Após o Main método , adicione o seguinte método privado para processar e converter a chave da aplicação:

    private static SecureString ConvertToSecureStr(string appkey)
    {
        if (appkey == null)
            throw new ArgumentNullException("AppKey must not be null.");
    
        var secureAppKey = new SecureString();
    
        foreach (char c in appkey)
            secureAppKey.AppendChar(c);
    
        secureAppKey.MakeReadOnly();
        return secureAppKey;
    }
    
  12. No Explorador de Soluções, clique com o botão direito do rato em Referências e, em seguida, selecione Gerir Pacotes NuGet.

  13. Procure Microsoft.Identity.Client e instale o pacote NuGet da Microsoft relacionado.

  14. No Explorador de Soluções , selecione e abra o ficheiro App.config .

  15. Adicione a appSettings secção para que o xml seja apresentado da seguinte forma:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <startup> 
            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
        </startup>
        <appSettings>
          <add key="appId" value="App ID created from 'Create a Web App' procedure"/>
          <add key="appKey" value="Key created from 'Create a key' procedure" />
          <add key="tenantDomain" value="contoso.onmicrosoft.com"/>
        </appSettings>
    </configuration>
    
  16. Atualize os appIdvalores , appKeye tenantDomain para corresponder aos valores exclusivos relacionados com a aplicação.

  17. Crie a sua aplicação.

    Observação

    Para ver o código de implementação adicional, veja o exemplo de código do Intune-Data-Warehouse.

Próximas etapas

Saiba mais sobre o Azure Key Vault ao rever O que é o Azure Key Vault?