9.5. SubjectAccessReview [authorization.k8s.io/v1]


描述
SubjectAccessReview 检查一个用户或组是否可以执行一个操作。
类型
object
必填
  • spec

9.5.1. 规格

属性类型描述

apiVersion

字符串

APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

字符串

kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

ObjectMeta

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

spec

object

SubjectAccessReviewSpec 是访问请求的描述。必须设置 ResourceAuthorizationAttributes 和 NonResourceAuthorizationAttributes 之一

status

object

SubjectAccessReviewStatus

9.5.1.1. .spec

描述
SubjectAccessReviewSpec 是访问请求的描述。必须设置 ResourceAuthorizationAttributes 和 NonResourceAuthorizationAttributes 之一
类型
object
属性类型描述

extra

object

Extra 对应于验证器中的 user.Info.GetExtra() 方法。由于这是对授权者的输入,因此需要反映在此处。

extra{}

数组(字符串)

 

groups

数组(字符串)

Groups 是您要测试的组。

nonResourceAttributes

object

nonResourceAttributes 包括可用于对 Authorizer 接口的非资源请求的授权属性

resourceAttributes

object

ResourceAttributes 包含对 Authorizer 接口的资源请求的授权属性

uid

字符串

有关请求用户的 UID 信息。

user

字符串

用户是您正在测试的用户。如果您指定了 "User" 而不是 "Groups",那么它将解释为"如果用户不是任何组的成员

9.5.1.2. .spec.extra

描述
Extra 对应于验证器中的 user.Info.GetExtra() 方法。由于这是对授权者的输入,因此需要反映在此处。
类型
object

9.5.1.3. .spec.nonResourceAttributes

描述
nonResourceAttributes 包括可用于对 Authorizer 接口的非资源请求的授权属性
类型
object
属性类型描述

path

字符串

Path 是请求的 URL 路径

verb

字符串

Verb 是标准 HTTP 动词

9.5.1.4. .spec.resourceAttributes

描述
ResourceAttributes 包含对 Authorizer 接口的资源请求的授权属性
类型
object
属性类型描述

group

字符串

Group 是 Resource 的 API 组。"*"代表所有。

name

字符串

Name 是为"get"请求的资源的名称,或删除"delete"。"" (空)表示全部。

namespace

字符串

namespace 是所请求操作的命名空间。目前,对于集群范围的资源 "" (empty),没有命名空间和所有命名空间"" (空)之间的差别,对于集群范围的资源 "" (空)代表"all"表示来自 SubjectAccessReview 或 SelfSubjectAccessReview 的命名空间范围资源

resource

字符串

资源是现有资源类型之一。"*"表示全部。

subresource

字符串

子资源是现有资源类型之一。""表示 none。

verb

字符串

verb 是一个 kubernetes 资源 API 动词,如: get, list, watch, create, update, delete, proxy. "*" 表示所有。

version

字符串

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

9.5.1.5. .status

描述
SubjectAccessReviewStatus
类型
object
必填
  • allowed
属性类型描述

allowed

布尔值

Allowed 是必需的。True 代表操作被允许,false 代表不允许。

已拒绝

布尔值

Denied 是可选的。如果被拒绝,则为 True,否则为 false。如果 allowed 和 denied 都为 false,则授权器没有对是否授权该操作的建议。如果 Allowed 为 true,则 Denied 可能不是 true。

evaluationError

字符串

EvaluationError 代表了在授权检查过程中发生了一些错误。完全有可能,在获得错误的情况下,可以继续确定授权状态。例如,RBAC 可能会缺少角色,但仍然存在足够的角色,并绑定到有关请求的原因。

reason

字符串

reason 是可选的。它表示请求被允许或拒绝的原因。

9.5.2. API 端点

可用的 API 端点如下:

  • /apis/authorization.k8s.io/v1/subjectaccessreviews

    • POST: 创建一个 SubjectAccessReview

9.5.2.1. /apis/authorization.k8s.io/v1/subjectaccessreviews

表 9.11. 全局查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldManager

字符串

fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

HTTP 方法
POST
描述
创建一个 SubjectAccessReview
表 9.12. 主体参数
参数类型描述

正文(body)

SubjectAccessReview 模式

 
表 9.13. HTTP 响应
HTTP 代码响应正文

200 - OK

SubjectAccessReview 模式

201 - Created

SubjectAccessReview 模式

202 - Accepted

SubjectAccessReview 模式

401 - Unauthorized

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.