Azure Machine Learning çalışma alanlarına erişimi yönetme
Bu makalede, Azure Machine Learning çalışma alanlarına erişimin (yetkilendirme) nasıl yönetileceğini açıklanmaktadır. Azure kaynaklarına erişimi yönetmek için Azure rol tabanlı erişim denetimini (Azure RBAC) kullanarak kullanıcılara yeni kaynaklar oluşturma veya mevcut kaynakları kullanma olanağı sağlayabilirsiniz. Microsoft Entra Kimliğinizdeki kullanıcılar için kaynaklara erişim izni veren belirli roller atanır. Azure hem yerleşik roller hem de özel roller oluşturma olanağı sağlar.
İpucu
Bu makale Azure Machine Learning'e odaklansa da, tek tek hizmetler kendi RBAC ayarlarını sağlar. Örneğin, bu makaledeki bilgileri kullanarak, Azure Kubernetes Service'te web hizmeti olarak dağıtılan bir modele kimlerin puanlama isteği gönderebileceğini yapılandırabilirsiniz. Ancak Azure Kubernetes Service kendi Azure rollerini sağlar. Azure Machine Learning ile yararlı olabilecek hizmete özgü RBAC bilgileri için aşağıdaki bağlantılara bakın:
Uyarı
Bazı rollerin uygulanması, diğer kullanıcılar için Azure Machine Learning stüdyosu kullanıcı arabirimi işlevselliğini sınırlayabilir. Örneğin, kullanıcının rolünün işlem örneği oluşturma özelliği yoksa, işlem örneği oluşturma seçeneği Studio'da kullanılamaz. Bu, beklenen bir davranıştır ve kullanıcının erişim reddedildi hatası döndürebilecek işlemleri denemesini engeller.
Varsayılan roller
Azure Machine Learning çalışma alanlarının varsayılan olarak kullanılabilir yerleşik rolleri vardır. Bir çalışma alanına kullanıcı eklediğinizde, kullanıcılara aşağıdaki rollerden biri atanabilir.
Role | Erişim düzeyi |
---|---|
AzureML Veri Bilimci | İşlem kaynaklarını oluşturma veya silme ve çalışma alanının kendisini değiştirme dışında Azure Machine Learning çalışma alanında tüm eylemleri gerçekleştirebilir. |
AzureML İşlem İşleci | Çalışma alanı içinde işlem kaynakları oluşturabilir, yönetebilir, silebilir ve bu kaynaklara erişebilir. |
Okuyucu | Çalışma alanında salt okunur eylemler. Okuyucular bir çalışma alanında veri deposu kimlik bilgileri dahil olmak üzere varlıkları listeleyebilir ve görüntüleyebilir. Okuyucular bu varlıkları oluşturamaz veya güncelleştiremez. |
Katkıda Bulunan | Çalışma alanındaki varlıkları görüntüleme, oluşturma, düzenleme veya silme (geçerli durumlarda). Örneğin katkıda bulunanlar bir deneme oluşturabilir, işlem kümesi oluşturabilir veya ekleyebilir, çalıştırma gönderebilir ve bir web hizmeti dağıtabilir. |
Sahip | Çalışma alanındaki varlıkları görüntüleme, oluşturma, düzenleme veya silme (geçerli durumlarda) dahil olmak üzere tam çalışma alanı erişimi. İsterseniz rol atamalarını değiştirebilirsiniz. |
Ayrıca Azure Machine Learning kayıt defterleri, veri bilimcilerine kullanıcı düzeyinde izinler vermek üzere bir kayıt defteri kaynağına atanabilen bir Azure Machine Learning Kayıt Defteri Kullanıcı rolüne sahiptir. Kayıt defterleri oluşturma veya silmeye yönelik yönetici düzeyinde izinler için Katkıda Bulunan veya Sahip rolünü kullanın.
Role | Erişim düzeyi |
---|---|
AzureML Kayıt Defteri Kullanıcısı | Kayıt defterleri alabilir, içindeki varlıkları okuyabilir, yazabilir ve silebilir. Yeni kayıt defteri kaynakları oluşturulamıyor veya silinemiyor. |
Farklı erişim düzeyleri vermek için rolleri birleştirebilirsiniz. Örneğin, bir çalışma alanı kullanıcısına hem AzureML Veri Bilimci hem de AzureML İşlem Operatörü rollerini, kullanıcının self servis bir şekilde işlem oluştururken denemeler gerçekleştirmesine izin vermesi için vekleyebilirsiniz.
Önemli
Rol erişiminin kapsamı Azure'da birden çok düzeye göre ayarlanabilir. Örneğin, çalışma alanına sahip erişimi olan birinin çalışma alanını içeren kaynak grubuna sahip erişimi olmayabilir. Daha fazla bilgi için bkz . Azure RBAC nasıl çalışır?
Çalışma alanı erişimini yönetme
Bir çalışma alanının sahibiyseniz, çalışma alanı için rol ekleyebilir ve kaldırabilirsiniz. Diğer kullanıcılara da rol atayabilirsiniz. Erişim yönetimi süreçlerini keşfetmek için aşağıdaki bağlantıları kullanın:
Örneğin, aşağıdaki komutla this-rg kaynak grubuna Katkıda Bulunan rolü joe@contoso.com atamak için Azure CLI'yi kullanın:
az role assignment create --role "Contributor" --assignee "joe@contoso.com" --resource-group this-rg
Çalışma alanı erişimini yönetmek için Microsoft Entra güvenlik gruplarını kullanma
Çalışma alanlarına erişimi yönetmek için Microsoft Entra güvenlik gruplarını kullanabilirsiniz. Bu yaklaşımın aşağıdaki avantajları vardır:
- Ekip veya proje liderleri, çalışma alanı kaynağında doğrudan Sahip rolüne gerek kalmadan güvenlik grubu sahipleri olarak çalışma alanına kullanıcı erişimini yönetebilir.
- İzinleri kullanıcı bazında yönetmek zorunda kalmadan, kullanıcıların çalışma alanı ve diğer kaynaklar üzerindeki izinlerini grup olarak düzenleyebilir, yönetebilir ve iptal edebilirsiniz.
- Microsoft Entra gruplarını kullanmak, rol atamalarında abonelik sınırına ulaşmamanıza yardımcı olur.
Microsoft Entra güvenlik gruplarını kullanmak için:
- Bir güvenlik grubu oluşturun.
- Grup sahibi ekleyin. Bu kullanıcının grup üyeleri ekleme veya kaldırma izinleri var. Grup sahibinin grup üyesi olması veya çalışma alanında doğrudan RBAC rolüne sahip olması gerekmez.
- Gruba çalışma alanında AzureML Veri Bilimci, Okuyucu veya Katkıda Bulunan gibi bir RBAC rolü atayın.
- Grup üyeleri ekleyin. Üyeler çalışma alanına erişim kazanır.
Özel rol oluştur
Yerleşik rollerin yetersiz olması durumunda özel roller oluşturabilirsiniz. Özel roller bu çalışma alanında okuma, yazma, silme ve işlem kaynağı izinlerine sahip olabilir. Rolü belirli bir çalışma alanı düzeyinde, belirli bir kaynak grubu düzeyinde veya belirli bir abonelik düzeyinde kullanılabilir hale getirebilirsiniz.
Not
Bu kaynak içinde özel roller oluşturmak için bu düzeyde kaynağın sahibi olmanız gerekir.
Özel rol oluşturmak için, önce rolün iznini ve kapsamını belirten bir rol tanımı JSON dosyası oluşturun. Aşağıdaki örnek, belirli bir çalışma alanı düzeyinde kapsamı belirlenmiş özel Veri Bilimci Özel rolü tanımlar:
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>"
]
}
İpucu
Bu özel rolün AssignableScopes
kapsamını abonelik düzeyinde, kaynak grubu düzeyinde veya belirli bir çalışma alanı düzeyinde ayarlamak için alanı değiştirebilirsiniz.
Önceki özel rol yalnızca bir örnektir. Azure Machine Learning hizmeti için önerilen bazı özel rollere bakın.
Bu özel rol, aşağıdaki eylemler dışında çalışma alanında her şeyi yapabilir:
- Çalışma alanını silemez.
- Çalışma alanını oluşturamaz veya güncelleştiremez.
- İşlem kaynaklarını oluşturamaz veya güncelleştiremez.
- İşlem kaynaklarını silemez.
- Rol atamalarını ekleyemez, silemez veya değiştiremez.
Bu özel rolü dağıtmak için aşağıdaki Azure CLI komutunu kullanın:
az role definition create --role-definition data_scientist_custom_role.json
Dağıtımdan sonra bu rol belirtilen çalışma alanında kullanılabilir hale gelir. Artık azure portalında bu rolü ekleyebilir ve atayabilirsiniz.
Özel roller hakkında daha fazla bilgi için bkz . Azure özel rolleri.
Azure Machine Learning işlemleri
Özel rollerle kullanılabilen işlemler (eylemler ve eylemler değil) hakkında daha fazla bilgi için bkz . Kaynak sağlayıcısı işlemleri. İşlemleri listelemek için aşağıdaki Azure CLI komutunu da kullanabilirsiniz:
az provider operation show –n Microsoft.MachineLearningServices
Özel rolleri listeleme
Azure CLI'da aşağıdaki komutu çalıştırın:
az role definition list --subscription <subscriptionId> --custom-role-only true
Belirli bir özel rolün rol tanımını görüntülemek için aşağıdaki Azure CLI komutunu kullanın. , <roleName>
önceki komut tarafından döndürülen biçimde olmalıdır:
az role definition list -n <roleName> --subscription <subscriptionId>
Özel rolü güncelleştirme
Azure CLI'da aşağıdaki komutu çalıştırın:
az role definition update --role-definition update_def.json --subscription <subscriptionId>
Yeni rol tanımınızın tüm kapsamı üzerinde izinlere sahip olmanız gerekir. Örneğin, bu yeni rolün üç abonelikte bir kapsamı varsa, üç abonelik üzerinde de izinlere sahip olmanız gerekir.
Not
Rol güncelleştirmelerinin bu kapsamdaki tüm rol atamalarına uygulanması 15 dakika ile bir saat arasında sürebilir.
Yinelenebilirlik için Azure Resource Manager şablonlarını kullanma
Karmaşık rol atamalarını yeniden oluşturmanız gerektiğini düşünüyorsanız Azure Resource Manager şablonu önemli bir yardımcı olabilir. Machine-learning-dependencies-role-assignment şablonu, yeniden kullanım için kaynak kodda rol atamalarının nasıl belirtilebileceğini gösterir.
Genel senaryolar
Aşağıdaki tabloda Azure Machine Learning etkinliklerinin özeti ve bunları en az kapsamda gerçekleştirmek için gereken izinler yer alır. Örneğin, bir etkinlik çalışma alanı kapsamıyla (Sütun 4) gerçekleştirilebiliyorsa, bu izine sahip tüm üst kapsam da otomatik olarak çalışır. Belirli etkinlikler için izinler V1 ve V2 API'leri arasında farklılık gösterir.
Önemli
Bu tablodaki ile /
başlayan tüm yollar, için Microsoft.MachineLearningServices/
göreli yollardır:
Etkinlik | Abonelik düzeyi kapsamı | Kaynak grubu düzeyinde kapsam | Çalışma alanı düzeyinde kapsam |
---|---|---|---|
Yeni çalışma alanı oluşturma 1 | Gerekli değil | Sahip veya katkıda bulunan | Yok (Sahip olur veya oluşturulduktan sonra daha yüksek kapsam rolünü devralır) |
Abonelik düzeyi Amlcompute kotası isteme veya çalışma alanı düzeyi kotası ayarlama | Sahip veya katkıda bulunan ya da özel rol Izin /locations/updateQuotas/action abonelik kapsamında |
Yetkili değil | Yetkili değil |
Yeni işlem kümesi oluşturma | Gerekli değil | Gerekli değil | Sahip, katkıda bulunan veya izin veren özel rol: /workspaces/computes/write |
Yeni işlem örneği oluşturma | Gerekli değil | Gerekli değil | Sahip, katkıda bulunan veya izin veren özel rol: /workspaces/computes/write |
Herhangi bir çalıştırma türünü gönderme (V1) | Gerekli değil | Gerekli değil | Sahip, katkıda bulunan veya izin veren özel rol: /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 |
Herhangi bir çalıştırma türünü gönderme (V2) | Gerekli değil | Gerekli değil | Sahip, katkıda bulunan veya izin veren özel rol: /workspaces/*/read , /workspaces/environments/write , /workspaces/jobs/* , /workspaces/metadata/artifacts/write , /workspaces/metadata/codes/*/write , , /workspaces/environments/build/action /workspaces/environments/readSecrets/action |
İşlem hatlarını ve uç noktaları yayımlama (V1) | Gerekli değil | Gerekli değil | Sahip, katkıda bulunan veya izin veren özel rol: /workspaces/endpoints/pipelines/* , /workspaces/pipelinedrafts/* , /workspaces/modules/* |
İşlem hatlarını ve uç noktaları yayımlama (V2) | Gerekli değil | Gerekli değil | Sahip, katkıda bulunan veya izin veren özel rol: /workspaces/endpoints/pipelines/* , /workspaces/pipelinedrafts/* , /workspaces/components/* |
AKS kaynağı ekleme 2 | Gerekli değil | AKS içeren kaynak grubunda sahip veya katkıda bulunan | |
AKS/ACI kaynağına kayıtlı model dağıtma | Gerekli değil | Gerekli değil | Sahip, katkıda bulunan veya izin veren özel rol: /workspaces/services/aks/write , /workspaces/services/aci/write |
Dağıtılan AKS uç noktasına göre puanlama | Gerekli değil | Gerekli değil | Sahip, katkıda bulunan veya izin veren özel rol: /workspaces/services/aks/score/action , /workspaces/services/aks/listkeys/action (Microsoft Entra kimlik doğrulamasını kullanmadığınızda) VEYA /workspaces/read (belirteç kimlik doğrulaması kullandığınızda) |
Etkileşimli not defterlerini kullanarak depolamaya erişme | Gerekli değil | Gerekli değil | Sahip, katkıda bulunan veya izin veren özel rol: /workspaces/computes/read , /workspaces/notebooks/samples/read , /workspaces/notebooks/storage/* , /workspaces/listStorageAccountKeys/action , /workspaces/listNotebookAccessToken/read |
Yeni özel rol oluşturma | Sahip, katkıda bulunan veya özel role izin verme Microsoft.Authorization/roleDefinitions/write |
Gerekli değil | Sahip, katkıda bulunan veya izin veren özel rol: /workspaces/computes/write |
Çevrimiçi uç noktaları ve dağıtımları oluşturma/yönetme | Gerekli değil | Studio'da dağıtmak için Microsoft.Resources/deployments/write |
sahip, katkıda bulunan veya izin veren Microsoft.MachineLearningServices/workspaces/onlineEndpoints/* özel rol. |
Çevrimiçi uç noktalar için kimlik doğrulama kimlik bilgilerini alma | Gerekli değil | Gerekli değil | Ve'ye izin veren Microsoft.MachineLearningServices/workspaces/onlineEndpoints/token/action sahip, katkıda bulunan veya özel rol Microsoft.MachineLearningServices/workspaces/onlineEndpoints/listkeys/action |
Çalışma alanını ilk kez oluşturmaya çalışırken hata alırsanız, rolünüzün izin verdiğinden
Microsoft.MachineLearningServices/register/action
emin olun. Bu eylem, Azure Machine Learning kaynak sağlayıcısını Azure aboneliğinize kaydetmenizi sağlar.AKS kümesi eklerken, kümede Azure Kubernetes Service Kümesi Yönetici Rolü'ne de sahip olmanız gerekir.
Sanal ağa veya alt ağa dağıtma
Kaynakları bir sanal ağa veya alt ağa dağıtmak için kullanıcı hesabınızın Azure rol tabanlı erişim denetiminde (Azure RBAC) aşağıdaki eylemlere yönelik izinleri olmalıdır:
- Sanal ağ kaynağında "Microsoft.Network/*/read" yazın. Azure Resource Manager (ARM) şablonu dağıtımları için bu izin gerekli değildir.
- Sanal ağ kaynağında "Microsoft.Network/virtualNetworks/join/action".
- Alt ağ kaynağında "Microsoft.Network/virtualNetworks/subnets/join/action".
Ağ ile Azure RBAC hakkında daha fazla bilgi için bkz . Ağ yerleşik rolleri
V1 ve V2 API'leri için eylemler arasındaki farklar
V1 API'leri ile V2 API'leri için eylemler arasında bazı farklar vardır.
Varlık | V1 API için eylem yolu | V2 API için eylem yolu |
---|---|---|
Veri kümesi | Microsoft.MachineLearningServices/workspaces/datasets | Microsoft.MachineLearningServices/workspaces/datasets/versions |
Deneme çalıştırmaları ve işleri | Microsoft.MachineLearningServices/workspaces/experiments | Microsoft.MachineLearningServices/workspaces/jobs |
Modeller | Microsoft.MachineLearningServices/workspaces/models | Microsoft.MachineLearningServices/workspaces/models/versions |
Anlık görüntüler ve kod | Microsoft.MachineLearningServices/workspaces/snapshots | Microsoft.MachineLearningServices/workspaces/codes/versions |
Modüller ve bileşenler | Microsoft.MachineLearningServices/workspaces/modules | Microsoft.MachineLearningServices/workspaces/components |
Her iki eylemi de ekleyerek veya her iki eylemi de içeren joker karakterler kullanarak, örneğin Microsoft.MachineLearningServices/workspaces/datasets/*/read
, özel rolleri hem V1 hem de V2 API'leriyle uyumlu hale getirebilirsiniz.
Müşteri tarafından yönetilen anahtar kullanarak çalışma alanı oluşturma
Müşteri tarafından yönetilen anahtar (CMK) kullandığınızda, anahtarı depolamak için bir Azure Key Vault kullanılır. Çalışma alanını oluşturmak için kullanılan kullanıcı veya hizmet sorumlusunun anahtar kasasına sahip veya katkıda bulunan erişimi olmalıdır.
Çalışma alanınız kullanıcı tarafından atanan bir yönetilen kimlikle yapılandırılmışsa, kimliğe aşağıdaki roller verilmelidir. Bu roller yönetilen kimliğin müşteri tarafından yönetilen anahtar kullanırken kullanılan Azure Depolama, Azure Cosmos DB ve Azure Search kaynaklarını oluşturmasına olanak tanır:
Microsoft.Storage/storageAccounts/write
Microsoft.Search/searchServices/write
Microsoft.DocumentDB/databaseAccounts/write
Anahtar kasası içinde, kullanıcı veya hizmet sorumlusunun anahtar kasası erişim ilkesi aracılığıyla anahtar oluşturma, alma, silme ve temizleme erişimi olmalıdır. Daha fazla bilgi için bkz . Azure Key Vault güvenliği.
Azure Machine Learning işlem kümesi ile kullanıcı tarafından atanan yönetilen kimlik
Azure Machine Learning işlem kümesine kullanıcı tarafından atanan bir kimlik atamak için, işlemi ve Yönetilen Kimlik Operatörü Rolünü oluşturmak için yazma izinlerine sahip olmanız gerekir. Yönetilen Kimliklerle Azure RBAC hakkında daha fazla bilgi için bkz . Kullanıcı tarafından atanan kimliği yönetme
MLflow işlemleri
Azure Machine Learning çalışma alanınızla MLflow işlemleri gerçekleştirmek için aşağıdaki kapsamları kullanarak özel rolünüzü kullanın:
MLflow işlemi | Kapsam |
---|---|
(V1) Denemeleri listeleme, okuma, oluşturma, güncelleştirme veya silme | Microsoft.MachineLearningServices/workspaces/experiments/* |
(V2) İşleri listeleme, okuma, oluşturma, güncelleştirme veya silme | Microsoft.MachineLearningServices/workspaces/jobs/* |
Kayıtlı modeli ada göre alın, kayıt defterindeki tüm kayıtlı modellerin listesini getirin, kayıtlı modelleri arayın, her istek aşaması için en son sürüm modellerini arayın, kayıtlı modelin sürümünü alın, model sürümlerini arayın, model sürümünün yapıtlarının depolandığı URI'yi alın, deneme kimliklerine göre çalıştırmaları arayın | Microsoft.MachineLearningServices/workspaces/models/*/read |
Yeni bir kayıtlı model oluşturun, kayıtlı modelin adını/açıklamasını güncelleştirin, mevcut kayıtlı modeli yeniden adlandırın, modelin yeni sürümünü oluşturun, model sürümünün açıklamasını güncelleştirin, kayıtlı modeli aşamalardan birine geçirin | Microsoft.MachineLearningServices/workspaces/models/*/write |
Kayıtlı modeli tüm sürümleriyle birlikte silme, kayıtlı modelin belirli sürümlerini silme | Microsoft.MachineLearningServices/workspaces/models/*/delete |
Örnek özel roller
Veri bilimcisi
Veri bilimcinin çalışma alanı içinde aşağıdakiler dışında tüm işlemleri gerçekleştirmesine izin verir:
- İşlem oluşturma
- Modelleri üretim AKS kümesine dağıtma
- Üretimde işlem hattı uç noktası dağıtma
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>"
]
}
Veri bilimcisi kısıtlandı
İzin verilen eylemlerde joker karakter içermeyen daha kısıtlı bir rol tanımı. Çalışma alanı içinde aşağıdakiler dışında tüm işlemleri gerçekleştirebilir:
- İşlem oluşturma
- Modelleri üretim AKS kümesine dağıtma
- Üretimde işlem hattı uç noktası dağıtma
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>"
]
}
MLflow veri bilimcisi
Veri bilimcinin aşağıdakiler dışında MLflow Azure Machine Learning tarafından desteklenen tüm işlemleri gerçekleştirmesine izin verir:
- İşlem oluşturma
- Modelleri üretim AKS kümesine dağıtma
- Üretimde işlem hattı uç noktası dağıtma
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
Bir hizmet sorumlusuna rol atamanıza ve mlOps işlem hatlarınızı otomatikleştirmek için bunu kullanmanıza olanak tanır. Örneğin, zaten yayımlanmış bir işlem hattına yönelik çalıştırmaları göndermek için:
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>"
]
}
Çalışma Alanı Yöneticisi
Aşağıdakiler dışında, çalışma alanı kapsamındaki tüm işlemleri gerçekleştirmenize olanak tanır:
- Yeni çalışma alanı oluşturma
- Abonelik veya çalışma alanı düzeyi kotaları atama
Çalışma alanı yöneticisi de yeni bir rol oluşturamaz. Mevcut yerleşik veya özel rolleri yalnızca çalışma alanı kapsamında atayabilir:
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>"
]
}
Veri etiketleme
Veri etiketleme için yalnızca etiketleme verilerinin kapsamına alınmış yerleşik bir rol vardır. Aşağıdaki özel roller, veri etiketleme projesi için diğer erişim düzeylerini verir.
Etiketleme ekibi lideri etiketlenmiş veri kümesini gözden geçirmenize ve reddetmenize ve etiketleme içgörülerini görüntülemenize olanak tanır. Ayrıca bu rol, etiketleyici rolünü yerine getirmenize de olanak tanır.
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>"
]
}
Sorun giderme
Azure RBAC kullanırken dikkat etmeniz gereken birkaç şey şunlardır:
Azure'da çalışma alanı gibi bir kaynak oluşturduğunuzda doğrudan kaynağın sahibi olmazsınız. Rolünüz, bu abonelikte yetkilendirildiğiniz en yüksek kapsam rolünden devralınır. Örneğin, Ağ Yöneticisiyseniz ve Machine Learning çalışma alanı oluşturma izinlerine sahipseniz, size bu çalışma alanında Ağ Yöneticisi rolü atanır. Sahip rolü değil.
Çalışma alanında kota işlemleri gerçekleştirmek için abonelik düzeyi izinlerine ihtiyacınız vardır. Dolayısıyla yönetilen işlem kaynaklarınız için abonelik düzeyinde kota veya çalışma alanı düzeyinde kota ayarlama işleminin gerçekleşmesi için abonelik kapsamında yazma izinlerinizin olması gerekir.
Studio'da dağıtmak için VE
Microsoft.MachineLearningServices/workspaces/onlineEndpoints/deployments/write
gerekirMicrosoft.Resources/deployments/write
. SDK/CLI dağıtımları için gerekirMicrosoft.MachineLearningServices/workspaces/onlineEndpoints/deployments/write
. Ek izinler için çalışma alanınıza/kaynak grubu sahibine başvurun.Aynı Microsoft Entra kullanıcısına Eylemler/NotActions'ın çakışan bölümleriyle iki rol ataması olduğunda, bir rolden NotActions bölümünde listelenen işlemleriniz, başka bir roldeki Eylemler olarak da listeleniyorsa etkili olmayabilir. Azure'ın rol atamalarını nasıl ayrıştırdığı hakkında daha fazla bilgi edinmek için Azure RBAC kullanıcının bir kaynağa erişimi olup olmadığını nasıl belirler? belgesini okuyun
Yeni rol atamalarınızın yığın genelinde önbelleğe alınmış izinlerde geçerlilik kazanması bazen bir saat kadar sürebilir.