LocalSubjectAccessReview 检查用户或组是否可以在给定命名空间中执行操作。拥有命名空间范围的资源使得授予包含权限检查的命名空间范围策略更加容易。
LocalSubjectAccessReview 检查用户或组是否可以在给定命名空间中执行操作。拥有命名空间范围的资源使得授予包含权限检查的命名空间范围策略更加容易。
对象
spec
属性 | 类型 | 描述 |
---|---|---|
|
|
APIVersion 定义了对象此表示的版本化模式。服务器应将识别的模式转换为最新的内部值,并可能拒绝无法识别的值。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
|
Kind 是一个字符串值,表示此对象表示的 REST 资源。服务器可以从客户端提交请求的端点推断出这一点。无法更新。使用驼峰命名法。更多信息: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 |
SubjectAccessReviewSpec 是访问请求的描述。必须设置 ResourceAuthorizationAttributes 和 NonResourceAuthorizationAttributes 中的一个。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Extra 对应于身份验证器中的 user.Info.GetExtra() 方法。由于这是授权器的输入,因此需要在此处进行反射。 |
|
|
|
|
|
Groups 是您正在测试的组。 |
|
|
NonResourceAttributes 包括可用于对 Authorizer 接口进行非资源请求的授权属性。 |
|
|
ResourceAttributes 包括可用于对 Authorizer 接口进行资源请求的授权属性。 |
|
|
有关请求用户的 UID 信息。 |
|
|
User 是您正在测试的用户。如果您指定了“User”但没有指定“Groups”,则将其解释为“如果 User 不是任何组的成员会怎样”。 |
NonResourceAttributes 包括可用于对 Authorizer 接口进行非资源请求的授权属性。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Path 是请求的 URL 路径。 |
|
|
Verb 是标准的 HTTP 动词。 |
ResourceAttributes 包括可用于对 Authorizer 接口进行资源请求的授权属性。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Group 是资源的 API 组。“*”表示所有。 |
|
|
Name 是针对“get”请求的资源名称或针对“delete”请求被删除的资源名称。“”(空)表示所有。 |
|
|
Namespace 是正在请求的操作的命名空间。目前,命名空间不存在和所有命名空间之间没有区别。“”(空)是 LocalSubjectAccessReviews 的默认值。“”(空)对于集群范围的资源为空。“”(空)对于来自 SubjectAccessReview 或 SelfSubjectAccessReview 的命名空间范围的资源表示“所有”。 |
|
|
Resource 是现有资源类型之一。“*”表示所有。 |
|
|
Subresource 是现有资源类型之一。“”表示无。 |
|
|
Verb 是 Kubernetes 资源 API 动词,例如:get、list、watch、create、update、delete、proxy。“*”表示所有。 |
|
|
Version 是资源的 API 版本。“*”表示所有。 |
SubjectAccessReviewStatus
对象
allowed
属性 | 类型 | 描述 |
---|---|---|
|
|
Allowed 是必需的。如果允许该操作,则为 True;否则为 False。 |
|
|
Denied 是可选的。如果拒绝该操作,则为 True;否则为 False。如果 allowed 为 false 且 denied 为 false,则授权器对是否授权该操作没有意见。如果 Allowed 为 true,则 Denied 不能为 true。 |
|
|
EvaluationError 表示授权检查期间发生了一些错误。完全有可能出现错误,并且仍然能够继续确定授权状态。例如,RBAC 可能缺少角色,但仍然存在足够的绑定角色来判断请求。 |
|
|
Reason 是可选的。它指示请求被允许或拒绝的原因。 |
提供以下 API 端点
/apis/authorization.k8s.io/v1/namespaces/{namespace}/localsubjectaccessreviews
POST
:创建 LocalSubjectAccessReview
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何从对象中静默删除的未知字段,并将忽略解码器遇到的所有重复字段(仅保留最后一个)。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只保留任何重复字段中的最后一个。这是 v1.23 及更高版本的默认值。- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
POST
创建 LocalSubjectAccessReview
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
202 - 已接受 |
|
401 - 未授权 |
空 |