REST İstemcisi ile Intune Data Warehouse API'sinden Veri Alma

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

Data Warehouse API'sinden veri almak için bir istemci ayarlama adımları şunları gerektirir:

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

REST istemcisiyle API'ye nasıl yetki vereceğinizi ve api'ye nasıl erişeceğinizi öğ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 istemcilerinin sorunlarını 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.

Azure'de yerel uygulama olarak istemci uygulaması oluşturma

Azure'de yerel bir uygulama oluşturun. Bu yerel uygulama, istemci uygulamasıdır. Yerel makinenizde çalışan istemci, yerel istemci kimlik bilgilerini istediğinde Intune Data Warehouse API'sine başvurur.

  1. Microsoft Entra yönetim merkezi oturum açın.
  2. Uygulama kayıtları bölmesini açmak için Microsoft Entra ID>UygulamaKayıtları'nı seçin.
  3. Yeni uygulama kaydı'ı 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 belirli bir senaryoya bağlıdır, ancak Postman kullanmayı planlıyorsanız yazın https://www.getpostman.com/oauth2/callback. Microsoft Entra ID kimlik doğrulaması yaparken istemci kimlik doğrulaması için geri çağırma adımını kullanacaksınız.
  5. Kaydet'i seçin.
  6. Bu uygulamanın Uygulama (istemci) kimliğini not edin. Sonraki bölümde kimliği kullanacaksınız.

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

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

  1. Microsoft Entra yönetim merkezi oturum açın.
  2. Uygulama kayıtları bölmesini açmak için Microsoft Entra ID>UygulamaKayıtları'nı seçin.
  3. Erişim vermek için ihtiyacınız olan uygulamayı seçin. Uygulamaya Intune Data Warehouse İstemcisi gibi bir ad verdiniz.
  4. API izinleri>İzin ekle'yi seçin.
  5. Intune API'sini bulun ve seçin. Microsoft Intune API olarak adlandırılır.
  6. Temsilci İzinleri kutusunu seçin ve veri ambarı bilgilerini Microsoft Intune al kutusuna tıklayın.
  7. İzin ekle'ye tıklayın.
  8. İsteğe bağlı olarak, Yapılandırılan izinler bölmesinde Microsoft için yönetici onayı ver'i ve ardından Evet'i seçin. Bu, geçerli dizindeki tüm hesaplara erişim verir. Bu, kiracıdaki her kullanıcı için onay iletişim kutusunun görünmesini engeller. Daha fazla bilgi için bkz. Uygulamaları Microsoft Entra ID ile tümleştirme.
  9. Sertifikalar & gizli diziler>+ Yeni istemci gizli dizisi'ni seçin ve yeni bir gizli dizi oluşturun. Yeniden erişemeyeceğiniz için güvenli bir yere kopyaladığınızdan emin olun.

Postman ile Microsoft Intune API'sinden veri alma

postman gibi genel bir REST istemcisiyle Intune Data Warehouse API'siyle çalışabilirsiniz. Postman, API'nin özellikleri, temel alınan OData veri modeli 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 Auth2.0 belirteci oluşturma hakkında bilgi bulabilirsiniz. İstemcinin Microsoft Entra ID ile kimlik doğrulaması yapmak ve API kaynaklarına erişmek için belirteci gerekir.

Arama yapmak için ihtiyacınız olacak 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 Azure uygulamasına geçirmek için kullanılan dize. İşlem, Data Warehouse API'sine çağrı yapabilmeniz için belirtecinizi oluşturur. 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 Yerel uygulamayı Azure oluştururken oluşturdunuz ve bunu not edin. 4184c61a-e324-4f51-83d7-022b6a81b991
İstemci Gizli Anahtarı Yerel uygulamayı Azure oluştururken oluşturdunuz ve bunu not edin. 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 çizgi (//) ile tanımlanan kapsama ihtiyaç duyabilir.

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

OData uç noktası

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

  1. Microsoft Intune yönetim merkezinde oturum açın.
  2. Raporlar>Veri ambarı'nı seçerek Data Warehouse bölmesini açın.
  3. Raporlama hizmeti için OData akışı altındaki özel akış URL'sini kopyalayın. Şuna benzer olmalıdır: 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ığı şöyle görünür: https://fef.tenant.manage.microsoft.com/ReportingService/DataWarehouseFEService/dates?api-version=v1.0

Daha fazla bilgi için bkz. API uç noktasını Intune Data Warehouse.

REST araması yapma

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

Aramayı yapmadan önce, Azure'de uygulamanıza Geri Arama URL'sini zaten eklemiş olduğunuzu doğrulayın. Geri Çağırma URL'si şeklindedir 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 bkz. www.getpostman.com.

  2. Postman'i açın. HTTP işlemi GET'i seçin.

  3. Uç nokta URL'sini adrese yapıştırın. Şuna benzer olmalıdır:

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

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

  5. Ekranı aşağı kaydırarak Yeni Belirteci Yapılandır bölümüne gelin.

  6. Belirteç Adı için Taşıyıcı yazın.

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

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

  9. Kimlik Doğrulama URL'sini ekleyin. Şuna benzer olmalıdır:

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

  10. Erişim Belirteci URL'sini ekleyin. Şuna benzer olmalıdır:

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

  11. Azure oluşturduğunuz ve adlı Intune Data Warehouse Clientyerel uygulamadan İstemci Kimliğini ekleyin. Şuna benzer olmalıdır:

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

  12. Azure'de oluşturduğunuz yerel uygulamanın içinden oluşturduğunuz İstemci Gizli Dizisini ekleyin. Şuna benzer olmalıdır:

    Ksml3dhDJs+jfK1f8Mwc8

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

    Erişim belirteci için bilgiler.

  14. Etkin AD yetkilendirme sayfasına kimlik bilgilerinizi yazın. Postman'deki belirteçler listesi artık adlı Bearerbelirteci içerir.

  15. Belirteci Kullan'ı seçin. Üst bilgi listesi, Yetkilendirme'nin yeni anahtar değerini ve değerini Bearer <your-authorization-token>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 veri almak için rest istemcisi (C#) oluşturma

Aşağıdaki örnek basit bir REST istemcisi içerir. Kod, .NET kitaplığındaki httpClient sınıfını kullanır. İstemci Microsoft Entra ID kimlik bilgilerini aldıktan sonra, Data Warehouse API'sinden tarihler varlığını almak için bir GET REST çağrısı oluşturur.

Not

GitHub'da aşağıdaki kod örneğine erişebilirsiniz. Örnekte yapılan 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) öğesini seçin.

  3. Projeyi adlandırın, projeyi IntuneDataWarehouseSampleskaydetmek istediğiniz yere gidin ve Tamam'ı seçin.

  4. Çözüm Gezgini çözümün adına sağ tıklayın ve çö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. Uygulamalarınızı Microsoft Kimlik Doğrulama Kitaplığı (MSAL) ve Microsoft Graph API kullanacak şekilde güncelleştirme.

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

  6. NuGet paket lisansını kabul etmek için Kabul Ediyorum'a tıklayın.

  7. Program.cs Çözüm Gezgini açın.

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

  8. Program.cs'deki 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 s'leri güncelleştirin.

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

    JSON biçiminde alınan tarih varlığı.

  11. Konsol çıkışını gözden geçirin. Çıktı, Intune kiracınızdaki tarihler varlığından çekilen 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 bulunan veri varlıklarını bulmak için Intune Data Warehouse Veri Modeli'ne de başvurabilirsiniz. Daha fazla bilgi için bkz. API Veri Modeli Intune Data Warehouse.