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


Поиск зашифрованных объектов и информации

В Службе поиска ИИ Azure ключи шифрования, управляемые клиентом, создаются, хранятся и управляются в Azure Key Vault. Если необходимо определить, зашифрован ли объект или какая версия ключа используется в Azure Key Vault, используйте REST API или пакет SDK Azure для получения свойства encryptionKey из определения объекта в службе поиска.

Объекты, которые не шифруются с помощью ключа, управляемого клиентом, имеют пустое свойство encryptionKey . В противном случае вы можете увидеть определение, аналогичное примеру ниже.

"encryptionKey":{
   "keyVaultUri":"https://demokeyvault.vault.azure.net",
   "keyVaultKeyName":"myEncryptionKey",
   "keyVaultKeyVersion":"eaab6a663d59439ebb95ce2fe7d5f660",
   "accessCredentials":{
      "applicationId":"00001111-aaaa-2222-bbbb-3333cccc4444",
      "applicationSecret":"myApplicationSecret"
   }
}

Конструкция encryptionKey одинаковая для всех зашифрованных объектов. Это свойство первого уровня, которое находится на том же уровне, что и имя и описание объекта.

Разрешения для получения определений объектов

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

  1. Войдите на портал Azure и на странице обзора службы поиска получите URL-адрес.

  2. В левой части выберите ключи и скопируйте API администратора.

Для выполнения остальных шагов перейдите на PowerShell и REST API. На портале не отображаются сведения о ключах шифрования для любого объекта.

Получение свойств объекта

Чтобы настроить переменные и получить определения объектов, выполните указанные ниже команды с помощью PowerShell и REST.

Кроме того, можно использовать пакет SDK Azure для .NET, Python, JavaScript и Java.

Сначала подключитесь к учетной записи Azure.

Connect-AzAccount

Если у вас несколько активных подписок в клиенте, укажите подписку, содержащую службу поиска:

 Set-AzContext -Subscription <your-subscription-ID>

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

$headers = @{
'api-key' = '<YOUR-ADMIN-API-KEY>'
'Content-Type' = 'application/json'
'Accept' = 'application/json' }

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

$uri= 'https://<YOUR-SEARCH-SERVICE>.search.windows.net/indexes?api-version=2024-07-01&$select=name'
Invoke-RestMethod -Uri $uri -Headers $headers | ConvertTo-Json

Чтобы вернуть определенное определение индекса, укажите его имя в пути. Свойство encryptionKey находится в конце.

$uri= 'https://<YOUR-SEARCH-SERVICE>.search.windows.net/indexes/<YOUR-INDEX-NAME>?api-version=2024-07-01'
Invoke-RestMethod -Uri $uri -Headers $headers | ConvertTo-Json

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

$uri= 'https://<YOUR-SEARCH-SERVICE>.search.windows.net/synonyms?api-version=2024-07-01&$select=name'
Invoke-RestMethod -Uri $uri -Headers $headers | ConvertTo-Json

В следующем примере возвращается определенное определение карты синонимов, в том числе свойство encryptionKey находится в конце определения.

$uri= 'https://<YOUR-SEARCH-SERVICE>.search.windows.net/synonyms/<YOUR-SYNONYM-MAP-NAME>?api-version=2024-07-01'
Invoke-RestMethod -Uri $uri -Headers $headers | ConvertTo-Json

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

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

Рекомендуется включить ведение журнала в Azure Key Vault, чтобы можно было отслеживать использование ключа.

Дополнительные сведения об использовании ключа Azure и настройке управляемого пользователем шифрования: