---
api_metadata:
apiVersion: "authorization.k8s.io/v1"
import: "k8s.io/api/authorization/v1"
kind: "SelfSubjectAccessReview"
content_type: "api_reference"
description: "SelfSubjectAccessReview 检查当前用户是否可以执行某操作。"
title: "SelfSubjectAccessReview"
weight: 2
---
`apiVersion: authorization.k8s.io/v1`
`import "k8s.io/api/authorization/v1"`
## SelfSubjectAccessReview {#SelfSubjectAccessReview}
SelfSubjectAccessReview 检查当前用户是否可以执行某操作。
不填写 spec.namespace 表示 “在所有命名空间中”。
Self 是一个特殊情况,因为用户应始终能够检查自己是否可以执行某操作。
- **apiVersion**: authorization.k8s.io/v1
- **kind**: SelfSubjectAccessReview
- **metadata** (}}">ObjectMeta)
标准的列表元数据。更多信息:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
- **spec** (}}">SelfSubjectAccessReviewSpec),必需
spec 包含有关正在评估的请求的信息。
user 和 group 必须为空。
- **status** (}}">SubjectAccessReviewStatus)
status 由服务器填写,表示请求是否被允许。
## SelfSubjectAccessReviewSpec {#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 版本。
"*" 表示所有版本。
## 操作 {#Operations}
### `create` 创建 SelfSubjectAccessReview
#### HTTP 请求
POST /apis/authorization.k8s.io/v1/selfsubjectaccessreviews
#### 参数
- **body**: }}">SelfSubjectAccessReview,必需
- **dryRun** (**查询参数**): string
}}">dryRun
- **fieldManager** (**查询参数**): string
}}">fieldManager
- **fieldValidation** (**查询参数**): string
}}">fieldValidation
- **pretty** (**查询参数**): string
}}">pretty
#### 响应
200 (}}">SelfSubjectAccessReview): OK
201 (}}">SelfSubjectAccessReview): Created
202 (}}">SelfSubjectAccessReview): Accepted
401: Unauthorized