允许访问除了获取节点之外的kubernetes集群上的所有资源

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

团队,我在kubernetes上具有以下集群角色,允许访问所有内容,但我不想限制节点级命令并允许所有其余的。

下面要修改什么?基本上,用户应该能够运行

kubectl get all --all-namespaces

但不应显示节点信息

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  annotations:
    rbac.authorization.kubernetes.io/autoupdate: "true"
  labels:
    kubernetes.io/bootstrapping: rbac-defaults
  name: cluster-admin-test
rules: 
- apiGroups:
- '*'
resources:
- '*'
verbs:
- '*'
- nonResourceURLs:
- '*'
verbs:
- '*'
kubernetes kubectl rbac
1个回答
3
投票

规则纯粹是附加的,意味着您不能限制规则。

因此,您需要列出所有可访问的resources,但需要使用适当的operations列出“节点”

例如:

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  annotations:
    rbac.authorization.kubernetes.io/autoupdate: "true"
  labels:
    kubernetes.io/bootstrapping: rbac-defaults
  name: cluster-admin
rules: 
- apiGroups: [""] 
  resources: ["pods","services","namespaces","deployments","jobs"] 
  verbs: ["get", "watch", "list"]

此外,强烈建议不要更改cluster-admin角色。创建新角色并为其分配用户是值得的。

© www.soinside.com 2019 - 2024. All rights reserved.