Menyiapkan autentikasi antara Azure Machine Learning dan layanan lainnya

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

Azure Machine Learning terdiri dari beberapa layanan Azure. Beberapa metode mendukung autentikasi antara Azure Machine Learning dan layanan yang diandalkannya.

  • Ruang kerja Azure Machine Learning menggunakan identitas terkelola untuk berkomunikasi dengan layanan lain. Secara default, identitas ini adalah identitas terkelola yang ditetapkan sistem. Anda juga dapat menggunakan identitas terkelola yang ditetapkan pengguna sebagai gantinya.
  • Azure Machine Learning menggunakan Azure Container Registry (ACR) untuk menyimpan gambar Docker yang digunakan untuk melatih dan menyebarkan model. Jika Anda mengizinkan Azure Machine Learning membuat ACR secara otomatis, azure Machine Learning akan mengaktifkan akun admin.
  • Kluster komputasi Azure Machine Learning menggunakan identitas terkelola untuk mengambil informasi koneksi untuk datastore dari Azure Key Vault dan untuk menarik gambar Docker dari ACR. Anda juga dapat mengonfigurasi akses berbasis identitas ke penyimpanan data, yang menggunakan identitas terkelola kluster komputasi.
  • Akses data dapat terjadi di sepanjang beberapa jalur tergantung pada layanan penyimpanan data dan konfigurasi Anda. Misalnya, autentikasi ke datastore mungkin menggunakan kunci akun, token, prinsip keamanan, identitas terkelola, atau identitas pengguna.
  • Titik akhir online terkelola dapat menggunakan identitas terkelola untuk mengakses sumber daya Azure saat melakukan inferensi. Untuk informasi selengkapnya, lihat Mengakses sumber daya Azure dari titik akhir online.

Prasyarat

  • Ruang kerja Azure Machine Learning. Untuk instruksi membuat ruang kerja, lihat Buat ruang kerja.

  • Azure CLI dan ekstensi ml atau Azure Machine Learning Python SDK versi 2

    Untuk menginstal Azure CLI dan ekstensi ml, lihat Instal dan atur CLI (v2).

    Contoh-contoh dalam artikel ini berasumsi bahwa Anda menggunakan shell Bash atau shell yang kompatibel. Misalnya, Anda dapat menggunakan shell pada sistem Linux atau Windows Subsystem for Linux.

  • Untuk menetapkan peran, Anda harus masuk dengan langganan Azure Anda dan memiliki peran Operator Identitas Terkelola, atau peran lain yang memberikan tindakan yang diperlukan (seperti Pemilik).

  • Anda harus terbiasa membuat dan bekerja dengan Identitas Terkelola.

Peran RBAC berdasarkan skenario

Bergantung pada skenario Anda, Anda memerlukan peran Azure RBAC tertentu:

Scenario Peran yang diperlukan
Ruang kerja dengan identitas yang ditetapkan pengguna Kontributor pada ruang kerja, Kontributor Data Blob Penyimpanan pada penyimpanan, Administrator Key Vault, atau kebijakan akses pada brankas kunci, Kontributor pada ACR
Kluster komputasi yang mengakses penyimpanan Pembaca Data Blob Penyimpanan (minimum) pada akun penyimpanan
Akses data berbasis identitas Pembaca Data Blob Penyimpanan di Azure Blob Storage, Azure Data Lake Storage Gen1, atau Gen2
Menarik gambar dari ACR ACRPull pada registri kontainer
Akses ACR pribadi ACRPull pada registri kontainer privat

Untuk informasi selengkapnya tentang menetapkan peran, lihat Mengelola akses ke ruang kerja Azure Machine Learning.

Pilih metode autentikasi

Tabel berikut ini meringkas kapan harus menggunakan setiap pendekatan autentikasi:

Scenario Identitas yang direkomendasikan Alternatif
Ruang kerja yang mengakses penyimpanan, Key Vault, dan ACR Identitas terkelola yang diberikan oleh sistem Identitas terkelola yang ditetapkan pengguna
Komputasi kluster dalam pekerjaan pelatihan Komputasi identitas terkelola Identitas pengguna (melalui konfigurasi pekerjaan)
Inferensi kluster Kubernetes Identitas terkelola titik akhir Identitas yang ditetapkan sistem
Akses data interaktif (notebook, studio) Identitas pengguna Identitas terkelola ruang kerja
Azure Container Registry tanpa pengguna admin Identitas terkelola yang diberikan oleh sistem Identitas terkelola yang ditetapkan pengguna
Beberapa ruang kerja berbagi sumber daya Identitas terkelola yang ditetapkan pengguna dengan isolasi data ID yang diberikan oleh sistem (tidak disarankan)

Keterbatasan

Sebelum mengonfigurasi autentikasi, ketahui batasan ini:

  • Perubahan jenis identitas: Setelah Anda membuat ruang kerja dengan identitas yang ditetapkan sistem ditambah identitas yang ditetapkan pengguna (SAI+UAI), Anda tidak dapat mengubahnya kembali ke yang ditetapkan sistem saja (SAI).
  • Akses lintas penyewa: Akses lintas penyewa terhadap akun-akun penyimpanan tidak didukung. Jika skenario Anda memerlukan akses lintas penyewa, buat permintaan dukungan Azure untuk bantuan dengan solusi kode kustom.
  • Identitas kluster komputasi: Kluster komputasi Azure Machine Learning hanya mendukung satu identitas yang ditetapkan sistem atau beberapa identitas yang ditetapkan pengguna, tidak keduanya secara bersamaan.
  • Identitas kluster Kubernetes: Kluster Azure Machine Learning Kubernetes hanya mendukung satu identitas yang ditetapkan sistem atau satu identitas yang ditetapkan pengguna, tidak keduanya secara bersamaan.
  • Kekekalan identitas titik akhir: Identitas untuk titik akhir online tidak dapat diubah. Anda dapat mengaitkannya dengan identitas yang ditetapkan sistem (default) atau identitas yang ditetapkan pengguna selama pembuatan, tetapi Anda tidak dapat mengubahnya setelah titik akhir dibuat.
  • Waktu isolasi data: Anda hanya dapat mengatur opsi isolasi data saat membuat ruang kerja. Anda tidak dapat mengaktifkan atau menonaktifkannya setelah pembuatan ruang kerja.

Memverifikasi pengaturan Anda

Setelah mengonfigurasi identitas terkelola, verifikasi bahwa penyiapan Anda berfungsi dengan benar.

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

# Verify workspace identity
az ml workspace show --name <workspace-name> --resource-group <resource-group> --query identity

Output yang diharapkan: Objek JSON memperlihatkan jenis identitas (SystemAssigned, , UserAssignedatau SystemAssigned,UserAssigned) dan ID utama.

# Verify compute cluster identity
az ml compute show --name <compute-name> --resource-group <resource-group> --workspace-name <workspace-name> --query identity

Output yang diharapkan: Objek JSON memperlihatkan konfigurasi identitas terkelola untuk kluster komputasi.

Jenis identitas ruang kerja

Ruang kerja Azure Machine Learning menggunakan identitas terkelola untuk berkomunikasi dengan layanan lain. Azure Machine Learning mendukung beberapa jenis identitas.

Jenis identitas terkelola Pembuatan penugasan peran Tujuan
Ditetapkan sistem (SAI) Dikelola oleh Microsoft Siklus hidup terkait dengan sumber daya; penggunaan sumber daya tunggal; mudah untuk memulai
Penugasan oleh sistem + penugasan oleh pengguna (SAI+UAI) Dikelola oleh Anda Siklus hidup independen untuk identitas yang ditetapkan oleh pengguna; penggunaan multi-sumber daya; mengendalikan akses dengan hak akses paling minimal; mengakses data dalam tugas pelatihan.

Setelah Membuat ruang kerja dengan jenis identitas SAI, Anda dapat memperbaruinya ke SAI+UAI. Anda tidak dapat memperbarui ruang kerja dari SAI+UAI ke SAI. Anda dapat menetapkan beberapa identitas yang ditetapkan pengguna ke ruang kerja yang sama.

Identitas terkelola yang ditetapkan pengguna

Ruang Kerja

Anda dapat menambahkan identitas terkelola yang ditetapkan pengguna saat membuat ruang kerja Azure Machine Learning dari portal Microsoft Azure. Gunakan langkah-langkah berikut saat membuat ruang kerja:

  1. Dari halaman Dasar , pilih Akun Azure Storage, Azure Container Registry, dan Azure Key Vault yang ingin Anda gunakan dengan ruang kerja.
  2. Dari halaman Identitas , pilih Identitas yang ditetapkan pengguna lalu pilih identitas terkelola yang akan digunakan.

Penetapan peran Azure RBAC berikut diperlukan pada identitas terkelola yang ditetapkan pengguna untuk ruang kerja Azure Machine Learning Anda untuk mengakses data pada sumber daya terkait ruang kerja.

Sumber Daya Persetujuan
Ruang kerja Azure Machine Learning Kontributor
Azure Storage Kontributor (sarana kontrol) + Kontributor Data Blob Penyimpanan (bidang data, opsional, untuk mengaktifkan pratinjau data di studio Azure Machine Learning)
Azure Key Vault (saat menggunakan model izin RBAC) Kontributor (sarana kontrol) + Administrator Key Vault (bidang data)
Azure Key Vault (saat menggunakan model izin kebijakan akses) Kontributor + izin kebijakan akses apa pun selain operasi pembersihan
Azure Container Registry Kontributor
Azure Application Insights Kontributor

Untuk pembuatan penetapan peran otomatis pada identitas terkelola yang ditetapkan pengguna, Anda dapat menggunakan templat ARM ini.

Kiat

Untuk ruang kerja dengan kunci yang dikelola pelanggan untuk enkripsi, Anda dapat meneruskan identitas terkelola yang ditetapkan pengguna untuk mengautentikasi dari penyimpanan ke Key Vault. user-assigned-identity-for-cmk-encryption Gunakan parameter (CLI) atau user_assigned_identity_for_cmk_encryption (SDK) untuk meneruskan identitas terkelola. Identitas terkelola ini dapat sama atau berbeda dengan identitas terkelola yang ditetapkan oleh pengguna utama ruang kerja.

Menemukan ID sumber daya identitas terkelola yang ditetapkan pengguna

Saat mengonfigurasi identitas terkelola yang ditetapkan pengguna (UAI), Anda memerlukan ID sumber dayanya. Gunakan salah satu metode berikut untuk menemukannya:

  • Portal Microsoft Azure: Navigasikan ke sumber daya identitas terkelola Anda, pilih Properti dari menu sebelah kiri, dan salin nilai ID Sumber Daya .

  • Azure CLI: Jalankan perintah berikut:

    az identity show --name <identity-name> --resource-group <resource-group> --query id --output tsv
    

ID sumber daya mengikuti format ini:

/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<identity-name>

Untuk membuat ruang kerja dengan beberapa identitas yang ditetapkan pengguna, gunakan salah satu metode berikut:

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

az ml workspace create -f workspace_creation_with_multiple_UAIs.yml --subscription <subscription ID> --resource-group <resource group name> --name <workspace name>

Contoh berikut menunjukkan isi dari workspace_creation_with_multiple_UAIs.yml:

location: <region name>
identity:
   type: user_assigned
   user_assigned_identities:
    # Format: /subscriptions/<sub-id>/resourceGroups/<rg>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<name>
    '<UAI resource ID 1>': {}
    '<UAI resource ID 2>': {}
storage_account: <storage account resource ID>
key_vault: <key vault resource ID>
image_build_compute: <compute (virtual machine) resource ID>
primary_user_assigned_identity: <one of the UAI resource IDs in the above list>

Untuk memperbarui identitas yang ditetapkan pengguna untuk ruang kerja, termasuk menambahkan identitas baru atau menghapus identitas yang sudah ada, gunakan salah satu metode berikut:

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

az ml workspace update -f workspace_update_with_multiple_UAIs.yml --subscription <subscription ID> --resource-group <resource group name> --name <workspace name>

Contoh berikut ini menunjukkan konten workspace_update_with_multiple_UAIs.yml:

identity:
   type: user_assigned
   user_assigned_identities:
    # Format: /subscriptions/<sub-id>/resourceGroups/<rg>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<name>
    '<UAI resource ID 1>': {}
    '<UAI resource ID 2>': {}
primary_user_assigned_identity: <one of the UAI resource IDs in the above list>

Kiat

Untuk menambahkan UAI baru, tentukan ID UAI baru di bawah bagian user_assigned_identities bersama dengan UAI yang ada. Anda harus melewati semua ID UAI yang ada.
Untuk menghapus satu atau beberapa UAI yang ada, tambahkan ID UAI yang ingin Anda hapus di dalam bagian user_assigned_identities. ID UAI yang tidak Anda sertakan dihapus.

Menambahkan identitas terkelola yang ditetapkan pengguna ke ruang kerja selain identitas yang ditetapkan sistem

Dalam beberapa skenario, Anda mungkin perlu menggunakan identitas terkelola yang ditetapkan pengguna selain identitas ruang kerja default yang ditetapkan sistem. Untuk menambahkan identitas terkelola yang ditetapkan pengguna tanpa mengubah identitas ruang kerja yang ada, gunakan langkah-langkah berikut:

  1. Buat identitas terkelola yang ditetapkan oleh pengguna. Simpan ID untuk identitas terkelola yang Anda buat.

  2. Untuk melampirkan identitas terkelola ke ruang kerja Anda, buat file YAML yang menentukan identitas. Contoh berikut menunjukkan konten file YAML. Ganti penanda <TENANT_ID>, <RESOURCE_GROUP>, dan <USER_MANAGED_ID> dengan nilai Anda.

    identity:
        type: system_assigned,user_assigned
        tenant_id: <TENANT_ID>
        user_assigned_identities:
            '/subscriptions/<SUBSCRIPTION_ID/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER_MANAGED_ID>':
            {}
    
  3. Gunakan perintah Azure CLI az ml workspace update untuk memperbarui ruang kerja Anda. Tentukan file YAML dari langkah sebelumnya dengan menggunakan --file parameter . Contoh berikut menunjukkan seperti apa perintah ini:

    az ml workspace update --resource-group <RESOURCE_GROUP> --name <WORKSPACE_NAME> --file <YAML_FILE_NAME>.yaml
    

Isolasi data untuk sumber daya bersama

Saat beberapa ruang kerja berbagi sumber daya terkait yang sama (akun penyimpanan, brankas kunci, atau registri kontainer), aktifkan isolasi data untuk mencegah konflik penamaan dan pastikan setiap ruang kerja hanya dapat mengakses datanya sendiri. Bendera enableDataIsolation mengonfigurasi bagaimana artefak ruang kerja disimpan dan diakses di sumber daya bersama.

Penting

Anda dapat mengatur opsi isolasi data hanya saat membuat ruang kerja. Anda tidak dapat mengaktifkan atau menonaktifkannya setelah ruang kerja dibuat.

Efek mengaktifkan isolasi data

Saat Anda mengaktifkan isolasi data, ruang kerja menerapkan konfigurasi berikut:

Sumber Daya Perilaku
Akun penyimpanan Nama kontainer diawali dengan GUID ruang kerja (misalnya, {workspaceGUID}-azureml-blobstore). Identitas terkelola ruang kerja menerima penetapan peran bidang data dengan kondisi kontrol akses berbasis atribut (ABAC) Azure yang membatasi akses hanya ke kontainer khusus ruang kerja.
Key Vault Nama rahasia diawali dengan GUID ruang kerja untuk mengisolasi rahasia di antara ruang kerja yang menggunakan brankas kunci yang sama.
Repositori kontainer Nama gambar Docker diawali dengan GUID ruang kerja untuk mengisolasi gambar antar ruang kerja yang berbagi registri yang sama.

Perilaku default menurut jenis ruang kerja

Azure Machine Learning mendukung berbagai jenis ruang kerja untuk pola organisasi yang berbeda:

  • default: Ruang kerja mandiri untuk proyek atau tim individual. Jenis ruang kerja ini adalah jenis ruang kerja standar.
  • hub: Ruang kerja pusat yang mengelola sumber daya, kebijakan, dan koneksi bersama untuk beberapa proyek terkait. Untuk informasi selengkapnya, lihat ruang kerja hub.
  • project: Ruang kerja ringan yang mewarisi sumber daya dan pengaturan dari ruang kerja hub induk.

Nilai default untuk isolasi data tergantung pada jenis ruang kerja:

Jenis ruang kerja Isolasi data bawaan
hub Diaktifkan
project Diaktifkan (diwariskan dari hub)
default Disabled

Kapan harus mengaktifkan isolasi data

Aktifkan isolasi data saat:

  • Beberapa ruang kerja berbagi akun penyimpanan, brankas kunci, atau registri kontainer yang sama.
  • Anda perlu mencegah konflik penamaan untuk artefak (seperti gambar atau rahasia Docker) yang dibuat dengan nama yang sama di seluruh ruang kerja.
  • Anda memerlukan kontrol akses yang lebih ketat untuk memastikan identitas ruang kerja hanya dapat mengakses data mereka sendiri.

Untuk ruang kerja hub dan proyek, aktifkan isolasi data secara default untuk mendukung model sumber daya bersama. Untuk informasi selengkapnya, lihat Apa itu ruang kerja hub Azure Machine Learning?

Mengaktifkan isolasi data saat membuat ruang kerja

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

az ml workspace create --name <WORKSPACE_NAME> \
    --resource-group <RESOURCE_GROUP> \
    --enable-data-isolation

Atau, tentukan isolasi data dalam file konfigurasi YAML:

$schema: https://azuremlschemas.azureedge.net/latest/workspace.schema.json
name: my-workspace
location: eastus
enable_data_isolation: true
storage_account: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT>
key_vault: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.KeyVault/vaults/<KEY_VAULT>
container_registry: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.ContainerRegistry/registries/<CONTAINER_REGISTRY>

Kemudian buat ruang kerja:

az ml workspace create --file workspace.yml --resource-group <RESOURCE_GROUP>

Kluster komputasi

Nota

Klaster komputasi Azure Machine Learning hanya mendukung satu identitas yang ditetapkan sistem atau beberapa identitas yang ditetapkan pengguna, tidak keduanya secara bersamaan.

Identitas terkelola default adalah identitas terkelola yang ditetapkan sistem atau identitas terkelola pertama yang ditetapkan pengguna.

Selama proses berjalan, identitas memiliki dua kegunaan:

  1. Sistem ini menggunakan identitas untuk mengatur dudukan penyimpanan pengguna, registri kontainer, dan toko data.

    • Dalam hal ini, sistem menggunakan identitas yang dikelola default.
  2. Anda menggunakan identitas untuk mengakses sumber daya dari dalam kode untuk pekerjaan yang sudah dikirimkan.

    • Dalam hal ini, berikan client_id sesuai dengan identitas terkelola yang ingin Anda gunakan untuk mengambil kredensial.
    • Atau, dapatkan ID klien identitas yang ditetapkan pengguna melalui variabel DEFAULT_IDENTITY_CLIENT_ID lingkungan.

    Misalnya, untuk mengambil token untuk toko data dengan identitas yang dikelola default:

    import os
    from azure.identity import ManagedIdentityCredential
    
    client_id = os.environ.get('DEFAULT_IDENTITY_CLIENT_ID')
    credential = ManagedIdentityCredential(client_id=client_id)
    token = credential.get_token('https://storage.azure.com/')
    

    Hasil yang diharapkan: Mengembalikan token akses untuk Azure Storage. Jika DEFAULT_IDENTITY_CLIENT_ID tidak diatur, panggilan gagal dengan kesalahan variabel lingkungan.

    Referensi: ManagedIdentityCredential

Untuk mengonfigurasi kluster komputasi dengan identitas terkelola, gunakan salah satu metode berikut:

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

az ml compute create -f create-cluster.yml

Contoh berikut menunjukkan konten create-cluster.yml:

$schema: https://azuremlschemas.azureedge.net/latest/amlCompute.schema.json 
name: basic-example
type: amlcompute
size: STANDARD_DS3_v2
min_instances: 0
max_instances: 2
idle_time_before_scale_down: 120
identity:
  type: user_assigned
  user_assigned_identities: 
    - resource_id: "identity_resource_id"

Sebagai perbandingan, contoh berikut adalah dari file YAML yang membuat kluster yang menggunakan identitas terkelola yang ditetapkan sistem:

$schema: https://azuremlschemas.azureedge.net/latest/amlCompute.schema.json 
name: basic-example
type: amlcompute
size: STANDARD_DS3_v2
min_instances: 0
max_instances: 2
idle_time_before_scale_down: 120
identity:
  type: system_assigned

Jika Anda memiliki kluster komputasi yang ada, Anda dapat beralih antara identitas yang dikelola pengguna dan dikelola sistem. Contoh berikut menunjukkan cara mengubah konfigurasi:

Identitas terkelola yang ditetapkan pengguna

export MSI_NAME=my-cluster-identity
export COMPUTE_NAME=mycluster-msi

does_compute_exist()
{
  if [ -z $(az ml compute show -n $COMPUTE_NAME --query name) ]; then
    echo false
  else
    echo true
  fi
}

echo "Creating MSI $MSI_NAME"
# Get the resource id of the identity
IDENTITY_ID=$(az identity show --name "$MSI_NAME" --query id -o tsv | tail -n1 | tr -d "[:cntrl:]" || true)
if [[ -z $IDENTITY_ID ]]; then
    IDENTITY_ID=$(az identity create -n "$MSI_NAME" --query id -o tsv | tail -n1 | tr -d "[:cntrl:]")
fi
echo "MSI created: $MSI_NAME"
sleep 15 # Let the previous command finish: https://github.com/Azure/azure-cli/issues/8530


echo "Checking if compute $COMPUTE_NAME already exists"
if [ "$(does_compute_exist)" == "true" ]; then
  echo "Skipping, compute: $COMPUTE_NAME exists"
else
  echo "Provisioning compute: $COMPUTE_NAME"
  az ml compute create --name "$COMPUTE_NAME" --type amlcompute --identity-type user_assigned --user-assigned-identities "$IDENTITY_ID"
fi
az ml compute update --name "$COMPUTE_NAME" --identity-type user_assigned --user-assigned-identities "$IDENTITY_ID"

Identitas terkelola yang ditetapkan sistem

export COMPUTE_NAME=mycluster-sa

does_compute_exist()
{
  if [ -z $(az ml compute show -n $COMPUTE_NAME --query name) ]; then
    echo false
  else
    echo true
  fi
}

echo "Checking if compute $COMPUTE_NAME already exists"
if [ "$(does_compute_exist)" == "true" ]; then
  echo "Skipping, compute: $COMPUTE_NAME exists"
else
  echo "Provisioning compute: $COMPUTE_NAME"
  az ml compute create --name "$COMPUTE_NAME" --type amlcompute
fi

az ml compute update --name "$COMPUTE_NAME" --identity-type system_assigned

Komputasi kluster Kubernetes

Nota

Kluster Azure Machine Learning Kubernetes hanya mendukung satu identitas yang ditetapkan sistem atau satu identitas yang ditetapkan pengguna, tidak keduanya secara bersamaan.

Identitas terkelola default adalah identitas terkelola yang ditetapkan sistem atau identitas terkelola pertama yang ditetapkan pengguna.

Selama proses berjalan, identitas memiliki dua kegunaan:

  • Sistem ini menggunakan identitas untuk mengatur dudukan penyimpanan pengguna, registri kontainer, dan toko data.

    • Dalam hal ini, sistem menggunakan identitas yang dikelola default.
  • Anda menggunakan identitas untuk mengakses sumber daya dari dalam kode untuk pekerjaan yang sudah dikirimkan.

    • Dalam kasus komputasi kluster Kubernetes, objek ManagedIdentityCredential harus disediakan tanpa client_id.

    Misalnya, untuk mengambil token untuk toko data dengan identitas yang dikelola default:

    from azure.identity import ManagedIdentityCredential
    
    credential = ManagedIdentityCredential()
    token = credential.get_token('https://storage.azure.com/')
    

    Hasil yang diharapkan: Mengembalikan token akses untuk Azure Storage. Tidak seperti kluster komputasi, jangan tentukan client_id untuk kluster Kubernetes.

    Referensi: ManagedIdentityCredential

Untuk mengonfigurasi komputasi kluster Kubernetes, pastikan ekstensi AML yang diperlukan disebarkan di dalamnya dan ikuti dokumentasi tentang cara melampirkan komputasi kluster Kubernetes ke ruang kerja AML Anda.

Penting

Untuk tujuan pelatihan (Pekerjaan Pembelajaran Mesin), gunakan identitas yang ditetapkan ke komputasi kluster Kubernetes. Namun, untuk proses inferensi (Managed Online Endpoints), gunakan identitas yang sudah ditetapkan pada endpoint tersebut. Untuk informasi selengkapnya, lihat Cara Mengakses Sumber Daya Azure dari Titik Akhir Online.

Penyimpanan data

Saat Membuat datastore yang menggunakan akses data berbasis identitas, Anda menggunakan akun Azure (token Microsoft Entra) untuk mengonfirmasi bahwa Anda memiliki izin untuk mengakses layanan penyimpanan. Dalam skenario akses data berbasis identitas , Anda tidak menyimpan kredensial autentikasi apa pun. Anda hanya menyimpan informasi akun penyimpanan di datastore.

Sebaliknya, penyimpanan data yang menggunakan informasi koneksi cache autentikasi berbasis kredensial , seperti kunci akun penyimpanan atau token SAS Anda, di brankas kunci yang terkait dengan ruang kerja. Pendekatan ini memiliki batasan bahwa pengguna ruang kerja lain dengan izin yang memadai dapat mengambil kredensial tersebut, yang mungkin menjadi masalah keamanan bagi beberapa organisasi.

Untuk informasi selengkapnya tentang cara akses data diautentikasi, lihat artikel Administrasi data . Untuk informasi tentang mengonfigurasi akses berbasis identitas ke data, lihat Membuat penyimpanan data.

Anda dapat menerapkan akses data berbasis identitas di Azure Pembelajaran Mesin dalam dua skenario. Skenario ini cocok untuk akses berbasis identitas saat Anda bekerja dengan data rahasia dan membutuhkan manajemen akses data yang lebih terperinci:

  • Mengakses layanan penyimpanan
  • Melatih model pembelajaran mesin

Dengan menggunakan akses berbasis identitas, Anda dapat menggunakan kontrol akses berbasis peran (RBAC) untuk membatasi identitas mana, seperti pengguna atau sumber daya komputasi, yang memiliki akses ke data.

Mengakses layanan penyimpanan

Anda dapat terhubung ke layanan penyimpanan dengan menggunakan akses data berbasis identitas dengan datastore Azure Machine Learning.

Saat Anda menggunakan akses data berbasis identitas, Azure Machine Learning meminta token Microsoft Entra Anda untuk autentikasi akses data alih-alih menyimpan kredensial Anda di datastore. Pendekatan ini memungkinkan manajemen akses data di tingkat penyimpanan dan menjaga kredensial tetap rahasia.

Perilaku yang sama berlaku saat Anda bekerja dengan data secara interaktif melalui Jupyter Notebook di komputer lokal atau instans komputasi Anda.

Nota

Kredensial yang disimpan melalui autentikasi berbasis kredensial termasuk ID langganan, token tanda tangan akses bersama (SAS), kunci akses penyimpanan, dan informasi perwakilan layanan seperti ID klien dan ID penyewa.

Untuk menyambungkan dengan aman ke layanan penyimpanan Anda di Azure, Azure Machine Learning mengharuskan Anda memiliki izin untuk mengakses penyimpanan data yang sesuai.

Peringatan

Akses ke akun penyimpanan lintas penyewa tidak didukung. Jika skenario Anda memerlukan akses lintas penyewa, buat permintaan dukungan Azure untuk bantuan dengan solusi kode kustom.

Akses data berbasis identitas hanya mendukung koneksi ke layanan penyimpanan berikut:

  • Azure Blob Storage
  • Azure Data Lake Storage Gen1
  • Azure Data Lake Storage Gen2

Untuk mengakses layanan penyimpanan ini, Anda harus memiliki setidaknya akses Pembaca Data Blob Penyimpanan. Hanya pemilik akun penyimpanan yang dapat mengubah tingkat akses Anda melalui portal Microsoft Azure.

Mengakses data untuk pekerjaan pelatihan tentang komputasi menggunakan identitas terkelola

Skenario pembelajaran mesin tertentu melibatkan bekerja dengan data privat. Dalam kasus seperti itu, ilmuwan data mungkin tidak memiliki akses langsung ke data sebagai pengguna Microsoft Entra. Dalam skenario ini, gunakan identitas terkelola komputasi untuk autentikasi akses data. Anda hanya dapat mengakses data dari instans komputasi atau kluster komputasi pembelajaran mesin yang menjalankan pekerjaan pelatihan. Dengan menggunakan pendekatan ini, admin memberikan izin Storage Blob Data Reader kepada identitas terkelola dari instans komputasi atau kluster komputasi pada penyimpanan. Masing-masing ilmuwan data tidak perlu diberikan akses.

Untuk mengaktifkan autentikasi dengan menggunakan identitas terkelola komputasi:

  • Buat komputasi dengan identitas terkelola diaktifkan. Lihat bagian kluster komputasi , atau untuk instans komputasi, bagian Tetapkan identitas terkelola .

    Penting

    Jika Anda mengonfigurasi instans komputasi untuk matikan diam, instans komputasi tidak dimatikan karena tidak aktif kecuali identitas terkelola memiliki akses kontributor ke ruang kerja Azure Machine Learning. Untuk informasi selengkapnya tentang menetapkan izin, lihat Mengelola akses ke ruang kerja Azure Pembelajaran Mesin.

  • Berikan identitas terkelola komputasi setidaknya peran Pembaca Data Blob Penyimpanan di akun penyimpanan.

  • Buat penyimpanan data apa pun dengan autentikasi berbasis identitas diaktifkan. Lihat Membuat penyimpanan data.

Nota

Nama identitas terkelola sistem yang dibuat untuk instans komputasi atau kluster dalam format /workspace-name/computes/compute-name dalam ID Microsoft Entra Anda.

Setelah Anda mengaktifkan autentikasi berbasis identitas, identitas terkelola komputasi digunakan secara default saat mengakses data dalam pekerjaan pelatihan Anda. Secara opsional, Anda dapat mengautentikasi dengan menggunakan identitas pengguna dengan mengikuti langkah-langkah yang dijelaskan di bagian berikutnya.

Untuk informasi tentang mengonfigurasi Azure RBAC untuk penyimpanan, lihat kontrol akses berbasis peran.

Mengakses data untuk pekerjaan pelatihan pada kluster komputasi dengan menggunakan identitas pengguna

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

Saat melatih kluster komputasi Azure Machine Learning, Anda dapat mengautentikasi ke sistem penyimpanan dengan menggunakan token Microsoft Entra milik Anda.

Mode autentikasi ini memungkinkan Anda untuk:

  • Siapkan izin halus, di mana pengguna ruang kerja yang berbeda dapat mengakses akun atau folder penyimpanan yang berbeda dalam akun penyimpanan.
  • Biarkan ilmuwan data menggunakan kembali izin yang ada pada sistem penyimpanan.
  • Audit akses penyimpanan karena log akses penyimpanan menunjukkan identitas mana yang digunakan untuk mengakses data.

Penting

Fungsionalitas ini memiliki batasan berikut:

  • Eksperimen yang dikirimkan melalui Azure Machine Learning CLI dan Python SDK V2 mendukung fitur ini, tetapi ML Studio tidak.
  • Anda tidak dapat menggunakan identitas pengguna dan menghitung identitas terkelola untuk autentikasi dalam pekerjaan yang sama.
  • Untuk pekerjaan jalur pemrosesan, atur identitas pengguna pada tingkat langkah individual yang berjalan di atas komputasi, bukan di tingkat jalur pemrosesan utama. Meskipun pengaturan identitas didukung pada tingkat alur akar dan langkah, pengaturan tingkat langkah lebih diutamakan jika keduanya diatur. Namun, untuk pipeline yang berisi komponen pipeline, identitas harus ditetapkan pada setiap langkah yang berjalan. Identitas yang diatur pada root pipeline atau tingkat komponen pipeline tidak berfungsi. Oleh karena itu, tetapkan identitas pada tingkat langkah individual untuk kesederhanaan.

Untuk menyiapkan akses data dengan menggunakan identitas pengguna untuk pekerjaan pelatihan pada kluster komputasi dari CLI, ikuti langkah-langkah berikut:

  1. Berikan akses identitas pengguna ke sumber daya penyimpanan. Misalnya, berikan akses StorageBlobReader ke akun penyimpanan tertentu yang ingin Anda gunakan atau berikan izin berbasis ACL ke folder atau file tertentu di penyimpanan Azure Data Lake Gen 2.

  2. Buat datastore Azure Machine Learning tanpa kredensial cache untuk akun penyimpanan. Jika datastore memiliki kredensial cache, seperti kunci akun penyimpanan, kredensial tersebut digunakan alih-alih identitas pengguna.

  3. Kirim pekerjaan pelatihan dengan properti identitas yang diatur ke jenis: user_identity, yang tercantum dalam spesifikasi pekerjaan berikut. Selama pekerjaan pelatihan, autentikasi ke penyimpanan terjadi melalui identitas pengguna yang mengirimkan pekerjaan.

    Nota

    Jika Anda tidak menentukan properti identitas dan datastore tidak memiliki kredensial cache, sistem menggunakan identitas terkelola komputasi sebagai fallback.

    command: |
    echo "--census-csv: ${{inputs.census_csv}}"
    python hello-census.py --census-csv ${{inputs.census_csv}}
    code: src
    inputs:
    census_csv:
        type: uri_file 
        path: azureml://datastores/mydata/paths/census.csv
    environment: azureml:AzureML-sklearn-1.0-ubuntu20.04-py38-cpu@latest
    compute: azureml:cpu-cluster
    identity:
    type: user_identity
    

Untuk menyiapkan akses data dengan menggunakan identitas pengguna untuk pekerjaan pelatihan pada kluster komputasi dari Python SDK, ikuti langkah-langkah berikut:

  1. Berikan akses data dan buat penyimpanan data seperti yang dijelaskan sebelumnya untuk CLI.

  2. Kirim pekerjaan pelatihan dengan parameter identitas yang diatur ke azure.ai.ml.UserIdentityConfiguration. Pengaturan parameter ini memungkinkan pekerjaan untuk mengakses data atas nama pengguna yang mengirimkan pekerjaan.

    from azure.ai.ml import command
    from azure.ai.ml.entities import Data, UriReference
    from azure.ai.ml import Input
    from azure.ai.ml.constants import AssetTypes
    from azure.ai.ml import UserIdentityConfiguration
    
    # Specify the data location
    my_job_inputs = {
        "input_data": Input(type=AssetTypes.URI_FILE, path="<path-to-my-data>")
    }
    
    # Define the job
    job = command(
        code="<my-local-code-location>", 
        command="python <my-script>.py --input_data ${{inputs.input_data}}",
        inputs=my_job_inputs,
        environment="AzureML-sklearn-0.24-ubuntu18.04-py37-cpu:9",
        compute="<my-compute-cluster-name>",
        identity= UserIdentityConfiguration() 
    )
    # submit the command
    returned_job = ml_client.jobs.create_or_update(job)
    

Penting

Saat Anda mengirimkan pekerjaan dengan autentikasi menggunakan identitas pengguna, validasi checksum melindungi cuplikan kode dari penyalahgunaan. Jika Anda memiliki komponen alur yang sudah ada dan ingin menggunakannya dengan autentikasi dengan menggunakan identitas pengguna, Anda mungkin perlu mengunggah ulang komponen tersebut. Jika tidak, tugas mungkin gagal selama validasi checksum.

Bekerja dengan jaringan virtual

Secara default, Azure Machine Learning tidak dapat berkomunikasi dengan akun penyimpanan yang berada di belakang firewall atau di jaringan virtual.

Anda dapat mengonfigurasi akun penyimpanan untuk mengizinkan akses hanya dari jaringan virtual tertentu. Konfigurasi ini memerlukan langkah tambahan untuk memastikan data tidak bocor di luar jaringan. Perilaku ini sama untuk akses data berbasis info masuk. Untuk informasi selengkapnya, lihat Cara mencegah penyelundupan data.

Jika akun penyimpanan Anda memiliki pengaturan jaringan virtual, pengaturan tersebut menentukan jenis identitas dan akses izin apa yang diperlukan. Misalnya, untuk pratinjau data dan profil data, pengaturan jaringan virtual menentukan jenis identitas apa yang digunakan untuk mengautentikasi akses data.

  • Dalam skenario di mana hanya IP dan subnet tertentu yang dapat mengakses penyimpanan, Azure Machine Learning menggunakan MSI ruang kerja untuk menyelesaikan pratinjau dan profil data.

  • Jika penyimpanan Anda menggunakan ADLS Gen2 atau Blob dan memiliki pengaturan jaringan virtual, Anda dapat menggunakan identitas pengguna atau MSI (Managed Service Identity) ruang kerja, bergantung pada pengaturan datastore yang ditentukan saat pembuatan.

  • Jika pengaturan jaringan virtual mengizinkan layanan Azure pada daftar layanan tepercaya untuk mengakses akun penyimpanan ini, Workspace MSI digunakan.

Skenario: Azure Container Registry tanpa pengguna admin

Saat Anda menonaktifkan pengguna admin untuk ACR, Azure Machine Learning menggunakan identitas terkelola untuk membangun dan menarik gambar Docker. Ada dua alur kerja saat mengonfigurasi Azure Machine Learning untuk menggunakan ACR dengan pengguna admin dinonaktifkan:

  • Izinkan Azure Machine Learning membuat instans ACR lalu nonaktifkan pengguna admin.
  • Bawa ACR yang ada dengan pengguna admin yang sudah dinonaktifkan.

Azure Machine Learning dengan instans ACR yang dibuat secara otomatis

  1. Buat ruang kerja Azure Machine Learning baru.

  2. Lakukan tindakan yang memerlukan Azure Container Registry. Misalnya, lihat Tutorial: Melatih model pertama Anda.

  3. Ambil nama ACR yang dibuat oleh kluster.

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

    az ml workspace show --name <my workspace name> \
    --resource-group <my resource group> \
    --subscription <my subscription id> \
    --query container_registry
    

    Perintah ini mengembalikan nilai yang mirip dengan teks berikut. Anda hanya menginginkan bagian terakhir teks, yaitu nama instans ACR:

    /subscriptions/<subscription id>/resourceGroups/<my resource group>/providers/MicrosoftContainerReggistry/registries/<ACR instance name>
    
  4. Perbarui ACR untuk menonaktifkan pengguna admin:

    az acr update --name <ACR instance name> --admin-enabled false
    

Membawa ACR Anda sendiri

Jika kebijakan langganan melarang pengguna admin ACR, pertama-tama buat ACR tanpa pengguna admin, lalu kaitkan dengan ruang kerja. Buat ACR dari Azure CLI tanpa mengatur --admin-enabled argumen, atau dari portal Microsoft Azure tanpa mengaktifkan pengguna admin. Saat membuat ruang kerja Azure Machine Learning, tentukan ID sumber daya Azure dari ACR. Contoh berikut menunjukkan pembuatan ruang kerja Azure Pembelajaran Mesin baru yang menggunakan ACR yang sudah ada:

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

az ml workspace create -n <workspace name> \
-g <workspace resource group> \
-l <region> \
--container-registry /subscriptions/<subscription id>/resourceGroups/<acr resource group>/providers/Microsoft.ContainerRegistry/registries/<acr name>

Kiat

Untuk mendapatkan nilai parameter --container-registry, gunakan perintah az acr show untuk menampilkan informasi untuk ACR Anda. Bidang id berisi ID sumber daya untuk ACR Anda.

Selain itu, jika Anda sudah memiliki ACR yang sudah ada dengan pengguna admin dinonaktifkan, Anda dapat melampirkannya ke ruang kerja dengan memperbaruinya. Contoh berikut menunjukkan pembaruan ruang kerja Azure Machine Learning untuk menggunakan ACR yang sudah ada:

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

az ml workspace update --update-dependent-resources \
--name <workspace name> \
--resource-group <workspace resource group> \
--container-registry /subscriptions/<subscription id>/resourceGroups/<acr resource group>/providers/Microsoft.ContainerRegistry/registries/<acr name>

Buat komputasi dengan identitas terkelola untuk mengakses gambar Docker untuk pelatihan

Untuk mengakses ACR ruang kerja, buat kluster komputasi pembelajaran mesin dengan identitas terkelola yang ditetapkan sistem diaktifkan. Anda dapat mengaktifkan identitas dari portal Microsoft Azure atau Studio saat membuat komputasi, atau dari Azure CLI menggunakan perintah berikut. Untuk informasi selengkapnya, lihat menggunakan identitas terkelola dengan kluster komputasi.

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

az ml compute create --name cpu-cluster --type <cluster name>  --identity-type systemassigned

Identitas terkelola secara otomatis mendapatkan peran ACRPull pada ACR yang terkait dengan ruang kerja untuk memungkinkan penarikan gambar Docker untuk keperluan pelatihan.

Nota

Jika Anda membuat komputasi terlebih dahulu, sebelum ACR ruang kerja ada, Anda perlu menetapkan peran ACRPull secara manual.

Menggunakan gambar Docker untuk inferensi

Setelah mengonfigurasi ACR tanpa pengguna admin seperti yang dijelaskan sebelumnya, Anda dapat mengakses gambar Docker untuk inferensi tanpa kunci admin dari layanan Azure Kubernetes (AKS). Saat Anda membuat atau melampirkan AKS ke ruang kerja, perwakilan layanan kluster secara otomatis mendapatkan akses ACRPull ke ACR ruang kerja.

Nota

Jika Anda membawa kluster AKS Anda sendiri, kluster harus mengaktifkan perwakilan layanan, bukan identitas terkelola.

Skenario: Menggunakan Azure Container Registry privat

Secara default, Azure Machine Learning menggunakan gambar dasar Docker dari repositori publik yang dikelola Microsoft. Ini membangun lingkungan pelatihan atau inferensi Anda pada gambar-gambar tersebut. Untuk informasi selengkapnya, lihat Apa itu lingkungan ML?

Untuk menggunakan gambar dasar kustom yang bersifat internal bagi perusahaan Anda, gunakan identitas terkelola untuk mengakses ACR pribadi Anda.

  1. Buat kluster komputasi machine learning dengan identitas terkelola yang ditetapkan sistem diaktifkan sebagaimana dijelaskan sebelumnya. Kemudian, tentukan ID pokok identitas dikelola.

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

    az ml compute show --name <cluster name> -n <workspace> -g <resource group>
    

    Secara opsional, Anda dapat memperbarui kluster komputasi untuk menetapkan identitas terkelola yang ditetapkan pengguna:

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

    az ml compute update --name <cluster name> --user-assigned-identities <my-identity-id>
    
  2. Untuk memungkinkan kluster komputasi mengunduh gambar dasar, berikan peran ACRPull kepada identitas layanan terkelola (untuk ruang kerja atau komputasi) pada ACR pribadi.

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

    az role assignment create --assignee <principal ID> \
    --role acrpull \
    --scope "/subscriptions/<subscription ID>/resourceGroups/<private ACR resource group>/providers/Microsoft.ContainerRegistry/registries/<private ACR name>"
    
  3. Buat lingkungan dan tentukan lokasi gambar dasar dalam file YAML lingkungan. File YAML berikut menunjukkan cara menentukan lingkungan yang mereferensikan ACR privat. <acr-url> Ganti dengan URL ACR privat Anda, seperti myregistry.azurecr.io. <image-path> Gantikan dengan jalur menuju gambar Anda di ACR privat, seperti pytorch/pytorch:latest:

    $schema: https://azuremlschemas.azureedge.net/latest/environment.schema.json
    name: docker-image-example
    image: <acr-url>/<image-path>:latest
    description: Environment created from a Docker image.
    
  4. Perintah berikut menunjukkan cara membuat lingkungan dari file YAML. Ganti <yaml file> dengan jalur ke file YAML Anda:

    az ml environment create --file <yaml file>
    

    Anda sekarang dapat menggunakan lingkungan dalam tugas pelatihan.

Troubleshooting

Bagian ini mengatasi masalah umum saat mengonfigurasi autentikasi berbasis identitas.

Identitas tidak memiliki izin untuk mengakses penyimpanan

Gejala: Anda menerima kesalahan Terlarang 403 saat mencoba mengakses data dari Azure Storage.

Penyebab: Identitas terkelola tidak memiliki peran Azure RBAC yang diperlukan pada akun penyimpanan.

Resolusi: Tetapkan peran yang sesuai ke identitas terkelola:

# Assign Storage Blob Data Reader role
az role assignment create \
    --assignee <principal-id> \
    --role "Storage Blob Data Reader" \
    --scope /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>

Ganti <principal-id> dengan ID utama identitas terkelola dari bagian Verifikasi penyiapan Anda .

Pengambilan token gagal dalam tugas pelatihan

Gejala: ManagedIdentityCredential gagal mengambil token dengan kesalahan variabel lingkungan.

Penyebab: Variabel DEFAULT_IDENTITY_CLIENT_ID lingkungan tidak diatur, atau kluster komputasi tidak memiliki identitas terkelola yang dikonfigurasi.

Resolusi:

  1. Verifikasi bahwa kluster komputasi mengaktifkan identitas terkelola. Lihat Kluster komputasi.
  2. Dalam kode Anda, ambil ID klien dari lingkungan:
import os
from azure.identity import ManagedIdentityCredential

client_id = os.environ.get('DEFAULT_IDENTITY_CLIENT_ID')
if not client_id:
    raise ValueError("DEFAULT_IDENTITY_CLIENT_ID environment variable not set. Verify compute has managed identity enabled.")

credential = ManagedIdentityCredential(client_id=client_id)

Firewall penyimpanan memblokir akses

Gejala: Kesalahan akses ditolak ketika akun penyimpanan memiliki aturan firewall diaktifkan.

Penyebab: Ruang kerja atau identitas terkelola komputasi tidak dapat mengakses penyimpanan melalui firewall.

Resolusi: Konfigurasikan akun penyimpanan untuk mengizinkan akses dari layanan Azure tepercaya:

  1. Di portal Microsoft Azure, buka akun penyimpanan Anda.
  2. Pilih Firewall Jaringan>dan jaringan virtual.
  3. Di bawah Pengecualian, pilih Izinkan layanan Azure pada daftar layanan tepercaya untuk mengakses akun penyimpanan ini.

Untuk informasi selengkapnya, lihat Bekerja dengan jaringan virtual.

Penarikan gambar ACR gagal

Gejala: Pekerjaan pelatihan gagal menarik gambar Docker dari Azure Container Registry.

Penyebab: Identitas terkelola komputasi tidak memiliki peran ACRPull pada registri kontainer.

Resolusi: Tetapkan peran ACRPull:

az role assignment create \
    --assignee <principal-id> \
    --role acrpull \
    --scope /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ContainerRegistry/registries/<registry-name>

Nota

Jika Anda membuat kluster komputasi sebelum ACR di ruang kerja ada, Anda harus menetapkan peran ACRPull secara manual.

Autentikasi identitas pengguna gagal dalam tugas

Gejala: Pekerjaan yang menggunakan identitas pengguna untuk akses data gagal selama validasi checksum.

Penyebab: Komponen alur perlu diunggah ulang saat Anda membuatnya sebelum mengaktifkan autentikasi identitas pengguna.

Resolusi: Unggah ulang komponen alur untuk meregenerasi checksum:

az ml component create --file <component-yaml> --resource-group <resource-group> --workspace-name <workspace-name>

Untuk pemecahan masalah akses data lainnya, lihat Memecahkan masalah kesalahan akses data.

Langkah selanjutnya