Obter dados da API do Intune Data Warehouse com um cliente REST

Você pode acessar o modelo de dados Intune Data Warehouse por meio de pontos de extremidade RESTful. Para obter acesso aos seus dados, seu cliente deve autorizar com Microsoft Entra ID usando o OAuth 2.0. Para habilitar o acesso, primeiro configure um aplicativo nativo no Azure e conceda permissões à API Microsoft Intune. Seu cliente local obtém autorização e, em seguida, o cliente pode se comunicar com os pontos de extremidade Data Warehouse por meio do aplicativo nativo.

As etapas para configurar um cliente para obter dados da API Data Warehouse exigem que você:

  1. Create um aplicativo cliente como um aplicativo nativo no Azure
  2. Conceder acesso ao aplicativo cliente à API Microsoft Intune
  3. Create um cliente REST local para obter os dados

Use as etapas a seguir para saber como autorizar e acessar a API com um cliente REST. Primeiro, você examinará o uso de um cliente REST genérico usando o Postman. O Postman é uma ferramenta comumente usada para solucionar problemas e desenvolver clientes REST para trabalhar com APIs. Para obter mais informações sobre o Postman, consulte o site do Postman . Em seguida, você pode examinar um exemplo de código C#. O exemplo fornece um exemplo para autorizar um cliente e obter dados da API.

Create um aplicativo cliente como um aplicativo nativo no Azure

Create um aplicativo nativo no Azure. Este aplicativo nativo é o aplicativo cliente. O cliente em execução no computador local faz referência à API Intune Data Warehouse quando o cliente local solicita credenciais.

  1. Entre no Centro de administração do Microsoft Entra.
  2. Escolha Microsoft Entra ID>App Registrations para abrir o painel Registros de aplicativo.
  3. Selecione Novo registro de aplicativo.
  4. Digite os detalhes do aplicativo.
    1. Digite um nome amigável, como 'Intune Data Warehouse Cliente' para o Nome.
    2. Selecione Contas somente neste diretório organizacional (somente Microsoft – locatário único) para os tipos de conta com suporte.
    3. Digite uma URL para o URI de Redirecionamento. O URI de redirecionamento dependerá do cenário específico, no entanto, se você planeja usar Postman, digite https://www.getpostman.com/oauth2/callback. Você usará o retorno de chamada para a etapa de autenticação do cliente ao autenticar para Microsoft Entra ID.
  5. Selecione Registrar.
  6. Observe a ID do aplicativo (cliente) deste aplicativo. Você usará a ID na próxima seção.

Conceder acesso ao aplicativo cliente à API Microsoft Intune

Agora você tem um aplicativo definido no Azure. Conceda acesso do aplicativo nativo à API Microsoft Intune.

  1. Entre no Centro de administração do Microsoft Entra.
  2. Escolha Microsoft Entra ID>App Registrations para abrir o painel Registros de aplicativo.
  3. Selecione o aplicativo que você precisa para conceder acesso. Você nomeou o aplicativo como algo como Intune Data Warehouse Cliente.
  4. Selecione permissões >de APIAdicionar uma permissão.
  5. Localize e selecione a API Intune. Ela é nomeada Microsoft Intune API.
  6. Selecione Caixa Permissões Delegadas e clique na caixa Obter informações do data warehouse de Microsoft Intune.
  7. Clique em Adicionar permissões.
  8. Opcionalmente, selecione Conceder consentimento de administrador para a Microsoft no painel Permissões configuradas e selecione Sim. Isso concederá acesso a todas as contas no diretório atual. Isso impedirá que a caixa de diálogo de consentimento apareça para cada usuário no locatário. Para obter mais informações, consulte Integrando aplicativos com Microsoft Entra ID.
  9. Selecione Certificados & segredos>+ Novo segredo do cliente e gere um novo segredo. Certifique-se de copiá-lo em algum lugar seguro porque você não poderá acessá-lo novamente.

Obter dados da API Microsoft Intune com o Postman

Você pode trabalhar com a API Intune Data Warehouse com um cliente REST genérico, como o Postman. O Postman pode fornecer informações sobre os recursos da API, o modelo de dados OData subjacente e solucionar problemas de sua conexão com os recursos da API. Nesta seção, você pode encontrar informações sobre como gerar um token Auth2.0 para seu cliente local. O cliente precisará do token para se autenticar com Microsoft Entra ID e acessar os recursos da API.

Informações que você precisará fazer a chamada

Você precisa das seguintes informações para fazer uma chamada REST usando o Postman:

Atributo Descrição Exemplo
URL de retorno de chamada Defina isso como a URL de retorno de chamada na página de configurações do aplicativo. https://www.getpostman.com/oauth2/callback
Nome do token Uma cadeia de caracteres usada para passar as credenciais para o aplicativo do Azure. O processo gera seu token para que você possa fazer uma chamada para a API Data Warehouse. Portador
Auth URL Essa é a URL usada para autenticar. https://login.microsoftonline.com/common/oauth2/authorize?resource=https://api.manage.microsoft.com/
URL do Token de Acesso Essa é a URL usada para conceder o token. https://login.microsoftonline.com/common/oauth2/token
ID do cliente Você criou e observou isso ao criar o aplicativo nativo no Azure. 4184c61a-e324-4f51-83d7-022b6a81b991
Segredo de Cliente Você criou e observou isso ao criar o aplicativo nativo no Azure. Ksml3dhDJs+jfK1f8Mwc8
Escopo (opcional) Você pode deixar o campo em branco.

OBSERVAÇÃO: alguns SDKs, como a MSAL (Biblioteca de Autenticação da Microsoft) para Python, podem precisar do escopo definido com barras duplas (//).

SCOPE = [''https://api.manage.microsoft.com//.default]
Tipo de Concessão O token é um código de autorização. Código de autorização

Ponto de extremidade OData

Você também precisa do ponto de extremidade. Para obter seu ponto de extremidade Data Warehouse, você precisará da URL do feed personalizado. Você pode obter o ponto de extremidade OData no painel Data Warehouse.

  1. Entre no Centro de administração do Microsoft Intune.
  2. Abra o painel Data Warehouse selecionando Relatórios>Data warehouse.
  3. Copie a url do feed personalizado no feed do OData para o serviço de relatórios. Deve se parecer com algo como: https://fef.tenant.manage.microsoft.com/ReportingService/DataWarehouseFEService?api-version=v1.0

O ponto de extremidade segue o seguinte formato: https://fef.{yourtenant}.manage.microsoft.com/ReportingService/DataWarehouseFEService/{entity}?api-version={verson-number}

Por exemplo, a entidade de datas se parece com: https://fef.tenant.manage.microsoft.com/ReportingService/DataWarehouseFEService/dates?api-version=v1.0

Para obter mais informações, consulte Intune Data Warehouse ponto de extremidade da API.

Fazer a chamada REST

Para obter um novo token de acesso para o Postman, você deve adicionar a URL de autorização Microsoft Entra, adicionar a ID do cliente e o Segredo do Cliente. O Postman carregará a página de autorização em que você digitará suas credenciais.

Antes de fazer a chamada, verifique se você já adicionou a URL de Retorno de Chamada ao seu aplicativo no Azure. A URL de retorno de chamada é https://www.getpostman.com/oauth2/callback.

Adicionar as informações usadas para solicitar o token

  1. Baixe o Postman se você ainda não tiver instalado. Para baixar o Postman, consulte www.getpostman.com.

  2. Abra o Postman. Escolha a operação HTTP GET.

  3. Cole a URL do ponto de extremidade no endereço. Deve se parecer com algo como:

    https://fef.tenant.manage.microsoft.com/ReportingService/DataWarehouseFEService/dates?api-version=v1.0

  4. Escolha a guia Autorização e selecione OAuth 2.0 na lista Tipo .

  5. Role para baixo até a seção Configurar Novo Token .

  6. Digite Portador para o Nome do Token.

  7. Selecione Código de Autorização como o Tipo de Concessão.

  8. Adicione a URL de Retorno de Chamada. A URL de retorno de chamada é https://www.getpostman.com/oauth2/callback.

  9. Adicione a URL do Auth. Deve se parecer com algo como:

    https://login.microsoftonline.com/common/oauth2/authorize?resource=https://api.manage.microsoft.com/

  10. Adicione a URL do Token de Acesso. Deve se parecer com algo como:

    https://login.microsoftonline.com/common/oauth2/token

  11. Adicione a ID do cliente do aplicativo nativo que você criou no Azure e nomeou Intune Data Warehouse Client. Deve se parecer com algo como:

    88C8527B-59CB-4679-A9C8-324941748BB4

  12. Adicione o Segredo do Cliente gerado de dentro do aplicativo nativo que você criou no Azure. Deve se parecer com algo como:

    Ksml3dhDJs+jfK1f8Mwc8

  13. Selecione Obter Novo Token de Acesso.

    Informações para o token de acesso.

  14. Digite suas credenciais na página de autorização do Active AD. A lista de tokens no Postman agora contém o token chamado Bearer.

  15. Selecione Usar Token. A lista de cabeçalhos contém o novo valor de chave de Autorização e o valor Bearer <your-authorization-token>.

Enviar a chamada para o ponto de extremidade usando o Postman

  1. Selecione Enviar.

  2. Os dados retornados são exibidos no corpo da resposta do Postman.

    O status de cliente do Postman é igual a 200 OK.

Create um cliente REST (C#) para obter dados do Intune Data Warehouse

O exemplo a seguir contém um cliente REST simples. O código usa a classe httpClient da biblioteca .NET. Depois que o cliente obtém credenciais para Microsoft Entra ID, o cliente constrói uma chamada GET REST para recuperar a entidade de datas da API Data Warehouse.

Observação

Você pode acessar o exemplo de código a seguir no GitHub. Consulte o repositório GitHub para obter as últimas alterações e atualizações para o exemplo.

  1. Abra o Microsoft Visual Studio.

  2. Escolha Arquivo>Novo Projeto. Expanda Visual C#e escolha Aplicativo de Console (.NET Framework).

  3. Nomeie o projeto IntuneDataWarehouseSamples, navegue até onde deseja salvar o projeto e selecione OK.

  4. Clique com o botão direito do mouse no nome da solução no Gerenciador de Soluções e selecione Gerenciar Pacotes NuGet para solução. Selecione Procurar e Microsoft.Identity.Client digite na caixa de pesquisa.

    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 .

  5. Escolha o pacote, selecione o projeto IntuneDataWarehouseSamples em Gerenciar Pacotes para Sua Solução e selecione Instalar.

  6. Selecione Aceito aceitar a licença de pacote NuGet.

  7. Abra Program.cs do Gerenciador de Soluções.

    Program.cs e Gerenciador de Soluções no Visual Studio.

  8. Substitua o código no Program.cs pelo seguinte código:

    namespace IntuneDataWarehouseSamples
    {
    using System;
    using System.Net.Http;
    using System.Net.Http.Headers;
    using Microsoft.Identity.Client;
    
    class Program
    {
     static void Main(string[] args)
    {
    /**
    * TODO: Replace the below values with your own.
    * emailAddress - The email address of the user that you will authenticate as.
    *
    * password  - The password for the above email address.
    *    This is inline only for simplicity in this sample. We do not
    *    recommend storing passwords in plaintext.
    *
    * applicationId - The application ID of the native app that was created in AAD.
    *
    * warehouseUrl   - The data warehouse URL for your tenant. This can be found in
    *      the Microsoft Intune admin center.
    *
    * collectionName - The name of the warehouse entity collection you would like to
    *      access.
    */
    var emailAddress = "intuneadmin@yourcompany.com";
    var password = "password_of(intuneadmin@yourcompany.com)";
    var applicationId = "<Application ID>";
    var warehouseUrl = "https://fef.{yourinfo}.manage.microsoft.com/ReportingService/DataWarehouseFEService?api-version=v1.0";
    var collectionName = "dates";
    
    var msalContext = new AuthenticationContext("https://login.windows.net/common/oauth2/token");
    AuthenticationResult authResult = msalContext.AcquireTokenAsync(
    resource: "https://api.manage.microsoft.com/",
    clientId: applicationId,
    userCredential: new UserPasswordCredential(emailAddress, password)).Result;
    
    var httpClient = new HttpClient();
    httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", authResult.AccessToken);
    
    var uriBuilder = new UriBuilder(warehouseUrl);
    uriBuilder.Path += "/" + collectionName;
    
    HttpResponseMessage response = httpClient.GetAsync(uriBuilder.Uri).Result;
    
    Console.Write(response.Content.ReadAsStringAsync().Result);
    Console.ReadKey();
    }
    }
    }
    
  9. Atualize os TODOs no exemplo de código.

  10. Pressione Ctrl + F5 para compilar e executar o Intune. Cliente DataWarehouseAPIClient no modo Depuração.

    Entidade de data recuperada no formato JSON.

  11. Examine a saída do console. A saída contém dados em um formato JSON extraído da entidade de datas em seu locatário Intune.

Próximas etapas

Você pode encontrar detalhes sobre a autorização, a estrutura de URL da API e os pontos de extremidade OData em Usar a API Intune Data Warehouse.

Você também pode consultar o modelo de dados Intune Data Warehouse para localizar as entidades de dados contidas na API. Para obter mais informações, consulte Intune Data Warehouse Modelo de Dados da API.