Akses pengindeks ke konten yang dilindungi oleh keamanan jaringan Azure

Jika sumber daya Azure Anda disebarkan di jaringan virtual Azure, artikel konsep ini menjelaskan bagaimana pengindeks pencarian dapat mengakses konten yang dilindungi oleh keamanan jaringan. Ini menjelaskan pola lalu lintas keluar dan lingkungan eksekusi pengindeks. Ini juga mencakup perlindungan jaringan yang didukung oleh Azure AI Search dan faktor-faktor yang mungkin memengaruhi strategi keamanan Anda. Terakhir, karena Azure Storage digunakan untuk akses data dan penyimpanan persisten, artikel ini juga mencakup pertimbangan jaringan yang khusus untuk konektivitas pencarian dan penyimpanan.

Mencari instruksi langkah demi langkah sebagai gantinya? Lihat Cara mengonfigurasi aturan firewall untuk mengizinkan akses pengindeks atau Cara membuat koneksi keluar melalui titik akhir privat.

Sumber daya yang diakses oleh pengindeks

Pengindeks Azure AI Search dapat melakukan panggilan keluar ke berbagai sumber daya Azure dalam tiga situasi:

  • Koneksi ke sumber data eksternal selama pengindeksan
  • Koneksi ke kode eksternal yang dienkapsulasi melalui set keterampilan yang mencakup keterampilan kustom
  • Koneksi ke Azure Storage selama eksekusi set keterampilan ke pengayaan cache, menyimpan status sesi debug, atau menulis ke penyimpanan pengetahuan

Daftar semua jenis sumber daya Azure yang mungkin diakses pengindeks dalam eksekusi umum tercantum dalam tabel di bawah ini.

Sumber daya Tujuan dalam menjalankan pengindeks
Azure Storage (blob, ADLS Gen 2, file, tabel) Sumber data
Azure Storage (blob, tabel) Skillsets (pengayaan penembolokan, sesi debug, proyeksi penyimpanan pengetahuan)
Azure Cosmos DB (berbagai API) Sumber data
Database Azure SQL Sumber data
SQL Server di komputer virtual Azure Sumber data
Instans Terkelola SQL Sumber data
Azure Functions Melekat pada set keterampilan dan digunakan untuk menghosting keterampilan API web kustom

Catatan

Pengindeks juga terhubung ke layanan Azure AI untuk keterampilan bawaan. Namun, koneksi tersebut dibuat melalui jaringan internal dan tidak tunduk pada ketentuan jaringan apa pun di bawah kendali Anda.

Pengindeks terhubung ke sumber daya menggunakan pendekatan berikut:

  • Titik akhir publik dengan kredensial
  • Titik akhir privat, menggunakan Azure Private Link
  • Tersambung sebagai layanan tepercaya
  • Koneksi melalui alamat IP

Jika sumber daya Azure Anda berada di jaringan virtual, Anda harus menggunakan titik akhir privat atau alamat IP untuk mengakui koneksi pengindeks ke data.

Perlindungan jaringan yang didukung

Sumber daya Azure Anda dapat dilindungi menggunakan sejumlah mekanisme isolasi jaringan yang ditawarkan oleh Azure. Bergantung pada sumber daya dan wilayah, pengindeks Azure AI Search dapat membuat koneksi keluar melalui firewall IP dan titik akhir privat, tunduk pada batasan yang ditunjukkan dalam tabel berikut.

Sumber daya Batasan IP Titik akhir privat
Azure Storage untuk pengindeksan berbasis teks (blob, ADLS Gen 2, file, tabel) Didukung hanya jika akun penyimpanan dan layanan pencarian berada di wilayah yang berbeda. Didukung
Pengayaan Azure Storage untuk AI (penembolokan, sesi debug, penyimpanan pengetahuan) Didukung hanya jika akun penyimpanan dan layanan pencarian berada di wilayah yang berbeda. Didukung
Azure Cosmos DB for NoSQL Didukung Didukung
Azure Cosmos DB untuk MongoDB Didukung Tidak didukung
Azure Cosmos DB for Apache Gremlin Didukung Tidak didukung
Database Azure SQL Didukung Didukung
SQL Server di komputer virtual Azure Didukung T/A
Instans Terkelola SQL Didukung T/A
Azure Functions Didukung Didukung, hanya untuk tingkat tertentu dari fungsi Azure

Lingkungan eksekusi pengindeks

Azure AI Search memiliki konsep lingkungan eksekusi pengindeks yang mengoptimalkan pemrosesan berdasarkan karakteristik pekerjaan. Ada dua lingkungan. Jika Anda menggunakan firewall IP untuk mengontrol akses ke sumber daya Azure, mengetahui tentang lingkungan eksekusi akan membantu Anda menyiapkan rentang IP yang termasuk dalam kedua lingkungan.

Untuk eksekusi pengindeks tertentu, Azure AI Search menentukan lingkungan terbaik untuk menjalankan pengindeks. Bergantung pada jumlah dan jenis tugas yang ditetapkan, pengindeks akan berjalan di salah satu dari dua lingkungan.

Lingkungan eksekusi Deskripsi
Privat Internal ke layanan pencarian. Pengindeks yang berjalan di lingkungan privat berbagi sumber daya komputasi dengan beban kerja pengindeksan dan kueri lainnya pada layanan pencarian yang sama. Biasanya, hanya pengindeks yang melakukan pengindeksan berbasis teks (tanpa set keterampilan) yang berjalan di lingkungan ini. Jika Anda menyiapkan koneksi privat antara pengindeks dan data Anda, ini adalah satu-satunya enriovnment eksekusi yang dapat Anda gunakan.
multipenyewa Dikelola dan diamankan oleh Microsoft tanpa biaya tambahan. Ini tidak tunduk pada ketentuan jaringan apa pun di bawah kendali Anda. Lingkungan ini digunakan untuk melakukan offload pada pemrosesan komputasi yang intensif, sehingga sumber daya khusus layanan tersedia untuk operasi rutin. Contoh pekerjaan pengindeks intensif sumber daya termasuk melampirkan set keterampilan, memproses dokumen besar, atau memproses dokumen dalam jumlah besar.

Bagian berikut menjelaskan konfigurasi IP untuk mengakui permintaan dari salah satu lingkungan eksekusi.

Menyiapkan rentang IP untuk eksekusi pengindeks

Jika sumber daya Azure Anda berada di belakang firewall, siapkan aturan masuk yang mengakui koneksi pengindeks untuk semua IP tempat permintaan pengindeks dapat berasal. Ini termasuk alamat IP yang digunakan oleh layanan pencarian, dan alamat IP yang digunakan oleh lingkungan multipenyewa.

  • Untuk mendapatkan alamat IP layanan pencarian (dan lingkungan eksekusi privat), gunakan nslookup (atau ping) untuk menemukan nama domain yang sepenuhnya memenuhi syarat (FQDN) dari layanan pencarian Anda. FQDN layanan pencarian di cloud publik adalah <service-name>.search.windows.net.

  • Untuk mendapatkan alamat IP lingkungan multipenyewa tempat pengindeks dapat berjalan, gunakan AzureCognitiveSearch tag layanan.

    Tag layanan Azure memiliki rentang alamat IP yang diterbitkan dari lingkungan multipenyewa untuk setiap wilayah. Anda dapat menemukan IP ini menggunakan API penemuan atau file JSON yang dapat diunduh. Rentang IP dialokasikan menurut wilayah, jadi periksa wilayah layanan pencarian Anda sebelum Memulai.

Menyiapkan aturan IP untuk Azure SQL

Saat mengatur aturan IP untuk lingkungan multipenyewa, sumber data SQL tertentu mendukung pendekatan sederhana untuk spesifikasi alamat IP. Alih-alih menghitung semua alamat IP dalam aturan, Anda dapat membuat aturan Kelompok Keamanan Jaringan yang menentukan AzureCognitiveSearch tag layanan.

Anda dapat menentukan tag layanan jika sumber data Anda:

Perhatikan bahwa jika Anda menentukan tag layanan untuk aturan IP lingkungan multipenyewa, Anda masih memerlukan aturan masuk eksplisit untuk lingkungan eksekusi privat (yang berarti layanan pencarian itu sendiri), seperti yang diperoleh melalui nslookup.

Pilih pendekatan konektivitas

Layanan pencarian tidak dapat diprovisikan ke dalam jaringan virtual tertentu, berjalan secara asli di komputer virtual. Meskipun beberapa sumber daya Azure menawarkan titik akhir layanan jaringan virtual, fungsionalitas ini tidak akan ditawarkan oleh Azure AI Search. Anda harus berencana menerapkan salah satu pendekatan berikut.

Pendekatan Detail
Koneksi masuk ke sumber daya Azure Anda Konfigurasikan aturan firewall masuk pada sumber daya Azure Anda yang mengakui permintaan pengindeks untuk data Anda. Konfigurasi firewall Anda harus menyertakan tag layanan untuk eksekusi multipenyewa dan alamat IP layanan pencarian Anda.
Koneksi privat antara Azure AI Search dan sumber daya Azure Anda Konfigurasikan tautan privat bersama yang digunakan secara eksklusif oleh layanan pencarian Anda untuk koneksi ke sumber daya Anda. Koneksi perjalanan melalui jaringan internal dan melewati internet publik. Jika sumber daya Anda sepenuhnya dikunci (berjalan di jaringan virtual yang dilindungi, atau tidak tersedia melalui koneksi publik), titik akhir privat adalah satu-satunya pilihan Anda. Lihat Membuat koneksi keluar melalui titik akhir privat.

Koneksi melalui titik akhir privat harus berasal dari lingkungan eksekusi privat layanan pencarian.

Mengonfigurasi firewall IP gratis. Titik akhir privat, yang didasarkan pada Azure Private Link, memiliki dampak penagihan. Lihat Harga Azure Private Link untuk detailnya.

Setelah Mengonfigurasi keamanan jaringan, tindak lanjuti dengan penetapan peran yang menentukan pengguna dan grup mana yang telah membaca dan menulis akses ke data dan operasi Anda.

Pertimbangan untuk menggunakan titik akhir privat

Bagian ini mempersempit pada opsi koneksi privat.

  • Tautan privat bersama memerlukan layanan pencarian yang dapat ditagih, di mana tingkat minimumnya adalah Dasar untuk pengindeksan berbasis teks atau Standar 2 (S2) untuk pengindeksan berbasis keterampilan. Lihat batas tingkat pada jumlah titik akhir privat untuk detailnya.
  • Setelah tautan privat bersama dibuat, layanan pencarian selalu menggunakannya untuk setiap koneksi pengindeks ke sumber daya Azure tertentu. Koneksi privat dikunci dan diberlakukan secara internal. Anda tidak dapat melewati koneksi privat untuk koneksi publik.

  • Memerlukan sumber daya Azure Private Link yang dapat ditagih.

  • Mengharuskan pemilik langganan menyetujui koneksi titik akhir privat.

  • Mengharuskan Anda menonaktifkan lingkungan eksekusi multipenyewa untuk pengindeks.

    Anda melakukan ini dengan mengatur executionEnvironment pengindeks ke "Private". Langkah ini memastikan bahwa semua eksekusi pengindeks terbatas pada lingkungan privat yang disediakan dalam layanan pencarian. Pengaturan ini dilingkupkan ke pengindeks dan bukan layanan pencarian. Jika Anda ingin semua pengindeks terhubung melalui titik akhir privat, masing-masing pengindeks harus memiliki konfigurasi berikut:

        {
          "name" : "myindexer",
          ... other indexer properties
          "parameters" : {
              ... other parameters
              "configuration" : {
                ... other configuration properties
                "executionEnvironment": "Private"
              }
            }
        }
    

