使用授权未授权的kubernetes仪表板:承载标头

时间:2019-12-04 10:41:23

标签: azure nginx kubernetes oauth-2.0

我使用Azure作为IDP和Pusher的Oauth2_Proxy设置了仪表板身份验证。我们不使用rbac。 我有2个选择,但不能进行第二个工作:

1-我将这个入口用于仪表板,以命令Nginx通过询问Azure的oauth2_proxy请求身份验证:

# For an OAuth2 Proxy hosted at https://auth.example.com/oauth2
# Configure Nginx Auth Request Module
ingress.kubernetes.io/auth-url: "https://auth.example.com/oauth2/auth"
ingress.kubernetes.io/auth-signin: "https://auth.example.com/oauth2/start?rd=https://$host$request_uri$is_args$args"
# Proxy Authentication header to Dashboard
ingress.kubernetes.io/configuration-snippet: |
# adds authorization header for kubernetes-dashboard
 auth_request_set $token $upstream_http_authorization;
 proxy_set_header Authorization $token;

验证正常。 对于授权,我有2个选择:

  • 单击“跳过”(仪表板部署清单中的- --enable-skip-login)将我带到具有完全管理员权限的仪表板(我猜rbac不表示仪表板服务帐户是完全管理员)
  • 或者我提供服务帐户令牌

2-如果仅将- --set-authorization-header=true添加到我的oauth2_proxy部署清单中,则使用授权标头绕过登录窗口。 这次,如果Nginx因oauth2-proxy发现我已很好地通过Azure身份验证而收到202,它将允许请求到仪表板并在其auth响应中代理授权标头。

我的问题是我到处都是未经授权的,因为我找不到如何将Azure用户链接到仪表板服务帐户的方法。

你们有个主意吗?谢谢

0 个答案:

没有答案