Compartir a través de


Búsqueda de información y objetos cifrados

En Azure AI Search, las claves de cifrado administradas por el cliente se crean, almacenan y administran en Azure Key Vault. Si necesita determinar si un objeto está cifrado o qué nombre o versión de la clave se han usado en Azure Key Vault, utilice la API de REST o un SDK de Azure para recuperar la propiedad encryptionKey de la definición del objeto en el servicio de búsqueda.

Los objetos que no se cifran con una clave administrada por el cliente tienen una propiedad encryptionKey vacía. De lo contrario, es posible que vea una definición similar a la del ejemplo siguiente.

"encryptionKey":{
   "keyVaultUri":"https://demokeyvault.vault.azure.net",
   "keyVaultKeyName":"myEncryptionKey",
   "keyVaultKeyVersion":"eaab6a663d59439ebb95ce2fe7d5f660",
   "accessCredentials":{
      "applicationId":"00000000-0000-0000-0000-000000000000",
      "applicationSecret":"myApplicationSecret"
   }
}

La construcción encryptionKey es la misma para todos los objetos cifrados. Es una propiedad de primer nivel, el mismo que el del nombre y la descripción del objeto.

Permisos para recuperar definiciones de objeto

Debe tener el permiso de colaborador del servicio de búsqueda o equivalentes. Si prefiere usar la autenticación basada en claves, proporcione una clave de API de administrador. Los permisos de administrador son necesarios en las solicitudes que devuelven definiciones de objetos y metadatos. La forma más sencilla de obtener la clave de API de administración es a través de Azure Portal.

  1. Inicie sesión en Azure Portal y abra la página de información general del servicio de búsqueda.

  2. En el lado izquierdo, seleccione Claves y copie una API de administración.

Para realizar los restantes pasos, cambie a PowerShell y la API REST. El portal no muestra información de la clave de cifrado de ningún objeto.

Recuperación las propiedades de un objeto

Use PowerShell y REST para ejecutar los siguientes comandos para configurar las variables y obtener definiciones de los objetos.

También puede usar los SDK de Azure para .NET, Python, JavaScript y Java.

En primer lugar, conéctese a su cuenta de Azure.

Connect-AzAccount

Si tiene más de una suscripción activa en el inquilino, especifique la suscripción que contiene el servicio de búsqueda:

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

Configure los encabezados usados en cada solicitud de la sesión actual. Proporcione la clave de API de administrador usada para la autenticación del servicio de búsqueda.

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

Para devolver una lista de todos los índices de búsqueda, establezca el punto de conexión en la colección 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 devolver la definición de un índice específico, proporcione su nombre en la ruta de acceso. La propiedad encryptionKey está al 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 devolver mapas de sinónimos, establezca el punto de conexión en la colección de sinónimos y envíe la solicitud.

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

En el ejemplo siguiente se devuelve una definición de mapa de sinónimos específica, incluida la propiedad encryptionKey, hacia el final de la definición.

$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 el mismo patrón para devolver la propiedad encryptionKey para otros objetos de nivel superior, como indexadores, conjuntos de aptitudes, orígenes de datos y alias de índices.

Pasos siguientes

Se recomienda habilitar el registro en Azure Key Vault para poder supervisar el uso de la clave.

Para más información sobre el uso de la clave de Azure o la configuración del cifrado administrado por el cliente: