Mengelola akses ke ruang kerja Azure Pembelajaran Mesin
Artikel ini menjelaskan cara mengelola akses (otorisasi) ke ruang kerja Azure Pembelajaran Mesin. Anda dapat menggunakan kontrol akses berbasis peran Azure (Azure RBAC) untuk mengelola akses ke sumber daya Azure, memberi pengguna kemampuan untuk membuat sumber daya baru atau menggunakan sumber daya yang sudah ada. Pengguna di ID Microsoft Entra Anda diberi peran tertentu, yang memberikan akses ke sumber daya. Azure menyediakan peran bawaan dan kemampuan untuk membuat peran kustom.
Tip
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, mereka dapat diberi 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 Pembelajaran Mesin memiliki peran Pengguna Azure Pembelajaran Mesin Registry yang dapat ditetapkan 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, Anda dapat memberikan pengguna ruang kerja peran AzureML Data Scientist dan Operator Komputasi AzureML untuk mengizinkan pengguna melakukan eksperimen saat membuat komputasi dengan cara layanan mandiri.
Penting
Akses peran dapat dicakup ke beberapa 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.
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 ke joe@contoso.com untuk 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 beberapa keuntungan:
- 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:
- Membuat grup keamanan.
- 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.
- Tetapkan peran RBAC pada ruang kerja, seperti AzureML Data Scientist, Reader, atau Contributor.
- Menambahkan anggota grup. Anggota mendapatkan akses ke ruang kerja.
Membuat peran kustom
Jika peran bawaan tidak cukup, Anda dapat membuat peran kustom. Peran kustom mungkin memiliki izin baca, tulis, hapus, dan komputasi 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
Anda harus menjadi pemilik sumber daya pada tingkat tersebut untuk membuat peran kustom dalam sumber daya 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>"
]
}
Tip
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, lihat beberapa peran kustom yang disarankan untuk layanan Azure Pembelajaran Mesin.
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 penyebaran, peran ini akan 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 digunakan dengan peran kustom, lihat Operasi penyedia sumber. 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 ini:
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 ini:
az role definition update --role-definition update_def.json --subscription <subscriptionId>
Anda harus memiliki izin pada keseluruhan cakupan definisi peran baru Anda. Misalnya, jika peran baru ini memiliki cakupan di tiga langganan, Anda harus memiliki izin pada ketiga langganan tersebut.
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. machine-learning-dependencies-role-assignment template menampilkan cara tugas peran dapat ditetapkan di kode sumber untuk digunakan kembali.
Skenario umum
Tabel berikut adalah ringkasan aktivitas Pembelajaran Mesin Microsoft Azure dan izin yang diperlukan untuk melakukannya dalam cakupan terkecil. 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 atau kontributor | 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/metadata/codes/*/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 |
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.Saat melampirkan kluster AKS, Anda juga harus memiliki Peran Admin Kluster Azure Kubernetes Service pada kluster.
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
Ada perbedaan tertentu antara tindakan untuk API V1 dan API V2.
Aset | Jalur tindakan untuk API V1 | Jalur tindakan untuk API V2 |
---|---|---|
Dataset | Microsoft.MachineLearningServices/workspaces/datasets | Microsoft.MachineLearningServices/workspaces/datasets/versions |
Eksperimen berjalan dan pekerjaan | Microsoft.MachineLearningServices/workspaces/experiments | Microsoft.MachineLearningServices/workspaces/jobs |
Model | Microsoft.MachineLearningServices/workspaces/models | Microsoft.MachineLearningServices/workspaces/models/versions |
Rekam jepret dan kode | Microsoft.MachineLearningServices/workspaces/snapshots | Microsoft.MachineLearningServices/workspaces/codes/versions |
Modul dan komponen | Microsoft.MachineLearningServices/workspaces/modules | Microsoft.MachineLearningServices/workspaces/components |
Anda dapat membuat peran kustom kompatibel dengan API V1 dan V2 dengan menyertakan kedua tindakan, atau menggunakan kartubebas yang menyertakan kedua tindakan, misalnya Microsoft.MachineLearningServices/workspaces/datasets/*/read
.
Membuat ruang kerja menggunakan kunci yang dikelola pelanggan
Saat Anda menggunakan kunci yang dikelola pelanggan (CMK), Azure Key Vault digunakan untuk menyimpan kunci. Perwakilan layanan atau pengguna yang digunakan untuk membuat ruang kerja harus memiliki akses pemilik atau kontributor ke brankas kunci.
Jika ruang kerja Anda dikonfigurasi dengan identitas terkelola yang ditetapkan pengguna, identitas harus diberikan peran berikut. Peran ini memungkinkan identitas terkelola untuk membuat sumber daya Azure Storage, Azure Cosmos DB, dan Azure Search yang digunakan saat 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, baca Cara mengelola identitas yang ditetapkan pengguna
Operasi MLflow
Untuk melakukan operasi MLflow dengan ruang kerja Pembelajaran Mesin Microsoft Azure, gunakan cakupan berikut untuk 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 |
Membuat model terdaftar baru, memperbarui nama/deskripsi model terdaftar, mengganti nama model terdaftar yang ada, membuat model versi baru, memperbarui deskripsi versi model, mentransisikan model terdaftar ke salah satu tahap | Microsoft.MachineLearningServices/workspaces/models/*/write |
Menghapus model terdaftar beserta semua versinya, menghapus versi tertentu dari model terdaftar | Microsoft.MachineLearningServices/workspaces/models/*/delete |
Contoh peran kustom
Saintis data
Memungkinkan ilmuwan data melakukan semua operasi di dalam ruang kerja, kecuali:
- Pembuatan komputasi
- Penyebaran model ke kluster AKS produksi
- Penyebaran 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
Definisi peran yang lebih terbatas tanpa kartu bebas dalam tindakan yang diizinkan. Peran ini dapat melakukan semua operasi di dalam ruang kerja, kecuali:
- Pembuatan komputasi
- Penyebaran model ke kluster AKS produksi
- Penyebaran 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
Memungkinkan ilmuwan data melakukan semua operasi yang didukung Pembelajaran Mesin MLflow Azure kecuali:
- Pembuatan komputasi
- Penyebaran model ke kluster AKS produksi
- Penyebaran 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
Memungkinkan Anda menetapkan peran ke perwakilan layanan dan menggunakannya untuk mengotomatiskan alur MLOps Anda. Misalnya, untuk mengirimkan eksekusi terhadap alur yang sudah dipublikasikan:
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/metadata/codes/*/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
Memungkinkan Anda melakukan semua operasi dalam cakupan ruang kerja, kecuali:
- Membuat ruang kerja baru
- Menetapkan kuota tingkat langganan atau ruang kerja
Admin ruang kerja juga 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
Ada peran bawaan untuk pelabelan data, yang hanya dilingkup 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
Berikut adalah beberapa hal yang perlu diperhatikan saat Anda menggunakan Azure RBAC:
Saat Anda membuat sumber daya di Azure, seperti ruang kerja, Anda tidak secara langsung menjadi pemilik sumber daya. Peran Anda diwariskan 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 akan diberi peran Administrator Jaringan terhadap ruang kerja tersebut. Bukan peran Pemilik.
Untuk melakukan operasi kuota di ruang kerja, Anda memerlukan izin tingkat langganan. Ini berarti pengaturan kuota tingkat langganan atau kuota tingkat ruang kerja untuk sumber daya komputasi terkelola hanya dapat terjadi jika Anda memiliki izin tulis pada cakupan langganan.
Untuk menyebarkan di studio, Anda memerlukan
Microsoft.Resources/deployments/write
ANDMicrosoft.MachineLearningServices/workspaces/onlineEndpoints/deployments/write
. Untuk penyebaran SDK/CLI, Anda memerlukanMicrosoft.MachineLearningServices/workspaces/onlineEndpoints/deployments/write
. Hubungi pemilik ruang kerja/grup sumber daya Anda untuk izin tambahan.Ketika ada dua penetapan peran untuk pengguna Microsoft Entra yang sama dengan bagian Tindakan/NotActions yang bertentangan, operasi Anda yang tercantum dalam NotActions dari satu peran mungkin tidak berlaku jika mereka juga terdaftar sebagai Tindakan dalam peran lain. Untuk mempelajari selengkapnya tentang cara Azure menguraikan penetapan peran, baca Cara 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.