繁体   English   中英

从 api 管理获取 Azure Key Vault 中的机密?

[英]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 的集成流程:

  1. 从 Azure AD 获取铸造令牌(持有者)(确保为 Key Vault 正确设置了范围)
  2. 获取响应并使用令牌值设置变量
  3. 使用加载了令牌的授权标头向 Key Vault 发送请求
  4. 获取证书信息
  5. 在 base64 中获取整个 PFX 文件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM