尋找加密的物件和資訊

在 Azure AI 搜尋中,客戶管理的加密金鑰會在 Azure 金鑰保存庫 中建立、儲存及管理。 如果您需要判斷物件是否已加密,或 Azure 金鑰保存庫 中使用哪些密鑰名稱或版本,請使用 REST API 或 Azure SDK,從搜尋服務中的物件定義擷取 encryptionKey 屬性。

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

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

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

擷取物件定義的許可權

您必須具有 Search Service 參與者 或對等許可權。 若要改用 金鑰型驗證 ,請提供系統管理員 API 金鑰。 傳回物件定義和元數據的要求需要 管理員許可權。 取得系統管理 API 金鑰最簡單的方式是透過入口網站。

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

  2. 在左側,選取 [金鑰 ] 並複製系統管理 API。

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

擷取物件屬性

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

或者,您也可以使用適用於 .NET、PythonJavaScript 和 JavaAzure 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=2023-11-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=2023-11-01'
Invoke-RestMethod -Uri $uri -Headers $headers | ConvertTo-Json

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

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

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

下一步

建議您在 Azure 金鑰保存庫 上啟用記錄功能,以便監視密鑰使用量。

如需使用 Azure 金鑰或設定客戶受控加密的詳細資訊: