我创建了一个Azure的保管库,并给其访问API管理(AAD在注册应用程序)。我想任何密码不存储在报头而进行API调用,而是从keyvault得到他们。有没有办法做到这一点?如果是的话怎么样?
一直在寻找了几天,还没有发现的东西
谢谢
您需要使用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
)
这里是一个端到端的示例天青API管理和天青密钥库,其中包括如何在天青AD设置授权以便APIM可以读取秘密,证书等从键保管库。
https://github.com/kevinhillinger/azure-api-management-keyvault
整合需要一个服务主体是在Azure AD租户的关键库实例属于认购登记。然后,我们将批准它交谈关键金库。
在提供的例子,我获取的证书,因为这是比较“困难”的选项。
下面是Azure的关键库的整合流程: