SelfSubjectAccessReview

SelfSubjectAccessReview 检查当前用户是否可以执行某操作。

apiVersion: authorization.k8s.io/v1

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

SelfSubjectAccessReview

SelfSubjectAccessReview 检查当前用户是否可以执行某操作。 不填写 spec.namespace 表示 “在所有命名空间中”。 Self 是一个特殊情况,因为用户应始终能够检查自己是否可以执行某操作。


SelfSubjectAccessReviewSpec

SelfSubjectAccessReviewSpec 是访问请求的描述。 resourceAuthorizationAttributes 和 nonResourceAuthorizationAttributes 二者必须设置其一,并且只能设置其一。


  • nonResourceAttributes (NonResourceAttributes)

    nonResourceAttributes 描述非资源访问请求的信息。

    nonResourceAttributes 包括提供给 Authorizer 接口进行非资源请求鉴权时所用的属性。

    • nonResourceAttributes.path (string)

      path 是请求的 URL 路径。

    • nonResourceAttributes.verb (string)

      verb 是标准的 HTTP 动作。

  • resourceAttributes (ResourceAttributes)

    resourceAuthorizationAttributes 描述资源访问请求的信息。

    resourceAttributes 包括提供给 Authorizer 接口进行资源请求鉴权时所用的属性。

    • resourceAttributes.group (string)

      group 是资源的 API 组。 “*“ 表示所有组。

    • resourceAttributes.name (string)

      name 是 “get” 正在请求或 “delete” 已删除的资源的名称。 “”(空字符串)表示所有资源。

    • resourceAttributes.namespace (string)

      namespace 是正在请求的操作的命名空间。 目前,无命名空间和所有命名空间之间没有区别。 对于 LocalSubjectAccessReviews,默认为 “”(空字符串)。 对于集群范围的资源,默认为 “”(空字符串)。 对于来自 SubjectAccessReview 或 SelfSubjectAccessReview 的命名空间范围的资源, “”(空字符串)表示 “all”(所有资源)。

    • resourceAttributes.resource (string)

      resource 是现有的资源类别之一。 “*“ 表示所有资源类别。

    • resourceAttributes.subresource (string)

      subresource 是现有的资源类型之一。 “” 表示无。

    • resourceAttributes.verb (string)

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

    • resourceAttributes.version (string)

      version 是资源的 API 版本。 “*“ 表示所有版本。

操作


create 创建 SelfSubjectAccessReview

HTTP 请求

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

参数

响应

200 (SelfSubjectAccessReview): OK

201 (SelfSubjectAccessReview): Created

202 (SelfSubjectAccessReview): Accepted

401: Unauthorized