Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule wyjaśniono, jak zarządzać dostępem (autoryzacją) do obszarów roboczych usługi Azure Machine Learning. Użyj kontroli dostępu opartej na rolach (RBAC) platformy Azure, aby zarządzać dostępem do zasobów platformy Azure. Korzystając z Azure RBAC, możesz zapewnić użytkownikom możliwość tworzenia nowych zasobów lub korzystania z istniejących. Przypisz określone role do użytkowników w identyfikatorze Entra firmy Microsoft, aby udzielić dostępu do zasobów. Platforma Azure oferuje zarówno wbudowane role, jak i możliwość tworzenia ról niestandardowych.
Napiwek
Chociaż ten artykuł koncentruje się na usłudze Azure Machine Learning, poszczególne usługi zapewniają własne ustawienia kontroli dostępu opartej na rolach. Na przykład, korzystając z informacji w tym artykule, można skonfigurować, kto może przesyłać żądania oceniania do modelu wdrożonego jako usługa internetowa w usłudze Azure Kubernetes Service. Jednak usługa Azure Kubernetes Service udostępnia własny zestaw ról platformy Azure. Aby uzyskać informacje dotyczące kontroli dostępu opartej na rolach usługi, które mogą być przydatne w usłudze Azure Machine Learning, zobacz następujące linki:
Ostrzeżenie
Zastosowanie niektórych ról może ograniczyć funkcjonalność interfejsu użytkownika w usłudze Azure Machine Learning Studio dla innych użytkowników. Jeśli na przykład rola użytkownika nie ma możliwości utworzenia wystąpienia obliczeniowego, opcja utworzenia wystąpienia obliczeniowego nie jest dostępna w programie Studio. To zachowanie jest oczekiwane i uniemożliwia użytkownikowi podjęcie prób operacji, które zwracają błąd odmowy dostępu.
Role domyślne
Obszary robocze usługi Azure Machine Learning mają wbudowane role, które są domyślnie dostępne. Po dodaniu użytkowników do obszaru roboczego przypisz im jedną z następujących ról.
| Rola | Poziom dostępu |
|---|---|
| AzureML badacze dancyh | Może wykonywać wszystkie akcje w obszarze roboczym usługi Azure Machine Learning, z wyjątkiem tworzenia lub usuwania zasobów obliczeniowych i modyfikowania samego obszaru roboczego. |
| Operator obliczeniowy usługi AzureML | Może tworzyć, usuwać i uzyskiwać dostęp do zasobów obliczeniowych w obszarze roboczym oraz zarządzać nimi. |
| Czytelnik | Akcje tylko do odczytu w obszarze roboczym. Czytelnicy mogą wyświetlać i wyświetlać zasoby, w tym poświadczenia magazynu danych, w obszarze roboczym. Czytelnicy nie mogą tworzyć ani aktualizować tych zasobów. |
| Współautor | Wyświetlanie, tworzenie, edytowanie i usuwanie (według potrzeb) zasobów w obszarze roboczym. Współautorzy mogą na przykład tworzyć eksperymenty, tworzyć lub dołączać klastry obliczeniowe, przesyłać przebiegi i wdrażać usługi internetowe. |
| Właściciel | Pełen dostęp do obszaru roboczego, w tym możliwość wyświetlania, tworzenia, edytowania lub usuwania (według potrzeb) zasobów w obszarze roboczym. Dodatkowo może zmieniać przypisania ról. |
Ponadto rejestry usługi Azure Machine Learning mają rolę użytkownika usługi Azure Machine Learning Registry, którą można przypisać do zasobu rejestru w celu udzielenia uprawnień na poziomie użytkownika analitykom danych. Aby uzyskać uprawnienia na poziomie administratora do tworzenia lub usuwania rejestrów, użyj roli Współautor lub Właściciel.
| Rola | Poziom dostępu |
|---|---|
| Użytkownik rejestru AzureML | Może pobierać rejestry oraz odczytywać, zapisywać i usuwać w nich zasoby. Nie można utworzyć nowych zasobów rejestru ani usunąć ich. |
Role można połączyć, aby przyznać różne poziomy dostępu. Na przykład przyznaj użytkownikowi obszaru roboczego role analityka danych AzureML i operatora obliczeniowego AzureML , aby umożliwić użytkownikowi wykonywanie eksperymentów podczas tworzenia obliczeń w sposób samoobsługowy.
Ważne
Możesz ograniczyć zakres dostępu roli do wielu poziomów na platformie Azure. Na przykład ktoś z uprawnieniami właściciela do obszaru roboczego może nie mieć takich samych uprawnień do grupy zasobów zawierającej obszar roboczy. Aby uzyskać więcej informacji, zobacz Jak działa kontrola dostępu oparta na rolach platformy Azure.
Rola administratora sztucznej inteligencji platformy Azure
Przed 2024-11-19 tożsamość zarządzana tworzona przez system dla obszaru roboczego automatycznie otrzymuje rolę Kontrybutor dla grupy zasobów zawierającej obszar roboczy. Obszary robocze utworzone po tej dacie przypisują tożsamość zarządzaną przypisaną przez system do roli administratora usługi Azure AI . Ta rola jest bardziej ograniczona do minimalnych uprawnień wymaganych do wykonania zadań tożsamości zarządzanej.
Rola administratorów sztucznej inteligencji platformy Azure ma następujące uprawnienia:
{
"permissions": [
{
"actions": [
"Microsoft.Authorization/*/read",
"Microsoft.CognitiveServices/*",
"Microsoft.ContainerRegistry/registries/*",
"Microsoft.DocumentDb/databaseAccounts/*",
"Microsoft.Features/features/read",
"Microsoft.Features/providers/features/read",
"Microsoft.Features/providers/features/register/action",
"Microsoft.Insights/alertRules/*",
"Microsoft.Insights/components/*",
"Microsoft.Insights/diagnosticSettings/*",
"Microsoft.Insights/generateLiveToken/read",
"Microsoft.Insights/logDefinitions/read",
"Microsoft.Insights/metricAlerts/*",
"Microsoft.Insights/metricdefinitions/read",
"Microsoft.Insights/metrics/read",
"Microsoft.Insights/scheduledqueryrules/*",
"Microsoft.Insights/topology/read",
"Microsoft.Insights/transactions/read",
"Microsoft.Insights/webtests/*",
"Microsoft.KeyVault/*",
"Microsoft.MachineLearningServices/workspaces/*",
"Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action",
"Microsoft.ResourceHealth/availabilityStatuses/read",
"Microsoft.Resources/deployments/*",
"Microsoft.Resources/deployments/operations/read",
"Microsoft.Resources/subscriptions/operationresults/read",
"Microsoft.Resources/subscriptions/read",
"Microsoft.Resources/subscriptions/resourcegroups/deployments/*",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Resources/subscriptions/resourceGroups/write",
"Microsoft.Storage/storageAccounts/*",
"Microsoft.Support/*",
"Microsoft.Search/searchServices/write",
"Microsoft.Search/searchServices/read",
"Microsoft.Search/searchServices/delete",
"Microsoft.Search/searchServices/indexes/*",
"Microsoft.Search/searchServices/listAdminKeys/action",
"Microsoft.Search/searchServices/privateEndpointConnections/*",
"Microsoft.DataFactory/factories/*"
],
"notActions": [],
"dataActions": [],
"notDataActions": []
}
]
}
Konwertowanie istniejącej tożsamości zarządzanej przez system na rolę administratora usługi Azure AI
Napiwek
Przekonwertuj obszary robocze utworzone przed 19.11.2024 r. na rolę administratora Azure AI. Rola administratora AI usługi Azure ma węższy zakres niż rola Współautora i jest zgodna z zasadą najmniejszych uprawnień.
Aby przekonwertować obszary robocze utworzone przed 11.19.2024 r., użyj jednej z następujących metod:
Interfejs API REST Azure: wyślij
PATCHżądanie do interfejsu API REST Azure dla obszaru roboczego. Ustaw treść żądania na{"properties":{"allowRoleAssignmentOnRG":true}}. W poniższym przykładzie pokazanoPATCHżądanie przy użyciucurl. Zastąp<your-subscription>wartości ,<resource-group-name>,<workspace-name>i<YOUR-ACCESS-TOKEN>wartościami dla danego scenariusza. Aby uzyskać więcej informacji na temat korzystania z interfejsów API REST, zobacz dokumentację interfejsu API REST platformy Azure.curl -X PATCH \ "https://management.azure.com/subscriptions/<your-subscription>/resourceGroups/<resource-group-name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-name>?api-version=2024-07-01-preview" \ -H "Authorization: Bearer <YOUR-ACCESS-TOKEN>" \ -H "Content-Type: application/json" \ --data '{"properties":{"allowRoleAssignmentOnRG":true}}'Dokumentacja: Microsoft.MachineLearningServices/workspaces (2024-07-01-preview)
Interfejs wiersza polecenia platformy
az ml workspace updateAzure: użyj polecenia z parametrem--allow-roleassignment-on-rg true. Poniższy przykład aktualizuje obszar roboczy o nazwiemyworkspace. To polecenie wymaga rozszerzenia interfejsu wiersza polecenia usługi Azure Machine Learning w wersji 2.27.0 lub nowszej.az ml workspace update --name myworkspace --allow-roleassignment-on-rg trueZestaw SDK języka Python platformy Azure: ustaw
allow_roleassignment_on_rgwłaściwość obiektu Workspace naTrue, a następnie wykonaj operację aktualizacji. Poniższy przykład aktualizuje obszar roboczy o nazwiemyworkspace. Ta operacja wymaga zestawu Azure Machine Learning SDK w wersji 1.17.0 lub nowszej.ws = ml_client.workspaces.get(name="myworkspace") ws.allow_roleassignment_on_rg = True ws = ml_client.workspaces.begin_update(workspace=ws).result()
Zarządzanie dostępem do obszaru roboczego
Jeśli jesteś właścicielem obszaru roboczego, możesz dodawać i usuwać role w obszarze roboczym. Możesz również przypisywać role do użytkowników. Użyj następujących linków, aby dowiedzieć się, jak zarządzać dostępem:
- Interfejs użytkownika witryny Azure Portal
- Program PowerShell
- Interfejs wiersza polecenia platformy Azure
- Interfejs API REST
- Szablony usługi Azure Resource Manager
Na przykład użyj interfejsu wiersza polecenia platformy Azure , aby przypisać rolę Współautor dla joe@contoso.com grupy zasobów this-rg za pomocą następującego polecenia:
az role assignment create --role "Contributor" --assignee "joe@contoso.com" --resource-group this-rg
Zarządzanie dostępem do obszaru roboczego przy użyciu grup zabezpieczeń firmy Microsoft Entra
Grupy zabezpieczeń firmy Microsoft Entra umożliwiają zarządzanie dostępem do obszarów roboczych. Ta metoda ma następujące zalety:
- Liderzy zespołu lub projektu mogą zarządzać dostępem użytkowników do obszaru roboczego jako właściciele grup zabezpieczeń bez konieczności bezpośredniego posiadania roli Właściciela w zasobie obszaru roboczego.
- Uprawnienia użytkowników w obszarze roboczym i innych zasobach można organizować, zarządzać nimi i odwoływać je jako grupę bez konieczności zarządzania uprawnieniami na podstawie użytkownika.
- Korzystanie z grup Entra firmy Microsoft pomaga uniknąć osiągnięcia limitu subskrypcji dla przypisań ról.
Aby użyć grup zabezpieczeń firmy Microsoft Entra:
- Utwórz grupę zabezpieczeń.
- Dodaj właściciela grupy. Ten użytkownik ma uprawnienia do dodawania lub usuwania członków grupy. Właściciel grupy nie musi być członkiem grupy ani mieć bezpośredniej roli RBAC w obszarze roboczym.
- Przypisz grupie rolę RBAC w obszarze roboczym, taką jak AzureML badacze dancyh, Czytelnik lub Współautor.
- Dodaj członków grupy. Członkowie uzyskują dostęp do obszaru roboczego.
Tworzenie roli niestandardowej
Jeśli wbudowane role nie spełniają Twoich potrzeb, utwórz role niestandardowe. Role niestandardowe mogą mieć uprawnienia do odczytu, zapisu, usuwania i zasobów obliczeniowych w tym obszarze roboczym. Rolę można udostępnić na określonym poziomie obszaru roboczego, określonym poziomie grupy zasobów lub określonym poziomie subskrypcji.
Uwaga
Aby utworzyć role niestandardowe w ramach zasobu, musisz być właścicielem zasobu na tym poziomie.
Aby utworzyć rolę niestandardową, najpierw skonstruuj plik JSON definicji roli, który określa uprawnienia i zakres roli. W poniższym przykładzie zdefiniowano niestandardową rolę badacze dancyh niestandardową o określonym zakresie na określonym poziomie obszaru roboczego:
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>"
]
}
Napiwek
Możesz zmienić AssignableScopes pole, aby ustawić zakres tej roli niestandardowej na poziomie subskrypcji, na poziomie grupy zasobów lub na określonym poziomie obszaru roboczego.
Poprzednia rola niestandardowa jest tylko przykładem. Aby uzyskać więcej przykładów, zobacz niektóre sugerowane role niestandardowe dla usługi Azure Machine Learning.
Ta rola niestandardowa może wykonywać wszystkie czynności w obszarze roboczym z wyjątkiem następujących akcji:
- Nie można usunąć obszaru roboczego.
- Nie może utworzyć ani zaktualizować obszaru roboczego.
- Nie może tworzyć ani aktualizować zasobów obliczeniowych.
- Nie można usunąć zasobów obliczeniowych.
- Nie może dodawać, usuwać ani zmieniać przypisań ról.
Aby wdrożyć tę rolę niestandardową, użyj następującego polecenia interfejsu wiersza polecenia platformy Azure:
az role definition create --role-definition data_scientist_custom_role.json
Po wdrożeniu ta rola jest dostępna w określonym obszarze roboczym. Teraz możesz dodać i przypisać tę rolę w witrynie Azure Portal.
Aby uzyskać więcej informacji na temat ról niestandardowych, zobacz Role niestandardowe platformy Azure.
Operacje usługi Azure Machine Learning
Aby uzyskać więcej informacji na temat operacji (akcji i nieakcji), których można używać z rolami niestandardowymi, zobacz Operacje dostawcy zasobów. Do wyświetlania listy operacji można również użyć następującego polecenia interfejsu wiersza polecenia platformy Azure:
az provider operation show –n Microsoft.MachineLearningServices
Wyświetlanie ról niestandardowych
W interfejsie wiersza polecenia platformy Azure uruchom następujące polecenie:
az role definition list --subscription <subscriptionId> --custom-role-only true
Aby wyświetlić definicję roli dla określonej roli niestandardowej, użyj następującego polecenia interfejsu wiersza polecenia platformy Azure. Element <roleName> powinien być w tym samym formacie zwróconym przez poprzednie polecenie:
az role definition list -n <roleName> --subscription <subscriptionId>
Aktualizacja roli niestandardowej
W interfejsie wiersza polecenia platformy Azure uruchom następujące polecenie:
az role definition update --role-definition update_def.json --subscription <subscriptionId>
Potrzebujesz uprawnień do całego zakresu nowej definicji roli. Jeśli na przykład ta nowa rola ma zakres w trzech subskrypcjach, musisz mieć uprawnienia do wszystkich trzech subskrypcji.
Uwaga
Aktualizacje ról mogą potrwać od 15 minut do godziny, aby zastosować wszystkie przypisania ról w tym zakresie.
Używanie szablonów usługi Azure Resource Manager do powtarzalności
Jeśli przewidujesz, że musisz ponownie utworzyć złożone przypisania ról, szablon usługi Azure Resource Manager może być znaczącą pomocą. Szablon przypisania ról dotyczących zależności uczenia maszynowego pokazuje, jak można określić przypisania ról w kodzie źródłowym do ponownego użycia.
Typowe scenariusze
W poniższej tabeli podsumowano działania usługi Azure Machine Learning i uprawnienia wymagane do ich wykonania co najmniej w zakresie. Jeśli na przykład działanie można wykonać z zakresem obszaru roboczego (Kolumna 4), wszystkie wyższe zakresy z tym uprawnieniem również działają automatycznie. W przypadku niektórych działań uprawnienia różnią się między interfejsami API w wersji 1 i 2.
Ważne
Wszystkie ścieżki w tej tabeli rozpoczynające się od / są ścieżkami względnymi do Microsoft.MachineLearningServices/
| Działanie | Zakres na poziomie subskrypcji | Zakres na poziomie grupy zasobów | Zakres na poziomie obszaru roboczego |
|---|---|---|---|
| Tworzenie nowego obszaru roboczego 1 | Niewymagane | Właściciel, współautor lub rola niestandardowa pozwalająca na uprawnienia do zapisu dla: Microsoft.Resources/deployments/*, Microsoft.MachineLearningServices/workspaces/write oraz zasobów zależnych (patrz punkt 3 poniżej) |
N/A (staje się właścicielem lub dziedziczy wyższą rolę zakresu po utworzeniu) |
| Żądanie limitu przydziału na poziomie subskrypcji Amlcompute lub ustawianie limitu przydziału na poziomie obszaru roboczego | Właściciel, współautor lub rola niestandardowa Pozwalając /locations/updateQuotas/actionw zakresie subskrypcji |
Brak autoryzacji | Brak autoryzacji |
| Tworzenie nowego klastra obliczeniowego | Niewymagane | Niewymagane | Właściciel, współautor lub rola niestandardowa zezwalająca na: /workspaces/computes/write |
| Tworzenie nowego wystąpienia obliczeniowego | Niewymagane | Niewymagane | Właściciel, współautor lub rola niestandardowa zezwalająca na: /workspaces/computes/write |
| Przesyłanie dowolnego typu przebiegu (wersja 1) | Niewymagane | Niewymagane | Właściciel, współautor lub rola niestandardowa zezwalająca na: /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 |
| Przesyłanie dowolnego typu przebiegu (wersja 2) | Niewymagane | Niewymagane | Właściciel, współautor lub rola niestandardowa zezwalająca na: /workspaces/*/read, , /workspaces/environments/write/workspaces/jobs/*, /workspaces/metadata/artifacts/write, , /workspaces/environments/build/action/workspaces/environments/readSecrets/action |
| Publikowanie potoków i punktów końcowych (V1) | Niewymagane | Niewymagane | Właściciel, współautor lub rola niestandardowa zezwalająca na: /workspaces/endpoints/pipelines/*, , /workspaces/pipelinedrafts/*/workspaces/modules/* |
| Publikowanie potoków i punktów końcowych (wersja 2) | Niewymagane | Niewymagane | Właściciel, współautor lub rola niestandardowa zezwalająca na: /workspaces/endpoints/pipelines/*, , /workspaces/pipelinedrafts/*/workspaces/components/* |
| Dołączanie zasobu usługi AKS 2 | Niewymagane | Właściciel lub współautor w grupie zasobów, która zawiera usługę AKS | |
| Wdrażanie zarejestrowanego modelu w zasobie usługi AKS/ACI | Niewymagane | Niewymagane | Właściciel, współautor lub rola niestandardowa zezwalająca na: /workspaces/services/aks/write, /workspaces/services/aci/write |
| Ocenianie względem wdrożonego punktu końcowego usługi AKS | Niewymagane | Niewymagane | Właściciel, współautor lub rola niestandardowa zezwalająca na: /workspaces/services/aks/score/action, /workspaces/services/aks/listkeys/action (jeśli nie używasz uwierzytelniania Entra firmy Microsoft) LUB /workspaces/read (w przypadku korzystania z uwierzytelniania tokenu) |
| Uzyskiwanie dostępu do magazynu przy użyciu notesów interaktywnych | Niewymagane | Niewymagane | Właściciel, współautor lub rola niestandardowa zezwalająca na: /workspaces/computes/read, , /workspaces/notebooks/samples/read/workspaces/notebooks/storage/*, , /workspaces/listStorageAccountKeys/action/workspaces/listNotebookAccessToken/read |
| Tworzenie nowej roli niestandardowej | Właściciel, współautor lub rola niestandardowa zezwalająca Microsoft.Authorization/roleDefinitions/write |
Niewymagane | Właściciel, współautor lub rola niestandardowa zezwalająca na: /workspaces/computes/write |
| Tworzenie/zarządzanie punktami końcowymi i wdrożeniami online | Niewymagane | Aby wdrożyć w programie Studio, Microsoft.Resources/deployments/write |
Właściciel, współautor lub rola niestandardowa zezwalająca na Microsoft.MachineLearningServices/workspaces/onlineEndpoints/*funkcję . |
| Pobieranie poświadczeń uwierzytelniania dla punktów końcowych online | Niewymagane | Niewymagane | Właściciel, współautor lub rola niestandardowa umożliwiająca Microsoft.MachineLearningServices/workspaces/onlineEndpoints/token/action i Microsoft.MachineLearningServices/workspaces/onlineEndpoints/listKeys/action |
Jeśli podczas próby utworzenia obszaru roboczego po raz pierwszy wystąpi błąd, upewnij się, że rola zezwala na
Microsoft.MachineLearningServices/register/actionfunkcję . Ta akcja umożliwia zarejestrowanie dostawcy zasobów usługi Azure Machine Learning w ramach subskrypcji platformy Azure.Podczas dołączania klastra usługi AKS musisz również mieć rolę administratora klastra usługi Azure Kubernetes Service w klastrze.
Te scenariusze nie obejmują uprawnień wymaganych do tworzenia zasobów zależnych od obszaru roboczego. Aby uzyskać więcej informacji, zobacz uprawnienia do zapisu dla usługi Storage, OperationalInsights, Key Vault i Container Registry.
Podczas dołączania tożsamości zarządzanych przez użytkownika musisz również mieć
Microsoft.ManagedIdentity/userAssignedIdentities/assign/actionuprawnienia dla tożsamości. Aby uzyskać więcej informacji, zobacz Wbudowane role platformy Azure dla tożsamości.Podczas określania niestandardowej podsieci obliczeniowej bezserwerowej należy również mieć
Microsoft.Network/virtualNetworks/subnets/join/actionw sieci wirtualnej. Aby uzyskać więcej informacji, zobacz Uprawnienia platformy Azure dla sieci.
Wdrażanie w sieci wirtualnej lub podsieci
Aby wdrożyć zasoby w sieci wirtualnej lub podsieci, konto użytkownika musi mieć uprawnienia do następujących akcji w kontroli dostępu opartej na rolach platformy Azure (Azure RBAC):
- "Microsoft.Network/*/read" w zasobie sieci wirtualnej. To uprawnienie nie jest wymagane w przypadku wdrożeń szablonów usługi Azure Resource Manager (ARM).
- "Microsoft.Network/virtualNetworks/join/action" w zasobie sieci wirtualnej.
- "Microsoft.Network/virtualNetworks/subnets/join/action" w zasobie podsieci.
Aby uzyskać więcej informacji na temat kontroli dostępu opartej na rolach platformy Azure z siecią, zobacz Wbudowane role sieciowe
Różnice między akcjami dla interfejsów API w wersji 1 i 2
Istnieją pewne różnice między akcjami interfejsów API w wersji 1 i interfejsami API w wersji 2.
| Aktywa | Ścieżka akcji dla interfejsu API w wersji 1 | Ścieżka akcji dla interfejsu API w wersji 2 |
|---|---|---|
| Zestaw danych | Microsoft.MachineLearningServices/pracownie/zbiory danych | Microsoft.MachineLearningServices/workspaces/datasets/versions |
| Przebiegi eksperymentów i zadania | Microsoft.MachineLearningServices/workspaces/experiments | Microsoft.MachineLearningServices/workspaces/jobs |
| Modele | Microsoft.MachineLearningServices/obszary robocze/modele | Microsoft.MachineLearningServices/workspaces/models/versions |
| Moduły i składniki | Microsoft.MachineLearningServices/workspaces/modules | Microsoft.MachineLearningServices/przestrzenie robocze/komponenty |
Role niestandardowe można ustawić jako zgodne zarówno z interfejsami API w wersji 1, jak i 2, włączając obie akcje lub używając symboli wieloznacznych, które obejmują obie akcje, takie jak Microsoft.MachineLearningServices/workspaces/datasets/*/read.
Tworzenie obszaru roboczego przy użyciu klucza zarządzanego przez klienta
W przypadku korzystania z klucza zarządzanego przez klienta (CMK) usługa Azure Key Vault przechowuje klucz. Użytkownik lub jednostka usługi używana do tworzenia obszaru roboczego musi mieć dostęp właściciela lub współautora do magazynu kluczy.
Jeśli skonfigurujesz obszar roboczy przy użyciu tożsamości zarządzanej przypisanej przez użytkownika, nadaj tożsamości następujące role. Te role umożliwiają tożsamości zarządzanej tworzenie zasobów usług Azure Storage, Azure Cosmos DB i Azure Search podczas korzystania z klucza zarządzanego przez klienta:
Microsoft.Storage/storageAccounts/writeMicrosoft.Search/searchServices/writeMicrosoft.DocumentDB/databaseAccounts/write
W magazynie kluczy użytkownik lub jednostka usługi musi mieć uprawnienia do tworzenia, pobierania, usuwania i przeczyszczania klucza za pośrednictwem zasad dostępu do magazynu kluczy. Aby uzyskać więcej informacji, zobacz Zabezpieczenia usługi Azure Key Vault.
Tożsamość zarządzana przypisana przez użytkownika z klastrem obliczeniowym usługi Azure Machine Learning
Aby przypisać tożsamość przypisaną przez użytkownika do klastra obliczeniowego usługi Azure Machine Learning, musisz mieć uprawnienia do zapisu, aby utworzyć zasoby obliczeniowe i rolę operatora tożsamości zarządzanej. Aby uzyskać więcej informacji na temat Azure RBAC z tożsamościami zarządzanymi, zobacz Jak zarządzać tożsamością przypisaną przez użytkownika.
Operacje MLflow
Aby wykonać operacje MLflow w obszarze roboczym usługi Azure Machine Learning, użyj następujących zakresów w roli niestandardowej:
| Operacja MLflow | Scope |
|---|---|
| (Wersja 1) Wyświetlanie, odczytywanie, tworzenie, aktualizowanie lub usuwanie eksperymentów | Microsoft.MachineLearningServices/workspaces/experiments/* |
| (Wersja 2) Wyświetlanie, odczytywanie, tworzenie, aktualizowanie lub usuwanie zadań | Microsoft.MachineLearningServices/workspaces/jobs/* |
| Pobierz zarejestrowany model według nazwy, pobierz listę wszystkich zarejestrowanych modeli w rejestrze, wyszukaj zarejestrowane modele, najnowsze modele wersji dla każdego etapu żądań, pobierz wersję zarejestrowanego modelu, wersje modelu wyszukiwania, pobierz identyfikator URI, w którym są przechowywane artefakty wersji modelu, wyszukaj przebiegi według identyfikatorów eksperymentów | Microsoft.MachineLearningServices/workspaces/models/*/read |
| Tworzenie nowego zarejestrowanego modelu, aktualizowanie nazwy lub opisu zarejestrowanego modelu, zmienianie nazwy istniejącego zarejestrowanego modelu, tworzenie nowej wersji modelu, aktualizowanie opisu wersji modelu, przenoszenie zarejestrowanego modelu do jednego z etapów | Microsoft.MachineLearningServices/workspaces/models/*/write |
| Usuwanie zarejestrowanego modelu wraz ze wszystkimi jego wersjami, usuwanie określonych wersji zarejestrowanego modelu | Microsoft.MachineLearningServices/workspaces/models/*/delete |
Przykładowe role niestandardowe
Mistrz danych
Użyj tej roli, aby udzielić analitykowi danych uprawnień do wykonywania wszystkich operacji wewnątrz obszaru roboczego z wyjątkiem:
- Tworzenie zasobów obliczeniowych.
- Wdrażanie modeli w produkcyjnym klastrze usługi AKS.
- Wdrażanie punktu końcowego potoku w środowisku produkcyjnym.
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>"
]
}
Ograniczony analityk danych
Użyj tej roli, aby przyznać bardziej ograniczoną definicję roli bez symboli wieloznacznych w dozwolonych akcjach. Może wykonywać wszystkie operacje wewnątrz obszaru roboczego z wyjątkiem:
- Tworzenie zasobów obliczeniowych.
- Wdrażanie modeli w produkcyjnym klastrze usługi AKS.
- Wdrażanie punktu końcowego przepływu danych w środowisku produkcyjnym.
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>"
]
}
Analityk danych MLflow
Ta rola umożliwia wykonywanie wszystkich obsługiwanych operacji MLflow w usłudze Azure Machine Learning z wyjątkiem:
- Tworzenie zasobów obliczeniowych.
- Wdrażanie modeli do produkcyjnego klastra AKS.
- Wdrażanie punktu końcowego potoku w środowisku produkcyjnym.
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
Przypisz tę rolę do podmiotu zabezpieczeń, aby zautomatyzować przepływy MLOps. Na przykład, użyj tej funkcji do przeprowadzania uruchomień w kontekście już opublikowanego pipeline'u.
mlops_custom_role.json:
{
"Name": "MLOps Custom",
"IsCustom": true,
"Description": "Can run pipelines against a published pipeline endpoint",
"Actions": [
"Microsoft.MachineLearningServices/workspaces/read",
"Microsoft.MachineLearningServices/workspaces/endpoints/pipelines/read",
"Microsoft.MachineLearningServices/workspaces/metadata/artifacts/read",
"Microsoft.MachineLearningServices/workspaces/metadata/snapshots/read",
"Microsoft.MachineLearningServices/workspaces/environments/read",
"Microsoft.MachineLearningServices/workspaces/metadata/secrets/read",
"Microsoft.MachineLearningServices/workspaces/modules/read",
"Microsoft.MachineLearningServices/workspaces/components/read",
"Microsoft.MachineLearningServices/workspaces/datasets/*/read",
"Microsoft.MachineLearningServices/workspaces/datastores/read",
"Microsoft.MachineLearningServices/workspaces/environments/write",
"Microsoft.MachineLearningServices/workspaces/experiments/runs/read",
"Microsoft.MachineLearningServices/workspaces/experiments/runs/write",
"Microsoft.MachineLearningServices/workspaces/experiments/runs/submit/action",
"Microsoft.MachineLearningServices/workspaces/experiments/jobs/read",
"Microsoft.MachineLearningServices/workspaces/experiments/jobs/write",
"Microsoft.MachineLearningServices/workspaces/metadata/artifacts/write",
"Microsoft.MachineLearningServices/workspaces/metadata/snapshots/write",
"Microsoft.MachineLearningServices/workspaces/environments/build/action",
],
"NotActions": [
"Microsoft.MachineLearningServices/workspaces/computes/write",
"Microsoft.MachineLearningServices/workspaces/write",
"Microsoft.MachineLearningServices/workspaces/computes/delete",
"Microsoft.MachineLearningServices/workspaces/delete",
"Microsoft.MachineLearningServices/workspaces/computes/listKeys/action",
"Microsoft.MachineLearningServices/workspaces/listKeys/action",
"Microsoft.Authorization/*"
],
"AssignableScopes": [
"/subscriptions/<subscriptionId>"
]
}
Administrator obszaru roboczego
Ta rola służy do wykonywania wszystkich operacji w zakresie obszaru roboczego, z wyjątkiem:
- Tworzenie nowego obszaru roboczego
- Przypisywanie przydziałów na poziomie subskrypcji lub obszaru roboczego
Administrator obszaru roboczego nie może utworzyć nowej roli. Może przypisywać istniejące role wbudowane lub niestandardowe tylko w zakresie ich obszaru roboczego:
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>"
]
}
Etykietowanie danych
Platforma Azure udostępnia wbudowaną rolę do etykietowania danych, która jest ograniczona tylko do etykietowania danych. Następujące role niestandardowe zapewniają innym poziomom dostępu do projektu etykietowania danych.
- Lider zespołu ds. etykietowania
- Menedżer kont dostawcy
- Kontrola jakości klienta
- Dostawca kontroli jakości
Lider zespołu ds. etykietowania umożliwia przeglądanie i odrzucanie oznaczonego zestawu danych oraz wyświetlanie szczegółowych informacji dotyczących etykietowania. Oprócz niej ta rola umożliwia również wykonywanie roli labelera.
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>"
]
}
Rozwiązywanie problemów
Podczas korzystania z kontroli dostępu opartej na rolach platformy Azure należy pamiętać o następujących kwestiach:
Podczas tworzenia zasobu na platformie Azure, takiego jak obszar roboczy, nie jesteś bezpośrednio właścicielem zasobu. Dziedziczysz swoją rolę z roli o najwyższym zakresie, względem której masz uprawnienia w tej subskrypcji. Jeśli na przykład jesteś administratorem sieci i masz uprawnienia do tworzenia obszaru roboczego usługi Machine Learning, masz przypisaną rolę Administrator sieci względem tego obszaru roboczego, a nie rolę Właściciel .
Do wykonywania operacji limitu przydziału w obszarze roboczym potrzebne są uprawnienia na poziomie subskrypcji. To wymaganie oznacza, że tylko użytkownicy z uprawnieniami do zapisu w zakresie subskrypcji mogą ustawić limit przydziału na poziomie subskrypcji lub limit przydziału na poziomie obszaru roboczego dla zarządzanych zasobów obliczeniowych.
Do wdrożenia w programie Studio potrzebne są elementy
Microsoft.Resources/deployments/writeiMicrosoft.MachineLearningServices/workspaces/onlineEndpoints/deployments/write. W przypadku wdrożeń zestawu SDK/interfejsu wiersza polecenia potrzebne są następujące elementyMicrosoft.MachineLearningServices/workspaces/onlineEndpoints/deployments/write: . Skontaktuj się z właścicielem obszaru roboczego lub grupy zasobów, aby uzyskać dodatkowe uprawnienia.Jeśli istnieją dwa przypisania ról do tego samego użytkownika Microsoft Entra z konfliktowymi sekcjami Akcje i NotActions, operacje wymienione w NotActions z jednej roli mogą nie obowiązywać, jeśli są one również wymienione jako Akcje w innej roli. Aby dowiedzieć się więcej na temat analizowania przypisań ról przez platformę Azure, zobacz Jak kontrola dostępu oparta na rolach platformy Azure określa, czy użytkownik ma dostęp do zasobu.
Czasami może to potrwać do jednej godziny, zanim nowe przypisania ról zaczną obowiązywać zamiast zbuforowanych uprawnień w stosie.
Przywróć rolę Współautor
Jeśli utworzysz nowy obszar roboczy i wystąpią błędy związane z nowym domyślnym przypisaniem roli administratora usługi Azure AI dla tożsamości zarządzanej obszaru roboczego, wykonaj następujące kroki, aby przywrócić rolę Współautor:
Ważne
Nie wracaj do roli Współautora, chyba że wystąpią problemy. Jeśli przywrócenie obszaru roboczego rozwiąże problemy, które napotykasz, zgłoś incydent wsparcia technicznego z informacjami na temat problemów, które zostały rozwiązane, aby zespół produktowy mógł zbadać sprawę dokładniej.
Jeśli chcesz przywrócić rolę Współautor jako domyślną dla nowych obszarów roboczych, otwórz wniosek o pomoc techniczną ze szczegółami subskrypcji platformy Azure i poproś o zmianę subskrypcji w celu użycia roli Współautor jako domyślnej tożsamości zarządzanej przypisanej przez system nowych obszarów roboczych.
Usuń przypisanie roli dla tożsamości zarządzanej obszaru roboczego. Zakresem tego przypisania roli jest grupa zasobów zawierająca obszar roboczy, więc musisz usunąć rolę z grupy zasobów.
Napiwek
Tożsamość zarządzana przypisana przez system dla obszaru roboczego jest taka sama jak nazwa obszaru roboczego.
W witrynie Azure Portal przejdź do grupy zasobów zawierającej obszar roboczy. Wybierz pozycję Kontrola dostępu (Zarządzanie dostępem i tożsamościami), a następnie wybierz pozycję Przypisania ról. Na liście przypisań ról znajdź przypisanie roli dla tożsamości zarządzanej. Wybierz ją, a następnie wybierz pozycję Usuń.
Aby uzyskać informacje na temat usuwania przypisania roli, zobacz Usuwanie przypisań ról.
Utwórz nowe przypisanie roli w grupie zasobów dla roli Współautor. Po dodaniu tego przypisania roli wybierz tożsamość zarządzaną dla obszaru roboczego jako przypisanego. Nazwa przypisanej przez system tożsamości zarządzanej jest taka sama jak nazwa obszaru roboczego.
- W witrynie Azure Portal przejdź do grupy zasobów zawierającej obszar roboczy. Wybierz opcję Kontrola dostępu (IAM), a następnie wybierz opcję Dodaj przypisanie roli.
- Na karcie Rola wybierz pozycję Współautor.
- Na karcie Członkowie wybierz pozycję Tożsamość zarządzana, + Wybierz członków i ustaw listę rozwijaną Tożsamość zarządzana na obszar roboczy usługi Azure Machine Learning. Jeśli obszar roboczy jest obszarem roboczym centrum, zamiast tego wybierz pozycję Centrum sztucznej inteligencji platformy Azure. W polu Wybierz wprowadź nazwę obszaru roboczego. Wybierz obszar roboczy z listy, a następnie wybierz pozycję Wybierz.
- Na karcie Przeglądanie i przypisywanie wybierz pozycję Przejrzyj i przypisz.