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çin
İş 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ı
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ı
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
- Azure VM'ler
- App Service ve Azure İşlevleri
- Azure Container Instances
- ve daha fazlası ...
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.
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.
Arama çubuğuna
Azure Time Series Insights
yazın veAzure 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ı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 şöyle olacaktır:Postman kullanıyorsanız https://api.timeseries.azure.com/
geçerli ancakhttps://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ı
- Uygulama kayıtlarına yönelik belirteçleri almak için Microsoft Kimlik Doğrulama Kitaplığı (MSAL) kullanın.
MSAL, aşağıdakiler dahil ancak bunlarla sınırlı olmamak üzere birçok uygulama senaryosunda kullanılabilir:
- Tek sayfalı uygulamalar (JavaScript)
- Web uygulamasının bir kullanıcıda oturum açması ve kullanıcı adına bir web API'sini çağırması
- oturum açmış kullanıcı adına başka bir aşağı akış web API'sini çağıran web API'sini
- Masaüstü uygulamasının oturum açmış kullanıcı adına bir web API'sini çağırması
- Etkileşimli olarak oturum açmış olan kullanıcı adına bir web API'sini çağıran Mobil uygulama.
- Masaüstü/hizmet daemon uygulaması, web API'sini kendisi adına çağırır
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,
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
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 bilgiyi
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 s aralığı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 WarmStore olarak 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.