Yönetilen kimlik kullanarak Azure SQL Yönetilen Örneği için dizin oluşturucu bağlantısı ayarlama

Note

Azure Yapay Zeka Arama Azure portalı, REST API'leri ve Azure SDK’ları aracılığıyla kullanılabilir. Ayrıca kuruluş içeriğini Microsoft Foundry portalındaki aracılar için yeniden kullanılabilir, izin kullanan bilgi bankalarına dönüştüren yönetilen bilgi katmanı Foundry IQ'yu temel alır.

Bu makalede, bağlantı dizgisinde kimlik bilgilerini sağlamak yerine yönetilen kimlik kullanarak SQL Yönetilen Örneği ile Azure Yapay Zeka Arama dizin oluşturucu bağlantısının nasıl ayarlanacağı anlatılmaktadır.

Sistem tarafından atanan yönetilen kimliği veya kullanıcı tarafından atanan yönetilen kimliği kullanabilirsiniz. Yönetilen kimlikler Microsoft Entra oturum açma bilgileridir ve SQL Yönetilen Örneği'daki verilere erişmek için Azure rol atamaları gerektirir.

Bu özellik hakkında daha fazla bilgi edinmeden önce dizin oluşturucu nedir ve veri kaynağınız için dizin oluşturucu ayarlamayı anlamanız gerekir. Daha fazla bilgi için bkz. Azure Yapay Zeka Arama Indexers ve Azure SQL Veritabanı'ten Veri Dizine Ekleme.

Önkoşullar

Veritabanını okumak için izin atama

SQL Yönetilen veritabanını okumak için arama hizmeti sistem yöneticisi kimlik iznini atamak üzere bu adımları izleyin.

  1. Aşağıdaki yöntemlerden birini kullanarak SQL Server Management Studio (SSMS) aracılığıyla SQL Yönetilen Örneği bağlanın:

  2. Microsoft Entra hesabınızı kullanarak kimlik doğrulaması.

    Sunucuya Bağlan iletişim kutusunun ekran görüntüsü gösteriliyor.

  3. Sol bölmeden, dizin oluşturmak için veri kaynağı olarak kullandığınız SQL veritabanını bulun ve sağ tıklayın. Yeni Sorgu'yu seçin.

    Yeni SQL sorgusunun ekran görüntüsü gösteriliyor.

  4. T-SQL penceresinde aşağıdaki komutları kopyalayın ve arama hizmeti adınızın çevresine köşeli ayraçları ekleyin. Yürüt'e tıklayın.

    CREATE USER [insert your search service name here or user-assigned managed identity name] FROM EXTERNAL PROVIDER;
    EXEC sp_addrolemember 'db_datareader', [insert your search service name here or user-assigned managed identity name];
    

    SQL sorgusunun nasıl yürütülür ekran görüntüsü gösteriliyor.

İzinleri atadıktan sonra daha sonra arama hizmeti sistem kimliğini değiştirirseniz rol üyeliğini kaldırmanız ve KULLANıCıYı SQL veritabanından kaldırmanız ve ardından izin atamasını yinelemeniz gerekir. Rol üyeliğini ve kullanıcıyı kaldırmak için aşağıdaki komutları çalıştırın:

sp_droprolemember 'db_datareader', [insert your search service name or user-assigned managed identity name];

DROP USER IF EXISTS [insert your search service name or user-assigned managed identity name];

Rol ataması ekleme

Bu adımda, Azure Yapay Zeka Arama hizmetinize SQL Yönetilen Örneği verileri okuma izni verirsiniz.

  1. Azure portalında SQL Yönetilen Örneği sayfanıza gidin.

  2. Erişim denetimi (IAM) öğesini seçin.

  3. Rol ataması ekle'yi> seçin.

     Access Control sayfasının ekran görüntüsünü gösterme.

  4. Okuyucu rolünü seçin.

  5. Microsoft Entra kullanıcı, grup veya hizmet sorumlusu olarak erişim ataması yapın.

  6. Sistem tarafından atanan bir yönetilen kimlik kullanıyorsanız arama hizmetinizi arayın ve seçin. Kullanıcı tarafından atanan bir yönetilen kimlik kullanıyorsanız, kullanıcı tarafından atanan yönetilen kimliğin adını arayın ve seçin. Kaydet'i seçin.

    Sistem tarafından atanan yönetilen kimliği kullanarak SQL Yönetilen Örneği için bir örnek aşağıda verilmiştır:

    Üye rolü atamasının ekran görüntüsü gösteriliyor.

Veri kaynağını oluşturma

Veri kaynağını oluşturun ve sistem tarafından atanan bir yönetilen kimlik sağlayın.

Sistem tarafından atanan yönetilen kimlik

REST API, Azure portalı ve .NET SDK sistem tarafından atanan yönetilen kimliği destekler.

Sistem tarafından atanan bir yönetilen kimlik kullanarak bağlandığınızda, veri kaynağı tanımında yapılan tek değişiklik "kimlik bilgileri" özelliğinin biçimidir. İlk Katalog veya Veritabanı adını ve hesap anahtarı veya parolası olmayan bir ResourceId belirtirsiniz. ResourceId SQL Yönetilen Örneği abonelik kimliğini, SQL Managed instance kaynak grubunu ve SQL veritabanının adını içermelidir.

Aşağıda, Create Data Source REST API'sini ve yönetilen kimlik bağlantı dizesi kullanarak bir SQL Yönetilen Örneği verilerini dizine almak için veri kaynağı oluşturma örneği verilmiştir. Yönetilen kimlik bağlantı dizesi biçimi REST API, .NET SDK ve Azure portalı için aynıdır.

POST https://[service name].search.windows.net/datasources?api-version=2026-04-01
Content-Type: application/json
api-key: [admin key]

{
    "name" : "sql-mi-datasource",
    "type" : "azuresql",
    "credentials" : { 
        "connectionString" : "Database=[SQL database name];ResourceId=/subscriptions/[subscription ID]/resourcegroups/[resource group name]/providers/Microsoft.Sql/managedInstances/[SQL Managed Instance name];Connection Timeout=100;"
    },
    "container" : { 
        "name" : "my-table" 
    }
} 

Dizini oluşturma

Dizin, bir belgedeki alanları, öznitelikleri ve arama deneyimini şekillendiren diğer yapıları belirtir.

İşte aranabilir bir alan içeren bir booktitle çağrısı:

POST https://[service name].search.windows.net/indexes?api-version=2026-04-01
Content-Type: application/json
api-key: [admin key]

{
    "name" : "my-target-index",
    "fields": [
        { "name": "id", "type": "Edm.String", "key": true, "searchable": false },
        { "name": "booktitle", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": false, "facetable": false }
    ]
}

Dizin oluşturucu oluşturma

Dizin oluşturucu bir veri kaynağını hedef arama dizinine bağlar ve veri yenilemeyi otomatikleştirmek için bir zamanlama sağlar. Dizini ve veri kaynağını oluşturduktan sonra dizin oluşturucuyu oluşturun.

Azure SQL dizin oluşturucu tanımıyla bir Create Indexer REST API çağrısı. dizin oluşturucu, isteği gönderdiğinizde çalışır.

POST https://[service name].search.windows.net/indexers?api-version=2026-04-01
Content-Type: application/json
api-key: [admin key]

{
    "name" : "sql-mi-indexer",
    "dataSourceName" : "sql-mi-datasource",
    "targetIndexName" : "my-target-index"
}

Sorun giderme

Dizin oluşturucu, istemcinin sunucuya erişmesine izin verilmediğini belirten veri kaynağına bağlanmaya çalıştığında bir hata alırsanız yaygın dizin oluşturucu hatalarına bakın.

Ayrıca, herhangi bir kısıtlama olmadan bağlantıyı deneyerek güvenlik duvarı sorunlarını eleyebilirsiniz.

Ayrıca bkz.