REST istemcisiyle Intune Data Warehouse API'den veri alma

Intune Data Warehouse veri modeline RESTful uç noktaları aracılığıyla erişebilirsiniz. Verilerinize erişmek için istemcinizin OAuth 2.0 kullanarak Microsoft Entra ID ile yetkilendirmesi gerekir. Erişimi etkinleştirmek için önce AzureAzure içinde yerel bir uygulama ayarlayın ve Microsoft IntuneMicrosoft Intune API'sine izinler verin. Yerel istemciniz yetkilendirme alır ve ardından istemci, yerel uygulama aracılığıyla Data Warehouse uç noktalarıyla iletişim kurabilir.

İstemciyi Data Warehouse API'sinden veri alacak şekilde ayarlama adımları şunları yapmanızı gerektirir:

  1. TAzureAzure'da yerel uygulama olarak bir istemci uygulaması oluşturma
  2. İstemci uygulamasına Microsoft IntuneMicrosoft Intune API'sine erişim izni verme
  3. Verileri almak için yerel bir REST istemcisi oluşturma

Bir REST istemcisiyle API'yi yetkilendirmeyi ve API'ye erişmeyi öğrenmek için aşağıdaki adımları kullanın. İlk olarak, Postman kullanarak genel bir REST istemcisi kullanmaya bakacaksınız. Postman, API'lerle çalışmak için REST istemcilerini sorun giderme ve geliştirme konusunda yaygın olarak kullanılan bir araçtır. Postman hakkında daha fazla bilgi için Postman sitesine bakın. Ardından bir C# kod örneğine bakabilirsiniz. Örnek, bir istemciyi yetkilendirmek ve API'den veri almak için bir örnek sağlar.

TAzureAzure'da yerel uygulama olarak bir istemci uygulaması oluşturma

Create a native app in AzureAzure. Bu yerel uygulama, istemci uygulamasıdır. Yerel makinenizde çalışan istemci, kimlik bilgilerini istediğinde Intune Data Warehouse API'sine başvurur.

  1. Sign in to the Microsoft Entra yönetim merkeziMicrosoft Entra yönetim merkezi.
  2. TUygulama kayıtlarıUygulama kayıtları pane'yi açmak için Microsoft Entra IDMicrosoft Entra IDApp>Registrations öğesini seçin.
  3. Yeni uygulama kaydı'nı seçin.
  4. Uygulama ayrıntılarını yazın.
    1. Ad için 'Intune Data Warehouse İstemcisi' gibi kolay bir ad yazın.
    2. Desteklenen hesap türleri için Yalnızca bu kuruluş dizinindeki hesaplar (Yalnızca Microsoft - Tek kiracı) seçeneğini belirleyin.
    3. Yeniden yönlendirme URI'si için bir URL yazın. Yeniden Yönlendirme URI'si senaryoya göre değişir, ancak Postman kullanmayı planlıyorsanız .https://www.getpostman.com/oauth2/callback TMicrosoft Entra IDMicrosoft Entra ID için kimlik doğrulaması yaparken istemci kimlik doğrulaması için geri arama adımını kullanacaksınız.
  5. Kaydol'u seçin.
  6. Bu uygulamanın Uygulama (istemci) kimliğini not edin. Kimliği sonraki bölümde kullanacaksınız.

İstemci uygulamasına Microsoft IntuneMicrosoft Intune API'sine erişim izni verme

Artık AzureAzure'da tanımlanmış bir uygulamanız var. Yerel uygulamadan Microsoft IntuneMicrosoft Intune API'sine erişim izni verin.

  1. Sign in to the Microsoft Entra yönetim merkeziMicrosoft Entra yönetim merkezi.
  2. TUygulama kayıtlarıUygulama kayıtları pane'yi açmak için Microsoft Entra IDMicrosoft Entra IDApp>Registrations öğesini seçin.
  3. Erişim vermek istediğiniz uygulamayı seçin. Uygulamaya Intune Data Warehouse İstemcisi gibi bir ad verdiniz.
  4. API izinlerini> seçinİzin ekleyin.
  5. TIntuneIntune API'sini bulun ve seçin. Microsoft Intune API olarak adlandırılır.
  6. Temsilci İzinleri kutusunu seçin ve Veri ambarı bilgilerini şuradan al öğesine tıklayın: Microsoft IntuneMicrosoft Intune kutusu.
  7. İzin ekle'ye tıklayın.
  8. İsteğe bağlı olarak, Yapılandırılmış izinler bölmesinde Microsoft için yönetici onayı ver'i ve ardından Evet'i seçin. Bu işlem, geçerli dizindeki tüm hesaplara erişim izni verecektir. Bu, kiracıdaki her kullanıcı için onay iletişim kutusunun görünmesini engeller. Daha fazla bilgi için bkz. Uygulamaları ile tümleştirme Microsoft Entra IDMicrosoft Entra ID.
  9. Sertifikalar & gizli diziler>+ Yeni istemci parolası'nı seçin ve yeni bir gizli dizi oluşturun. Tekrar erişemeyeceğiniz için güvenli bir yere kopyaladığınızdan emin olun.

