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 o Microsoft Entra ID usando o OAuth 2.0. Para habilitar o acesso, primeiro configure um aplicativo nativo no Azure e conceda permissões à API do Microsoft Intune. O cliente local obtém autorização e, em seguida, pode se comunicar com os pontos de extremidade do Data Warehouse por meio do aplicativo nativo.

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

  1. Criar um aplicativo cliente como um aplicativo nativo no Azure
  2. Conceder o acesso do aplicativo cliente à API do Microsoft Intune
  3. Crie 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ê verá como usar um cliente REST genérico usando o Postman. O Postman é uma ferramenta comumente usada na solução de problemas e no desenvolvimento de 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.

Criar um aplicativo cliente como um aplicativo nativo no Azure

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

  1. Entre no Centro de administração do Microsoft Entra.
  2. Escolha Registros de Aplicativo do Microsoft Entra ID> para abrir o painel Registros de aplicativo.
  3. Selecione Registro de novo aplicativo.
  4. Digite os detalhes do aplicativo.
    1. Digite um nome amigável, como 'Intune Data Warehouse Client' 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 o Postman, digite https://www.getpostman.com/oauth2/callback. Você usará o retorno de chamada para a etapa de autenticação do cliente ao autenticar no Microsoft Entra ID.
  5. Selecione Registrar.
  6. Anote a ID do aplicativo (cliente) deste aplicativo. Você usará a ID na próxima seção.

Conceder o acesso do aplicativo cliente à API do Microsoft Intune

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

  1. Entre no Centro de administração do Microsoft Entra.
  2. Escolha Registros de Aplicativo do Microsoft Entra ID> para abrir o painel Registros de aplicativo.
  3. Selecione o aplicativo de que você precisa para conceder acesso. Você nomeou o aplicativo como Intune Data Warehouse Client.
  4. Selecionar permissões> de APIAdicione uma permissão.
  5. Localize e selecione a API do Intune. Ela é chamada de API do Microsoft Intune.
  6. Selecione a caixa Permissões Delegadas e clique na caixa Obter informações do data warehouse do 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 seja exibida para todos os usuários do locatário. Para obter mais informações, consulte Integração de aplicativos com o 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, pois você não poderá acessá-lo novamente.

Obter dados da API do Microsoft Intune com o Postman

Você pode trabalhar com a API do 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 conexão com os recursos da API. Nesta seção, é possível encontrar informações sobre como gerar um token Auth2.0 para seu cliente local. O cliente precisará do token para se autenticar com o Microsoft Entra ID e acessar os recursos da API.

Informações necessárias para 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-a 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 do Data Warehouse. Portador
URL de autenticação 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 do 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 em Feed OData para o serviço de relatório. Deve ser 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 do Microsoft Entra, adicionar sua ID do Cliente e o Segredo do Cliente. O Postman carregará a página de autorização onde 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 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 ser algo como:

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

  4. Escolha a guia Authorization e selecione OAuth 2.0 na lista Type .

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

  6. portador do tipo 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 de autenticação. Deve ser algo como:

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

  10. Adicione a URL do token de acesso. Deve ser 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 ser algo como:

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

  12. Adicione o segredo do cliente gerado no aplicativo nativo que você criou no Azure. Deve ser 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 Authorization e o valor Bearer <your-authorization-token>.

Envie a chamada para o ponto de extremidade usando o Postman

  1. Selecione Enviar.

  2. Os dados de retorno aparecem no corpo da resposta do Postman.

    O status do cliente Postman é igual a 200 OK.

Crie 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 do .NET. Depois que o cliente obtém credenciais para o Microsoft Entra ID, o cliente constrói uma chamada GET REST para recuperar a entidade de datas da API do 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 do 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 projetoIntuneDataWarehouseSamples, navegue até o local em que 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 digite Microsoft.Identity.Client na caixa de pesquisa.

    Observação

    Você deve usar 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 .

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

  6. Selecione Aceito para aceitar a licença do pacote NuGet.

  7. Abra Program.cs no 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 o TODOs na amostra de código.

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

    Entidade de data recuperada no formato JSON.

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

Próximas etapas

Você pode encontrar detalhes sobre autorização, a estrutura de URL da API e 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.