Gambaran umum keamanan untuk Azure AI Search
Artikel ini menjelaskan fitur keamanan di Azure AI Search yang melindungi data dan operasi.
Aliran data (pola lalu lintas jaringan)
Azure AI layanan Pencarian dihosting di Azure dan biasanya diakses oleh aplikasi klien melalui koneksi jaringan publik. Meskipun pola itu dominan, itu bukan satu-satunya pola lalu lintas yang perlu Anda pedulikan. Memahami semua titik masuk serta lalu lintas keluar diperlukan latar belakang untuk mengamankan lingkungan pengembangan dan produksi Anda.
Azure AI Search memiliki tiga pola lalu lintas jaringan dasar:
- Permintaan masuk yang dibuat oleh pengguna atau klien ke layanan pencarian (pola yang dominan)
- Permintaan keluar yang dikeluarkan oleh layanan pencarian ke layanan lain di Azure dan di tempat lain
- Permintaan layanan-ke-layanan internal melalui jaringan backbone Microsoft yang aman
Lalu Lintas Masuk
Permintaan masuk yang menargetkan titik akhir layanan pencarian meliputi:
- Membuat, membaca, memperbarui, atau menghapus indeks dan objek lain pada layanan pencarian
- Memuat indeks dengan dokumen pencarian
- Mengkueri indeks
- Memicu pengindeks atau eksekusi skillset
REST API menjelaskan berbagai permintaan masuk yang ditangani oleh layanan pencarian.
Minimal, semua permintaan masuk harus diautentikasi menggunakan salah satu opsi ini:
- Autentikasi berbasis kunci (default). Permintaan masuk menyediakan kunci API yang valid.
- Kontrol akses berbasis peran. Otorisasi melalui identitas Microsoft Entra dan penetapan peran pada layanan pencarian Anda.
Selain itu, Anda dapat menambahkan fitur keamanan jaringan untuk membatasi akses lebih lanjut ke titik akhir. Anda dapat membuat aturan masuk di firewall IP, atau membuat titik akhir privat yang sepenuhnya melindungi layanan pencarian Anda dari internet publik.
lalu lintas Internal
Permintaan internal diamankan dan dikelola oleh Microsoft. Anda tidak dapat mengonfigurasi atau mengontrol koneksi ini. Jika Anda mengunci akses jaringan, tidak ada tindakan pada bagian Anda yang diperlukan karena lalu lintas internal tidak dapat dikonfigurasi pelanggan.
Lalu lintas internal terdiri dari:
- Panggilan layanan ke layanan untuk tugas seperti autentikasi dan otorisasi melalui ID Microsoft Entra, pengelogan sumber daya yang dikirim ke Azure Monitor, dan koneksi titik akhir privat yang menggunakan Azure Private Link.
- Permintaan yang dibuat ke API layanan Azure AI untuk keterampilan bawaan
- Permintaan yang dibuat untuk model pembelajaran mesin yang mendukung peringkat semantik.
Lalu lintas keluar
Permintaan keluar dapat diamankan dan dikelola oleh Anda. Permintaan keluar berasal dari layanan pencarian ke aplikasi lain. Permintaan ini biasanya dibuat oleh pengindeks untuk pengindeksan berbasis teks, pengayaan AI berbasis keterampilan kustom, dan vektorisasi pada waktu kueri. Permintaan keluar mencakup operasi baca dan tulis.
Daftar berikut adalah enumerasi lengkap permintaan keluar yang dapat Anda konfigurasikan koneksi amannya. Layanan pencarian membuat permintaan atas nama sendiri, dan atas nama pengindeks atau keterampilan kustom.
Operasi | Skenario |
---|---|
Pengindeks | Sambungkan ke sumber data eksternal untuk mengambil data. Untuk informasi selengkapnya, lihat Akses pengindeks ke konten yang dilindungi oleh keamanan jaringan Azure. |
Pengindeks | Sambungkan ke Azure Storage untuk mempertahankan penyimpanan pengetahuan, pengayaan cache, sesi debug. |
Keterampilan kustom | Sambungkan ke fungsi Azure, aplikasi web Azure, atau aplikasi lain yang menjalankan kode eksternal yang dihosting di luar layanan. Permintaan pemrosesan eksternal dikirim selama eksekusi skillset. |
Pengindeks dan vektorisasi terintegrasi | Sambungkan ke Azure OpenAI dan model penyematan yang disebarkan, atau melalui keterampilan kustom untuk terhubung ke model penyematan yang Anda sediakan. Layanan pencarian mengirim teks ke model penyematan untuk vektorisasi selama pengindeksan. |
Vektorizer | Sambungkan ke Azure OpenAI atau model penyematan lainnya pada waktu kueri untuk mengonversi string teks pengguna ke vektor untuk pencarian vektor. |
Layanan Pencarian | Sambungkan ke Azure Key Vault untuk kunci enkripsi yang dikelola pelanggan yang digunakan untuk mengenkripsi dan mendekripsi data sensitif. |
Koneksi keluar dapat dibuat menggunakan string koneksi akses penuh sumber daya yang menyertakan kunci atau login database, atau identitas terkelola jika Anda menggunakan ID Microsoft Entra dan akses berbasis peran.
Untuk menjangkau sumber daya Azure di belakang firewall, buat aturan masuk pada sumber daya Azure lain yang mengakui permintaan layanan pencarian.
Untuk menjangkau sumber daya Azure yang dilindungi oleh Azure Private Link, buat tautan privat bersama yang digunakan pengindeks untuk membuat koneksinya.
Pengecualian untuk layanan pencarian dan penyimpanan wilayah yang sama
Jika Azure Storage dan Azure AI Search berada di wilayah yang sama, lalu lintas jaringan dirutekan melalui alamat IP privat dan terjadi melalui jaringan backbone Microsoft. Karena alamat IP privat digunakan, Anda tidak dapat mengonfigurasi firewall IP atau titik akhir privat untuk keamanan jaringan.
Konfigurasikan koneksi wilayah yang sama menggunakan salah satu pendekatan berikut:
Keamanan jaringan
Keamanan jaringan melindungi sumber daya dari akses atau serangan yang tidak sah dengan menerapkan kontrol ke lalu lintas jaringan. Azure AI Search mendukung fitur jaringan yang dapat menjadi garis depan pertahanan Anda terhadap akses yang tidak sah.
Koneksi masuk melalui firewall IP
Layanan pencarian disediakan dengan titik akhir publik yang memungkinkan akses menggunakan alamat IP publik. Untuk membatasi lalu lintas mana yang datang melalui titik akhir publik, buat aturan firewall masuk yang mengakui permintaan dari alamat IP tertentu atau rentang alamat IP. Semua koneksi klien harus dilakukan melalui alamat IP yang diizinkan, atau koneksi ditolak.
Anda dapat menggunakan portal untuk mengonfigurasi akses firewall.
Atau, Anda dapat menggunakan REST API manajemen. Dimulai dengan API versi 2020-03-13, dengan parameter IpRule, Anda dapat membatasi akses ke layanan Anda dengan mengidentifikasi alamat IP, secara individual atau dalam rentang, yang ingin Anda beri akses ke layanan pencarian Anda.
Koneksi masuk ke titik akhir privat (isolasi jaringan, tidak ada lalu lintas Internet)
Untuk keamanan yang lebih ketat, Anda dapat membuat titik akhir privat untuk Azure AI Search memungkinkan klien di jaringan virtual mengakses data dengan aman dalam indeks pencarian melalui Private Link.
Titik akhir privat menggunakan alamat IP dari ruang alamat jaringan virtual untuk koneksi ke layanan pencarian Anda. Lalu lintas jaringan antara klien dan layanan penelusuran melintasi jaringan virtual dan tautan privat di jaringan backbone Microsoft, menghilangkan paparan dari internet publik. Jaringan virtual memungkinkan komunikasi yang aman di antara sumber daya, dengan jaringan lokal Anda serta Internet.
Meskipun solusi ini adalah yang paling aman, menggunakan lebih banyak layanan adalah biaya tambahan, jadi pastikan Anda memiliki pemahaman yang jelas tentang manfaat sebelum menyelam. Untuk informasi selengkapnya tentang biaya, lihat halaman harga. Untuk informasi selengkapnya tentang cara komponen-komponen ini bekerja sama, tonton video ini. Cakupan opsi titik akhir privat dimulai pada pukul 5:48 ke dalam video. Untuk petunjuk tentang cara menyiapkan titik akhir, lihat Membuat Titik Akhir Privat untuk Pencarian Azure AI.
Autentikasi
Setelah permintaan dimasukkan ke layanan pencarian, permintaan masih harus menjalani autentikasi dan otorisasi yang menentukan apakah permintaan diizinkan. Azure AI Search mendukung dua pendekatan:
Autentikasi Microsoft Entra menetapkan pemanggil (dan bukan permintaan) sebagai identitas yang diautentikasi. Penetapan peran Azure menentukan otorisasi.
Autentikasi berbasis kunci dilakukan pada permintaan (bukan aplikasi panggilan atau pengguna) melalui kunci API, di mana kunci adalah string yang terdiri dari angka dan huruf yang dihasilkan secara acak yang membuktikan permintaan berasal dari sumber yang dapat dipercaya. Kunci diperlukan pada setiap permintaan. Penyerahan kunci yang valid dianggap sebagai bukti bahwa permintaan berasal dari entitas tepercaya.
Anda dapat menggunakan kedua metode autentikasi, atau menonaktifkan pendekatan yang tidak Anda inginkan tersedia di layanan pencarian Anda.
Authorization
Azure AI Search menyediakan model otorisasi untuk manajemen layanan dan manajemen konten.
Mengotorisasi manajemen layanan
Manajemen sumber daya diotorisasi melalui kontrol akses berbasis peran di penyewa Microsoft Entra Anda.
Di Azure AI Search, Resource Manager digunakan untuk membuat atau menghapus layanan, mengelola kunci API, menskalakan layanan, dan mengonfigurasi keamanan. Dengan demikian, penetapan peran Azure akan menentukan siapa yang dapat melakukan tugas tersebut, terlepas dari apakah mereka menggunakan portal, PowerShell, atau API REST Manajemen.
Tiga peran dasar (Pemilik, Kontributor, Pembaca) berlaku untuk administrasi layanan pencarian. Penetapan peran dapat dibuat menggunakan metodologi yang didukung (portal, PowerShell, dan sebagainya) dan dihormati di seluruh layanan.
Catatan
Dengan menggunakan mekanisme di seluruh Azure, Anda dapat mengunci langganan atau sumber daya untuk mencegah penghapusan layanan pencarian Anda secara tidak disengaja atau tidak sah oleh pengguna dengan hak admin. Untuk informasi selengkapnya, lihat Mengunci sumber daya untuk mencegah penghapusan yang tidak terduga.
Mengotorisasi akses ke konten
Manajemen konten mengacu pada objek yang dibuat dan dihosting pada layanan pencarian.
Untuk otorisasi berbasis peran, gunakan penetapan peran Azure untuk membuat akses baca-tulis ke operasi.
Untuk otorisasi berbasis kunci, kunci API dan titik akhir yang memenuhi syarat menentukan akses. Titik akhir mungkin adalah layanan itu sendiri, kumpulan indeks, indeks tertentu, kumpulan dokumen, atau dokumen tertentu. Saat dirangkai bersama-sama, titik akhir, operasi (misalnya, permintaan buat) dan jenis kunci (admin atau kueri) mengotorisasi akses ke konten dan operasi.
Membatasi akses ke indeks
Dengan menggunakan peran Azure, Anda dapat mengatur izin pada indeks individual selama dilakukan secara terprogram.
Dengan menggunakan kunci, siapa pun dengan kunci admin ke layanan Anda dapat membaca, memodifikasi, atau menghapus indeks apa pun dalam layanan yang sama. Untuk perlindungan terhadap penghapusan indeks yang tidak disengaja atau berbahaya, kontrol sumber internal Anda untuk aset kode adalah solusi untuk membalikkan penghapusan atau modifikasi indeks yang tidak diinginkan. Azure AI Search memiliki failover dalam kluster untuk memastikan ketersediaan, tetapi tidak menyimpan atau menjalankan kode kepemilikan Anda yang digunakan untuk membuat atau memuat indeks.
Untuk solusi multitenansi yang memerlukan batas keamanan di tingkat indeks, umumnya untuk menangani isolasi indeks di tingkat tengah dalam kode aplikasi Anda. Untuk informasi selengkapnya tentang kasus penggunaan multipenyewa, lihat Pola desain untuk aplikasi SaaS multipenyewa dan Azure AI Search.
Membatasi akses ke dokumen
Izin pengguna di tingkat dokumen, juga dikenal sebagai keamanan tingkat baris, tidak didukung secara asli di Azure AI Search. Jika Anda mengimpor data dari sistem eksternal yang menyediakan keamanan tingkat baris, seperti Azure Cosmos DB, izin tersebut tidak akan ditransfer dengan data karena sedang diindeks oleh Azure AI Search.
Jika Anda memerlukan akses izin atas konten dalam hasil pencarian, ada teknik untuk menerapkan filter yang menyertakan atau mengecualikan dokumen berdasarkan identitas pengguna. Solusi ini menambahkan bidang string di sumber data yang mewakili grup atau identitas pengguna, yang dapat Anda buat dapat difilter dalam indeks Anda. Untuk informasi selengkapnya tentang pola ini, lihat Pemangkasan keamanan berdasarkan filter identitas.
Residensi data
Saat menyiapkan layanan pencarian, Anda memilih wilayah yang menentukan tempat data pelanggan disimpan dan diproses. Setiap wilayah ada dalam geografi (Geo) yang sering mencakup beberapa wilayah (misalnya, Swiss adalah Geo yang berisi Swiss Utara dan Swiss Barat). Pencarian Azure AI mungkin mereplikasi data Anda ke wilayah lain dalam Geo yang sama untuk durabilitas dan ketersediaan tinggi. Layanan ini tidak akan menyimpan atau memproses data pelanggan di luar Geo yang Ditentukan kecuali Anda mengonfigurasi fitur yang memiliki dependensi pada sumber daya Azure lain, dan sumber daya tersebut disediakan di wilayah yang berbeda.
Saat ini, satu-satunya sumber daya eksternal yang ditulis layanan pencarian adalah Azure Storage. Akun penyimpanan adalah akun yang Anda sediakan, dan dapat berada di wilayah mana pun. Layanan pencarian menulis ke Azure Storage jika Anda menggunakan salah satu fitur berikut:
Untuk informasi selengkapnya tentang residensi data, lihat residensi data di Azure.
Pengecualian untuk komitmen residensi data
Nama objek muncul di log telemetri yang digunakan oleh Microsoft untuk memberikan dukungan untuk layanan. Nama objek disimpan dan diproses di luar wilayah atau lokasi yang Anda pilih. Nama objek mencakup nama indeks dan bidang indeks, alias, pengindeks, sumber data, set keterampilan, peta sinonim, sumber daya, kontainer, dan penyimpanan brankas kunci. Pelanggan tidak boleh menempatkan data sensitif apa pun dalam bidang nama atau membuat aplikasi yang dirancang untuk menyimpan data sensitif di bidang ini.
Log telemetri disimpan selama satu setengah tahun. Selama periode tersebut, Microsoft mungkin mengakses dan mereferensikan nama objek dalam kondisi berikut:
Mendiagnosis masalah, meningkatkan fitur, atau memperbaiki bug. Dalam skenario ini, akses data hanya bersifat internal, tanpa akses pihak ketiga.
Selama dukungan, informasi ini dapat digunakan untuk memberikan resolusi cepat untuk masalah dan meningkatkan tim produk jika diperlukan
Perlindungan data
Pada lapisan penyimpanan, enkripsi data dibangun untuk semua konten yang dikelola layanan yang disimpan ke disk, termasuk indeks, peta sinonim, dan definisi pengindeks, sumber data, dan keterampilan. Enkripsi yang dikelola layanan berlaku untuk penyimpanan data jangka panjang dan penyimpanan data sementara.
Secara opsional, Anda dapat menambahkan kunci yang dikelola pelanggan (CMK) untuk enkripsi tambahan konten terindeks untuk enkripsi ganda data tidak aktif. Untuk layanan yang dibuat setelah 1 Agustus 2020, enkripsi CMK diperluas ke data jangka pendek pada disk sementara.
Data saat transit
Untuk koneksi layanan pencarian melalui internet publik, Azure AI Search mendengarkan di port HTTPS 443.
Azure AI Search mendukung TLS 1.2 dan 1.3 untuk enkripsi saluran klien-ke-layanan:
- TLS 1.3 adalah default pada sistem operasi klien yang lebih baru dan versi .NET.
- TLS 1.2 adalah default pada sistem yang lebih lama, tetapi Anda dapat secara eksplisit mengatur TLS 1.3 pada permintaan klien.
Versi TLS (1.0 atau 1.1) yang lebih lama tidak didukung.
Untuk informasi selengkapnya, lihat dukungan TLS di .NET Framework.
Data tidak aktif
Untuk data yang ditangani secara internal oleh layanan pencarian, tabel berikut ini menjelaskan model enkripsi data. Beberapa fitur, seperti penyimpanan pengetahuan, pengayaan tambahan, dan pengindeksan berbasis pengindeks, baca dari atau tulis ke struktur data di Layanan Azure lainnya. Layanan yang memiliki dependensi pada Azure Storage dapat menggunakan fitur enkripsi teknologi tersebut.
Model | Kunci | Persyaratan | Batasan | Berlaku untuk |
---|---|---|---|---|
enkripsi sisi server | Kunci yang dikelola Microsoft | Tidak ada (bawaan) | Tidak ada, tersedia di semua tingkatan, di semua wilayah, untuk konten yang dibuat setelah 24 Januari 2018. | Konten (indeks dan peta sinonim) dan definisi (pengindeks, sumber data, set keterampilan), pada disk data dan disk sementara |
enkripsi sisi server | kunci yang dikelola pelanggan | Azure Key Vault | Tersedia di tingkat yang dapat ditagih, di wilayah tertentu, untuk konten yang dibuat setelah 1 Agustus 2020. | Konten (indeks dan peta sinonim) pada disk data |
enkripsi penuh sisi server | kunci yang dikelola pelanggan | Azure Key Vault | Tersedia di tingkat yang dapat ditagih, di semua wilayah, pada layanan pencarian setelah 13 Mei 2021. | Konten (indeks dan peta sinonim) pada disk data dan disk sementara |
Kunci yang dikelola layanan
Enkripsi yang dikelola layanan adalah operasi internal Microsoft yang menggunakan enkripsi AES 256-bit. Ini terjadi secara otomatis pada semua pengindeksan, termasuk pada pembaruan bertahap untuk indeks yang tidak sepenuhnya dienkripsi (dibuat sebelum Januari 2018).
Enkripsi yang dikelola layanan berlaku untuk semua konten pada penyimpanan jangka panjang dan jangka pendek.
Kunci yang dikelola Pelanggan (CMK)
Kunci yang dikelola pelanggan memerlukan layanan lain yang dapat ditagih, Azure Key Vault, yang dapat berada di wilayah yang berbeda, tetapi di bawah langganan yang sama, seperti Pencarian Azure AI.
Dukungan CMK diluncurkan dalam dua fase. Jika Anda membuat layanan pencarian selama fase pertama, enkripsi CMK dibatasi untuk penyimpanan jangka panjang dan wilayah tertentu. Layanan yang dibuat pada fase kedua, setelah Mei 2021, dapat menggunakan enkripsi CMK di wilayah mana pun. Sebagai bagian dari peluncuran gelombang kedua, konten dienkripsi CMK pada penyimpanan jangka panjang dan jangka pendek. Untuk informasi selengkapnya tentang dukungan CMK, lihat enkripsi ganda penuh.
Mengaktifkan enkripsi CMK akan meningkatkan ukuran indeks dan menurunkan kinerja kueri. Berdasarkan pengamatan hingga saat ini, Anda dapat mengharapkan untuk melihat peningkatan 30-60 persen dalam waktu kueri, meskipun performa aktual akan bervariasi tergantung pada definisi indeks dan jenis kueri. Karena dampak performa negatif, kami sarankan Anda hanya mengaktifkan fitur ini pada indeks yang benar-benar memerlukannya. Untuk informasi selengkapnya, lihat Mengonfigurasi kunci enkripsi yang dikelola pelanggan di Azure AI Search.
Administrasi keamanan
Mengelola kunci API
Mengandalkan autentikasi berbasis kunci API berarti Anda harus memiliki rencana untuk meregenerasi kunci admin secara berkala, per praktik terbaik keamanan Azure. Ada maksimal dua kunci admin per layanan pencarian. Untuk informasi selengkapnya tentang mengamankan dan mengelola kunci API, lihat Membuat dan mengelola kunci API.
Log aktivitas dan sumber daya
Pencarian Azure AI tidak mencatat identitas pengguna sehingga Anda tidak dapat merujuk ke log untuk informasi tentang pengguna tertentu. Namun, layanan ini mencatat operasi buat-baca-perbarui-hapus, yang mungkin dapat Anda korelasikan dengan log lain untuk memahami agensi tindakan tertentu.
Menggunakan pemberitahuan dan infrastruktur pembuatan log di Azure, Anda dapat mengambil lonjakan volume kueri atau tindakan lain yang menyimpang dari beban kerja yang diharapkan. Untuk informasi selengkapnya tentang menyiapkan log, lihat Mengumpulkan dan menganalisis data log dan Memantau permintaan kueri.
Sertifikasi dan kepatuhan
Azure AI Search berpartisipasi dalam audit reguler, dan telah disertifikasi terhadap banyak standar global, regional, dan khusus industri untuk cloud publik dan Azure Government. Untuk daftar lengkapnya, unduh laporan resmi Penawaran Kepatuhan Microsoft Azure dari halaman laporan Audit resmi.
Untuk kepatuhan, Anda dapat menggunakan Azure Policy untuk menerapkan praktik terbaik keamanan tinggi dari tolok ukur keamanan cloud Microsoft. Tolok ukur keamanan cloud Microsoft adalah kumpulan rekomendasi keamanan, dikodifikasi ke dalam kontrol keamanan yang memetakan ke tindakan utama yang harus Anda ambil untuk mengurangi ancaman terhadap layanan dan data. Saat ini ada 12 kontrol keamanan, termasuk Keamanan Jaringan, Pengelogan dan Pemantauan, dan Perlindungan Data.
Azure Policy adalah kemampuan bawaan Azure yang membantu Anda mengelola kepatuhan untuk beberapa standar, termasuk tolok ukur keamanan cloud Microsoft. Untuk tolok ukur terkenal, Azure Policy menyediakan definisi bawaan yang memberikan kriteria dan respons yang dapat ditindaklanjuti yang mengatasi ketidakpatuhatan.
Untuk Pencarian Azure AI, saat ini ada satu definisi bawaan. Ini untuk pengelogan sumber daya. Anda dapat menetapkan kebijakan yang mengidentifikasi layanan pencarian yang kehilangan pengelogan sumber daya, lalu mengaktifkannya. Untuk informasi selengkapnya, lihat Kontrol Kepatuhan Terhadap Peraturan Azure Policy untuk Pencarian Azure AI.
Tonton video ini
Tonton video serba cepat ini untuk mendapatkan gambaran umum arsitektur keamanan dan setiap kategori fitur.