Správa přístupu k pracovním prostorům Azure Machine Learning
Tento článek vysvětluje, jak spravovat přístup (autorizaci) k pracovním prostorům služby Azure Machine Learning. Ke správě přístupu k prostředkům Azure můžete použít řízení přístupu na základě role (Azure RBAC), které uživatelům umožňuje vytvářet nové prostředky nebo používat existující. Uživatelům ve vašem Microsoft Entra ID jsou přiřazeny konkrétní role, které udělují přístup k prostředkům. Azure poskytuje předdefinované role i možnost vytvářet vlastní role.
Tip
Tento článek se zaměřuje na Azure Machine Learning, jednotlivé služby poskytují vlastní nastavení RBAC. Pomocí informací v tomto článku můžete například nakonfigurovat, kdo může odesílat žádosti o bodování do modelu nasazeného jako webová služba ve službě Azure Kubernetes Service. Azure Kubernetes Service ale poskytuje vlastní sadu rolí Azure. Informace o RBAC pro konkrétní služby, které můžou být užitečné pro Azure Machine Learning, najdete na následujících odkazech:
Upozorňující
Použití některých rolí může omezit funkčnost uživatelského rozhraní v studio Azure Machine Learning pro ostatní uživatele. Pokud například role uživatele nemá možnost vytvořit výpočetní instanci, není možnost vytvoření výpočetní instance v sadě Studio dostupná. Toto chování se očekává a zabrání uživateli v pokusu o operace, které by vrátily chybu odepření přístupu.
Výchozí role
Pracovní prostory Služby Azure Machine Learning mají ve výchozím nastavení předdefinované role, které jsou k dispozici. Když přidáte uživatele do pracovního prostoru, můžete jim přiřadit jednu z následujících rolí.
Role | Úroveň přístupu |
---|---|
Datoví vědci AzureML | Může provádět všechny akce v rámci pracovního prostoru Azure Machine Learning s výjimkou vytváření nebo odstraňování výpočetních prostředků a úprav samotného pracovního prostoru. |
Operátor výpočetních prostředků AzureML | Může vytvářet, spravovat, odstraňovat a přistupovat k výpočetním prostředkům v rámci pracovního prostoru. |
Čtenář | Smí v pracovním prostoru provádět akce jen pro čtení. Čtenáři můžou v pracovním prostoru vypsat a zobrazit prostředky, včetně přihlašovacích údajů úložiště dat. Čtenáři nemohou tyto prostředky vytvářet ani aktualizovat. |
Přispěvatel | Může v pracovním prostoru zobrazovat, vytvářet, upravovat a odstraňovat prostředky (podle situace). Přispěvatelé můžou například vytvořit experiment, vytvořit nebo připojit výpočetní cluster, odeslat běh a nasadit webovou službu. |
Vlastník | Má úplný přístup k pracovnímu prostoru, včetně možnosti zobrazovat, vytvářet, upravovat nebo odstraňovat (podle situace) prostředky v pracovním prostoru. Kromě toho můžete měnit přiřazení rolí. |
Registry Služby Azure Machine Learning mají navíc roli uživatele registru Azure Machine Learning, která se dá přiřadit k prostředku registru, aby datovým vědcům udělila oprávnění na úrovni uživatele. K vytvoření nebo odstranění registrů na úrovni správce použijte roli Přispěvatel nebo Vlastník.
Role | Úroveň přístupu |
---|---|
Uživatel registru AzureML | Může v nich získat registry a číst, zapisovat a odstraňovat prostředky. Nejde vytvořit nové prostředky registru nebo je odstranit. |
Role můžete kombinovat a udělit tak různé úrovně přístupu. Můžete například uživateli pracovního prostoru udělit role azureML Datoví vědci i výpočetního operátora AzureML, aby uživatel mohl provádět experimenty při vytváření výpočetních prostředků samoobslužným způsobem.
Důležité
Přístup k rolím je možné v Azure vymezit na více úrovní. Například někdo s přístupem vlastníka k pracovnímu prostoru nemusí mít přístup vlastníka ke skupině prostředků, která tento pracovní prostor obsahuje. Další informace najdete v tématu Jak funguje Azure RBAC.
Role správce Azure AI
Před 11. 19. 2024 se spravovaná identita přiřazená systémem vytvořená pro pracovní prostor automaticky přiřadila roli Přispěvatel pro skupinu prostředků, která obsahuje pracovní prostor. Pracovní prostory vytvořené po tomto datu mají spravovanou identitu přiřazenou systémem přiřazenou k roli správce Azure AI. Tato role je zúženější na minimální oprávnění potřebná ke spravované identitě k provádění svých úloh.
Role správce Azure AI je aktuálně ve verzi Public Preview.
Důležité
Tato funkce je v současné době ve verzi Public Preview. Tato verze Preview je poskytována bez smlouvy o úrovni služeb a nedoporučujeme ji pro produkční úlohy. Některé funkce se nemusí podporovat nebo mohou mít omezené možnosti.
Další informace najdete v dodatečných podmínkách použití pro verze Preview v Microsoft Azure.
Role Správce Azure AI má následující oprávnění:
{
"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.DataFactory/factories/*"
],
"notActions": [],
"dataActions": [],
"notDataActions": []
}
]
}
Převod existující identity spravované systémem na roli správce Azure AI
Tip
Doporučujeme převést pracovní prostory vytvořené před 11. 19. 2024 tak, aby používaly roli správce Azure AI. Role správce Azure AI je zúženější než dříve použitá role Přispěvatel a řídí se objektem zabezpečení s nejnižšími oprávněními.
Pracovní prostory vytvořené před 11. 19. 2024 můžete převést pomocí jedné z následujících metod:
Azure REST API: Použijte
PATCH
požadavek na rozhraní Azure REST API pro pracovní prostor. Text požadavku by měl být nastaven{"properties":{"allowRoleAssignmeentOnRG":true}}
. Následující příklad ukazujePATCH
požadavek používajícícurl
. Nahraďte hodnotu ,<resource-group-name>
<workspace-name>
a<YOUR-ACCESS-TOKEN>
nahraďte<your-subscription>
hodnotami pro váš scénář. Další informace o používání rozhraní REST API najdete v dokumentaci k rozhraní 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-04-01-preview -H "Authorization:Bearer <YOUR-ACCESS-TOKEN>"
Azure CLI: Použijte příkaz
az ml workspace update
s parametrem--allow-roleassignment-on-rg true
. Následující příklad aktualizuje pracovní prostor s názvemmyworkspace
. Tento příkaz vyžaduje rozšíření Azure Machine Learning CLI verze 2.27.0 nebo novější.az ml workspace update --name myworkspace --allow-roleassignment-on-rg true
Azure Python SDK: Nastavte
allow_roleassignment_on_rg
vlastnost objektu pracovního prostoru naTrue
a pak proveďte operaci aktualizace. Následující příklad aktualizuje pracovní prostor s názvemmyworkspace
. Tato operace vyžaduje sadu Azure Machine Learning SDK verze 1.17.0 nebo novější.ws = ml_client.workspaces.get(name="myworkspace") ws.allow_roleassignment_on_rg = True ws = ml_client.workspaces.begin_update(workspace=ws).result()
Správa přístupu k pracovnímu prostoru
Pokud jste vlastníkem pracovního prostoru, můžete přidávat a odebírat role pro tento pracovní prostor. Můžete také přiřazovat role uživatelům. Následující odkazy vám pomůžou zjistit, jak spravovat přístup:
- Uživatelské rozhraní webu Azure Portal
- PowerShell
- Azure CLI
- REST API
- Šablony Azure Resource Manageru
Například pomocí Azure CLI přiřaďte roli Přispěvatel pro joe@contoso.com skupinu prostředků this-rg pomocí následujícího příkazu:
az role assignment create --role "Contributor" --assignee "joe@contoso.com" --resource-group this-rg
Použití skupin zabezpečení Microsoft Entra ke správě přístupu k pracovnímu prostoru
Skupiny zabezpečení Microsoft Entra můžete použít ke správě přístupu k pracovním prostorům. Tento přístup má následující výhody:
- Vedoucí týmu nebo projektu můžou spravovat přístup uživatelů k pracovnímu prostoru jako vlastníci skupin zabezpečení, aniž by museli mít roli Vlastník přímo u prostředku pracovního prostoru.
- Oprávnění uživatelů v pracovním prostoru a dalších prostředcích můžete uspořádat, spravovat a odvolávat jako skupinu, aniž byste museli spravovat oprávnění podle uživatele.
- Používání skupin Microsoft Entra vám pomůže vyhnout se dosažení limitu předplatného pro přiřazení rolí.
Použití skupin zabezpečení Microsoft Entra:
- Vytvořte skupinu zabezpečení.
- Přidejte vlastníka skupiny. Tento uživatel má oprávnění přidávat nebo odebírat členy skupiny. Vlastník skupiny nemusí být členem skupiny nebo mít v pracovním prostoru přímou roli RBAC.
- Přiřaďte skupině roli RBAC v pracovním prostoru, jako je azureML Datoví vědci, čtenář nebo přispěvatel.
- Přidejte členy skupiny. Členové získají přístup k pracovnímu prostoru.
Vytvoření vlastní role
Pokud si s předdefinovanými rolemi nevystačíte, můžete vytvářet role vlastní. Vlastní role můžou mít oprávnění ke čtení, zápisu, odstranění a výpočetnímu prostředku v daném pracovním prostoru. Roli můžete zpřístupnit na konkrétní úrovni pracovního prostoru, na konkrétní úrovni skupiny prostředků nebo na konkrétní úrovni předplatného.
Poznámka:
Pokud chcete vytvořit vlastní role v rámci tohoto prostředku, musíte být vlastníkem prostředku na této úrovni.
Pokud chcete vytvořit vlastní roli, nejprve vytvořte soubor JSON definice role, který určuje oprávnění a obor role. Následující příklad definuje vlastní Datoví vědci vlastní roli vymezenou na konkrétní úrovni pracovního prostoru:
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
Pole můžete změnit AssignableScopes
tak, aby nastavil obor této vlastní role na úrovni předplatného, na úrovni skupiny prostředků nebo na konkrétní úrovni pracovního prostoru.
Předchozí vlastní role je jen příkladem, podívejte se na některé navrhované vlastní role pro službu Azure Machine Learning.
Tato vlastní role může dělat všechno v pracovním prostoru s výjimkou následujících akcí:
- Pracovní prostor se nedá odstranit.
- Pracovní prostor nemůže vytvořit ani aktualizovat.
- Nemůže vytvářet ani aktualizovat výpočetní prostředky.
- Výpočetní prostředky se nedají odstranit.
- Nemůže přidávat, odstraňovat ani měnit přiřazení rolí.
Pokud chcete nasadit tuto vlastní roli, použijte následující příkaz Azure CLI:
az role definition create --role-definition data_scientist_custom_role.json
Po nasazení bude tato role dostupná v zadaném pracovním prostoru. Teď můžete tuto roli přidat a přiřadit na webu Azure Portal.
Další informace o vlastních rolích najdete v tématu Vlastní role Azure.
Operace služby Azure Machine Learning
Další informace o operacích (akcích a ne akcích) použitelných s vlastními rolemi najdete v tématu Operace poskytovatele prostředků. K výpisu operací můžete použít také následující příkaz Azure CLI:
az provider operation show –n Microsoft.MachineLearningServices
Výpis vlastních rolí
V Azure CLI spusťte následující příkaz:
az role definition list --subscription <subscriptionId> --custom-role-only true
Pokud chcete zobrazit definici role pro konkrétní vlastní roli, použijte následující příkaz Azure CLI. Měl <roleName>
by být ve stejném formátu, který vrátil předchozí příkaz:
az role definition list -n <roleName> --subscription <subscriptionId>
Aktualizace vlastní role
V Azure CLI spusťte následující příkaz:
az role definition update --role-definition update_def.json --subscription <subscriptionId>
Musíte mít oprávnění k celému rozsahu nové definice role. Pokud má tato nová role například obor napříč třemi předplatnými, musíte mít oprávnění ke všem třem předplatným.
Poznámka:
Aktualizace rolí můžou trvat 15 minut až hodinu, než se uplatní u všech přiřazení rolí v daném oboru.
Použití šablon Azure Resource Manageru pro opakovatelnost
Pokud předpokládáte, že potřebujete znovu vytvořit složitá přiřazení rolí, může vám pomoct šablona Azure Resource Manageru. Šablona machine-learning-dependencies-role-assignment ukazuje, jak je možné zadat přiřazení rolí ve zdrojovém kódu pro opakované použití.
Obvyklé scénáře
Následující tabulka obsahuje souhrn aktivit služby Azure Machine Learning a oprávnění potřebná k jejich provedení aspoň rozsahu. Pokud je například možné provést aktivitu s oborem pracovního prostoru (sloupec 4), pak veškerý vyšší obor s tímto oprávněním také funguje automaticky. U určitých aktivit se oprávnění mezi rozhraními API V1 a V2 liší.
Důležité
Všechny cesty v této tabulce, které začínají, jsou relativními cestami /
k Microsoft.MachineLearningServices/
:
Aktivita | Rozsah na úrovni předplatného | Rozsah na úrovni skupiny prostředků | Obor na úrovni pracovního prostoru |
---|---|---|---|
Vytvoření nového pracovního prostoru 1 | Nepovinné | Vlastník nebo přispěvatel | Není k dispozici (stane se vlastníkem nebo dědí roli s vyšším oborem po vytvoření) |
Vyžádání kvóty Amlcompute na úrovni předplatného nebo nastavení kvóty na úrovni pracovního prostoru | Vlastník nebo přispěvatel nebo vlastní role dovolující /locations/updateQuotas/action v oboru předplatného |
Neautorizováno | Neautorizováno |
Vytvoření nového výpočetního clusteru | Nepovinné | Nepovinné | Povolení vlastníka, přispěvatele nebo vlastní role: /workspaces/computes/write |
Vytvoření nové výpočetní instance | Nepovinné | Nepovinné | Povolení vlastníka, přispěvatele nebo vlastní role: /workspaces/computes/write |
Odeslání jakéhokoli typu spuštění (V1) | Nepovinné | Nepovinné | Vlastník, přispěvatel nebo vlastní role umožňující: /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 |
Odesílání libovolného typu spuštění (V2) | Nepovinné | Nepovinné | Vlastník, přispěvatel nebo vlastní role umožňující: /workspaces/*/read , /workspaces/environments/write , /workspaces/jobs/* , /workspaces/metadata/artifacts/write , /workspaces/metadata/codes/*/write , , /workspaces/environments/build/action /workspaces/environments/readSecrets/action |
Publikování kanálů a koncových bodů (V1) | Nepovinné | Nepovinné | Vlastník, přispěvatel nebo vlastní role umožňující: /workspaces/endpoints/pipelines/* , /workspaces/pipelinedrafts/* , /workspaces/modules/* |
Publikování kanálů a koncových bodů (V2) | Nepovinné | Nepovinné | Vlastník, přispěvatel nebo vlastní role umožňující: /workspaces/endpoints/pipelines/* , /workspaces/pipelinedrafts/* , /workspaces/components/* |
Připojení prostředku AKS 2 | Nepovinné | Vlastník nebo přispěvatel ve skupině prostředků, která obsahuje AKS | |
Nasazení registrovaného modelu na prostředek AKS/ACI | Nepovinné | Nepovinné | Povolení vlastníka, přispěvatele nebo vlastní role: /workspaces/services/aks/write , /workspaces/services/aci/write |
Bodování pro nasazený koncový bod AKS | Nepovinné | Nepovinné | Povolení vlastníka, přispěvatele nebo vlastní role: /workspaces/services/aks/score/action , /workspaces/services/aks/listkeys/action (pokud nepoužíváte ověřování Microsoft Entra) NEBO /workspaces/read (při použití ověřování tokenem) |
Přístup k úložišti pomocí interaktivních poznámkových bloků | Nepovinné | Nepovinné | Vlastník, přispěvatel nebo vlastní role umožňující: /workspaces/computes/read , /workspaces/notebooks/samples/read , /workspaces/notebooks/storage/* , /workspaces/listStorageAccountKeys/action , /workspaces/listNotebookAccessToken/read |
Vytvoření nové vlastní role | Povolení vlastníka, přispěvatele nebo vlastní role Microsoft.Authorization/roleDefinitions/write |
Nepovinné | Povolení vlastníka, přispěvatele nebo vlastní role: /workspaces/computes/write |
Vytváření a správa online koncových bodů a nasazení | Nepovinné | Pokud chcete nasadit v sadě Studio, Microsoft.Resources/deployments/write |
Povolení vlastníka, přispěvatele nebo vlastní role Microsoft.MachineLearningServices/workspaces/onlineEndpoints/* |
Načtení přihlašovacích údajů pro ověřování pro online koncové body | Nepovinné | Nepovinné | Povolení vlastníka, přispěvatele nebo vlastní role Microsoft.MachineLearningServices/workspaces/onlineEndpoints/token/action Microsoft.MachineLearningServices/workspaces/onlineEndpoints/listkeys/action |
Pokud při prvním pokusu o vytvoření pracovního prostoru dojde k chybě, ujistěte se, že vaše role umožňuje
Microsoft.MachineLearningServices/register/action
. Tato akce umožňuje zaregistrovat poskytovatele prostředků Azure Machine Learning ve vašem předplatném Azure.Při připojování clusteru AKS musíte mít v clusteru také roli správce clusteru Azure Kubernetes Service.
Nasazení do virtuální sítě nebo podsítě
Pokud chcete nasadit prostředky do virtuální sítě nebo podsítě, musí mít váš uživatelský účet oprávnění k následujícím akcím v řízení přístupu na základě role v Azure (Azure RBAC):
- Microsoft.Network/*/read v prostředku virtuální sítě. Toto oprávnění není potřeba pro nasazení šablon Azure Resource Manageru (ARM).
- "Microsoft.Network/virtualNetworks/join/action" u prostředku virtuální sítě.
- Prostředek podsítě "Microsoft.Network/virtualNetworks/subnets/join/action".
Další informace o Azure RBAC se sítěmi najdete v předdefinovaných rolích sítě.
Rozdíly mezi akcemi pro rozhraní API V1 a V2
Existují určité rozdíly mezi akcemi pro rozhraní API V1 a rozhraními API V2.
Majetek | Cesta akce pro rozhraní API V1 | Cesta akce pro rozhraní API V2 |
---|---|---|
Datová sada | Microsoft.MachineLearningServices/workspaces/datasets | Microsoft.MachineLearningServices/workspaces/datasets/versions |
Spuštění experimentu a úlohy | Microsoft.MachineLearningServices/workspaces/experiments | Microsoft.MachineLearningServices/workspaces/jobs |
Modely | Microsoft.MachineLearningServices/workspaces/models | Microsoft.MachineLearningServices/workspaces/models/versions |
Snímky a kód | Microsoft.MachineLearningServices/workspaces/snapshots | Microsoft.MachineLearningServices/workspaces/codes/versions |
Moduly a komponenty | Microsoft.MachineLearningServices/workspaces/modules | Microsoft.MachineLearningServices/workspaces/components |
Vlastní role můžete nastavit jako kompatibilní s rozhraními API V1 i V2, a to zahrnutím obou akcí nebo pomocí zástupných znaků, které zahrnují obě akce, například Microsoft.MachineLearningServices/workspaces/datasets/*/read
.
Vytvoření pracovního prostoru pomocí klíče spravovaného zákazníkem
Když použijete klíč spravovaný zákazníkem (CMK), použije se k uložení klíče služba Azure Key Vault. Uživatel nebo instanční objekt použitý k vytvoření pracovního prostoru musí mít přístup vlastníka nebo přispěvatele k trezoru klíčů.
Pokud je váš pracovní prostor nakonfigurovaný se spravovanou identitou přiřazenou uživatelem, musí být identitě udělena následující role. Tyto role umožňují spravované identitě vytvářet prostředky Azure Storage, Azure Cosmos DB a Azure Search používané při použití klíče spravovaného zákazníkem:
Microsoft.Storage/storageAccounts/write
Microsoft.Search/searchServices/write
Microsoft.DocumentDB/databaseAccounts/write
V rámci trezoru klíčů musí mít uživatel nebo instanční objekt přístup k klíči prostřednictvím zásad přístupu trezoru klíčů k němu vytvořit, získat, odstranit a vyprázdnit . Další informace najdete v tématu Zabezpečení služby Azure Key Vault.
Spravovaná identita přiřazená uživatelem pomocí výpočetního clusteru Azure Machine Learning
Pokud chcete přiřadit identitu přiřazenou uživatelem k výpočetnímu clusteru Azure Machine Learning, potřebujete oprávnění k zápisu k vytvoření výpočetních prostředků a role operátora spravované identity. Další informace o Azure RBAC se spravovanými identitami najdete v tématu Správa identity přiřazené uživatelem.
Operace MLflow
Pokud chcete s pracovním prostorem Azure Machine Learning provádět operace MLflow, použijte následující obory vaší vlastní role:
Operace MLflow | Obor |
---|---|
(V1) Seznam, čtení, vytváření, aktualizace nebo odstraňování experimentů | Microsoft.MachineLearningServices/workspaces/experiments/* |
(V2) Výpis, čtení, vytváření, aktualizace nebo odstraňování úloh | Microsoft.MachineLearningServices/workspaces/jobs/* |
Získejte zaregistrovaný model podle názvu, načtěte seznam všech registrovaných modelů v registru, vyhledejte registrované modely, nejnovější modely verzí pro každou fázi požadavků, získejte verzi zaregistrovaného modelu, verze modelu vyhledávání, získejte identifikátor URI, kde jsou uložené artefakty verze modelu, vyhledávání podle ID experimentů. | Microsoft.MachineLearningServices/workspaces/models/*/read |
Vytvoření nového registrovaného modelu, aktualizace názvu a popisu registrovaného modelu, přejmenování existujícího registrovaného modelu, vytvoření nové verze modelu, aktualizace popisu verze modelu, přechod registrovaného modelu na jednu z fází | Microsoft.MachineLearningServices/workspaces/models/*/write |
Odstranění registrovaného modelu spolu se všemi jeho verzemi, odstraněním konkrétních verzí registrovaného modelu | Microsoft.MachineLearningServices/workspaces/models/*/delete |
Příklad vlastních rolí
Datový vědec
Umožňuje datovému vědci provádět všechny operace v pracovním prostoru s výjimkou:
- Vytvoření výpočetních prostředků
- Nasazení modelů do produkčního clusteru AKS
- Nasazení koncového bodu kanálu v produkčním prostředí
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>"
]
}
Omezený datový vědec
Omezenější definice role bez zástupných znaků v povolených akcích. Může provádět všechny operace v pracovním prostoru s výjimkou:
- Vytvoření výpočetních prostředků
- Nasazení modelů do produkčního clusteru AKS
- Nasazení koncového bodu kanálu v produkčním prostředí
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>"
]
}
Datový vědec MLflow
Umožňuje datovému vědci provádět všechny podporované operace MLflow azure Machine Learning s výjimkou:
- Vytvoření výpočetních prostředků
- Nasazení modelů do produkčního clusteru AKS
- Nasazení koncového bodu kanálu v produkčním prostředí
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
Umožňuje přiřadit roli instančnímu objektu a použít ji k automatizaci kanálů MLOps. Pokud například chcete odeslat spuštění s již publikovaným kanálem:
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>"
]
}
Správce pracovního prostoru
Umožňuje provádět všechny operace v rámci oboru pracovního prostoru s výjimkou:
- Vytvoření nového pracovního prostoru
- Přiřazení kvót na úrovni předplatného nebo pracovního prostoru
Správce pracovního prostoru také nemůže vytvořit novou roli. Může přiřadit pouze existující předdefinované nebo vlastní role v rámci oboru jejich pracovního prostoru:
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>"
]
}
Popisování dat
Existuje předdefinovaná role pro popisování dat s vymezeným oborem pouze na popisky dat. Následující vlastní role poskytují další úrovně přístupu k projektu popisování dat.
- Vedoucí týmu označování
- Správce účtů dodavatele
- Kontrola kvality zákazníka
- Kontrola kvality dodavatele
Vedoucí týmu popisků umožňuje zkontrolovat a odmítnout popisovanou datovou sadu a zobrazit přehledy popisků. Kromě toho vám tato role také umožňuje provádět roli popisovače.
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>"
]
}
Řešení problému
Při používání Azure RBAC je potřeba mít na paměti několik věcí:
Když v Azure vytvoříte prostředek, například pracovní prostor, nejste přímo vlastníkem prostředku. Vaše role se dědí z role s nejvyšším oborem, vůči které máte oprávnění v tomto předplatném. Pokud jste například správce sítě a máte oprávnění k vytvoření pracovního prostoru Machine Learning, přiřadíte k ho pracovnímu prostoru roli Správce sítě. Ne role Vlastník.
K provádění operací s kvótami v pracovním prostoru potřebujete oprávnění na úrovni předplatného. To znamená, že k nastavení kvóty na úrovni předplatného nebo na úrovni předplatného pro spravované výpočetní prostředky může dojít jenom v případě, že máte oprávnění k zápisu v rozsahu předplatného.
K nasazení do studia potřebujete
Microsoft.Resources/deployments/write
ANDMicrosoft.MachineLearningServices/workspaces/onlineEndpoints/deployments/write
. Pro nasazení sady SDK nebo rozhraní příkazového řádku potřebujeteMicrosoft.MachineLearningServices/workspaces/onlineEndpoints/deployments/write
. Pokud potřebujete další oprávnění, obraťte se na vlastníka pracovního prostoru nebo skupiny prostředků.Pokud existují dvě přiřazení rolí stejnému uživateli Microsoft Entra s konfliktními oddíly Akcí/NotActions, vaše operace uvedené v NotActions z jedné role se nemusí projevit, pokud jsou také uvedené jako Akce v jiné roli. Další informace o tom, jak Azure parsuje přiřazení rolí, najdete v tématu Jak Azure RBAC určuje, jestli má uživatel přístup k prostředku.
Někdy může trvat až jednu hodinu, než se přes oprávnění uložená v mezipaměti v rámci celého zásobníku projeví nové přiřazení rolí.