Bagikan melalui


Menyambungkan ke Azure Storage menggunakan identitas terkelola (Azure AI Search)

Artikel ini menjelaskan cara mengonfigurasi koneksi layanan pencarian ke akun Azure Storage 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 adalah login Microsoft Entra dan memerlukan penetapan peran untuk akses ke Azure Storage.

Prasyarat

  • Azure AI Search, Tingkat dasar atau lebih tinggi, dengan identitas terkelola.

Catatan

Jika penyimpanan dilindungi jaringan dan di wilayah yang sama dengan layanan pencarian Anda, Anda harus menggunakan identitas terkelola yang ditetapkan sistem dan salah satu opsi jaringan berikut: terhubung sebagai layanan tepercaya, atau menyambungkan menggunakan aturan instans sumber daya.

Membuat penetapan peran di Azure Storage

  1. Masuk ke portal Azure dan temukan akun penyimpanan Anda.

  2. Pilih Kontrol Akses (IAM) .

  3. Pilih Tambahkan lalu pilih Penetapan peran.

  4. Dari daftar peran fungsi pekerjaan, pilih peran yang diperlukan untuk layanan pencarian Anda:

    Tugas Penetapan peran
    Pengindeksan blob menggunakan pengindeks Menambahkan Pembaca Data Blob Penyimpanan
    Pengindeksan ADLS Gen2 menggunakan pengindeks Menambahkan Pembaca Data Blob Penyimpanan
    Pengindeksan tabel menggunakan pengindeks Menambahkan Pembaca dan Akses Data
    Pengindeksan file menggunakan pengindeks Menambahkan Pembaca dan Akses Data
    Menulis ke penyimpanan pengetahuan Tambahkan Storage Blob DataContributor untuk proyeksi objek dan file, serta Pembaca dan Akses Data untuk proyeksi tabel.
    Menulis ke cache pengayaan Menambahkan Kontributor Data Blob Penyimpanan
    Simpan status sesi debug Menambahkan Kontributor Data Blob Penyimpanan
  5. Pilih Selanjutnya.

  6. Pilih Identitas terkelola lalu pilih Anggota.

  7. Filter menurut identitas terkelola yang ditetapkan sistem atau identitas terkelola yang ditetapkan pengguna. Anda akan melihat identitas terkelola yang sebelumnya Anda buat untuk layanan pencarian Anda. Jika Anda tidak memilikinya, lihat Mengonfigurasi pencarian untuk menggunakan identitas terkelola. Jika Anda sudah menyiapkannya tetapi tidak tersedia, beri beberapa menit.

  8. Pilih identitas dan simpan penetapan peran.

Menentukan identitas terkelola dalam string koneksi

Setelah memiliki penetapan peran, Anda dapat menyiapkan koneksi ke Azure Storage yang beroperasi di bawah peran tersebut.

Pengindeks menggunakan objek sumber data untuk koneksi ke sumber data eksternal. Bagian ini menjelaskan cara menentukan identitas terkelola yang ditetapkan sistem atau identitas terkelola yang ditetapkan pengguna pada sumber data string koneksi. Anda dapat menemukan contoh string koneksi lainnya di artikel identitas terkelola.

Tip

Anda dapat membuat koneksi sumber data ke Azure Storage di portal Azure, menentukan sistem atau identitas terkelola yang ditetapkan pengguna, lalu melihat definisi JSON untuk melihat bagaimana string koneksi diformulasikan.

Identitas terkelola yang ditetapkan sistem

Anda harus memiliki identitas terkelola yang ditetapkan sistem yang sudah dikonfigurasi, dan identitas tersebut harus memiliki penetapan peran di Azure Storage.

Untuk koneksi yang dibuat menggunakan identitas terkelola yang ditetapkan sistem, satu-satunya perubahan pada definisi sumber data adalah format credentials properti .

ResourceId Berikan yang tidak memiliki kunci akun atau kata sandi. ResourceId harus menyertakan ID langganan akun penyimpanan, grup sumber daya akun penyimpanan, dan nama akun penyimpanan.

POST https://[service name].search.windows.net/datasources?api-version=2024-07-01

{
    "name" : "blob-datasource",
    "type" : "azureblob",
    "credentials" : { 
        "connectionString" : "ResourceId=/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MY-DEMO-RESOURCE-GROUP/providers/Microsoft.Storage/storageAccounts/MY-DEMO-STORAGE-ACCOUNT/;" 
    },
    "container" : { 
        "name" : "my-container", "query" : "<optional-virtual-directory-name>" 
    }
}   

Identitas terkelola yang ditetapkan pengguna

Anda harus memiliki identitas terkelola yang ditetapkan pengguna yang sudah dikonfigurasi dan terkait dengan layanan pencarian Anda, dan identitas harus memiliki penetapan peran di Azure Storage.

Koneksi yang dibuat melalui identitas terkelola yang ditetapkan pengguna menggunakan kredensial yang sama dengan identitas terkelola yang ditetapkan sistem, ditambah properti identitas tambahan yang berisi kumpulan identitas terkelola yang ditetapkan pengguna. Hanya satu identitas terkelola yang ditetapkan pengguna yang harus disediakan saat membuat sumber data. Atur userAssignedIdentity ke identitas terkelola yang ditetapkan pengguna.

ResourceId Berikan yang tidak memiliki kunci akun atau kata sandi. ResourceId harus menyertakan ID langganan akun penyimpanan, grup sumber daya akun penyimpanan, dan nama akun penyimpanan.

identity Berikan menggunakan sintaks yang diperlihatkan dalam contoh berikut.

POST https://[service name].search.windows.net/datasources?api-version=2024-07-01

{
    "name" : "blob-datasource",
    "type" : "azureblob",
    "credentials" : { 
        "connectionString" : "ResourceId=/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MY-DEMO-RESOURCE-GROUP/providers/Microsoft.Storage/storageAccounts/MY-DEMO-STORAGE-ACCOUNT/;" 
    },
    "container" : { 
        "name" : "my-container", "query" : "<optional-virtual-directory-name>" 
    },
    "identity" : { 
        "@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
        "userAssignedIdentity" : "/subscriptions/00000000-0000-0000-0000-00000000/resourcegroups/MY-DEMO-RESOURCE-GROUP/providers/Microsoft.ManagedIdentity/userAssignedIdentities/MY-DEMO-USER-MANAGED-IDENTITY" 
    }
}   

Informasi koneksi dan izin pada layanan jarak jauh divalidasi pada waktu proses selama eksekusi pengindeks. Jika pengindeks berhasil, sintaks koneksi dan penetapan peran valid. Untuk informasi selengkapnya, lihat Menjalankan atau mengatur ulang pengindeks, keterampilan, atau dokumen.

Mengakses data aman jaringan di akun penyimpanan

Akun penyimpanan Azure dapat diamankan lebih lanjut menggunakan firewall dan jaringan virtual. Jika Anda ingin mengindeks konten dari akun penyimpanan yang diamankan menggunakan firewall atau jaringan virtual, lihat Membuat koneksi pengindeks ke Azure Storage sebagai layanan tepercaya.

Lihat juga