如何在ADF中访问Azure Key Vault存储的Keys类型密钥?
ADF访问Azure Key Vault Keys模块的实现方案
ADF原生的Key Vault集成能力仅支持直接读取Secrets模块存储的内容,无法直接枚举或读取Keys模块的密钥,可通过以下两种方案实现访问:
方案1:调用Key Vault REST API访问密钥(推荐,安全性更高)
不需要导出密钥,可直接使用Key Vault原生的加解密能力,操作步骤如下:
- 配置访问权限:在Azure Key Vault的访问策略中,为你的ADF托管标识(系统分配/用户分配均可)授予密钥权限栏下的
Get、List权限,如有加解密需求还要额外勾选对应操作权限 - 在ADF管道中添加Web活动,配置如下:
- 请求方法:
GET - 请求URL:
https://<key-vault-name>.vault.azure.net/keys/<key-name>?api-version=7.4替换为你自己的密钥保管库名称和密钥名称即可 - 身份验证方式选择「托管标识」,资源字段填写
https://vault.azure.net
- 请求方法:
- 执行Web活动后,返回体中即可获取到密钥的公钥信息、密钥属性等内容,如需加解密可直接调用Key Vault对应加密/解密接口完成操作,全程密钥不会离开Key Vault,安全性更高。
方案2:转存到Secrets模块(适合简单读取密钥内容场景)
如果你仅需要直接读取完整的.pem密钥串内容,不需要使用Key Vault的原生密钥管理能力,可直接将完整的.pem文件内容作为机密存入Key Vault的Secrets模块,即可直接通过ADF原生的Key Vault机密引用功能直接读取,配置流程更简单。
注意:如果选择方案2,需要做好机密的权限管控,避免密钥内容泄露。
内容的提问来源于stack exchange,提问作者Sneha
相关产品推荐
相关产品推荐

