Autenticação somente de aplicativo do Intune Data Warehouse

Você pode configurar um aplicativo usando Microsoft Entra ID e autenticar no Data Warehouse do Intune. Esse processo é útil para sites, aplicativos e processos em segundo plano em que o aplicativo não deve ter acesso às credenciais do usuário. Usando as etapas a seguir, você autoriza seu aplicativo com Microsoft Entra ID usando o OAuth 2.0.

Authorization

Microsoft Entra ID usa o OAuth 2.0 para permitir que você autorize o acesso a aplicativos Web e APIs Web em seu locatário Microsoft Entra. Este guia mostra como autenticar seu aplicativo usando C#. O fluxo de código de autorização do OAuth 2.0 é descrito na seção 4.1 da especificação OAuth 2.0. Para obter mais informações, consulte Autorizar acesso a aplicativos Web usando OAuth 2.0 e Microsoft Entra ID.

Azure KeyVault

O processo a seguir usa um método privado para processar e converter uma chave de aplicativo. Esse método privado foi chamado de SecureString. Como alternativa, você pode usar o Azure KeyVault para armazenar a chave do aplicativo. Para obter mais informações, consulte Key Vault.

Criar um aplicativo Web

Nesta seção, você fornece detalhes sobre o aplicativo Web ao qual deseja apontar no Intune. Um aplicativo Web é um aplicativo cliente-servidor. O servidor fornece o aplicativo Web, que inclui a interface do usuário, o conteúdo e a funcionalidade. Esse tipo de aplicativo é mantido separadamente na Web. Você usa o Intune para conceder acesso a um aplicativo Web ao Intune. O fluxo de dados é iniciado pelo aplicativo Web.

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

  2. Selecione Todos os serviços>M365 Microsoft Entra ID>Microsoft Entra ID>Registros de aplicativo.

  3. Clique em Novo registro para exibir o painel Registrar um aplicativo .

  4. No painel Registrar um aplicativo , adicione os detalhes do aplicativo:

    • Um nome de aplicativo, como Intune App-Only Auth.
    • O tipo de conta com suporte.
    • O URI de redirecionamento do aplicativo. Esse é o local para o qual os usuários navegam automaticamente durante o processo de autenticação. Eles são obrigados a provar que são quem dizem ser. Para obter mais informações, confira O que é acesso ao aplicativo e logon único com Microsoft Entra ID?
  5. Clique em Registrar.

    Observação

    Copie a ID do Aplicativo (cliente) do painel do aplicativo para usar posteriormente.

Criar uma chave (senha)

Nesta seção, Microsoft Entra ID gera um valor chave para seu aplicativo.

  1. No painel Registros de aplicativo, selecione seu aplicativo recém-criado para exibir o painel do aplicativo.

  2. Selecione Certificados & segredos próximos à parte superior do painel para exibir o painel Certificados & segredos .

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

  4. Adicione a descrição da chave e uma duração expira para a chave.

  5. Clique em Adicionar para salvar e atualizar as chaves do aplicativo.

  6. Você deve copiar o valor da chave gerada (base64 codificada).

    Observação

    O valor da chave desaparece depois que você deixa o painel Certificados & segredos . Você não pode recuperar a chave deste painel mais tarde. Copie-o para usar posteriormente.

Conceder permissões de aplicativo

Nesta seção, você concede permissões aos aplicativos.

  1. Selecione permissões >de APIAdicionar uma permissão>Permissões de aplicativo doIntune>.
  2. Escolha a opção get_data_warehouse (Obter informações do data warehouse de Microsoft Intune).
  3. Clique em Adicionar permissões.
  4. Clique em Concluído no painel Adicionar acesso à API .
  5. Clique em Conceder consentimento de administrador no painel permissões de API e clique em Sim quando promovido para atualizar todas as permissões existentes que esse aplicativo já tem.

Gerar token

Usando o Visual Studio, crie um projeto de Aplicativo de Console (.NET Framework) que dê suporte ao .NET Framework e use o C# como a linguagem de codificação.

  1. Selecione Arquivo>Novo>Projeto para exibir a caixa de diálogo Novo Projeto .

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

  3. Selecione Aplicativo de Console (.NET Framework), adicione um nome de aplicativo e clique em OK para criar o aplicativo.

  4. Em Gerenciador de Soluções, selecione Program.cs para exibir o código.

  5. Em Gerenciador de Soluções, adicione uma referência ao assembly System.Configuration.

  6. No menu pop-up, selecione Adicionar>novo item. A caixa de diálogo Adicionar Novo Item é exibida.

  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 dentro do 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 namespaces adicionais adicionando o seguinte código na parte superior do arquivo de código:

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

    Observação

    Você deve usar a MSAL (Biblioteca de Autenticação da Microsoft). 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 do aplicativo:

    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 Gerenciador de Soluções, clique com o botão direito do mouse em Referências e selecione Gerenciar Pacotes NuGet.

  13. Pesquise Microsoft.Identity.Client e instale o pacote Do Microsoft NuGet relacionado.

  14. Em Gerenciador de Soluções selecione e abra o arquivo App.config.

  15. Adicione a appSettings seção para que o xml apareça da seguinte maneira:

    <?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 ao aplicativo.

  17. Crie seu aplicativo.

    Observação

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

Próximas etapas

Saiba mais sobre o Key Vault do Azure examinando o que é Key Vault do Azure?