Поделиться через


Управление доступом на основе ролей на портале Azure AI Foundry

В этой статье вы узнаете, как управлять доступом (авторизацией) к ресурсам Azure AI Foundry . Управление доступом на основе ролей Azure (Azure RBAC) используется для управления доступом к ресурсам Azure, например управления возможностью создавать новые ресурсы или использовать существующие. Пользователям в идентификаторе Microsoft Entra назначены определенные роли, которые предоставляют доступ к ресурсам. Azure предоставляет как встроенные роли, так и возможность создания настраиваемых ролей.

Azure AI Foundry поддерживает два типа проектов: проект Foundry и центральный проект. Дополнительные сведения о различиях между этими двумя типами проектов см. в разделе "Типы проектов". Используйте селектор в верхней части этой статьи, чтобы переключаться между двумя типами проектов.

Предупреждение

Применение некоторых ролей может ограничить функциональные возможности пользовательского интерфейса на портале Azure AI Foundry для других пользователей. Например, если роль пользователя не имеет возможности создавать вычислительный экземпляр, параметр создания вычислительного экземпляра недоступен в студии. Это ожидаемое поведение, которое не дает пользователю инициировать операции, приводящие к ошибке "отказано в доступе".

Роли проекта Azure AI Foundry

На портале Azure AI Foundry есть два уровня доступа:

  • Учетная запись: Учетная запись служит основой для инфраструктуры (включая настройку виртуальной сети, ключи, управляемые клиентом, управляемые удостоверения и политики) для настройки ресурса Azure AI Foundry.
  • Проект. Проекты — это подмножество учетной записи, и позволяет создавать и развертывать агенты. Доступ к проекту позволяет разрабатывать комплексный ИИ, используя преимущества настройки инфраструктуры в учетной записи.

Ресурс Azure AI Foundry имеет встроенные роли, доступные по умолчанию для учетной записи и проекта. Ниже приведена таблица встроенных ролей и их разрешений.

Должность Описание
Пользователь Azure AI Эта роль предоставляет читателю доступ к проектам ИИ, доступу читателя к учетным записям ИИ и действиям с данными для проекта ИИ. Эта роль автоматически назначается пользователю, если они могут назначать роли. В противном случае эта роль должна быть предоставлена владельцем подписки или пользователем с привилегиями назначения ролей.
Диспетчер проектов Azure AI Эта роль позволяет управлять проектами Azure AI Foundry, обеспечивать разработку и создание проектов, а также предоставлять условное назначение роли пользователя ИИ Azure другим пользовательским объектам.
Владелец учетной записи ИИ Azure Эта роль предоставляет полный доступ для управления проектами и учетными записями AI, а также условное назначение роли Пользователя AI Azure другим пользовательским принципалам.

Ключевым различием между Azure AI Project Manager и владельцем учетной записи ИИ Azure является возможность:

  • Создайте новые ресурсы учетной записи Foundry, которые могут выполнять только владелец учетной записи ИИ Azure .
  • Начинайте создавать и развивать проекты AI Foundry.

Второе различие наблюдается в определении роли, включающей действие данных Microsoft.CognitiveServices/*. Это действие данных позволяет пользователю выполнять любые операции чтения, записи или удаления в рамках проекта. Диспетчер проектов ИИ Azure может выполнить это действие, но не владелец учетной записи ИИ Azure. Только пользователи Azure AI и менеджеры проекта Azure AI получают действия с данными для проекта ИИ. Вы можете рассматривать Azure AI Project Manager как пользователя СИ Azure с повышенными привилегиями.

Помимо этих встроенных назначений ролей, существуют привилегированные роли администратора Azure, такие как Владелец, Участник и Читатель. Эти роли не относятся к разрешениям ресурсов Azure AI Foundry, поэтому рекомендуется использовать указанные выше встроенные роли для минимального доступа.

Используйте следующую таблицу, чтобы узнать, какие привилегии предоставляются каждой новой встроенной роли, включая роли привилегированного администратора Azure:

Встроенная роль Создание проектов Foundry Создание учетных записей Foundry Создание и разработка в проекте (действия с данными) Завершить назначение ролей Доступ читателя к проектам и учетным записям
Пользователь Azure AI
Диспетчер проектов Azure AI ✔ (только назначьте роль пользователя ИИ Azure)
Владелец учетной записи ИИ Azure ✔ (только назначьте роль пользователя ИИ Azure)
владелец ✔ (назначение любой роли любому пользователю)
Сотрудник
Читалка

Роли по умолчанию для проекта

Пользователь Azure AI

Полный набор разрешений для новой роли пользователя ИИ Azure выглядит следующим образом:

{
    "id": "/providers/Microsoft.Authorization/roleDefinitions/53ca6127-db72-4b80-b1b0-d745d6d5456d",
    "properties": {
        "roleName": "Azure AI User",
        "description": "Grants reader access to AI projects, reader access to AI accounts, and data actions for an AI project.",
        "assignableScopes": [
            "/"
        ],
        "permissions": [
            {
                "actions": [
                    "Microsoft.CognitiveServices/*/read",
                    "Microsoft.CognitiveServices/accounts/listkeys/action",
                    "Microsoft.Insights/alertRules/read",
                    "Microsoft.Insights/diagnosticSettings/read",
                    "Microsoft.Insights/logDefinitions/read",
                    "Microsoft.Insights/metricdefinitions/read",
                    "Microsoft.Insights/metrics/read",
                    "Microsoft.ResourceHealth/availabilityStatuses/read",
                    "Microsoft.Resources/deployments/*",
                    "Microsoft.Resources/subscriptions/operationresults/read",
                    "Microsoft.Resources/subscriptions/read",
                    "Microsoft.Resources/subscriptions/resourceGroups/read",
                    "Microsoft.Support/*"
                ],
                "notActions": [],
                "dataActions": [
                    "Microsoft.CognitiveServices/*"
                ],
                "notDataActions": []
            }
        ]
    }
}

Диспетчер проектов Azure AI

Роль Azure AI Project Manager использует делегированное управление назначением ролей Azure другим пользователям с условиями. Из-за условного делегирования роль Azure AI Project Manager может назначать только роль пользователя ИИ Azure другим субъектам пользователей в группе ресурсов. Условное делегирование позволяет администратору вашего предприятия делегировать задачи по назначению ролей, чтобы начать создание и разработку проектов с использованием AI Foundry. Дополнительные сведения о назначениях ролей с условиями см. в статье "Делегирование управления назначениями ролей Azure" другим пользователям с условиями.

Полный набор разрешений для новой роли Azure AI Project Manager выглядит следующим образом:

{
    "id": "/providers/Microsoft.Authorization/roleDefinitions/eadc314b-1a2d-4efa-be10-5d325db5065e",
    "properties": {
        "roleName": "Azure AI Project Manager",
        "description": "Lets you perform developer actions and management actions on Azure AI Foundry Projects. Allows for making role assignments, but limited to Cognitive Service User role.",
        "assignableScopes": [
            "/"
        ],
        "permissions": [
            {
                "actions": [
                    "Microsoft.Authorization/roleAssignments/write",
                    "Microsoft.Authorization/roleAssignments/delete",
                    "Microsoft.CognitiveServices/accounts/*/read",
                    "Microsoft.CognitiveServices/accounts/projects/*",
                    "Microsoft.CognitiveServices/locations/*/read",
                    "Microsoft.Authorization/*/read",
                    "Microsoft.Insights/alertRules/*",
                    "Microsoft.Resources/deployments/*",
                    "Microsoft.Resources/subscriptions/resourceGroups/read"
                ],
                "notActions": [],
                "dataActions": [
                    "Microsoft.CognitiveServices/*"
                ],
                "notDataActions": [],
                "conditionVersion": "2.0",
                "condition": "((!(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})) OR (@Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals{53ca6127-db72-4b80-b1b0-d745d6d5456d})) AND ((!(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})) OR (@Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals{53ca6127-db72-4b80-b1b0-d745d6d5456d}))"
            }
        ]
    }
}

Владелец учетной записи ИИ Azure

Роль владельца учетной записи искусственного интеллекта Azure использует делегированное управление назначением ролей Azure другим пользователям с условиями. Из-за условного делегирования роль владельца учетной записи ИИ Azure может назначать только роль пользователя ИИ Azure другим субъектам в группе ресурсов. Условное делегирование позволяет администратору вашего предприятия делегировать задачи по назначению ролей, чтобы начать создание и разработку проектов с использованием AI Foundry. Дополнительные сведения о назначениях ролей с условиями см. в статье "Делегирование управления назначениями ролей Azure" другим пользователям с условиями.

Полный набор разрешений для новой роли "Владелец учетной записи ИИ Azure" выглядит следующим образом:

{
    "id": "/providers/Microsoft.Authorization/roleDefinitions/e47c6f54-e4a2-4754-9501-8e0985b135e1",
    "properties": {
        "roleName": "Azure AI Account Owner",
        "description": "Grants full access to manage AI projects and accounts. Grants conditional assignment of the Azure AI User role to other user principles.",
        "assignableScopes": [
            "/"
        ],
        "permissions": [
            {
                "actions": [
                    "Microsoft.Authorization/*/read",
                    "Microsoft.Authorization/roleAssignments/write",
                    "Microsoft.Authorization/roleAssignments/delete",
                    "Microsoft.CognitiveServices/*",
                    "Microsoft.Features/features/read",
                    "Microsoft.Features/providers/features/read",
                    "Microsoft.Features/providers/features/register/action",
                    "Microsoft.Insights/alertRules/*",
                    "Microsoft.Insights/diagnosticSettings/*",
                    "Microsoft.Insights/logDefinitions/read",
                    "Microsoft.Insights/metricdefinitions/read",
                    "Microsoft.Insights/metrics/read",
                    "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.Support/*"
                ],
                "notActions": [],
                "dataActions": [],
                "notDataActions": [],
                "conditionVersion": "2.0",
                "condition": "((!(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})) OR (@Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals{53ca6127-db72-4b80-b1b0-d745d6d5456d})) AND ((!(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})) OR (@Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals{53ca6127-db72-4b80-b1b0-d745d6d5456d}))"
            }
        ]
    }
}

Пример настройки корпоративного RBAC

В следующей таблице приведен пример настройки управления доступом на основе ролей для ресурса Azure AI Foundry для предприятия.

Персона Должность Цель
Администрирование ИТ-инфраструктуры Владелец подписки ИТ-администратор может убедиться, что центр настроен в соответствии со своими корпоративными стандартами. Они могут назначать менеджерам роль владельца учетной записи ИИ Azure в ресурсе, если они хотят, чтобы руководители могли создавать новые учетные записи Foundry. Они могут назначать менеджерам роль Руководителя проекта Azure AI для ресурса, чтобы разрешить создание проекта в учетной записи.
Менеджеры Владелец учетной записи Искусственного интеллекта Azure в ресурсе Foundry Руководители могут управлять концентратором, выполнять аудит вычислительных ресурсов, выполнять аудит подключений и создавать общие подключения. Они не могут начать строительство в рамках проектов, но могут назначить себе и другим роль пользователя ИИ Azure, чтобы начать строительство.
Руководитель группы и разработчик потенциальных разработчиков Azure AI Project Manager в ресурсе Foundry Ведущие разработчики могут создавать проекты для своей команды и начинать работать над проектами. После создания проекта владельцы проектов могут пригласить других участников и назначить роль пользователя ИИ Azure.
Участники группы и разработчики Пользователь Azure AI в ресурсе Foundry Разработчики могут создавать и развертывать модели ИИ в рамках проекта и создавать агенты.

Доступ к ресурсам, созданным вне AI Foundry

При создании ресурса Foundry встроенные разрешения управления доступом на основе ролей предоставляют доступ к ресурсу. Однако если вы хотите использовать ресурсы вне того, что было создано от вашего имени, необходимо убедиться, что оба:

  • Ресурс, который вы пытаетесь использовать, имеет разрешения, настроенные для предоставления доступа к нему.
  • Доступ к ресурсу вашей учетной записи Foundry разрешен.

Например, если вы хотите использовать новое хранилище Blob, необходимо убедиться, что управляемое удостоверение учётной записи Foundry назначено на роль читателя хранилища для Blob. Если вы пытаетесь использовать новый источник поиска ИИ Azure, возможно, потребуется добавить концентратор в назначения ролей поиска ИИ Azure.

Управление доступом с помощью ролей

Если вы являетесь владельцем ресурса учетной записи Foundry, вы можете добавить и удалить роли для Azure AI Foundry. На домашней странице в Azure AI Foundry выберите ресурс Foundry. Затем выберите "Пользователи", чтобы добавить и удалить пользователей для концентратора. Вы также можете управлять разрешениями на портале Azure в разделе управления доступом (IAM) или с помощью Azure CLI.

Например, следующая команда назначает роль [email protected] пользователя ИИ Azure для группы this-rg ресурсов в подписке с идентификатором 00000000-0000-0000-0000-000000000000:

az role assignment create --role "Azure AI User" --assignee "[email protected]" --scope /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/this-rg 

Создание настраиваемых ролей

Если встроенных ролей недостаточно, можно создать пользовательские роли. Пользовательские роли могут иметь разрешения на чтение, запись, удаление и вычислительный ресурс в azure AI Foundry. Вы можете сделать роль доступной на определенном уровне проекта, определенном уровне группы ресурсов или определенном уровне подписки.

Замечание

Чтобы создавать настраиваемые роли в ресурсе, вы должны быть владельцем ресурса на соответствующем уровне.

Чтобы выполнить действия по созданию пользовательской роли, используйте одну из следующих статей:

Дополнительные сведения о создании пользовательских ролей в целом см. в статье о пользовательских ролях Azure.

Дальнейшие шаги

Azure AI Foundry Hub и проект

На портале Azure AI Foundry есть два уровня доступа: концентратор и проект. Центр является домом для инфраструктуры (включая настройку виртуальной сети, ключи, управляемые клиентом, управляемые удостоверения и политики) и где вы настраиваете службы ИИ Azure. Доступ к концентратору позволяет изменять инфраструктуру, создавать центры и создавать проекты. Проекты — это подмножество концентратора, которое выступает в качестве рабочих областей, позволяющих создавать и развертывать системы искусственного интеллекта. В проекте можно разрабатывать потоки, развертывать модели и управлять ресурсами проекта. Доступ к проекту позволяет разрабатывать комплексный ИИ, используя преимущества настройки инфраструктуры в центре.

Схема связи между ресурсами Azure AI Foundry.

Одним из ключевых преимуществ связи концентратора и проекта является то, что разработчики могут создавать собственные проекты, наследующие параметры безопасности концентратора. У вас также могут быть разработчики, которые являются участниками проекта и не могут создавать новые проекты.

Роли по умолчанию для концентратора

Центр Azure AI Foundry имеет встроенные роли, доступные по умолчанию.

Ниже приведена таблица встроенных ролей и их разрешений для концентратора:

Должность Описание
Владелец Полный доступ к концентратору, включая возможность управления и создания новых центров и назначения разрешений. Эта роль автоматически назначается создателю центра.
Вкладчик Пользователь имеет полный доступ к концентратору, включая возможность создания новых центров, но не может управлять разрешениями концентратора на существующем ресурсе.
Администратор ИИ Azure (предварительная версия) Эта роль автоматически назначается управляемому удостоверению, назначенному системой для концентратора. Роль администратора искусственного интеллекта Azure имеет минимальные разрешения, необходимые для выполнения задач управляемого удостоверения. Дополнительные сведения см. в статье о роли администратора ИИ Azure (предварительная версия).
Разработчик ИИ Azure Выполните все действия, кроме создания новых центров и управления разрешениями концентратора. Например, пользователи могут создавать проекты, вычисления и подключения. Пользователи могут назначать разрешения в своем проекте. Пользователи могут взаимодействовать с существующими ресурсами ИИ Azure, такими как Azure OpenAI, поиск ИИ Azure и службы ИИ Azure.
Оператор развертывания вывода искусственного интеллекта Azure Выполните все действия, необходимые для создания развертывания ресурсов в группе ресурсов.
Читатель Доступ только для чтения к концентратору. Эта роль автоматически назначается всем членам проекта в центре.

Ключевым различием между участником и разработчиком ИИ Azure является возможность создания новых центров. Если вы не хотите, чтобы пользователи создали новые центры (из-за квоты, стоимости или простого управления количеством центров, которые у вас есть), назначьте роль разработчика ИИ Azure.

Только роли владельца и участника позволяют создавать концентратор. В настоящее время пользовательские роли не могут предоставить вам разрешение на создание центров.

Роль администратора ИИ Azure (предварительная версия)

До 19.11.2024 управляемое удостоверение, назначаемое системой и созданное для концентратора, автоматически получало роль Соавтор для группы ресурсов, включающей концентратор и проекты. Центры, созданные после этой даты, назначены управляемому удостоверению, назначенному системой роли администратора ИИ Azure. Эта роль более узко ограничена минимальными разрешениями, необходимыми для выполнения задач управляемого удостоверения.

Роль администратора ИИ Azure в настоящее время находится в общедоступной предварительной версии.

Это важно

Элементы, обозначенные в этой статье как (предварительная версия), сейчас предлагаются в общедоступной предварительной версии. Эта предварительная версия предоставляется без соглашения об уровне обслуживания, и мы не рекомендуем ее для рабочих нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Для получения дополнительной информации см. Дополнительные условия использования для предварительных версий Microsoft 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.DataFactory/factories/*"
            ],
            "notActions": [],
            "dataActions": [],
            "notDataActions": []
        }
    ]
}

Подсказка

Рекомендуется преобразовать центры, созданные до 11.19.2024, для использования роли администратора ИИ Azure. Роль администратора ИИ Azure более узко ограничена, чем ранее используемая роль участника и следует субъекту наименьших привилегий.

Вы можете преобразовать центры, созданные до 11.19.2024, чтобы использовать новую роль администратора ИИ Azure с помощью одного из следующих методов:

  • REST API Azure: используйте PATCH запрос к REST API Azure для рабочей области. Текст запроса должен быть задан {"properties":{"allowRoleAssignmeentOnRG":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-04-01-preview -H "Authorization:Bearer <YOUR-ACCESS-TOKEN>"
    
  • 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 можно вернуться к роли участника в качестве шага устранения неполадок. Дополнительные сведения см. в разделе "Вернуться к роли участника".

Роль разработчика ИИ Azure

Полный набор разрешений для новой роли разработчика ИИ Azure выглядит следующим образом:

{
    "Permissions": [ 
        { 
        "Actions": [
            "Microsoft.MachineLearningServices/workspaces/*/read",
            "Microsoft.MachineLearningServices/workspaces/*/action",
            "Microsoft.MachineLearningServices/workspaces/*/delete",
            "Microsoft.MachineLearningServices/workspaces/*/write",
            "Microsoft.MachineLearningServices/locations/*/read",
            "Microsoft.Authorization/*/read",
            "Microsoft.Resources/deployments/*"
        ],

        "NotActions": [
            "Microsoft.MachineLearningServices/workspaces/delete",
            "Microsoft.MachineLearningServices/workspaces/write",
            "Microsoft.MachineLearningServices/workspaces/listKeys/action",
            "Microsoft.MachineLearningServices/workspaces/hubs/write",
            "Microsoft.MachineLearningServices/workspaces/hubs/delete",
            "Microsoft.MachineLearningServices/workspaces/featurestores/write",
            "Microsoft.MachineLearningServices/workspaces/featurestores/delete"
        ], 
        "DataActions": [ 
            "Microsoft.CognitiveServices/accounts/OpenAI/*", 
            "Microsoft.CognitiveServices/accounts/SpeechServices/*", 
            "Microsoft.CognitiveServices/accounts/ContentSafety/*" 
        ], 
        "NotDataActions": [], 
        "Condition": null, 
        "ConditionVersion": null 
        } 
    ] 
}

Если встроенная роль разработчика ИИ Azure не соответствует вашим потребностям, можно создать пользовательскую роль.

Роли по умолчанию для проектов

Проекты на портале Azure AI Foundry имеют встроенные роли, доступные по умолчанию.

Ниже приведена таблица встроенных ролей и их разрешений для проекта:

Должность Описание
Владелец Полный доступ к проекту, включая возможность назначать разрешения пользователям проекта.
Вкладчик Пользователь имеет полный доступ к проекту, но не может назначать разрешения пользователям проекта.
Администратор ИИ Azure (предварительная версия) Эта роль автоматически назначается управляемому удостоверению, назначенному системой для концентратора. Роль администратора искусственного интеллекта Azure имеет минимальные разрешения, необходимые для выполнения задач управляемого удостоверения. Дополнительные сведения см. в статье о роли администратора ИИ Azure (предварительная версия).
Разработчик ИИ Azure Пользователь может выполнять большинство действий, включая создание развертываний, но не может назначать разрешения пользователям проекта.
Оператор развертывания вывода искусственного интеллекта Azure Выполните все действия, необходимые для создания развертывания ресурсов в группе ресурсов.
Читатель Доступ только для чтения к проекту.

Когда пользователю предоставлен доступ к проекту (например, через управление разрешениями портала Azure AI Foundry), две другие роли автоматически назначаются пользователю. Первая роль — читатель в центре. Вторая роль — роль оператора развертывания вывода, которая позволяет пользователю создавать развертывания в группе ресурсов, в которой находится проект. Эта роль состоит из этих двух разрешений: "Microsoft.Authorization/*/read" и "Microsoft.Resources/deployments/*".

Чтобы завершить сквозную разработку и развертывание искусственного интеллекта, пользователям требуются только эти две автоматически указанные роли, а также роль участника или разработчика ИИ Azure в проекте.

Минимальные разрешения, необходимые для создания проекта, — это роль, которая имеет допустимое действие Microsoft.MachineLearningServices/workspaces/hubs/join на концентраторе. Встроенная роль разработчика ИИ Azure имеет это разрешение.

Разрешения службы зависимостей Azure RBAC

Центр имеет зависимости от других служб Azure. В следующей таблице перечислены разрешения, необходимые для этих служб при создании концентратора. Пользователь, создающий концентратор, нуждается в этих разрешениях. Человек, создающий проект из центра, не нуждается в них.

Разрешение Цель
Microsoft.Storage/storageAccounts/write Создайте учетную запись хранения с указанными параметрами или обновите свойства или теги или добавляет личный домен для указанной учетной записи хранения.
Microsoft.KeyVault/vaults/write Создайте новое хранилище ключей или обновите свойства существующего хранилища ключей. Для некоторых свойств может потребоваться больше разрешений.
Microsoft.CognitiveServices/accounts/write Запись учетных записей API.
Microsoft.MachineLearningServices/workspaces/write Создайте новую рабочую область или обновите свойства существующей рабочей области.

Пример настройки корпоративного RBAC

В следующей таблице приведен пример настройки управления доступом на основе ролей для Azure AI Foundry для предприятия.

Персона Должность Цель
Администрирование ИТ-инфраструктуры Владелец концентратора ИТ-администратор может убедиться, что центр настроен в соответствии со своими корпоративными стандартами. Они могут назначать менеджерам роль участника в ресурсе, если они хотят, чтобы руководители могли создавать новые центры. Или они могут назначить менеджерам роль разработчика ИИ Azure в ресурсе, чтобы не разрешать создание нового концентратора.
Менеджеры Участник или разработчик ИИ Azure в центре Руководители могут управлять концентратором, выполнять аудит вычислительных ресурсов, выполнять аудит подключений и создавать общие подключения.
Руководитель группы и разработчик потенциальных разработчиков Разработчик ИИ Azure в центре Ведущие разработчики могут создавать проекты для своей команды и создавать общие ресурсы (например, вычисления и подключения) на уровне концентратора. После создания проекта владельцы проектов могут приглашать других участников.
Участники группы и разработчики Участник или разработчик ИИ Azure в проекте Разработчики могут создавать и развертывать модели ИИ в проекте и создавать ресурсы, которые позволяют разрабатывать такие ресурсы, как вычисления и подключения.

Доступ к ресурсам, созданным за пределами концентратора

При создании концентратора встроенные разрешения управления доступом на основе ролей предоставляют доступ к ресурсу. Однако если вы хотите использовать ресурсы вне того, что было создано от вашего имени, необходимо убедиться, что оба:

  • Ресурс, который вы пытаетесь использовать, имеет разрешения, настроенные для предоставления доступа к нему.
  • Доступ к центру разрешен.

Например, если вы пытаетесь использовать новое хранилище BLOB-объектов, необходимо убедиться, что управляемое удостоверение концентратора добавляется в роль читателя хранилища BLOB-объектов для большого двоичного объекта. Если вы пытаетесь использовать новый источник поиска ИИ Azure, возможно, потребуется добавить концентратор в назначения ролей поиска ИИ Azure.

Управление доступом с помощью ролей

Если вы являетесь владельцем центра, вы можете добавить и удалить роли для Azure AI Foundry. Перейдите на домашнюю страницу в Azure AI Foundry и выберите центр. Затем выберите "Пользователи", чтобы добавить и удалить пользователей для концентратора. Вы также можете управлять разрешениями из портал Azure в контроль доступа (IAM) или с помощью Azure CLI. Например, чтобы назначить роль [email protected] разработчика Azure AI для группы ресурсов this-rg в подписке с идентификатором 00000000-0000-0000-0000-000000000000, используйте следующую команду Azure CLI.

az role assignment create --role "Azure AI Developer" --assignee "[email protected]" --scope /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/this-rg 

Создание настраиваемых ролей

Если встроенных ролей недостаточно, можно создать пользовательские роли. Пользовательские роли могут иметь разрешения на чтение, запись, удаление и вычислительный ресурс в azure AI Foundry. Вы можете сделать роль доступной на определенном уровне проекта, определенном уровне группы ресурсов или определенном уровне подписки.

Замечание

Чтобы создавать настраиваемые роли в ресурсе, вы должны быть владельцем ресурса на соответствующем уровне.

В следующем примере JSON определяется настраиваемая роль разработчика Azure AI Foundry на уровне подписки:

{
    "properties": {
        "roleName": "Azure AI Foundry Developer",
        "description": "Custom role for Azure AI Foundry. At subscription level",
        "assignableScopes": [
            "/subscriptions/<your-subscription-id>"
        ],
        "permissions": [
            {
                "actions": [
                    "Microsoft.MachineLearningServices/workspaces/write",
                    "Microsoft.MachineLearningServices/workspaces/endpoints/write",
                    "Microsoft.Storage/storageAccounts/write",
                    "Microsoft.Resources/deployments/validate/action",
                    "Microsoft.KeyVault/vaults/write",
                    "Microsoft.Authorization/roleAssignments/read",
                    "Microsoft.Authorization/roleDefinitions/read",
                    "Microsoft.CognitiveServices/*/read"
                ],
                "notActions": [
                    "Microsoft.MachineLearningServices/workspaces/delete",
                    "Microsoft.MachineLearningServices/workspaces/write",
                    "Microsoft.MachineLearningServices/workspaces/listKeys/action",
                    "Microsoft.MachineLearningServices/workspaces/hubs/write",
                    "Microsoft.MachineLearningServices/workspaces/hubs/delete",
                    "Microsoft.MachineLearningServices/workspaces/featurestores/write",
                    "Microsoft.MachineLearningServices/workspaces/featurestores/delete"
                ],
                "dataActions": [
                    "Microsoft.CognitiveServices/accounts/OpenAI/*/read",
                    "Microsoft.CognitiveServices/accounts/OpenAI/engines/completions/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/engines/search/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/engines/generate/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/search/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/completions/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/chat/completions/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/extensions/chat/completions/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/embeddings/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/images/generations/action"
                ],
                "notDataActions": []
            }
        ]
    }
}

Чтобы выполнить действия по созданию пользовательской роли, используйте одну из следующих статей:

Дополнительные сведения о создании пользовательских ролей в целом см. в статье о пользовательских ролях Azure.

Назначение ролей на портале Azure AI Foundry

Вы можете добавлять пользователей и назначать роли непосредственно из Azure AI Foundry на уровне концентратора или проекта. В центре управления выберите "Пользователи" в разделе концентратора или проекта, а затем выберите "Новый пользователь", чтобы добавить пользователя.

Замечание

Вы ограничены выбором встроенных ролей. Если необходимо назначить пользовательские роли, необходимо использовать портал Azure, Azure CLI или Azure PowerShell.

Снимок экрана: обзор Центра Azure AI Foundry с выделенной кнопкой нового пользователя.

Затем вам будет предложено ввести сведения о пользователе и выбрать встроенную роль.

Снимок экрана: запрос на добавление пользователей с ролью, установленной для разработчика ИИ Azure.

Сценарий. Использование управляемого клиентом ключа

При настройке концентратора для использования ключа, управляемого клиентом (CMK), azure Key Vault используется для хранения ключа. Пользователь или субъект-служба, используемые для создания рабочей области, должны иметь доступ владельца или участника к хранилищу ключей.

Если центр Azure AI Foundry настроен с помощью управляемого удостоверения, назначаемого пользователем, удостоверение должно быть предоставлено следующим ролям. Эти роли позволяют управляемому удостоверению создавать служба хранилища Azure, Azure Cosmos DB и ресурсы поиска Azure, используемые при использовании управляемого клиентом ключа:

  • Microsoft.Storage/storageAccounts/write
  • Microsoft.Search/searchServices/write
  • Microsoft.DocumentDB/databaseAccounts/write

В хранилище ключей пользователю или субъекту-службе необходимо создать, получить, удалить и очистить доступ к ключу с помощью политики доступа к хранилищу ключей. Дополнительные сведения см. в статье Безопасность Azure Key Vault.

Сценарий. Подключения с помощью проверки подлинности идентификатора Microsoft Entra

При создании подключения, использующего проверку подлинности идентификатора Microsoft Entra, необходимо назначить роли разработчикам, чтобы они могли получить доступ к ресурсу.

Подключение к ресурсу Должность Описание
Поиск с использованием ИИ Azure Вкладчик Список API-Ключей для перечисления индексов из Azure AI Foundry.
Поиск с использованием ИИ Azure Участник данных поискового индекса Требуется для сценариев индексирования
Службы ИИ Azure / Azure OpenAI Вкладчик Cognitive Services OpenAI Вызов общедоступного API приема из Azure AI Foundry.
Службы ИИ Azure / Azure OpenAI Пользователь Служб Когнитивных Услуг Вывод списка API-ключей из Azure AI Foundry.
Службы ИИ Azure / Azure OpenAI Участник служб когнитивных сервисов Позволяет вызывать плоскость управления.
Azure Blob-хранилище Вкладчик данных хранилища BLOB Требуется для чтения и записи данных в хранилище BLOB-объектов.
Azure Data Lake Storage 2-го поколения Вкладчик данных хранилища BLOB Требуется для чтения и записи данных в озеро данных.
Microsoft OneLake Вкладчик Чтобы предоставить кому-то доступ к Microsoft OneLake, необходимо предоставить им доступ к рабочей области Microsoft Fabric.

Это важно

Если вы используете Promptflow с Azure Storage (включая Azure Data Lake Storage 2-го поколения), необходимо также назначить роль Storage File Data Privileged Contributor.

При использовании идентификатора Microsoft Entra ID, прошедших проверку подлинности подключений на игровой площадке чата, службы должны авторизовать друг друга для доступа к необходимым ресурсам. Администратор, выполняющий настройку, должен иметь роль владельца для этих ресурсов, чтобы добавить назначения ролей. В следующей таблице перечислены необходимые назначения ролей для каждого ресурса. Столбец Assignee ссылается на управляемое удостоверение, назначаемое системой указанного ресурса. Столбец ресурсов ссылается на ресурс, к которому должен получить доступ получатель. Например, Azure OpenAI имеет управляемое удостоверение, назначаемое системой, которое необходимо назначить роль средства чтения индексов поиска для ресурса поиска ИИ Azure.

Должность Назначенное лицо Ресурс Описание
Средство чтения данных индекса поиска Службы ИИ Azure / Azure OpenAI Поиск с использованием ИИ Azure Служба вывода запрашивает данные из индекса. Используется только для сценариев вывода.
Участник данных поискового индекса Службы ИИ Azure / Azure OpenAI Поиск с использованием ИИ Azure Доступ на чтение и запись к содержимому в индексах. Импорт, обновление или запрос коллекции документов индекса. Используется только для приема и вывода сценариев.
Участник службы поиска Службы ИИ Azure / Azure OpenAI Поиск с использованием ИИ Azure Доступ на чтение и запись к определениям объектов (индексы, псевдонимы, карты синонимов, индексаторы, источники данных и наборы навыков). Служба вывода запрашивает схему индекса для автоматического сопоставления полей. Служба приема данных создает индекс, источники данных, набор навыков, индексатор и запрашивает состояние индексатора.
Вкладчик Cognitive Services OpenAI Поиск с использованием ИИ Azure Службы ИИ Azure / Azure OpenAI Пользовательский навык
Пользователь когнитивных сервисов OpenAI Модель ресурсов Azure OpenAI для чата Ресурс Azure OpenAI для внедрения модели Требуется только при использовании двух ресурсов Azure OpenAI для обмена данными.
Вкладчик данных хранилища BLOB Поиск с использованием ИИ Azure Учетная запись хранения Azure Считывает большой двоичный объект и записывает хранилище знаний.
Вкладчик данных хранилища BLOB Службы ИИ Azure / Azure OpenAI Учетная запись хранения Azure Считывает из входного контейнера и записывает результаты предварительной обработки в выходной контейнер.

Замечание

Роль пользователя OpenAI в Cognitive Services требуется только в том случае, если вы используете два ресурса Azure OpenAI: один для модели чата и один для модели внедрения. Если это применимо, включите доверенные службы и убедитесь, что подключение к ресурсу Azure OpenAI для внедрения модели Azure OpenAI включен идентификатор Microsoft Entra.

Сценарий. Использование существующего ресурса Azure OpenAI

При создании подключения к существующему ресурсу Azure OpenAI необходимо также назначить роли пользователям, чтобы они могли получить доступ к ресурсу. Необходимо назначить роль участника OpenAI в Cognitive Services или Cognitive Services OpenAI в зависимости от задач, которые они должны выполнять. Сведения об этих ролях и задачах, которые они позволяют, см. в статье "Роли Azure OpenAI".

Сценарий: использование Реестр контейнеров Azure

Экземпляр Реестр контейнеров Azure является необязательной зависимостью для Центра Azure AI Foundry. В следующей таблице перечислены матрицы поддержки при проверке подлинности концентратора в Реестр контейнеров Azure в зависимости от метода проверки подлинности и конфигурации доступа к общедоступной сети Реестр контейнеров Azure.

Метод аутентификации Доступ к
общедоступной сети отключен

включен сетевой доступ Реестр контейнеров Azure Public
Администратор
Управляемое удостоверение, назначаемое системой, назначаемое системой azure AI Foundry
Управляемое удостоверение
, назначаемое пользователем в Центре ИИ Azure, с ролью ACRPull , назначенной удостоверению

Управляемое удостоверение, назначаемое системой, автоматически назначается правильным ролям при создании концентратора. Если вы используете управляемое удостоверение, назначаемое пользователем, необходимо назначить роль ACRPull удостоверению.

Сценарий. Использование аналитики приложение Azure для ведения журнала

приложение Azure Insights — это необязательная зависимость для Центра Azure AI Foundry. В следующей таблице перечислены необходимые разрешения, если вы хотите использовать Application Insights при создании концентратора. Пользователь, создающий концентратор, нуждается в этих разрешениях. Пользователь, создающий проект из центра, не нуждается в этих разрешениях.

Разрешение Цель
Microsoft.Insights/Components/Write Запись в конфигурацию компонента Application Insights.
Microsoft.OperationalInsights/workspaces/write Создайте новую рабочую область или ссылки на существующую рабочую область, предоставив идентификатор клиента из существующей рабочей области.

Сценарий: подготовленная единица закупки единиц пропускной способности

В следующем примере определяется пользовательская роль, которая может приобретать подготовленные единицы пропускной способности (PTU).

{
    "properties": {
        "roleName": "PTU procurer",
        "description": "Custom role to purchase PTU",
        "assignableScopes": [
            "/subscriptions/<your-subscription-id>"
        ],
        "permissions": [
            {
                "actions": [
                    "Microsoft.CognitiveServices/accounts/commitmentplans/read",
                    "Microsoft.CognitiveServices/accounts/commitmentplans/write",
                    "Microsoft.CognitiveServices/accounts/commitmentplans/delete",
                    "Microsoft.CognitiveServices/locations/commitmentTiers/read",
                    "Microsoft.CognitiveServices/accounts/commitmentplans/read",
                    "Microsoft.CognitiveServices/accounts/commitmentplans/write",
                    "Microsoft.CognitiveServices/accounts/commitmentplans/delete",
                    "Microsoft.Features/features/read",
                    "Microsoft.Features/providers/features/read",
                    "Microsoft.Features/providers/features/register/action",
                    "Microsoft.Insights/logDefinitions/read",
                    "Microsoft.Insights/metricdefinitions/read",
                    "Microsoft.Insights/metrics/read",
                    "Microsoft.ResourceHealth/availabilityStatuses/read",
                    "Microsoft.Resources/deployments/operations/read",
                    "Microsoft.Resources/subscriptions/operationresults/read",
                    "Microsoft.Resources/subscriptions/read",
                    "Microsoft.Resources/subscriptions/resourcegroups/deployments/*",
                    "Microsoft.Resources/subscriptions/resourceGroups/read"
                ],
                "notActions": [],
                "dataActions": [],
                "notDataActions": []
            }
        ]
    }
}

Сценарий: API Помощников По Azure OpenAI

В следующем примере определяется роль разработчика с помощью Помощников Azure OpenAI.

{
    "id": "",
    "properties": {
        "roleName": "Azure OpenAI Assistants API Developer",
        "description": "Custom role to work with Azure OpenAI Assistants API",
        "assignableScopes": [
            "<your-scope>"
        ],
        "permissions": [
            {
                "actions": [
                    "Microsoft.CognitiveServices/*/read",
                    "Microsoft.Authorization/roleAssignments/read",
                    "Microsoft.Authorization/roleDefinitions/read"
                ],
                "notActions": [],
                "dataActions": [
                    "Microsoft.CognitiveServices/accounts/OpenAI/*/read",
                    "Microsoft.CognitiveServices/accounts/OpenAI/engines/completions/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/engines/search/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/engines/generate/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/search/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/completions/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/chat/completions/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/extensions/chat/completions/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/embeddings/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/images/generations/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/write",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/read",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/delete",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/files/write",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/files/read",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/files/delete",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/write",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/read",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/delete",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/messages/write",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/messages/read",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/messages/files/read",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/runs/write",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/runs/read",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/runs/steps/read"
                ],
                "notDataActions": []
            }
        ]
    }
}

Устранение неполадок

Ошибка. Субъект не имеет доступа к API/Operation

Симптомы

При использовании песочницы чата портала Azure AI Foundry вы получите сообщение об ошибке: "Принципал не имеет доступа к API/Operation". Ошибка также может содержать идентификатор «Apim-request-id».

Причина

У пользователя или субъекта-службы, используемого для проверки подлинности запросов к Azure OpenAI или Службе поиска ИИ Azure, нет необходимых разрешений для доступа к ресурсу.

Решение

Назначьте следующие роли пользователю или субъекту-службе. Назначенная роль зависит от используемых вами служб и уровня доступа, необходимого для пользователя или служебного принципала.

Доступ к службе Должность Описание
Azure OpenAI Вкладчик Cognitive Services OpenAI Вызов общедоступного API приема из Azure AI Foundry.
Azure OpenAI Пользователь Служб Когнитивных Услуг Вывод списка API-ключей из Azure AI Foundry.
Поиск с использованием ИИ Azure Участник данных поискового индекса Требуется для сценариев индексирования.
Поиск с использованием ИИ Azure Средство чтения данных индекса поиска Служба вывода запрашивает данные из индекса. Используется только для сценариев вывода.

Вернуться к роли участника

Если вы создаете новый концентратор и сталкиваетесь с ошибками с новым назначением ролей по умолчанию администратора ИИ Azure для управляемого удостоверения, выполните следующие действия, чтобы изменить концентратор на роль участника:

Это важно

Мы не рекомендуем вернуть концентратор в роль участника, если вы не столкнулись с проблемами. Если отмена решает ваши проблемы, откройте обращение в службу поддержки с информацией о проблемах, которые решило возвращение, чтобы мы могли провести дальнейшее расследование.

Если вы хотите вернуться к роли участника в качестве значения по умолчанию для новых центров, откройте запрос на поддержку с сведениями о подписке Azure и попросите, чтобы ваша подписка была изменена, чтобы использовать роль участника в качестве роли участника по умолчанию для управляемого удостоверения, назначаемого системой новых центров.

  1. Удалите назначение ролей для управляемого удостоверения центра. Область назначения роли — это группа ресурсов, содержащая концентратор, поэтому роль должна быть удалена из группы ресурсов.

    Подсказка

    Управляемое удостоверение, назначаемое системой для концентратора, совпадает с именем концентратора.

    В портал Azure перейдите к группе ресурсов, содержащей концентратор. Выберите элемент управления доступом (IAM) и выберите назначения ролей. В списке назначений ролей найдите назначение роли для управляемого удостоверения. Выберите его и нажмите кнопку "Удалить".

    Сведения об удалении назначения ролей см. в разделе "Удаление назначений ролей".

  2. Создайте новое назначение ролей в группе ресурсов для роли участника. При добавлении этого назначения роли выберите управляемое удостоверение для концентратора в качестве получателя. Имя управляемого удостоверения, назначаемого системой, совпадает с именем концентратора.

    1. В портал Azure перейдите к группе ресурсов, содержащей концентратор. Выберите Управление доступом (IAM), а затем Добавление назначения ролей.
    2. На вкладке "Роль" выберите "Участник".
    3. Откройте вкладку "Участники", выберите управляемое удостоверение, + Выберите участников, и установите раскрывающийся список управляемое удостоверение в Azure AI Hub. В поле "Выбор" введите имя концентратора. Выберите концентратор из списка и нажмите кнопку "Выбрать".
    4. На вкладке "Рецензирование и назначение " выберите "Рецензирование" и " Назначить".

Дальнейшие шаги