登录时从kubenetes服务器获取错误-ClusterRoleBinding

问题描述 投票:0回答:1

我正在使用Keycloak作为kubernetes的身份提供者。我正在使用kubelogin获取令牌。令牌似乎可以正常工作,但出现以下错误。我认为ClusterRoleBinding中存在一些问题,不允许它工作。

  • 怎么了
Error from server (Forbidden): pods is forbidden: User "test" cannot list resource "pods" in API group "" in the namespace "default"

其他信息

  • Api清单
    - --oidc-issuer-url=https://test1.example.com/auth/realms/kubernetes
    - --oidc-username-claim=preferred_username
    - --oidc-username-prefix=-
    - --oidc-groups-claim=groups
    - --oidc-client-id=kubernetes
    - --oidc-ca-file=/etc/ssl/certs/ca.crt
  • 集群角色和集群角色绑定
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: cluster-admin
rules:
- apiGroups: ["*"]
  resources: ["*"]
  verbs: ["*"]

---

kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: admin-rolebinding
subjects:
- kind: User
  name: //test1.example.com.com/auth/realms/kubernetes#23fd6g03-e03e-450e-8b5d-07b19007c443
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: ClusterRole
  name: cluster-admin
  apiGroup: rbac.authorization.k8s.io

我缺少使它正常工作的任何东西吗?

kubernetes keycloak rbac
1个回答
0
投票

经过大量研究后,我发现了问题。而不是为用户添加keycloak url,我们必须使用用户名本身。这是示例yaml

kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: cluster-admin
rules:
- apiGroups: ["*"]
  resources: ["*"]
  verbs: ["*"]

---

kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: admin-rolebinding
subjects:
- kind: User
  name: test
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: ClusterRole
  name: cluster-admin
  apiGroup: rbac.authorization.k8s.io
© www.soinside.com 2019 - 2024. All rights reserved.