TMicrosoft Intune'dan veri almaPostman ile Microsoft Intune API'si

Postman gibi genel bir REST istemcisiyle Intune Data Warehouse API ile çalışabilirsiniz. Postman, temel alınan OData veri modeli olan API'nin özellikleri hakkında içgörü sağlayabilir ve API kaynaklarıyla bağlantınızın sorunlarını giderebilir. Bu bölümde, yerel istemciniz için bir Auth2.0 belirteci oluşturma hakkında bilgi bulabilirsiniz. İstemcinin Microsoft Entra IDMicrosoft Entra ID ile kimlik doğrulaması yapmak ve API kaynaklarına erişmek için belirteci gerekir.

Aramayı gerçekleştirmek için gereken bilgiler

Postman kullanarak REST araması yapmak için aşağıdaki bilgilere ihtiyacınız vardır:

Öznitelik Açıklama Örnek
Geri çağırma URL'si Bunu, uygulama ayarları sayfanızda geri çağırma URL'si olarak ayarlayın. https://www.getpostman.com/oauth2/callback
Belirteç Adı Kimlik bilgilerini AzureAzure uygulamasına geçirmek için kullanılan bir dize. İşlem, belirtecinizi oluşturur, böylece Data Warehouse API'sine çağrı yapabilirsiniz. Taşıyıcı
Kimlik Doğrulama URL'si Bu, kimlik doğrulaması için kullanılan URL'dir. https://login.microsoftonline.com/common/oauth2/authorize?resource=https://api.manage.microsoft.com/
Erişim Belirteci URL'si Bu, belirteci vermek için kullanılan URL'dir. https://login.microsoftonline.com/common/oauth2/token
İstemci Kimliği Azure'da yerel uygulamayı oluşturmuş ve not almışsınızdır. 4184c61a-e324-4f51-83d7-022b6a81b991
İstemci Gizli Anahtarı Azure'da yerel uygulamayı oluşturmuş ve not almışsınızdır. Ksml3dhDJs+jfK1f8Mwc8
Kapsam (İsteğe bağlı) Alanı boş bırakabilirsiniz.

NOT:Python için Microsoft Kimlik Doğrulama Kitaplığı (MSAL) gibi bazı SDK'lar, çift eğik çizgiyle (//) tanımlanan kapsama ihtiyaç duyabilir.

KAPSAM = ['https://api.manage.microsoft.com//.default']
Hibe Türü Belirteç bir yetkilendirme kodudur. Yetkilendirme kodu

OData uç noktası

Ayrıca uç noktaya da ihtiyacınız vardır. Data Warehouse uç noktanızı almak için özel akış URL'sine ihtiyacınız vardır. OData uç noktasını Data WarehouseData Warehouse bölmesinden alabilirsiniz.

  1. Microsoft Intune yönetim merkezinde oturum açın.
  2. Raporlar Veri> ambarı'nı seçerek Data Warehousebölmesini açın.
  3. Raporlama hizmeti için OData akışı altındaki özel akış URL'sini kopyalayın. Şunun gibi görünmelidir: https://fef.tenant.manage.microsoft.com/ReportingService/DataWarehouseFEService?api-version=v1.0

Uç nokta aşağıdaki biçimi izler: https://fef.{yourtenant}.manage.microsoft.com/ReportingService/DataWarehouseFEService/{entity}?api-version={verson-number}

Örneğin, tarihler varlığı şuna benzer: https://fef.tenant.manage.microsoft.com/ReportingService/DataWarehouseFEService/dates?api-version=v1.0

Daha fazla bilgi için API uç noktası Intune Data Warehouse bölümüne bakın.

REST araması yapma

Postman için yeni bir erişim belirteci almak için Microsoft EntraMicrosoft Entra yetkilendirme URL'sini eklemeniz, İstemci Kimliğinizi ve İstemci Gizli Anahtarınızı eklemeniz gerekir. Postman, kimlik bilgilerinizi yazacağınız yetkilendirme sayfasını yükleyecektir.

Çağrıyı yapmadan önce, AzureAzure'da uygulamanıza Geri Arama URL'sini zaten eklemiş olduğunuzu doğrulayın. Geri çağırma URL'si: https://www.getpostman.com/oauth2/callback.

