Azure Veri Gezgini'da Microsoft Entra uygulama kaydı oluşturma
Microsoft Entra uygulama kimlik doğrulaması, kullanıcı olmadan Azure Veri Gezgini erişmesi gereken katılımsız hizmet veya zamanlanmış akış gibi uygulamalar için kullanılır. Web uygulaması gibi bir uygulama kullanarak Azure Veri Gezgini veritabanına bağlanıyorsanız hizmet sorumlusu kimlik doğrulamasını kullanarak kimlik doğrulaması yapmanız gerekir. Bu makalede, Bir Microsoft Entra hizmet sorumlusu oluşturma ve kaydetme ve ardından bir Azure Veri Gezgini veritabanına erişme yetkisi verme ayrıntılarıyla açıklanmaktadır.
Microsoft Entra uygulama kaydı oluşturma
Microsoft Entra uygulaması kimlik doğrulaması, bir uygulamanın Microsoft Entra Id ile oluşturulmasını ve kaydedilmesini gerektirir. Uygulama kaydı bir Microsoft Entra kiracısında oluşturulduğunda hizmet sorumlusu otomatik olarak oluşturulur.
Uygulama kaydı Azure portalında veya Azure CLI ile programlı olarak oluşturulabilir. Senaryonuza uyan sekmeyi seçin.
Uygulamayı kaydetme
Azure portalında oturum açın ve Microsoft Entra Id dikey penceresini açın.
Uygulama kayıtları'a gidin ve Yeni kayıt'ı seçin.
Uygulamaya "example-app" gibi bir ad verin.
Uygulamayı kimlerin kullanabileceğini belirleyen desteklenen bir hesap türü seçin.
Yeniden Yönlendirme URI'sinin altında, oluşturmak istediğiniz uygulama türü için Web'i seçin. URI isteğe bağlıdır ve bu durumda boş bırakılır.
Kaydet'i seçin.
Kimlik doğrulaması kurulumu
Hizmet sorumluları için iki tür kimlik doğrulaması kullanılabilir: parola tabanlı kimlik doğrulaması (uygulama gizli dizisi) ve sertifika tabanlı kimlik doğrulaması. Aşağıdaki bölümde, uygulamanın kimlik bilgileri için parola tabanlı kimlik doğrulaması kullanımı açıklanmaktadır. Alternatif olarak, uygulamanızın kimliğini doğrulamak için bir X509 sertifikası kullanabilirsiniz. Daha fazla bilgi için bkz . Microsoft Entra sertifika tabanlı kimlik doğrulamasını yapılandırma.
Bu bölümün boyunca şu değerleri kopyalayacaksınız: Uygulama Kimliği ve anahtar değeri. Bu değerleri, veritabanında istemci kimlik bilgilerini yapılandırma adımında kullanmak üzere bir metin düzenleyicisi gibi bir yere yapıştırın.
Genel Bakış dikey penceresine göz atın.
Uygulama (istemci) kimliğini ve Dizin (kiracı) kimliğini kopyalayın.
Not
Hizmet sorumlusunu veritabanına erişme yetkisi vermek için uygulama kimliğine ve kiracı kimliğine ihtiyacınız olacaktır.
Sertifikalar ve gizli diziler dikey penceresinde Yeni istemci gizli dizisi'ni seçin.
Bir açıklama ve süre sonu girin.
Ekle'yi seçin.
Anahtar değerini kopyala.
Not
Bu sayfadan çıktığınızda anahtar değerine erişilemez.
Microsoft Entra uygulamanızı ve hizmet sorumlunuzu oluşturdunuz.
Uygulama için temsilci izinlerini yapılandırma - isteğe bağlı
Uygulamanızın çağıran kullanıcının kimlik bilgilerini kullanarak veritabanınıza erişmesi gerekiyorsa, uygulamanız için temsilci izinlerini yapılandırın. Örneğin, bir web API'sini oluşturuyorsanız ve API'nizi çağıran kullanıcının kimlik bilgilerini kullanarak kimlik doğrulaması yapmak istiyorsanız.
Yalnızca yetkili bir veri kaynağına erişmeniz gerekiyorsa, bu bölümü atlayabilir ve veritabanına hizmet sorumlusu erişimi verme işlemine devam edebilirsiniz.
Uygulama kaydınızın API izinleri dikey penceresine göz atın.
İzin ekle'yi seçin.
Kuruluşumun kullandığı API'ler'i seçin.
Azure Veri Gezgini'ı arayın ve seçin.
Temsilci izinleri bölümünde user_impersonation kutusunu seçin.
İzinler ekle'yi seçin.
Veritabanına hizmet sorumlusu erişimi verme
Uygulama kaydınız oluşturulduktan sonra ilgili hizmet sorumlusuna veritabanınıza erişim vermeniz gerekir. Aşağıdaki örnek görüntüleyici erişimi verir. Diğer roller için bkz . Veritabanı izinlerini yönetme.
Önceki adımda kopyalanan Uygulama Kimliği ve Kiracı Kimliği değerlerini kullanın.
Sorgu düzenleyicinizde aşağıdaki komutu yürüterek ApplicationID ve TenantID yer tutucu değerlerini gerçek değerlerinizle değiştirin:
.add database <DatabaseName> viewers ('aadapp=<ApplicationID>;<TenantID>') '<Notes>'
Örneğin:
.add database Logs viewers ('aadapp=1234abcd-e5f6-g7h8-i9j0-1234kl5678mn;9876abcd-e5f6-g7h8-i9j0-1234kl5678mn') 'App Registration'
Son parametre, bir veritabanıyla ilişkili rolleri sorguladığınızda not olarak gösterilen bir dizedir.
Not
Uygulama kaydını oluşturduktan sonra başvurulana kadar birkaç dakika gecikme olabilir. Uygulamanın bulunamadığını belirten bir hata alırsanız bekleyin ve yeniden deneyin.
Roller hakkında daha fazla bilgi için bkz . Rol tabanlı erişim denetimi.
Veritabanına erişmek için uygulama kimlik bilgilerini kullanma
İstemci kitaplığını kullanarak veritabanınıza program aracılığıyla erişmek için uygulama kimlik bilgilerini kullanın.
. . .
string applicationClientId = "<myClientID>";
string applicationKey = "<myApplicationKey>";
string authority = "<myApplicationTenantID>";
. . .
var kcsb = new KustoConnectionStringBuilder($"https://{clusterName}.kusto.windows.net/{databaseName}")
.WithAadApplicationKeyAuthentication(
applicationClientId,
applicationKey,
authority);
var client = KustoClientFactory.CreateCslQueryProvider(kcsb);
var queryResult = client.ExecuteQuery($"{query}");
Not
Daha önce oluşturulan uygulama kaydının (hizmet sorumlusu) uygulama kimliğini ve anahtarını belirtin.
Daha fazla bilgi için bkz . Uygulamalarda Microsoft Authentication Library (MSAL) ile kimlik doğrulaması yapma ve .NET Core web uygulaması ile Azure Key Vault'u kullanma.
Sorun giderme
Geçersiz kaynak hatası
Uygulamanız kullanıcıların veya erişim için uygulamaların kimliğini doğrulamak için kullanılıyorsa, hizmet uygulaması için temsilci izinleri ayarlamanız gerekir. Uygulamanızın erişim için kullanıcıların veya uygulamaların kimliğini doğrulayabileceğinizi bildirin. Bunun yapılmaması, kimlik doğrulama girişiminde bulunulduğunda aşağıdakine benzer bir hataya neden olur:
AADSTS650057: Invalid resource. The client has requested access to a resource which is not listed in the requested permissions in the client's application registration...
Uygulama için temsilci izinlerini yapılandırmak için yönergeleri izlemeniz gerekir.
Kullanıcı onayı etkinleştirme hatası
Microsoft Entra kiracı yöneticiniz, kiracı kullanıcılarının uygulamalara onay vermesini engelleyen bir ilkeyi uygulamaya alabilir. Bu durum, kullanıcı uygulamanızda oturum açmaya çalıştığında aşağıdakine benzer bir hatayla sonuçlanır:
AADSTS65001: The user or administrator has not consented to use the application with ID '<App ID>' named 'App Name'
Kiracıdaki tüm kullanıcılar için onay vermek veya belirli bir uygulama için kullanıcı onayını etkinleştirmek için Microsoft Entra yöneticinize başvurmanız gerekir.