你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
查找加密的对象和信息
在 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 门户获取。
登录到 Azure 门户,然后打开搜索服务概览页面。
在左侧,选择“密钥”并复制管理 API。
为完成剩余步骤,请切换到 PowerShell 和 REST API。 Azure 门户不会显示任何对象的加密密钥信息。
检索对象属性
使用 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 密钥或配置客户管理的加密,请参阅以下文章: