Использование Azure OpenAI без ключей
Запросы приложений к большинству служб Azure должны проходить проверку подлинности с помощью ключей или подключений без пароля. Разработчики должны уделять внимание тому, чтобы не раскрыть ключи в незащищенном расположении. Любой, кто получает доступ к ключу, может пройти проверку подлинности в службе. Проверка подлинности без ключей обеспечивает улучшенные преимущества управления и безопасности по сравнению с ключом учетной записи, так как для хранения ключа (или строка подключения) нет.
Подключения без ключей включены со следующими шагами:
- Настройте проверку подлинности.
- При необходимости задайте переменные среды.
- Используйте тип учетных данных библиотеки удостоверений Azure для создания клиентского объекта Azure OpenAI.
Проверка подлинности
Для использования клиентских библиотек Azure требуется проверка подлинности в идентификаторе Microsoft Entra.
Проверка подлинности отличается в зависимости от среды, в которой выполняется приложение:
Стандартный блок без ключей Azure OpenAI
Используйте следующую ссылку, чтобы изучить шаблон ИИ без ключей Azure OpenAI. Этот шаблон подготавливает учетную запись Azure OpenAI с разрешением роли RBAC учетной записи пользователя для проверки подлинности без ключа (Microsoft Entra) для доступа к пакетам SDK API OpenAI.
Примечание.
В этой статье используется один или несколько шаблонов приложений ИИ в качестве основы для примеров и рекомендаций в этой статье. Шаблоны приложений ИИ предоставляют вам хорошо поддерживаемые и простые в развертывании эталонные реализации, которые помогают обеспечить высококачественную отправную точку для приложений ИИ.
Ознакомьтесь с шаблоном ИИ стандартного блока проверки подлинности Без ключей Azure OpenAI.
Проверка подлинности для локальной разработки
Выберите средство для проверки подлинности во время локальной разработки.
Проверка подлинности для сред, размещенных в Azure
Узнайте, как управлять defaultAzureCredential для приложений, развернутых в Azure.
Настройка ролей для авторизации
Найдите роль для использования Azure OpenAI. В зависимости от того, как вы планируете задать эту роль, вам потребуется имя или идентификатор.
Имя роли Идентификатор роли Для Azure CLI или Azure PowerShell можно использовать имя роли. Для Bicep требуется идентификатор роли. Используйте следующую таблицу, чтобы выбрать роль и идентификатор.
Вариант использования Имя роли Идентификатор роли Помощники Cognitive Services OpenAI Contributor
a001fd3d-188f-4b5d-821b-7da978bf7442
Завершение чата Cognitive Services OpenAI User
5e0bd9bd-7b93-4f28-af87-19fc36ad61bd
Выберите тип удостоверения для использования.
- Личное удостоверение. Это ваше личное удостоверение, связанное с вашим входом в Azure.
- Управляемое удостоверение: это удостоверение, управляемое и созданное для использования в Azure. Для управляемого удостоверения создайте управляемое удостоверение, назначаемое пользователем. При создании управляемого удостоверения вам потребуется
Client ID
, также известный какapp ID
.
Чтобы найти личное удостоверение, используйте одну из следующих команд. Используйте идентификатор в качестве
<identity-id>
следующего шага.Чтобы получить собственный идентификатор удостоверения, используйте следующую команду для локальной разработки. Перед использованием этой команды необходимо войти в
az login
систему.az ad signed-in-user show \ --query id -o tsv
Назначьте роль управления доступом на основе ролей (RBAC) идентификатору группы ресурсов.
Чтобы предоставить удостоверению разрешения на доступ к ресурсу через RBAC, назначьте роль с помощью команды Azure CLI az role assignment create.
az role assignment create \ --role "Cognitive Services OpenAI User" \ --assignee "<identity-id>" \ --scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>"
Где применимо, замените
<identity-id>
и<subscription-id>
<resource-group-name>
фактическими значениями.
Настройка переменных среды
Чтобы подключиться к Azure OpenAI, код должен знать конечную точку ресурса и может потребоваться другие переменные среды.
Создайте переменную среды для конечной точки Azure OpenAI.
AZURE_OPENAI_ENDPOINT
: этот URL-адрес является точкой доступа для ресурса Azure OpenAI.
Создайте переменные среды на основе расположения, в котором выполняется приложение:
Расположение Идентификация Description Local Персональный Для локальных сред выполнения с личным удостоверением войдите, чтобы создать учетные данные с помощью средства. Облако Azure Управляемое удостоверение, назначаемое пользователем AZURE_CLIENT_ID
Создайте переменную среды, содержащую идентификатор клиента управляемого удостоверения, назначаемого пользователем, для проверки подлинности как.
Установка клиентской библиотеки удостоверений Azure
Используйте следующую ссылку для установки клиентской библиотеки удостоверений Azure.
Установите клиентную библиотеку удостоверений Azure .NET:
dotnet add package Azure.Identity
Использование DefaultAzureCredential
Библиотека DefaultAzureCredential
удостоверений Azure позволяет клиенту выполнять тот же код в локальной среде разработки и в облаке Azure.
Дополнительные сведения о .NET см. в DefaultAzureCredential
клиентской библиотеке удостоверений Azure для .NET.
using Azure;
using Azure.AI.OpenAI;
using Azure.Identity;
using System;
using static System.Environment;
string endpoint = GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT");
OpenAIClient client = new(new Uri(endpoint), new DefaultAzureCredential());