Compartilhar via


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

Pode aceder ao modelo de dados Intune Data Warehouse através de pontos finais RESTful. Para obter acesso aos seus dados, o cliente tem de autorizar com Microsoft Entra ID com o OAuth 2.0. Para ativar o acesso, configure primeiro uma aplicação nativa no Azure e conceda permissões à API de Microsoft Intune. O cliente local obtém autorização e, em seguida, o cliente pode comunicar com os pontos finais Data Warehouse através da aplicação nativa.

Os passos para configurar um cliente para obter dados da API de Data Warehouse requerem que:

  1. Criar uma aplicação cliente como uma aplicação nativa no Azure
  2. Conceder à aplicação cliente acesso à API Microsoft Intune
  3. Criar um cliente REST local para obter os dados

Utilize os seguintes passos para saber como autorizar e aceder à API com um cliente REST. Primeiro, irá analisar a utilização de um cliente REST genérico com o Postman. O Postman é uma ferramenta frequentemente utilizada para resolver problemas e desenvolver clientes REST para trabalhar com APIs. Para obter mais informações sobre o Postman, consulte o site do Postman . Em seguida, pode ver um exemplo de código C#. O exemplo fornece um exemplo para autorizar um cliente e obter dados da API.

Criar uma aplicação cliente como uma aplicação nativa no Azure

Criar uma aplicação nativa no Azure. Esta aplicação nativa é a aplicação cliente. O cliente em execução no seu computador local faz referência à API de Intune Data Warehouse quando o cliente local pede credenciais.

  1. Entre no Centro de administração do Microsoft Entra.
  2. Selecione Microsoft Entra ID>Registos de Aplicações para abrir o painel Registros de aplicativo.
  3. Selecione Novo registo de aplicação.
  4. Escreva os detalhes da aplicação.
    1. Escreva um nome amigável, como "Intune Data Warehouse Cliente" para o Nome.
    2. Selecione Contas apenas neste diretório organizacional (apenas Microsoft – Inquilino único) para os Tipos de conta suportados.
    3. Escreva um URL para o URI de Redirecionamento. O URI de Redirecionamento dependerá do cenário específico. No entanto, se planear utilizar o Postman, escreva https://www.getpostman.com/oauth2/callback. Irá utilizar a chamada de retorno para o passo de autenticação de cliente ao autenticar no Microsoft Entra ID.
  5. Selecione Registrar.
  6. Anote o ID da Aplicação (cliente) desta aplicação. Irá utilizar o ID na secção seguinte.

Conceder à aplicação cliente acesso à API Microsoft Intune

Tem agora uma aplicação definida no Azure. Conceda acesso da aplicação nativa à API Microsoft Intune.

  1. Entre no Centro de administração do Microsoft Entra.
  2. Selecione Microsoft Entra ID>Registos de Aplicações para abrir o painel Registros de aplicativo.
  3. Selecione a aplicação a que precisa para conceder acesso. Atribuiu um nome à aplicação, como Intune Data Warehouse Client.
  4. Selecione Permissões> de APIAdicionar uma permissão.
  5. Localize e selecione a API de Intune. Tem o nome Microsoft Intune API.
  6. Selecione a caixa Permissões Delegadas e clique na caixa Obter informações do armazém de dados 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, em seguida, selecione Sim. Isto irá conceder acesso a todas as contas no diretório atual. Isto impedirá que a caixa de diálogo de consentimento seja apresentada para todos os utilizadores no inquilino. Para obter mais informações, veja Integrar aplicações com Microsoft Entra ID.
  9. Selecione Certificados & segredos>+ Novo segredo do cliente e gere um novo segredo. Certifique-se de que copia um local seguro porque não poderá aceder ao mesmo novamente.

Obter dados da API Microsoft Intune com o Postman

Pode trabalhar com a API Intune Data Warehouse com um cliente REST genérico, como o Postman. O Postman pode fornecer informações sobre as funcionalidades da API, o modelo de dados OData subjacente e resolver problemas de ligação aos recursos da API. Nesta secção, pode encontrar informações sobre como gerar um token Auth2.0 para o cliente local. O cliente precisará do token para se autenticar com Microsoft Entra ID e aceder aos recursos da API.

Informações necessárias para efetuar a chamada

Precisa das seguintes informações para fazer uma chamada REST com o Postman:

Atributo Descrição Exemplo
URL de chamada de retorno Defina como o URL de chamada de retorno na página de definições da aplicação. https://www.getpostman.com/oauth2/callback
Nome do token Uma cadeia utilizada para transmitir as credenciais para a aplicação do Azure. O processo gera o token para que possa fazer uma chamada para a API Data Warehouse. Portador
URL de autenticação Este é o URL utilizado para autenticar. https://login.microsoftonline.com/common/oauth2/authorize?resource=https://api.manage.microsoft.com/
URL do Token de Acesso Este é o URL utilizado para conceder o token. https://login.microsoftonline.com/common/oauth2/token
ID do cliente Criou e anotou-o ao criar a aplicação nativa no Azure. 4184c61a-e324-4f51-83d7-022b6a81b991
Segredo de Cliente Criou e anotou-o ao criar a aplicação nativa no Azure. Ksml3dhDJs+jfK1f8Mwc8
Âmbito (Opcional) Pode deixar o campo em branco.

