Azure Machine Learning praktik terbaik untuk keamanan perusahaan

Artikel ini menjelaskan praktik terbaik untuk merencanakan atau mengelola penyebaran Azure Machine Learning yang aman. Praktik terbaik berasal dari Microsoft dan pengalaman pelanggan dengan Azure Machine Learning. Setiap pedoman menjelaskan praktik dan alasannya. Artikel ini juga menyediakan tautan ke dokumentasi cara dan referensi.

Arsitektur keamanan jaringan pembelajaran mesin yang direkomendasikan adalah jaringan virtual terkelola. Jaringan virtual terkelola Azure Pembelajaran Mesin mengamankan ruang kerja, sumber daya Azure terkait, dan semua sumber daya komputasi terkelola. Ini menyederhanakan konfigurasi dan manajemen keamanan jaringan dengan mengonfigurasi output yang diperlukan sebelumnya dan secara otomatis membuat sumber daya terkelola dalam jaringan. Anda dapat menggunakan titik akhir privat untuk memungkinkan layanan Azure mengakses jaringan dan dapat secara opsional menentukan aturan keluar untuk memungkinkan jaringan mengakses internet.

Jaringan virtual terkelola memiliki dua mode yang dapat dikonfigurasi untuk:

  • Izinkan internet keluar - Mode ini memungkinkan komunikasi keluar dengan sumber daya yang terletak di internet, seperti repositori paket PyPi atau Anaconda publik.

    A diagram of the recommended architecture with the internet outbound mode.

  • Izinkan hanya keluar yang disetujui - Mode ini hanya memungkinkan komunikasi keluar minimum yang diperlukan agar ruang kerja berfungsi. Mode ini direkomendasikan untuk ruang kerja yang harus diisolasi dari internet. Atau di mana akses keluar hanya diizinkan untuk sumber daya tertentu melalui titik akhir layanan, tag layanan, atau nama domain yang sepenuhnya memenuhi syarat.

    A diagram of the recommended architecture with the only allowed outbound mode.

Untuk informasi selengkapnya, lihat Isolasi jaringan virtual terkelola.

Jika Anda tidak dapat menggunakan jaringan virtual terkelola karena persyaratan bisnis, Anda dapat menggunakan jaringan virtual Azure dengan subnet berikut:

  • Pelatihan berisi sumber daya komputasi yang digunakan untuk pelatihan, seperti instans komputasi pembelajaran mesin atau kluster komputasi.
  • Penskoran berisi sumber daya komputasi yang digunakan untuk penskoran, seperti Azure Kubernetes Service (AKS).
  • Firewall berisi firewall yang memungkinkan lalu lintas ke dan dari internet publik, seperti Azure Firewall.

A diagram of the recommended architecture when using Azure virtual network.

Jaringan virtual juga berisi titik akhir privat untuk ruang kerja pembelajaran mesin Anda dan layanan dependen berikut:

  • Akun Azure Storage
  • Azure Key Vault
  • Azure Container Registry

Komunikasi keluar dari jaringan virtual harus dapat mencapai layanan Microsoft berikut:

  • Pembelajaran Mesin
  • Microsoft Entra ID
  • Azure Container Registry, dan registri khusus yang dikelola Microsoft
  • Azure Front Door
  • Azure Resource Manager
  • Azure Storage

Klien jarak jauh terhubung ke jaringan virtual menggunakan Azure ExpressRoute atau koneksi jaringan privat virtual (VPN).

Rancangan jaringan virtual dan titik akhir privat

Saat merancang Azure Virtual Network, subnet, dan titik akhir privat, pertimbangkan persyaratan berikut:

  • Secara umum, buat subnet terpisah untuk pelatihan dan penilaian dan gunakan subnet pelatihan untuk semua titik akhir privat.

  • Untuk pembuatan alamat IP, instans komputasi memerlukan satu IP privat masing-masing. Kluster komputasi membutuhkan satu IP privat per node. Kluster AKS membutuhkan banyak alamat IP privat, seperti yang dijelaskan dalam Rencanakan pembuatan alamat IP untuk kluster AKS Anda. Subnet terpisah untuk setidaknya AKS membantu mencegah kelelahan alamat IP.

  • Sumber daya komputasi dalam subnet pelatihan dan penilaian harus mengakses akun penyimpanan, brankas kunci, dan registri kontainer. Buat titik akhir privat untuk akun penyimpanan, brankas kunci, dan registri kontainer.

  • Penyimpanan default ruang kerja pembelajaran mesin memerlukan dua titik akhir privat, satu untuk Azure Blob Storage dan satu lagi untuk Azure File Storage.

  • Jika Anda menggunakan studio Azure Pembelajaran Mesin, ruang kerja dan titik akhir privat penyimpanan harus berada di jaringan virtual yang sama.

  • Jika Anda memiliki beberapa ruang kerja, gunakan jaringan virtual untuk setiap ruang kerja untuk membuat batas jaringan eksplisit antar ruang kerja.

Menggunakan alamat IP privat

Alamat IP privat meminimalkan paparan sumber daya Azure Anda ke internet. Pembelajaran mesin menggunakan banyak sumber daya Azure, dan titik akhir privat ruang kerja pembelajaran mesin tidak cukup untuk IP privat end-to-end. Tabel berikut menunjukkan sumber daya utama yang digunakan pembelajaran mesin dan cara mengaktifkan IP privat untuk sumber daya. Instans komputasi dan kluster komputasi adalah satu-satunya sumber daya yang tidak memiliki fitur IP privat.

Sumber Solusi IP privat Dokumentasi
Ruang kerja Titik akhir privat Mengonfigurasi ruang kerja Azure Machine Learning dengan titik akhir privat
Registri Titik akhir privat Isolasi jaringan dengan registri Azure Pembelajaran Mesin
Sumber daya terkait
Penyimpanan Titik akhir privat Mengamankan akun Azure Storage dengan titik akhir layanan
Key Vault Titik akhir privat Amankan Azure Key Vault
Container Registry Titik akhir privat Mengaktifkan Azure Container Registry
Sumber daya pelatihan
Hitung intance IP Privat (tanpa IP publik) Mengamankan lingkungan pelatihan
Kluster komputasi IP Privat (tanpa IP publik) Mengamankan lingkungan pelatihan
Sumber daya hosting
Titik akhir online terkelola Titik akhir privat Isolasi jaringan dengan titik akhir online terkelola
Titik akhir online (Kubernetes) Titik akhir privat Mengamankan titik akhir online Azure Kubernetes Service
Titik akhir batch IP Privat (diwarisi dari kluster komputasi) Isolasi jaringan dalam titik akhir batch

Mengontrol lalu lintas masuk dan keluar jaringan virtual

Gunakan firewall atau kelompok keamanan jaringan Azure (NSG) untuk mengontrol lalu lintas masuk dan keluar jaringan virtual. Untuk informasi selengkapnya tentang persyaratan masuk dan keluar, lihat Mengonfigurasi lalu lintas jaringan masuk dan keluar. Untuk informasi selengkapnya tentang arus lalu lintas antar komponen, lihat Arus lalu lintas jaringan di ruang kerja yang aman.

Memastikan akses ke ruang kerja Anda

Untuk memastikan bahwa titik akhir privat Anda dapat mengakses ruang kerja pembelajaran mesin Anda, lakukan langkah-langkah berikut:

  1. Pastikan Anda memiliki akses ke jaringan virtual menggunakan koneksi VPN, ExpressRoute, atau mesin virtual (VM) jump box dengan akses Azure Bastion. Pengguna publik tidak dapat mengakses ruang kerja pembelajaran mesin dengan titik akhir privat karena hanya dapat diakses dari jaringan virtual Anda. Untuk informasi selengkapnya, lihat Mengamankan ruang kerja Anda dengan jaringan virtual.

  2. Pastikan Anda dapat menyelesaikan nama domain yang sepenuhnya memenuhi syarat (FQDN) di ruang kerja dengan alamat IP privat Anda. Jika menggunakan server Sistem Nama Domain (DNS) Anda sendiri atau infrastruktur DNS terpusat, Anda perlu mengonfigurasi penerus DNS. Untuk informasi selengkapnya, lihat Cara menggunakan ruang kerja Anda dengan server DNS kustom.

Manajemen akses ruang kerja

Saat menentukan identitas pembelajaran mesin dan kontrol manajemen akses, Anda dapat memisahkan kontrol yang menentukan akses ke sumber daya Azure dari kontrol yang mengelola akses ke aset data. Bergantung pada kasus penggunaan Anda, pertimbangkan apakah akan menggunakan manajemen identitas dan akses layanan mandiri, data-sentris, atau proyek-sentris.

Pola layanan mandiri

Dalam pola layanan mandiri, ilmuwan data dapat membuat dan mengelola ruang kerja. Pola ini paling cocok untuk situasi bukti konsep yang membutuhkan fleksibilitas untuk mencoba konfigurasi yang berbeda. Kerugiannya adalah bahwa ilmuwan data membutuhkan keahlian untuk memprovisikan sumber daya Azure. Pendekatan ini kurang cocok ketika kontrol ketat, penggunaan sumber daya, jejak audit, dan akses data diperlukan.

  1. Tentukan kebijakan Azure untuk menetapkan perlindungan untuk provisi dan penggunaan sumber daya, seperti ukuran kluster yang diizinkan dan jenis mesin virtual.

  2. Buat grup sumber daya untuk menyimpan ruang kerja dan berikan peran Kontributor kepada ilmuwan data dalam grup sumber daya.

  3. Ilmuwan data sekarang dapat membuat ruang kerja dan menghubungkan sumber daya dalam grup sumber daya secara mandiri.

  4. Untuk mengakses penyimpanan data, buat identitas terkelola yang ditetapkan pengguna dan berikan identitas peran akses baca pada penyimpanan.

  5. Ketika ilmuwan data membuat sumber daya komputasi, mereka dapat menetapkan identitas terkelola ke instans komputasi untuk mendapatkan akses data.

Untuk praktik terbaik, lihat Autentikasi untuk analitik skala cloud.

Pola data-sentris

Dalam pola yang ber sentris data, ruang kerja milik satu ilmuwan data yang mungkin mengerjakan beberapa proyek. Keuntungan dari pendekatan ini adalah bahwa ilmuwan data dapat menggunakan kembali kode atau alur pelatihan di seluruh proyek. Selama ruang kerja terbatas pada satu pengguna, akses data dapat ditelusuri kembali ke pengguna tersebut saat mengaudit log penyimpanan.

Kerugiannya adalah bahwa akses data tidak dikompartmentalisasi atau dibatasi berdasarkan per proyek, dan setiap pengguna yang ditambahkan ke ruang kerja dapat mengakses aset yang sama.

  1. Membuat ruang kerja.

  2. Membuat sumber daya komputasi dengan identitas terkelola yang ditetapkan sistem diaktifkan.

  3. Ketika seorang ilmuwan data membutuhkan akses ke data untuk proyek tertentu, berikan akses baca identitas terkelola komputasi ke data.

  4. Berikan akses identitas terkelola komputasi ke sumber daya lain yang diperlukan, seperti registri kontainer dengan gambar Docker kustom untuk pelatihan.

  5. Berikan juga peran akses baca identitas terkelola ruang kerja pada data untuk mengaktifkan pratinjau data.

  6. Berikan akses ilmuwan data ke ruang kerja.

  7. Ilmuwan data sekarang dapat membuat penyimpanan data untuk mengakses data yang diperlukan untuk proyek dan mengirimkan eksekusi pelatihan yang menggunakan data.

Secara opsional, buat grup keamanan Microsoft Entra dan berikan akses baca ke data, lalu tambahkan identitas terkelola ke grup keamanan. Pendekatan ini mengurangi jumlah penetapan peran langsung pada sumber daya, untuk menghindari tercapainya batas langganan pada penetapan peran.

Pola proyek-sentris

Pola yang bersifat proyek-sentris menciptakan ruang kerja pembelajaran mesin untuk proyek tertentu, dan banyak dari ilmuwan data yang berkolaborasi dalam ruang kerja yang sama. Akses data terbatas pada proyek tertentu, sehingga pendekatan ini sangat cocok untuk bekerja dengan data yang sensitif. Selain itu, mudah untuk menambahkan atau menghapus ilmuwan data dari proyek.

