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


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

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

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

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

Центр ИИ Foundry и проект

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Роль администратора ИИ Azure

До 11.19.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": []
        }
    ]
}

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

Совет

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

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

  • REST API Azure: используйте PATCH запрос к REST API Azure для рабочей области. Текст запроса должен быть задан {"properties":{"allowRoleAssignmeentOnRG":true}}. В следующем примере показано, как curlиспользовать PATCH запрос. Замените <your-subscription>, <workspace-name><resource-group-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 RBAC

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

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

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

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

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

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

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

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

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

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

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

az role assignment create --role "Azure AI Developer" --assignee "joe@contoso.com" --resource-group this-rg 

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

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

Примечание.

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

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

{
    "properties": {
        "roleName": "AI Foundry Developer",
        "description": "Custom role for 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.

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

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

Примечание.

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

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

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

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

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

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

Если центр 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, необходимо назначить роли разработчикам, чтобы они могли получить доступ к ресурсу.

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

Внимание

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

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

Роль Уполномоченный Ресурс Description
Читатель данных индекса поиска Службы ИИ Azure / Azure OpenAI Поиск с использованием ИИ Azure Служба вывода запрашивает данные из индекса. Используется только для сценариев вывода.
Участник данных индекса поиска Службы ИИ Azure / Azure OpenAI Поиск с использованием ИИ Azure Доступ на чтение и запись к содержимому в индексах. Импорт, обновление или запрос коллекции документов индекса. Используется только для приема и вывода сценариев.
Участник службы поиска Службы ИИ Azure / Azure OpenAI Поиск с использованием ИИ Azure Доступ на чтение и запись к определениям объектов (индексы, псевдонимы, карты синонимов, индексаторы, источники данных и наборы навыков). Служба вывода запрашивает схему индекса для автоматического сопоставления полей. Служба приема данных создает индекс, источники данных, набор навыков, индексатор и запрашивает состояние индексатора.
Участник службы OpenAI в Cognitive Services Поиск с использованием ИИ Azure Службы ИИ Azure / Azure OpenAI Пользовательский навык
Пользователь службы OpenAI в Cognitive Services Модель ресурсов 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.

Authentication method Доступ к
общедоступной сети отключен

включен сетевой доступ Реестр контейнеров Azure Public
Администратор
Управляемое удостоверение, назначаемое системой, назначаемое системой ИИ Foundry
Управляемое удостоверение
, назначаемое пользователем центром AI Foundry, с ролью 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, нет необходимых разрешений для доступа к ресурсу.

Решение

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

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

Следующие шаги