В настоящее время я пытаюсь подключить сервер API к моей клавиатуре.
Когда я использую oidc-информацию от пользователя, все работает нормально, но группы, похоже, игнорируются
Аписервер работает с параметром
--oidc-ca-file=/etc/kubernetes/ssl/ca.pem
--oidc-client-id=kubernetes
--oidc-groups-claim=groups
--oidc-groups-prefix=oidc:
--oidc-issuer-url=https://keycloak.example.com/auth/realms/master
--oidc-username-claim=preferred_username
--oidc-username-prefix=oidc:
Я добавил ClusterRole и ClusterRoleBinding
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
name: developer-role
rules:
- apiGroups: [""]
resources: ["namespaces","pods"]
verbs: ["get", "watch", "list"]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
name: developer-crb
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: developer-role
subjects:
- kind: User
name: "oidc:myuser"
apiGroup: rbac.authorization.k8s.io
и для моего пользователя «myuser» все прекрасно работает.
Но когда я изменяю привязку ClusterRoleBinding к группе subjet
....
subjects:
- kind: User
name: "oidc:group1"
apiGroup: rbac.authorization.k8s.io
...
Я получаю запрещено.
Я попытался отладить токен jwt, и группа, кажется, включена:
{
...
"groups": [
"group1",
"group2",
"group3"
],
...
}
Есть идеи, почему мои группы игнорируются / моя ClusterRoleBinding не работает?