Belirteci istemek için kullanılan bilgileri ekleme

  1. Henüz yüklemediyseniz Postman'i indirin. Postman'i indirmek için www.getpostman.com bölümüne bakın.

  2. Postacı'yı açın. HTTP işlemi GET'yi seçin.

  3. Uç nokta URL'sini adrese yapıştırın. Şunun gibi görünmelidir:

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

  4. Yetkilendirme sekmesini seçin ve Tür listesinden OAuth 2.0'ı seçin.

  5. Yeni Belirteç Yapılandır bölümüne gidin.

  6. Belirteç adı için taşıyıcı yazın.

  7. Verme türü olarak Yetkilendirme Kodu'nu seçin.

  8. Geri çağırma URL'sini ekleyin. Geri çağırma URL'si: https://www.getpostman.com/oauth2/callback.

  9. Kimlik doğrulama URL'sini ekleyin. Şunun gibi görünmelidir:

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

  10. Erişim belirteci URL'sini ekleyin. Şunun gibi görünmelidir:

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

  11. Azure'de oluşturduğunuz ve .Intune Data Warehouse Client Şunun gibi görünmelidir:

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

  12. Azure'da oluşturduğunuz yerel uygulamanın içinden oluşturduğunuz İstemci Gizli Anahtarını ekleyin. Şunun gibi görünmelidir:

    Ksml3dhDJs+jfK1f8Mwc8

  13. Yeni Erişim Belirteci Al'ı seçin.

    Erişim belirteci bilgileri.

  14. Kimlik bilgilerinizi Etkin AD yetkilendirme sayfasına yazın. Postman'deki belirteçler listesi artık adlı belirteci Beareriçerir.

  15. Belirteç Kullan'ı seçin. Üstbilgiler listesi, Yetkilendirme'nin yeni anahtar değerini ve Bearer <your-authorization-token>değerini içerir.

Postman kullanarak çağrıyı uç noktaya gönderme

  1. Gönder'i seçin.

  2. Dönüş verileri Postman yanıt gövdesinde görünür.

    Postman istemci durumu 200 Tamam'a eşittir.

Intune Data Warehouse'den veri almak için REST istemcisi (C#) oluşturma

Aşağıdaki örnek basit bir REST istemcisi içerir. Kod, .NET kitaplığından httpClient sınıfını kullanır. İstemci, Microsoft Entra IDMicrosoft Entra ID için kimlik bilgilerini edindikten sonra, müşteri Data WarehouseData Warehouse API'sinden tarih varlığını almak için bir GET REST çağrısı oluşturur.

Not

Aşağıdaki kod örneğine GitHub'dan erişebilirsiniz. Örnekteki en son değişiklikler ve güncelleştirmeler için GitHub deposuna bakın.

  1. Microsoft Visual Studio'yu açın.

  2. Dosya>Yeni Proje'yi seçin. Visual C# öğesini genişletin ve Konsol Uygulaması (.NET Framework.NET Framework) seçeneğini belirleyin.

  3. Projeyi IntuneDataWarehouseSamplesadlandırın, projeyi kaydetmek istediğiniz yere gidin ve ardından Tamam'ı seçin.

  4. Çözüm Gezgini çözümün adına sağ tıklayın ve ardından Çözüm için NuGet Paketlerini Yönet'i seçin. Gözat'ı seçin ve arama kutusuna yazınMicrosoft.Identity.Client.

    Not

    Microsoft Kimlik Doğrulama Kitaplığı'nı (MSAL) kullanmanız gerekir. Daha fazla bilgi için bkz. Microsoft Authentication Library (MSAL) ve Microsoft Graph APIGraph API kullanmak için uygulamalarınızı güncelleştirme.

  5. Paketi seçin, Çözümünüz için Paketleri Yönet'in altında IntuneDataWarehouseSamples projesini seçin ve ardından Yükle'yi seçin.

  6. NuGet paketi lisansını kabul etmek için Kabul Ediyorum'u seçin.

  7. TSolution Program.cs ExplorerÇözüm Gezgini.

    Visual Studio'da Program.cs ve Çözüm Gezgini.

  8. Program.cs'daki kodu aşağıdaki kodla değiştirin:

    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. TODOKod örneğindeki leri güncelleştirin.

  10. Intune oluşturmak ve yürütmek için Ctrl + F5 tuşlarına basın. Hata ayıklama modunda DataWarehouseAPIClient istemcisi.

    Varlık JSON biçiminde alındı.

  11. Konsol çıkışını gözden geçirin. Çıkış, IntuneIntune kiracınızdaki tarih varlığından alınan JSON biçiminde veriler içerir.

Sonraki adımlar

Yetkilendirme, API URL yapısı ve OData uç noktalarıyla ilgili ayrıntıları Intune Data Warehouse API'sini kullanma bölümünde bulabilirsiniz.

API'de yer alan veri varlıklarını bulmak için Intune Data Warehouse Veri Modeli'ne de başvurabilirsiniz. Daha fazla bilgi için Intune Data Warehouse API Veri Modeli'ne bakın.