Azure Kubernetes自定义角色配置:如何为pods资源单独添加delete权限
解决方案
你只需要在现有Role的rules列表中新增一条独立规则,单独授权核心API组下的pods资源的delete权限即可,K8s RBAC的权限规则是叠加生效的,新增的规则不会和原有全资源权限规则冲突。
修改后的完整YAML配置如下:
kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: myaksrole_useraccess namespace: mynamespace rules: # 原有全资源权限规则(不含delete) - apiGroups: ["", "extensions", "apps"] resources: ["*"] verbs: ["create", "patch", "get", "update", "list"] - apiGroups: ["batch"] resources: - jobs - cronjobs verbs: ["create", "patch", "get", "update", "list"] # 新增:仅给pods资源单独添加delete权限 - apiGroups: [""] resources: ["pods"] verbs: ["delete"]
规则说明
- 新增规则中的
apiGroups: [""]对应K8s核心API组,pods属于核心组资源,不需要额外指定其他API组 - 该规则仅授权delete操作,不会额外新增其他资源的权限,完全匹配需求
内容的提问来源于stack exchange,提问作者Emanuele
相关产品推荐
相关产品推荐

