×
描述

LocalSubjectAccessReview 检查用户或组是否可以在给定命名空间中执行操作。拥有命名空间范围的资源使得授予包含权限检查的命名空间范围策略更加容易。

类型

对象

必需
  • spec

规格

属性 类型 描述

apiVersion

字符串

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

kind

字符串

Kind 是一个字符串值,表示此对象表示的 REST 资源。服务器可以从客户端提交请求的端点推断出这一点。无法更新。使用驼峰命名法。更多信息: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

对象

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

status

对象

SubjectAccessReviewStatus

.spec

描述

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

类型

对象

属性 类型 描述

extra

对象

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

extra{}

数组 (字符串)

groups

数组 (字符串)

Groups 是您正在测试的组。

nonResourceAttributes

对象

NonResourceAttributes 包括可用于对 Authorizer 接口进行非资源请求的授权属性。

resourceAttributes

对象

ResourceAttributes 包括可用于对 Authorizer 接口进行资源请求的授权属性。

uid

字符串

有关请求用户的 UID 信息。

user

字符串

User 是您正在测试的用户。如果您指定了“User”但没有指定“Groups”,则将其解释为“如果 User 不是任何组的成员会怎样”。

.spec.extra

描述

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

类型

对象

.spec.nonResourceAttributes

描述

NonResourceAttributes 包括可用于对 Authorizer 接口进行非资源请求的授权属性。

类型

对象

属性 类型 描述

path

字符串

Path 是请求的 URL 路径。

verb

字符串

Verb 是标准的 HTTP 动词。

.spec.resourceAttributes

描述

ResourceAttributes 包括可用于对 Authorizer 接口进行资源请求的授权属性。

类型

对象

属性 类型 描述

group

字符串

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

name

字符串

Name 是针对“get”请求的资源名称或针对“delete”请求被删除的资源名称。“”(空)表示所有。

namespace

字符串

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

resource

字符串

Resource 是现有资源类型之一。“*”表示所有。

subresource

字符串

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

verb

字符串

Verb 是 Kubernetes 资源 API 动词,例如:get、list、watch、create、update、delete、proxy。“*”表示所有。

version

字符串

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

.status

描述

SubjectAccessReviewStatus

类型

对象

必需
  • allowed

属性 类型 描述

allowed

布尔值

Allowed 是必需的。如果允许该操作,则为 True;否则为 False。

denied

布尔值

Denied 是可选的。如果拒绝该操作,则为 True;否则为 False。如果 allowed 为 false 且 denied 为 false,则授权器对是否授权该操作没有意见。如果 Allowed 为 true,则 Denied 不能为 true。

evaluationError

字符串

EvaluationError 表示授权检查期间发生了一些错误。完全有可能出现错误,并且仍然能够继续确定授权状态。例如,RBAC 可能缺少角色,但仍然存在足够的绑定角色来判断请求。

reason

字符串

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

API 端点

提供以下 API 端点

  • /apis/authorization.k8s.io/v1/namespaces/{namespace}/localsubjectaccessreviews

    • POST:创建 LocalSubjectAccessReview

/apis/authorization.k8s.io/v1/namespaces/{namespace}/localsubjectaccessreviews

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

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

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

HTTP 方法

POST

描述

创建 LocalSubjectAccessReview

表 2. 请求体参数
参数 类型 描述

body

LocalSubjectAccessReview 模式

表 3. HTTP 响应
HTTP 代码 响应体

200 - OK

LocalSubjectAccessReview 模式

201 - 已创建

LocalSubjectAccessReview 模式

202 - 已接受

LocalSubjectAccessReview 模式

401 - 未授权