第 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 是可选的。它表示请求被允许或拒绝的原因。 |