Setelah Anda memiliki titik akhir privat yang disetujui ke sumber daya, pengindeks yang diatur menjadi upaya privat untuk mendapatkan akses melalui tautan privat yang dibuat dan disetujui untuk sumber daya Azure.

Azure AI Search akan memvalidasi bahwa penelepon titik akhir privat memiliki penetapan peran yang sesuai. Misalnya, jika Anda meminta koneksi titik akhir privat ke akun penyimpanan dengan izin baca-saja, panggilan ini akan ditolak.

Jika titik akhir privat tidak disetujui, atau jika pengindeks tidak menggunakan koneksi titik akhir privat, Anda akan menemukan transientFailure pesan kesalahan dalam riwayat eksekusi pengindeks.

Melengkapi keamanan jaringan dengan autentikasi token

Firewall dan keamanan jaringan adalah langkah pertama dalam mencegah akses tidak sah ke data dan operasi. Otorisasi harus menjadi langkah Anda berikutnya.

Kami merekomendasikan akses berbasis peran, di mana pengguna dan grup ID Microsoft Entra ditetapkan ke peran yang menentukan akses baca dan tulis ke layanan Anda. Lihat Koneksi ke Azure AI Search menggunakan kontrol akses berbasis peran untuk deskripsi peran dan instruksi bawaan untuk membuat peran kustom.

Jika Anda tidak memerlukan autentikasi berbasis kunci, sebaiknya nonaktifkan kunci API dan gunakan penetapan peran secara eksklusif.

Akses ke akun penyimpanan yang dilindungi jaringan

Layanan pencarian menyimpan indeks dan daftar sinonim. Untuk fitur lain yang memerlukan penyimpanan, Azure AI Search mengambil dependensi pada Azure Storage. Penembolokan pengayaan, sesi debug, dan penyimpanan pengetahuan termasuk dalam kategori ini. Lokasi setiap layanan, dan perlindungan jaringan apa pun yang diberlakukan untuk penyimpanan, akan menentukan strategi akses data Anda.

Layanan wilayah yang sama

Di Azure Storage, akses melalui firewall mengharuskan permintaan berasal dari wilayah yang berbeda. Jika Azure Storage dan Azure AI Search berada di wilayah yang sama, Anda dapat melewati pembatasan IP pada akun penyimpanan dengan mengakses data di bawah identitas sistem layanan pencarian.

Ada dua opsi untuk mendukung akses data menggunakan identitas sistem:

  • Konfigurasikan pencarian untuk dijalankan sebagai layanan tepercaya dan gunakan pengecualian layanan tepercaya di Azure Storage.

  • Konfigurasikan aturan instans sumber daya di Azure Storage yang mengakui permintaan masuk dari sumber daya Azure.

Opsi di atas bergantung pada ID Microsoft Entra untuk autentikasi, yang berarti bahwa koneksi harus dibuat dengan login Microsoft Entra. Saat ini, hanya identitas terkelola yang ditetapkan sistem Azure AI Search yang didukung untuk koneksi wilayah yang sama melalui firewall.

Layanan di berbagai wilayah

Saat pencarian dan penyimpanan berada di wilayah yang berbeda, Anda dapat menggunakan opsi yang disebutkan sebelumnya atau menyiapkan aturan IP yang mengakui permintaan dari layanan Anda. Bergantung pada beban kerja, Anda mungkin perlu menyiapkan aturan untuk beberapa lingkungan eksekusi seperti yang dijelaskan di bagian berikutnya.

Langkah berikutnya

Sekarang setelah Anda terbiasa dengan opsi akses data pengindeks untuk solusi yang disebarkan di jaringan virtual Azure, tinjau salah satu artikel cara berikut sebagai langkah Anda berikutnya: