SelfSubjectRulesReview

SelfSubjectRulesReview 枚举当前用户可以在某命名空间内执行的操作集合。

apiVersion: authorization.k8s.io/v1

import "k8s.io/api/authorization/v1"

SelfSubjectRulesReview

SelfSubjectRulesReview 枚举当前用户可以在某命名空间内执行的操作集合。 返回的操作列表可能不完整,具体取决于服务器的鉴权模式以及评估过程中遇到的任何错误。 SelfSubjectRulesReview 应由 UI 用于显示/隐藏操作,或让最终用户尽快理解自己的权限。 SelfSubjectRulesReview 不得被外部系统使用以驱动鉴权决策, 因为这会引起混淆代理人(confused deputy)、缓存有效期/吊销(cache lifetime/revocation)和正确性问题。 SubjectAccessReview 和 LocalAccessReview 是遵从 API 服务器所做鉴权决策的正确方式。


  • apiVersion: authorization.k8s.io/v1

  • kind: SelfSubjectRulesReview

  • metadata (ObjectMeta)

    标准的列表元数据。 更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

  • spec (SelfSubjectRulesReviewSpec),必需

    spec 包含有关正在评估的请求的信息。

  • status (SubjectRulesReviewStatus)

    status 由服务器填写,表示用户可以执行的操作的集合。

    SubjectRulesReviewStatus 包含规则检查的结果。 此检查可能不完整,具体取决于服务器配置的 Authorizer 的集合以及评估期间遇到的任何错误。 由于鉴权规则是叠加的,所以如果某个规则出现在列表中,即使该列表不完整,也可以安全地假定该主体拥有该权限。

    • status.incomplete (boolean),必需

      当此调用返回的规则不完整时,incomplete 结果为 true。 这种情况常见于 Authorizer(例如外部 Authorizer)不支持规则评估时。

    • status.nonResourceRules ([]NonResourceRule),必需

      nonResourceRules 是允许主体对非资源执行路径执行的操作列表。 该列表顺序不重要,可以包含重复项,还可能不完整。

      nonResourceRule 包含描述非资源路径的规则的信息。

  1. - **status.nonResourceRules.verbs** ([]string),必需
  2. verb kubernetes 非资源 API 动作的列表,例如 getpostputdeletepatchheadoptions
  3. "*" 表示所有动作。
  4. - **status.nonResourceRules.nonResourceURLs** ([]string)
  5. nonResourceURLs 是用户应有权访问的一组部分 URL
  6. 允许使用 "*",但仅能作为路径中最后一段且必须用于完整的一段。
  7. "*" 表示全部。
  • status.resourceRules ([]ResourceRule),必需

    resourceRules 是允许主体对资源执行的操作的列表。 该列表顺序不重要,可以包含重复项,还可能不完整。

    resourceRule 是允许主体对资源执行的操作的列表。该列表顺序不重要,可以包含重复项,还可能不完整。

    • status.resourceRules.verbs ([]string),必需

      verb 是 kubernetes 资源 API 动作的列表,例如 get、list、watch、create、update、delete、proxy。 “*“ 表示所有动作。

  1. - **status.resourceRules.apiGroups** ([]string)
  2. apiGroups 是包含资源的 APIGroup 的名称。
  3. 如果指定了多个 API 组,则允许对任何 API 组中枚举的资源之一请求任何操作。
  4. "*" 表示所有 APIGroup
  5. - **status.resourceRules.resourceNames** ([]string)
  6. resourceNames 是此规则所适用的资源名称白名单,可选。
  7. 空集合意味着允许所有资源。
  8. "*" 表示所有资源。
  9. - **status.resourceRules.resources** ([]string)
  10. resources 是此规则所适用的资源的列表。
  11. "*" 表示指定 APIGroup 中的所有资源。
  12. "*/foo" 表示指定 APIGroup 中所有资源的子资源 "foo"
  • status.evaluationError (string)

    evaluationError 可以与 rules 一起出现。 它表示在规则评估期间发生错误,例如 Authorizer 不支持规则评估以及 resourceRules 和/或 nonResourceRules 可能不完整。

SelfSubjectRulesReviewSpec

SelfSubjectRulesReviewSpec 定义 SelfSubjectRulesReview 的规范。


  • namespace (string)

    namespace 是要评估规则的命名空间。 必需。

操作


create 创建 SelfSubjectRulesReview

HTTP 请求

POST /apis/authorization.k8s.io/v1/selfsubjectrulesreviews

参数

响应

200 (SelfSubjectRulesReview): OK

201 (SelfSubjectRulesReview): Created

202 (SelfSubjectRulesReview): Accepted

401: Unauthorized

最后修改 June 10, 2022 at 8:25 PM PST: Switch language name ‘zh’ to ‘zh-cn’ (c52818c03d)