第 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. "*" 表示所有。 |