首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用'kubectl auth can -i... psp‘检查是否在命名空间中授权了podsecuritypolicy的'use’?

如何使用'kubectl auth can -i... psp‘检查是否在命名空间中授权了podsecuritypolicy的'use’?
EN

Stack Overflow用户
提问于 2021-09-09 14:10:34
回答 1查看 76关注 0票数 1

返回以下错误:

代码语言:javascript
复制
error: you must specify two or three arguments: verb, resource, and optional resourceName

当我执行的时候:

代码语言:javascript
复制
kubectl auth --as=system:serviceaccount:mytest1:default can-i use psp 00-mytest1

我已经有了以下针对podsecuritypolicy (psp.yaml)、role (role.yaml)和rolebinding (rb.yaml)的清单,并部署在名称空间mytest1中。

psp.yaml

代码语言:javascript
复制
    apiVersion: policy/v1beta1
    kind: PodSecurityPolicy
    metadata:
      name: 00-mytest1
      labels: {}
      annotations:
        seccomp.security.alpha.kubernetes.io/allowedProfileNames: 'runtime/default'
        seccomp.security.alpha.kubernetes.io/defaultProfileName:  'runtime/default'
    spec:
      privileged: false
      allowPrivilegeEscalation: false
      requiredDropCapabilities:
      - ALL
      runAsUser:
        rule: 'MustRunAsNonRoot'
      runAsGroup:
        rule: 'MustRunAs'
        ranges:
        - min: 1000 
          max: 1000
        - min: 1
          max: 65535
      supplementalGroups:
        rule: 'MayRunAs'
        ranges:
        - min: 1
          max: 65535
      fsGroup:
        rule: 'MayRunAs'
        ranges:
        - min: 1
          max: 65535
      seLinux:
        rule: 'RunAsAny'
      hostNetwork: false
      hostIPC: false
      hostPID: false
      hostPorts: []
      volumes:
      - configMap
      - downwardAPI
      - emptyDir
      - projected
      - secret

role.yaml

代码语言:javascript
复制
    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      name: mytest1
      namespace: "mytest1"
      labels: {}
    rules:
    - apiGroups: ['policy']
      resources: ['podsecuritypolicies']
      verbs:     ['use']
      resourceNames: ['00-mytest1']

和rb.yaml

代码语言:javascript
复制
    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: mytest1
      namespace: "mytest1"
      labels: {}
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: Role
      name: mytest1
    subjects:
    - kind: ServiceAccount
      name: default
      namespace: "mytest1"

我期望返回kubectl auth can-i ...检查的yesno,而不是上面提到的错误。身份验证检查的用例是否正确?我感谢他的指正。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-13 11:10:14

您缺少标志--subresource。如果我执行

代码语言:javascript
复制
kubectl auth --as=system:serviceaccount:mytest1:default can-i use psp --subresource=00-mytest1

我有明确的答案。在我的情况下:

代码语言:javascript
复制
no

您还可以收到类似下面这样的警告:

代码语言:javascript
复制
Warning: resource 'podsecuritypolicies' is not namespace scoped in group 'policy'

但它与您的配置直接相关。

有关kubectl auth can-i命令的更多信息,请查看

代码语言:javascript
复制
kubectl auth can-i --help

在你的终端里。您还可以阅读this doc

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69119755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档