can-i 测试 RBAC 权限
RBAC 遵循 Who
拥有对哪些 Resources
进行哪些 Action
的权限。
我们使用 auth can-i
快速验证 rbac 权限是否生效。
创建如下资源:
# create clusterrole
kubectl create clusterrole clusterrole-name --verb=get,list,watch --resource=deployments,statefulsets,daemonsets
# create serviceaccount
kubectl create serviceaccount sa-name -n app
# create rolebinding
kubectl create rolebinding rolebinding-name --clusterrole=clusterrole-name --serviceaccount=app:sa-name
权限校验 auth can-i
$ kubectl auth can-i create deployment --as system:serviceaccount:app:sa-name
no
$ kubectl auth can-i create deployment -n app --as system:serviceaccount:app:sa-name
yes