Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье объясняется, как управлять доступом (авторизацией) для Машинное обучение Azure рабочих областей. Управление доступом на основе ролей Azure (Azure RBAC) позволяет управлять доступом к ресурсам Azure. С помощью Azure RBAC можно предоставить пользователям возможность создавать новые ресурсы или использовать существующие. Назначение определенных ролей пользователям в идентификаторе Microsoft Entra для предоставления доступа к ресурсам. Azure предоставляет как встроенные роли, так и возможность создания настраиваемых ролей.
Совет
Хотя эта статья посвящена Машинное обучение Azure, отдельные службы предоставляют собственные параметры RBAC. Например, используя сведения в этой статье, можно настроить, кто может отправлять запросы оценки в модель, развернутую в качестве веб-службы в службе Azure Kubernetes. В то же время Служба контейнеров Azure предоставляет собственный набор ролей Azure. Сведения о конкретных службах RBAC, которые могут быть полезны для Машинное обучение Azure, см. в следующих ссылках:
Предупреждение
Применение некоторых ролей может ограничить функциональные возможности пользовательского интерфейса в Студия машинного обучения Azure для других пользователей. Например, если роль пользователя не имеет возможности создавать вычислительный экземпляр, параметр создания вычислительного экземпляра недоступен в студии. Это ожидаемое поведение, которое не дает пользователю инициировать операции, приводящие к ошибке "отказано в доступе".
Роли по умолчанию
Машинное обучение Azure рабочие области имеют встроенные роли, доступные по умолчанию. При добавлении пользователей в рабочую область назначьте им одну из следующих ролей.
| Роль | Уровень доступа |
|---|---|
| Специалист по обработке и анализу данных AzureML | Может выполнять все действия в рабочем пространстве Машинного обучения Azure, кроме создания и удаления вычислительных ресурсов и изменения самого рабочего пространства. |
| Оператор вычислений AzureML | Может создавать, управлять, удалять и получать доступ к вычислительным ресурсам в рабочей области. |
| Читатель | действия с доступом только для чтения в рабочей области. Читатели могут просматривать списки ресурсов и сами ресурсы (включая учетные данные хранилищ данных) в рабочей области. Читатели не могут создавать или обновлять такие ресурсы. |
| Участник | просмотр, создание, изменение или удаление (если применимо) ресурсов в рабочей области. Например, участники могут создать эксперимент, создать или подключить вычислительный кластер, выполнить запуск и развернуть веб-службу. |
| Ответственное лицо | полный доступ к рабочей области, включая возможность просмотра, создания, изменения или удаления (если применимо) ресурсов в ней. Кроме того, можно изменить назначения ролей. |
Кроме того, реестры машинного обучения Azure имеют роль пользователя реестра машинного обучения Azure , которую можно назначить ресурсу реестра для предоставления разрешений на уровне пользователя специалистам по обработке и анализу данных. Для разрешений на уровне администратора для создания или удаления реестров используйте роль участника или владельца.
| Роль | Уровень доступа |
|---|---|
| Пользователь реестра AzureML | Может получать реестры, а также читать, записывать и удалять ресурсы внутри них. Не удается создать ресурсы реестра или удалить их. |
Вы можете объединить роли для предоставления различных уровней доступа. Например, предоставьте пользователю рабочей области роли AzureML Data Scientist и оператора вычислений AzureML , чтобы разрешить пользователю выполнять эксперименты при создании вычислительных ресурсов самостоятельно.
Внимание
Можно ограничить доступ к ролям на нескольких уровнях в Azure. Например, у пользователя с правами владельца на рабочую область может не быть таких же прав на группу ресурсов, содержащую эту рабочую область. Дополнительные сведения см. в статье Принцип работы Azure RBAC.
Роль администратора ИИ Azure
До 2024-11-19 управляемое удостоверение, назначаемое системой, автоматически получает роль участника для группы ресурсов, содержащей рабочую область. Рабочие области, созданные после этой даты, назначают системно назначенное управляемое удостоверение на роль администратора ИИ Azure. Эта роль более узко ограничена минимальными разрешениями, необходимыми для выполнения задач управляемого удостоверения.
Роль администратора искусственного интеллекта Azure имеет следующие разрешения:
{
"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": []
}
]
}
Преобразование существующего управляемого системой удостоверения в роль администратора ИИ Azure
Совет
Преобразуйте рабочие области, созданные до 11.19.2024, для использования роли администратора ИИ Azure. Роль администратора искусственного интеллекта Azure имеет более узкую область, чем роль участника, и следует принципу наименьших привилегий.
Чтобы преобразовать рабочие области, созданные до 11.19.2024, используйте один из следующих методов:
REST API Azure: отправьте
PATCHзапрос в REST API Azure для рабочей области. Задайте значение тела запроса{"properties":{"allowRoleAssignmentOnRG":true}}. В следующем примере показанPATCHзапрос с помощьюcurl. Замените<your-subscription>,<resource-group-name><workspace-name>и<YOUR-ACCESS-TOKEN>значениями для вашего сценария. Дополнительные сведения об использовании REST API см. в документации по REST API 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}}'Справочник: Microsoft.MachineLearningServices/workspaces (2024-07-01-preview)
Azure CLI: используйте
az ml workspace updateкоманду с параметром--allow-roleassignment-on-rg true. В следующем примере обновляется рабочая область с именемmyworkspace. Для этой команды требуется расширение CLI Машинное обучение Azure версии 2.27.0 или более поздней.az ml workspace update --name myworkspace --allow-roleassignment-on-rg trueПакет SDK для Python Для Azure: задайте
allow_roleassignment_on_rgсвойство объектаTrueРабочей области и выполните операцию обновления. В следующем примере обновляется рабочая область с именемmyworkspace. Для этой операции требуется пакет SDK Машинное обучение Azure версии 1.17.0 или более поздней.ws = ml_client.workspaces.get(name="myworkspace") ws.allow_roleassignment_on_rg = True ws = ml_client.workspaces.begin_update(workspace=ws).result()
Управление доступом к рабочей области
Если вы являетесь владельцем рабочей области, то вы можете добавлять и удалять роли для нее. Кроме того, можно назначать роли пользователям. Воспользуйтесь следующими ссылками, чтобы узнать, как управлять доступом:
- Пользовательский интерфейс портала Azure
- PowerShell
- Azure CLI
- REST API
- Шаблоны диспетчера ресурсов Azure
Например, используйте Azure CLI для назначения роли joe@contoso.com для группы ресурсов this-rg с помощью следующей команды:
az role assignment create --role "Contributor" --assignee "joe@contoso.com" --resource-group this-rg
Управление доступом к рабочей области с помощью групп безопасности Microsoft Entra
Группы безопасности Microsoft Entra можно использовать для управления доступом к рабочим областям. Этот подход имеет следующие преимущества:
- Руководители команд или проектов могут управлять доступом пользователей к рабочей области в качестве владельцев групп безопасности; при этом роль владельца непосредственно в ресурсе рабочей области не требуется.
- Вы можете упорядочивать, управлять и отменять разрешения пользователей на рабочей области и других ресурсах как группу, не имея необходимости управлять разрешениями на основе пользователей.
- Использование групп Microsoft Entra помогает избежать достижения ограничения подписки на назначения ролей.
Чтобы использовать группы безопасности Microsoft Entra, выполните следующие действия.
- Создайте группу безопасности.
- Добавьте владельца группы. У этого пользователя есть разрешения на добавление и удаление участников группы. Владелец группы не требуется быть членом группы или иметь прямую роль RBAC в рабочей области.
- Назначьте группу роли RBAC в рабочей области, например AzureML Специалист по обработке и анализу данных, читателя или участника.
- Добавление участников группы. Члены получают доступ к рабочей области.
Создание настраиваемой роли
Если встроенные роли не соответствуют вашим потребностям, создайте пользовательские роли. Пользовательские роли могут иметь разрешения на чтение, запись, удаление и управление вычислительными ресурсами в этой рабочей области. Роль можно сделать доступной на определенном уровне рабочей области, на определенном уровне группы ресурсов или на определенном уровне подписки.
Примечание.
Чтобы создать пользовательские роли в ресурсе, необходимо быть владельцем ресурса на этом уровне.
Чтобы создать настраиваемую роль, сначала составьте файл JSON определения роли, который будет задавать определение и область для роли. В следующем примере определяется пользовательская Специалист по обработке и анализу данных настраиваемая роль, ограниченная на определенном уровне рабочей области:
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>"
]
}
Совет
Поле AssignableScopes можно изменить, чтобы задать область для этой настраиваемой роли на уровне подписки, на уровне группы ресурсов или на уровне конкретной рабочей области.
Предыдущая настраиваемая роль — это просто пример. Дополнительные примеры см. в некоторых предлагаемых пользовательских ролях для службы машинного обучения Azure.
Эта настраиваемая роль может выполнять в рабочей области все действия, за исключением следующих.
- Она не может удалить рабочую область.
- Он не может создать или обновить рабочую область.
- Он не может создавать или обновлять вычислительные ресурсы.
- Не удается удалить вычислительные ресурсы.
- Она не может добавлять, удалять или изменять назначения ролей.
Чтобы развернуть эту настраиваемую роль, используйте следующую команду Azure CLI.
az role definition create --role-definition data_scientist_custom_role.json
После развертывания эта роль доступна в указанной рабочей области. Теперь можно добавлять роль и назначать ее на портале Microsoft Azure.
Дополнительные сведения о настраиваемых ролях см. в статье Настраиваемые роли Azure.
Операции Машинного обучения Azure
Дополнительные сведения об операциях (действиях и не действиях), которые можно использовать с пользовательскими ролями, см. в разделе "Операции поставщика ресурсов". Также можно отобразить список операций с помощью следующей команды Azure CLI:
az provider operation show –n Microsoft.MachineLearningServices
Вывод списка настраиваемых ролей
В Azure CLI выполните следующую команду:
az role definition list --subscription <subscriptionId> --custom-role-only true
Чтобы просмотреть определение роли для конкретной настраиваемой роли, используйте следующую команду Azure CLI. Значение <roleName> должно находиться в том же формате, который возвращается предыдущей командой:
az role definition list -n <roleName> --subscription <subscriptionId>
Обновление пользовательской роли
В Azure CLI выполните следующую команду:
az role definition update --role-definition update_def.json --subscription <subscriptionId>
Вам нужны разрешения на всю область определения новой роли. Например, если эта новая роль распространяется на три подписки, вам потребуются разрешения на все три подписки.
Примечание.
Обновление ролей может занять от 15 минут до часа, прежде чем оно будет применено ко всем назначениям ролей в соответствующей области.
Использование шаблонов Azure Resource Manager для повторяемости
Если предполагается, что необходимо повторно создать сложные назначения ролей, шаблон Azure Resource Manager может оказаться значительной помощью. Шаблон распределения ролей для зависимостей машинного обучения показывает, как можно указать назначения ролей в исходном коде для повторного применения.
Распространенные сценарии
В следующей таблице приведены сведения о действиях машинного обучения Azure и разрешениях, необходимых для их выполнения по крайней мере. Например, если действие может выполняться с областью рабочей области (столбец 4), все более высокие области с этим разрешением также работают автоматически. Для определенных действий разрешения различаются между API версии 1 и версии 2.
Внимание
Все пути в этой таблице, начинающиеся с /, являются относительными путями к Microsoft.MachineLearningServices/
| Действие (Activity) | Область уровня подписки | Область уровня группы ресурсов | Область уровня рабочей области |
|---|---|---|---|
| Создание рабочей области 1 | Необязательное | Разрешения владельца, участника или настраиваемой роли, позволяющие: Microsoft.Resources/deployments/*, Microsoft.MachineLearningServices/workspaces/write, а также разрешения на запись для зависимых ресурсов (см. пункт 3 ниже). |
Н/Д (становится владельцем или наследует роль с более высокой областью после создания) |
| Запросить квоту уровня подписки Amlcompute или установить квоту уровня рабочей области | Владелец, участник или пользовательская роль которая разрешает /locations/updateQuotas/actionв области подписки |
Не авторизовано | Не авторизовано |
| Создать новый вычислительный кластер | Необязательное | Необязательное | Владелец, участник или настраиваемая роль, которая разрешает: /workspaces/computes/write |
| Создать новый вычислительный экземпляр | Необязательное | Необязательное | Владелец, участник или настраиваемая роль, которая разрешает: /workspaces/computes/write |
| Отправка любого типа выполнения (V1) | Необязательное | Необязательное | Владелец, участник или пользовательская роль, разрешающая: , , , , /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 |
| Отправка любого типа выполнения (версия 2) | Необязательное | Необязательное | Владелец, участник или пользовательская роль, разрешающая: /workspaces/*/read, /workspaces/environments/write, , /workspaces/jobs/*/workspaces/metadata/artifacts/write/workspaces/environments/build/action/workspaces/environments/readSecrets/action |
| Публикация конвейеров и конечных точек (V1) | Необязательное | Необязательное | Владелец, участник или пользовательская роль, разрешающая: /workspaces/endpoints/pipelines/*, /workspaces/pipelinedrafts/*/workspaces/modules/* |
| Публикация конвейеров и конечных точек (версия 2) | Необязательное | Необязательное | Владелец, участник или пользовательская роль, разрешающая: /workspaces/endpoints/pipelines/*, /workspaces/pipelinedrafts/*/workspaces/components/* |
| Подключение ресурса AKS 2 | Необязательное | Владелец или участник в группе ресурсов, содержащей AKS | |
| Развертывать зарегистрированную модель на ресурсе AKS/ACI | Необязательное | Необязательное | Владелец, участник или пользовательская роль, разрешающая: /workspaces/services/aks/write/workspaces/services/aci/write |
| Выполнять оценку по развернутой конечной точке AKS | Необязательное | Необязательное | Владелец, участник или пользовательская роль: /workspaces/services/aks/score/action/workspaces/services/aks/listkeys/action (если вы не используете проверку подлинности Microsoft Entra) OR /workspaces/read (при использовании проверки подлинности маркера) |
| Получать доступ к хранилищу с помощью интерактивных записных книжек | Необязательное | Необязательное | Владелец, участник или пользовательская роль, разрешающая: /workspaces/computes/read, /workspaces/notebooks/samples/read, /workspaces/notebooks/storage/*, /workspaces/listStorageAccountKeys/action/workspaces/listNotebookAccessToken/read |
| Создавать новые настраиваемые роли | Владелец, участник или настраиваемая роль, которая разрешает: Microsoft.Authorization/roleDefinitions/write |
Необязательное | Владелец, участник или настраиваемая роль, которая разрешает: /workspaces/computes/write |
| Создание подключенных конечных точек и развертываний или управление ими | Необязательное | Чтобы развернуть в студии, Microsoft.Resources/deployments/write |
Разрешение владельца, участника или настраиваемой роли Microsoft.MachineLearningServices/workspaces/onlineEndpoints/*. |
| Получение учетных данных проверки подлинности для подключенных конечных точек | Необязательное | Необязательное | Разрешение владельца, участника или настраиваемой роли Microsoft.MachineLearningServices/workspaces/onlineEndpoints/token/actionMicrosoft.MachineLearningServices/workspaces/onlineEndpoints/listKeys/action |
Если при первой попытке создания рабочей области возникнет ошибка, проверьте, разрешает ли ваша роль действие
Microsoft.MachineLearningServices/register/action. Это действие позволяет зарегистрировать поставщик ресурсов Машинного обучения Azure в вашей подписке Azure.При присоединении кластера AKS также необходимо иметь роль администратора кластера Служба Azure Kubernetes в кластере.
Эти сценарии не включают разрешения, необходимые для создания ресурсов, зависящих от рабочих областей. Дополнительные сведения см. в разрешениях на запись для хранилища, OperationsInsights, Key Vault и реестра контейнеров.
При присоединении идентичностей, управляемых пользователем, вам также необходимо иметь
Microsoft.ManagedIdentity/userAssignedIdentities/assign/actionразрешение на эти идентичности. Дополнительные сведения см. в встроенных ролях Azure для идентификации.При указании бессерверной пользовательской подсети необходимо также иметь
Microsoft.Network/virtualNetworks/subnets/join/actionв виртуальной сети. Дополнительные сведения см. в разделе "Разрешения Azure для сети".
Развертывание в виртуальной сети или подсети
Чтобы развернуть ресурсы в виртуальной сети или подсети, учетная запись пользователя должна иметь разрешения на доступ к следующим действиям в управлении доступом на основе ролей в Azure (Azure RBAC):
- "Microsoft.Network/*/read" в ресурсе виртуальной сети. Это разрешение не требуется для развертываний шаблонов Azure Resource Manager (ARM).
- "Microsoft.Network/virtualNetworks/join/action" в ресурсе виртуальной сети.
- "Microsoft.Network/virtualNetworks/subnets/join/action" в ресурсе подсети.
Дополнительные сведения об Azure RBAC при работе с сетью см. в разделе Встроенные роли сети.
Различия между действиями для API версии 1 и версии 2
Некоторые различия существуют между действиями для API версии 1 и API версии 2.
| Актив | Путь к действию для API версии 1 | Путь к действию для API версии 2 |
|---|---|---|
| Набор данных | Microsoft.MachineLearningServices/рабочие пространства/наборы данных | Microsoft.MachineLearningServices/workspaces/datasets/versions |
| Выполнение эксперимента и задания | Microsoft.СлужбыМашинногоОбучения/рабочиепространства/эксперименты | Microsoft.MachineLearningServices/workspaces/jobs |
| Модели | Microsoft.MachineLearningServices/workspaces/models | Microsoft.MachineLearningServices/workspaces/models/versions |
| Модули и компоненты | Microsoft.MachineLearningServices/workspaces/modules | Microsoft.MachineLearningServices/рабочие пространства/компоненты |
Совместимость пользовательских ролей с API версий 1 и 2 можно обеспечить, включив оба действия или с помощью масок, которые включают оба действия, например Microsoft.MachineLearningServices/workspaces/datasets/*/read.
Создание рабочей области с использованием ключа, управляемого клиентом
При использовании ключа, управляемого клиентом (CMK), azure Key Vault сохраняет ключ. Пользователь или субъект-служба, используемые для создания рабочей области, должен иметь доступ владельца или участника к хранилищу ключей.
Если вы настроите рабочую область с управляемым пользователем удостоверением, предоставьте удостоверению следующие роли. Эти роли позволяют управляемому удостоверению создавать хранилище Azure, Azure Cosmos DB и ресурсы Azure Search при использовании ключа, управляемого пользователем:
Microsoft.Storage/storageAccounts/writeMicrosoft.Search/searchServices/writeMicrosoft.DocumentDB/databaseAccounts/write
В хранилище ключей пользователь или субъект-служба должны создавать, получать, удалять и удалять доступ к ключу с помощью политики доступа к хранилищу ключей. Дополнительные сведения см. в статье Безопасность Azure Key Vault.
Управляемое удостоверение, назначаемое пользователем, с Машинное обучение Azure вычислительным кластером
Чтобы присвоить назначаемое пользователем удостоверение вычислительному кластеру Машинного обучения Azure, необходимы разрешения на запись для создания вычислений и Роли оператора управляемого удостоверения. Дополнительные сведения об Azure RBAC с управляемыми удостоверениями см. в статье "Управление назначенным пользователем удостоверением".
Операции MLflow
Чтобы выполнить операции MLflow с рабочей областью Машинного обучения Azure, используйте следующие области в пользовательской роли:
| Операция MLflow | Область |
|---|---|
| (V1) Вывод списка, чтения, создания, обновления или удаления экспериментов | Microsoft.MachineLearningServices/workspaces/experiments/* |
| (версия 2) Перечисление, чтение, создание, обновление или удаление заданий | Microsoft.MachineLearningServices/workspaces/jobs/* |
| Получение зарегистрированной модели по имени, получение списка всех зарегистрированных моделей в реестре, поиск зарегистрированных моделей, последних моделей версий для каждого этапа запросов, получение версии зарегистрированной модели, версии модели поиска, получение URI, где хранятся артефакты версии модели, поиск по идентификаторам экспериментов | Microsoft.MachineLearningServices/workspaces/models/*/read |
| Создание зарегистрированной модели, обновление имени или описания зарегистрированной модели, переименование существующей зарегистрированной модели, создание новой версии модели, обновление описания версии модели, переход зарегистрированной модели на одну из этапов | Microsoft.MachineLearningServices/workspaces/models/*/write |
| Удаление зарегистрированной модели вместе со всеми ее версиями, удаление определенных версий зарегистрированной модели | Microsoft.MachineLearningServices/workspaces/models/*/delete |
Примеры настраиваемых ролей
Специалист по обработке и анализу данных
Используйте эту роль, чтобы предоставить специалисту по обработке и анализу данных разрешение на выполнение всех операций в рабочей области , кроме следующих:
- Создание вычислительных ресурсов.
- Развертывание моделей в рабочем кластере AKS.
- Развертывание конечной точки конвейера в рабочей среде.
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>"
]
}
Специалист по обработке и анализу данных, ограниченная
Используйте эту роль для предоставления более ограниченного определения роли без подстановочных знаков в разрешенных действиях. Может выполнять все операции внутри рабочей области, за исключением следующих:
- Создание вычислительных ресурсов.
- Развертывание моделей в рабочем кластере AKS.
- Развертывание конечной точки конвейера в рабочей среде.
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
Используйте эту роль для выполнения всех поддерживаемых операций машинного обучения Azure MLflow, кроме следующих:
- Создание вычислительных ресурсов.
- Развертывание моделей в рабочем кластере AKS.
- Развертывание конечной точки конвейера в рабочей среде.
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)
Назначьте эту роль сервисному принципалу для автоматизации ваших конвейеров MLOps. Например, используйте его для запуска заданий в уже опубликованный конвейер.
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>"
]
}
Администратор рабочей области
Используйте эту роль для выполнения всех операций в пределах рабочей области, кроме следующих:
- Создание новой рабочей области
- назначение подписки или квот уровня рабочей области.
Администратор рабочей области не может создать новую роль. Он может назначать только существующие встроенные или настраиваемые роли в области действия своей рабочей области.
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>"
]
}
Маркировка данных
Azure предоставляет встроенную роль для маркировки данных, которая ограничена только данными меток. Следующие пользовательские роли предоставляют другие уровни доступа для проекта маркировки данных.
- Руководитель группы по маркировке
- Диспетчер учетных записей поставщика
- Контроль качества клиента
- Контроль качества поставщика
Руководитель группы по маркировке позволяет просматривать и отклонять помеченный набор данных и просматривать аналитические сведения о метки. Кроме того, эта роль позволяет выполнять роль разметчика.
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>"
]
}
Устранение неполадок
Учитывайте следующие моменты при использовании Azure RBAC:
При создании ресурса в Azure, например рабочей области, вы не являетесь владельцем ресурса напрямую. Вы наследуете свою роль из наивысшей доступной роли, на которую вы авторизованы в этой подписке. Например, если вы являетесь администратором сети и имеете разрешения на создание рабочей области машинного обучения, вы назначаете роль администратора сети для этой рабочей области, а не роль владельца .
Для выполнения операций с квотами в рабочей области требуются разрешения уровня подписки. Это требование означает, что только пользователи с разрешениями на запись в области подписки могут задать квоту уровня подписки или квоту уровня рабочей области для управляемых вычислительных ресурсов.
Чтобы развернуть в студии, вам потребуется
Microsoft.Resources/deployments/writeиMicrosoft.MachineLearningServices/workspaces/onlineEndpoints/deployments/write. Для развертываний ПАКЕТА SDK или CLI вам потребуетсяMicrosoft.MachineLearningServices/workspaces/onlineEndpoints/deployments/write. Обратитесь к владельцу рабочей области или группы ресурсов для получения дополнительных разрешений.При наличии двух назначений ролей одному и тому же пользователю Microsoft Entra с конфликтующими разделами Действий и NotActions операции, перечисленные в NotActions из одной роли, могут не входить в силу, если они также указаны как действия в другой роли. Дополнительные сведения о том, как Azure анализирует назначения ролей, см. в статье о том, как Azure RBAC определяет, имеет ли пользователь доступ к ресурсу.
Иногда на то, чтобы новые назначения ролей вступили в силу и заменили кэшированные разрешения по всему стеку, может потребоваться до одного часа.
Вернуться к роли участника
Если создать рабочую область и столкнуться с ошибками с новым назначением ролей по умолчанию администратора ИИ Azure для управляемого удостоверения рабочей области, выполните следующие действия, чтобы вернуться к роли участника:
Внимание
Не возвращайтесь к роли участника, если не столкнетесь с проблемами. Если отмена рабочей области решает проблемы, с которыми вы столкнулись, зарегистрируйте инцидент поддержки с информацией о проблемах, которые были решены благодаря отмене, чтобы группа продуктов могла изучить это далее.
Если вы хотите вернуться к роли участника как к значению по умолчанию для новых рабочих областей, откройте запрос на поддержку с информацией о вашей подписке Azure и попросите изменить её, чтобы по умолчанию использовалась роль участника для системно назначенного управляемого идентификатора новых рабочих областей.
Удалите назначение ролей для управляемого удостоверения рабочей области. Область назначения ролей — это группа ресурсов , содержащая рабочую область, поэтому необходимо удалить роль из группы ресурсов.
Совет
Управляемое удостоверение, назначаемое системой для рабочей области, совпадает с именем рабочей области.
На портале Azure перейдите в группу ресурсов , содержащую рабочую область. Выберите элемент управления доступом (IAM) и выберите назначения ролей. В списке назначений ролей найдите назначение роли для управляемого удостоверения. Выберите его и нажмите кнопку "Удалить".
Сведения об удалении назначения ролей см. в разделе "Удаление назначений ролей".
Создайте новое назначение ролей в группе ресурсов для роли участника. При добавлении этого назначения роли в качестве назначения выберите управляемое удостоверение для рабочей области. Имя управляемого удостоверения, назначаемого системой, совпадает с именем рабочей области.
- На портале Azure перейдите в группу ресурсов , содержащую рабочую область. Выберите Управление доступом (IAM), а затем Добавление назначения ролей.
- На вкладке "Роль" выберите "Участник".
- На вкладке "Участники" выберите "Управляемое удостоверение", затем "+ Выбрать участников", а затем установите раскрывающийся список "Управляемое удостоверение" в "Рабочая область Azure Machine Learning". Если рабочая область является центральной рабочей областью, выберите центр ИИ Azure. В поле "Выбор" введите имя рабочей области. Выберите рабочую область из списка и нажмите кнопку "Выбрать".
- На вкладке "Рецензирование и назначение " выберите "Рецензирование" и " Назначить".