Kelemahan dari pendekatan ini adalah kemungkinan sulitnya membagi aset di seluruh proyek. Selain itu, melacak akses data ke pengguna tertentu selama audit juga sulit.

  1. Membuat ruang kerja

  2. Identifikasi instans penyimpanan data yang diperlukan untuk proyek, buat identitas terkelola yang ditetapkan pengguna, dan berikan akses baca identitas ke penyimpanan.

    Secara opsional, berikan akses identitas terkelola ruang kerja ke penyimpanan data untuk mengizinkan pratinjau data. Anda dapat menghilangkan akses ini untuk data sensitif yang tidak cocok untuk pratinjau.

  3. Buat penyimpanan data tanpa kredensial untuk sumber daya penyimpanan.

  4. Buat sumber daya komputasi di dalam ruang kerja, dan tetapkan identitas terkelola ke sumber daya komputasi.

  5. Berikan akses identitas terkelola komputasi ke sumber daya lain yang diperlukan, seperti registri kontainer dengan gambar Docker kustom untuk pelatihan.

  6. Berikan peran di ruang kerja bagi ilmuwan data yang mengerjakan proyek.

    Dengan menggunakan kontrol akses berbasis peran (RBAC) Azure, Anda dapat membatasi ilmuwan data dari membuat penyimpanan data baru atau sumber daya komputasi baru dengan identitas terkelola yang berbeda. Praktik ini mencegah akses ke data yang tidak spesifik untuk proyek.

    Secara opsional, untuk menyederhanakan manajemen keanggotaan proyek, Anda dapat membuat grup keamanan Microsoft Entra untuk anggota proyek dan memberikan akses grup ke ruang kerja.

Azure Data Lake Storage dengan passthrough informasi masuk

Anda dapat menggunakan identitas pengguna Microsoft Entra untuk akses penyimpanan interaktif dari studio pembelajaran mesin. Data Lake Storage dengan namespace layanan hierarkis diaktifkan memungkinkan peningkatan organisasi aset data untuk penyimpanan dan kolaborasi. Dengan namespace layanan hierarkis Data Lake Storage, Anda dapat mengelompokkan akses data dengan memberikan akses berbasis daftar kontrol akses pengguna (ACL) yang berbeda ke berbagai folder dan file. Misalnya, Anda dapat memberikan akses ke data rahasia hanya untuk sebagian dari pengguna.

RBAC dan peran kustom

Azure RBAC membantu Anda mengelola siapa yang memiliki akses ke sumber daya pembelajaran mesin dan mengonfigurasi siapa yang dapat melakukan operasi. Misalnya, Anda mungkin ingin memberikan peran administrator ruang kerja untuk mengelola sumber daya komputasi ke pengguna tertentu saja.

Cakupan akses dapat berbeda antar lingkungan. Dalam lingkungan produksi, Anda mungkin ingin membatasi kemampuan pengguna untuk memperbarui titik akhir inferensi. Sebagai gantinya, Anda dapat memberikan izin itu kepada perwakilan layanan resmi.

Pembelajaran mesin memiliki beberapa peran default: pemilik, kontributor, pembaca, dan ilmuwan data. Anda juga dapat membuat peran kustom milik sendiri, misalnya untuk membuat izin yang mencerminkan struktur organisasi Anda. Untuk informasi selengkapnya, lihat Mengelola akses ke ruang kerja Azure Machine Learning.

Seiring waktu, komposisi tim Anda mungkin berubah. Jika Anda membuat grup Microsoft Entra untuk setiap peran tim dan ruang kerja, Anda dapat menetapkan peran Azure RBAC ke grup Microsoft Entra, dan mengelola akses sumber daya dan grup pengguna secara terpisah.

Perwakilan pengguna dan perwakilan layanan dapat menjadi bagian dari grup Microsoft Entra yang sama. Misalnya, saat Anda membuat identitas terkelola yang ditetapkan pengguna yang digunakan Azure Data Factory untuk memicu alur pembelajaran mesin, Anda mungkin menyertakan identitas terkelola dalam grup Microsoft Entra pelaksana alur ML.

Manajemen gambar Docker pusat

