Partilhar via


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

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

Os passos para configurar um cliente para obter dados da API do Armazém de Dados requerem que:

  1. Criar uma aplicação cliente como uma aplicação nativa no Azure
  2. Conceder à aplicação cliente acesso à API do 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 do Armazém de Dados do Intune quando o cliente local pede credenciais.

  1. Entre no Centro de administração do Microsoft Entra.
  2. SelecioneRegistos da AplicaçãoMicrosoft Entra ID> para abrir o painel Registos de aplicações.
  3. Selecione Novo registo de aplicação.
  4. Escreva os detalhes da aplicação.
    1. Escreva um nome amigável, como "Cliente do Armazém de Dados do Intune" 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 do Microsoft Intune

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

  1. Entre no Centro de administração do Microsoft Entra.
  2. SelecioneRegistos da AplicaçãoMicrosoft Entra ID> para abrir o painel Registos de aplicações.
  3. Selecione a aplicação a que precisa para conceder acesso. Nomeou a aplicação como Cliente do Armazém de Dados do Intune.
  4. Selecione Permissões> de APIAdicionar uma permissão.
  5. Localize e selecione a API do Intune. Chama-se API do Microsoft Intune.
  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 o 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 do Microsoft Intune com o Postman

Pode trabalhar com a API do Armazém de Dados do Intune 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 o ID do Microsoft Entra 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 seu token para que possa fazer uma chamada para a API do Armazém de Dados. 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 do Armazém de Dados, precisará do URL do feed personalizado. Pode obter o ponto final OData a partir do painel Armazém de Dados.

  1. Entre no Centro de administração do Microsoft Intune.
  2. Abra o painel Armazém de Dados 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 Ponto final da API do Armazém de Dados do Intune.

Efetuar a chamada REST

Para obter um novo token de acesso para o Postman, tem de adicionar o URL de autorização do 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 estado do cliente do Postman é igual a 200 OK.

Criar um cliente REST (C#) para obter dados do Armazém de Dados do Intune

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

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 Explorador 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 Explorador de Soluções.

    Program.cs e Explorador 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 criar e executar o cliente Intune.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 do 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 do Armazém de Dados do Intune.

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