Isolasi jaringan virtual yang dikelola ruang kerja

BERLAKU UNTUK:Ekstensi ml Azure CLI v2 (saat ini)Python SDK azure-ai-ml v2 (saat ini)

Azure Machine Learning mendukung isolasi jaringan virtual terkelola. Isolasi jaringan virtual terkelola menyederhanakan dan mengotomatiskan konfigurasi isolasi jaringan Anda dengan menggunakan jaringan virtual terkelola Azure Machine Learning tingkat ruang kerja bawaan. Jaringan virtual yang dikelola mengamankan sumber daya Azure Pembelajaran Mesin terkelola Anda, seperti instans komputasi, kluster komputasi, komputasi tanpa server, dan titik akhir online terkelola.

Mengamankan ruang kerja Anda dengan jaringan terkelola menyediakan isolasi jaringan untuk akses keluar dari ruang kerja dan komputasi terkelola. Azure Virtual Network yang Anda buat dan kelola menyediakan isolasi jaringan untuk akses masuk ke ruang kerja. Misalnya, Anda membuat titik akhir privat untuk ruang kerja di Azure Virtual Network Anda. Setiap klien yang terhubung ke jaringan virtual dapat mengakses ruang kerja melalui titik akhir privat. Saat Anda menjalankan pekerjaan pada komputasi terkelola, jaringan terkelola membatasi apa yang dapat diakses komputasi.

Arsitektur jaringan virtual terkelola

Saat Anda mengaktifkan isolasi jaringan virtual terkelola, ruang kerja membuat jaringan virtual terkelola. Sumber daya komputasi terkelola yang Anda buat untuk ruang kerja secara otomatis menggunakan jaringan virtual terkelola ini. Jaringan virtual terkelola dapat menggunakan titik akhir privat untuk sumber daya Azure yang digunakan ruang kerja Anda, seperti Azure Storage, Azure Key Vault, dan Azure Container Registry.

Ada dua mode konfigurasi untuk lalu lintas keluar dari jaringan virtual terkelola:

Petunjuk / Saran

Terlepas dari mode keluar yang Anda gunakan, Anda dapat mengonfigurasi lalu lintas ke sumber daya Azure untuk menggunakan titik akhir privat. Misalnya, Anda mungkin mengizinkan semua lalu lintas keluar ke internet, tetapi membatasi komunikasi dengan sumber daya Azure dengan menambahkan aturan keluar untuk sumber daya.

Mode keluar Deskripsi Skenario
Izinkan akses internet keluar Izinkan semua lalu lintas keluar internet dari jaringan virtual terkelola. Anda ingin akses tak terbatas ke sumber daya pembelajaran mesin di internet, seperti paket Python atau model yang telah dilatih sebelumnya. 1
Izinkan hanya lalu lintas keluar yang disetujui Tentukan tag layanan untuk mengizinkan lalu lintas keluar. * Anda ingin meminimalkan risiko penyelundupan data, tetapi Anda perlu menyiapkan semua artefak pembelajaran mesin yang diperlukan di lingkungan pribadi Anda.
* Anda ingin mengonfigurasi akses keluar ke daftar layanan, tag layanan, atau FQDN yang disetujui.
Nonaktif Lalu lintas masuk dan keluar tidak dibatasi atau Anda menggunakan Azure Virtual Network Anda sendiri untuk melindungi sumber daya. Anda menginginkan akses publik masuk dan keluar dari ruang kerja, atau Anda mengelola isolasi jaringan dengan jaringan virtual Azure Anda sendiri.
  1. Anda dapat menggunakan aturan keluar dengan mode hanya mengizinkan keluar yang disetujui untuk mencapai hasil yang sama seperti menggunakan izinkan keluar internet. Perbedaannya adalah:
  • Anda harus menambahkan aturan untuk setiap koneksi keluar yang perlu Anda izinkan.
  • Menambahkan aturan keluar FQDN meningkatkan biaya Anda karena jenis aturan ini menggunakan Azure Firewall. Untuk informasi selengkapnya, lihat Harga.
  • Aturan default untuk hanya mengizinkan lalu lintas keluar yang disetujui dirancang untuk meminimalkan risiko eksfiltrasi data. Setiap aturan keluar yang Anda tambahkan dapat meningkatkan risiko Anda.

Jaringan virtual terkelola telah dikonfigurasi sebelumnya dengan aturan default yang diperlukan. Ini juga dikonfigurasi untuk koneksi titik akhir privat ke ruang kerja Anda, penyimpanan default ruang kerja, registri kontainer, dan brankas kunci jika mereka dikonfigurasi sebagai privat atau mode isolasi ruang kerja diatur untuk hanya mengizinkan koneksi keluar yang disetujui. Setelah memilih mode isolasi, Anda hanya perlu mempertimbangkan persyaratan keluar lainnya yang mungkin perlu Anda tambahkan.

Diagram berikut menunjukkan jaringan virtual terkelola yang dikonfigurasi untuk mengizinkan lalu lintas internet keluar:

Diagram isolasi jaringan virtual terkelola yang dikonfigurasi untuk lalu lintas keluar internet.

Diagram berikut menunjukkan jaringan virtual yang dikelola yang dikonfigurasi untuk mengizinkan hanya lalu lintas keluar yang disetujui:

Catatan

Dalam konfigurasi ini, penyimpanan, brankas kunci, dan registri kontainer yang digunakan oleh ruang kerja ditandai sebagai privat. Karena mereka ditandai sebagai privat, antarmuka privat digunakan untuk berkomunikasi dengan mereka.

Diagram isolasi jaringan virtual terkelola yang dikonfigurasi untuk mengizinkan hanya lalu lintas keluar yang disetujui.

Catatan

Setelah mengonfigurasi ruang kerja VNet terkelola untuk mengizinkan internet keluar, Anda tidak dapat mengonfigurasi ulang ruang kerja untuk dinonaktifkan. Demikian pula, setelah mengonfigurasi workspace VNet terkelola untuk hanya mengizinkan lalu lintas keluar yang disetujui, Anda tidak dapat mengonfigurasi ulang workspace tersebut untuk mengizinkan lalu lintas keluar ke internet.

Studio Azure Machine Learning

Untuk menggunakan notebook terintegrasi atau membuat himpunan data di akun penyimpanan default dari studio, klien Anda memerlukan akses ke akun penyimpanan default. Buat titik akhir privat atau titik akhir layanan untuk akun penyimpanan default di Azure Virtual Network yang digunakan klien.

Bagian dari studio Azure Pembelajaran Mesin berjalan secara lokal di browser web klien, dan berkomunikasi langsung dengan penyimpanan default untuk ruang kerja. Membuat titik akhir privat atau titik akhir layanan (untuk akun penyimpanan default) di jaringan virtual klien memastikan bahwa klien dapat berkomunikasi dengan akun penyimpanan.

Jika akun penyimpanan Azure yang terkait dengan ruang kerja memiliki akses jaringan publik yang dinonaktifkan, pastikan titik akhir privat yang dibuat di jaringan virtual klien diberikan peran Pembaca kepada identitas terkelola di ruang kerja Anda. Persyaratan ini berlaku untuk titik akhir privat penyimpanan blob dan file. Peran tidak diperlukan untuk titik akhir privat yang dibuat oleh jaringan virtual terkelola.

Untuk informasi selengkapnya tentang membuat titik akhir privat atau titik akhir layanan, lihat artikel Menyambungkan secara privat ke akun penyimpanan dan Titik Akhir Layanan.

Sumber daya terkait yang diamankan

Jika Anda menambahkan layanan berikut ke jaringan virtual dengan menggunakan titik akhir layanan atau titik akhir privat (menonaktifkan akses publik), izinkan layanan Microsoft tepercaya untuk mengakses layanan ini:

Layanan Informasi titik akhir Mengizinkan informasi tepercaya
Azure Key Vault Titik akhir layanan
Titik akhir privat
Izinkan layanan Microsoft tepercaya untuk melewati firewall ini
Akun Azure Storage Titik akhir layanan dan privat
Titik akhir privat
Memberikan akses dari instans sumber daya Azure
atau
Memberikan akses ke layanan Azure yang terpercaya
Azure Container Registry Titik akhir privat Izinkan layanan tepercaya

Prasyarat

Sebelum mengikuti langkah-langkah dalam artikel ini, pastikan Anda memiliki prasyarat berikut:

  • Langganan Azure. Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai. Coba versi gratis atau berbayar Azure Machine Learning.

  • Penyedia sumber daya Microsoft.Network harus terdaftar untuk langganan Azure Anda. Penyedia sumber daya ini digunakan oleh ruang kerja saat membuat titik akhir privat untuk jaringan virtual terkelola.

    Untuk informasi selengkapnya tentang cara mendaftarkan penyedia sumber daya, lihat Mengatasi kesalahan untuk pendaftaran penyedia sumber daya.

  • Identitas Azure yang Anda gunakan saat menyebarkan jaringan terkelola memerlukan tindakan kontrol akses berbasis peran Azure (Azure RBAC) berikut untuk membuat titik akhir privat:

    • Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/read
    • Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/write
  • Azure CLI dan ekstensi ml ke Azure CLI. Untuk informasi selengkapnya, lihat Menginstal, menyiapkan, dan menggunakan CLI (v2).

    Petunjuk / Saran

    VNet terkelola Azure Pembelajaran Mesin diperkenalkan pada 23 Mei 2023. Jika Anda memiliki versi ekstensi ml yang lebih lama, Anda mungkin perlu memperbaruinya untuk contoh dalam artikel ini berfungsi. Untuk memperbarui ekstensi, gunakan perintah Azure CLI berikut:

    az extension update -n ml
    
  • Contoh CLI dalam artikel ini mengasumsikan bahwa Anda menggunakan shell Bash (atau kompatibel). Misalnya, dari sistem Linux atau Subsistem Windows untuk Linux.

  • Contoh Azure CLI dalam artikel ini menggunakan ws untuk mewakili nama ruang kerja, dan rg untuk mewakili nama grup sumber daya. Ubah nilai-nilai ini sesuai kebutuhan saat menggunakan perintah dengan langganan Azure Anda.

  • Langganan Azure. Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai. Coba versi gratis atau berbayar Azure Machine Learning.

  • Penyedia sumber daya Microsoft.Network harus terdaftar untuk langganan Azure Anda. Penyedia sumber daya ini digunakan oleh ruang kerja saat membuat titik akhir privat untuk jaringan virtual terkelola.

    Untuk informasi selengkapnya tentang cara mendaftarkan penyedia sumber daya, lihat Mengatasi kesalahan untuk pendaftaran penyedia sumber daya.

  • Identitas Azure yang Anda gunakan saat menyebarkan jaringan terkelola memerlukan tindakan kontrol akses berbasis peran Azure (Azure RBAC) berikut untuk membuat titik akhir privat:

    • Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/read
    • Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/write
  • Azure Machine Learning Python SDK v2. Untuk informasi selengkapnya tentang SDK, lihat Menginstal Python SDK v2 untuk Azure Pembelajaran Mesin.

    Petunjuk / Saran

    VNet terkelola Azure Pembelajaran Mesin diperkenalkan pada 23 Mei 2023. Jika Anda memiliki versi SDK yang lebih lama yang terinstal, Anda mungkin perlu memperbaruinya agar contoh dalam artikel ini berfungsi. Untuk memperbarui SDK, gunakan perintah berikut:

    pip install --upgrade azure-ai-ml azure-identity
    
  • Contoh dalam artikel ini mengasumsikan bahwa kode Anda dimulai dengan Python berikut. Kode ini mengimpor kelas yang diperlukan saat membuat ruang kerja dengan jaringan virtual terkelola, mengatur variabel untuk langganan Azure dan grup sumber daya Anda, dan membuat ml_client:

    from azure.ai.ml import MLClient
    from azure.ai.ml.entities import (
        Workspace,
        ManagedNetwork,
        IsolationMode,
        ServiceTagDestination,
        PrivateEndpointDestination,
        FqdnDestination
    )
    from azure.identity import DefaultAzureCredential
    
    # Replace with the values for your Azure subscription and resource group.
    subscription_id = "<SUBSCRIPTION_ID>"
    resource_group = "<RESOURCE_GROUP>"
    
    # get a handle to the subscription
    ml_client = MLClient(DefaultAzureCredential(), subscription_id=subscription_id, resource_group_name=resource_group)
    
  • Langganan Azure. Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai. Coba versi gratis atau berbayar Azure Machine Learning.

  • Penyedia sumber daya Microsoft.Network harus terdaftar untuk langganan Azure Anda. Penyedia sumber daya ini digunakan oleh ruang kerja saat membuat titik akhir privat untuk jaringan virtual terkelola.

    Untuk informasi selengkapnya tentang cara mendaftarkan penyedia sumber daya, lihat Mengatasi kesalahan untuk pendaftaran penyedia sumber daya.

  • Identitas Azure yang Anda gunakan saat menyebarkan jaringan terkelola memerlukan tindakan kontrol akses berbasis peran Azure (Azure RBAC) berikut untuk membuat titik akhir privat:

    • Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/read
    • Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/write

Untuk membuat koneksi titik akhir privat di jaringan virtual terkelola menggunakan Azure Machine Learning, identitas terkelola ruang kerja, baik yang ditetapkan sistem atau ditetapkan pengguna, dan identitas pengguna yang memulai pembuatan titik akhir privat, harus memiliki izin untuk menyetujui koneksi Titik Akhir Privat pada sumber daya target. Setelah 30 April 2025, izin tidak secara otomatis diberikan ke identitas terkelola dan harus ditetapkan secara manual.

Microsoft merekomendasikan untuk menetapkan peran Pemberi Persetujuan Koneksi Jaringan Azure AI Enterprise ke identitas terkelola. Daftar berikut berisi jenis sumber daya target titik akhir privat yang dicakup oleh peran Pemberi Persetujuan Koneksi Jaringan Perusahaan Azure AI :

  • Azure Application Gateway
  • Azure Monitor
  • Pencarian Azure AI
  • Pusat Aktivitas
  • Azure SQL Database
  • Azure Storage
  • Ruang kerja Azure Machine Learning
  • Registri Azure Machine Learning
  • Microsoft Foundry
  • Azure Key Vault
  • Azure Cosmos DB
  • Azure Database for MySQL
  • Azure Database for PostgreSQL
  • Alat Pengecoran
  • Azure Managed Redis
  • Container Registry
  • API Management

Jika Anda ingin membuat peran kustom sebagai gantinya, lihat peran Pemberi Izin Koneksi Jaringan Azure AI Enterprise untuk menambahkan tindakan tertentu untuk setiap jenis sumber daya.

Untuk membuat aturan keluar titik akhir privat ke jenis sumber daya target yang tidak dicakup oleh peran Pemberi Persetujuan Koneksi Jaringan Perusahaan Azure AI, disarankan menggunakan peran khusus yang dibatasi cakupannya. Peran harus didefinisikan dengan tindakan yang diperlukan untuk menyetujui koneksi titik akhir privat pada jenis sumber daya target. Contoh jenis sumber daya tersebut adalah Azure Data Factory, Azure Databricks, dan Azure Function Apps.

Untuk membuat aturan keluar Private Endpoint ke sumber daya ruang kerja default, izin yang diperlukan sudah secara otomatis termasuk dalam penetapan peran yang diberikan selama pembuatan ruang kerja, jadi tidak diperlukan tindakan lain.

Konfigurasikan jaringan virtual terkelola untuk mengizinkan akses keluar ke internet

Petunjuk / Saran

Pembuatan VNet yang terkelola ditunda hingga sumber daya komputasi dibuat atau penyediaan dimulai secara manual. Ketika Anda mengizinkan pembuatan otomatis, dibutuhkan waktu sekitar 30 menit untuk membuat sumber daya komputasi pertama karena juga menyediakan jaringan. Untuk informasi selengkapnya, lihat Menyediakan jaringan secara manual.

Penting

Jika Anda berencana untuk mengajukan tugas Spark tanpa server, Anda harus mulai menyediakan secara manual. Untuk informasi selengkapnya, lihat bagian konfigurasi untuk pekerjaan Spark tanpa server.

Untuk mengonfigurasi jaringan virtual terkelola yang memungkinkan komunikasi keluar internet, Anda dapat menggunakan --managed-network allow_internet_outbound parameter atau file konfigurasi YAML yang berisi entri berikut:

managed_network:
  isolation_mode: allow_internet_outbound

Anda juga dapat menentukan aturan keluar ke layanan Azure lain yang diperlukan oleh ruang kerja. Aturan ini menentukan titik akhir privat yang memungkinkan sumber daya Azure berkomunikasi dengan jaringan virtual terkelola dengan aman. Aturan berikut menunjukkan penambahan titik akhir privat ke sumber daya Azure Blob.

managed_network:
  isolation_mode: allow_internet_outbound
  outbound_rules:
  - name: added-perule
    destination:
      service_resource_id: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>
      spark_enabled: true
      subresource_target: blob
    type: private_endpoint

Anda dapat mengonfigurasi jaringan virtual terkelola menggunakan perintah az ml workspace create atau az ml workspace update.

Contoh berikut membuat ruang kerja baru. Parameter --managed-network allow_internet_outbound mengonfigurasi jaringan virtual terkelola untuk ruang kerja:

az ml workspace create --name ws --resource-group rg --managed-network allow_internet_outbound

Untuk membuat ruang kerja menggunakan file YAML, gunakan --file parameter dan tentukan file YAML yang berisi pengaturan konfigurasi:

az ml workspace create --file workspace.yaml --resource-group rg --name ws

Contoh YAML berikut menentukan ruang kerja dengan jaringan virtual terkelola:

name: myworkspace
location: EastUS
managed_network:
    isolation_mode: allow_internet_outbound

Untuk mengonfigurasi jaringan virtual terkelola yang memungkinkan komunikasi keluar internet, gunakan ManagedNetwork kelas untuk menentukan jaringan dengan IsolationMode.ALLOW_INTERNET_OUTBOUND. Anda kemudian dapat menggunakan ManagedNetwork objek untuk membuat ruang kerja baru atau memperbarui yang sudah ada. Untuk menentukan aturan keluar ke layanan Azure yang diandalkan ruang kerja, gunakan kelas PrivateEndpointDestination untuk menentukan endpoint privat baru ke layanan.

Contoh berikut membuat ruang kerja baru bernama myworkspace, dengan aturan keluar bernama myrule yang menambahkan titik akhir privat untuk penyimpanan Azure Blob:

# Basic managed VNet configuration
network = ManagedNetwork(IsolationMode.ALLOW_INTERNET_OUTBOUND)

# Workspace configuration
ws = Workspace(
    name="myworkspace",
    location="eastus",
    managed_network=network
)

# Example private endpoint outbound to a blob
rule_name = "myrule"
service_resource_id = "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>"
subresource_target = "blob"
spark_enabled = True

# Add the outbound 
ws.managed_network.outbound_rules = [PrivateEndpointDestination(
    name=rule_name, 
    service_resource_id=service_resource_id, 
    subresource_target=subresource_target, 
    spark_enabled=spark_enabled)]

# Create the workspace
ws = ml_client.workspaces.begin_create(ws).result()
  1. Masuk ke portal Azure, dan pilih Azure Pembelajaran Mesin dari menu Buat sumber daya.

  2. Berikan informasi yang diperlukan pada tab Dasar .

  3. Dari tab Jaringan, pilih Privat dengan Internet Keluar.

    Cuplikan layar proses pembuatan ruang kerja dengan jaringan virtual terkelola untuk akses internet keluar.

  4. Untuk menambahkan aturan outbound, pilih Tambahkan aturan outbound yang ditentukan pengguna dari tab Jaringan. Dari bilah sisi Aturan Outbound Ruang Kerja, berikan informasi berikut:

    • Nama aturan: Nama untuk aturan. Nama harus unik untuk ruang kerja ini.
    • Jenis tujuan: Titik Akhir Privat merupakan satu-satunya pilihan ketika isolasi jaringan bersifat privat dengan lalu lintas internet keluar. Jaringan virtual terkelola dari Azure Machine Learning tidak mendukung pembuatan titik akhir privat untuk semua jenis sumber daya Azure. Untuk daftar sumber daya yang didukung, lihat bagian Endpoint privat.
    • Langganan: Langganan yang berisi sumber daya Azure yang ingin Anda tambahkan titik akhir privat.
    • Grup sumber daya: Grup sumber daya yang berisi sumber daya Azure yang ingin Anda tambahkan sebagai titik akhir privat.
    • Jenis sumber daya: Jenis sumber daya Azure.
    • Nama sumber daya: Nama sumber daya Azure.
    • Sumber Daya Sub: Sumber daya sub dari tipe sumber daya Azure.
    • Spark diaktifkan: Pilih opsi ini jika Anda ingin mengaktifkan pekerjaan Spark tanpa server untuk ruang kerja. Opsi ini hanya tersedia jika jenis sumber dayanya adalah Azure Storage.

    Tangkapan layar tentang menambahkan aturan keluar untuk titik akhir privat.

    Pilih Simpan untuk menyimpan aturan. Anda dapat terus menggunakan Menambahkan aturan outbound yang ditentukan pengguna untuk menambahkan aturan.

  5. Lanjutkan membuat ruang kerja seperti biasa.

Konfigurasikan jaringan virtual terkelola untuk hanya mengizinkan lalu lintas keluar yang disetujui

Petunjuk / Saran

VNet terkelola secara otomatis disediakan saat Anda membuat sumber daya komputasi. Ketika Anda mengizinkan pembuatan otomatis, dibutuhkan waktu sekitar 30 menit untuk membuat sumber daya komputasi pertama karena juga menyediakan jaringan. Jika Anda mengonfigurasi aturan keluar FQDN, aturan FQDN pertama menambahkan sekitar 10 menit ke waktu provisi. Untuk informasi selengkapnya, lihat Menyediakan jaringan secara manual.

Penting

Jika Anda berencana untuk mengajukan tugas Spark tanpa server, Anda harus mulai menyediakan secara manual. Untuk informasi selengkapnya, lihat bagian konfigurasi untuk pekerjaan Spark tanpa server.

Untuk mengonfigurasi jaringan virtual terkelola yang hanya memungkinkan komunikasi keluar yang disetujui, Anda dapat menggunakan --managed-network allow_only_approved_outbound parameter atau file konfigurasi YAML yang berisi entri berikut:

managed_network:
  isolation_mode: allow_only_approved_outbound

Anda juga dapat menentukan aturan keluar untuk menentukan komunikasi keluar yang disetujui. Aturan keluar dapat dibuat untuk jenis service_tag, , fqdndan private_endpoint. Aturan berikut menunjukkan penambahan titik akhir privat ke sumber daya Azure Blob, tag layanan ke Azure Data Factory, dan FQDN ke pypi.org:

Penting

  • Menambahkan koneksi keluar untuk tag layanan atau FQDN hanya berlaku saat VNet yang dikelola dikonfigurasi ke allow_only_approved_outbound.
  • Jika Anda menambahkan aturan keluar, Microsoft tidak dapat menjamin eksfiltrasi data.

Peringatan

Aturan keluar FQDN diimplementasikan menggunakan Azure Firewall. Jika Anda menggunakan aturan FQDN keluar, biaya untuk Azure Firewall akan ditambahkan ke faktur Anda. Untuk informasi selengkapnya, lihat Harga.

managed_network:
  isolation_mode: allow_only_approved_outbound
  outbound_rules:
  - name: added-servicetagrule
    destination:
      port_ranges: 80, 8080
      protocol: TCP
      service_tag: DataFactory
    type: service_tag
  - name: add-fqdnrule
    destination: 'pypi.org'
    type: fqdn
  - name: added-perule
    destination:
      service_resource_id: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>
      spark_enabled: true
      subresource_target: blob
    type: private_endpoint

Anda dapat mengonfigurasi jaringan virtual terkelola menggunakan perintah az ml workspace create atau az ml workspace update.

Contoh berikut menggunakan --managed-network allow_only_approved_outbound parameter untuk mengonfigurasi jaringan virtual terkelola:

az ml workspace create --name ws --resource-group rg --managed-network allow_only_approved_outbound

File YAML berikut menentukan ruang kerja dengan jaringan virtual terkelola:

name: myworkspace
location: EastUS
managed_network:
    isolation_mode: allow_only_approved_outbound

Untuk membuat ruang kerja menggunakan file YAML, gunakan --file parameter :

az ml workspace create --file workspace.yaml --resource-group rg --name ws

Untuk mengonfigurasi jaringan virtual terkelola yang hanya memungkinkan komunikasi keluar yang disetujui, gunakan ManagedNetwork kelas untuk menentukan jaringan dengan IsolationMode.ALLOW_ONLY_APPROVED_OUTBOUND. Anda kemudian dapat menggunakan ManagedNetwork objek untuk membuat ruang kerja baru atau memperbarui yang sudah ada. Untuk menentukan aturan keluar, gunakan kelas berikut:

Tujuan Kelas
Layanan Azure yang diandalkan oleh ruang kerja PrivateEndpointDestination
Tag layanan Azure ServiceTagDestination
Nama domain yang sepenuhnya memenuhi syarat (FQDN) FqdnDestination

Contoh berikut membuat ruang kerja baru bernama myworkspace, dengan beberapa aturan keluar:

  • myrule - Menambahkan titik akhir privat untuk penyimpanan Azure Blob.
  • datafactory - Menambahkan aturan tag layanan untuk berkomunikasi dengan Azure Data Factory.

Penting

  • Menambahkan koneksi keluar untuk tag layanan atau FQDN hanya berlaku saat VNet yang dikelola dikonfigurasi ke IsolationMode.ALLOW_ONLY_APPROVED_OUTBOUND.
  • Jika Anda menambahkan aturan keluar, Microsoft tidak dapat menjamin eksfiltrasi data.

Peringatan

Aturan keluar FQDN diimplementasikan menggunakan Azure Firewall. Jika Anda menggunakan aturan FQDN keluar, biaya untuk Azure Firewall akan ditambahkan ke faktur Anda. Untuk informasi selengkapnya, lihat Harga.

# Basic managed VNet configuration
network = ManagedNetwork(IsolationMode.ALLOW_ONLY_APPROVED_OUTBOUND)

# Workspace configuration
ws = Workspace(
    name="myworkspace",
    location="eastus",
    managed_network=network
)

# Append some rules
ws.managed_network.outbound_rules = []
# Example private endpoint outbound to a blob
rule_name = "myrule"
service_resource_id = "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>"
subresource_target = "blob"
spark_enabled = True
ws.managed_network.outbound_rules.append(
    PrivateEndpointDestination(
        name=rule_name, 
        service_resource_id=service_resource_id, 
        subresource_target=subresource_target, 
        spark_enabled=spark_enabled
    )
)

# Example service tag rule
rule_name = "datafactory"
service_tag = "DataFactory"
protocol = "TCP"
port_ranges = "80, 8080-8089"
ws.managed_network.outbound_rules.append(
    ServiceTagDestination(
        name=rule_name, 
        service_tag=service_tag, 
        protocol=protocol, 
        port_ranges=port_ranges
    )
)

# Example FQDN rule
ws.managed_network.outbound_rules.append(
    FqdnDestination(
        name="fqdnrule", 
        destination="pypi.org"
    )
)

# Create the workspace
ws = ml_client.workspaces.begin_create(ws).result()
  1. Masuk ke portal Azure, dan pilih Azure Pembelajaran Mesin dari menu Buat sumber daya.

  2. Berikan informasi yang diperlukan pada tab Dasar .

  3. Dari tab Jaringan, pilih Privat dengan Keluar yang Disetujui.

    Cuplikan layar membuat ruang kerja dengan jaringan virtual terkelola ke luar yang disetujui.

  4. Untuk menambahkan aturan outbound, pilih Tambahkan aturan outbound yang ditentukan pengguna dari tab Jaringan. Dari bilah sisi Aturan Outbound Ruang Kerja, berikan informasi berikut:

    • Nama aturan: Nama untuk aturan. Nama harus unik untuk ruang kerja ini.
    • Jenis tujuan: Titik Akhir Privat, Tag Layanan, atau FQDN. Tag Layanan dan FQDN hanya tersedia ketika isolasi jaringan bersifat privat dengan keluar yang disetujui.

    Jika jenis tujuan adalah Endpoint Pribadi, berikan informasi berikut:

    • Langganan: Langganan yang berisi sumber daya Azure yang ingin Anda tambahkan titik akhir privat.
    • Grup sumber daya: Grup sumber daya yang berisi sumber daya Azure yang ingin Anda tambahkan sebagai titik akhir privat.
    • Jenis sumber daya: Jenis sumber daya Azure.
    • Nama sumber daya: Nama sumber daya Azure.
    • Sumber Daya Sub: Sumber daya sub dari tipe sumber daya Azure.
    • Spark diaktifkan: Pilih opsi ini jika Anda ingin mengaktifkan pekerjaan Spark tanpa server untuk ruang kerja. Opsi ini hanya tersedia jika jenis sumber dayanya adalah Azure Storage.

    Petunjuk / Saran

    Azure Machine Learning VNet terkelola tidak mendukung pembuatan endpoint privat ke semua jenis sumber daya Azure. Untuk daftar sumber daya yang didukung, lihat bagian Endpoint privat.

    Cuplikan layar dari memperbarui jaringan keluar yang disetujui dengan menambahkan titik akhir privat.

    Jika jenis tujuan adalah Tag Layanan, berikan informasi berikut:

    • Tag servis: Tag servis yang akan ditambahkan ke aturan keluar yang disetujui.
    • Protokol: Protokol untuk mengizinkan tag layanan.
    • Rentang port: Rentang port untuk memungkinkan tag layanan.

    Tangkapan layar tentang memperbarui jaringan keluar yang telah disetujui dengan menambahkan tag layanan.

    Jika jenis tujuan adalah FQDN, berikan informasi berikut:

    Peringatan

    Aturan keluar FQDN diimplementasikan menggunakan Azure Firewall. Jika Anda menggunakan aturan FQDN keluar, biaya untuk Azure Firewall akan ditambahkan ke faktur Anda. Untuk informasi selengkapnya, lihat Harga.

    • Destinasi FQDN: Nama domain lengkap untuk ditambahkan ke ketentuan keluar yang disetujui.

    Cuplikan layar memperbarui jaringan keluar yang disetujui dengan menambahkan aturan FQDN untuk jaringan virtual terkelola keluar yang disetujui.

    Pilih Simpan untuk menyimpan aturan. Anda dapat terus menggunakan Menambahkan aturan outbound yang ditentukan pengguna untuk menambahkan aturan.

  5. Lanjutkan membuat ruang kerja seperti biasa.

Mengonfigurasi untuk pekerjaan Spark tanpa server

Petunjuk / Saran

Langkah-langkah di bagian ini hanya diperlukan jika Anda berencana untuk mengirimkan pekerjaan Spark tanpa server. Jika Anda tidak akan mengirimkan pekerjaan Spark tanpa server, Anda dapat melewati bagian ini.

Untuk mengaktifkan pekerjaan Spark tanpa server untuk jaringan virtual terkelola, Anda harus melakukan tindakan berikut:

  • Konfigurasikan jaringan virtual terkelola untuk ruang kerja dan tambahkan titik akhir privat keluar untuk Akun Azure Storage.
  • Setelah Anda mengonfigurasi jaringan virtual terkelola, provisikan dan benderai untuk mengizinkan pekerjaan Spark.
  1. Mengonfigurasi titik akhir privat yang keluar.

    Gunakan file YAML untuk menentukan konfigurasi jaringan virtual terkelola dan menambahkan titik akhir privat untuk Akun Azure Storage. Atur spark_enabled: truejuga :

    Petunjuk / Saran

    Contoh ini untuk VNet terkelola yang dikonfigurasi menggunakan isolation_mode: allow_internet_outbound untuk memungkinkan lalu lintas internet. Jika Anda hanya ingin mengizinkan lalu lintas keluar yang disetujui, gunakan isolation_mode: allow_only_approved_outbound.

    name: myworkspace
    managed_network:
      isolation_mode: allow_internet_outbound
      outbound_rules:
      - name: added-perule
        destination:
          service_resource_id: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>
          spark_enabled: true
          subresource_target: blob
        type: private_endpoint
    

    Anda dapat menggunakan file konfigurasi YAML dengan perintah az ml workspace update dengan menentukan parameter --file dan nama file YAML. Misalnya, perintah berikut memperbarui ruang kerja yang ada menggunakan file YAML bernama workspace_pe.yml:

    az ml workspace update --file workspace_pe.yml --resource-group rg --name ws
    

    Catatan

    Ketika Izinkan Hanya Disetujui Keluar diaktifkan (isolation_mode: allow_only_approved_outbound), dependensi paket conda yang ditentukan dalam konfigurasi sesi Spark gagal diinstal. Untuk mengatasi masalah ini, unggah roda paket Python mandiri tanpa dependensi eksternal ke akun penyimpanan Azure dan buat titik akhir privat ke akun penyimpanan ini. Gunakan jalur ke package wheel Python sebagai parameter py_files dalam pekerjaan Spark Anda. Mengatur aturan keluar untuk FQDN tidak akan mengatasi masalah ini karena penyebaran aturan FQDN tidak didukung oleh Spark.

    Contoh berikut menunjukkan cara membuat jaringan virtual terkelola untuk ruang kerja Azure Pembelajaran Mesin yang sudah ada bernama myworkspace. Ini juga menambahkan titik akhir privat untuk Akun Penyimpanan Azure dan mengatur spark_enabled=true:

    Petunjuk / Saran

    Contoh berikut adalah untuk VNet terkelola yang dikonfigurasi menggunakan IsolationMode.ALLOW_INTERNET_OUTBOUND untuk memungkinkan lalu lintas internet. Jika Anda hanya ingin mengizinkan lalu lintas keluar yang disetujui, gunakan IsolationMode.ALLOW_ONLY_APPROVED_OUTBOUND.

    # Get the existing workspace
    ml_client = MLClient(DefaultAzureCredential(), subscription_id, resource_group, "myworkspace")
    ws = ml_client.workspaces.get()
    
    # Basic managed VNet configuration
    ws.managed_network = ManagedNetwork(IsolationMode.ALLOW_INTERNET_OUTBOUND)
    
    # Example private endpoint outbound to a blob
    rule_name = "myrule"
    service_resource_id = "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>"
    subresource_target = "blob"
    spark_enabled = True
    
    # Add the outbound 
    ws.managed_network.outbound_rules = [PrivateEndpointDestination(
        name=rule_name, 
        service_resource_id=service_resource_id, 
        subresource_target=subresource_target, 
        spark_enabled=spark_enabled)]
    
    # Create the workspace
    ml_client.workspaces.begin_update(ws)
    

    Catatan

    • Ketika Izinkan Hanya Disetujui Keluar diaktifkan (isolation_mode: allow_only_approved_outbound), dependensi paket conda yang ditentukan dalam konfigurasi sesi Spark gagal diinstal. Untuk mengatasi masalah ini, unggah roda paket Python mandiri tanpa dependensi eksternal ke akun penyimpanan Azure dan buat titik akhir privat ke akun penyimpanan ini. Gunakan jalur ke roda paket Python sebagai py_files parameter dalam pekerjaan Spark.
    • Jika ruang kerja dibuat dengan IsolationMode.ALLOW_INTERNET_OUTBOUND, ruang kerja tidak dapat diperbarui nanti untuk menggunakan IsolationMode.ALLOW_ONLY_APPROVED_OUTBOUND.
    1. Masuk ke portal Azure, dan pilih ruang kerja Azure Pembelajaran Mesin.

    2. Pilih Jaringan, lalu pilih Tambahkan aturan keluar yang ditentukan pengguna. Tambahkan aturan untuk Akun Azure Storage, dan pastikan bahwa Spark diaktifkan dipilih.

      Cuplikan layar aturan titik akhir dengan Spark diaktifkan dipilih.

    3. Pilih Simpan untuk menyimpan aturan, lalu pilih Simpan dari bagian atas Jaringan untuk menyimpan perubahan ke jaringan virtual terkelola.

  2. Provisikan jaringan virtual terkelola.

    Catatan

    Jika ruang kerja Anda mengaktifkan akses jaringan publik, Anda harus menonaktifkannya sebelum menyediakan VNet terkelola. Jika Anda tidak menonaktifkan akses jaringan publik saat menyediakan VNet terkelola, titik akhir privat untuk ruang kerja mungkin tidak dibuat secara otomatis di VNet terkelola. Jika tidak, Anda harus mengonfigurasi secara manual aturan keluar titik akhir privat untuk ruang kerja tersebut setelah proses provisi.

    Contoh berikut menunjukkan cara menyediakan jaringan virtual terkelola untuk pekerjaan Spark tanpa server dengan menggunakan --include-spark parameter .

    az ml workspace provision-network -g my_resource_group -n my_workspace_name --include-spark
    

    Contoh berikut menunjukkan cara menyediakan jaringan virtual terkelola untuk pekerjaan Spark tanpa server:

    # Connect to a workspace named "myworkspace"
    ml_client = MLClient(DefaultAzureCredential(), subscription_id=subscription_id, resource_group_name=resource_group, workspace_name="myworkspace")
    
    # whether to provision Spark vnet as well
    include_spark = True
    
    provision_network_result = ml_client.workspaces.begin_provision_network(workspace_name=ws_name, include_spark=include_spark).result()
    

    Dari portal Microsoft Azure, Anda hanya dapat memilih untuk menyediakan jaringan terkelola selama pembuatan ruang kerja. Untuk melakukannya, pilih Provisikan jaringan virtual terkelola dari tab Akses keluar . Untuk menyediakan jaringan terkelola untuk pekerjaan Spark tanpa server untuk ruang kerja yang ada, Anda harus menggunakan Azure CLI atau Python SDK.

Memprovisikan VNet terkelola secara manual

Jaringan virtual terkelola secara otomatis disediakan saat Anda membuat instans komputasi. Ketika Anda mengandalkan provisi otomatis, diperlukan waktu sekitar 30 menit untuk membuat instans komputasi pertama karena juga menyediakan jaringan. Jika Anda mengonfigurasi aturan keluar FQDN (hanya tersedia dalam mode hanya izinkan yang disetujui), aturan FQDN pertama menambahkan sekitar 10 menit ke waktu penyediaan. Jika Anda memiliki sekumpulan besar aturan keluar yang akan disediakan di jaringan terkelola, diperlukan waktu lebih lama agar provisi selesai. Peningkatan waktu provisi dapat menyebabkan pembuatan instans komputasi pertama Anda kehabisan waktu.

Untuk mengurangi waktu tunggu dan menghindari potensi kesalahan waktu habis, sebaiknya provisikan jaringan terkelola secara manual. Kemudian tunggu hingga penyediaan selesai sebelum Anda membuat instans komputasi.

Atau, Anda dapat menggunakan tanda provision_network_now untuk menyediakan jaringan terkelola sebagai bagian dari pembuatan ruang kerja.

Catatan

Untuk membuat penyebaran online, Anda harus menyediakan jaringan terkelola secara manual, atau membuat instans komputasi terlebih dahulu yang akan secara otomatis menyediakannya.

Contoh berikut menunjukkan cara memprovisikan jaringan virtual terkelola selama pembuatan ruang kerja.

az ml workspace create -n myworkspace -g my_resource_group --managed-network AllowInternetOutbound --provision-network-now

Contoh berikut menunjukkan cara memprovisikan jaringan virtual terkelola secara manual.

Petunjuk / Saran

Jika Anda berencana untuk mengirimkan pekerjaan Spark tanpa server, tambahkan --include-spark parameter .

az ml workspace provision-network -g my_resource_group -n my_workspace_name

Untuk memverifikasi bahwa provisi selesai, gunakan perintah berikut:

az ml workspace show -n my_workspace_name -g my_resource_group --query managed_network

Untuk menyediakan jaringan terkelola selama pembuatan ruang kerja, atur parameter provision_network_now ke True.

provision_network_now: True

Contoh berikut menunjukkan cara memprovisikan jaringan virtual terkelola:

# Connect to a workspace named "myworkspace"
ml_client = MLClient(DefaultAzureCredential(), subscription_id=subscription_id, resource_group_name=resource_group, workspace_name="myworkspace")

# whether to provision Spark vnet as well
include_spark = True

provision_network_result = ml_client.workspaces.begin_provision_network(workspace_name=ws_name, include_spark=include_spark).result()

Untuk memverifikasi bahwa ruang kerja telah disediakan, gunakan ml_client.workspaces.get() untuk mendapatkan informasi ruang kerja. Properti managed_network berisi status jaringan terkelola.

ws = ml_client.workspaces.get()
print(ws.managed_network.status)

Selama pembuatan ruang kerja, pilih Provisikan jaringan terkelola secara proaktif saat pembuatan untuk menyediakan jaringan terkelola. Biaya dikeluarkan dari sumber daya jaringan, seperti titik akhir privat, setelah jaringan virtual disediakan. Opsi konfigurasi ini hanya tersedia selama pembuatan ruang kerja.

Mengonfigurasi pembangunan gambar

Saat Azure Container Registry untuk ruang kerja Anda berada di belakang jaringan virtual, Azure Container Registry tidak dapat digunakan untuk langsung membuat gambar Docker. Sebagai gantinya, konfigurasikan ruang kerja Anda untuk menggunakan kluster komputasi atau instans komputasi untuk membangun gambar.

Penting

Sumber daya komputasi yang digunakan untuk membangun gambar Docker harus dapat mengakses repositori paket yang digunakan untuk melatih dan menyebarkan model Anda. Jika Anda menggunakan jaringan yang dikonfigurasi untuk hanya mengizinkan keluar yang disetujui, Anda mungkin perlu menambahkan aturan yang memungkinkan akses ke repositori publik atau menggunakan paket Python privat.

Untuk menggunakan kluster komputasi atau instans komputasi dalam pembaruan ruang kerja guna membuat citra Docker, gunakan perintah az ml workspace update dengan parameter --image-build-compute.

az ml workspace update --name ws --resource-group rg --image-build-compute mycompute

Contoh berikut menunjukkan cara memperbarui ruang kerja untuk menggunakan kluster komputasi untuk membangun gambar:

# import required libraries
from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential

subscription_id = "<your subscription ID>"
resource_group = "<your resource group name>"
workspace = "<your workspace name>"

ml_client = MLClient(
    DefaultAzureCredential(), subscription_id=subscription_id, resource_group_name=resource_group, workspace_name=workspace
)

# Get workspace info
ws=ml_client.workspaces.get(name=workspace)
# Update to use cpu-cluster for image builds
ws.image_build_compute="mycompute"
ml_client.workspaces.begin_update(ws)
# To switch back to using ACR to build (if ACR is not in the virtual network):
# ws.image_build_compute = ''
# ml_client.workspaces.begin_update(ws)

Tidak ada cara untuk mengatur membangun gambar komputasi dari portal Azure. Sebagai gantinya, gunakan Azure CLI atau Python SDK.

Mengelola aturan eksternal

Untuk mencantumkan aturan keluar jaringan virtual terkelola untuk ruang kerja, gunakan perintah berikut:

az ml workspace outbound-rule list --workspace-name ws --resource-group rg

Untuk melihat detail aturan keluar jaringan virtual terkelola, gunakan perintah berikut:

az ml workspace outbound-rule show --rule rule-name --workspace-name ws --resource-group rg

Untuk menghapus aturan keluar dari jaringan virtual terkelola, gunakan perintah berikut:

az ml workspace outbound-rule remove --rule rule-name --workspace-name ws --resource-group rg

Contoh berikut menunjukkan cara mengelola aturan keluar untuk ruang kerja bernama myworkspace:

# Connect to the workspace
ml_client = MLClient(DefaultAzureCredential(), subscription_id=subscription_id, resource_group_name=resource_group, workspace_name="myworkspace")

# Specify the rule name
rule_name = "<some-rule-name>"

# Get a rule by name
rule = ml_client.workspace_outbound_rules.get(workspace_name="myworkspace", outbound_rule_name=rule_name)

# List rules for a workspace
rule_list = ml_client.workspace_outbound_rules.list(workspace_name="myworkspace")

# Delete a rule from a workspace
ml_client.workspace_outbound_rules.begin_remove(workspace_name="myworkspace", outbound_rule_name=rule_name).result()
  1. Masuk ke portal Azure, dan pilih ruang kerja Azure Pembelajaran Mesin yang ingin Anda aktifkan isolasi jaringan virtual terkelolanya.

  2. Pilih Jaringan. Bagian Akses keluar Ruang Kerja memungkinkan Anda mengelola aturan keluar.

    Cuplikan layar bagian aturan keluar.

  • Untuk menambahkanaturan keluar, pilih Tambahkan aturan keluar yang ditentukan pengguna dari tab Jaringan. Dari bilah sisi aturan keluar Ruang Kerja, berikan informasi berikut:

  • Untuk mengaktifkan atau menonaktifkan aturan, gunakan tombol di kolom Aktif .

  • Untuk menghapus aturan keluar, pilih opsi hapus untuk aturan tersebut.

Daftar aturan yang diperlukan

Titik akhir privat:

  • Ketika mode isolasi untuk jaringan virtual terkelola adalah Allow internet outbound, aturan keluar titik akhir privat secara otomatis dibuat sebagai aturan yang diperlukan dari jaringan virtual terkelola untuk ruang kerja dan sumber daya yang terkait dengan akses jaringan publik dinonaktifkan (ruang kerja Azure Machine Learning, Key Vault, Akun Penyimpanan, Container Registry).
  • Ketika mode isolasi untuk jaringan virtual terkelola adalah Allow only approved outbound, aturan keluar titik akhir privat secara otomatis dibuat sebagai aturan yang diperlukan dari jaringan virtual terkelola untuk ruang kerja dan sumber daya terkait tanpa memandang mode akses jaringan publik untuk sumber daya tersebut (Key Vault, Akun Penyimpanan, Container Registry, ruang kerja Azure Machine Learning).
  • Aturan ini secara otomatis ditambahkan ke jaringan virtual terkelola.

Agar Azure Pembelajaran Mesin berjalan normal, ada sekumpulan tag layanan yang diperlukan, yang diperlukan dalam pengaturan jaringan virtual terkelola atau kustom. Tidak ada alternatif untuk mengganti tag layanan tertentu yang diperlukan. Tabel berikut ini menjelaskan setiap tag layanan yang diperlukan dan tujuannya dalam Azure Machine Learning.

Aturan tag layanan Masuk atau Keluar Tujuan
AzureMachineLearning Kedatangan Membuat, memperbarui, dan menghapus instans/kluster komputasi Azure Pembelajaran Mesin.
AzureMachineLearning Perjalanan Keluar Menggunakan Azure Machine Learning service. Python intellisense dalam notebook menggunakan port 18881. Membuat, memperbarui, dan menghapus instans komputasi Azure Pembelajaran Mesin menggunakan port 5831.
AzureActiveDirectory Perjalanan Keluar Autentikasi menggunakan Microsoft Entra ID..
BatchNodeManagement.region Perjalanan Keluar Komunikasi dengan back-end Azure Batch untuk instance/cluster komputasi Azure Machine Learning.
AzureResourceManager Perjalanan Keluar Pembuatan sumber daya Azure dengan Azure Pembelajaran Mesin, Azure CLI, dan Azure Pembelajaran Mesin SDK.
AzureFrontDoor.FirstParty Perjalanan Keluar Mengakses gambar docker yang disediakan oleh Microsoft.
MicrosoftContainerRegistry Perjalanan Keluar Mengakses gambar docker yang disediakan oleh Microsoft. Menyiapkan router Azure Machine Learning untuk Azure Kubernetes Service.
AzureMonitor Perjalanan Keluar Digunakan untuk mencatat pemantauan dan metrik ke Azure Monitor. Hanya diperlukan jika Azure Monitor untuk ruang kerja tidak diamankan. Outbound ini juga digunakan untuk mencatat informasi untuk insiden dukungan.
VirtualNetwork Perjalanan Keluar Diperlukan saat titik akhir privat ada di jaringan virtual atau jaringan virtual yang di-peering.

Catatan

Tag layanan sebagai satu-satunya batas keamanan tidaklah memadai. Untuk isolasi tingkat penyewa, gunakan endpoint privat jika memungkinkan.

Daftar skenario aturan keluar tertentu

Skenario: Mengakses paket pembelajaran mesin publik

Untuk memperbolehkan penginstalan paket Python untuk pelatihan dan penyebaran, tambahkan aturan FQDN keluar agar lalu lintas diizinkan ke nama host berikut:

Peringatan

Aturan keluar FQDN diimplementasikan menggunakan Azure Firewall. Jika Anda menggunakan aturan FQDN keluar, biaya untuk Azure Firewall akan ditambahkan ke faktur Anda. Untuk informasi selengkapnya, lihat Harga.

Catatan

Daftar berikut ini tidak berisi semua host yang diperlukan untuk semua sumber daya Python di internet, hanya yang paling umum digunakan. Misalnya, jika Anda memerlukan akses ke repositori GitHub atau host lain, Anda harus mengidentifikasi dan menambahkan host yang diperlukan untuk skenario tersebut.

Nama host Tujuan
anaconda.com
*.anaconda.com
Digunakan untuk menginstal paket default.
*.anaconda.org Digunakan untuk mendapatkan data repositori.
pypi.org Berfungsi untuk mencantumkan dependensi dari indeks bawaan, jika berlaku, dan indeks tersebut tidak diubah oleh pengaturan pengguna. Jika indeks ditimpa, Anda juga harus mengizinkan *.pythonhosted.org.
pytorch.org
*.pytorch.org
Digunakan oleh beberapa contoh berdasarkan PyTorch.
*.tensorflow.org Digunakan oleh beberapa contoh berdasarkan TensorFlow.

Skenario: Menggunakan desktop atau web Visual Studio Code dengan instans komputasi

Jika Anda berencana menggunakan Visual Studio Code dengan Azure Machine Learning, tambahkan aturan keluar FQDN untuk memungkinkan lalu lintas ke host berikut:

Catatan

Daftar berikut ini bukan daftar lengkap host yang diperlukan untuk semua sumber daya Visual Studio Code di internet, hanya yang paling umum digunakan. Misalnya, jika Anda memerlukan akses ke repositori GitHub atau host lain, Anda harus mengidentifikasi dan menambahkan host yang diperlukan untuk skenario tersebut. Untuk daftar lengkap nama host, lihat Koneksi Jaringan di Visual Studio Code.

Nama host Tujuan
*.vscode.dev
*.vscode-unpkg.net
*.vscode-cdn.net
*.vscodeexperiments.azureedge.net
default.exp-tas.com
Harus mengakses vscode.dev (Visual Studio Code versi Web)
code.visualstudio.com Harus mengunduh dan menginstal Visual Studio Code versi desktop. Host ini tidak diperlukan untuk Web Visual Studio Code.
update.code.visualstudio.com
*.vo.msecnd.net
Digunakan untuk mengambil bit server VS Code yang diinstal pada instans komputasi melalui skrip penyetelan.
marketplace.visualstudio.com
vscode.blob.core.windows.net
*.gallerycdn.vsassets.io
Harus mengunduh dan menginstal ekstensi Visual Studio Code. Host ini memungkinkan koneksi jarak jauh ke instans komputasi. Untuk informasi selengkapnya, lihat Mengelola sumber daya Azure Pembelajaran Mesin di Visual Studio Code.
vscode.download.prss.microsoft.com CDN yang digunakan untuk mengunduh Visual Studio Code

Skenario: Menggunakan endpoint batch atau ParallelRunStep

Jika Anda berencana menggunakan titik akhir batch Azure Pembelajaran Mesin untuk penyebaran atau ParallelRunStep, tambahkan aturan titik akhir privat keluar untuk memungkinkan lalu lintas ke sub sumber daya berikut untuk akun penyimpanan default:

  • queue
  • table
  • Titik akhir privat ke Alat Foundry
  • Titik akhir privat untuk Azure AI Search

Skenario: Menggunakan model HuggingFace

Jika Anda berencana menggunakan model HuggingFace dengan Azure Pembelajaran Mesin, tambahkan aturan FQDN keluar untuk memungkinkan lalu lintas ke host berikut:

Peringatan

Aturan keluar FQDN diimplementasikan menggunakan Azure Firewall. Jika Anda menggunakan aturan FQDN keluar, biaya untuk Azure Firewall akan ditambahkan ke faktur Anda. Untuk informasi selengkapnya, lihat Harga.

  • docker.io
  • *.docker.io
  • *.docker.com
  • production.cloudflare.docker.com
  • cdn.auth0.com
  • cdn-lfs.huggingface.co

Skenario: Mengaktifkan akses dari Alamat IP yang dipilih

Jika Anda ingin mengaktifkan akses dari alamat IP tertentu, gunakan tindakan berikut:

  1. Tambahkan aturan titik akhir privat keluar untuk mengizinkan lalu lintas ke ruang kerja Azure Machine Learning. Aturan ini memungkinkan instans komputasi yang dibuat di jaringan virtual terkelola untuk mengakses ruang kerja.

    Petunjuk / Saran

    Anda tidak dapat menambahkan aturan ini selama pembuatan ruang kerja, karena ruang kerja belum ada.

  2. Aktifkan akses jaringan publik ke ruang kerja. Untuk informasi selengkapnya, lihat akses jaringan publik diaktifkan.

  3. Tambahkan alamat IP Anda ke firewall untuk Azure Pembelajaran Mesin. Untuk informasi selengkapnya, lihat mengaktifkan akses hanya dari rentang IP tertentu.

    Catatan

    Hanya alamat IPv4 yang didukung.

Untuk informasi selengkapnya, lihat Mengonfigurasi tautan privat.

Titik Akhir Privat

Titik akhir privat saat ini didukung untuk layanan Azure berikut:

  • Azure Machine Learning
  • Registri Azure Pembelajaran Mesin
  • Azure Storage (semua jenis sub sumber daya)
  • Azure Container Registry
  • Azure Key Vault
  • Alat Pengecoran
  • Azure AI Search (sebelumnya Cognitive Search)
  • Azure SQL Server
  • Azure Data Factory
  • Azure Cosmos DB (semua jenis sub sumber daya)
  • Azure Event Hubs
  • Azure Managed Redis
  • Azure Databricks
  • Azure Database for MariaDB
  • Azure Database for PostgreSQL - Server Tunggal
  • Database Azure untuk Server Fleksibel PostgreSQL
  • Azure Database for MySQL
  • Azure API Management
    • Hanya mendukung tingkat Klasik tanpa injeksi VNET dan tingkat Standard V2 dengan integrasi jaringan virtual. Untuk informasi selengkapnya tentang jaringan virtual API Management, lihat Konsep Virtual Network
  • Application Insights (Melalui PrivateLinkScopes)

Saat membuat titik akhir privat, Anda menyediakan jenis sumber daya dan sub sumber daya tempat titik akhir tersambung. Beberapa sumber daya memiliki beberapa jenis dan sub sumber daya. Untuk informasi selengkapnya, lihat apa itu endpoint privat.

Saat Anda membuat titik akhir privat untuk sumber daya dependensi Azure Pembelajaran Mesin, seperti Azure Storage, Azure Container Registry, dan Azure Key Vault, sumber daya dapat berada di langganan Azure yang berbeda. Namun, sumber daya harus berada di penyewa yang sama dengan ruang kerja Azure Pembelajaran Mesin.

Titik akhir privat untuk ruang kerja tidak dibuat secara otomatis. Mereka hanya dibuat ketika komputasi pertama dibuat atau ketika provisi jaringan virtual terkelola dipaksa. Untuk informasi selengkapnya tentang memaksa provisi jaringan virtual terkelola, lihat Provisi jaringan secara manual.

Persetujuan titik akhir privat

Untuk membuat koneksi Titik Akhir Privat di jaringan virtual terkelola menggunakan Azure Machine Learning, identitas terkelola ruang kerja, baik yang ditetapkan sistem atau ditetapkan pengguna, harus memiliki izin untuk menyetujui koneksi Titik Akhir Privat pada sumber daya target. Sebelumnya, penugasan ini dilakukan melalui penetapan peran otomatis oleh layanan Azure Machine Learning. Namun, ada kekhawatiran keamanan tentang penetapan peran otomatis. Untuk meningkatkan keamanan, mulai 30 April 2025, penetapan peran ini tidak otomatis.

Sebaiknya tetapkan peran Pemberi Persetujuan Koneksi Jaringan Azure AI Enterprise, atau peran kustom dengan izin koneksi Titik Akhir Privat yang diperlukan, pada jenis sumber daya target. Untuk mengizinkan layanan Azure Machine Learning menyetujui koneksi Titik Akhir Privat ke sumber daya Azure target, berikan peran ini ke identitas terkelola ruang kerja Azure Machine Learning.

Berikut adalah daftar jenis sumber daya target titik akhir privat yang dicakup oleh peran Pemberi Persetujuan Koneksi Jaringan Perusahaan Azure AI:

  • Azure Application Gateway
  • Azure Monitor
  • Pencarian Azure AI
  • Pusat Aktivitas
  • Azure SQL Database
  • Azure Storage
  • Ruang kerja Azure Machine Learning
  • Registri Azure Machine Learning
  • Pengecoran
  • Azure Key Vault
  • Azure Cosmos DB
  • Azure Database for MySQL
  • Azure Database for PostgreSQL
  • Alat Pengecoran
  • Azure Managed Redis
  • Container Registry
  • API Management

Untuk membuat aturan keluar Titik Akhir Privat ke jenis sumber daya target yang tidak dicakup oleh peran Pemberi Persetujuan Koneksi Jaringan Perusahaan Azure AI, disarankan menggunakan peran khusus berlingkup terbatas. Aturan harus menentukan tindakan yang diperlukan untuk menyetujui koneksi titik akhir privat pada jenis sumber daya target. Contoh jenis sumber daya tersebut adalah Azure Data Factory, Azure Databricks, dan Azure Function Apps.

Untuk membuat aturan keluar Private Endpoint ke sumber daya ruang kerja default, izin yang diperlukan sudah secara otomatis termasuk dalam penetapan peran yang diberikan selama pembuatan ruang kerja, jadi tidak diperlukan tindakan lain.

Pilih versi Azure Firewall untuk diizinkan hanya lalu lintas keluar yang disetujui.

Azure Firewall disebarkan jika aturan FQDN keluar dibuat saat dalam mode izinkan hanya keluar yang disetujui. Biaya untuk Azure Firewall disertakan dalam tagihan Anda. Secara default, versi Standar AzureFirewall dibuat. Secara opsional, Anda dapat memilih untuk menggunakan versi Dasar . Anda dapat mengubah versi firewall yang digunakan sesuai kebutuhan. Untuk mengetahui versi mana yang terbaik untuk Anda, kunjungi Memilih versi Azure Firewall yang tepat.

Penting

Firewall belum dibuat sampai Anda menambahkan aturan FQDN eksternal. Untuk informasi selengkapnya tentang harga, lihat Harga Azure Firewall dan lihat harga untuk versi standar . Pemfilteran berbasis URL hanya didukung dengan SKU Premium Azure Firewall, bukan SKU Dasar atau Standar Azure Firewall. Jaringan virtual terkelola tidak mendukung SKU Premium Azure Firewall.

Setelah memilih mode keluar yang diizinkan hanya disetujui, opsi untuk memilih versi Azure Firewall (SKU) muncul. Pilih Standar untuk menggunakan versi standar atau Dasar untuk menggunakan versi dasar. Pilih Simpan untuk menyimpan konfigurasi Anda.

Untuk mengonfigurasi versi firewall dari CLI, gunakan file YAML dan tentukan firewall_sku. Contoh berikut menunjukkan file YAML yang mengatur SKU firewall ke basic:

name: test-ws
resource_group: test-rg
location: eastus2 
managed_network:
  isolation_mode: allow_only_approved_outbound
  outbound_rules:
  - category: required
    destination: 'contoso.com'
    name: contosofqdn
    type: fqdn
  firewall_sku: basic
tags: {}

Untuk mengonfigurasi versi firewall dari Python SDK, atur firewall_sku properti ManagedNetwork objek. Contoh berikut menunjukkan cara mengatur SKU firewall ke basic:

from azure.ai.ml.constants._workspace import FirewallSku
from azure.ai.ml.entities import IsolationMode, ManagedNetwork

network = ManagedNetwork(isolation_mode=IsolationMode.ALLOW_ONLY_APPROVED_OUTBOUND,
                         firewall_sku=FirewallSku.BASIC)

Harga

Fitur jaringan virtual terkelola Azure Pembelajaran Mesin gratis. Namun, Anda dikenakan biaya untuk sumber daya berikut yang digunakan oleh jaringan virtual terkelola:

  • Azure Private Link - Titik akhir privat yang digunakan untuk mengamankan komunikasi antara jaringan virtual terkelola dan sumber daya Azure bergantung pada Azure Private Link. Untuk informasi selengkapnya tentang harga, lihat Harga Azure Private Link.

  • Aturan keluar FQDN - Aturan keluar FQDN diterapkan menggunakan Azure Firewall. Jika Anda menggunakan aturan FQDN keluar, biaya untuk Azure Firewall akan ditambahkan ke faktur Anda. Versi standar Azure Firewall digunakan secara default. Untuk informasi tentang memilih versi dasar, lihat Memilih versi Azure Firewall.

    Penting

    Firewall belum dibuat sampai Anda menambahkan aturan FQDN eksternal. Untuk informasi selengkapnya tentang harga, lihat Harga Azure Firewall dan lihat harga untuk versi standar .

Batasan

  • Setelah mengaktifkan isolasi jaringan virtual terkelola pada ruang kerja Anda (izinkan keluar ke internet atau izinkan hanya koneksi keluar yang disetujui), Anda tidak dapat menonaktifkannya.
  • Jaringan virtual terkelola menggunakan koneksi titik akhir privat untuk mengakses sumber daya privat Anda. Anda tidak dapat memiliki titik akhir privat dan titik akhir layanan secara bersamaan untuk sumber daya Azure Anda, seperti akun penyimpanan. Sebaiknya gunakan titik akhir privat di semua skenario.
  • Jaringan virtual terkelola dihapus saat ruang kerja dihapus.
  • Pastikan tidak ada kunci cakupan pada sumber daya dan grup sumber daya Azure Pembelajaran Mesin. Operasi internal yang terkait dengan jaringan virtual terkelola mungkin diblokir.
  • Perlindungan penyelundupan data diaktifkan secara otomatis untuk satu-satunya mode keluar yang disetujui. Jika Anda menambahkan aturan keluar lainnya, seperti ke FQDN, Microsoft tidak dapat menjamin bahwa Anda terlindungi dari penyelundupan data ke tujuan keluar tersebut.
  • Membuat kluster komputasi di wilayah yang berbeda dari ruang kerja tidak didukung saat menggunakan jaringan virtual terkelola.
  • Kubernetes dan VM yang terpasang tidak didukung di jaringan virtual terkelola Azure Pembelajaran Mesin.
  • Menggunakan aturan keluar FQDN meningkatkan biaya jaringan virtual terkelola karena aturan FQDN menggunakan Azure Firewall. Untuk informasi selengkapnya, lihat Harga.
  • Aturan keluar FQDN hanya mendukung port 80 dan 443.
  • Jika instans komputasi Anda berada di jaringan terkelola dan dikonfigurasi tanpa IP publik, gunakan az ml compute connect-ssh perintah untuk menyambungkannya menggunakan SSH.
  • Saat menggunakan jaringan virtual Terkelola, Anda tidak dapat menyebarkan sumber daya komputasi di dalam jaringan virtual kustom Anda. Sumber daya komputasi hanya dapat dibuat di dalam jaringan virtual terkelola.
  • Jika jaringan terkelola Anda dikonfigurasi untuk hanya mengizinkan keluar yang disetujui, Anda tidak dapat menggunakan aturan FQDN untuk mengakses Akun Azure Storage. Anda harus menggunakan titik akhir privat sebagai gantinya.
  • Pastikan untuk mengizinkan titik akhir privat yang dikelola Microsoft yang dibuat untuk jaringan virtual terkelola dalam kebijakan kustom Anda.

Migrasi sumber daya komputasi

Jika Anda memiliki ruang kerja yang sudah ada dan ingin mengaktifkan jaringan virtual terkelola untuk ruang kerja tersebut, saat ini tidak ada jalur migrasi yang didukung untuk sumber daya komputasi terkelola yang ada. Anda harus menghapus semua sumber daya komputasi terkelola yang ada dan membuatnya kembali setelah mengaktifkan jaringan virtual terkelola. Daftar berikut berisi sumber daya komputasi yang harus dihapus dan dibuat ulang:

  • Kluster komputasi
  • Instans Komputasi
  • Titik akhir online terkelola

Langkah berikutnya