第 13 章 SubjectAccessReview [authorization.k8s.io/v1]
- 描述
- SubjectAccessReview 检查一个用户或组是否可以执行一个操作。
- 类型
- 
						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 | |
| 
								 | 
								 | SubjectAccessReviewSpec 是访问请求的描述。必须设置 ResourceAuthorizationAttributes 和 NonResourceAuthorizationAttributes 之一 | 
| 
								 | 
								 | SubjectAccessReviewStatus | 
13.1.1. .spec
- 描述
- SubjectAccessReviewSpec 是访问请求的描述。必须设置 ResourceAuthorizationAttributes 和 NonResourceAuthorizationAttributes 之一
- 类型
- 
								object
| 属性 | 类型 | 描述 | 
|---|---|---|
| 
									 | 
									 | Extra 对应于验证器中的 user.Info.GetExtra() 方法。由于这是对授权者的输入,因此需要反映在此处。 | 
| 
									 | 
									 | |
| 
									 | 
									 | Groups 是您要测试的组。 | 
| 
									 | 
									 | nonResourceAttributes 包括可用于对 Authorizer 接口的非资源请求的授权属性 | 
| 
									 | 
									 | ResourceAttributes 包含对 Authorizer 接口的资源请求的授权属性 | 
| 
									 | 
									 | 有关请求用户的 UID 信息。 | 
| 
									 | 
									 | 用户是您正在测试的用户。如果您指定了 "User" 而不是 "Groups",那么它将解释为"如果用户不是任何组的成员 | 
13.1.2. .spec.extra
- 描述
- Extra 对应于验证器中的 user.Info.GetExtra() 方法。由于这是对授权者的输入,因此需要反映在此处。
- 类型
- 
								object
13.1.3. .spec.nonResourceAttributes
- 描述
- nonResourceAttributes 包括可用于对 Authorizer 接口的非资源请求的授权属性
- 类型
- 
								object
| 属性 | 类型 | 描述 | 
|---|---|---|
| 
									 | 
									 | Path 是请求的 URL 路径 | 
| 
									 | 
									 | Verb 是标准 HTTP 动词 | 
13.1.4. .spec.resourceAttributes
- 描述
- ResourceAttributes 包含对 Authorizer 接口的资源请求的授权属性
- 类型
- 
								object
| 属性 | 类型 | 描述 | 
|---|---|---|
| 
									 | 
									 | Group 是 Resource 的 API 组。"*"代表所有。 | 
| 
									 | 
									 | Name 是为"get"请求的资源的名称,或删除"delete"。"" (空)表示全部。 | 
| 
									 | 
									 | namespace 是所请求操作的命名空间。目前,对于集群范围的资源 "" (empty),没有命名空间和所有命名空间"" (空)之间的差别,对于集群范围的资源 "" (空)代表"all"表示来自 SubjectAccessReview 或 SelfSubjectAccessReview 的命名空间范围资源 | 
| 
									 | 
									 | 资源是现有资源类型之一。"*"表示全部。 | 
| 
									 | 
									 | 子资源是现有资源类型之一。""表示 none。 | 
| 
									 | 
									 | verb 是一个 kubernetes 资源 API 动词,如: get, list, watch, create, update, delete, proxy. "*" 表示所有。 | 
| 
									 | 
									 | version 是资源的 API 版本。"*"表示所有。 | 
13.1.5. .status
- 描述
- SubjectAccessReviewStatus
- 类型
- 
								object
- 必填
- 
										allowed
 
- 
										
| 属性 | 类型 | 描述 | 
|---|---|---|
| 
									 | 
									 | Allowed 是必需的。True 代表操作被允许,false 代表不允许。 | 
| 
									 | 
									 | Denied 是可选的。如果被拒绝,则为 True,否则为 false。如果 allowed 和 denied 都为 false,则授权器没有对是否授权该操作的建议。如果 Allowed 为 true,则 Denied 可能不是 true。 | 
| 
									 | 
									 | EvaluationError 代表了在授权检查过程中发生了一些错误。完全有可能,在获得错误的情况下,可以继续确定授权状态。例如,RBAC 可能会缺少角色,但仍然存在足够的角色,并绑定到有关请求的原因。 | 
| 
									 | 
									 | reason 是可选的。它表示请求被允许或拒绝的原因。 |