繁体   English   中英

托管标识是否可用于 API 管理服务和 Azure 函数之间的通信?

[英]Is managed identity available for communication between API Management service and Azure functions?

我有一个与 Azure 函数运行时 v1 通信的 Azure API 管理服务。 目前,当我部署新版本的 Function App(使用 Azure Devops 中的 CI/CD 管道,并使用内置的微软任务)时,功能键(包括主键)会发生变化。 因此,API 管理的 api 在函数请求中注入的密钥不再有效,我得到 401 - 未经授权。 所以,我现在有一项任务在管道中,可以在我部署 Function App 时随时更新这些密钥。 API 管理提供了启用托管标识的功能,但是当我尝试在功能应用程序中为 API 管理创建角色分配时,在系统分配的托管标识下,我没有 API 管理服务的选项。 所以我认为不可能在两个服务之间设置这个角色分配,对吗? 如果没有,那么是否有任何建议可以避免管理 API 管理服务和 Azure Functions 之间通信的密钥?

谢谢

更新

现在可以通过利用authentication-managed-identity策略来使用authentication-managed-identity


是的。 此处不能使用托管标识。

一种替代方法是使用 APIM 实例 IP 来保护具有IP 限制的函数应用程序,只要不重新创建它就保证是静态的,并将函数设置为匿名函数。

请注意,您也可能在从门户访问该功能时遇到问题,如果需要,您必须允许您使用的计算机的公共 IP 访问该功能。

另一种选择是

您可以尝试使用缓存策略缓存此访问令牌。

暂无
暂无

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

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