×
描述

SelfSubjectRulesReview 枚举当前用户可以在命名空间内执行的一组操作。返回的操作列表可能不完整,具体取决于服务器的授权模式以及评估期间遇到的任何错误。SelfSubjectRulesReview 应由 UI 用于显示/隐藏操作,或快速让最终用户了解其权限。它不应被外部系统用于驱动授权决策,因为这会引发混淆代理、缓存生命周期/撤销和正确性问题。SubjectAccessReview 和 LocalAccessReview 是将授权决策推迟到 API 服务器的正确方法。

类型

对象

必需
  • 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

对象

SelfSubjectRulesReviewSpec 定义 SelfSubjectRulesReview 的规范。

status

对象

SubjectRulesReviewStatus 包含规则检查的结果。此检查可能不完整,具体取决于服务器配置的授权器集以及评估过程中遇到的任何错误。由于授权规则是累加的,如果规则出现在列表中,则可以安全地假设主体具有该权限,即使该列表不完整。

.spec

描述

SelfSubjectRulesReviewSpec 定义 SelfSubjectRulesReview 的规范。

类型

对象

属性 类型 描述

namespace

字符串

用于评估规则的命名空间。必需。

.status

描述

SubjectRulesReviewStatus 包含规则检查的结果。此检查可能不完整,具体取决于服务器配置的授权器集以及评估过程中遇到的任何错误。由于授权规则是累加的,如果规则出现在列表中,则可以安全地假设主体具有该权限,即使该列表不完整。

类型

对象

必需
  • resourceRules

  • nonResourceRules

  • incomplete

属性 类型 描述

evaluationError

字符串

EvaluationError 可能与 Rules 结合出现。它表示在规则评估期间发生错误,例如授权器不支持规则评估,并且 ResourceRules 和/或 NonResourceRules 可能不完整。

incomplete

布尔值

当此调用返回的规则不完整时,Incomplete 为 true。当授权器(例如外部授权器)不支持规则评估时,最常遇到这种情况。

nonResourceRules

数组

NonResourceRules 是主体被允许对非资源执行的操作列表。列表顺序无关紧要,可能包含重复项,也可能不完整。

nonResourceRules[]

对象

NonResourceRule 包含描述非资源规则的信息。

resourceRules

数组

ResourceRules 是主体被允许对资源执行的操作列表。列表顺序无关紧要,可能包含重复项,也可能不完整。

resourceRules[]

对象

ResourceRule 是主体被允许对资源执行的操作列表。列表顺序无关紧要,可能包含重复项,也可能不完整。

.status.nonResourceRules

描述

NonResourceRules 是主体被允许对非资源执行的操作列表。列表顺序无关紧要,可能包含重复项,也可能不完整。

类型

数组

.status.nonResourceRules[]

描述

NonResourceRule 包含描述非资源规则的信息。

类型

对象

必需
  • verbs

属性 类型 描述

nonResourceURLs

数组 (字符串)

NonResourceURLs 是一组用户应该可以访问的部分 URL。**仅允许作为路径中完整、最终步骤使用。“*”表示全部。**

verbs

数组 (字符串)

Verb 是 Kubernetes 非资源 API 动词列表,例如:get、post、put、delete、patch、head、options。“*”表示全部。

.status.resourceRules

描述

ResourceRules 是主体被允许对资源执行的操作列表。列表顺序无关紧要,可能包含重复项,也可能不完整。

类型

数组

.status.resourceRules[]

描述

ResourceRule 是主体被允许对资源执行的操作列表。列表顺序无关紧要,可能包含重复项,也可能不完整。

类型

对象

必需
  • verbs

属性 类型 描述

apiGroups

数组 (字符串)

APIGroups 是包含资源的 APIGroup 的名称。如果指定多个 API 组,则对任何列出的资源在任何 API 组中请求的任何操作都将被允许。“*”表示全部。

resourceNames

数组 (字符串)

ResourceNames 是规则适用的名称的可选白名单。空集表示允许所有内容。“*”表示全部。

resources

数组 (字符串)

Resources 是此规则适用的资源列表。“*”表示指定 apiGroups 中的所有资源。“*/foo”表示指定 apiGroups 中所有资源的子资源“foo”。

verbs

数组 (字符串)

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

API 端点

提供以下 API 端点

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

    • POST:创建 SelfSubjectRulesReview

/apis/authorization.k8s.io/v1/selfsubjectrulesreviews

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

dryRun

字符串

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

fieldValidation

字符串

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

HTTP 方法

POST

描述

创建 SelfSubjectRulesReview

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

body

SelfSubjectRulesReview 模式

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

200 - OK

SelfSubjectRulesReview 模式

201 - 已创建

SelfSubjectRulesReview 模式

202 - 已接受

SelfSubjectRulesReview 模式

401 - 未授权