Finden von verschlüsselten Objekten und Informationen

Bei Azure KI Search werden kundenseitig verwaltete Verschlüsselungsschlüssel erstellt, gespeichert und in Azure Key Vault verwaltet. Wenn Sie ermitteln müssen, ob ein Objekt verschlüsselt ist oder welcher Schlüsselname oder welche Version in Azure Key Vault verwendet wurde, rufen Sie die Eigenschaft encryptionKey über die REST-API oder ein Azure SDK aus der Objektdefinition in Ihrem Suchdienst ab.

Objekte, die nicht mit einem kundenseitig verwalteten Schlüssel verschlüsselt sind, weisen eine leere encryptionKey-Eigenschaft auf. Andernfalls wird Ihnen möglicherweise eine Definition ähnlich dem folgenden Beispiel angezeigt.

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

Das encryptionKey-Konstrukt ist für alle verschlüsselten Objekte identisch. Hierbei handelt es sich um eine Eigenschaft der ersten Ebene, die sich auf derselben Ebene wie Name und Beschreibung befindet.

Berechtigungen zum Abrufen von Objektdefinitionen

Sie müssen Berechtigungen vom Typ Suchdienstmitwirkender oder gleichwertige Berechtigungen besitzen. Um stattdessen schlüsselbasierte Authentifizierung zu verwenden, geben Sie einen Administrator-API-Schlüssel an. Administratorberechtigungen sind für Anforderungen erforderlich, die Objektdefinitionen und Metadaten zurückgeben. Der einfachste Weg, den Admin-API-Schlüssel zu erhalten, ist über das Portal.

  1. Melden Sie sich beim Azure-Portal an, und öffnen Sie die Übersichtsseite des Suchdiensts.

  2. Wählen Sie auf der linken Seite Schlüssel aus, und kopieren Sie eine Admin-API.

Wechseln Sie für die restlichen Schritte zu PowerShell und der REST-API. Im Portal werden keine Verschlüsselungsschlüsselinformationen für Objekte angezeigt.

Abrufen von Objekteigenschaften

Führen Sie in PowerShell und REST die folgenden Befehle aus, um die Variablen einzurichten und Objektdefinitionen abzurufen.

Alternativ können Sie auch das Azure SDK für .NET, Python, JavaScript und Java verwenden.

Stellen Sie zuerst eine Verbindung mit Ihrem Azure-Konto her.

Connect-AzAccount

Wenn Sie über mehrere aktive Abonnements in Ihrem Mandanten verfügen, geben Sie das Abonnement an, das Ihren Suchdienst enthält:

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

Richten Sie die für jede Anforderung in der aktuellen Sitzung verwendeten Header ein. Geben Sie den Administrator-API-Schlüssel an, der für die Suchdienstauthentifizierung verwendet wird.

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

Um eine Liste aller Suchindizes zurückzugeben, legen Sie den Endpunkt auf die Auflistung der Indizes fest.

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

Um eine bestimmte Indexdefinition zurückzugeben, geben Sie ihren Namen im Pfad an. Die Eigenschaft „encryptionKey“ befindet sich am Ende.

$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

Um Synonymzuordnungen zurückzugeben, legen Sie den Endpunkt auf die Synonymsammlung fest, und senden Sie dann die Anforderung.

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

Im folgenden Beispiel wird eine bestimmte Synonymzuordnungsdefinition zurückgegeben, einschließlich der encryptionKey-Eigenschaft, die sich am Ende der Definition befindet.

$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

Verwenden Sie das gleiche Muster, um die encryptionKey-Eigenschaft für andere Objekte auf oberster Ebene wie Indexer, Skillsets, Datenquellen und Indexaliase zurückzugeben.

Nächste Schritte

Wir empfehlen die Aktivierung der Protokollierung in Azure Key Vault, damit Sie die Schlüsselverwendung überwachen können.

Weitere Informationen zur Verwendung von Azure Key Vault oder zum Konfigurieren der kundenseitig verwalteten Verschlüsselung finden Sie hier: