SubjectAccessReview 检查用户或组是否可以执行操作。
SubjectAccessReview 检查用户或组是否可以执行操作。
对象
spec
属性 | 类型 | 描述 |
---|---|---|
|
|
APIVersion 定义对象的此表示形式的版本化模式。服务器应将识别的模式转换为最新的内部值,并可能拒绝无法识别的值。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
|
Kind 是一个字符串值,表示此对象表示的 REST 资源。服务器可以从客户端提交请求的端点推断出这一点。不能更新。采用驼峰命名法。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
标准列表元数据。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata |
|
|
|
SubjectAccessReviewSpec 是访问请求的描述。必须设置 ResourceAuthorizationAttributes 和 NonResourceAuthorizationAttributes 中的一个。 |
|
|
SubjectAccessReviewStatus |
SubjectAccessReviewSpec 是访问请求的描述。必须设置 ResourceAuthorizationAttributes 和 NonResourceAuthorizationAttributes 中的一个。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
extra 对应于身份验证器中的 user.Info.GetExtra() 方法。由于它是授权器的输入,因此需要在此处进行反射。 |
|
|
|
|
|
Groups 是您正在测试的组。 |
|
|
NonResourceAttributes 包含可用于对 Authorizer 接口进行非资源请求的授权属性。 |
|
|
ResourceAttributes 包含可用于对 Authorizer 接口进行资源请求的授权属性。 |
|
|
关于请求用户的 UID 信息。 |
|
|
User 是您正在测试的用户。如果您指定“User”但未指定“Groups”,则将其解释为“如果 User 不是任何组的成员会怎样”。 |
NonResourceAttributes 包含可用于对 Authorizer 接口进行非资源请求的授权属性。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Path 是请求的 URL 路径。 |
|
|
Verb 是标准的 HTTP 动词。 |
ResourceAttributes 包含可用于对 Authorizer 接口进行资源请求的授权属性。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Group 是资源的 API 组。“*” 表示所有。 |
|
|
Name 是针对“get”请求获取的资源名称,或针对“delete”请求删除的资源名称。“”(空)表示所有。 |
|
|
Namespace 是请求操作的命名空间。目前,没有命名空间和所有命名空间之间没有区别。“”(空)对于 LocalSubjectAccessReviews 默认为空;对于集群范围的资源,“”(空)为空;对于来自 SubjectAccessReview 或 SelfSubjectAccessReview 的命名空间范围的资源,“”(空)表示“所有”。 |
|
|
Resource 是现有资源类型之一。“*” 表示所有。 |
|
|
Subresource 是现有资源类型之一。“”表示无。 |
|
|
Verb 是 Kubernetes 资源 API 动词,例如:get、list、watch、create、update、delete、proxy。“*” 表示所有。 |
|
|
Version 是资源的 API 版本。“*” 表示所有。 |
SubjectAccessReviewStatus
对象
allowed(允许)
属性 | 类型 | 描述 |
---|---|---|
|
|
Allowed 是必需的。如果操作允许,则为 True,否则为 False。 |
|
|
Denied 是可选的。如果操作被拒绝,则为 True,否则为 False。如果 allowed 为 False 且 denied 为 False,则授权器对是否授权操作没有意见。如果 Allowed 为 True,则 Denied 不能为 True。 |
|
|
EvaluationError 表示授权检查期间发生了一些错误。即使出现错误,仍然可以继续确定授权状态。例如,RBAC 可能缺少角色,但仍然存在足够的绑定角色来判断请求。 |
|
|
Reason 是可选的。它指明了请求被允许或拒绝的原因。 |
提供以下 API 端点:
/apis/authorization.k8s.io/v1/subjectaccessreviews
POST
:创建 SubjectAccessReview
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段。 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何被对象静默丢弃的未知字段,并将忽略解码器遇到的所有重复字段(只保留最后一个)。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 的默认值。- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
POST
创建 SubjectAccessReview
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - Unauthorized |
空 |