Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Вы можете использовать учетные записи безопасности Microsoft Entra ID и назначения ролей для исходящих подключений из Поиск с использованием ИИ Azure к другим ресурсам Azure, предоставляющим данные, с применением ИИ или векторизации во время индексирования или выполнения запросов.
Чтобы использовать роли в исходящем подключении, сначала настройте службу поиска на использование управляемого удостоверения, назначаемого системой, или управляемого удостоверения, назначаемого пользователем, в качестве субъекта безопасности для вашей службы поиска в клиенте Microsoft Entra. После получения управляемой идентичности можно назначить роли для авторизованного доступа. Управляемые удостоверения и назначения ролей устраняют необходимость передачи секретов и учетных данных в строка подключения или в коде.
Необходимые условия
Служба поиска на уровне "Базовый" или выше любой регион.
Ресурс Azure, который принимает входящие запросы от субъекта безопасности Microsoft Entra при условии наличия у него действительного назначения роли.
Чтобы создать управляемое удостоверение, необходимо быть владельцем или администратором доступа пользователей. Чтобы назначать роли, вы должны быть владельцем, администратором доступа пользователей, администратором управления доступом на основе ролей или членом настраиваемой роли с разрешениями Microsoft.Authorization/roleAssignments/write.
Поддерживаемые сценарии
Для этих сценариев можно использовать управляемые удостоверения.
| Сценарий | Системы | Назначаемое пользователем |
|---|---|---|
| Подключение к источникам данных индексатора1 | Да | Да 2 |
| Подключитесь к моделям внедрения и завершения чата в Azure OpenAI, Microsoft Foundry и Функции Azure с помощью навыков и векторизаторов 3 | Да | Да |
| Подключитесь к Azure Key Vault для работы с ключами, управляемыми клиентом | Да | Да |
| Подключиться к сеансам отладки (размещены в служба хранилища Azure)1 | Да | Нет |
| Подключитесь к кэшу обогащения (размещенному в служба хранилища Azure)14 | Да | Да 2 |
| Подключение к Knowledge Store (размещено в служба хранилища Azure)1 | Да | Да 2 |
1 Для подключения между поиском и хранилищем сетевая безопасность накладывает ограничения на то, какой тип управляемого удостоверения можно использовать. Для подключения в одном регионе к служба хранилища Azure можно использовать только управляемое системой удостоверение, и это подключение должно осуществляться через исключение доверенной службы или правило для экземпляра ресурса. Дополнительные сведения см. в статье "Доступ к учетной записи хранения, защищенной сетью ".
2 Управляемые удостоверения, назначаемые пользователем, можно использовать в строках подключения к источнику данных. Однако только новые предварительные интерфейсы REST API и пакеты предварительной версии поддерживают пользовательское управляемое удостоверение в строке подключения. Не забудьте переключиться на API предварительной версии, если вы задали SearchIndexerDataUserAssignedIdentity в качестве identity подключения к источнику данных.
3 Подключения к Azure OpenAI, Foundry и Функции Azure с помощью векторизаторов навыков включают: навык настраиваемый, настраиваемый векторизатор, внедрения навыка Azure OpenAI, векторизатор Azure OpenAI, AML-навык и векторизатор каталога моделей Microsoft Foundry.
В настоящее время служба поиска искусственного интеллекта не может подключиться к таблицам в учетной записи хранения с отключенным доступом к общему ключу.
Создание управляемого удостоверения системы
Управляемое удостоверение, назначаемое системой, — это субъект безопасности Microsoft Entra ID, который автоматически создается и связан с ресурсом Azure, например, службой Поиск с использованием ИИ Azure.
Вы можете иметь одну управляемую идентичность, назначаемую системой, для каждой службы поиска. Она уникальна для вашей службы поиска и привязана к ней на все время ее существования.
При включении управляемого удостоверения, назначаемого системой, Microsoft Entra ID создает субъект безопасности для службы поиска, который используется для проверки подлинности других ресурсов Azure. Затем вы можете использовать это удостоверение в назначениях ролей для авторизованного доступа к данным и операциям.
Перейдите в службу поиска на портале Azure.
На левой панели выберите Параметры>Идентификация.
На вкладке "Назначенная системой" в разделе "Состояние" выберите "Вкл".
Нажмите кнопку "Сохранить".
После сохранения параметров страница обновляется, чтобы отобразить идентификатор объекта, назначенный службе поиска.
Создание управляемой идентичности с назначением пользователем
Управляемое удостоверение, назначаемое пользователем, — это Azure ресурс, который может быть ограничен подписками, группами ресурсов или типами ресурсов.
Вы можете создать несколько управляемых удостоверений, назначаемых пользователем, чтобы повысить детализацию назначений ролей. Например, могут потребоваться отдельные идентичности для различных программ и сценариев. Как независимо созданный и управляемый ресурс, он не привязан к самой службе.
Ниже приведены действия по настройке управляемого удостоверения, назначенного пользователем.
В подписке Azure создайте управляемое удостоверение, назначаемое пользователем.
В службе поиска свяжите управляемую идентичность, назначенную пользователем, со службой поиска.
В других службах Azure, к которым вы хотите подключиться, создайте назначение ролей для удостоверения.
Связывание управляемого удостоверения, назначаемого пользователем, с службой Поиск с использованием ИИ Azure поддерживается на портале Azure, интерфейсах REST API управления поиском и пакетах SDK, которые предоставляют эту функцию.
Войдите на портал Azure.
В левом верхнем углу панели мониторинга выберите "Создать ресурс".
Используйте поле поиска, чтобы найти управляемое удостоверение, назначаемое пользователем, и нажмите кнопку "Создать".
Выберите подписку, группу ресурсов и регион. Присвойте удостоверению описательное имя.
Нажмите кнопку "Создать " и дождитесь завершения развертывания ресурса.
Прежде чем использовать удостоверение, потребуется несколько минут.
На странице службы поиска выберите Параметры>Идентификация.
На вкладке "Назначенные пользователем" нажмите Добавить.
Выберите подписку и ранее созданное назначенное пользователем управляемое удостоверение.
Назначение роли
После того как у вас есть управляемое удостоверение, назначьте роли, определяющие разрешения службы поиска в ресурсе Azure.
Разрешения на чтение необходимы для подключений к данным индексатора и доступа к ключу, управляемому клиентом, в Azure Key Vault.
Права на запись необходимы для функций обогащения ИИ, которые используют служба хранилища Azure для хранения данных сеанса отладки, кэширования обогащения и долгосрочного хранения содержимого в хранилище знаний.
Следующие шаги иллюстрируют рабочий процесс назначения ролей. Этот пример предназначен для Azure OpenAI. Дополнительные ресурсы Azure см. в разделе Connect to служба хранилища Azure, Connect to Azure Cosmos DB or Connect to Azure SQL.
Перейдите к ресурсу OpenAI Azure на портале Azure.
Выберите элемент управления доступом в меню слева.
Выберите "Добавить " и выберите "Добавить назначение роли".
В разделе "Роли должностных функций" выберите "Пользователь Cognitive Services OpenAI и выберите "Далее".
В разделе "Участники" выберите "Управляемое удостоверение", а затем выберите "Участники".
Отфильтруйте по подписке и типу ресурсов (поисковые службы), а затем выберите управляемую идентичность вашей поисковой службы.
Выберите "Рецензирование" и "Назначить".
Примеры строк подключения
Помните из описания сценариев, что управляемые удостоверения можно использовать в строках подключения к другим ресурсам Azure. В этом разделе приведены примеры. Вы можете использовать общедоступные версии REST API и пакеты Azure SDK для подключений с помощью управляемого удостоверения, назначаемого системой.
Совет
Большинство этих объектов можно создать на портале Azure, указав управляемую идентичность, назначаемую системой или пользователем, а затем просмотреть определение JSON, чтобы получить строку подключения.
Ниже приведены некоторые примеры строк подключения для различных сценариев.
Источник данных BLOB (системно управляемое удостоверение):
Источник данных индексатора содержит credentials свойство, определяющее способ подключения к источнику данных. В следующем примере показана строка подключения, указывающая уникальный идентификатор ресурса учетной записи хранения.
Управляемое удостоверение системы обозначается, когда "строка подключения" является уникальным идентификатором ресурса службы или приложения, поддерживающего Microsoft Entra ID. Управляемое удостоверение, назначенное пользователем, указывается через свойство identity.
"credentials": {
"connectionString": "ResourceId=/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name};"
}
Источник данных BLOB-объектов (управляемое удостоверение пользователя):
Управляемые удостоверения, назначаемые пользователем, также можно использовать в строках подключения к источнику данных индексатора. Однако только более новые предварительные версии REST API и пакеты предварительной версии поддерживают назначаемую пользователем управляемую удостоверенность в строке подключения источника данных. Не забудьте переключиться на предварительную версию, если в качестве удостоверения в подключении к источнику данных установлено SearchIndexerDataUserAssignedIdentity.
Идентификатор пользователя службы поиска указывается в свойстве identity .
"credentials": {
"connectionString": "ResourceId=/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name};"
},
. . .
"identity": {
"@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
"userAssignedIdentity": "/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{user-assigned-managed-identity-name}"
}
Определение хранилища знаний включает строку подключения для служба хранилища Azure. Connection string — это уникальный идентификатор ресурса учетной записи хранения. Обратите внимание, что строка не включает контейнеры или таблицы в пути. Они определены в описании встроенной проекции, а не в строке подключения.
"knowledgeStore": {
"storageConnectionString": "ResourceId=/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/storage-account-name};"
}
Индексатор создает, использует и запоминает контейнер, используемый для кэшированных обогащений. Не обязательно включать контейнер в строку подключения кэша. Идентификатор объекта можно найти на странице Identity службы поиска на портале Azure.
"cache": {
"enableReprocessing": true,
"storageConnectionString": "ResourceId=/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name};"
}
Сеанс отладки выполняется на портале Azure и при запуске сеанса использует строку подключения. Вы можете вставить строку, похожую на следующий пример.
"ResourceId=/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name}/{container-name};",
Навык custom предназначен для конечной точки функции Azure или приложения, в котором размещен пользовательский код.
uri— конечная точка функции или приложения.authResourceIdсообщает службе поиска подключиться с помощью управляемого удостоверения, передав в свойстве идентификатор приложения, относящийся к целевой функции или приложению.
{
"@odata.type": "#Microsoft.Skills.Custom.WebApiSkill",
"description": "A custom skill that can identify positions of different phrases in the source text",
"uri": "https://contoso.count-things.com",
"authResourceId": "<Azure-AD-registered-application-ID>",
"batchSize": 4,
"context": "/document",
"inputs": [ ... ],
"outputs": [ ...]
}
Примеры подключения для моделей
Для подключений, сделанных с помощью управляемых удостоверений, в этом разделе показаны примеры сведений о подключении, используемых службой поиска для подключения к модели на другом ресурсе. Подключение через управляемое удостоверение системы осуществляется прозрачно; удостоверение и роли правильно настроены, и подключение завершается успешно, если они сконфигурированы должным образом. В отличие от этого, идентификатор, управляемый пользователем, требует дополнительных свойств подключения.
Azure OpenAI встраивание и векторизатор Azure OpenAI:
Навык встраивания Azure OpenAI и векторизатор в AI Search предназначены для конечной точки Azure OpenAI, где размещена модель встраивания. Конечная точка указана в определении навыка встраивания Azure OpenAI и/или в определении векторизатора Azure OpenAI.
Управляемое системой удостоверение используется автоматически, если "apikey" и "authIdentity" пусты, как показано в следующем примере. Свойство "authIdentity" используется только для управляемого удостоверения, назначаемого пользователем.
Пример управляемого системой удостоверения:
{
"@odata.type": "#Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill",
"description": "Connects a deployed embedding model.",
"resourceUri": "https://url.openai.azure.com/",
"deploymentId": "text-embedding-ada-002",
"modelName": "text-embedding-ada-002",
"inputs": [
{
"name": "text",
"source": "/document/content"
}
],
"outputs": [
{
"name": "embedding"
}
]
}
Ниже приведен пример векторизатора , настроенного для управляемого удостоверения, назначаемого системой. Векторизатор указан в индексе поиска.
"vectorizers": [
{
"name": "my_azure_open_ai_vectorizer",
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "https://url.openai.azure.com",
"deploymentId": "text-embedding-ada-002",
"modelName": "text-embedding-ada-002"
}
}
]
Пример управляемой идентификации, назначенной пользователем:
Управляемое удостоверение, назначаемое пользователем, используется, если "apiKey" пуст и указан допустимый "authIdentity".
{
"@odata.type": "#Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill",
"description": "Connects a deployed embedding model.",
"resourceUri": "https://url.openai.azure.com/",
"deploymentId": "text-embedding-ada-002",
"modelName": "text-embedding-ada-002",
"inputs": [
{
"name": "text",
"source": "/document/content"
}
],
"outputs": [
{
"name": "embedding"
}
],
"authIdentity": {
"@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
"userAssignedIdentity": "/subscriptions/<subscription_id>/resourcegroups/<resource_group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<user-assigned-managed-identity-name>"
}
}
Ниже приведен пример векторизатора, настроенного для управляемого удостоверения, назначаемого пользователем. Векторизатор указан в индексе поиска.
"vectorizers": [
{
"name": "my_azure_open_ai_vectorizer",
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "https://url.openai.azure.com",
"deploymentId": "text-embedding-ada-002",
"modelName": "text-embedding-ada-002"
"authIdentity": {
"@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
"userAssignedIdentity": "/subscriptions/<subscription_id>/resourcegroups/<resource_group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<user-assigned-managed-identity-name>"
}
}
}
]
Проверка доступа к брандмауэру
Если ресурс Azure находится за брандмауэром, убедитесь, что есть правило входящего трафика, которое допускает запросы из службы поиска и на портале Azure.
Для однорегионных подключений к Хранилище BLOB-объектов Azure или Azure Data Lake Storage 2-го поколения используйте системное управляемое удостоверение и исключение доверенной службы. При необходимости можно настроить правило экземпляра ресурса для допуска запросов.
Для всех других ресурсов и подключений настройте правило брандмауэра IP, которое допускает запросы от Поиск с использованием ИИ Azure. Дополнительные сведения см. в разделе Доступ индексатора к контенту, защищенному средствами сетевой безопасности Azure.