Menghubungkan ke Pencarian Azure AI menggunakan peran

Pencarian Azure AI mendukung kontrol akses berbasis role melalui Microsoft Entra ID. Akses berbasis peran bersifat opsional tetapi disarankan. Alternatifnya adalah autentikasi berbasis kunci, yang merupakan default.

Jika Anda menetapkan beberapa peran ke entitas keamanan, izin digabungkan. Penugasan peran berlaku di semua alat dan perpustakaan klien. Anda dapat menetapkan peran menggunakan pendekatan yang didukung.

Artikel ini menjelaskan cara menetapkan peran bawaan untuk administrasi layanan, pengembangan, dan akses kueri serta pengambilan data secara baca-saja. Ini juga menyediakan langkah-langkah untuk membuat peran kustom dan menguji penetapan peran.

Tip

  • Ingin gambaran umum singkat tentang peran bawaan? Lihat Ringkasan izin.
  • Untuk mengontrol akses ke hasil pencarian di tingkat dokumen, juga dikenal sebagai keamanan tingkat baris, lihat kontrol akses tingkat Document di Pencarian Azure AI.

Prasyarat

  • Layanan Pencarian Azure AI (wilayah apa pun dan tingkat apa pun) dengan akses berbasis peran diaktifkan.

  • Izin untuk menetapkan peran Azure. Salah satu peran berikut berfungsi:

Peran bawaan

Peran adalah kumpulan izin yang memengaruhi sarana kontrol atau sarana data:

  • Sarana kontrol: Operasi untuk provisi, konfigurasi, dan administrasi layanan. Operasi sarana kontrol termasuk membuat atau menghapus layanan pencarian, mencantumkan kunci API, dan mengelola pengaturan jaringan dan autentikasi. Tersedia melalui REST API Azure Resource Manager, Search Management REST API, dan pustaka klien Azure SDK yang setara.

  • Bidang data: Operasi terhadap titik akhir layanan pencarian. Operasi sarana data termasuk dalam dua kategori: manajemen objek dan akses konten. Tersedia melalui Search Service REST API dan pustaka klien Azure SDK yang setara.

Deskripsi peran

Peran bawaan berikut memberikan izin untuk Pencarian Azure AI. Peran bidang kontrol selalu tersedia, sementara peran bidang data memerlukan akses berbasis peran untuk aktif pada layanan pencarian Anda. Anda dapat menggabungkan peran bawaan untuk akses yang lebih luas atau membuat peran kustom dengan izin tertentu yang Anda butuhkan.

Peranan Pesawat Deskripsi
Pemilik Kontrol
  • Akses sarana kontrol penuh, termasuk kemampuan untuk menetapkan peran dan mengubah pengaturan autentikasi.
  • Administrator langganan memiliki peran ini secara default.
  • Dapat mengelola kunci API.
  • Tidak dapat membuat objek pencarian, memuat dokumen, indeks kueri, atau mengambil dari pangkalan pengetahuan.
Kontributor Kontrol
  • Tingkat akses sarana kontrol yang sama dengan Pemilik, dikurangi kemampuan untuk menetapkan peran.
Pembaca Kontrol
  • Akses sarana kontrol baca-saja.
  • Dapat melihat metrik layanan dan definisi objek.
  • Tidak dapat melihat atau mengelola kunci API, memuat dokumen, mengindeks kueri, atau mengambil dari pangkalan pengetahuan.
Kontributor Layanan Pencarian Kontrol dan Data
  • Akses sarana kontrol penuh. Akses sarana data terbatas pada manajemen objek.
  • Dapat membuat indeks, pengindeks, set keterampilan, pangkalan pengetahuan, dan objek pencarian lainnya.
  • Tidak dapat memuat dokumen, indeks kueri, atau mengambil dari pangkalan pengetahuan.
  • Untuk daftar izin lengkap, lihat Microsoft.Search/searchServices/*.
Kontributor Data Indeks Pencarian Data Informasi
  • Akses baca-tulis ke konten.
  • Dapat memuat dokumen, indeks kueri, dan mengambil dari pangkalan pengetahuan.
  • Tidak dapat mengubah definisi objek atau mengambil kunci admin.
Pembaca Data Indeks Pencarian Data Informasi
  • Akses konten baca-saja.
  • Dapat mengkueri indeks dan mengambil dari pangkalan pengetahuan.
  • Tidak dapat memuat dokumen, mengubah definisi objek, atau mengambil kunci admin.

Penting

  • Pemilik, Kontributor, dan Kontributor Layanan Pencarian dapat mengambil kunci admin, untuk menyediakan akses baca-tulis penuh ke lapisan data. Hanya berikan peran ini kepada pengguna tepercaya.
  • Secara default, peran bidang data berlaku untuk semua indeks pada layanan pencarian. Untuk membatasi Kontributor Data Indeks Penelusuran atau Pembaca Data Indeks Penelusuran ke satu indeks, lihat Memberikan akses ke satu indeks.

Ringkasan izin

Gunakan tabel berikut untuk menemukan peran mana yang menyediakan izin yang Anda butuhkan dengan cepat.

Hak akses Pemilik/Kontributor Pembaca Kontributor Layanan Pencarian Kontributor Data Indeks Pencarian Pembaca Data Indeks Pencarian
Membuat dan mengonfigurasi layanan Pencarian Azure AI
Mengakses layanan di portal Azure
Menampilkan properti layanan, metrik, dan titik akhir
Mencantumkan semua objek pada layanan
Kuota akses dan statistik layanan
Menampilkan, menyalin, dan meregenerasi kunci
Pengaturan opsi autentikasi
Menampilkan peran, kebijakan, dan definisi
Mengonfigurasi keamanan jaringan dan koneksi privat
Membuat, menjalankan, dan mengelola objek pencarian 1
Mengunggah data untuk pengindeksan 2
Menjalankan kueri pada indeks
Mengambil dari pangkalan pengetahuan
Melewati filter izin dengan akses baca yang ditingkatkan

1 Mencakup indeks, pengindeks, sumber data, set keterampilan, alias, peta sinonim, sesi debug, pangkalan pengetahuan, dan sumber pengetahuan. Pengindeks juga mendukung operasi menjalankan dan reset.

2 Pemilik atau Kontributor dapat menjalankan wizard Impor data untuk membuat dan memuat indeks, meskipun mereka tidak dapat mengunggah dokumen di klien lain. Demikian pula, pengindeks dapat menulis ke indeks apa pun di layanan pencarian, terlepas dari penetapan peran per indeks. Dalam kedua kasus, layanan pencarian (bukan pengguna) melakukan tindakan bidang data menggunakan izin Microsoft.Search/searchServices/indexes/documents/*.

Menetapkan peran bawaan

Di bagian ini, Anda menetapkan peran untuk:

Menetapkan peran untuk administrasi layanan

Peran berikut memungkinkan Anda membuat, mengonfigurasi, dan mengelola layanan pencarian. Peran ini bersifat hierarkis, jadi pilih salah satu berdasarkan tingkat akses yang Anda butuhkan.

Peranan ID
Pemilik 8e3af657-a8ff-443c-a75c-2fe8c4bcb635
Kontributor b24988ac-6180-42a0-ab88-20f7382dd24c
Pembaca acdd72a7-3385-48ef-bd42-f606fba81ae7
  1. Buka layanan pencarian Anda di portal Azure.

  2. Dari panel kiri, pilih Kontrol akses (IAM).

  3. Pilih + Tambahkan>Tambahkan penetapan peran.

    Cuplikan layar halaman Kontrol akses (IAM) untuk menetapkan peran administrasi layanan.

  4. Pilih peran: Pemilik, Kontributor, atau Pembaca.

  5. Pada tab Members, pilih identitas pengguna atau grup Microsoft Entra. Jika Anda menyiapkan izin untuk layanan Azure lain, pilih identitas terkelola yang ditetapkan sistem atau ditetapkan pengguna.

  6. Pada tab Review + assign, pilih Review + assign untuk memberikan peran.

Menetapkan peran untuk pengembangan

Peran berikut memungkinkan Anda membuat objek pencarian, memuat dokumen, mengindeks kueri, dan mengambil dari pangkalan pengetahuan. Tetapkan ketiga peran untuk mencakup berbagai tugas pengembangan.

Peranan ID
Kontributor Layanan Pencarian 7ca78c08-252a-4471-8644-bb5ff32d4ba0
Kontributor Data Indeks Pencarian 8ebe5a00-799e-43f5-93ac-243d3dce84a7
Pembaca Data Indeks Pencarian 1407120a-92aa-4202-b7e9-c0e197c71c8f
  1. Buka layanan pencarian Anda di portal Azure.

  2. Dari panel kiri, pilih Kontrol akses (IAM).

  3. Pilih + Tambahkan>Tambahkan penetapan peran.

    Cuplikan layar halaman Kontrol akses (IAM) untuk menetapkan peran pengembangan.

  4. Pilih Kontributor Layanan Pencarian.

  5. Pada tab Members, pilih identitas pengguna atau grup Microsoft Entra. Jika Anda menyiapkan izin untuk layanan Azure lain, pilih identitas terkelola yang ditetapkan sistem atau ditetapkan pengguna.

  6. Pada tab Review + assign, pilih Review + assign untuk memberikan peran.

  7. Ulangi langkah-langkah ini untuk menetapkan Kontributor Data Indeks Pencarian dan Pembaca Data Indeks Pencarian.

Menetapkan peran untuk akses baca saja

Gunakan peran berikut untuk aplikasi dan proses yang hanya memerlukan akses baca ke indeks dan pangkalan pengetahuan. Operasi yang didukung termasuk pencarian, pencarian, lengkapi otomatis, dan saran untuk indeks dan ambil untuk pangkalan pengetahuan.

Peranan ID
Pembaca Data Indeks Pencarian 1407120a-92aa-4202-b7e9-c0e197c71c8f
  1. Buka layanan pencarian Anda di portal Azure.

  2. Dari panel kiri, pilih Kontrol akses (IAM).

  3. Pilih + Tambahkan>Tambahkan penetapan peran.

    Cuplikan layar halaman Kontrol akses (IAM) untuk menetapkan peran akses data baca-saja.

  4. Pilih peran Pembaca Data Indeks Pencarian .

  5. Pada tab Members, pilih identitas pengguna atau grup Microsoft Entra. Jika Anda menyiapkan izin untuk layanan Azure lain, pilih identitas terkelola yang ditetapkan sistem atau ditetapkan pengguna.

  6. Pada tab Review + assign, pilih Review + assign untuk memberikan peran.

Menguji penugasan peran

Gunakan klien untuk menguji penetapan peran. Ingat bahwa peran bersifat kumulatif. Anda tidak dapat menghapus atau menolak peran yang diwariskan yang memiliki ruang lingkup di tingkat langganan atau grup sumber daya pada tingkat sumber daya (layanan pencarian).

Sebelum melanjutkan, konfigurasikan aplikasi Anda untuk koneksi tanpa kunci dan tetapkan penetapan peran.

  1. Buka layanan pencarian Anda di portal Azure.

  2. Dari panel kiri, pilihIndeks> pencarian untuk menguji izin terkait indeks:

    • Kontributor Layanan Pencarian dapat membuat, memodifikasi, dan menghapus objek pencarian tetapi tidak dapat memuat dokumen atau menjalankan kueri. Untuk memverifikasi izin, buat indeks pencarian.

    • Kontributor Data Indeks Pencarian dapat memuat dokumen. Tidak ada opsi muat dokumen di portal Azure di luar Impor data wizard, tetapi Anda dapat mengatur ulang dan menjalankan pengindeksir untuk mengonfirmasi izin pemuatan dokumen.

    • Pembaca Data Indeks Pencarian dapat mengkueri indeks. Untuk memverifikasi izin, gunakan Penjelajah pencarian. Anda seharusnya dapat mengirim kueri dan melihat hasil, tetapi Anda seharusnya tidak dapat melihat definisi indeks atau membuat indeks.

Memberikan akses ke satu indeks

Dalam beberapa skenario, Anda mungkin ingin membatasi akses aplikasi ke satu sumber daya, seperti indeks.

Portal Azure saat ini tidak mendukung penetapan peran pada tingkat granularitas ini, tetapi Anda dapat menetapkan peran menggunakan PowerShell atau Azure CLI.

Di PowerShell, gunakan New-AzRoleAssignment, memberikan nama pengguna atau grup Azure dan cakupan penugasan.

  1. Muat modul Azure dan AzureAD dan sambungkan ke akun Azure Anda:

    Import-Module -Name Az
    Import-Module -Name AzureAD
    Connect-AzAccount
    
  2. Tambahkan penetapan peran yang terlingkup ke indeks individual:

    New-AzRoleAssignment -ObjectId <objectId> `
        -RoleDefinitionName "Search Index Data Contributor" `
        -Scope  "/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Search/searchServices/<search-service>/indexes/<index-name>"
    

    Referensi:New-AzRoleAssignment

Cakupan per indeks dan operasi pengindeks

Penetapan peran per indeks hanya berlaku untuk operasi API langsung, seperti kueri atau unggahan dokumen dari pengguna atau aplikasi. Pengindeks tidak dibatasi oleh izin per indeks karena beroperasi dengan kredensial tingkat layanan.

Pengguna dengan peran Kontributor Layanan Pencarian dapat membuat pengindeks yang menulis ke indeks apa pun di layanan pencarian, bahkan indeks di mana pengguna tersebut tidak memiliki penetapan peran per indeks.

Untuk isolasi data yang ketat antar indeks, pertimbangkan pendekatan ini:

  • Gunakan layanan pencarian terpisah untuk tim atau pengguna yang memerlukan isolasi tingkat indeks.
  • Tetapkan Kontributor Layanan Pencarian hanya untuk administrator yang mengelola pengindeks.
  • Gunakan kontrol akses tingkat dokumen dengan filter keamanan untuk membatasi hasil kueri dalam indeks bersama.

Membuat peran kustom

Jika peran bawaan tidak memberikan kombinasi izin yang tepat, Anda dapat membuat peran kustom untuk mendukung operasi yang Anda butuhkan.

Contoh berikut mengkloning Pembaca Data Indeks Pencarian lalu menambahkan kemampuan untuk mencantumkan indeks berdasarkan nama. Biasanya, mencantumkan indeks pada layanan pencarian dianggap sebagai hak administratif.

  1. Masuk ke portal Azure dan navigasikan ke layanan pencarian Anda.

  2. Dari panel kiri, pilih Kontrol akses (IAM).

  3. Pada tab Peran , temukan Pembaca Data Indeks Pencarian atau peran lain, pilih elipsis (...), lalu pilih Kloning.

  4. Pada tab Basics, masukkan nama untuk peran kustom, seperti "Indeks Pencarian Data Explorer", lalu pilih Baru.

  5. Pada tab Izin , pilih Tambahkan izin.

  6. Di panel Tambahkan izin, pilih petak Microsoft Search.

  7. Dengan Tindakan dipilih di bagian atas, atur izin berikut:

    • Di bawah Microsoft.Search/operations, pilih Baca : Cantumkan semua operasi yang tersedia.
    • Di bawah Microsoft.Search/searchServices/indexes, pilih Baca : Baca Indeks.
  8. Beralih ke Aksi data di bagian atas, dan di bawah Microsoft.Search/searchServices/indexes/documents, pilih Baca : Baca Dokumen.

    Definisi JSON terlihat seperti contoh berikut:

    {
     "properties": {
         "roleName": "search index data explorer",
         "description": "",
         "assignableScopes": [
             "/subscriptions/0000000000000000000000000000000/resourceGroups/free-search-svc/providers/Microsoft.Search/searchServices/demo-search-svc"
         ],
         "permissions": [
             {
                 "actions": [
                     "Microsoft.Search/operations/read",
                     "Microsoft.Search/searchServices/indexes/read"
                 ],
                 "notActions": [],
                 "dataActions": [
                     "Microsoft.Search/searchServices/indexes/documents/read"
                 ],
                 "notDataActions": []
             }
         ]
       }
     }
    
  9. Pilih Tambahkan untuk menutup panel.

  10. Pilih Tinjau + buat untuk membuat peran.

    Sekarang Anda dapat menetapkan pengguna dan grup ke peran tersebut. Untuk informasi selengkapnya tentang langkah-langkah ini, lihat Buat atau perbarui peran kustom Azure menggunakan portal Azure.

Membuat kebijakan Akses Bersyarat

Jika Anda perlu menerapkan kebijakan organisasi, seperti autentikasi multifaktor, gunakan Akses Bersyarat Microsoft Entra.

Untuk membuat kebijakan Akses Bersyarat untuk Pencarian Azure AI:

  1. Masuk ke portal Azure.

  2. Cari Akses Bersyarat Microsoft Entra.

  3. Pada halaman Gambaran Umum , pilih Buat kebijakan baru.

  4. Di bawah Cloud app atau actions, tambahkan Pencarian Azure AI sebagai aplikasi cloud, bergantung pada cara Anda ingin menyiapkan kebijakan Anda.

  5. Perbarui parameter yang tersisa dari kebijakan Anda. Misalnya, tentukan pengguna dan grup mana yang kebijakannya berlaku.

  6. Simpan kebijakan.

Penting

Jika layanan pencarian Anda memiliki identitas terkelola yang ditetapkan, layanan pencarian tertentu muncul sebagai aplikasi cloud. Namun, memilih layanan pencarian tertentu tersebut tidak memberlakukan kebijakan. Sebagai gantinya, pilih aplikasi cloud umum Pencarian Azure AI untuk menerapkan kebijakan Akses Bersyarat ke layanan pencarian Anda.

Troubleshooting

Saat Anda mengembangkan aplikasi yang menggunakan kontrol akses berbasis peran untuk autentikasi, Anda mungkin mengalami beberapa masalah umum:

  • Konfigurasi default untuk layanan pencarian adalah autentikasi berbasis kunci. Jika Anda tidak mengubah pengaturan ini ke kontrol aksesberbasis Peran atau Keduanya, semua permintaan yang menggunakan autentikasi berbasis peran secara otomatis ditolak, terlepas dari izin yang mendasar.

  • Jika permintaan Anda menyertakan kunci API bersama kredensial berbasis peran, layanan akan mengautentikasi menggunakan kunci. Hapus kunci API dari header permintaan Anda untuk menggunakan autentikasi berbasis peran.

  • Jika token otorisasi berasal dari identitas terkelola dan Anda baru-baru ini menetapkan izin yang sesuai, mungkin perlu waktu beberapa jam agar penetapan izin berlaku.

  • Jika kueri dengan izin tingkat dokumen tidak mengembalikan hasil yang diharapkan, gunakan Kontributor Data Indeks Pencarian atau buat peran kustom dengan izin yang ditingkatkan untuk diselidiki.

Langkah selanjutnya

Artikel ini menjelaskan cara menetapkan peran untuk operasi kontrol dan lapisan data di Pencarian Azure AI. Untuk instruksi komprehensif tentang menambahkan akses berbasis peran ke kode aplikasi Anda: