首页 > 解决方案 > 我可以将 NGINX Ingress auth 与 oidc 一起使用吗?

问题描述

我有几个在 Kubernetes 上运行的 Web 应用程序。为了匹配我使用 NGINX 入口的请求。目前,所有应用程序都在分别验证来自我们的身份提供者的令牌(我在开发人员中使用 Keycloak 并计划用于生产的 Azure Active Directory)。

是否可以在 Ingress 级别进行验证?

例如,用户尝试进入页面。Ingress 检查有效令牌并在必要时重定向到 IP。如果用户成功登录,入口控制器将令牌提供给应用程序。

标签: kubernetesopenid-connectnginx-ingress

解决方案


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 仪表板的示例

请参阅文档以获取更多详细信息


推荐阅读