我尝试了kubectl get sa default
命令,但只看到一些非常基本的值。在k8s中查看与特定服务帐户关联的权限/角色的命令是什么?
最佳答案
以下命令可能会有所帮助。它基本上获得RoleBindings和ClusterRoleBindings,其中.subjects [0]是ServiceAccount的名称。
$ kubectl get rolebinding,clusterrolebinding --all-namespaces -o jsonpath='{range .items[?(@.subjects[0].name=="SERVICE_ACCOUNT_NAME")]}[{.roleRef.kind},{.roleRef.name}]{end}'
注意:它不会在主题字段中列出包含多个对象的RoleBindings / ClusterRoleBindings
例如,如果将weave-net部署为网络插件,则可以获取weave-net ServiceAccount使用的Role和ClusterRole:
$ kubectl get rolebinding,clusterrolebinding --all-namespaces -o jsonpath='{range .items[?(@.subjects[0].name=="weave-net")]}[{.roleRef.kind},{.roleRef.name}]{end}'
[Role,weave-net][ClusterRole,weave-net]
希望这可以帮助。
关于kubernetes - 如何在k8s中查看与特定服务帐户关联的权限/角色?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54602224/