从API管理获取Azure的主要金库的秘密?

问题描述 投票:0回答:1

我创建了一个Azure的保管库,并给其访问API管理(AAD在注册应用程序)。我想任何密码不存储在报头而进行API调用,而是从keyvault得到他们。有没有办法做到这一点?如果是的话怎么样?

一直在寻找了几天,还没有发现的东西

谢谢

azure azure-active-directory azure-api-management
1个回答
4
投票

您需要使用API​​管理策略来完成这项工作(https://docs.microsoft.com/en-us/azure/api-management/api-management-policies)。

该策略需要被构造为发布HTTP请求天青AD OAuth的端点接收的访问令牌(https://docs.microsoft.com/en-us/azure/api-management/api-management-transformation-policies#TransformationPolicies)。使用访问令牌,你只需要调用键库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


0
投票

这里是一个端到端的示例天青API管理和天青密钥库,其中包括如何在天青AD设置授权以便APIM可以读取秘密,证书等从键保管库。

https://github.com/kevinhillinger/azure-api-management-keyvault

整合需要一个服务主体是在Azure AD租户的关键库实例属于认购登记。然后,我们将批准它交谈关键金库。

在提供的例子,我获取的证书,因为这是比较“困难”的选项。

下面是Azure的关键库的整合流程:

  1. 获得从Azure的AD一个崛起的令牌(承载)(确保范围正确的密钥库设置)
  2. 得到响应,并设置一个变量与令牌值
  3. 将请求发送到关键库与装载了与令牌授权头
  4. 拿到证书信息
  5. 取以base64整个PFX文件
© www.soinside.com 2019 - 2024. All rights reserved.