我可以将 NGINX Ingress 身份验证与 oidc 一起使用吗?

Nic*_*uck 5 openid-connect kubernetes nginx-ingress

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

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

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

Arg*_*dhu 6

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"
Run Code Online (Sandbox Code Playgroud)

使用外部身份验证提供程序保护 kubernetes 仪表板的示例

有关更多详细信息,请参阅此处的文档