Azure函数支持在Kubernetes中运行HTTP触发器进行身份验证

Azure函数支持在Kubernetes中运行HTTP触发器进行身份验证,kubernetes,azure-functions,azure-functions-runtime,azure-function-app,Kubernetes,Azure Functions,Azure Functions Runtime,Azure Function App,在Azure中托管功能时,使用内置的应用程序服务身份验证/授权来填充ClaimsPrincipal非常有效,并且有很好的文档记录 然而,试图用Kubernetes中的容器化应用程序来实现这一点是另一回事。我找不到任何关于如何以一种模仿Azure中托管函数行为的方式支持身份验证的信息。我希望这是可能的,因为我希望在本地和Azure中使用相同的功能 关于如何实现这一点,是否有可用的信息?应用程序服务身份验证/授权是作为PAAS产品的一部分提供的功能。是开源的,在Azure PAAS上运行时继承了这些

在Azure中托管功能时,使用内置的应用程序服务身份验证/授权来填充ClaimsPrincipal非常有效,并且有很好的文档记录

然而,试图用Kubernetes中的容器化应用程序来实现这一点是另一回事。我找不到任何关于如何以一种模仿Azure中托管函数行为的方式支持身份验证的信息。我希望这是可能的,因为我希望在本地和Azure中使用相同的功能


关于如何实现这一点,是否有可用的信息?

应用程序服务身份验证/授权是作为PAAS产品的一部分提供的功能。是开源的,在Azure PAAS上运行时继承了这些特性

但是在kubernetes上运行时,Azure函数的工作方式是不同的。首先,缩放由kubernetes(和//在设置时)负责。任何外部身份验证/授权也是如此

有几种方法可以设置此设置

  • 如果您使用的是像nginx这样的入口控制器,那么可以将其与oauth2\u代理配对。根据您使用的入口控制器,它可能具有内置的身份验证支持

  • 如果您使用的是像istio这样的服务网格,那么可以利用它的策略。注意,这只是检查是否存在有效的JWT,而不会重定向用户

    您必须部署类似于的。对于SSO场景,您可能需要


  • 我当然可以使用外部身份验证服务来处理实际的身份验证,但我想要的是某种方式来初始化传递给函数的ClaimsPrincipal,以便函数中现有的授权代码继续工作。