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. Çalışma alanına kullanıcı eklerken, 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 AzureML Kayıt Defteri Kullanıcısı 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, çalışma alanı kullanıcısına hem AzureML Veri Bilimci hem de AzureML İşlem Operatörü rollerini ve kullanıcıların self servis bir şekilde işlem oluştururken denemeler gerçekleştirmesine izin 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:

  1. Bir güvenlik grubu oluşturun.
  2. 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.
  3. Gruba çalışma alanında AzureML Veri Bilimci, Okuyucu veya Katkıda Bulunan gibi bir RBAC rolü atayın.
  4. 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. Yukarıdaki ö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ım 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
  1. Çalışma alanını ilk kez oluşturmaya çalışırken hata alırsanız, rolünüzün izin verdiğinden Microsoft.MachineLearningServices/register/actionemin olun. Bu eylem, Azure Machine Learning kaynak sağlayıcısını Azure aboneliğinize kaydetmenizi sağlar.

  2. AKS kümesi eklerken, kümede Azure Kubernetes Service Cluster 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) kullanılırken, 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önetici

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. Bir Ağ Yönetici strator'ıysanız ve Machine Learning çalışma alanı oluşturma izinlerine sahipseniz, size Sahip rolüne değil bu çalışma alanında Ağ Yönetici istrator rolü atanır.

  • Ç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/writegerekirMicrosoft.Resources/deployments/write. SDK/CLI dağıtımları için gerekir Microsoft.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.

Sonraki adımlar