9.4. SelfSubjectRulesReview [authorization.k8s.io/v1]
- 描述
- SelfSubjectRulesReview 枚举了当前用户可以在一个命名空间内执行的操作集合。返回的操作列表可能并不完整,具体取决于服务器的授权模式,以及在评估过程中出现的任何错误。UI 应使用 SelfSubjectRulesReview 来显示/隐藏操作,或者快速让最终用户有关其权限的原因。它不应该被外部系统用来驱动授权决策,因为这会导致缓存生命周期/撤销、正确性的混淆SubjectAccessReview 和 LocalAccessReview 是将授权决策延迟到 API 服务器的正确方法。
- 类型
-
object
- 必填
-
spec
-
9.4.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: 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 | |
|
| SelfSubjectRulesReviewSpec 定义 SelfSubjectRulesReview 的规格。 |
|
| SubjectRulesReviewStatus 包含规则检查的结果。根据服务器配置的授权者集合以及评估过程中出现的任何错误,此检查可能不完整。由于授权规则是可添加的,如果规则出现在列表中,则假定主题具有该权限,即使该列表不完整。 |
9.4.1.1. .spec
- 描述
- SelfSubjectRulesReviewSpec 定义 SelfSubjectRulesReview 的规格。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 要评估规则的命名空间。必需。 |
9.4.1.2. .status
- 描述
- SubjectRulesReviewStatus 包含规则检查的结果。根据服务器配置的授权者集合以及评估过程中出现的任何错误,此检查可能不完整。由于授权规则是可添加的,如果规则出现在列表中,则假定主题具有该权限,即使该列表不完整。
- 类型
-
object
- 必填
-
resourceRules
-
nonResourceRules
-
incomplete
-
属性 | 类型 | 描述 |
---|---|---|
|
| EvaluationError 可以与 Rules 结合使用。它表示在规则评估过程中出现错误,如不支持规则评估的授权器,且 ResourceRules 和/或 NonResourceRules 可能不完整。 |
|
| 当此调用返回的规则不完整时,Incomplete 为 true。当授权者(如外部授权器)不支持规则评估时,这是最常出现的情况。 |
|
| NonResourceRules 是允许主体在非资源上执行的操作列表。列表排序并不重要,可能包含重复项,可能不完整。 |
|
| NonResourceRule 包含描述非资源规则的信息 |
|
| ResourceRules 是允许对资源执行的操作列表。列表排序并不重要,可能包含重复项,可能不完整。 |
|
| ResourceRule 是允许主体对资源执行的操作列表。列表排序并不重要,可能包含重复项,可能不完整。 |
9.4.1.3. .status.nonResourceRules
- 描述
- NonResourceRules 是允许主体在非资源上执行的操作列表。列表排序并不重要,可能包含重复项,可能不完整。
- 类型
-
array
9.4.1.4. .status.nonResourceRules[]
- 描述
- NonResourceRule 包含描述非资源规则的信息
- 类型
-
object
- 必填
-
verbs
-
属性 | 类型 | 描述 |
---|---|---|
|
| NonResourceURLs 是一组用户应该有权访问的部分 url。 是 allowed, 但只为 full, 路径中的最终步骤。 "" 代表所有。 |
|
| verb 是 kubernetes 非资源 API 动词列表,例如: get, post, put, delete, patch, head, options. "*" 表示所有。 |
9.4.1.5. .status.resourceRules
- 描述
- ResourceRules 是允许对资源执行的操作列表。列表排序并不重要,可能包含重复项,可能不完整。
- 类型
-
array
9.4.1.6. .status.resourceRules[]
- 描述
- ResourceRule 是允许主体对资源执行的操作列表。列表排序并不重要,可能包含重复项,可能不完整。
- 类型
-
object
- 必填
-
verbs
-
属性 | 类型 | 描述 |
---|---|---|
|
| APIGroups 是包含资源的 APIGroup 的名称。如果指定了多个 API 组,则允许针对任何 API 组中的一个枚举资源请求的任何操作。"*"表示所有。 |
|
| resourceNames 是一个可选的规则应用到的名称白名单。一个空集合表示允许所有内容。"*"表示所有。 |
|
| Resources 是此规则应用到的资源列表。"" 表示指定的 apiGroups 中的所有。"/foo" 代表指定 apiGroups 中所有资源的子资源 'foo'。 |
|
| verb 是一个 kubernetes 资源 API 动词,如: get, list, watch, create, update, delete, proxy. "*" 表示所有。 |
9.4.2. API 端点
可用的 API 端点如下:
/apis/authorization.k8s.io/v1/selfsubjectrulesreviews
-
POST
:创建一个 SelfSubjectRulesReview
-
9.4.2.1. /apis/authorization.k8s.io/v1/selfsubjectrulesreviews
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
|
| 如果为 'true',则输出会经过 pretty print 处理。 |
- HTTP 方法
-
POST
- 描述
- 创建一个 SelfSubjectRulesReview
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - Unauthorized | 空 |