9.4. SelfSubjectRulesReview [authorization.k8s.io/v1]
- 描述
- SelfSubjectRulesReview 枚举了当前用户可以在一个命名空间内执行的操作集合。返回的操作列表可能不完整,具体取决于服务器的授权模式,以及在评估过程中遇到的任何错误。UI 使用 SelfSubjectRulesReview 来显示/隐藏操作,或者快速让最终用户有关其权限的原因。它不应该被外部系统用来驱动授权决策,因为这会产生混淆、缓存生命周期/撤销和纠正问题。SubjectAccessReview 和 LocalAccessReview 是将授权决策延迟到 API 服务器的正确方法。
- 类型
-
对象
- 必填
-
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 包含规则检查的结果。根据服务器配置的授权程序集以及评估过程中遇到的任何错误,此检查可能不完整。由于授权规则是 additive,因此如果规则出现在列表中,它可以安全地假定主题具有该权限,即使该列表不完整。 |
9.4.1.1. .spec
- 描述
- SelfSubjectRulesReviewSpec 定义 SelfSubjectRulesReview 的规格。
- 类型
-
对象
属性 | 类型 | 描述 |
---|---|---|
|
| 用于评估规则的命名空间。必需。 |
9.4.1.2. .status
- 描述
- SubjectRulesReviewStatus 包含规则检查的结果。根据服务器配置的授权程序集以及评估过程中遇到的任何错误,此检查可能不完整。由于授权规则是 additive,因此如果规则出现在列表中,它可以安全地假定主题具有该权限,即使该列表不完整。
- 类型
-
对象
- 必填
-
resourceRules
-
nonResourceRules
-
incomplete
-
属性 | 类型 | 描述 |
---|---|---|
|
| EvaluationError 可以与 Rules 结合使用。它表示在规则评估过程中出现错误,如不支持规则评估的授权器,并且 ResourceRules 和/或 NonResourceRules 可能不完整。 |
|
| 当此调用返回的规则不完整时,不完整。当授权者(如外部授权器)不支持规则评估时,这最常遇到。 |
|
| nonResourceRules 是主题允许在非资源上执行的操作列表。列表排序不重要,可能包含重复项,可能不完整。 |
|
| NonResourceRule 包含描述非资源规则的信息 |
|
| resourceRules 是主题允许对资源执行的操作列表。列表排序不重要,可能包含重复项,可能不完整。 |
|
| ResourceRule 是主题允许对资源执行的操作列表。列表排序不重要,可能包含重复项,可能不完整。 |
9.4.1.3. .status.nonResourceRules
- 描述
- nonResourceRules 是主题允许在非资源上执行的操作列表。列表排序不重要,可能包含重复项,可能不完整。
- 类型
-
array
9.4.1.4. .status.nonResourceRules[]
- 描述
- NonResourceRule 包含描述非资源规则的信息
- 类型
-
对象
- 必填
-
verbs
-
属性 | 类型 | 描述 |
---|---|---|
|
| NonResourceURLs 是用户应有权访问的一组部分 url。允许 s,但仅作为路径中的最后一步。"表示全部。 |
|
| verb 是 kubernetes 非资源 API 动词列表,如 get, post, put, delete, patch, head, options。"*" 表示 all。 |
9.4.1.5. .status.resourceRules
- 描述
- resourceRules 是主题允许对资源执行的操作列表。列表排序不重要,可能包含重复项,可能不完整。
- 类型
-
array
9.4.1.6. .status.resourceRules[]
- 描述
- ResourceRule 是主题允许对资源执行的操作列表。列表排序不重要,可能包含重复项,可能不完整。
- 类型
-
对象
- 必填
-
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 之前的默认行为:这会通过从对象丢弃的每个未知字段以及遇到的每个重复字段来发送警告。如果没有其他错误,请求仍会成功,且只保留任何重复字段的最后一个。这是 v1.23+ - Strict 的默认值:如果从对象中删除任何未知字段,或者存在任何重复字段,则会失败并显示 BadRequest 错误。从服务器返回的错误将包含遇到的所有未知和重复字段。 |
|
| 如果 'true',则输出会输出。 |
- HTTP 方法
-
POST
- 描述
- 创建一个 SelfSubjectRulesReview
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
202 - Accepted | |
401 - Unauthorized | 空 |