Localizar objetos e informações criptografados

No Azure AI Search, as chaves de criptografia gerenciadas pelo cliente são criadas, armazenadas e gerenciadas no Cofre de Chaves do Azure. Se você precisar determinar se um objeto está criptografado ou qual nome de chave ou versão é usado no Cofre de Chaves do Azure, use a API REST ou um SDK do Azure para recuperar a propriedade encryptionKey da definição de objeto em seu serviço de pesquisa.

Os objetos que não são criptografados com uma chave gerenciada pelo cliente têm uma propriedade encryptionKey vazia. Caso contrário, você poderá ver uma definição semelhante ao exemplo a seguir.

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

A construção encryptionKey é a mesma para todos os objetos criptografados. É uma propriedade de primeiro nível, no mesmo nível do nome e da descrição do objeto.

Permissões para recuperar definições de objeto

Você deve ter permissões de Colaborador do Serviço de Pesquisa ou equivalente. Para usar a autenticação baseada em chave, forneça uma chave de API de administrador. As permissões de administrador são necessárias em solicitações que retornam definições de objeto e metadados. A maneira mais fácil de obter a chave da API de administração é através do portal.

  1. Entre no portal do Azure e abra a página de visão geral do serviço de pesquisa.

  2. No lado esquerdo, selecione Chaves e copie uma API de administração.

Para as etapas restantes, alterne para o PowerShell e a API REST. O portal não mostra informações de chave de criptografia para nenhum objeto.

Recuperar propriedades do objeto

Use PowerShell e REST para executar os seguintes comandos para configurar as variáveis e obter definições de objeto.

Como alternativa, você também pode usar o SDK do Azure para .NET, Python, JavaScript e Java.

Primeiro, conecte-se à sua conta do Azure.

Connect-AzAccount

Se tiver mais do que uma subscrição ativa no seu inquilino, especifique a subscrição que contém o seu serviço de pesquisa:

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

Configure os cabeçalhos usados em cada solicitação na sessão atual. Forneça a chave da API admin usada para autenticação do serviço de pesquisa.

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

Para retornar uma lista de todos os índices de pesquisa, defina o ponto de extremidade como a coleção de índices.

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

Para retornar uma definição de índice específica, forneça seu nome no caminho. A propriedade encryptionKey está no final.

$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

Para retornar mapas de sinônimos, defina o ponto de extremidade para a coleção de sinônimos e envie a solicitação.

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

O exemplo a seguir retorna uma definição de mapa de sinônimo específica, incluindo a propriedade encryptionKey está no final da definição.

$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

Use o mesmo padrão para retornar a propriedade encryptionKey para outros objetos de nível superior, como indexadores, conjuntos de habilidades, fontes de dados e aliases de índice.

Próximos passos

Recomendamos que você habilite o registro em log no Cofre da Chave do Azure para que possa monitorar o uso da chave.

Para obter mais informações sobre como usar a Chave do Azure ou configurar a criptografia gerenciada pelo cliente: