Trovare oggetti crittografati e informazioni
In Azure AI Search, le chiavi di crittografia gestite dal cliente vengono create, archiviate e gestite in Azure Key Vault. Se è necessario stabilire se un oggetto è crittografato o quale nome o versione della chiave vengono usati in Azure Key Vault, utilizzare l'API REST o Azure SDK per recuperare la proprietà encryptionKey dalla definizione dell'oggetto nel servizio di ricerca.
Negli oggetti che non sono crittografati con una chiave gestita dal cliente, la proprietà encryptionKey è vuota. Oppure potrebbe essere presente una definizione simile all'esempio seguente.
"encryptionKey":{
"keyVaultUri":"https://demokeyvault.vault.azure.net",
"keyVaultKeyName":"myEncryptionKey",
"keyVaultKeyVersion":"eaab6a663d59439ebb95ce2fe7d5f660",
"accessCredentials":{
"applicationId":"00001111-aaaa-2222-bbbb-3333cccc4444",
"applicationSecret":"myApplicationSecret"
}
}
Il costrutto encryptionKey è lo stesso per tutti gli oggetti crittografati. Si tratta di una proprietà di primo livello, allo stesso livello del nome e della descrizione dell'oggetto.
Autorizzazioni per il recupero delle definizioni di oggetti
È necessario disporre delle autorizzazioni di Collaboratore Servizio di ricerca o di un ruolo equivalente. Per usare l'autenticazione basata su chiave, specificare invece una chiave API di amministrazione. Le autorizzazioni di amministratore sono necessarie per le richieste che restituiscono definizioni di oggetti e metadati. Il modo più semplice per recuperare la chiave API di amministrazione consiste nell'utilizzare il portale.
Accedere al portale di Azure e aprire la pagina della panoramica del servizio di ricerca.
Sul lato sinistro, selezionare Chiavi e copiare un'API di amministrazione.
Per i passaggi rimanenti, passare a PowerShell e all'API REST. Il portale non mostra le informazioni sulla chiave di crittografia per alcun oggetto.
Recuperare le proprietà dell'oggetto
Usare PowerShell e REST per eseguire i comandi seguenti che consentono di configurare le variabili e recuperare le definizioni degli oggetti.
In alternativa, è anche possibile usare Azure SDK per .NET, Python, JavaScript e Java.
Connettersi innanzitutto all'account Azure.
Connect-AzAccount
Se nel tenant sono presenti più sottoscrizioni attive, specificare la sottoscrizione contenente il servizio di ricerca:
Set-AzContext -Subscription <your-subscription-ID>
Configurare le intestazioni usate in ogni richiesta nella sessione corrente. Specificare la chiave API di amministrazione usata per l'autenticazione del servizio di ricerca.
$headers = @{
'api-key' = '<YOUR-ADMIN-API-KEY>'
'Content-Type' = 'application/json'
'Accept' = 'application/json' }
Per restituire un elenco di tutti gli indici di ricerca, impostare l'endpoint sulla raccolta di indici.
$uri= 'https://<YOUR-SEARCH-SERVICE>.search.windows.net/indexes?api-version=2024-07-01&$select=name'
Invoke-RestMethod -Uri $uri -Headers $headers | ConvertTo-Json
Per restituire una definizione di indice specifica, indicarne il nome nel percorso. La proprietà encryptionKey si trova alla fine.
$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
Per restituire mappe di sinonimi, impostare l'endpoint sulla raccolta di sinonimi e quindi inviare la richiesta.
$uri= 'https://<YOUR-SEARCH-SERVICE>.search.windows.net/synonyms?api-version=2024-07-01&$select=name'
Invoke-RestMethod -Uri $uri -Headers $headers | ConvertTo-Json
Nell'esempio seguente, viene restituita la definizione di una mappa di sinonimi specifica, inclusa la proprietà encryptionKey che si trova verso la fine della definizione.
$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
Usare lo stesso modello per restituire la proprietà encryptionKey per altri oggetti di primo livello, ad esempio indicizzatori, set di competenze, origini dati e alias di indice.
Passaggi successivi
È consigliabile abilitare la registrazione in Azure Key Vault in modo da poter monitorare l'utilizzo della chiave.
Per ulteriori informazioni sull'uso di Azure Key Vault o sulla configurazione della crittografia gestita dal cliente: