Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Nota
Pencarian Azure AI tersedia melalui portal Azure, REST API, dan Azure SDK. Ini juga mendukung Foundry IQ, lapisan pengetahuan terkelola yang mengubah konten perusahaan menjadi pangkalan pengetahuan yang dapat digunakan kembali dan sadar izin untuk agen di portal Microsoft Foundry.
Artikel ini menjelaskan cara menyiapkan koneksi pengindeks Pencarian Azure AI ke SQL Managed Instance menggunakan identitas terkelola alih-alih memberikan kredensial di string koneksi.
Anda dapat menggunakan identitas terkelola yang ditetapkan sistem atau identitas terkelola yang ditetapkan pengguna. Identitas terkelola di Microsoft Entra merupakan login yang memerlukan penetapan peran Azure untuk mengakses data di SQL Managed Instance.
Sebelum mempelajari selengkapnya tentang fitur ini, Anda harus memahami apa itu pengindeks dan cara menyiapkan pengindeks untuk sumber data Anda. Untuk informasi selengkapnya, lihat Indexers di Pencarian Azure AI dan data Index dari Azure SQL Database.
Prasyarat
Buat identitas terkelola untuk layanan pencarian Anda.
Peran admin Microsoft Entra pada SQL Managed Instance:
Untuk menetapkan izin baca pada SQL Managed Instance, Anda harus menjadi Admin Global Azure dan memiliki SQL Managed Instance. Lihat Konfigurasi dan kelola autentikasi Microsoft Entra dengan SQL Managed Instance dan ikuti langkah-langkah untuk memprovisikan admin Microsoft Entra (SQL Managed Instance).
Konfigurasi titik akhir publik dan grup keamanan jaringan di SQL Managed Instance untuk mengizinkan koneksi dari Pencarian Azure AI. Menyambungkan melalui tautan privat bersama saat menggunakan identitas terkelola saat ini tidak didukung.
Menetapkan izin untuk membaca database
Ikuti langkah-langkah ini untuk menetapkan izin identitas terkelola sistem layanan pencarian untuk membaca database Terkelola SQL.
Sambungkan ke SQL Managed Instance Anda melalui SQL Server Management Studio (SSMS) dengan menggunakan salah satu metode berikut:
Autentikasi dengan menggunakan akun Microsoft Entra Anda.
Dari panel kiri, temukan database SQL yang Anda gunakan sebagai sumber data untuk pengindeksan dan klik kanan. Pilih Kueri Baru.
Di jendela T-SQL, salin perintah berikut dan sertakan tanda kurung di sekitar nama layanan pencarian Anda. Pilih Jalankan.
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];
Jika nanti Anda mengubah identitas sistem layanan pencarian setelah menetapkan izin, Anda harus menghapus keanggotaan peran dan menghapus pengguna di database SQL, lalu mengulangi penetapan izin. Untuk menghapus keanggotaan peran dan pengguna, jalankan perintah berikut:
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];
Menambahkan penetapan peran
Dalam langkah ini, Anda memberikan izin layanan Pencarian Azure AI Anda untuk membaca data dari SQL Managed Instance Anda.
Di portal Azure, buka halaman SQL Managed Instance Anda.
Pilih Kontrol akses (IAM).
Pilih Tambahkan>penetapan peran.
Pilih peran Pembaca .
Biarkan penetapan akses ke sebagai pengguna, grup, atau prinsipal layanan Microsoft Entra.
Jika Anda menggunakan identitas terkelola yang ditetapkan sistem, cari layanan pencarian Anda dan pilih identitas tersebut. Jika Anda menggunakan identitas terkelola yang ditetapkan pengguna, cari nama identitas terkelola yang ditetapkan pengguna dan pilih identitas tersebut. Pilih Simpan.
Berikut adalah contoh untuk SQL Managed Instance menggunakan identitas terkelola yang ditetapkan sistem:
Membuat sumber data
Buat sumber data dan berikan identitas terkelola yang ditetapkan sistem.
Identitas yang terkelola yang diberikan oleh sistem
REST API, portal Azure, dan .NET SDK mendukung identitas terkelola yang ditetapkan sistem.
Saat Anda tersambung dengan menggunakan identitas terkelola yang ditetapkan sistem, satu-satunya perubahan pada definisi sumber data adalah format properti "kredensial". Anda menyediakan Katalog Awal atau Nama database dan ResourceId yang tidak memiliki kunci akun atau kata sandi.
ResourceId harus menyertakan ID langganan SQL Managed Instance, grup sumber daya SQL Managed instance, dan nama database SQL.
Berikut adalah contoh cara membuat sumber data untuk mengindeks data dari SQL Managed Instance menggunakan Buat Sumber Data REST API dan string koneksi identitas terkelola. Format string koneksi untuk identitas terkelola sama untuk REST API, .NET SDK, dan Azure portal.
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"
}
}
Membuat indeks
Indeks menentukan bidang dalam dokumen, atribut, dan konstruksi lain yang membentuk pengalaman pencarian.
Berikut adalah panggilan Buat INDEKS REST API dengan bidang yang dapat dicari booktitle :
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 }
]
}
Membuat pengindeks
Pengindeks menyambungkan sumber data dengan indeks pencarian target dan menyediakan jadwal untuk mengotomatiskan refresh data. Setelah Anda membuat indeks dan sumber data, buat pengindeks.
Berikut adalah Buat Pengindeks panggilan REST API dengan definisi pengindeks Azure SQL. Pengindeks berjalan saat Anda mengirimkan permintaan.
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"
}
Pemecahan masalah
Jika Anda mendapatkan kesalahan saat pengindeks mencoba menyambungkan ke sumber data yang mengatakan bahwa klien tidak diizinkan untuk mengakses server, lihat kesalahan pengindeks umum.
Anda juga dapat memastikan bahwa tidak ada masalah firewall dengan mencoba koneksi baik dengan maupun tanpa batasan.
Lihat juga
- Pengindeks SQL Managed Instance dan Azure SQL Database