Mengonfigurasi ruang kerja Azure Machine Learning dengan titik akhir privat

BERLAKU UNTUK:ekstensi ml Azure CLI v2 (saat ini)

Dalam dokumen ini, Anda akan mempelajari cara mengonfigurasi titik akhir privat untuk ruang kerja Azure Machine Learning. Untuk informasi tentang membuat jaringan virtual untuk Azure Machine Learning, lihat Ringkasan privasi dan isolasi jaringan virtual.

Azure Private Link memungkinkan Anda terhubung ke ruang kerja menggunakan titik akhir privat. Titik akhir privat adalah sekumpulan alamat IP privat dalam jaringan virtual Anda. Anda kemudian dapat membatasi akses ke ruang kerja Anda agar hanya terjadi melalui alamat IP privat. Titik akhir privat membantu mengurangi risiko penyelundupan data. Untuk mempelajari selengkapnya tentang titik akhir privat, lihat artikel Link Pribadi Azure.

Peringatan

Mengamankan ruang kerja dengan titik akhir privat tidak memastikan keamanan menyeluruh dengan sendirinya. Anda harus mengamankan semua komponen individual solusi Anda. Misalnya, jika Anda menggunakan titik akhir privat untuk ruang kerja, tetapi Akun Azure Storage Anda tidak berada di belakang VNet, lalu lintas antara ruang kerja dan penyimpanan tidak akan menggunakan VNet untuk keamanan.

Untuk informasi selengkapnya tentang mengamankan sumber daya yang digunakan oleh Azure Machine Learning, lihat artikel berikut:

Prasyarat

  • Anda harus memiliki jaringan virtual yang ada untuk membuat titik akhir privat.

    Peringatan

    Jangan gunakan rentang alamat IP 172.17.0.0/16 untuk VNet Anda. Ini adalah rentang subnet default yang digunakan oleh jaringan jembatan Docker, dan akan mengakibatkan kesalahan jika digunakan untuk VNet Anda. Rentang lain mungkin juga bertentangan tergantung pada apa yang ingin Anda sambungkan ke jaringan virtual. Misalnya, jika Anda berencana untuk menghubungkan jaringan lokal Anda ke VNet, dan jaringan lokal Anda juga menggunakan rentang 172.16.0.0/16. Pada akhirnya, merupakan pilihan Anda untuk merencanakan infrastruktur jaringan Anda.

  • Nonaktifkan kebijakan jaringan untuk titik akhir privat sebelum menambahkan titik akhir privat.

Batasan

  • Jika Anda mengaktifkan akses publik untuk ruang kerja yang diamankan dengan titik akhir privat dan menggunakan studio Azure Machine Learning melalui internet publik, beberapa fitur seperti perancang tersebut mungkin gagal mengakses data Anda. Masalah ini terjadi saat data disimpan pada layanan yang diamankan di balik VNet. Misalnya, Akun Azure Storage.

  • Anda mungkin mengalami masalah saat mencoba mengakses titik akhir privat untuk ruang kerja Anda jika Anda menggunakan Mozilla Firefox. Masalah ini mungkin terkait dengan DNS melalui HTTPS di Mozilla Firefox. Sebaiknya gunakan Microsoft Edge atau Google Chrome.

  • Menggunakan titik akhir privat tidak memengaruhi bidang kontrol Azure (operasi manajemen) seperti menghapus ruang kerja atau mengelola sumber daya komputasi. Misalnya, membuat, memperbarui, atau menghapus target komputasi. Operasi ini dilakukan melalui Internet publik seperti biasa. Operasi sarana data, seperti menggunakan studio Azure Machine Learning, API (termasuk alur yang dipublikasikan), atau SDK menggunakan titik akhir privat.

  • Saat membuat instans komputasi atau kluster komputasi di ruang kerja dengan titik akhir privat, instans komputasi dan kluster komputasi harus berada di wilayah Azure yang sama dengan ruang kerja.

  • Saat melampirkan kluster Azure Container Service ke ruang kerja dengan titik akhir privat, kluster harus berada di wilayah yang sama dengan ruang kerja.

  • Saat menggunakan ruang kerja dengan beberapa titik akhir privat, salah satu titik akhir privat harus berada di VNet yang sama dengan layanan dependensi berikut:

    • Akun Azure Storage yang menyediakan penyimpanan default untuk ruang kerja
    • Azure Key Vault untuk ruang kerja
    • Azure Container Registry untuk ruang kerja.

    Misalnya, satu VNet ('layanan' VNet) akan berisi titik akhir privat untuk layanan dependensi dan ruang kerja. Konfigurasi ini memungkinkan ruang kerja untuk berkomunikasi dengan layanan. VNet lain ('klien') mungkin hanya berisi titik akhir privat untuk ruang kerja, dan hanya digunakan untuk komunikasi antara mesin pengembangan klien dan ruang kerja.

