Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Решение oauth2_proxy требует деплоя сервиса в каждый namespace(поправьте если не прав), очень не хотелось бы это делать.
Какой-то проблемы раскатывания для каждого неймспейса не вижу для себя (возможно у Вас совсем другой кейс).
В идеале хотелось бы иметь возможность использования именно авторизации, а конкретно — разграничение доступа по группе пользователя с помощью dex и groups.
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/auth-url: "https://OAUTH2_PROXY_ADDRESS/oauth2/auth"
nginx.ingress.kubernetes.io/auth-signin: "https://OAUTH2_PROXY_ADDRESS/oauth2/start?rd=https://$host$request_uri$is_args$args"
nginx.ingress.kubernetes.io/configuration-snippet: |
auth_request_set $token $upstream_http_authorization;
proxy_set_header Authorization $token;
name: dashboard
namespace: kube-system
spec:
rules:
- host: ADDRESS
http:
paths:
- backend:
serviceName: kubernetes-dashboard
servicePort: 80
path: /
tls:
- secretName: SECRET
hosts:
- ADDRESS args:
- --email-domain=example.com
- --upstream=file:///dev/null
- --http-address=0.0.0.0:8080
- --redirect-url=https://OAUTH2_PROXY_ADDRESS/oauth2/callback
- --provider=oidc
- --oidc-issuer-url=https://DEX_ADDRESS
- --cookie-domain=.example.com
- --whitelist-domain=.example.com
- --pass-authorization-header=true
- --set-authorization-header=true
- --pass-basic-auth=false
- --pass-access-token=false
Аутентификация в Kubernetes с помощью GitHub OAuth и Dex