我在Kubernetes上运行了两个Web应用程序。为了匹配请求,我使用NGINX入口。 当前,所有应用程序都在分别从我们的身份提供程序验证令牌(我在开发人员上使用Keycloak并计划用于生产的Azure Active Directory)。
是否可以在Ingress级别进行验证?
例如,用户尝试进入页面。入口检查有效令牌,并在必要时重定向到IP。如果用户成功登录,则入口控制器将令牌提供给应用。
答案 0 :(得分:3)
Nginx入口提供了通过auth-url和auth-signin批注来插入外部OAUTH身份验证提供程序的功能。
metadata:
name: application
annotations:
nginx.ingress.kubernetes.io/auth-url: "https://$host/oauth2/auth"
nginx.ingress.kubernetes.io/auth-signin: "https://$host/oauth2/start?rd=$escaped_request_uri"
使用外部身份验证提供程序保护Kubernetes仪表板的example。
有关更多详细信息,请参阅文档here