Azure Machine Learning menyediakan gambar Docker yang dikumpulkan yang dapat Anda gunakan untuk pelatihan dan penyebaran. Namun, persyaratan kepatuhan perusahaan Anda mungkin mengamanatkan penggunaan gambar dari repositori privat yang dikelola perusahaan Anda. Pembelajaran mesin memiliki dua cara untuk menggunakan repositori pusat:

  • Gunakan gambar dari repositori pusat sebagai gambar dasar. Manajemen lingkungan pembelajaran mesin menginstal paket dan membuat lingkungan Python tempat kode pelatihan atau inferensi berjalan. Dengan pendekatan ini, Anda dapat memperbarui dependensi paket dengan mudah tanpa memodifikasi gambar dasar.

  • Gunakan gambar apa adanya, tanpa menggunakan manajemen lingkungan pembelajaran mesin. Pendekatan ini memberi Anda tingkat kontrol yang lebih tinggi tetapi juga mengharuskan Anda untuk membangun lingkungan Python dengan hati-hati sebagai bagian dari gambar. Anda perlu memenuhi semua dependensi yang diperlukan untuk menjalankan kode, dan dependensi baru memerlukan pembangunan ulang gambar.

Untuk informasi selengkapnya, lihat Mengelola lingkungan.

Enkripsi data

Data pembelajaran mesin yang tidak aktif memiliki dua sumber data:

  • Penyimpanan Anda memiliki semua data Anda, termasuk data pelatihan dan model terlatih, kecuali untuk metadata. Tanggung jawab atas enkripsi penyimpanan berada di tangan Anda.

  • Azure Cosmos DB berisi metadata Anda, termasuk menjalankan informasi riwayat seperti nama eksperimen serta tanggal dan waktu pengiriman eksperimen. Di sebagian besar ruang kerja, Azure Cosmos DB berada dalam langganan Microsoft dan dienkripsi oleh kunci yang dikelola Microsoft.

    Jika Anda ingin mengenkripsi metadata menggunakan kunci Anda sendiri, Anda dapat menggunakan ruang kerja kunci yang dikelola pelanggan. Kelemahannya adalah Anda harus memiliki Azure Cosmos DB di langganan Anda dan membayar biayanya. Untuk informasi selengkapnya, lihat Enkripsi data dengan Azure Machine Learning.

Untuk informasi tentang cara Azure Machine Learning mengenkripsi data saat transit, lihat Enkripsi saat transit.

Pemantauan

Saat Anda menyebarkan sumber daya pembelajaran mesin, siapkan kontrol pengelogan dan audit agar dapat diamati. Motivasi untuk mengamati data mungkin bervariasi berdasarkan siapa yang melihat data. Skenario ini meliputi:

  • Praktisi pembelajaran mesin atau tim operasi ingin memantau kesehatan alur pembelajaran mesin. Pengamat ini perlu memahami masalah dalam eksekusi terjadwal atau masalah dengan kualitas data atau performa pelatihan yang diharapkan. Anda dapat membuat dasbor Azure yang memantau data Azure Pembelajaran Mesin atau membuat alur kerja berbasis peristiwa.

  • Manajer kapasitas, praktisi pembelajaran mesin, atau tim operasi mungkin ingin membuat dasbor untuk mengamati pemanfaatan komputasi dan kuota. Untuk mengelola penyebaran dengan beberapa ruang kerja Azure Machine Learning, pertimbangkan untuk membuat dasbor pusat untuk memahami pemanfaatan kuota. Kuota dikelola pada tingkat langganan, sehingga tampilan keseluruhan lingkungan bersifat penting untuk mendorong optimalisasi.

  • Tim IT dan operasi dapat menyiapkan pembuatan log diagnostik untuk mengaudit akses sumber daya dan mengubah peristiwa di ruang kerja.

  • Pertimbangkan untuk membuat dasbor yang memantau kesehatan infrastruktur secara keseluruhan untuk pembelajaran mesin dan sumber daya dependen seperti penyimpanan. Misalnya, menggabungkan metrik Azure Storage dengan data eksekusi alur dapat membantu Anda mengoptimalkan infrastruktur untuk performa yang lebih baik atau menemukan akar masalah penyebabnya.

