Hitta krypterade objekt och information

I Azure AI Search skapas, lagras och hanteras kundhanterade krypteringsnycklar i Azure Key Vault. Om du behöver avgöra om ett objekt är krypterat eller vilket nyckelnamn eller vilken version som används i Azure Key Vault använder du REST-API:et eller en Azure SDK för att hämta egenskapen encryptionKey från objektdefinitionen i söktjänsten.

Objekt som inte krypteras med en kundhanterad nyckel har en tom encryptionKey-egenskap . Annars kan du se en definition som liknar följande exempel.

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

EncryptionKey-konstruktionen är densamma för alla krypterade objekt. Det är en egenskap på första nivån på samma nivå som objektnamnet och beskrivningen.

Behörigheter för att hämta objektdefinitioner

Du måste ha search service-deltagare eller motsvarande behörigheter. Om du vill använda nyckelbaserad autentisering i stället anger du en administratörs-API-nyckel. Administratörsbehörigheter krävs för begäranden som returnerar objektdefinitioner och metadata. Det enklaste sättet att hämta administratörs-API-nyckeln är via portalen.

  1. Logga in på Azure-portalen och öppna översiktssidan för söktjänsten.

  2. Till vänster väljer du Nycklar och kopierar ett administratörs-API.

För de återstående stegen växlar du till PowerShell och REST-API:et. Portalen visar inte krypteringsnyckelinformation för något objekt.

Hämta objektegenskaper

Använd PowerShell och REST för att köra följande kommandon för att konfigurera variablerna och hämta objektdefinitioner.

Du kan också använda Azure SDK för .NET, Python, JavaScript och Java.

Anslut först till ditt Azure-konto.

Connect-AzAccount

Om du har fler än en aktiv prenumeration i klientorganisationen anger du den prenumeration som innehåller söktjänsten:

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

Konfigurera rubrikerna som används för varje begäran i den aktuella sessionen. Ange den administratörs-API-nyckel som används för autentisering av söktjänsten.

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

Om du vill returnera en lista över alla sökindex anger du slutpunkten till indexsamlingen.

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

Om du vill returnera en specifik indexdefinition anger du dess namn i sökvägen. Egenskapen encryptionKey är i slutet.

$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

Om du vill returnera synonymkartor anger du slutpunkten till synonymsamlingen och skickar sedan begäran.

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

I följande exempel returneras en specifik synonymmappningsdefinition, inklusive egenskapen encryptionKey, mot slutet av definitionen.

$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

Använd samma mönster för att returnera egenskapen encryptionKey för andra objekt på den översta nivån, till exempel indexerare, kompetensuppsättningar, datakällor och indexalias.

Nästa steg

Vi rekommenderar att du aktiverar loggning på Azure Key Vault så att du kan övervaka nyckelanvändningen.

Mer information om hur du använder Azure Key eller konfigurerar kundhanterad kryptering: