Localizar objetos criptografados e informações

No Azure AI Search, as chaves de criptografia gerenciadas pelo cliente são criadas, armazenadas e gerenciadas no Azure Key Vault. Se você precisar determinar se um objeto está criptografado ou qual nome de chave ou versão é usado no Azure Key Vault, 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.

Objetos que não são criptografados com uma chave gerenciada pelo cliente têm uma propriedade de 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":"00000000-0000-0000-0000-000000000000",
      "applicationSecret":"myApplicationSecret"
   }
}

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

Permissões para recuperar definições de objeto

Você deve ter Colaborador do Serviço de Pesquisa ou permissões equivalentes. 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 de API do administrador é por meio 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 administrador.

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 as propriedades do objeto

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

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

Inicialmente, conecte-se à sua conta do Azure.

Connect-AzAccount

Se você tiver mais de uma assinatura ativa em seu locatário, especifique a assinatura que contém o 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 de API de administrador 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=2023-11-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=2023-11-01'
Invoke-RestMethod -Uri $uri -Headers $headers | ConvertTo-Json

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

$uri= 'https://<YOUR-SEARCH-SERVICE>.search.windows.net/synonyms?api-version=2023-11-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ífico, 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=2023-11-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óximas etapas

Recomendamos que você habilite o registro em log no Azure Key Vault 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: