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

İş gereksinimlerinize bağlı olarak çözümünüz, ortamının API'leri ile Azure Time Series Analizler etkileşimde bulunmak için kullandığınız bir veya daha fazla istemci uygulaması içerebilir. Azure Time Series Analizler, OAUTH 2.0'ıtemel alan Azure AD Güvenlik Belirteçlerini kullanarak kimlik doğrulaması gerçekleştirir. İstemcilerinizi doğrulamak için doğru izinlere sahip bir taşıyıcı belirteci alıp API çağrılarınızı da iletirsiniz. Bu belgede, taşıyıcı belirteç almak ve kimlik doğrulaması yapmak için kullanabileceğiniz kimlik bilgilerini almak için yönetilen kimlik ve uygulama kaydı gibi Azure Active Directory yöntemleri açıklanıyor.

Yönetilen kimlikler

Aşağıdaki bölümlerde Azure Time Series api'lerine erişmek için Azure Active Directory (Azure AD) tarafından yönetilen Analizler açıklanmaktadır. Azure'da yönetilen kimlikler, geliştiricilerin Azure AD'de Azure kaynağı için bir kimlik sağlayarak ve bu kimliği kullanarak Azure Active Directory (Azure AD) belirteçlerini almak zorunda kalmalarını ortadan kaldırıyor. Yönetilen kimlikleri kullanmanın avantajlarından bazıları:

  • Kimlik bilgilerini yönetmenize gerek yok. Kimlik bilgilerine erişe bile erişesiniz.
  • Yönetilen kimlikleri kullanarak Azure AD kimlik doğrulamasını destekleyen tüm Azure hizmetlerde kimlik doğrulaması Azure Key Vault.
  • Yönetilen kimlikler ek ücret ödemeden kullanılabilir.

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

Yönetilen kimlikleri şu şekilde kullanabilirsiniz:

  • Azure VM’leri
  • Azure Uygulama Hizmetleri
  • Azure İşlevleri
  • Azure Container instances
  • ve daha fazlası ...

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

Azure Active Directory kaydı

Kimlik bilgilerini yönetmenize gerek olmayan yönetilen kimlikleri mümkün olduğunca kullanmalarını öneririz. İstemci uygulamanız yönetilen kimlikleri destekleyen bir Azure hizmette barındırilmiyorsa, uygulamalarınızı bir Azure AD kiracısına kaydedebilirsiniz. Azure AD'ye kaydolarak, uygulamanıza Azure AD ile tümleştiri sağlayan bir kimlik yapılandırması oluşturacaksınız. Azure portal'abir uygulama kaydedip kaydetmezsiniz; bunun tek bir kiracı (yalnızca kiracınız içinde erişilebilir) veya çok kiracılı (diğer kiracılarda erişilebilir) olup olmadığını seçersiniz ve isteğe bağlı olarak bir yeniden yönlendirme URI'si (erişim belirtecin gönderildiği yer) olarak ayarlanır.

Uygulama kaydını tamamlandıktan sonra, ana kiracınız veya dizininiz içinde bulunan uygulamanın (uygulama nesnesi) genel olarak benzersiz bir örneğine sahip olursanız. Ayrıca, uygulamanız (uygulama veya istemci kimliği) için genel olarak benzersiz bir kimliğiniz de vardır. Portalda daha sonra gizli diziler veya sertifikalar ve kapsamlar ekerek uygulamanın çalışmasına yardımcı olabilir, oturum açma iletişim kutusunda uygulama markasını özelleştirebilirsiniz.

Bir uygulamayı portala kaydettirrersiniz, giriş kiracınıza otomatik olarak bir uygulama nesnesi ve bir hizmet sorumlusu nesnesi oluşturulur. Microsoft Graph API'lerini kullanarak bir uygulama kaydettiriyor/oluşturuyorsanız, hizmet sorumlusu nesnesini oluşturmak ayrı bir adımdır. Belirteç isteği için bir hizmet sorumlusu nesnesi gerekir.

Uygulamanıza yönelik Güvenlik denetim listesini gözden geçirmeyi emin olun. En iyi uygulama olarak, parola kimlik bilgilerini (istemci gizli dizileri)değil sertifika kimlik bilgilerini kullansanız iyi olur.

Daha fazla ayrıntı için bkz. Azure Active Directory 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ı kullansanız, sonraki adımınız bir kimlik sağlama olacak.

Yönetilen kimlik

Yönetilen kimlik oluşturmak için kullanabileceğiniz adımlar kodunuzun bulunduğu yere ve sistem tarafından atanan veya kullanıcı tarafından atanan kimlik oluşturmanıza bağlı olarak değişiklik gösterir. Farkı anlamak için Yönetilen kimlik türleri'ne okuyun. Kimlik türlerinizi seçtikten sonra Azure AD tarafından yönetilen kimlikler belgelerinde doğru öğreticiyi bulun ve izleyin. Burada aşağıdakiler için yönetilen kimlikleri yapılandırma yönergelerini bulabilirsiniz:

Uygulama kaydı

Uygulamayı kaydetme altında listelenen adımları izleyin.

  • Platform ayarlarını yapılandırma adım 4 ' te uygun platformu seçtikten sonra, arka planda yeniden yönlendirme URI 'Leri ve erişim belirteçlerinizi Kullanıcı arabiriminin sağına doğru yapılandırın.

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

      • Yerel bir geliştirme ortamında barındırılan uygulamalar için ortak istemci (mobil & Masaüstü) öğesini seçin. Ortak Istemciyi Evet olarak ayarladığınızdan emin olun.
      • Azure App Service barındırılan Single-Page uygulamalar için Web' i seçin.
    • Oturum kapatma URL 'sinin uygun olup olmadığını belirleme.

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

    Yeniden yönlendirme URI 'Leri oluşturma

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

  • Azure Active Directory uygulamanızın Azure Time Series Insights ilişkilendirin. API izinlerini seçin > > Kuruluşumun kullandığı izin API 'leri ekleyin.

    Azure Active Directory uygulamanızla bir API 'YI ilişkilendirme

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

  • Ardından, uygulamanızın gerektirdiği tür API iznini belirtin. Varsayılan olarak, temsilci izinleri vurgulanacaktır. Bir izin türü seçin, sonra Izin Ekle' yi seçin.

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

  • Uygulama ortamınızın API 'lerinizi kendisi olarak çağırmak için kimlik bilgilerini ekleyin . Kimlik bilgileri, uygulamanızın çalışma zamanında Kullanıcı etkileşimi gerektirmeksizin kendisi olarak kimlik doğrulaması yapmasına olanak sağlar.

2. Adım: Erişim Izni Ver

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 ardından ç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 sorumluyu yetkilendirmek için, önce kullanıcıya Okuyucu veya Katkıda Bulunan rolü ataarak ortama erişim vermeniz gerekir.

  • Kullanıcı arabirimi üzerinden erişim Azure portal için Ortam erişimi izni ver makalesinde listelenen yönergeleri izleyin. Kullanıcı seçerek yönetilen kimliği veya uygulama kaydını adına veya kimliğe 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çirebilirsiniz.

    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ı 2.11.0 veya daha yüksek bir sürüm gerektirir. Uzantı, az tsi access-policy komutunu ilk kez çalıştırarak otomatik olarak yüklenir. Uzantılar hakkında daha fazla bilgi.

3. Adım: Belirteç İsteği

Yönetilen kimliğiniz veya uygulama kaydınız sağlandıktan ve bir rol atandıktan sonra, OAuth 2.0 taşıyıcı belirteçleri talep etmek için kullanmaya başlayabilirsiniz. Belirteç almak için kullandığınız yöntem, kodunuzun barındırıldık yere ve seçtiğiniz dile bağlı olarak farklılık gösterir. Kaynağı belirtirken (belirteci "hedef kitle" olarak da bilinir), Azure Time Series Analizler URL'sini veya GUID'sini kullanarak tanımlayabilirsiniz:

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

Önemli

URL'yi kaynak kimliği olarak kullanırsanız, belirteci tam olarak adresine verilen belirteç https://api.timeseries.azure.com/ olmalıdır. Sonda 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ğildir.

Yönetilen kimlikler

Azure App Service veya İşlevler'den erişirken Azure kaynakları için belirteç alma konusunda 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ığıdır. Basitliği ve güvenlik avantajları nedeniyle bu istemci kitaplığı popülerdir. Geliştiriciler bir kez kod yazabilir ve istemci kitaplığının uygulama ortamına göre kimlik doğrulamasını belirlemesine olanak sağlar. İster geliştirici iş istasyonunda ister geliştirici hesabı kullanarak ister yönetilen hizmet kimliği kullanarak Azure'da dağıtın. Önceki AppAuthentication kitaplığından geçiş kılavuzu için AppAuthentication'dan Azure.Identity Geçiş Kılavuzu'ne gidin.

C# kullanarak Azure Time Series Analizler ve .NET için Azure Identity istemci kitaplığını kullanarak belirteç isteğinde bulundurabilirsiniz:

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ı

  • Geliştiriciler, uygulama kayıtları için belirteçleri almak üzere Microsoft Authentication Library'i (MSAL) kullanabilir.

MSAL birçok uygulama senaryosunda kullanılabilir, ancak bunlarla sınırlı değildir:

Bir 2. Nesil ortamından uygulama kaydı ve sorgu verileri olarak belirteç almak için örnek C# kodu için örnek uygulamayı uygulama GitHub

Önemli

Azure Active Directory Authentication Library (ADAL) kullanıyorsanız, MSAL'ye Azure Active Directory hakkında bilgi edinebilirsiniz.

Ortak üst bilgiler ve parametreler

Bu bölümde, Azure Time Series 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çıklanmıştır. API'ye özgü gereksinimler, Azure Zaman Serisi belgelerinde daha Analizler REST API ayrıntılı olarak ele alınmıştır.

İpucu

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

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 kimlik doğrulaması için Yetkilendirme üst bilgisinde geçerli bir OAuth 2.0 Taşıyıcı belirteci geçir gerekir.

İpucu

Grafikler ve grafiklerle birlikte JavaScript İstemci SDK'sını kullanarak program aracılığıyla Azure Time Series Analizler API'leriyle kimlik doğrulaması yapmayı öğrenmek için barındırılan Azure Time Series Analizler 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 de destekler.
x-ms-client-request-id İstemci isteği kimliği. Hizmet bu değeri kaydedmektedir. Hizmetin hizmetler arasında işlemi izlemesi için izin verir.
x-ms-client-session-id İstemci oturum kimliği. Hizmet bu değeri kaydedmektedir. Hizmetin hizmetler arasında bir grup ilgili işlemleri izlemesi için izin verir.
x-ms-client-application-name Bu isteği oluşturan uygulamanın adı. Hizmet bu değeri kaydedmektedir.

İ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 de destekler.
x-ms-request-id Sunucu tarafından oluşturulan istek kimliği. Bir isteği araştırmak için Microsoft ile iletişim kurmak için kullanılabilir.
x-ms-property-not-found-behavior GA API isteğe bağlı yanıt üst bilgisi. Olası değerler ThrowError (varsayılan) veya UseNull değerleridir.

HTTP parametreleri

İpucu

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.

Yayınla 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 bir zaman aşımı ayarlamayı içerir.

İsteğe bağlı sorgu parametresi Açıklama Sürüm
timeout=<timeout> HTTP isteği yürütmesi için sunucu tarafı zaman aşımı. Yalnızca Ortam Olaylarını Al ve Ortam Toplamlarını Al API'leri için geçerlidir. Zaman aşımı değeri ISO 8601 süre biçiminde olmalıdır, örneğin "PT20S" ve aralığında 1-30 s olmalıdır. Varsayılan değer 30 s olarak belirlenmiştir. 1. Nesil
storeType=<storeType> Sıcak deponun etkin olduğu 2. Nesil ortamları için sorgu veya üzerinde WarmStore ColdStore yürütülebilirsiniz. Sorguda bu parametre, sorgunun hangi depoda yürütül gerektiğini tanımlar. Tanımlanmamışsa sorgu soğuk depoda yürütülür. Sıcak depoyu sorgulamak için storeType'ın olarak ayarlanmış olması WarmStore gerekir. Tanımlanmamışsa sorgu soğuk depoda yürütülür. 2. Nesil

Sonraki adımlar