NOTA: alguns SDKs, como a Biblioteca de Autenticação da Microsoft (MSAL) para Python, podem precisar do âmbito definido com barras duplas (//).

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

Ponto final OData

Também precisa do ponto final. Para obter o ponto final Data Warehouse, precisará do URL do feed personalizado. Pode obter o ponto final OData no painel Data Warehouse.

  1. Entre no Centro de administração do Microsoft Intune.
  2. Abra o painel Data Warehouse ao selecionar Relatórios>Armazém de dados.
  3. Copie o URL do feed personalizado no feed OData para o serviço de relatórios. Deve ter um aspeto semelhante a: https://fef.tenant.manage.microsoft.com/ReportingService/DataWarehouseFEService?api-version=v1.0

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

Por exemplo, a entidade dates tem o seguinte aspeto: https://fef.tenant.manage.microsoft.com/ReportingService/DataWarehouseFEService/dates?api-version=v1.0

Para obter mais informações, veja Intune Data Warehouse ponto final da API.

Efetuar a chamada REST

Para obter um novo token de acesso para o Postman, tem de adicionar o URL de autorização Microsoft Entra, adicionar o ID de Cliente e o Segredo do Cliente. O Postman irá carregar a página de autorização onde irá escrever as suas credenciais.

Antes de efetuar a chamada, verifique se já adicionou o URL de Chamada de Retorno à sua aplicação no Azure. O URL de Chamada de Retorno é https://www.getpostman.com/oauth2/callback.

Adicionar as informações utilizadas para pedir o token

  1. Transfira o Postman se ainda não o tiver instalado. Para transferir o Postman, consulte www.getpostman.com.

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

  3. Cole o URL do ponto final no endereço. Deve ter um aspeto semelhante a:

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

  4. Selecione o separador Autorização e selecione OAuth 2.0 na lista Tipo .

  5. Desloque-se para baixo até à secção Configurar Novo Token .

  6. Escreva Portador para o Nome do Token.

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

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

  9. Adicione o URL de Autenticação. Deve ter um aspeto semelhante a:

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

  10. Adicione o URL do Token de Acesso. Deve ter um aspeto semelhante a:

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

  11. Adicione o ID de Cliente da aplicação nativa que criou no Azure e com o nome Intune Data Warehouse Client. Deve ter um aspeto semelhante a:

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

  12. Adicione o Segredo do Cliente que gerou a partir da aplicação nativa que criou no Azure. Deve ter um aspeto semelhante a:

    Ksml3dhDJs+jfK1f8Mwc8

  13. Selecione Obter Novo Token de Acesso.

    Informações para o token de acesso.

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

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

Enviar a chamada para o ponto final com o Postman

  1. Selecione Enviar.

  2. Os dados devolvidos são apresentados no corpo de resposta do Postman.

    O cliente postman status é igual a 200 OK.

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

O exemplo seguinte contém um cliente REST simples. O código utiliza a classe httpClient da biblioteca .NET. Assim que o cliente obtiver credenciais para Microsoft Entra ID, o cliente cria uma chamada REST GET para obter a entidade dates da API de Data Warehouse.

Observação

Pode aceder ao seguinte exemplo de código no GitHub. Veja o repositório do GitHub para obter as alterações e atualizações mais recentes do exemplo.

  1. Abra o Microsoft Visual Studio.

  2. Selecione Ficheiro>Novo Projeto. Expanda Visual C#e selecione Aplicação de Consola (.NET Framework).

  3. Atribua o nome ao projeto IntuneDataWarehouseSamples, navegue até ao local onde pretende guardar o projeto e, em seguida, selecione OK.

  4. Clique com o botão direito do rato no nome da solução no Gerenciador de Soluções e, em seguida, selecione Gerir Pacotes NuGet para Solução. Selecione Procurar e, em seguidaMicrosoft.Identity.Client, escreva na caixa de pesquisa.

    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 .

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

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

  7. Abra Program.cs a partir 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 o TODOs no exemplo de código.

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

    Entidade de data obtida no formato JSON.

  11. Reveja o resultado da consola. A saída contém dados num formato JSON extraídos da entidade dates no seu inquilino Intune.

Próximas etapas

Pode encontrar detalhes sobre a autorização, a estrutura do URL da API e os pontos finais OData em Utilizar a API de Intune Data Warehouse.

Também pode consultar o Intune Data Warehouse Modelo de Dados para encontrar as entidades de dados contidas na API. Para obter mais informações, veja Intune Data Warehouse Modelo de Dados da API.