首页 > 解决方案 > 如何控制对 Kubernetes 中存储类的访问?

问题描述

是否可以限制特定用户从存储类动态配置磁盘的能力?或者,例如,只允许特定命名空间能够使用存储类?

标签: kubernetes

解决方案


公平警告:我还没有测试过这个!

StorageClass 只是一个 API 端点,RBAC 通过限制对这些端点的访问来工作,所以理论上这应该可以正常工作:

kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: sc_access
rules:
- apiGroups: ["storage.k8s.io", "core" ]
  resources: [ "storageclass" ]
  verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]

如果这不起作用,您可以直接通过 NonResourceUrls 选项限制访问:

rules:
- nonResourceURLs: ["/storage.k8s.io/v1/storageclasses"]
  verbs: ["get", "post"]

推荐阅读