Isolasi jaringan dengan registri Pembelajaran Mesin Azure

Dalam artikel ini, Anda belajar mengamankan registri Azure Machine Learning menggunakan Microsoft Azure Virtual Network dan titik akhir privat.

Titik akhir privat di Azure menyediakan isolasi jaringan dengan memungkinkan layanan Azure diakses melalui alamat IP privat dalam jaringan virtual (VNet). VNet mengamankan koneksi antara sumber daya Azure dan mencegah paparan data sensitif ke internet publik.

Menggunakan isolasi jaringan dengan titik akhir privat mencegah lalu lintas jaringan melalui internet publik dan membawa layanan registri Azure Pembelajaran Mesin ke jaringan Virtual Anda. Semua lalu lintas jaringan terjadi melalui Azure Private Link saat titik akhir privat digunakan.

Prasyarat

Mengamankan registri Pembelajaran Mesin Azure

Catatan

Untuk kesederhanaan, artikel ini mengacu pada ruang kerja, sumber daya terkait, dan jaringan virtual tempat mereka menjadi bagian dari konfigurasi ruang kerja yang aman. Ini mengeksplorasi cara menambahkan registri Azure Machine Learning sebagai bagian dari konfigurasi yang ada.

Diagram berikut menunjukkan konfigurasi jaringan dasar dan bagaimana Azure Machine Learning Registry berperan. Jika Anda sudah menggunakan ruang kerja Azure Machine Learning dan memiliki konfigurasi ruang kerja yang aman di mana semua sumber daya adalah bagian dari jaringan virtual, Anda dapat membuat titik akhir privat dari jaringan virtual yang ada ke registri Azure Machine Learning dan sumber daya terkait (penyimpanan dan ACR).

Jika Anda tidak memiliki konfigurasi ruang kerja yang aman, Anda dapat membuatnya menggunakan artikel Membuat ruang kerja yang aman di portal Azure, templat Bicep, atau templat Terraform.

Diagram registri yang terhubung ke jaringan Virtual yang berisi ruang kerja dan sumber daya terkait menggunakan titik akhir privat.

Batasan

Jika Anda menggunakan registri Azure Machine Learning dengan isolasi jaringan, Anda dapat melihat aset model di studio Azure Machine Learning. Anda tidak dapat melihat jenis aset lainnya. Anda tidak dapat melakukan operasi apa pun pada registri atau aset Azure Machine Learning di bawahnya menggunakan studio. Gunakan Azure Machine Learning CLI atau SDK sebagai gantinya.

Skenario: konfigurasi ruang kerja aman dan registri Azure Pembelajaran Mesin bersifat publik

Bagian ini menjelaskan skenario dan konfigurasi jaringan yang diperlukan jika Anda memiliki konfigurasi ruang kerja yang aman tetapi menggunakan registri publik.

Membuat aset dalam registri dari file lokal

Identitas (misalnya, identitas pengguna Microsoft Entra milik Ilmuwan Data) yang digunakan untuk membuat aset dalam registri harus diberi peran Pengguna AzureML Registry, pemilik, atau kontributor dalam kontrol akses berbasis peran Azure. Untuk informasi selengkapnya, lihat artikel Mengelola akses ke Azure Pembelajaran Mesin.

Berbagi aset dari ruang kerja ke registri

Catatan

Berbagi komponen dari ruang kerja Azure Machine Learning ke registri Azure Machine Learning saat ini tidak didukung.

Karena perlindungan penyelundupan data, tidak dimungkinkan untuk berbagi aset dari ruang kerja yang aman ke registri publik jika akun penyimpanan yang berisi aset telah menonaktifkan akses publik. Untuk mengaktifkan berbagi aset dari ruang kerja ke registri:

  • Buka bagian Jaringan dari akun penyimpanan yang dilampirkan ke ruang kerja (dari tempat Anda ingin mengizinkan berbagi aset ke registri)
  • Atur Akses jaringan publik ke Diaktifkan dari jaringan virtual dan alamat IP yang dipilih
  • Gulir ke bawah dan buka bagian Instans sumber daya. Pilih Jenis sumber daya ke Microsoft.MachineLearningServices/registries dan atur Nama instans ke nama sumber daya registri Azure Machine Learning di mana Anda ingin mengaktifkan berbagi dari ruang kerja.
  • Pastikan untuk memeriksa pengaturan lainnya sesuai konfigurasi jaringan Anda.

Menggunakan aset dari registri di ruang kerja

Contoh operasi:

  • Kirim pekerjaan yang menggunakan aset dari registri.
  • Gunakan komponen dari registri dalam alur.
  • Gunakan lingkungan dari registri dalam komponen.

Menggunakan aset dari registri ke ruang kerja yang aman memerlukan konfigurasi akses keluar ke registri.

Menyebarkan model dari registri ke ruang kerja

Untuk menyebarkan model dari registri ke titik akhir online terkelola yang aman, penyebaran harus diatur egress_public_network_access=disabled. Azure Machine Learning membuat titik akhir privat yang diperlukan untuk registri selama penyebaran titik akhir. Untuk informasi selengkapnya, lihat Membuat titik akhir online terkelola yang aman.

Petunjuk / Saran

Pendekatan yang direkomendasikan untuk mengamankan komunikasi keluar dari titik akhir online terkelola adalah isolasi jaringan virtual yang dikelola ruang kerja. egress_public_network_access=disabled Bendera yang dijelaskan di sini adalah metode isolasi jaringan warisan.

Konfigurasi jaringan keluar untuk mengakses registri Azure Pembelajaran Mesin apa pun

Tag layanan Protokol dan port Tujuan
AzureMachineLearning TCP: 443, 8787, 18881
UDP: 5831
Menggunakan Azure Machine Learning service.
Storage.<region> TCP: 443 Akses data yang disimpan di Akun Azure Storage untuk kluster komputasi dan instans komputasi. Saluran keluar ini dapat digunakan untuk mengeluarkan data secara diam-diam. Untuk informasi selengkapnya, lihat Perlindungan penyelundupan data.
MicrosoftContainerRegistry.<region> TCP: 443 Akses gambar Docker yang disediakan oleh Microsoft.
AzureContainerRegistry.<region> TCP: 443 Akses gambar Docker untuk lingkungan.

Skenario: konfigurasi ruang kerja aman dan registri Azure Pembelajaran Mesin terhubung ke jaringan virtual menggunakan titik akhir privat

Bagian ini menjelaskan skenario dan konfigurasi jaringan yang diperlukan jika Anda memiliki konfigurasi ruang kerja yang aman dengan registri Azure Pembelajaran Mesin yang tersambung menggunakan titik akhir privat ke jaringan virtual.

Registri Azure Machine Learning menggunakan instans layanan penyimpanan/ACR terkait. Instans layanan ini juga dapat dihubungkan ke VNet menggunakan titik akhir privat untuk mengamankan konfigurasi. Untuk informasi selengkapnya, lihat bagian Cara membuat endpoint privat.

Cara menemukan Akun Azure Storage dan Azure Container Registry yang digunakan oleh registri Anda

Akun penyimpanan dan ACR yang digunakan oleh registri Azure Pembelajaran Mesin Anda dibuat di bawah grup sumber daya terkelola di langganan Azure Anda. Nama grup sumber daya terkelola mengikuti pola azureml-rg-<name-of-your-registry>_<GUID>. GUID adalah string yang dihasilkan secara acak. Misalnya, jika nama registri Anda adalah "contosoreg," nama grup sumber daya terkelola adalah azureml-rg-contosoreg_<GUID>.

Dalam portal Azure, Anda dapat menemukan grup sumber daya ini dengan mencari azureml_rg-<name-of-your-registry>. Semua penyimpanan dan sumber daya ACR untuk registri Anda tersedia di bawah grup sumber daya ini.

Membuat aset dalam registri dari file lokal

Catatan

Pembuatan komponen lingkungan tidak diizinkan dalam registri privat ketika ACR terkait telah menonaktifkan akses publik. Sebagai solusinya, Anda dapat membuat lingkungan di ruang kerja Azure Pembelajaran Mesin dan membagikannya ke registri Azure Pembelajaran Mesin.

Client harus terhubung ke VNet yang terhubung dengan registri melalui endpoint pribadi.

Sambungkan dengan aman ke registri Anda

Untuk menyambungkan ke registri yang diamankan di belakang VNet, gunakan salah satu metode berikut:

  • Gateway VPN Azure - Menyambungkan jaringan lokal ke VNet melalui koneksi privat. Koneksi dibuat melalui internet publik. Ada dua jenis gateway VPN yang mungkin Anda gunakan:

    • Titik-ke-situs: Setiap komputer klien menggunakan klien VPN untuk terhubung ke VNet.

    • Situs-ke-situs: Perangkat VPN menghubungkan VNet ke jaringan lokal Anda.

  • ExpressRoute - Menyambungkan jaringan lokal ke cloud melalui koneksi privat. Koneksi dibuat menggunakan penyedia konektivitas.

  • Azure Bastion - Dalam skenario ini, Anda membuat Komputer Virtual Azure (terkadang disebut jump box) di dalam VNet. Anda kemudian tersambung ke VM menggunakan Azure Bastion. Bastion memungkinkan Anda untuk tersambung ke VM menggunakan sesi RDP atau SSH dari browser web lokal Anda. Anda kemudian menggunakan jump box sebagai lingkungan pengembangan Anda. Karena berada di dalam VNet, ia dapat langsung mengakses registri.

Berbagi aset dari ruang kerja ke registri

Catatan

Berbagi komponen dari ruang kerja Azure Machine Learning ke registri Azure Machine Learning saat ini tidak didukung.

Karena perlindungan penyelundupan data, tidak dimungkinkan untuk berbagi aset dari ruang kerja yang aman ke registri privat jika akun penyimpanan yang berisi aset menonaktifkan akses publik. Untuk mengaktifkan berbagi aset dari ruang kerja ke registri:

  • Buka bagian Jaringan dari akun penyimpanan yang dilampirkan ke ruang kerja (dari tempat Anda ingin mengizinkan berbagi aset ke registri)
  • Atur Akses jaringan publik ke Diaktifkan dari jaringan virtual dan alamat IP yang dipilih
  • Gulir ke bawah dan buka bagian Instans sumber daya. Pilih Jenis sumber daya ke Microsoft.MachineLearningServices/registries dan atur Nama instans ke nama sumber daya registri Azure Machine Learning di mana Anda ingin mengaktifkan berbagi dari ruang kerja.
  • Pastikan untuk memeriksa pengaturan lainnya sesuai konfigurasi jaringan Anda.

Menggunakan aset dari registri di ruang kerja

Contoh operasi:

  • Kirim pekerjaan yang menggunakan aset dari registri.
  • Gunakan komponen dari registri dalam alur.
  • Gunakan lingkungan dari registri dalam komponen.

Buat titik akhir privat ke registri, penyimpanan, dan ACR di subnet yang sama dengan titik akhir privat ruang kerja Azure Machine Learning. Jika Anda mencoba menyambungkan ke beberapa registri, buat titik akhir privat untuk setiap registri dan penyimpanan serta ACR terkait. Untuk informasi selengkapnya, lihat bagian Cara membuat endpoint privat.

Menyebarkan model dari registri ke ruang kerja

Untuk menyebarkan model dari registri ke titik akhir online terkelola yang aman, penyebaran harus diatur egress_public_network_access=disabled. Azure Machine Learning membuat titik akhir privat yang diperlukan untuk registri selama penyebaran titik akhir. Untuk informasi selengkapnya, lihat Membuat titik akhir online terkelola yang aman.

Petunjuk / Saran

Pendekatan yang direkomendasikan untuk mengamankan komunikasi keluar dari titik akhir online terkelola adalah isolasi jaringan virtual yang dikelola ruang kerja. egress_public_network_access=disabled Bendera yang dijelaskan di sini adalah metode isolasi jaringan warisan.

Cara membuat titik akhir privat

Gunakan tab untuk melihat instruksi untuk menambahkan titik akhir privat ke registri yang sudah ada atau membuat registri baru yang memiliki titik akhir privat:

  1. Di portal Azure, cari Private endpoint, dan pilih entri Private endpoints untuk pergi ke Pusat Tautan Privat.

  2. Pada halaman gambaran umum Pusat Tautan Privat, pilih + Buat.

  3. Berikan informasi yang diminta. Untuk bidang Wilayah, pilih wilayah yang sama dengan Microsoft Azure Virtual Network Anda. Pilih Selanjutnya.

  4. Dari tab Sumber Daya , saat memilih Jenis sumber daya, pilih Microsoft.MachineLearningServices/registries. Atur bidang Sumber Daya ke nama registri Azure Pembelajaran Mesin Anda, lalu pilih Berikutnya.

  5. Dari tab Jaringan virtual, pilih jaringan virtual dan subnet untuk sumber daya Azure Pembelajaran Mesin Anda. Untuk melanjutkan, klik Berikutnya.

  6. Dari tab DNS , biarkan nilai default kecuali Anda memiliki persyaratan integrasi DNS privat tertentu. Untuk melanjutkan, klik Berikutnya.

  7. Dari tab Tinjau + Buat , pilih Buat untuk membuat titik akhir privat.

  8. Jika Anda ingin mengatur akses jaringan publik ke dinonaktifkan, gunakan perintah berikut. Konfirmasikan bahwa akses jaringan publik pada penyimpanan dan ACR juga telah dinonaktifkan.

    az ml registry update --public-network-access Disabled --name <name-of-registry>
    

Cara menemukan Akun Azure Storage dan Azure Container Registry yang digunakan oleh registri Anda

Akun penyimpanan dan ACR yang digunakan oleh registri Azure Pembelajaran Mesin Anda dibuat di bawah grup sumber daya terkelola di langganan Azure Anda. Nama grup sumber daya terkelola mengikuti pola azureml-rg-<name-of-your-registry>_<GUID>. GUID adalah string yang dihasilkan secara acak. Misalnya, jika nama registri Anda adalah "contosoreg," nama grup sumber daya terkelola adalah azureml-rg-contosoreg_<GUID>.

Dalam portal Azure, Anda dapat menemukan grup sumber daya ini dengan mencari azureml_rg-<name-of-your-registry>. Semua penyimpanan dan sumber daya ACR untuk registri Anda tersedia di bawah grup sumber daya ini.

Cara membuat titik akhir privat untuk Akun Azure Storage

Untuk membuat titik akhir privat untuk akun penyimpanan yang digunakan oleh registri Anda, gunakan langkah-langkah berikut:

  1. Di portal Azure, cari Private endpoint, dan pilih entri Private endpoints untuk pergi ke Pusat Tautan Privat.
  2. Pada halaman gambaran umum Pusat Tautan Privat, pilih + Buat.
  3. Berikan informasi yang diminta. Untuk bidang Wilayah, pilih wilayah yang sama dengan Microsoft Azure Virtual Network Anda. Pilih Selanjutnya.
  4. Dari tab Sumber Daya , saat memilih Jenis sumber daya, pilih Microsoft.Storage/storageAccounts. Atur bidang Sumber Daya ke nama akun penyimpanan. Atur Sub-sumber daya ke Blob, lalu pilih Berikutnya.
  5. Dari tab Jaringan virtual, pilih jaringan virtual dan subnet untuk sumber daya Azure Pembelajaran Mesin Anda. Untuk melanjutkan, klik Berikutnya.
  6. Dari tab DNS , biarkan nilai default kecuali Anda memiliki persyaratan integrasi DNS privat tertentu. Untuk melanjutkan, klik Berikutnya.
  7. Dari tab Tinjau + Buat , pilih Buat untuk membuat titik akhir privat.

Perlindungan penyelundupan data

Untuk registri Azure Machine Learning yang dibuat oleh pengguna, disarankan menggunakan titik akhir privat untuk registri, akun penyimpanan terkelola, dan ACR terkelola.

Untuk registri sistem, sebaiknya buat Kebijakan Titik Akhir Layanan untuk akun Penyimpanan menggunakan /services/Azure/MachineLearning alias. Untuk informasi selengkapnya, lihat Mengonfigurasi pencegahan penyelundupan data.

Cara menemukan nama domain registri yang sepenuhnya memenuhi syarat

Catatan

Pastikan DNS Anda dapat menyelesaikan FQDN privat registri yang dalam format ini: <registry-guid>.registry.<region>.privatelink.api.azureml.ms karena tidak ada FQDN khusus sumber daya publik yang diselesaikan secara rekursif oleh Azure DNS.

Contoh berikut menunjukkan cara menggunakan URL penemuan untuk mendapatkan nama domain yang sepenuhnya memenuhi syarat (FQDN) registri Anda. Saat memanggil URL penemuan, Anda harus menyediakan token akses Azure di header permintaan. Contoh berikut menunjukkan cara mendapatkan token akses dan memanggil URL penemuan:

Petunjuk / Saran

Format untuk URL penemuan adalah https://<region>.api.azureml.ms/registrymanagement/v1.0/registries/<registry_name>/discovery, di mana <region> adalah wilayah tempat registri Anda berada dan <registry_name> merupakan nama registri Anda. Untuk memanggil URL, buat permintaan GET:

   GET https://<region>.api.azureml.ms/registrymanagement/v1.0/registries/<registry_name>/discovery 
$region = "<region>"
$registryName = "<registry_name>"
$accessToken = (az account get-access-token | ConvertFrom-Json).accessToken 
(Invoke-RestMethod -Method Get `
                   -Uri "https://$region.api.azureml.ms/registrymanagement/v1.0/registries/$registryName/discovery" `
                   -Headers @{ Authorization="Bearer $accessToken" }).registryFqdns
  • REST API

Catatan

Untuk informasi selengkapnya tentang menggunakan AZURE REST API, lihat referensi Azure REST API.

  1. Dapatkan token akses Azure. Anda bisa menggunakan perintah Azure CLI berikut untuk mendapatkan token:

    az account get-access-token --query accessToken
    
  2. Gunakan klien REST seperti Curl untuk membuat permintaan GET ke URL penemuan. Gunakan token akses yang diambil pada langkah sebelumnya untuk otorisasi. Dalam contoh berikut, ganti <region> dengan wilayah tempat registri Anda berada dan <registry_name> dengan nama registri Anda. Ganti <token> dengan token akses yang diambil pada langkah sebelumnya:

    curl -X GET "https://<region>.api.azureml.ms/registrymanagement/v1.0/registries/<registry_name>/discovery" -H "Authorization: Bearer <token>" -H "Content-Type: application/json"
    

Langkah selanjutnya

Pelajari cara Berbagi model, komponen, dan lingkungan di seluruh ruang kerja dengan registri.