我有asp.net core
web api应用程序,它托管在Azure Kubernetes Service
中,web api端点由Azure Active Directory (AAD)
保护。继以下文章之后,
https://dotnetplaybook.com/secure-a-net-core-api-using-bearer-authentication/
现在我有了另一个asp.net核心web api应用程序(Gateway(,它托管为Azure App Service
,这是一个用于上述微服务的客户端应用程序,托管在AKS中。
我已经在AAD
中注册了客户端应用程序(网关(,并使用secret
,使用该网关和微服务进行了验证和工作。
既然AKS托管的微服务与Azure App服务进行了对话,我可以使用Managed Identity
吗?这样我就不需要做secret
管理了?
因此,为了澄清,您在Azure应用程序服务中部署的服务正在调用您在AKS中部署的应用程序。
如果你的Azure应用程序服务代表自己行事(即:它是一个守护程序应用程序,用户不与该应用程序交互(,那么是的,你可以简单地使用该应用程序服务的托管身份,并在AKS中为该身份授予该应用程序的API权限。
--对上述的更新
我写了一些额外的细节,这些细节贯穿了实现这一目标的所有步骤,看看这篇文章:https://blog.identitydigest.com/single-tenant-daemon-managed-identity/。它还有一个指向非常初级的代码示例的指针。