Share via


Azure Time Series Insights API’si için kimlik doğrulaması ve yetkilendirme

Dekont

Time Series Analizler (TSI) hizmeti artık Mart 2025'e kadar desteklenmeyecektir. Mevcut TSI ortamlarını 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çin belgelerimizi ziyaret edin.

İş gereksinimlerinize bağlı olarak çözümünüz, Azure Time Series Analizler ortamınızın API'leriyle etkileşime geçmek için kullandığınız bir veya daha fazla istemci uygulaması içerebilir. Azure Time Series Analizler, OAUTH 2.0 tabanlı 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 kimlik ve Microsoft Entra uygulama kaydı gibi taşıyıcı belirteci almak ve kimlik doğrulaması yapmak için kullanabileceğiniz kimlik bilgilerini almak için kullanabileceğiniz çeşitli yöntemler açıklanmaktadır.

Yönetilen kimlikler

Aşağıdaki bölümlerde, Azure Time Series Analizler 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, Microsoft Entra ID’de Azure kaynağı için bir kimlik sağlayarak ve bunu Microsoft Entra belirteçlerini almak için kullanarak geliştiricilerin kimlik bilgilerini yönetme gereksinimini ortadan kaldırıyor. Yönetilen kimlikleri kullanmanın avantajlarından bazıları şunlardır:

  • Kimlik bilgilerini yönetmeniz gerekmez. Kimlik bilgilerine sizin için bile erişilemez.
  • 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 Uygulama Hizmetleri
  • Azure Functions
  • Azure Container örnekleri
  • ve daha fazlası ...

Tam liste için bkz . Azure kaynakları için yönetilen kimlikleri destekleyen Azure hizmetleri.

Microsoft Entra uygulama kaydı

Kimlik bilgilerini yönetmeniz gerekmesi için mümkün olduğunda 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 sorumlusu nesnesi gereklidir.

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

Daha fazla ayrıntı için bkz . Microsoft Entra Id'de uygulama ve hizmet sorumlusu nesneleri.

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 belgelerindeki doğru öğreticiyi bulun ve izleyin. Burada, yönetilen kimlikleri yapılandırma yönergelerini bulabilirsiniz:

Uygulama kaydı

Uygulamayı kaydetme bölümünde listelenen adımları izleyin.

  • Platform ayarlarını yapılandır'ı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 (mobil ve masaüstü) seçeneğini belirleyin. Genel istemciyi Evet olarak ayarladığınızdan emin olun.
      • Azure Uygulaması Hizmetinde barındırılan Tek Sayfalı Uygulamalar için Web'i seçin.
    • Oturumu Kapatma URL'sini uygun olup olmadığını belirleyin.

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

    Create Redirect URIs

    Yapılandır'a ve ardından Kaydet'e tıklayın.

  • Microsoft Entra uygulamanızı Azure Time Series Analizler ilişkilendirin. API izinleri Kuruluşumun kullandığı izin>API'leri>ekle'yi seçin.

    Associate an API with your Microsoft Entra app

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

  • 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 ekle'yi seçin.

    Specify the kind of API permission your app requires

  • Uygulama ortamınızın API'lerini kendisi olarak çağıracaksa Kimlik Bilgileri ekleyin. 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 Verme

Azure Time Series Analizler ortamınız bir istek aldığında, önce çağıranın taşıyıcı belirteci 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 vermek için, 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ılabilen 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"
    

Dekont

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 bilgi edinin.

3. Adım: Belirteç İ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 Zaman Serisi Analizler URL'sine veya GUID'sine göre tanımlayabilirsiniz:

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

Önemli

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

  • Postman kullanıyorsanız AuthURL'nizşu şekilde olur:https://login.microsoftonline.com/microsoft.onmicrosoft.com/oauth2/authorize?scope=https://api.timeseries.azure.com//.default
  • https://api.timeseries.azure.com/ geçerli ancak https://api.timeseries.azure.com geçerli değil.

Yönetilen kimlikler

Azure Uygulaması Hizmetinden veya İşlevlerinden erişirken Azure kaynakları için belirteçleri alma bölümünde yer alan yö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ığından geçer. 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 Geçişi Kılavuzu'na bakın.

C# ve .NET için Azure Identity istemci kitaplığını kullanarak Azure Time Series Analizler 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 2. Nesil ortamından veri sorgulamayı gösteren örnek C# kodu için GitHub'da örnek uygulamayı görüntüleyin

Önemli

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

Ortak üst bilgiler ve parametreler

Bu bölümde, Azure Zaman Serisi Analizler 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 Analizler REST API başvuru belgelerinde daha ayrıntılı olarak ele alınmıştır.

HTTP üst bilgileri

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

Gerekli istek üst bilgisi Açıklama
Yetkilendirme Azure Time Series Analizler ile kimlik doğrulaması yapmak için Yetkilendirme üst bilgisinde geçerli bir OAuth 2.0 Taşıyıcı belirteci geçirilmelidir.

İ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 isteği kimliği. Hizmet bu değeri kaydeder. Hizmetin hizmetler arasında işlemi izlemesine izin verir.
x-ms-client-session-id İstemci oturum kimliği. Hizmet bu değeri kaydeder. Hizmetin hizmetler arasında bir grup ilgili işlemi izlemesine izin verir.
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-property-not-found-behavior GA API isteğe bağlı yanıt üst bilgisi. Olası değerler (varsayılan) veya UseNullşeklindedir ThrowError .

HTTP parametreleri

Bahşiş

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

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

Sürüm API sürüm değerleri
1. Nesil api-version=2016-12-12
Gen2 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, örneğin "PT20S" ISO 8601 süre biçiminde olmalı ve aralığında 1-30 solmalıdır. Varsayılan değer 30 s olarak belirlenmiştir. 1. Nesil
storeType=<storeType> Sıcak depolama etkinleştirilmiş 2. Nesil ortamları için sorgu veya ColdStoreüzerinde WarmStore 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 olarak ayarlanması WarmStoregerekir. Tanımlanmamışsa, sorgu soğuk depoda yürütülür. Gen2

Sonraki adımlar