You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用kubectl auth can-i命令验证命名空间中PodSecurityPolicy的use权限?命令报错排查与用法正确性验证

解决kubectl auth can-i检查PSP权限的参数错误问题

你遇到的错误完全是因为命令的参数格式不符合要求,咱们一步步来修正:

1. 修正kubectl auth can-i命令格式

kubectl auth can-i要求的参数顺序是:verb → resource → [可选的resourceName],而且针对PodSecurityPolicy,需要使用完整的资源类型名称podsecuritypolicies(或者正确的别名用法)。你原来的命令里用了psp作为资源类型,虽然它是别名,但在这个命令场景下需要调整写法。

正确的命令有两种写法,任选其一即可:

  • 写法一:合并资源类型与名称
    kubectl auth --as=system:serviceaccount:mytest1:default can-i use podsecuritypolicies/00-mytest1
    
  • 写法二:分开指定资源类型和名称
    kubectl auth --as=system:serviceaccount:mytest1:default can-i use podsecuritypolicies 00-mytest1
    

执行修正后的命令,就能正常返回yes或no了。

2. 验证你的RBAC配置正确性

从你提供的psp.yaml、role.yaml和rb.yaml来看,你的权限配置是完全合法的:

  • PSP 00-mytest1定义了符合要求的安全约束规则
  • Role mytest1精准授权了use操作到指定的PSP资源
  • RoleBinding正确将该Role绑定到了mytest1命名空间的default服务账号

虽然PodSecurityPolicy是集群级资源,但Kubernetes允许通过命名空间级的Role+RoleBinding给命名空间内的主体授权使用特定PSP,这种配置方式是有效的,所以只要命令正确,应该会返回yes。

内容的提问来源于stack exchange,提问作者jack_t

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 10:12:40