尋找加密的物件和資訊
在 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 入口網站,並在搜尋服務的概觀頁面上開啟搜尋服務。
在左側選取 [金鑰],然後複製管理 API。
如需其餘步驟,請切換至 PowerShell 和 REST API。 入口網站不會顯示任何物件的加密金鑰資訊。
擷取物件屬性
使用 PowerShell 和 REST 執行下列命令來設定變數並取得物件定義。
或者,您也可以使用適用於 .NET、Python、JavaScript 和 JAVA 的 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 金鑰或設定客戶受控加密: