今天做项目的时候遇到一个k8s serviceaccount访问权限的问题,需求:给default namespace下的某个用户增加 alert namespace下的configmap的使用权限。
废话不多说,直接上配置文件:
kind: Role
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
namespace: alert
name: cm-reader
rules:
- apiGroups: [""]
resources: ["configmaps"]
verbs: ["get", "watch", "list"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: configmapuser
namespace: alert
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: cm-reader
subjects:
- kind: ServiceAccount
name: [username]
namespace: default
这个地方要注意两点:
1.role和rolebinding一定要在资源所在的namespace下创建
2.rolebinding中,ServiceAccount部分必须带上该用户所在的namespace。
网友评论