第 13 章 SelfSubjectRulesReview [authorization.k8s.io/v1]
- 描述
- SelfSubjectRulesReview 枚举了当前用户可以在一个命名空间内执行的操作集合。返回的操作列表可能并不完整,具体取决于服务器的授权模式,以及在评估过程中出现的任何错误。UI 应使用 SelfSubjectRulesReview 来显示/隐藏操作,或者快速让最终用户有关其权限的原因。它不应该被外部系统用来驱动授权决策,因为这会导致缓存生命周期/撤销、正确性的混淆SubjectAccessReview 和 LocalAccessReview 是将授权决策延迟到 API 服务器的正确方法。
- 类型
-
object
- 必填
-
spec
-
13.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 包含规则检查的结果。根据服务器配置的授权者集合以及评估过程中出现的任何错误,此检查可能不完整。由于授权规则是可添加的,如果规则出现在列表中,则假定主题具有该权限,即使该列表不完整。 |
13.1.1. .spec
- 描述
- SelfSubjectRulesReviewSpec 定义 SelfSubjectRulesReview 的规格。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 要评估规则的命名空间。必需。 |
13.1.2. .status
- 描述
- SubjectRulesReviewStatus 包含规则检查的结果。根据服务器配置的授权者集合以及评估过程中出现的任何错误,此检查可能不完整。由于授权规则是可添加的,如果规则出现在列表中,则假定主题具有该权限,即使该列表不完整。
- 类型
-
object
- 必填
-
resourceRules
-
nonResourceRules
-
incomplete
-
属性 | 类型 | 描述 |
---|---|---|
|
| EvaluationError 可以与 Rules 结合使用。它表示在规则评估过程中出现错误,如不支持规则评估的授权器,且 ResourceRules 和/或 NonResourceRules 可能不完整。 |
|
| 当此调用返回的规则不完整时,Incomplete 为 true。当授权者(如外部授权器)不支持规则评估时,这是最常出现的情况。 |
|
| NonResourceRules 是允许主体在非资源上执行的操作列表。列表排序并不重要,可能包含重复项,可能不完整。 |
|
| NonResourceRule 包含描述非资源规则的信息 |
|
| ResourceRules 是允许对资源执行的操作列表。列表排序并不重要,可能包含重复项,可能不完整。 |
|
| ResourceRule 是允许主体对资源执行的操作列表。列表排序并不重要,可能包含重复项,可能不完整。 |
13.1.3. .status.nonResourceRules
- 描述
- NonResourceRules 是允许主体在非资源上执行的操作列表。列表排序并不重要,可能包含重复项,可能不完整。
- 类型
-
array
13.1.4. .status.nonResourceRules[]
- 描述
- NonResourceRule 包含描述非资源规则的信息
- 类型
-
object
- 必填
-
verbs
-
属性 | 类型 | 描述 |
---|---|---|
|
| NonResourceURLs 是一组用户应该有权访问的部分 url。 是 allowed, 但只为 full, 路径中的最终步骤。 "" 代表所有。 |
|
| verb 是 kubernetes 非资源 API 动词列表,例如: get, post, put, delete, patch, head, options. "*" 表示所有。 |
13.1.5. .status.resourceRules
- 描述
- ResourceRules 是允许对资源执行的操作列表。列表排序并不重要,可能包含重复项,可能不完整。
- 类型
-
array
13.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. "*" 表示所有。 |