Azure mengumpulkan dan menyimpan metrik platform dan log aktivitas secara otomatis. Anda dapat merutekan data ke lokasi lain dengan menggunakan pengaturan diagnostik. Siapkan pembuatan log diagnostik ke ruang kerja Analitik Log terpusat untuk pengamatan di beberapa instans ruang kerja. Gunakan Azure Policy untuk menyiapkan pengelogan untuk ruang kerja pembelajaran mesin baru secara otomatis ke ruang kerja Analitik Log pusat ini.

Kebijakan Azure

Anda dapat menerapkan dan mengaudit penggunaan fitur keamanan di ruang kerja melalui Azure Policy. Rekomendasi meliputi:

  • Terapkan enkripsi kunci yang dikelola secara kustom.
  • Terapkan Azure Private Link dan titik akhir privat.
  • Menerapkan zona DNS privat.
  • Nonaktifkan autentikasi non-Azure AD, seperti Secure Shell (SSH).

Untuk informasi selengkapnya, lihat Definisi kebijakan bawaan untuk Azure Machine Learning.

Anda juga dapat menggunakan definisi kebijakan kustom untuk mengatur keamanan ruang kerja secara fleksibel.

Kluster dan instans komputasi

Pertimbangan dan rekomendasi berikut berlaku untuk kluster dan instans komputasi pembelajaran mesin.

Enkripsi disk

Disk sistem operasi (OS) untuk instans komputasi atau node kluster komputasi disimpan di Azure Storage dan dienkripsi dengan kunci yang dikelola Microsoft. Setiap node juga memiliki disk sementara lokal. Disk sementara juga dienkripsi dengan kunci yang dikelola Microsoft jika ruang kerja dibuat dengan hbi_workspace = True parameter . Untuk informasi selengkapnya, lihat Enkripsi data dengan Azure Machine Learning.

Identitas Terkelola

Dukungan kluster komputasi menggunakan identitas terkelola untuk mengautentikasi ke sumber daya Azure. Menggunakan identitas terkelola untuk kluster memungkinkan autentikasi ke sumber daya tanpa mengekspos informasi masuk dalam kode Anda. Untuk informasi selengkapnya, lihat Membuat kluster komputasi Azure Machine Learning.

Skrip penyiapan

Anda dapat menggunakan skrip penyiapan untuk mengotomatiskan kustomisasi dan konfigurasi instans komputasi saat pembuatan. Sebagai administrator, Anda dapat menulis skrip kustomisasi untuk digunakan saat membuat semua instans komputasi di ruang kerja. Anda dapat menggunakan Azure Policy untuk memberlakukan penggunaan skrip penyiapan untuk membuat setiap instans komputasi. Untuk informasi selengkapnya, lihat Membuat dan mengelola instans komputasi Azure Machine Learning.

Buat atas nama

Jika Anda tidak ingin ilmuwan data menyediakan sumber daya komputasi, Anda dapat membuat instans komputasi atas nama mereka dan menetapkannya ke ilmuwan data. Untuk informasi selengkapnya, lihat Membuat dan mengelola instans komputasi Azure Machine Learning.

Ruang kerja yang mengaktifkan titik akhir privat

Gunakan instans komputasi dengan ruang kerja yang mengaktifkan titik akhir privat. Instans komputasi menolak semua akses publik dari luar jaringan virtual. Konfigurasi ini juga mencegah pemfilteran paket.

Dukungan Azure Policy

Saat menggunakan jaringan virtual Azure, Anda dapat menggunakan Azure Policy untuk memastikan bahwa setiap kluster atau instans komputasi dibuat di jaringan virtual dan menentukan jaringan virtual dan subnet default. Kebijakan tidak diperlukan saat menggunakan jaringan virtual terkelola, karena sumber daya komputasi secara otomatis dibuat di jaringan virtual terkelola.

Anda juga dapat menggunakan kebijakan untuk menonaktifkan autentikasi non-Azure AD, seperti SSH.

Langkah berikutnya

Pelajari selengkapnya tentang konfigurasi keamanan pembelajaran mesin:

Mulai menggunakan penyebaran berbasis templat pembelajaran mesin:

Baca artikel selengkapnya tentang pertimbangan arsitektur untuk menyebarkan pembelajaran mesin: