Управление доступом к рабочим областям Машинное обучение Azure
В этой статье объясняется, как управлять доступом (авторизацией) для Машинное обучение Azure рабочих областей. Вы можете использовать управление доступом на основе ролей Azure (Azure RBAC) для управления доступом к ресурсам Azure, предоставляя пользователям возможность создавать новые ресурсы или использовать существующие. Пользователям в Microsoft Entra ID назначены определенные роли, которые предоставляют доступ к ресурсам. Azure предоставляет как встроенные роли, так и возможность создания настраиваемых ролей.
Совет
Хотя эта статья посвящена Машинное обучение Azure, отдельные службы предоставляют собственные параметры RBAC. Например, с помощью сведений из этой статьи можно настроить пользователей, которым разрешается отправка запросов на оценку к модели, развернутой в форме веб-службы в Службе контейнеров Azure. В то же время Служба контейнеров Azure предоставляет собственный набор ролей Azure. Сведения о конкретных службах RBAC, которые могут быть полезны для Машинное обучение Azure, см. в следующих ссылках:
Предупреждение
Применение некоторых ролей может ограничить функциональные возможности пользовательского интерфейса в Студия машинного обучения Azure для других пользователей. Например, если роль пользователя не имеет возможности создавать вычислительный экземпляр, параметр создания вычислительного экземпляра недоступен в студии. Это ожидаемое поведение, которое не дает пользователю инициировать операции, приводящие к ошибке "отказано в доступе".
Роли по умолчанию
Машинное обучение Azure рабочие области имеют встроенные роли, доступные по умолчанию. При добавлении пользователей в рабочую область их можно назначить одной из следующих ролей.
Роль | Уровень доступа |
---|---|
Специалист по обработке и анализу данных AzureML | Может выполнять все действия в рабочем пространстве Машинного обучения Azure, кроме создания и удаления вычислительных ресурсов и изменения самого рабочего пространства. |
Оператор вычислений AzureML | Может создавать, управлять, удалять и получать доступ к вычислительным ресурсам в рабочей области. |
Читатель | действия с доступом только для чтения в рабочей области. Читатели могут просматривать списки ресурсов и сами ресурсы (включая учетные данные хранилищ данных) в рабочей области. Читатели не могут создавать или обновлять такие ресурсы. |
Участник | просмотр, создание, изменение или удаление (если применимо) ресурсов в рабочей области. Например, участники могут создать эксперимент, создать или подключить вычислительный кластер, выполнить запуск и развернуть веб-службу. |
Ответственное лицо | полный доступ к рабочей области, включая возможность просмотра, создания, изменения или удаления (если применимо) ресурсов в ней. Кроме того, можно изменить назначения ролей. |
Кроме того, Машинное обучение Azure реестры имеют роль пользователя реестра Машинное обучение Azure, которую можно назначить ресурсу реестра для предоставления разрешений на уровне пользователя специалистам по обработке и анализу данных. Для разрешений на уровне администратора для создания или удаления реестров используйте роль участника или владельца.
Роль | Уровень доступа |
---|---|
Пользователь реестра AzureML | Может получать реестры, а также читать, записывать и удалять ресурсы внутри них. Не удается создать ресурсы реестра или удалить их. |
Вы можете объединить роли для предоставления различных уровней доступа. Например, можно предоставить пользователю рабочей области роли azureML Специалист по обработке и анализу данных и оператора вычислений AzureML, чтобы разрешить пользователю выполнять эксперименты при создании вычислительных ресурсов самостоятельно.
Внимание
Доступ для роли можно ограничить определенными уровнями в Azure. Например, у пользователя с доступом владельца к рабочей области может не быть доступа владельца к группе ресурсов, в которой содержится эта рабочая область. Дополнительные сведения см. в статье Принцип работы Azure RBAC.
Управление доступом к рабочей области
Если вы являетесь владельцем рабочей области, то вы можете добавлять и удалять роли для нее. Кроме того, можно назначать роли пользователям. Воспользуйтесь следующими ссылками, чтобы узнать, как управлять доступом:
- Пользовательский интерфейс портала 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 может оказаться значительной помощью. Шаблон machine-learning-dependencies-role-assignment template демонстрирует, как задавать назначения ролей в исходном коде, чтобы затем использовать их повторно.
Распространенные сценарии
В следующей таблице приведена сводка действий Машинного обучения Azure и разрешений, необходимых для их выполнения с наименьшей областью. Например, если действие может выполняться с областью рабочей области (столбец 4), все более высокие области с этим разрешением также работают автоматически. Для определенных действий разрешения различаются между API версии 1 и версии 2.
Внимание
Все пути в этой таблице, которые начинаются с /
, являются относительными путями по отношению к Microsoft.MachineLearningServices/
.
Действие (Activity) | Область уровня подписки | Область уровня группы ресурсов | Область уровня рабочей области |
---|---|---|---|
Создание рабочей области 1 | Необязательное | Владелец или участник | Н/Д (становится владельцем или наследует роль с более высокой областью после создания) |
Запросить квоту уровня подписки Amlcompute или установить квоту уровня рабочей области | Владелец, участник или пользовательская роль которая разрешает /locations/updateQuotas/action в области подписки |
Не авторизовано | Не авторизовано |
Создать новый вычислительный кластер | Необязательное | Необязательное | Владелец, участник или настраиваемая роль, которая разрешает: /workspaces/computes/write |
Создать новый вычислительный экземпляр | Необязательное | Необязательное | Владелец, участник или настраиваемая роль, которая разрешает: /workspaces/computes/write |
Отправка любого типа выполнения (V1) | Необязательное | Необязательное | Владелец, участник или пользовательская роль, разрешающая: , , , , /workspaces/environments/build/action /workspaces/metadata/snapshots/write /workspaces/experiments/runs/submit/action /workspaces/metadata/artifacts/write /workspaces/experiments/runs/write /workspaces/environments/write /workspaces/*/read /workspaces/environments/readSecrets/action |
Отправка любого типа выполнения (версия 2) | Необязательное | Необязательное | Владелец, участник или пользовательская роль, разрешающая: /workspaces/*/read , /workspaces/environments/write , , /workspaces/metadata/codes/*/write /workspaces/metadata/artifacts/write /workspaces/environments/build/action /workspaces/jobs/* /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/action Microsoft.MachineLearningServices/workspaces/onlineEndpoints/listkeys/action |
Если при первой попытке создания рабочей области возникнет ошибка, проверьте, разрешает ли ваша роль действие
Microsoft.MachineLearningServices/register/action
. Это действие позволяет зарегистрировать поставщик ресурсов Машинного обучения Azure в вашей подписке Azure.При присоединении кластера AKS также необходимо иметь роль администратора кластера Служба Azure Kubernetes в кластере.
Развертывание в виртуальной сети или подсети
Чтобы развернуть ресурсы в виртуальной сети или подсети, учетная запись пользователя должна иметь разрешения на доступ к следующим действиям в управлении доступом на основе ролей в 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/workspaces/datasets | Microsoft.MachineLearningServices/workspaces/datasets/versions |
Выполнение эксперимента и задания | Microsoft.MachineLearningServices/workspaces/experiments | Microsoft.MachineLearningServices/workspaces/jobs |
Модели | Microsoft.MachineLearningServices/workspaces/models | Microsoft.MachineLearningServices/workspaces/models/versions |
Моментальные снимки и код | Microsoft.MachineLearningServices/workspaces/snapshots | Microsoft.MachineLearningServices/workspaces/codes/versions |
Модули и компоненты | Microsoft.MachineLearningServices/workspaces/modules | Microsoft.MachineLearningServices/workspaces/components |
Пользовательские роли можно обеспечить совместимость с API версии 1 и версии 2, включая оба действия или подстановочные знаки, которые включают оба действия, например Microsoft.MachineLearningServices/workspaces/datasets/*/read
.
Создание рабочей области с использованием ключа, управляемого клиентом
При использовании управляемого клиентом ключа (CMK) azure Key Vault используется для хранения ключа. Пользователь или субъект-служба, используемые для создания рабочей области, должны иметь доступ владельца или участника к хранилищу ключей.
Если рабочая область настроена с управляемым удостоверением, назначаемого пользователем, удостоверение должно быть предоставлено следующим ролям. Эти роли позволяют управляемому удостоверению создавать служба хранилища Azure, Azure Cosmos DB и ресурсы поиска Azure, используемые при использовании управляемого клиентом ключа:
Microsoft.Storage/storageAccounts/write
Microsoft.Search/searchServices/write
Microsoft.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
Позволяет специалисту по обработке и анализу данных выполнять все поддерживаемые операции MLflow Машинное обучение Azure, кроме следующих:
- создание вычисления;
- развертывание моделей в рабочем кластере 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/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>"
]
}
Администратор рабочей области
Позволяет выполнять все операции в области действия рабочей области, за исключением следующих:
- Создание новой рабочей области
- назначение подписки или квот уровня рабочей области.
Администратор рабочей области также не может создать новую роль. Он может назначать только существующие встроенные или настраиваемые роли в области действия своей рабочей области.
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>"
]
}
Маркировка данных
Существует встроенная роль для маркировки данных, ограниченная только данными меток. Следующие пользовательские роли предоставляют другие уровни доступа для проекта маркировки данных.
- Руководитель группы по маркировке
- Диспетчер учетных записей поставщика
- Контроль качества клиента
- Контроль качества поставщика
Руководитель группы по маркировке позволяет просматривать и отклонять помеченный набор данных и просматривать аналитические сведения о метки. Кроме того, эта роль позволяет выполнять роль разметчика.
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
ANDMicrosoft.MachineLearningServices/workspaces/onlineEndpoints/deployments/write
. Для развертываний ПАКЕТА SDK или CLI вам потребуетсяMicrosoft.MachineLearningServices/workspaces/onlineEndpoints/deployments/write
. Обратитесь к владельцу рабочей области или группы ресурсов для получения дополнительных разрешений.Если у одного пользователя Microsoft Entra есть два назначения ролей с конфликтующими разделами Actions/NotActions, операции, перечисленные в NotActions из одной роли, могут не входить в силу, если они также указаны как действия в другой роли. Дополнительные сведения о том, как Azure анализирует назначения ролей, см. в статье Как RBAC Azure определяет право доступа пользователя к ресурсу
Иногда на то, чтобы новые назначения ролей вступили в силу и заменили кэшированные разрешения по всему стеку, может потребоваться до одного часа.