Membuat ruang kerja yang menggunakan titik akhir privat

Gunakan salah satu metode berikut untuk membuat ruang kerja dengan titik akhir privat. Masing-masing metode ini memerlukan jaringan virtual yang ada:

Tip

Jika Anda ingin membuat ruang kerja, titik akhir privat, dan jaringan virtual secara bersamaan, lihat Menggunakan template Azure Resource Manager untuk membuat ruang kerja untuk Azure Machine Learning.

BERLAKU UNTUK:ekstensi ml Azure CLI v2 (saat ini)

Saat menggunakan CLI ekstensi 2.0 Azure CLI untuk pembelajaran mesin, dokumen YAML digunakan untuk mengonfigurasi ruang kerja. Contoh berikut menunjukkan cara membuat ruang kerja baru menggunakan konfigurasi YAML:

Tip

Saat menggunakan tautan pribadi, ruang kerja Anda tidak dapat menggunakan tugas Azure Container Registry yang dihitung untuk pembangunan gambar. Properti image_build_compute dalam konfigurasi ini menentukan nama kluster komputasi CPU yang akan digunakan untuk membangun lingkungan gambar Docker. Anda juga dapat menentukan apakah ruang kerja tautan privat harus dapat diakses melalui internet dengan menggunakan properti public_network_access.

Dalam contoh ini, komputasi yang direferensikan oleh image_build_compute perlu dibuat sebelum membangun gambar.

$schema: https://azuremlschemas.azureedge.net/latest/workspace.schema.json
name: mlw-privatelink-prod
location: eastus
display_name: Private Link endpoint workspace-example
description: When using private link, you must set the image_build_compute property to a cluster name to use for Docker image environment building. You can also specify whether the workspace should be accessible over the internet.
image_build_compute: cpu-compute
public_network_access: Disabled
tags:
  purpose: demonstration
az ml workspace create \
    -g <resource-group-name> \
    --file privatelink.yml

Setelah membuat ruang kerja, gunakan perintah CLI jaringan Azure guna membuat titik akhir tautan pribadi untuk ruang kerja.

az network private-endpoint create \
    --name <private-endpoint-name> \
    --vnet-name <vnet-name> \
    --subnet <subnet-name> \
    --private-connection-resource-id "/subscriptions/<subscription>/resourceGroups/<resource-group-name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-name>" \
    --group-id amlworkspace \
    --connection-name workspace -l <location>

Untuk membuat entri zona DNS privat untuk ruang kerja, gunakan perintah berikut:

# Add privatelink.api.azureml.ms
az network private-dns zone create \
    -g <resource-group-name> \
    --name privatelink.api.azureml.ms

az network private-dns link vnet create \
    -g <resource-group-name> \
    --zone-name privatelink.api.azureml.ms \
    --name <link-name> \
    --virtual-network <vnet-name> \
    --registration-enabled false

az network private-endpoint dns-zone-group create \
    -g <resource-group-name> \
    --endpoint-name <private-endpoint-name> \
    --name myzonegroup \
    --private-dns-zone privatelink.api.azureml.ms \
    --zone-name privatelink.api.azureml.ms

# Add privatelink.notebooks.azure.net
az network private-dns zone create \
    -g <resource-group-name> \
    --name privatelink.notebooks.azure.net

az network private-dns link vnet create \
    -g <resource-group-name> \
    --zone-name privatelink.notebooks.azure.net \
    --name <link-name> \
    --virtual-network <vnet-name> \
    --registration-enabled false

az network private-endpoint dns-zone-group add \
    -g <resource-group-name> \
    --endpoint-name <private-endpoint-name> \
    --name myzonegroup \
    --private-dns-zone privatelink.notebooks.azure.net \
    --zone-name privatelink.notebooks.azure.net

Menambahkan titik akhir privat ke ruang kerja

Gunakan salah satu metode berikut untuk menambahkan titik akhir privat ke ruang kerja yang sudah ada:

Peringatan

Jika Anda memiliki target komputasi yang ada yang terkait dengan ruang kerja ini, dan mereka tidak berada di belakang jaringan virtual yang sama dengan tempat titik akhir privat dibuat, mereka tidak akan berfungsi.

BERLAKU UNTUK:ekstensi ml Azure CLI v2 (saat ini)

Saat menggunakan CLI ekstensi 2.0 Azure CLI untuk pembelajaran mesin, gunakan perintah CLI jaringan Azure untuk membuat titik akhir tautan privat untuk ruang kerja.

az network private-endpoint create \
    --name <private-endpoint-name> \
    --vnet-name <vnet-name> \
    --subnet <subnet-name> \
    --private-connection-resource-id "/subscriptions/<subscription>/resourceGroups/<resource-group-name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-name>" \
    --group-id amlworkspace \
    --connection-name workspace -l <location>

Untuk membuat entri zona DNS privat untuk ruang kerja, gunakan perintah berikut:

# Add privatelink.api.azureml.ms
az network private-dns zone create \
    -g <resource-group-name> \
    --name 'privatelink.api.azureml.ms'

az network private-dns link vnet create \
    -g <resource-group-name> \
    --zone-name 'privatelink.api.azureml.ms' \
    --name <link-name> \
    --virtual-network <vnet-name> \
    --registration-enabled false

az network private-endpoint dns-zone-group create \
    -g <resource-group-name> \
    --endpoint-name <private-endpoint-name> \
    --name myzonegroup \
    --private-dns-zone 'privatelink.api.azureml.ms' \
    --zone-name 'privatelink.api.azureml.ms'

# Add privatelink.notebooks.azure.net
az network private-dns zone create \
    -g <resource-group-name> \
    --name 'privatelink.notebooks.azure.net'

az network private-dns link vnet create \
    -g <resource-group-name> \
    --zone-name 'privatelink.notebooks.azure.net' \
    --name <link-name> \
    --virtual-network <vnet-name> \
    --registration-enabled false

az network private-endpoint dns-zone-group add \
    -g <resource-group-name> \
    --endpoint-name <private-endpoint-name> \
    --name myzonegroup \
    --private-dns-zone 'privatelink.notebooks.azure.net' \
    --zone-name 'privatelink.notebooks.azure.net'

Menghapus titik akhir privat

Anda dapat menghapus satu atau semua titik akhir privat untuk suatu ruang kerja. Menghapus titik akhir privat akan menghapus ruang kerja dari VNet yang dikaitkan dengan titik akhir. Menghapus titik akhir privat dapat mencegah ruang kerja mengakses sumber daya di VNet tersebut, atau sumber daya di VNet mengakses ruang kerja. Misalnya, jika VNet tidak mengizinkan akses ke atau dari internet publik.

Peringatan

Menghapus titik akhir privat untuk ruang kerja tidak akan membuatnya dapat diakses secara publik. Untuk membuat ruang kerja agar dapat diakses secara publik, gunakan langkah-langkah di bagian Mengaktifkan akses publik.

Untuk menghapus titik akhir privat, gunakan informasi berikut:

BERLAKU UNTUK:ekstensi ml Azure CLI v2 (saat ini)

Saat menggunakan CLI ekstensi 2.0 Azure CLI untuk pembelajaran mesin, gunakan perintah berikut untuk menghapus titik akhir privat:

az network private-endpoint delete \
    --name <private-endpoint-name> \
    --resource-group <resource-group-name> \

Mengaktifkan akses publik

Dalam beberapa situasi, Anda mungkin ingin mengizinkan seseorang untuk terhubung ke ruang kerja aman Anda melalui titik akhir publik, bukan melalui VNet. Atau, Anda mungkin ingin menghapus ruang kerja dari VNet dan mengaktifkan kembali akses publik.

Penting

Mengaktifkan akses publik tidak akan menghapus titik akhir privat yang ada. Semua komunikasi antar komponen di belakang VNet yang terhubung dengan titik akhir privat masih diamankan. Tindakan mengaktifkan akses publik ini hanya memungkinkan akses publik ke ruang kerja, selain titik akhir privat melalui VNet.

Peringatan

Saat menyambungkan titik akhir publik saat ruang kerja menggunakan titik akhir privat untuk berkomunikasi dengan sumber daya lain:

  • Beberapa fitur studio akan gagal mengakses data Anda. Masalah ini terjadi saat data disimpan pada layanan yang diamankan di balik VNet. Misalnya, Akun Azure Storage. Untuk mengatasi masalah ini, tambahkan alamat IP perangkat klien Anda ke firewall Akun Azure Storage.
  • Menggunakan Jupyter, JupyterLab, RStudio, atau Posit Workbench (sebelumnya RStudio Workbench) pada instans komputasi, termasuk menjalankan notebook, tidak didukung.

Untuk mengaktifkan akses publik, gunakan langkah berikut:

Tip

Terdapat dua properti yang mungkin dapat dikonfigurasi:

  • allow_public_access_when_behind_vnet - digunakan oleh SDK Python v1
  • public_network_access - digunakan oleh CLI dan Python SDK v2 Setiap properti mengambil alih properti lainnya. Misalnya, pengaturan public_network_access akan mengambil alih pengaturan sebelumnya menjadi allow_public_access_when_behind_vnet.

Microsoft merekomendasikan penggunaan public_network_access untuk mengaktifkan atau menonaktifkan akses publik pada ruang kerja.

BERLAKU UNTUK:ekstensi ml Azure CLI v2 (saat ini)

Saat menggunakan CLI ekstensi Azure CLI 2.0 untuk pembelajaran mesin, gunakan az ml update perintah untuk mengaktifkan public_network_access ruang kerja:

az ml workspace update \
    --set public_network_access=Enabled \
    -n <workspace-name> \
    -g <resource-group-name>

Anda juga dapat mengaktifkan akses jaringan publik dengan menggunakan file YAML. Untuk informasi selengkapnya, lihat referensi YAML ruang kerja.

Aktifkan Akses Publik hanya dari rentang IP internet (pratinjau)

Anda dapat menggunakan aturan jaringan IP untuk mengizinkan akses ke ruang kerja dan titik akhir Anda dari rentang alamat IP internet publik tertentu dengan membuat aturan jaringan IP. Setiap ruang kerja Azure Pembelajaran Mesin mendukung hingga 200 aturan. Aturan ini memberikan akses ke layanan berbasis internet tertentu dan jaringan lokal dan memblokir lalu lintas internet umum.

Peringatan

  • Aktifkan bendera akses jaringan publik titik akhir Anda jika Anda ingin mengizinkan akses ke titik akhir Anda dari rentang alamat IP internet publik tertentu.
  • Saat Anda mengaktifkan fitur ini, ini berdampak pada semua titik akhir publik yang ada yang terkait dengan ruang kerja Anda. Ini dapat membatasi akses ke titik akhir baru atau yang sudah ada. Jika Anda mengakses titik akhir apa pun dari IP yang tidak diizinkan, Anda mendapatkan kesalahan 403.
  • Untuk menggunakan fitur ini dengan jaringan virtual terkelola Azure Pembelajaran Mesin, lihat Jaringan virtual terkelola Azure Pembelajaran Mesin.

BERLAKU UNTUK:ekstensi ml Azure CLI v2 (saat ini)

Azure CLI tidak mendukung ini.

Pembatasan untuk aturan jaringan IP

Pembatasan berikut berlaku untuk rentang alamat IP:

  • Aturan jaringan IP hanya diizinkan untuk alamat IP internet publik.

    Rentang alamat IP yang dipesan tidak diizinkan dalam aturan IP seperti alamat privat yang dimulai dengan 10, 172.16 hingga 172.31, dan 192.168.

  • Anda harus menyediakan rentang alamat internet yang diizinkan dengan menggunakan notasi CIDR dalam formulir 16.17.18.0/24 atau sebagai alamat IP individual seperti 16.17.18.19.

  • Hanya alamat IPv4 yang didukung untuk konfigurasi aturan firewall penyimpanan.

  • Saat fitur ini diaktifkan, Anda dapat menguji titik akhir publik menggunakan alat klien apa pun seperti Postman atau lainnya, tetapi alat Uji Titik Akhir di portal tidak didukung.

Menyambungkan ke ruang kerja Anda dengan aman

Untuk terhubung ke ruang kerja 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, jump box dapat langsung mengakses ruang kerja. Untuk contoh menggunakan jump box, lihat Tutorial: Membuat ruang kerja yang aman.

Penting

Saat menggunakan Gateway VPN atau ExpressRoute, Anda perlu merencanakan bagaimana resolusi nama bekerja antara sumber daya lokal Anda dengan yang berada di VNet. Untuk informasi selengkapnya, lihat Menggunakan server DNS kustom.

Jika Anda mengalami masalah saat menyambungkan ke ruang kerja, lihat Memecahkan masalah konektivitas ruang kerja yang aman.

Beberapa titik akhir privat

Azure Machine Learning mendukung beberapa titik akhir privat untuk ruang kerja. Beberapa titik akhir privat sering digunakan saat Anda ingin memisahkan lingkungan yang berbeda. Berikut ini adalah beberapa skenario yang diaktifkan dengan menggunakan beberapa titik akhir privat:

  • Lingkungan pengembangan klien di VNet terpisah.

  • Kluster Azure Kubernetes Service (AKS) di VNet terpisah.

  • Layanan Azure lainnya di VNet terpisah. Misalnya, Azure Synapse dan Azure Data Factory dapat menggunakan jaringan virtual yang dikelola Microsoft. Dalam kedua kasus tersebut, titik akhir privat untuk ruang kerja dapat ditambahkan ke VNet terkelola yang digunakan oleh layanan tersebut. Untuk informasi lebih lanjut tentang menggunakan jaringan virtual terkelola dengan layanan ini, lihat artikel berikut ini:

    Penting

    Perlindungan penyelundupan data Synapse tidak didukung dengan Azure Machine Learning.

Penting

Setiap VNet yang berisi titik akhir privat untuk ruang kerja juga harus dapat mengakses Akun Azure Storage, Azure Key Vault, dan Azure Container Registry yang digunakan oleh ruang kerja. Misalnya, Anda dapat membuat titik akhir privat untuk layanan di setiap VNet.

Menambahkan beberapa titik akhir privat dengan menggunakan langkah yang sama seperti yang dijelaskan di bagian Menambahkan titik akhir privat ke ruang kerja.

Skenario: Klien yang terisolasi

Jika Anda ingin mengisolasi klien pengembangan, sehingga mereka tidak memiliki akses langsung ke sumber daya komputasi yang digunakan oleh Azure Machine Learning, gunakan langkah-langkah berikut:

Catatan

Langkah-langkah ini mengasumsikan bahwa Anda memiliki ruang kerja yang sudah ada, Akun Azure Storage, Azure Key Vault, dan Azure Container Registry. Masing-masing layanan ini memiliki titik akhir privat di VNet yang ada.

  1. Buat VNet lain untuk klien. VNet ini mungkin berisi Azure Virtual Machines yang bertindak sebagai klien Anda, atau mungkin berisi VPN Gateway yang digunakan oleh klien lokal untuk menyambung ke VNet.
  2. Tambahkan titik akhir privat baru untuk Akun Azure Storage, Azure Key Vault, dan Azure Container Registry yang digunakan oleh ruang kerja Anda. Titik akhir privat ini harus ada di VNet klien.
  3. Jika Anda memiliki penyimpanan lain yang digunakan oleh ruang kerja Anda, tambahkan titik akhir privat baru untuk penyimpanan tersebut. Titik akhir privat harus ada di VNet klien dan integrasi zona DNS privat yang diaktifkan.
  4. Tambahkan titik akhir privat baru ke ruang kerja Anda. Titik akhir privat ini harus ada di VNet klien dan integrasi zona DNS privat yang diaktifkan.
  5. Gunakan langkah-langkah di artikel Gunakan studio di jaringan virtual untuk memungkinkan studio mengakses akun penyimpanan.

Diagram berikut mengilustrasikan konfigurasi ini. VNet Beban Kerja berisi komputasi yang dibuat oleh ruang kerja untuk pelatihan & penyebaran. VNet Klien berisi klien atau koneksi ExpressRoute/VPN klien. Kedua VNet berisi titik akhir privat untuk ruang kerja, Akun Azure Storage, Azure Key Vault, dan Azure Container Registry.

Diagram of isolated client VNet

Skenario: Azure Kubernetes Service yang Terisolasi

Jika Anda ingin membuat Azure Kubernetes Service yang terisolasi yang digunakan oleh ruang kerja, gunakan langkah-langkah berikut:

Catatan

Langkah-langkah ini mengasumsikan bahwa Anda memiliki ruang kerja yang sudah ada, Akun Azure Storage, Azure Key Vault, dan Azure Container Registry. Masing-masing layanan ini memiliki titik akhir privat di VNet yang ada.

  1. Buat instans Azure Kubernetes Service. Selama pembuatan, Azure Kubernetes Service membuat VNet yang berisi kluster Azure Kubernetes Service.
  2. Tambahkan titik akhir privat baru untuk Akun Azure Storage, Azure Key Vault, dan Azure Container Registry yang digunakan oleh ruang kerja Anda. Titik akhir privat ini harus ada di VNet klien.
  3. Jika Anda memiliki penyimpanan lain yang digunakan oleh ruang kerja Anda, tambahkan titik akhir privat baru untuk penyimpanan tersebut. Titik akhir privat harus ada di VNet klien dan integrasi zona DNS privat yang diaktifkan.
  4. Tambahkan titik akhir privat baru ke ruang kerja Anda. Titik akhir privat ini harus ada di VNet klien dan integrasi zona DNS privat yang diaktifkan.
  5. Lampirkan kluster Azure Kubernetes Service ke ruang kerja Azure Machine Learning. Untuk informasi selengkapnya, lihat Membuat dan melampirkan kluster Azure Kubernetes Service.

Diagram of isolated AKS VNet

Langkah berikutnya