Aracılığıyla paylaş


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 azure Veri Gezgini veritabanına erişme yetkisi verme adımları anlatılır.

Microsoft Entra uygulama kaydı oluşturma

Microsoft Entra uygulama kimlik doğrulaması, bir uygulamanın Microsoft Entra ID oluşturulmasını ve kaydedilmesini gerektirir. Uygulama kaydı Microsoft Entra bir kiracıda oluşturulduğunda otomatik olarak bir hizmet sorumlusu oluşturulur.

Uygulama kaydı Azure portal veya Azure CLI ile program aracılığıyla oluşturulabilir. Senaryonuza uyan sekmeyi seçin.

Uygulamayı kaydetme

  1. Azure portal oturum açın ve Microsoft Entra ID dikey penceresini açın.

  2. Uygulama kayıtları göz atın ve Yeni kayıt'ı seçin.

    Yeni uygulama kaydını başlatmayı gösteren ekran görüntüsü.

  3. Uygulamayı adlandırın, örneğin "example-app".

  4. Uygulamayı kimlerin kullanabileceğini belirleyen desteklenen bir hesap türü seçin.

  5. 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.

    Yeni uygulama kaydının nasıl kaydedileceklerini gösteren ekran görüntüsü.

  6. Kaydet’i seçin.

Kimlik doğrulamasını ayarlama

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 metin düzenleyicisi gibi bir yere yapıştırın.

  1. Genel Bakış dikey penceresine göz atın.

  2. Uygulama (istemci) kimliğini ve Dizin (kiracı) kimliğini kopyalayın.

    Not

    Hizmet sorumlusuna veritabanına erişim yetkisi vermek için uygulama kimliğine ve kiracı kimliğine ihtiyacınız olacaktır.

  3. Sertifikalar & gizli diziler dikey penceresinde Yeni istemci gizli dizisi'ni seçin.

    İstemci gizli dizisinin oluşturulmasını başlatmayı gösteren ekran görüntüsü.

  4. Bir açıklama ve süre sonu girin.

  5. Add (Ekle) seçeneğini belirleyin.

  6. Anahtar değerini kopyalayın.

    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, 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.

  1. Uygulama kaydınızınAPI izinleri dikey penceresine göz atın.

  2. İzin ekle'yi seçin.

  3. Kuruluşumun kullandığı API'leri seçin.

  4. Azure Veri Gezgini'ı arayın ve seçin.

    Azure Veri Gezgini API izninin nasıl ekleneceğini gösteren ekran görüntüsü.

  5. Temsilci izinleri'ndeuser_impersonation kutusunu seçin.

  6. İzin ekle'yi seçin.

    Kullanıcı kimliğe bürünme ile temsilci izinlerinin nasıl seçıldığını gösteren ekran görüntüsü.

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.

  1. Önceki adımda kopyalanan Uygulama Kimliği ve Kiracı Kimliği değerlerini kullanın.

  2. Aşağıdaki komutu sorgu düzenleyicinizde 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>'
    

    Örnek:

    .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 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 izinlerini 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.

Microsoft Entra kiracı yöneticiniz, kiracı kullanıcılarının uygulamalara onay vermelerini 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 uygulamanız için kullanıcı onayını etkinleştirmek için Microsoft Entra yöneticinize başvurmanız gerekir.