Проверка подлинности и авторизация для сетевых конечных точек
ОБЛАСТЬ ПРИМЕНЕНИЯ:Расширение машинного обучения Azure CLI версии 2 (current)Python SDK azure-ai-ml версии 2 (current)
В этой статье описываются понятия удостоверений и разрешений в контексте Машинное обучение Azure сетевых конечных точек. В этой статье рассматриваются идентификаторы Microsoft Entra, поддерживающие управление доступом на основе ролей и разрешения. Идентификатор Microsoft Entra называется удостоверением пользователя или удостоверением конечной точки в зависимости от его назначения.
Удостоверение пользователя — это идентификатор Microsoft Entra, который может создать конечную точку и его развертывания или взаимодействовать с конечными точками или рабочими областями. Удостоверение пользователя выдает запросы к конечным точкам, развертываниям или рабочим областям. Удостоверение пользователя должно иметь соответствующие разрешения для выполнения операций уровня управления и плоскости данных в конечных точках или рабочих областях.
Удостоверение конечной точки — это идентификатор Microsoft Entra, который запускает контейнер пользователя в развертываниях. Контейнер пользователя использует удостоверение конечной точки для развертывания. Удостоверение конечной точки также должно иметь необходимые разрешения для взаимодействия контейнера пользователя с ресурсами по мере необходимости. Например, удостоверение конечной точки должно иметь соответствующие разрешения для извлечения изображений из Реестр контейнеров Azure или взаимодействия с другими службами Azure.
Удостоверение пользователя и удостоверение конечной точки имеют отдельные требования к разрешениям. Дополнительные сведения об управлении удостоверениями и разрешениями см. в статье "Проверка подлинности клиентов для сетевых конечных точек".
Внимание
Проверка подлинности идентификатора aad_token
Microsoft Entra поддерживается только для управляемых сетевых конечных точек. Для сетевых конечных точек Kubernetes можно использовать ключ или Машинное обучение Azureaml_token
.
Разрешения и область авторизации
Управление доступом на основе ролей Azure (RBAC) позволяет определять и назначать роли с набором разрешенных и (или) запрещенных действий в определенных областях. Эти роли и области можно настроить в соответствии с вашими бизнес-потребностями. Следующие примеры служат отправной точкой, которую можно расширить по мере необходимости.
Для удостоверения пользователя:
- Для управления операциями уровня управления и плоскости данных можно использовать встроенную роль AzureML Специалист по обработке и анализу данных, которая включает действие
Microsoft.MachineLearningServices/workspaces/onlineEndpoints/*/actions
разрешения. - Чтобы управлять операциями для определенной конечной точки, используйте область
/subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.MachineLearningServices/workspaces/<workspaceName>/onlineEndpoints/<endpointName>
. - Чтобы управлять операциями для всех конечных точек в рабочей области, используйте область
/subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.MachineLearningServices/workspaces/<workspaceName>
.
Для удостоверения конечной точки, чтобы разрешить контейнеру пользователя считывать большие двоичные объекты, встроенная функция чтения данных BLOB-объектов хранилища ролей включает действие Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
данных разрешений.
Дополнительные сведения об управлении авторизацией для Машинное обучение Azure рабочих областей см. в статье "Управление доступом к Машинное обучение Azure". Дополнительные сведения об определении роли, области и назначении ролей см . в azure RBAC. Сведения о области назначенных ролей см. в статье "Общие сведения о области azure RBAC".
Разрешения, необходимые для удостоверения пользователя
При входе в клиент Azure с учетной записью Майкрософт, например с помощью az login
, выполните шаг проверки подлинности пользователя authn , который определяет удостоверение в качестве пользователя. Чтобы создать конечную точку в сети в рабочей области Машинное обучение Azure, удостоверение должно иметь соответствующее разрешение, также называемое авторизацией или аутгц. Удостоверения пользователей нуждаются в соответствующих разрешениях для выполнения операций уровня управления и плоскости данных.
Операции уровня управления
Управление операциями плоскости управления и изменение сетевых конечных точек. К этим операциям относятся операции создания, чтения, обновления и удаления (CRUD) в сетевых конечных точках и сетевых развертываниях. Для сетевых конечных точек и развертываний запросы на выполнение операций плоскости управления отправляются в рабочую область Машинное обучение Azure.
Проверка подлинности для операций уровня управления
Для операций уровня управления используется маркер Microsoft Entra для проверки подлинности клиента в рабочей области. В зависимости от варианта использования можно выбрать несколько рабочих процессов проверки подлинности, чтобы получить этот маркер. Удостоверение пользователя также должно иметь соответствующую роль Azure RBAC, назначенную для доступа к ресурсам.
Авторизация для операций уровня управления
Для операций уровня управления удостоверение пользователя должно иметь соответствующую роль Azure RBAC, назначенную для доступа к ресурсам. В частности, для операций CRUD в сетевых конечных точках и развертываниях удостоверение пользователя должно иметь роли, назначенные для следующих действий:
Операция | Обязательная роль Azure RBAC | Область |
---|---|---|
Выполнение операций создания и обновления в сетевых конечных точках и развертываниях. | Владелец, участник или любая роль, разрешающая Microsoft.MachineLearningServices/workspaces/onlineEndpoints/write |
Рабочая область |
Выполнение операций удаления в сетевых конечных точках и развертываниях. | Владелец, участник или любая роль, разрешающая Microsoft.MachineLearningServices/workspaces/onlineEndpoints/delete |
Рабочая область |
Выполнение операций создания и обновления и удаления в сетевых конечных точках и развертываниях с помощью Студия машинного обучения Azure. | Владелец, участник или любая роль, разрешающая Microsoft.Resources/deployments/write |
Группа ресурсов, в которой содержится рабочая область |
Выполнение операций чтения в сетевых конечных точках и развертываниях. | Владелец, участник или любая роль, разрешающая Microsoft.MachineLearningServices/workspaces/onlineEndpoints/read |
Рабочая область |
Получение маркера Машинное обучение Azure (aml_token ) для вызова управляемых и веб-конечных точек Kubernetes из рабочей области. |
Владелец, участник или любая роль, разрешающая Microsoft.MachineLearningServices/workspaces/onlineEndpoints/token/action |
Конечная точка |
Извлеките ключ для вызова сетевых конечных точек (как управляемых, так и Kubernetes) из рабочей области. | Владелец, участник или любая роль, разрешающая Microsoft.MachineLearningServices/workspaces/onlineEndpoints/listKeys/action |
Конечная точка |
Повторно создайте ключи для управляемых и сетевых конечных точек Kubernetes. | Владелец, участник или любая роль, разрешающая Microsoft.MachineLearningServices/workspaces/onlineEndpoints/regenerateKeys/action |
Конечная точка |
Получите microsoft Entra aad_token для вызова управляемых сетевых конечных точек. |
Не требует роли | Неприменимо* |
* Вы можете получить microsoft Entra непосредственно из идентификатора Microsoft Entra aad_token
после входа, чтобы эта операция не требовала разрешения Azure RBAC в рабочей области.
Разрешения для удостоверения пользователя для принудительного доступа к хранилищам секретов по умолчанию
Если вы используете функцию внедрения секретов и установите флаг для принудительного доступа к хранилищам секретов по умолчанию при создании конечных точек, удостоверение пользователя должно иметь разрешение на чтение секретов из подключений к рабочей области.
Удостоверение конечной точки может быть удостоверением, назначенным системой (SAI) или удостоверением, назначенным пользователем (UAI). Когда конечная точка создается с помощью SAI и флага для принудительного доступа к хранилищам секретов по умолчанию, удостоверение пользователя должно иметь разрешения на чтение секретов из подключений к рабочей области при создании конечной точки и развертываний. Это ограничение гарантирует, что только удостоверение пользователя с разрешением на чтение секретов может предоставить удостоверению конечной точки разрешение на чтение секретов.
Если удостоверение пользователя, которое не имеет разрешения на чтение секретов из подключений к рабочей области, пытается создать конечную точку или развертывание с помощью SAI, а флаг конечной точки установлен для принудительного доступа к хранилищам секретов по умолчанию, конечной точке или созданию развертывания отклоняется.
Если конечная точка создается с помощью UAI или конечной точки используется SAI, но флаг для принудительного доступа к хранилищам секретов по умолчанию не задан, удостоверение пользователя не должно быть в состоянии считывать секреты из подключений к рабочей области для создания конечной точки или развертывания. В этом случае удостоверение конечной точки не предоставляется автоматически разрешение на чтение секретов, но его можно предоставить вручную, назначив соответствующую роль.
Независимо от того, является ли назначение роли автоматическим или вручную, извлечение секрета и внедрение активируется при сопоставлении переменных среды со ссылками на секреты в определении конечной точки или развертывания. Функция внедрения секретов использует удостоверение конечной точки для извлечения секрета и внедрения. Дополнительные сведения о внедрении секретов см. в статье "Внедрение секретов" в сетевых конечных точках.
Операции плоскости данных
Операции плоскости данных не изменяют сетевые конечные точки, но используют данные, взаимодействующие с конечными точками. Примером операции плоскости данных является отправка запроса оценки в конечную точку в Сети и получение ответа от него. Для сетевых конечных точек и развертываний запросы на выполнение операций плоскости данных отправляются в URI оценки конечной точки.
Проверка подлинности для операций плоскости данных
Для операций плоскости данных можно выбрать один из следующих способов проверки подлинности клиента для отправки запросов в URI оценки конечной точки:
- Ключ
- Машинное обучение Azure
aml_token
- Microsoft Entra
aad_token
Дополнительные сведения о проверке подлинности клиентов для операций плоскости данных см. в статье "Проверка подлинности клиентов для сетевых конечных точек".
Авторизация для операций плоскости данных
Для операций плоскости данных удостоверение пользователя должно иметь соответствующие роли Azure RBAC, чтобы разрешить доступ к ресурсам только в том случае, если для конечной точки задано использование Microsoft Entra aad_token
. Для операций плоскости данных в сетевых конечных точках и развертываниях идентификатор пользователя должен иметь роль, назначенную следующими действиями:
Операция | Обязательная роль Azure RBAC | Область |
---|---|---|
Вызов сетевых конечных точек с key помощью или Машинное обучение Azureaml_token . |
Не требует роли. | Нет данных |
Вызов управляемых сетевых конечных точек с помощью Microsoft Entra aad_token . |
Владелец, участник или любая роль, разрешающая Microsoft.MachineLearningServices/workspaces/onlineEndpoints/score/action |
Конечная точка |
Вызов сетевых конечных точек Kubernetes с помощью Microsoft Entra aad_token . |
Конечная точка Kubernetes в Интернете не поддерживает токен Microsoft Entra для операций плоскости данных. | Нет данных |
Разрешения, необходимые для удостоверения конечной точки
Сетевое развертывание запускает контейнер пользователя с удостоверением конечной точки, то есть управляемым удостоверением, связанным с конечной точкой. Удостоверение конечной точки — это идентификатор Microsoft Entra, поддерживающий Azure RBAC. Таким образом, можно назначить роли Azure удостоверению конечной точки для управления разрешениями, необходимыми для выполнения операций. Это удостоверение конечной точки может быть либо SAI, либо UAI. Вы можете решить, следует ли использовать SAI или UAI при создании конечной точки.
- Для SAI удостоверение создается автоматически при создании конечной точки, а роли с основными разрешениями, такими как разрешение AcrPull реестра контейнеров и средство чтения данных BLOB-объектов хранилища, автоматически назначаются.
- Для UAI сначала необходимо создать удостоверение, а затем связать его с конечной точкой при создании конечной точки. Вы также несете ответственность за назначение соответствующих ролей UAI по мере необходимости.
Автоматическое назначение ролей для удостоверения конечной точки
Если удостоверение конечной точки является SAI, следующие роли назначаются удостоверению конечной точки для удобства.
Роль | Description | Условие автоматического назначения ролей |
---|---|---|
AcrPull | Позволяет удостоверению конечной точки извлекать образы из реестра контейнеров Azure, связанного с рабочей областью. | Удостоверение конечной точки — это SAI. |
читатель данных больших двоичных объектов хранилища. | Позволяет удостоверению конечной точки считывать большие двоичные объекты из хранилища данных по умолчанию рабочей области. | Удостоверение конечной точки — это SAI. |
Модуль записи метрик AzureML (предварительная версия) | Позволяет удостоверению конечной точки записывать метрики в рабочую область. | Удостоверение конечной точки — это SAI. |
средство чтения секретов подключения к рабочей области Машинное обучение Azure | Позволяет удостоверению конечной точки считывать секреты из подключений к рабочей области | Удостоверение конечной точки — это SAI, а создание конечной точки имеет флаг для принудительного доступа к хранилищам секретов по умолчанию. Удостоверение пользователя, создающее конечную точку, также имеет разрешение на чтение секретов из подключений к рабочей области. |
- Если удостоверение конечной точки является SAI, и флаг принудительного применения не задан или удостоверение пользователя не имеет разрешения на чтение секретов, для роли чтения секретов подключения к рабочей области нет автоматического назначения ролей для роли Машинное обучение Azure читателя секретов подключения к рабочей области. Дополнительные сведения см. в статье "Развертывание онлайн-конечной точки с помощью внедрения секретов".
- Если удостоверение конечной точки является UAI, автоматическое назначение ролей для роли чтения секретов подключения к рабочей области Машинное обучение Azure отсутствует. В этом случае необходимо вручную назначить роли удостоверению конечной точки по мере необходимости.
Дополнительные сведения о роли чтения секретов подключения к рабочей области Машинное обучение Azure см. в разделе "Назначение разрешений для удостоверения".