Mengelola akses ke ruang kerja Azure Pembelajaran Mesin

Artikel ini menjelaskan cara mengelola akses (otorisasi) ke ruang kerja Azure Pembelajaran Mesin. Gunakan kontrol akses berbasis peran Azure (Azure RBAC) untuk mengelola akses ke sumber daya Azure. Dengan menggunakan Azure RBAC, Anda dapat memberi pengguna kemampuan untuk membuat sumber daya baru atau menggunakan sumber daya yang sudah ada. Tetapkan peran tertentu kepada pengguna di ID Microsoft Entra Anda untuk memberikan akses ke sumber daya. Azure menyediakan peran bawaan dan kemampuan untuk membuat peran kustom.

Petunjuk / Saran

Meskipun artikel ini berfokus pada Azure Pembelajaran Mesin, layanan individual menyediakan pengaturan RBAC mereka sendiri. Misalnya, dengan menggunakan informasi dalam artikel ini, Anda dapat mengonfigurasi siapa yang dapat mengirimkan permintaan penilaian ke model yang disebarkan sebagai layanan web di Azure Kubernetes Service. Namun, Azure Kubernetes Service menyediakan serangkaian peran Azure tersendiri. Untuk informasi RBAC khusus layanan yang mungkin berguna dengan Azure Pembelajaran Mesin, lihat tautan berikut:

Peringatan

Menerapkan beberapa peran mungkin membatasi fungsionalitas UI di studio Azure Pembelajaran Mesin untuk pengguna lain. Misalnya, jika peran pengguna tidak memiliki kemampuan untuk membuat instans komputasi, opsi untuk membuat instans komputasi tidak tersedia di studio. Ini adalah perilaku yang diharapkan, dan ini mencegah pengguna agar tidak mencoba operasi yang akan menampilkan kesalahan akses ditolak.

Peran default

Ruang kerja Azure Pembelajaran Mesin memiliki peran bawaan yang tersedia secara default. Saat Anda menambahkan pengguna ke ruang kerja, tetapkan salah satu peran berikut.

Peran Tingkat akses
Ilmuwan Data AzureML Dapat melakukan semua tindakan dalam ruang kerja Azure Machine Learning, kecuali untuk membuat atau menghapus sumber daya komputasi dan memodifikasi ruang kerja itu sendiri.
Operator Komputasi AzureML Dapat membuat, mengelola, menghapus, dan mengakses sumber daya komputasi dalam ruang kerja.
Pembaca Tindakan baca-saja di ruang kerja. Pembaca dapat mencantumkan dan melihat aset, termasuk info masuk penyimpanan data, di ruang kerja. Pembaca tidak dapat membuat atau memperbarui aset ini.
Kontributor Melihat, membuat, mengedit, atau menghapus (jika berlaku) aset di ruang kerja. Misalnya, kontributor dapat membuat eksperimen, membuat atau melampirkan kluster komputasi, mengirimkan eksekusi, dan menerapkan layanan web.
Pemilik Akses penuh ke ruang kerja, termasuk kemampuan untuk melihat, membuat, mengedit, atau menghapus (jika berlaku) aset di ruang kerja. Selain itu, Anda dapat mengubah penetapan peran.

Selain itu, registri Azure Machine Learning memiliki peran Pengguna Azure Machine Learning Registry yang dapat Anda tetapkan ke sumber daya registri untuk memberikan izin tingkat pengguna kepada ilmuwan data. Agar izin tingkat administrator membuat atau menghapus registri, gunakan peran Kontributor atau Pemilik.

Peran Tingkat akses
Pengguna AzureML Registry Bisa mendapatkan registri, dan membaca, menulis, dan menghapus aset di dalamnya. Tidak dapat membuat sumber daya registri baru atau menghapusnya.

Anda dapat menggabungkan peran untuk memberikan tingkat akses yang berbeda. Misalnya, berikan pengguna ruang kerja peran AzureML Data Scientist dan Operator Komputasi AzureML untuk mengizinkan pengguna melakukan eksperimen saat membuat komputasi dengan cara layanan mandiri.

Penting

Anda dapat membatasi akses peran pada berbagai tingkat di Azure. Misalnya, seseorang dengan akses pemilik ke ruang kerja mungkin tidak memiliki akses pemilik ke grup sumber daya yang berisi ruang kerja. Untuk informasi selengkapnya, lihat Cara kerja Azure RBAC.

Peran Administrator Azure AI

Sebelum 2024-11-19, identitas terkelola yang ditetapkan sistem yang Anda buat untuk ruang kerja secara otomatis mendapatkan peran Kontributor untuk grup sumber daya yang berisi ruang kerja. Ruang kerja yang dibuat setelah tanggal ini menetapkan identitas terkelola yang ditetapkan sistem ke peran Administrator Azure AI . Peran ini lebih sempit dicakup ke izin minimum yang diperlukan agar identitas terkelola dapat melakukan tugasnya.

Peran Administrator Azure AI memiliki izin berikut:

{
    "permissions": [
        {
            "actions": [
                "Microsoft.Authorization/*/read",
                "Microsoft.CognitiveServices/*",
                "Microsoft.ContainerRegistry/registries/*",
                "Microsoft.DocumentDb/databaseAccounts/*",
                "Microsoft.Features/features/read",
                "Microsoft.Features/providers/features/read",
                "Microsoft.Features/providers/features/register/action",
                "Microsoft.Insights/alertRules/*",
                "Microsoft.Insights/components/*",
                "Microsoft.Insights/diagnosticSettings/*",
                "Microsoft.Insights/generateLiveToken/read",
                "Microsoft.Insights/logDefinitions/read",
                "Microsoft.Insights/metricAlerts/*",
                "Microsoft.Insights/metricdefinitions/read",
                "Microsoft.Insights/metrics/read",
                "Microsoft.Insights/scheduledqueryrules/*",
                "Microsoft.Insights/topology/read",
                "Microsoft.Insights/transactions/read",
                "Microsoft.Insights/webtests/*",
                "Microsoft.KeyVault/*",
                "Microsoft.MachineLearningServices/workspaces/*",
                "Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action",
                "Microsoft.ResourceHealth/availabilityStatuses/read",
                "Microsoft.Resources/deployments/*",
                "Microsoft.Resources/deployments/operations/read",
                "Microsoft.Resources/subscriptions/operationresults/read",
                "Microsoft.Resources/subscriptions/read",
                "Microsoft.Resources/subscriptions/resourcegroups/deployments/*",
                "Microsoft.Resources/subscriptions/resourceGroups/read",
                "Microsoft.Resources/subscriptions/resourceGroups/write",
                "Microsoft.Storage/storageAccounts/*",
                "Microsoft.Support/*",
                "Microsoft.Search/searchServices/write",
                "Microsoft.Search/searchServices/read",
                "Microsoft.Search/searchServices/delete",
                "Microsoft.Search/searchServices/indexes/*",
                "Microsoft.Search/searchServices/listAdminKeys/action",
                "Microsoft.Search/searchServices/privateEndpointConnections/*",
                "Microsoft.DataFactory/factories/*"
            ],
            "notActions": [],
            "dataActions": [],
            "notDataActions": []
        }
    ]
}

Mengonversi identitas yang dikelola sistem yang ada ke peran Administrator Azure AI

Petunjuk / Saran

Konversikan ruang kerja yang dibuat sebelum 19/11/2024 untuk menggunakan peran Administrator Azure AI. Peran Administrator Azure AI memiliki cakupan yang lebih sempit daripada peran Kontributor dan mengikuti prinsip hak istimewa paling sedikit.

Untuk mengonversi ruang kerja yang dibuat sebelum 19/11/2024, gunakan salah satu metode berikut:

  • Azure REST API: Kirim PATCH permintaan ke Azure REST API untuk ruang kerja. Atur isi permintaan ke {"properties":{"allowRoleAssignmentOnRG":true}}. Contoh berikut menunjukkan permintaan PATCH dengan menggunakan curl. Ganti <your-subscription>, <resource-group-name>, <workspace-name>, dan <YOUR-ACCESS-TOKEN> dengan nilai untuk skenario Anda. Untuk informasi selengkapnya tentang menggunakan REST API, lihat dokumentasi Azure REST API.

    curl -X PATCH \
    "https://management.azure.com/subscriptions/<your-subscription>/resourceGroups/<resource-group-name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-name>?api-version=2024-07-01-preview" \
    -H "Authorization: Bearer <YOUR-ACCESS-TOKEN>" \
    -H "Content-Type: application/json" \
    --data '{"properties":{"allowRoleAssignmentOnRG":true}}'
    

    Referensi: Microsoft.MachineLearningServices/workspaces (2024-07-01-preview)

  • Azure CLI: Gunakan az ml workspace update perintah dengan --allow-roleassignment-on-rg true parameter . Contoh berikut memperbarui ruang kerja bernama myworkspace. Perintah ini memerlukan ekstensi Azure Pembelajaran Mesin CLI versi 2.27.0 atau yang lebih baru.

    az ml workspace update --name myworkspace --allow-roleassignment-on-rg true
    
  • Azure Python SDK: Atur allow_roleassignment_on_rg properti objek Ruang Kerja ke True lalu lakukan operasi pembaruan. Contoh berikut memperbarui ruang kerja bernama myworkspace. Operasi ini memerlukan Azure Pembelajaran Mesin SDK versi 1.17.0 atau yang lebih baru.

    ws = ml_client.workspaces.get(name="myworkspace")
    ws.allow_roleassignment_on_rg = True
    ws = ml_client.workspaces.begin_update(workspace=ws).result()
    

Mengelola akses ruang kerja

Jika Anda adalah pemilik ruang kerja, Anda dapat menambahkan dan menghapus peran untuk ruang kerja. Anda juga dapat menetapkan peran kepada pengguna. Gunakan tautan berikut untuk menemukan cara mengelola akses:

Misalnya, gunakan Azure CLI untuk menetapkan peran Kontributor untuk joe@contoso.com grup sumber daya this-rg dengan perintah berikut:

az role assignment create --role "Contributor" --assignee "joe@contoso.com" --resource-group this-rg

Menggunakan grup keamanan Microsoft Entra untuk mengelola akses ruang kerja

Anda dapat menggunakan grup keamanan Microsoft Entra untuk mengelola akses ke ruang kerja. Pendekatan ini memiliki manfaat berikut:

  • Pemimpin tim atau proyek dapat mengelola akses pengguna ke ruang kerja sebagai pemilik grup keamanan, tanpa memerlukan peran Pemilik pada sumber daya ruang kerja secara langsung.
  • Anda dapat mengatur, mengelola, dan mencabut izin pengguna di ruang kerja dan sumber daya lain sebagai grup, tanpa harus mengelola izin berdasarkan pengguna demi pengguna.
  • Menggunakan grup Microsoft Entra membantu Anda menghindari mencapai batas langganan pada penetapan peran.

Untuk menggunakan grup keamanan Microsoft Entra:

  1. Membuat grup keamanan.
  2. Menambahkan pemilik grup. Pengguna ini memiliki izin untuk menambahkan atau menghapus anggota grup. Pemilik grup tidak diharuskan menjadi anggota grup, atau memiliki peran RBAC langsung di ruang kerja.
  3. Tetapkan peran RBAC pada ruang kerja, seperti AzureML Data Scientist, Reader, atau Contributor.
  4. Menambahkan anggota grup. Anggota mendapatkan akses ke ruang kerja.

Membuat peran kustom

Jika peran bawaan tidak memenuhi kebutuhan Anda, buat peran kustom. Peran kustom dapat memiliki izin membaca, menulis, menghapus, dan menghitung sumber daya di ruang kerja tersebut. Anda dapat menyediakan peran di tingkat ruang kerja tertentu, tingkat grup sumber daya tertentu, atau tingkat langganan tertentu.

Catatan

Untuk membuat peran kustom dalam sumber daya, Anda harus menjadi pemilik sumber daya di tingkat tersebut.

Untuk membuat peran kustom, pertama-tama buatlah file JSON definisi peran yang menentukan izin cakupan untuk peran tersebut. Contoh berikut mendefinisikan peran Kustom Ilmuwan Data kustom yang dilingkup pada tingkat ruang kerja tertentu:

data_scientist_custom_role.json :

{
    "Name": "Data Scientist Custom",
    "IsCustom": true,
    "Description": "Can run experiment but can't create or delete compute.",
    "Actions": ["*"],
    "NotActions": [
        "Microsoft.MachineLearningServices/workspaces/*/delete",
        "Microsoft.MachineLearningServices/workspaces/write",
        "Microsoft.MachineLearningServices/workspaces/computes/*/write",
        "Microsoft.MachineLearningServices/workspaces/computes/*/delete", 
        "Microsoft.Authorization/*/write"
    ],
    "AssignableScopes": [
        "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.MachineLearningServices/workspaces/<workspaceName>"
    ]
}

Petunjuk / Saran

Anda dapat mengubah kolom AssignableScopes untuk mengatur cakupan peran kustom ini di tingkat langganan, tingkat grup sumber daya, atau tingkat ruang kerja tertentu. Peran kustom sebelumnya hanyalah contoh. Untuk contoh selengkapnya, lihat beberapa peran kustom yang disarankan untuk layanan Azure Machine Learning.

Peran kustom ini dapat melakukan semua tindakan di ruang kerja, kecuali berikut:

  • Peran ini tidak dapat menghapus ruang kerja.
  • Ini tidak dapat membuat atau memperbarui ruang kerja.
  • Ini tidak dapat membuat atau memperbarui sumber daya komputasi.
  • Ini tidak dapat menghapus sumber daya komputasi.
  • Peran ini tidak dapat menambahkan, menghapus, atau mengubah penetapan peran.

Untuk menyebarkan peran kustom ini, gunakan perintah Azure CLI berikut ini:

az role definition create --role-definition data_scientist_custom_role.json

Setelah implementasi, peran ini tersedia di ruang kerja yang ditentukan. Sekarang Anda dapat menambahkan dan menetapkan peran ini di portal Microsoft Azure.

Untuk informasi selengkapnya tentang peran kustom, lihat Peran kustom Azure.

Operasi Pembelajaran Mesin Microsoft Azure

Untuk informasi selengkapnya tentang operasi (tindakan dan non-tindakan) yang dapat Anda gunakan dengan peran kustom, lihat Operasi penyedia sumber daya. Anda juga dapat menggunakan perintah Azure CLI berikut ini untuk mencantumkan operasi:

az provider operation show –n Microsoft.MachineLearningServices

Mencantumkan peran kustom

Di Azure CLI, jalankan perintah berikut:

az role definition list --subscription <subscriptionId> --custom-role-only true

Guna melihat definisi peran untuk peran kustom tertentu, gunakan perintah Azure CLI berikut ini. <roleName> harus dalam format yang sama yang dikembalikan oleh perintah sebelumnya:

az role definition list -n <roleName> --subscription <subscriptionId>

Perbarui peran kustom

Di Azure CLI, jalankan perintah berikut:

az role definition update --role-definition update_def.json --subscription <subscriptionId>

Anda memerlukan izin pada seluruh cakupan definisi peran baru Anda. Misalnya, jika peran baru ini memiliki cakupan di tiga langganan, Anda memerlukan izin pada ketiga langganan.

Catatan

Penerapan pembaruan peran dapat memakan waktu 15 menit hingga satu jam di semua penetapan peran dalam cakupan tersebut.

Menggunakan templat Azure Resource Manager untuk pengulangan

Jika Anda mengantisipasi bahwa Anda perlu membuat ulang penetapan peran yang kompleks, templat Azure Resource Manager dapat menjadi bantuan yang signifikan. Templat machine-learning-dependencies-role-assignment menunjukkan bagaimana Anda dapat menentukan penetapan peran dalam kode sumber untuk digunakan kembali.

Skenario umum

Tabel berikut meringkas aktivitas Azure Machine Learning dan izin yang diperlukan untuk melakukannya dengan cakupan minimal. Misalnya, jika aktivitas dapat dilakukan dengan cakupan ruang kerja (Kolom 4), maka semua cakupan yang lebih tinggi dengan izin tersebut juga berfungsi secara otomatis. Untuk aktivitas tertentu, izin berbeda antara API V1 dan V2.

Penting

Semua jalur dalam tabel ini yang dimulai dengan / adalah jalur relatif ke Microsoft.MachineLearningServices/

Tinggi Cakupan tingkat langganan Cakupan tingkat grup sumber daya Cakupan tingkat ruang kerja
Membuat ruang kerja baru 1 Tidak diperlukan Pemilik, kontributor, atau peran kustom yang memungkinkan: Microsoft.Resources/deployments/*, Microsoft.MachineLearningServices/workspaces/write serta izin tulis untuk sumber daya dependen (lihat poin 3 di bawah) N/A (menjadi Pemilik atau mewarisi peran dengan cakupan yang lebih tinggi setelah pembuatan)
Meminta kuota Amlcompute tingkat langganan atau mengatur kuota tingkat ruang kerja Pemilik, atau kontributor, atau peran kustom
yang mengizinkan /locations/updateQuotas/action
pada cakupan langganan
Tidak berwenang Tidak berwenang
Membuat kluster komputasi baru Tidak diperlukan Tidak diperlukan Pemilik, kontributor, atau peran kustom yang mengizinkan: /workspaces/computes/write
Membuat instans komputasi baru Tidak diperlukan Tidak diperlukan Pemilik, kontributor, atau peran kustom yang mengizinkan: /workspaces/computes/write
Mengirimkan semua jenis eksekusi (V1) Tidak diperlukan Tidak diperlukan Pemilik, kontributor, atau peran kustom yang memungkinkan: /workspaces/*/read, , /workspaces/environments/write, /workspaces/experiments/runs/write/workspaces/metadata/artifacts/write, /workspaces/metadata/snapshots/write, /workspaces/environments/build/action, /workspaces/experiments/runs/submit/action,/workspaces/environments/readSecrets/action
Mengirimkan semua jenis eksekusi (V2) Tidak diperlukan Tidak diperlukan Pemilik, kontributor, atau peran kustom yang memungkinkan: /workspaces/*/read, , /workspaces/environments/write, /workspaces/jobs/*/workspaces/metadata/artifacts/write, /workspaces/environments/build/action,/workspaces/environments/readSecrets/action
Menerbitkan alur dan titik akhir (V1) Tidak diperlukan Tidak diperlukan Pemilik, kontributor, atau peran kustom yang memungkinkan: /workspaces/endpoints/pipelines/*, , /workspaces/pipelinedrafts/*/workspaces/modules/*
Menerbitkan alur dan titik akhir (V2) Tidak diperlukan Tidak diperlukan Pemilik, kontributor, atau peran kustom yang memungkinkan: /workspaces/endpoints/pipelines/*, , /workspaces/pipelinedrafts/*/workspaces/components/*
Melampirkan sumber daya AKS 2 Tidak diperlukan Pemilik atau kontributor pada grup sumber daya yang berisi AKS
Menyebarkan model terdaftar pada sumber daya AKS/ACI Tidak diperlukan Tidak diperlukan Pemilik, kontributor, atau peran kustom yang memungkinkan: /workspaces/services/aks/write, /workspaces/services/aci/write
Penilaian terhadap titik akhir AKS yang disebarkan Tidak diperlukan Tidak diperlukan Pemilik, kontributor, atau peran kustom yang memungkinkan: /workspaces/services/aks/score/action, /workspaces/services/aks/listkeys/action (saat Anda tidak menggunakan Microsoft Entra auth) ATAU /workspaces/read (saat Anda menggunakan autentikasi token)
Mengakses penyimpanan menggunakan notebook interaktif Tidak diperlukan Tidak diperlukan Pemilik, kontributor, atau peran kustom yang memungkinkan: /workspaces/computes/read, , /workspaces/notebooks/samples/read/workspaces/notebooks/storage/*, /workspaces/listStorageAccountKeys/action,/workspaces/listNotebookAccessToken/read
Membuat peran kustom baru Pemilik, kontributor, atau peran kustom yang mengizinkan Microsoft.Authorization/roleDefinitions/write Tidak diperlukan Pemilik, kontributor, atau peran kustom yang mengizinkan: /workspaces/computes/write
Membuat/mengelola titik akhir dan penyebaran online Tidak diperlukan Untuk menyebarkan di studio, Microsoft.Resources/deployments/write Pemilik, kontributor, atau peran kustom yang Microsoft.MachineLearningServices/workspaces/onlineEndpoints/*memungkinkan .
Mengambil info masuk autentikasi untuk titik akhir online Tidak diperlukan Tidak diperlukan Pemilik, kontributor, atau peran kustom yang Microsoft.MachineLearningServices/workspaces/onlineEndpoints/token/action mengizinkan dan Microsoft.MachineLearningServices/workspaces/onlineEndpoints/listKeys/action
  1. Jika Anda menerima kegagalan saat mencoba membuat ruang kerja untuk pertama kalinya, pastikan peran Anda mengizinkan Microsoft.MachineLearningServices/register/action. Tindakan ini memungkinkan Anda mendaftarkan penyedia sumber Pembelajaran Mesin Microsoft Azure dengan langganan Azure Anda.

  2. Saat melampirkan kluster AKS, Anda juga harus memiliki Peran Admin Kluster Azure Kubernetes Service pada kluster.

  3. Skenario ini tidak menyertakan izin yang diperlukan untuk membuat sumber daya dependen ruang kerja. Untuk informasi selengkapnya, lihat izin tulis untuk Storage, OperationalInsights, Key Vault , dan Container Registry.

  4. Saat melampirkan identitas yang dikelola oleh pengguna, Anda juga harus memiliki izin Microsoft.ManagedIdentity/userAssignedIdentities/assign/action atas identitas tersebut. Untuk informasi selengkapnya, lihat Peran bawaan Azure untuk Identitas.

  5. Saat menentukan subnet kustom komputasi tanpa server, Anda juga perlu memastikan bahwa Microsoft.Network/virtualNetworks/subnets/join/action tersedia di jaringan virtual. Untuk informasi selengkapnya, lihat Izin Azure untuk Jaringan.

Menyebarkan ke jaringan virtual atau subnet

  • Untuk menyebarkan sumber daya ke dalam jaringan virtual atau subnet, akun pengguna Anda harus memiliki izin untuk tindakan berikut di kontrol akses berbasis peran Azure (Azure RBAC):

    • "Microsoft.Network/*/read" pada sumber daya jaringan virtual. Izin ini tidak diperlukan untuk penyebaran templat Azure Resource Manager (ARM).
    • "Microsoft.Network/virtualNetworks/join/action" pada sumber daya jaringan virtual.
    • "Microsoft.Network/virtualNetworks/subnet/join/action" pada sumber daya subnet.

    Untuk informasi selengkapnya tentang Azure RBAC dengan pembuatan jaringan, lihat Peran bawaan jaringan

Perbedaan antara tindakan untuk API V1 dan V2

Perbedaan tertentu ada antara tindakan untuk API V1 dan API V2.

Aset Jalur tindakan untuk API V1 Jalur tindakan untuk API V2
Kumpulan Data Microsoft.MachineLearningServices/workspaces/himpunan data Microsoft.MachineLearningServices/ruang kerja/set data/versi
Eksperimen berjalan dan pekerjaan Microsoft.MachineLearningServices/workspaces/experiments Microsoft.MachineLearningServices/lokasi kerja/tugas
Model Microsoft.MachineLearningServices/workspaces/model Microsoft.MachineLearningServices/workspaces/models/versions (Versi)
Modul dan komponen Microsoft.MachineLearningServices/workspaces/modules Layanan Mesin Pembelajaran Microsoft/MachineLearningServices/workspaces/components

Anda dapat membuat peran kustom kompatibel dengan API V1 dan V2 dengan menyertakan kedua tindakan, atau dengan menggunakan wildcard yang menyertakan kedua tindakan, seperti Microsoft.MachineLearningServices/workspaces/datasets/*/read.

Membuat ruang kerja menggunakan kunci yang dikelola pelanggan

Saat Anda menggunakan kunci yang dikelola pelanggan (CMK), Azure Key Vault menyimpan kunci. Pengguna atau perwakilan layanan yang Anda gunakan untuk membuat ruang kerja harus memiliki akses pemilik atau kontributor ke brankas kunci.

Jika Anda mengonfigurasi ruang kerja anda dengan identitas terkelola yang ditetapkan pengguna, berikan identitas peran berikut. Peran ini memungkinkan identitas terkelola untuk membuat sumber daya Azure Storage, Azure Cosmos DB, dan Azure Search saat Anda menggunakan kunci yang dikelola pelanggan:

  • Microsoft.Storage/storageAccounts/write
  • Microsoft.Search/searchServices/write
  • Microsoft.DocumentDB/databaseAccounts/write

Dalam brankas kunci, pengguna atau perwakilan layanan harus memiliki akses membuat, mendapatkan, menghapus, dan menghapus menyeluruh ke kunci melalui kebijakan akses brankas kunci. Untuk informasi selengkapnya, lihat Keamanan Azure Key Vault.

Identitas terkelola yang ditetapkan pengguna dengan kluster komputasi Azure Pembelajaran Mesin

Untuk menetapkan identitas yang ditetapkan pengguna ke kluster komputasi Pembelajaran Mesin Microsoft Azure, Anda memerlukan izin tulis untuk membuat komputasi dan Peran Operator Identitas Terkelola. Untuk informasi selengkapnya tentang Azure RBAC dengan Identitas Terkelola, lihat Cara mengelola identitas yang ditetapkan pengguna.

Operasi MLflow

Untuk melakukan operasi MLflow dengan ruang kerja Azure Machine Learning Anda, gunakan cakupan berikut dalam peran kustom Anda:

Operasi MLflow Cakupan
(V1) Mencantumkan, membaca, membuat, memperbarui, atau menghapus eksperimen Microsoft.MachineLearningServices/workspaces/experiments/*
(V2) Mencantumkan, membaca, membuat, memperbarui, atau menghapus pekerjaan Microsoft.MachineLearningServices/workspaces/jobs/*
Dapatkan model terdaftar berdasarkan nama, ambil daftar semua model terdaftar di registri, cari model terdaftar, model versi terbaru untuk setiap tahap permintaan, dapatkan versi model terdaftar, versi model pencarian, dapatkan URI tempat artefak versi model disimpan, cari eksekusi menurut ID eksperimen Microsoft.MachineLearningServices/workspaces/models/*/read
Buat model terdaftar baru, perbarui nama atau deskripsi model terdaftar, ganti nama model terdaftar yang ada, buat model versi baru, perbarui deskripsi versi model, transisikan model terdaftar ke salah satu tahap Microsoft.MachineLearningServices/workspaces/models/*/write
Menghapus model terdaftar bersama dengan semua versinya, menghapus versi tertentu dari model terdaftar Microsoft.MachineLearningServices/workspaces/models/*/delete

Contoh peran kustom

Saintis data

Gunakan peran ini untuk memberikan izin ilmuwan data untuk melakukan semua operasi di dalam ruang kerja kecuali:

  • Pembuatan sumber daya komputasi.
  • Menyebarkan model ke kluster AKS dalam lingkungan produksi.
  • Menyebarkan titik akhir alur dalam produksi.

data_scientist_custom_role.json :

{
    "Name": "Data Scientist Custom",
    "IsCustom": true,
    "Description": "Can run experiment but can't create or delete compute or deploy production endpoints.",
    "Actions": [
        "Microsoft.MachineLearningServices/workspaces/*/read",
        "Microsoft.MachineLearningServices/workspaces/*/action",
        "Microsoft.MachineLearningServices/workspaces/*/delete",
        "Microsoft.MachineLearningServices/workspaces/*/write"
    ],
    "NotActions": [
        "Microsoft.MachineLearningServices/workspaces/delete",
        "Microsoft.MachineLearningServices/workspaces/write",
        "Microsoft.MachineLearningServices/workspaces/computes/*/write",
        "Microsoft.MachineLearningServices/workspaces/computes/*/delete", 
        "Microsoft.Authorization/*",
        "Microsoft.MachineLearningServices/workspaces/computes/listKeys/action",
        "Microsoft.MachineLearningServices/workspaces/listKeys/action",
        "Microsoft.MachineLearningServices/workspaces/services/aks/write",
        "Microsoft.MachineLearningServices/workspaces/services/aks/delete",
        "Microsoft.MachineLearningServices/workspaces/endpoints/pipelines/write"
    ],
    "AssignableScopes": [
        "/subscriptions/<subscriptionId>"
    ]
}

Ilmuwan data terbatas

Gunakan peran ini untuk memberikan definisi peran yang lebih terbatas tanpa kartubebas dalam tindakan yang diizinkan. Peran ini dapat melakukan semua operasi di dalam ruang kerja, kecuali:

  • Pembuatan sumber daya komputasi.
  • Menyebarkan model ke kluster AKS dalam lingkungan produksi.
  • Menyebarkan titik akhir alur dalam produksi.

data_scientist_restricted_custom_role.json :

{
    "Name": "Data Scientist Restricted Custom",
    "IsCustom": true,
    "Description": "Can run experiment but can't create or delete compute or deploy production endpoints",
    "Actions": [
        "Microsoft.MachineLearningServices/workspaces/*/read",
        "Microsoft.MachineLearningServices/workspaces/computes/start/action",
        "Microsoft.MachineLearningServices/workspaces/computes/stop/action",
        "Microsoft.MachineLearningServices/workspaces/computes/restart/action",
        "Microsoft.MachineLearningServices/workspaces/computes/applicationaccess/action",
        "Microsoft.MachineLearningServices/workspaces/notebooks/storage/write",
        "Microsoft.MachineLearningServices/workspaces/notebooks/storage/delete",
        "Microsoft.MachineLearningServices/workspaces/experiments/runs/write",
        "Microsoft.MachineLearningServices/workspaces/experiments/write",
        "Microsoft.MachineLearningServices/workspaces/experiments/runs/submit/action",
        "Microsoft.MachineLearningServices/workspaces/pipelinedrafts/write",
        "Microsoft.MachineLearningServices/workspaces/metadata/snapshots/write",
        "Microsoft.MachineLearningServices/workspaces/metadata/artifacts/write",
        "Microsoft.MachineLearningServices/workspaces/environments/write",
        "Microsoft.MachineLearningServices/workspaces/models/*/write",
        "Microsoft.MachineLearningServices/workspaces/modules/write",
        "Microsoft.MachineLearningServices/workspaces/components/*/write",
        "Microsoft.MachineLearningServices/workspaces/datasets/*/write", 
        "Microsoft.MachineLearningServices/workspaces/datasets/*/delete",
        "Microsoft.MachineLearningServices/workspaces/computes/listNodes/action",
        "Microsoft.MachineLearningServices/workspaces/environments/build/action"
    ],
    "NotActions": [
        "Microsoft.MachineLearningServices/workspaces/computes/write",
        "Microsoft.MachineLearningServices/workspaces/write",
        "Microsoft.MachineLearningServices/workspaces/computes/delete",
        "Microsoft.MachineLearningServices/workspaces/delete",
        "Microsoft.MachineLearningServices/workspaces/computes/listKeys/action",
        "Microsoft.MachineLearningServices/workspaces/connections/listsecrets/action",
        "Microsoft.MachineLearningServices/workspaces/listKeys/action",
        "Microsoft.Authorization/*",
        "Microsoft.MachineLearningServices/workspaces/datasets/registered/profile/read",
        "Microsoft.MachineLearningServices/workspaces/datasets/registered/preview/read",
        "Microsoft.MachineLearningServices/workspaces/datasets/unregistered/profile/read",
        "Microsoft.MachineLearningServices/workspaces/datasets/unregistered/preview/read",
        "Microsoft.MachineLearningServices/workspaces/datasets/registered/schema/read",    
        "Microsoft.MachineLearningServices/workspaces/datasets/unregistered/schema/read",
        "Microsoft.MachineLearningServices/workspaces/datastores/write",
        "Microsoft.MachineLearningServices/workspaces/datastores/delete"
    ],
    "AssignableScopes": [
        "/subscriptions/<subscriptionId>"
    ]
}

Ilmuwan data MLflow

Gunakan peran ini untuk melakukan semua operasi yang didukung MLflow Azure Machine Learning kecuali:

  • Pembuatan sumber daya komputasi.
  • Menyebarkan model ke kluster AKS dalam lingkungan produksi.
  • Menyebarkan titik akhir alur dalam produksi.

mlflow_data_scientist_custom_role.json :

{
    "Name": "MLFlow Data Scientist Custom",
    "IsCustom": true,
    "Description": "Can perform azureml mlflow integrated functionalities that includes mlflow tracking, projects, model registry",
    "Actions": [
        "Microsoft.MachineLearningServices/workspaces/experiments/*",
        "Microsoft.MachineLearningServices/workspaces/jobs/*",
        "Microsoft.MachineLearningServices/workspaces/models/*"
    ],
    "NotActions": [
        "Microsoft.MachineLearningServices/workspaces/delete",
        "Microsoft.MachineLearningServices/workspaces/write",
        "Microsoft.MachineLearningServices/workspaces/computes/*/write",
        "Microsoft.MachineLearningServices/workspaces/computes/*/delete", 
        "Microsoft.Authorization/*",
        "Microsoft.MachineLearningServices/workspaces/computes/listKeys/action",
        "Microsoft.MachineLearningServices/workspaces/listKeys/action",
        "Microsoft.MachineLearningServices/workspaces/services/aks/write",
        "Microsoft.MachineLearningServices/workspaces/services/aks/delete",
        "Microsoft.MachineLearningServices/workspaces/endpoints/pipelines/write"
    ],
    "AssignableScopes": [
        "/subscriptions/<subscriptionId>"
    ]
}

MLOps

Tetapkan peran ini ke perwakilan layanan untuk mengotomatiskan alur MLOps Anda. Misalnya, gunakan untuk mengirimkan eksekusi terhadap alur yang sudah diterbitkan:

mlops_custom_role.json :

{
    "Name": "MLOps Custom",
    "IsCustom": true,
    "Description": "Can run pipelines against a published pipeline endpoint",
    "Actions": [
        "Microsoft.MachineLearningServices/workspaces/read",
        "Microsoft.MachineLearningServices/workspaces/endpoints/pipelines/read",
        "Microsoft.MachineLearningServices/workspaces/metadata/artifacts/read",
        "Microsoft.MachineLearningServices/workspaces/metadata/snapshots/read",
        "Microsoft.MachineLearningServices/workspaces/environments/read",    
        "Microsoft.MachineLearningServices/workspaces/metadata/secrets/read",
        "Microsoft.MachineLearningServices/workspaces/modules/read",
        "Microsoft.MachineLearningServices/workspaces/components/read",       
        "Microsoft.MachineLearningServices/workspaces/datasets/*/read",
        "Microsoft.MachineLearningServices/workspaces/datastores/read",
        "Microsoft.MachineLearningServices/workspaces/environments/write",
        "Microsoft.MachineLearningServices/workspaces/experiments/runs/read",       
        "Microsoft.MachineLearningServices/workspaces/experiments/runs/write",
        "Microsoft.MachineLearningServices/workspaces/experiments/runs/submit/action",
        "Microsoft.MachineLearningServices/workspaces/experiments/jobs/read",       
        "Microsoft.MachineLearningServices/workspaces/experiments/jobs/write",
        "Microsoft.MachineLearningServices/workspaces/metadata/artifacts/write",
        "Microsoft.MachineLearningServices/workspaces/metadata/snapshots/write",  
        "Microsoft.MachineLearningServices/workspaces/environments/build/action",
    ],
    "NotActions": [
        "Microsoft.MachineLearningServices/workspaces/computes/write",
        "Microsoft.MachineLearningServices/workspaces/write",
        "Microsoft.MachineLearningServices/workspaces/computes/delete",
        "Microsoft.MachineLearningServices/workspaces/delete",
        "Microsoft.MachineLearningServices/workspaces/computes/listKeys/action",
        "Microsoft.MachineLearningServices/workspaces/listKeys/action",
        "Microsoft.Authorization/*"
    ],
    "AssignableScopes": [
        "/subscriptions/<subscriptionId>"
    ]
}

Admin Ruang Kerja

Gunakan peran ini untuk melakukan semua operasi dalam lingkup ruang kerja, kecuali:

  • Membuat ruang kerja baru
  • Menetapkan kuota tingkat langganan atau ruang kerja

Admin ruang kerja tidak dapat membuat peran baru. Peran ini hanya dapat menetapkan peran bawaan atau kustom yang ada dalam cakupan ruang kerjanya:

workspace_admin_custom_role.json :

{
    "Name": "Workspace Admin Custom",
    "IsCustom": true,
    "Description": "Can perform all operations except quota management and upgrades",
    "Actions": [
        "Microsoft.MachineLearningServices/workspaces/*/read",
        "Microsoft.MachineLearningServices/workspaces/*/action",
        "Microsoft.MachineLearningServices/workspaces/*/write",
        "Microsoft.MachineLearningServices/workspaces/*/delete",
        "Microsoft.Authorization/roleAssignments/*"
    ],
    "NotActions": [
        "Microsoft.MachineLearningServices/workspaces/write"
    ],
    "AssignableScopes": [
        "/subscriptions/<subscriptionId>"
    ]
}

Pelabelan data

Azure menyediakan peran bawaan untuk pelabelan data yang hanya dibatasi untuk pelabelan data. Peran kustom berikut memberikan tingkat akses lain untuk proyek pelabelan data.

Prospek tim pelabelan memungkinkan Anda meninjau dan menolak himpunan data berlabel dan melihat wawasan pelabelan. Selain itu, peran ini juga memungkinkan Anda untuk melakukan peran pembuat label.

labeling_team_lead_custom_role.json :

{
    "Name": "Labeling Team Lead",
    "IsCustom": true,
    "Description": "Team lead for Labeling Projects",
    "Actions": [
        "Microsoft.MachineLearningServices/workspaces/read",
        "Microsoft.MachineLearningServices/workspaces/labeling/labels/read",
        "Microsoft.MachineLearningServices/workspaces/labeling/labels/write",
        "Microsoft.MachineLearningServices/workspaces/labeling/labels/reject/action",
        "Microsoft.MachineLearningServices/workspaces/labeling/labels/update/action",
        "Microsoft.MachineLearningServices/workspaces/labeling/projects/read",
        "Microsoft.MachineLearningServices/workspaces/labeling/projects/summary/read"
    ],
    "NotActions": [
        "Microsoft.MachineLearningServices/workspaces/labeling/projects/write",
        "Microsoft.MachineLearningServices/workspaces/labeling/projects/delete",
        "Microsoft.MachineLearningServices/workspaces/labeling/export/action"
    ],
    "AssignableScopes": [
        "/subscriptions/<subscriptionId>"
    ]
}

Pemecahan Masalah

Perhatikan poin-poin berikut saat Anda menggunakan Azure RBAC:

  • Saat Anda membuat sumber daya di Azure, seperti ruang kerja, Anda tidak secara langsung menjadi pemilik sumber daya. Anda mewarisi peran Anda dari peran cakupan tertinggi yang diotorisasi dalam langganan tersebut. Sebagai contoh, jika Anda adalah Administrator Jaringan dan memiliki izin untuk membuat ruang kerja Pembelajaran Mesin, Anda diberi peran Administrator Jaringan terhadap ruang kerja tersebut, bukan peran Pemilik .

  • Untuk melakukan operasi kuota di ruang kerja, Anda memerlukan izin tingkat langganan. Persyaratan ini berarti bahwa hanya pengguna dengan izin tulis di cakupan langganan yang dapat mengatur kuota tingkat langganan atau kuota tingkat ruang kerja untuk sumber daya komputasi terkelola Anda.

  • Untuk mendeploy di studio, Anda perlu Microsoft.Resources/deployments/write dan Microsoft.MachineLearningServices/workspaces/onlineEndpoints/deployments/write. Untuk penyebaran SDK/CLI, Anda memerlukan Microsoft.MachineLearningServices/workspaces/onlineEndpoints/deployments/write. Hubungi pemilik ruang kerja atau grup sumber daya Anda untuk izin tambahan.

  • Ketika ada dua penetapan peran untuk pengguna Microsoft Entra yang sama dengan bagian Tindakan dan NotActions yang saling bertentangan, operasi Anda yang tercantum dalam NotActions dalam satu peran mungkin tidak berfungsi jika mereka juga dicantumkan sebagai Tindakan dalam peran lain. Untuk mempelajari selengkapnya tentang cara Azure mengurai penetapan peran, lihat Bagaimana Azure RBAC menentukan apakah pengguna memiliki akses ke sumber daya.

  • Terkadang diperlukan waktu hingga satu jam agar penetapan peran baru Anda diterapkan pada izin yang di-cache di seluruh tumpukan.

Kembali ke peran Kontributor

Jika Anda membuat ruang kerja baru dan mengalami kesalahan dengan penetapan peran default baru Administrator Azure AI untuk identitas terkelola ruang kerja, gunakan langkah-langkah berikut untuk kembali ke peran Kontributor:

Penting

Jangan kembali ke peran Kontributor kecuali Anda mengalami masalah. Jika mengembalikan ruang kerja memecahkan masalah yang Anda temui, harap laporkan insiden dukungan dengan informasi tentang masalah yang berhasil diatasi sehingga tim produk dapat menyelidiki lebih lanjut.

Jika Anda ingin kembali ke peran Kontributor sebagai default untuk ruang kerja baru, buka permintaan dukungan dengan detail langganan Azure Anda dan minta agar langganan Anda diubah untuk menggunakan peran Kontributor sebagai default untuk identitas terkelola yang ditetapkan sistem dari ruang kerja baru.

  1. Hapus penetapan peran untuk identitas terkelola ruang kerja. Cakupan untuk penetapan peran ini adalah grup sumber daya yang berisi ruang kerja, karena itu Anda harus menghapus peran dari grup sumber daya.

    Petunjuk / Saran

    Identitas terkelola yang ditetapkan sistem untuk ruang kerja sama dengan nama ruang kerja.

    Dari portal Microsoft Azure, buka grup sumber daya yang berisi ruang kerja. Pilih Kontrol akses (IAM), lalu pilih Penetapan peran. Dalam daftar penetapan peran, temukan penetapan peran untuk identitas terkelola. Pilih, lalu pilih Hapus.

    Untuk informasi tentang menghapus penetapan peran, lihat Menghapus penetapan peran.

  2. Buat penetapan peran baru pada grup sumber daya untuk peran Kontributor . Saat Anda menambahkan penugasan peran ini, pilih identitas yang dikelola untuk ruang kerja sebagai penerima penugasan. Nama identitas terkelola yang ditetapkan sistem sama dengan nama ruang kerja.

    1. Dari portal Microsoft Azure, buka grup sumber daya yang berisi ruang kerja. Pilih Kontrol akses (IAM), lalu pilih Tambahkan penetapan peran.
    2. Dari tab Peran , pilih Kontributor.
    3. Dari tab Anggota , pilih Identitas terkelola, + Pilih anggota, dan atur menu dropdown Identitas terkelola ke ruang kerja Azure Machine Learning. Jika ruang kerja adalah ruang kerja hub, pilih hub Azure AI sebagai gantinya. Di bidang Pilih, masukkan nama ruang kerja. Pilih ruang kerja dari daftar, lalu pilih Pilih.
    4. Dari tab Tinjau + tetapkan , pilih Tinjau + tetapkan.