• 本页内容

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