共用方式為


尋找加密的物件和資訊

在 Azure AI 搜尋服務中,客戶自控的加密金鑰會在 Azure Key Vault 中建立、儲存和受控。 如果您需要判斷物件是否已加密,或 Azure Key Vault 中所使用的金鑰名稱或版本,請使用 REST API 或 Azure SDK,從搜尋服務中的物件定義擷取 encryptionKey 屬性。

未使用客戶自控金鑰加密的物件會有空白的 encryptionKey 屬性。 否則,您可能會看到類似下列範例的定義。

"encryptionKey":{
   "keyVaultUri":"https://demokeyvault.vault.azure.net",
   "keyVaultKeyName":"myEncryptionKey",
   "keyVaultKeyVersion":"eaab6a663d59439ebb95ce2fe7d5f660",
   "accessCredentials":{
      "applicationId":"00001111-aaaa-2222-bbbb-3333cccc4444",
      "applicationSecret":"myApplicationSecret"
   }
}

所有加密物件的 encryptionKey 建構都相同。 此屬性是第一層屬性,其層級與物件名稱和描述相同。

擷取物件定義的權限

您必須擁有搜尋服務參與者或同等權限。 若要改用金鑰型驗證,請提供管理員 API 金鑰。 傳回物件定義和中繼資料的要求需要管理員權限。 取得系統管理 API 金鑰最簡單的方式是透過 Azure 入口網站。

  1. 登入 Azure 入口網站,並在搜尋服務的概觀頁面上開啟搜尋服務。

  2. 在左側選取 [金鑰],然後複製管理 API。

如需其餘步驟,請切換至 PowerShell 和 REST API。 Azure 入口網站 不會顯示任何物件的加密金鑰資訊。

擷取物件屬性

使用 PowerShell 和 REST 執行下列命令來設定變數並取得物件定義。

或者,您也可以使用適用於 .NETPythonJavaScriptJAVA 的 Azure SDK。

首先請連線至您的 Azure 帳戶。

Connect-AzAccount

如果您的租用戶中有多個使用中訂用帳戶,請指定包含您搜尋服務的訂用帳戶:

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

設定目前工作階段中每個要求所使用的標頭。 提供用於搜尋服務驗證的管理 API 金鑰。

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

若要傳回所有搜尋索引的清單,請將端點設定為索引集合。

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

若要傳回特定的索引定義,請在路徑中提供其名稱。 encryptionKey 屬性會在結尾。

$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

若要傳回同義字對應,請將端點設定為同義字集合,然後傳送要求。

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

下列範例會傳回特定的同義字對應定義,其中包含位於定義結尾的 encryptionKey 屬性。

$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

使用相同的模式傳回其他最上層物件的 encryptionKey 屬性,例如索引子、技能、資料來源和索引別名。

下一步

建議您在 Azure Key Vault 上啟用記錄,以便監視金鑰使用方法。

如需進一步瞭解如何使用 Azure 金鑰或設定客戶受控加密: