Поиск зашифрованных объектов и информации
В Службе поиска ИИ 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 клиента через портал.
Войдите на портал Azure и на странице обзора службы поиска получите URL-адрес.
В левой части выберите ключи и скопируйте 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 и настройке управляемого пользователем шифрования: