Mulai cepat: Menyambungkan tanpa kunci
Konfigurasikan Azure AI Search untuk menggunakan autentikasi ID Microsoft Entra dan kontrol akses berbasis peran (RBAC) sehingga Anda dapat tersambung dari sistem lokal tanpa kunci API, menggunakan notebook Jupyter atau klien REST untuk berinteraksi dengan layanan pencarian Anda.
Jika Anda menelusuri mulai cepat lain yang terhubung menggunakan kunci API, mulai cepat ini menunjukkan kepada Anda cara beralih ke autentikasi berbasis identitas sehingga Anda dapat menghindari kunci yang dikodekan secara permanen dalam kode contoh Anda.
Prasyarat
Langganan Azure. Buat akun gratis.
Azure AI Search, wilayah atau tingkat apa pun, tetapi Anda memerlukan Dasar atau lebih tinggi untuk mengonfigurasi identitas terkelola untuk Azure AI Search.
Alat baris perintah, seperti PowerShell atau Bash, dan Azure CLI.
Langkah 1: Dapatkan ID langganan dan penyewa Azure Anda
Anda memerlukan langkah ini jika Anda memiliki lebih dari satu langganan atau penyewa.
Dapatkan langganan dan penyewa Azure untuk layanan pencarian Anda:
Masuk ke portal Azure dan navigasikan ke layanan pencarian Anda.
Perhatikan nama langganan dan ID di EsensiAlat Gambaran Umum>.
Sekarang pilih nama langganan untuk menampilkan grup manajemen induk (ID penyewa) di halaman berikutnya.
Anda sekarang tahu langganan dan penyewa Azure AI Search mana yang berada di bawah. Beralih ke perangkat lokal Anda dan prompt perintah, dan identifikasi langganan dan penyewa Azure aktif di perangkat Anda:
az account show
Jika langganan aktif dan penyewa berbeda dari informasi yang diperoleh di langkah sebelumnya, ubah ID langganan. Selanjutnya, masuk ke Azure menggunakan ID penyewa yang Anda temukan di langkah sebelumnya:
az account set --subscription <your-subscription-id> az login --tenant <your-tenant-id>
Langkah 2: Mengonfigurasi Pencarian Azure AI untuk RBAC
Masuk ke portal Azure dan navigasikan ke layanan Pencarian Azure AI Anda.
Aktifkan kontrol akses berbasis peran (RBAC):
Buka Kunci Pengaturan>.
Pilih Kontrol berbasis peran atau Keduanya jika Anda memerlukan waktu untuk transisi klien ke kontrol akses berbasis peran.
Jika Anda memilih Kontrol berbasis peran, pastikan Anda menetapkan semua peran yang dinamai dalam instruksi berikutnya atau Anda tidak akan dapat menyelesaikan tugas di portal Azure atau melalui klien lokal.
Tetapkan peran dalam portal Azure:
Buka layanan pencarian Anda.
Pilih Kontrol akses (IAM) di panel navigasi kiri.
Pilih + Tambahkan>Tambahkan penetapan peran.
Pilih peran (Kontributor Layanan Pencarian, Kontributor Data Indeks Pencarian, Pembaca Data Indeks Pencarian) dan tetapkan ke identitas pengguna atau grup Microsoft Entra Anda.
Ulangi untuk setiap peran.
Anda memerlukan Kontributor Layanan Pencarian ditambah Kontributor Data Indeks Pencarian untuk membuat, memuat, dan mengkueri objek di Azure AI Search. Untuk informasi selengkapnya, lihat Menyambungkan menggunakan peran.
Tip
Nantinya, jika Anda mendapatkan kesalahan kegagalan autentikasi, centang kembali pengaturan di bagian ini. Mungkin ada kebijakan di tingkat langganan atau grup sumber daya yang mengambil alih pengaturan API apa pun yang Anda tentukan.
Langkah 3: Sambungkan dari sistem lokal Anda
Jika Anda belum masuk ke Azure:
az login
Menggunakan notebook Python dan Jupyter
Instal pustaka Azure Identity dan Azure Search:
pip install azure-identity azure-search-documents
Autentikasi dan sambungkan ke Azure AI Search:
from azure.identity import DefaultAzureCredential from azure.search.documents import SearchClient service_endpoint = "https://<your-search-service-name>.search.windows.net" index_name = "hotels-sample-index" credential = DefaultAzureCredential() client = SearchClient(endpoint=service_endpoint, index_name=index_name, credential=credential) results = client.search("beach access") for result in results: print(result)
Menggunakan klien REST
Beberapa mulai cepat dan tutorial menggunakan klien REST, seperti Visual Studio Code dengan ekstensi REST. Berikut cara Anda menyambungkan ke Azure AI Search dari Visual Studio Code.
Anda harus memiliki .rest
file atau .http
, mirip dengan yang dijelaskan dalam Mulai Cepat: Pencarian vektor.
Membuat token akses.
az account get-access-token --scope https://search.azure.com/.default --query accessToken --output tsv
Di bagian atas file Anda, atur variabel yang digunakan untuk koneksi, menempelkan titik akhir layanan pencarian lengkap dan token akses yang Anda dapatkan di langkah sebelumnya. Variabel Anda akan terlihat mirip dengan contoh berikut. Perhatikan bahwa nilai tidak diapit kutipan.
@baseUrl = https://contoso.search.search.windows.net @token = <a long GUID>
Tentukan token pembawa otorisasi dalam panggilan REST:
POST https://{{baseUrl}}/indexes/hotels-sample-index/docs/search?api-version=2024-07-01 HTTP/1.1 Content-type: application/json Authorization: Bearer {{token}} { "queryType": "simple", "search": "beach access", "filter": "", "select": "HotelName,Description,Category,Tags", "count": true }
Memecahkan masalah kesalahan 401
Periksa langganan aktif dan penyewa (
az account show
) dan pastikan langganan dan penyewa tersebut valid untuk layanan pencarian Anda.Periksa opsi Tombol Pengaturan>layanan pencarian di portal Azure dan konfirmasikan layanan dikonfigurasi untuk kontrol akses keduanya" atau berbasis Peran.
Hanya untuk klien REST: Periksa token dan titik akhir yang ditentukan dalam file Anda dan pastikan tidak ada tanda kutip di sekitarnya atau ruang tambahan.
Jika semua gagal, mulai ulang perangkat Anda untuk menghapus token yang di-cache, lalu ulangi langkah-langkah di bagian ini, dimulai dengan az login
.
Konfigurasi tambahan
Konfigurasikan identitas terkelola untuk koneksi keluar:
Konfigurasikan identitas terkelola yang ditetapkan sistem atau ditetapkan pengguna untuk layanan pencarian Anda.
Gunakan penetapan peran untuk mengotorisasi akses ke sumber daya Azure lainnya.
Konfigurasi akses jaringan:
- Atur aturan masuk untuk menerima atau menolak permintaan ke Azure AI Search berdasarkan alamat IP.