Aracılığıyla paylaş


Azure Time Series Insights API'sinde kimlik doğrulaması ve yetkilendirme

Not

Time Series Insights hizmeti 7 Temmuz 2024'te kullanımdan kaldırılacaktır. Mevcut ortamları mümkün olan en kısa sürede alternatif çözümlere geçirmeyi göz önünde bulundurun. Kullanımdan kaldırma ve geçiş hakkında daha fazla bilgi içinbelgelerimizi ziyaret edin.

İş gereksinimlerinize bağlı olarak çözümünüz, Azure Time Series Insights ortamınızın API'leriile etkileşime geçmek için kullandığınız bir veya daha fazla istemci uygulaması içerebilir. Azure Time Series Insights, OAUTH 2.0tabanlı Microsoft Entra Güvenlik Belirteçlerini kullanarak kimlik doğrulaması gerçekleştirir. İstemcilerinizin kimliğini doğrulamak için doğru izinlere sahip bir taşıyıcı belirteci almanız ve API çağrılarınızla birlikte iletmeniz gerekir. Bu belgede, yönetilen kimlikler ve Microsoft Entra uygulama kaydı gibi yöntemleri kullanarak kimlik doğrulaması yapabileceğiniz ve taşıyıcı belirteci alabileceğiniz çeşitli kimlik alma yöntemleri açıklanmaktadır.

Yönetilen kimlikler

Aşağıdaki bölümlerde, Azure Time Series Insights API'sine erişmek için Microsoft Entra Id'den yönetilen kimliğin nasıl kullanılacağı açıklanmaktadır. Azure'da yönetilen kimlikler, Geliştiricilerin Microsoft Entra Kimliği'nde Azure kaynağı için bir kimlik sağlayarak ve Microsoft Entra belirteçlerini almak için bu kimliği kullanarak kimlik bilgilerini yönetme gereksinimini ortadan kaldırır. Yönetilen kimlikleri kullanmanın avantajlarından bazıları şunlardır:

  • Kimlik bilgilerini yönetmeniz gerekmez. Kimlik bilgileri size bile erişilebilir değil.
  • Azure Key Vault dahil olmak üzere Microsoft Entra kimlik doğrulamasını destekleyen herhangi bir Azure hizmetinde kimlik doğrulaması yapmak için yönetilen kimlikleri kullanabilirsiniz.
  • Yönetilen kimlikler ek maliyet olmadan kullanılabilir.

İki yönetilen kimlik türü hakkında daha fazla bilgi için bkz. Azure kaynakları için yönetilen kimlikler nelerdir?

Yönetilen kimlikleri şu kaynaklardan kullanabilirsiniz:

  • Azure VM'leri
  • Azure App Services
  • Azure İşlevleri
  • Azure Container örnekleri
  • ve daha fazlası ...

Tüm liste için bkz. Azure kaynakları için yönetilen kimlikleri destekleyen Azure hizmetleri .

Microsoft Entra uygulama kaydı

Kimlik bilgilerini yönetmenize gerek kalmaması için mümkün olduğunca yönetilen kimlikleri kullanmanızı öneririz. İstemci uygulamanız yönetilen kimlikleri destekleyen bir Azure hizmetinde barındırılmıyorsa, uygulamanızı bir Microsoft Entra kiracısıyla kaydedebilirsiniz. Uygulamanızı Microsoft Entra Id ile kaydettiğinizde, uygulamanız için Microsoft Entra Id ile tümleştirilmesine izin veren bir kimlik yapılandırması oluşturursunuz. bir uygulamayıAzure portalına kaydettiğinizde, bunun tek bir kiracı mı (yalnızca kiracınızda erişilebilir) yoksa çok kiracılı mı (diğer kiracılarda erişilebilir) olduğunu seçersiniz ve isteğe bağlı olarak bir yeniden yönlendirme URI'sini (erişim belirtecinin gönderildiği yer) ayarlayabilirsiniz.

Uygulama kaydını tamamladığınızda, uygulamanın ana kiracınızda veya dizininizde bulunan genel olarak benzersiz bir örneğine (uygulama nesnesi) sahip olursunuz. Ayrıca uygulamanız için genel olarak benzersiz bir kimliğiniz de vardır (uygulama veya istemci kimliği). Portalda, uygulamanızın çalışmasını sağlamak için gizli diziler veya sertifikalar ve kapsamlar ekleyebilir, oturum açma iletişim kutusunda uygulamanızın markasını özelleştirebilir ve daha fazlasını yapabilirsiniz.

Portalda bir uygulama kaydederseniz, ev kiracınızda otomatik olarak bir uygulama nesnesi ve bir hizmet sorumlusu nesnesi oluşturulur. Microsoft Graph API'lerini kullanarak bir uygulama kaydederseniz/oluşturursanız, hizmet sorumlusu nesnesini oluşturmak ayrı bir adımdır. Belirteç istemek için bir hizmet ana nesnesi gereklidir.

Uygulamanız için Güvenlik denetim listesini gözden geçirmeyi unutmayın. En iyi uygulama olarak, parola kimlik bilgilerini (istemci gizli dizileri) değil, sertifika kimlik bilgilerinikullanmalısınız.

Daha fazla bilgi için bkz. Uygulama ve hizmet sorumlusu nesneleri, Microsoft Entra ID.

1. Adım: Yönetilen kimliğinizi veya uygulama kaydınızı oluşturma

Yönetilen kimlik mi yoksa uygulama kaydı mı kullanacağınızı belirledikten sonra bir sonraki adımınız bir kimlik sağlamaktır.

Yönetilen kimlik

Yönetilen kimlik oluşturmak için kullanacağınız adımlar, kodunuzun bulunduğu konuma ve sistem tarafından atanan veya kullanıcı tarafından atanan kimlik oluşturup oluşturmadığınıza bağlı olarak değişir. Farkı anlamak için yönetilen kimlik türlerini okuyun. Kimlik türünüzü seçtikten sonra,Microsoft Entra yönetilen kimlikler belgelerinde doğru öğreticiyi bulun ve izleyin. Burada, yönetilen kimlikleri yapılandırma yönergelerini bulabilirsiniz:

Uygulama kaydı

Uygulama kaydetmebölümünde listelenen adımları izleyin.

  • Platform ayarlarını yapılandırma adımının 4. adımında uygun platformu seçtikten sonra, kullanıcı arabiriminin sağ tarafındaki panelde Yeniden Yönlendirme URI'lerinizi ve Erişim Belirteçlerinizi yapılandırın.

    • Yeniden Yönlendirme URI'leri kimlik doğrulama isteği tarafından sağlanan adresle eşleşmelidir:

      • Yerel geliştirme ortamında barındırılan uygulamalar için genel istemci (mobilmasaüstü) & seçin. genel istemciEvetolarak ayarladığınızdan emin olduğunuzu sağlayın.
      • Azure App Service'te barındırılan Single-Page Uygulamalar için Weböğesini seçin.
    • Oturumu Kapatma URL'si uygun olup olmadığını belirleyin.

    • Erişim belirteçlerini veya kimlik belirteçlerinidenetleyerek örtük verme akışını etkinleştirin.

    Yeniden Yönlendirme URI'leri oluşturma

    Yapılandır'atıklayın, sonra Kaydet'ebasın.

  • Microsoft Entra uygulamanızı Azure Time Series Insights ile ilişkilendirin. API izinlerini seçin>İzin ekle>Kuruluşumun kullandığı API'ler.

    Api'yi Microsoft Entra uygulamanızla ilişkilendirme

    Arama çubuğuna Azure Time Series Insights yazın ve Azure Time Series Insights'ı seçin.

  • Ardından, uygulamanızın gerektirdiği tür API iznini belirtin. Varsayılan olarak, Temsilci izinleri vurgulanır. bir izin türü seçin ve ardından İzin ekleseçin.

    Uygulamanızın gerektirdiği API izni türünü belirtin

  • Uygulamanın ortamınızın API'lerini kendisi olarak çağırıp çağırmayacağını Kimlik Bilgileri Ekle'yi seçin. Kimlik bilgileri, uygulamanızın kendi kimliğini doğrulamasını sağlar ve çalışma zamanında bir kullanıcıdan etkileşim gerektirmez.

2. Adım: Erişim İzni Ver

Azure Time Series Insights ortamınız bir istek aldığında, önce çağrı sahibinin taşıyıcı belirteci (bearer token) doğrulanır. Doğrulama başarılı olursa, çağıranın kimliği doğrulanır ve çağıranın istenen eylemi gerçekleştirme yetkisine sahip olduğundan emin olmak için başka bir denetim yapılır. Herhangi bir kullanıcı veya hizmet sorumlusunu yetkilendirmek için, önce onlara Okuyucu veya Katkıda Bulunan rolü atayarak ortama erişim izni vermelisiniz.

  • Azure portalı kullanıcı arabirimi aracılığıyla erişim izni vermek için, Bir ortama veri erişimi verme makalesinde listelenen yönergeleri izleyin. Kullanıcıyı seçerken, yönetilen kimliği veya uygulama kaydını adına veya kimliğine göre arayabilirsiniz.

  • Azure CLI kullanarak erişim vermek için aşağıdaki komutu çalıştırın. Erişimi yönetmek için kullanılabilecek komutların tam listesi için buradaki belgeleri gözden geçirin.

    az tsi access-policy create --name "ap1" --environment-name "env1" --description "some description" --principal-object-id "aGuid" --roles Reader Contributor --resource-group "rg1"
    

Not

Azure CLI için timeseriesinsights uzantısı için sürüm 2.11.0 veya üzeri gerekir. Uzantı, az tsi access-policy komutunu ilk kez çalıştırdığınızda otomatik olarak yüklenir. Uzantılar hakkında daha fazla öğrenin.

3. Adım: Token İsteme

Yönetilen kimliğiniz veya uygulama kaydınız sağlanıp bir rol atandıktan sonra, OAuth 2.0 taşıyıcı belirteçleri istemek için bunu kullanmaya başlayabilirsiniz. Belirteç almak için kullandığınız yöntem, kodunuzun barındırıldığı yere ve tercih ettiğiniz dile bağlı olarak farklılık gösterir. Kaynağı belirtirken (belirtecin "hedef kitlesi" olarak da bilinir), Azure Time Series Insights'ı URL'sine veya GUID'sine göre tanımlayabilirsiniz:

  • https://api.timeseries.azure.com/
  • 120d688d-1518-4cf7-bd38-182f158850b6

Önemli

URL'yi kaynak kimliği olarak kullanırsanız, belirtecin tam olarak https://api.timeseries.azure.com/için verilmesi gerekmektedir. Sondaki eğik çizgi gereklidir.

  • AuthURL Postman kullanıyorsanız şöyle olacaktır:
  • https://api.timeseries.azure.com/ geçerli ancak https://api.timeseries.azure.com geçerli değil.

Yönetilen kimlikler

Azure App Service veya Functions'dan erişirken Azure kaynakları için belirteçleri almayönergeleri izleyin.

.NET uygulamaları ve işlevleri için, yönetilen kimlikle çalışmanın en basit yolu .NET için Azure Identity istemci kitaplığı kullanmaktır. Bu istemci kitaplığı, basitliği ve güvenlik avantajları nedeniyle popülerdir. Geliştiriciler bir kez kod yazabilir ve istemci kitaplığının uygulama ortamına göre (geliştirici hesabı kullanan bir geliştirici iş istasyonunda veya yönetilen hizmet kimliği kullanarak Azure'da dağıtıldığında) nasıl kimlik doğrulaması yapılacağını belirlemesine izin verebilir. Öncül AppAuthentication kitaplığından geçiş kılavuzu için AppAuthentication'dan Azure.Identity Migration Guidancerehberine başvurabilirsiniz.

C# ve .NET için Azure Identity istemci kitaplığını kullanarak Azure Time Series Insights için belirteç isteyin:

using Azure.Identity;
// ...
var credential = new DefaultAzureCredential();
var token = credential.GetToken(
new Azure.Core.TokenRequestContext(
    new[] { "https://api.timeseries.azure.com/" }));
var accessToken = token.Token;

Uygulama kaydı

MSAL, aşağıdakiler dahil ancak bunlarla sınırlı olmamak üzere birçok uygulama senaryosunda kullanılabilir:

Bir belirteci uygulama kaydı olarak almayı ve Gen2 ortamından veri sorgulamayı gösteren örnek C# kodu için GitHub'daki örnek uygulamayı görüntüleyin.

Önemli

Azure Active Directory Kimlik Doğrulama Kitaplığı (ADAL) kullanıyorsanız MSAL'e geçin.

Ortak başlıklar ve parametreler

Bu bölümde, Azure Time Series Insights 1. Nesil ve 2. Nesil API'lerine yönelik sorgular yapmak için kullanılan yaygın HTTP isteği üst bilgileri ve parametreleri açıklanmaktadır. API'ye özgü gereksinimler,Azure Time Series Insights REST API başvuru belgelerinde daha ayrıntılı olarak ele alınmıştır.

Bahşiş

REST API'lerini kullanma, HTTP istekleri yapma ve HTTP yanıtlarını işleme hakkında daha fazla bilgi edinmek için azure REST API Başvurusu okuyun.

HTTP üst bilgileri

Gerekli istek üst bilgileri aşağıda açıklanmıştır.

Zorunlu istek üst bilgisi Açıklama
İzin Azure Time Series Insights ile kimlik doğrulaması yapmak için geçerli bir OAuth 2.0 Taşıyıcı jetonu Yetkilendirme üst bilgisi'ne geçirilmelidir.

Bahşiş

Azure Time Series Insights API'leriyle programlama yoluyla JavaScript İstemci SDK'sı grafikler ve grafikler kullanarak kimlik doğrulaması yapmayı öğrenmek için barındırılan Azure Time Series Insights istemci SDK'sı örnek görselleştirmesini okuyun.

İsteğe bağlı istek üst bilgileri aşağıda açıklanmıştır.

İsteğe bağlı istek üst bilgisi Açıklama
İçerik türü yalnızca application/json desteklenir.
x-ms-client-request-id İstemci istek kimliği. Hizmet bu değeri kaydeder. Hizmetin, operasyonu hizmetler arasında izlemesine olanak tanır.
x-ms-client-session-id İstemci oturum kimliği. Hizmet bu değeri kaydeder. Servisin hizmetler arasında ilgili işlemler grubunu izlemesine olanak tanır.
x-ms-client-application-name Bu isteği oluşturan uygulamanın adı. Hizmet bu değeri kaydeder.

İsteğe bağlı ancak önerilen yanıt üst bilgileri aşağıda açıklanmıştır.

Yanıt üst bilgisi Açıklama
İçerik türü Yalnızca application/json desteklenir.
x-ms-request-id Sunucu tarafından oluşturulan istek kimliği. Bir isteği araştırmak üzere Microsoft'a başvurmak için kullanılabilir.
x-ms-özellik-bulunamadı-davranışı GA API isteğe bağlı yanıt başlığı. Olası değerler ThrowError (varsayılan) veya UseNull.

HTTP parametreleri

Bahşiş

gerekli ve isteğe bağlı sorgu bilgileri hakkında daha fazla bilgiyibaşvuru belgelerinde bulabilirsiniz.

Gerekli URL sorgu dizesi parametreleri API sürümüne bağlıdır.

Serbest bırak API sürüm değerleri
1. Nesil api-version=2016-12-12
2. Nesil api-version=2020-07-31

İsteğe bağlı URL sorgu dizesi parametreleri, HTTP isteği yürütme süreleri için zaman aşımı ayarlamayı içerir.

İsteğe bağlı sorgu parametresi Açıklama Sürüm
timeout=<timeout> HTTP isteği yürütme için sunucu tarafı zaman aşımı. Yalnızca Get Environment Events ve Get Environment Aggregates API'leri için geçerlidir. Zaman aşımı değeri ISO 8601 süre biçiminde olmalıdır, örneğin "PT20S" ve 1-30 saralığında olmalıdır. Varsayılan değer 30 s. Nesil 1
storeType=<storeType> Gen2 ortamlarında sıcak depolama etkinse, sorgu WarmStore veya ColdStoreüzerinde yürütülebilir. Sorgudaki bu parametre, sorgunun hangi depoda yürütülmesi gerektiğini tanımlar. Tanımlanmamışsa sorgu soğuk depoda yürütülür. Sıcak depoyu sorgulamak için storeType değerinin WarmStoreolarak ayarlanması gerekir. Tanımlı olmadığı takdirde, sorgu soğuk depoda yürütülür. 2. Nesil

Sonraki adımlar

  • 1. Nesil Azure Time Series Insights API'sini çağıran örnek kod için C#kullanarak 1. Nesil verilerini sorgulama okuyun.

  • 2. Nesil Azure Time Series Insights API kod örneklerini çağıran örnek kod için C# kullanarak 2. Nesil verilerini sorgulamabakınız.

  • API başvuru bilgileri için Sorgu API' başvuru belgelerini okuyun.