如何使用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
答案 0 :(得分:0)
将'--as'
参数与kubectl
命令一起使用被称为“用户模拟”,并记录在官方文档here中。
如果您试图将用户模拟为“ serviceaccounts”之类的API资源,
正确的语法为:'--as=system:serviceaccount:default:default
'