Compartilhar via


Intune Data Warehouse autenticação apenas de aplicação

Pode configurar uma aplicação com Microsoft Entra ID e autenticar-se no Intune Data Warehouse. 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 passos seguintes, autoriza a sua aplicação com Microsoft Entra ID com o OAuth 2.0.

Authorization

Microsoft Entra ID utiliza o OAuth 2.0 para lhe permitir autorizar o acesso a aplicações Web e APIs Web no seu inquilino 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, veja Autorizar o acesso a aplicações Web com o OAuth 2.0 e 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, consulte Key Vault.

Criar uma Aplicação Web

Nesta secção, irá fornecer detalhes sobre a aplicação Web para a qual pretende apontar para 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. Utiliza Intune para conceder acesso a uma aplicação Web a 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> Microsoft Entra ID >M365 Microsoft Entra ID > Registros de aplicativo.

  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, Microsoft Entra ID gera um valor chave para a sua aplicação.

  1. No painel Registros de aplicativo, 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>Intune>Permissões de aplicação.
  2. Selecione a opção get_data_warehouse (Obter informações do armazém de dados de 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 da 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 .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. Em Gerenciador de Soluções, selecione Program.cs para apresentar o código.

  5. Em Gerenciador 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. Na Gerenciador 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 Gerenciador de Soluções selecione e abra o ficheiro deApp.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 Intune-Data-Warehouse.

Próximas etapas

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