Znajdowanie zaszyfrowanych obiektów i informacji

W usłudze Azure AI Search klucze szyfrowania zarządzane przez klienta są tworzone, przechowywane i zarządzane w usłudze Azure Key Vault. Jeśli musisz określić, czy obiekt jest zaszyfrowany, czy jaka nazwa klucza lub wersja jest używana w usłudze Azure Key Vault, użyj interfejsu API REST lub zestawu Azure SDK, aby pobrać właściwość encryptionKey z definicji obiektu w usłudze wyszukiwania.

Obiekty, które nie są szyfrowane za pomocą klucza zarządzanego przez klienta, mają pustą właściwość encryptionKey . W przeciwnym razie może zostać wyświetlona definicja podobna do poniższego przykładu.

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

Konstrukcja encryptionKey jest taka sama dla wszystkich zaszyfrowanych obiektów. Jest to właściwość pierwszego poziomu na tym samym poziomie co nazwa i opis obiektu.

Uprawnienia do pobierania definicji obiektów

Musisz mieć uprawnienia Współautor usługi wyszukiwania lub równoważne. Aby zamiast tego użyć uwierzytelniania opartego na kluczach, podaj klucz interfejsu API administratora. Administracja uprawnienia są wymagane dla żądań, które zwracają definicje obiektów i metadane. Najprostszym sposobem uzyskania klucza interfejsu API administratora jest użycie portalu.

  1. Zaloguj się do witryny Azure Portal i otwórz stronę przeglądu usługi wyszukiwania.

  2. Po lewej stronie wybierz pozycję Klucze i skopiuj interfejs API administratora.

W pozostałych krokach przejdź do programu PowerShell i interfejsu API REST. Portal nie wyświetla informacji o kluczu szyfrowania dla żadnego obiektu.

Pobieranie właściwości obiektu

Użyj programu PowerShell i interfejsu REST, aby uruchomić następujące polecenia, aby skonfigurować zmienne i pobrać definicje obiektów.

Alternatywnie możesz również użyć zestawu Azure SDK dla platformy .NET, Python, JavaScript i Java.

Najpierw połącz się z kontem platformy Azure.

Connect-AzAccount

Jeśli masz więcej niż jedną aktywną subskrypcję w dzierżawie, określ subskrypcję zawierającą usługę wyszukiwania:

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

Skonfiguruj nagłówki używane w każdym żądaniu w bieżącej sesji. Podaj klucz interfejsu API administratora używany do uwierzytelniania usługi wyszukiwania.

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

Aby zwrócić listę wszystkich indeksów wyszukiwania, ustaw punkt końcowy na kolekcję indeksów.

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

Aby zwrócić określoną definicję indeksu, podaj jego nazwę w ścieżce. Właściwość encryptionKey znajduje się na końcu.

$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

Aby zwrócić mapy synonimów, ustaw punkt końcowy na kolekcję synonimów, a następnie wyślij żądanie.

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

Poniższy przykład zwraca określoną definicję mapy synonimów, w tym właściwość encryptionKey znajduje się na końcu definicji.

$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

Użyj tego samego wzorca, aby zwrócić właściwość encryptionKey dla innych obiektów najwyższego poziomu, takich jak indeksatory, zestawy umiejętności, źródła danych i aliasy indeksu.

Następne kroki

Zalecamy włączenie rejestrowania w usłudze Azure Key Vault, aby można było monitorować użycie kluczy.

Aby uzyskać więcej informacji na temat używania klucza platformy Azure lub konfigurowania szyfrowania zarządzanego przez klienta: