[英]Get secrets in Azure Key vault from api management?
我在 Azure 中创建了一个保管库,并授予它访问 API 管理(在 AAD 中注册的应用程序)的权限。 我试图在进行 API 调用时不在标头中存储任何密码,而是从密钥库中获取它们。 有没有办法做到这一点? 如果是如何?
找了好几天都没找到
谢谢
您需要使用 API 管理策略来完成工作 ( https://docs.microsoft.com/en-us/azure/api-management/api-management-policies )。
需要构建策略以将 HTTP 请求发布到 Azure AD OAuth 端点以接收访问令牌 ( https://docs.microsoft.com/en-us/azure/api-management/api-management-transformation-policies#TransformationPolicies ) . 使用访问令牌,您只需要调用 Key Vault API 并检索机密 ( https://docs.microsoft.com/en-us/azure/api-management/api-management-advanced-policies#SendRequest )。 该秘密将在您的标题中传递( set-header
)
获取访问令牌的示例: https : //docs.microsoft.com/en-us/azure/api-management/policies/use-oauth2-for-authorization?toc= api-management/ toc.json
这是 Azure API 管理和 Azure Key Vault 的端到端示例,包括如何在 Azure AD 中设置授权,以便 APIM 可以从 Key Vault 读取机密、证书等。
https://github.com/kevinhillinger/azure-api-management-keyvault
集成要求在 Azure AD 租户中为 Key Vault 实例所属的订阅注册服务主体。 然后我们将授权它与密钥保管库交谈。
在提供的示例中,我正在检索证书,因为这是更“困难”的选项。
以下是 Azure Key Vault 的集成流程:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.