kubectl can-i命令的语法是什么?

时间:2019-07-03 20:25:53

标签: kubernetes

如何使用can-i命令?似乎这里没有完整记录:

https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#-em-can-i-em-(未提及--as)。


以下所有结果似乎都是荒谬的:

kubectl auth can-i list pod --as=default3ueoaueo --as-group=system:authenticated --as-group=system:masters
yes

以上将返回yes之后的任何内容(此处指定的任何用户)的--as=

另一方面,默认用户帐户(或我尝试使用的任何其他帐户)似乎完全没有权限:

kubectl auth can-i list pod --as=default                                                                  
no

kubectl auth can-i list pod --as=default:serviceaccount:default
no

根据https://github.com/kubernetes/kubernetes/issues/73123,我们只添加--as-group=system:authenticated,但这也不起作用:

kubectl auth can-i list pod --as=serviceaccount:default  --as-group=system:authenticated 
no

1 个答案:

答案 0 :(得分:0)

'--as'参数与kubectl命令一起使用被称为“用户模拟”,并记录在官方文档here中。

如果您试图将用户模拟为“ serviceaccounts”之类的API资源,
正确的语法为:'--as=system:serviceaccount:default:default'