SelfSubjectRulesReview
apiVersion: authorization.k8s.io/v1
import "k8s.io/api/authorization/v1"
SelfSubjectRulesReview
SelfSubjectRulesReview 枚举当前用户可以在某命名空间内执行的操作集合。 返回的操作列表可能不完整,具体取决于服务器的鉴权模式以及评估过程中遇到的任何错误。 SelfSubjectRulesReview 应由 UI 用于显示/隐藏操作,或让最终用户尽快理解自己的权限。 SelfSubjectRulesReview 不得被外部系统使用以驱动鉴权决策, 因为这会引起混淆代理人(Confused deputy)、缓存有效期/吊销(Cache lifetime/revocation)和正确性问题。 SubjectAccessReview 和 LocalAccessReview 是遵从 API 服务器所做鉴权决策的正确方式。
apiVersion: authorization.k8s.io/v1
kind: SelfSubjectRulesReview
metadata (ObjectMeta)
标准的列表元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
spec (SelfSubjectRulesReviewSpec),必需
spec 包含有关正在评估的请求的信息。
status (SubjectRulesReviewStatus)
status 由服务器填写,表示用户可以执行的操作的集合。
SubjectRulesReviewStatus 包含规则检查的结果。 此检查可能不完整,具体取决于服务器配置的 Authorizer 的集合以及评估期间遇到的任何错误。 由于鉴权规则是叠加的,所以如果某个规则出现在列表中,即使该列表不完整,也可以安全地假定该主体拥有该权限。
status.incomplete (boolean),必需
当此调用返回的规则不完整时,incomplete 结果为 true。 这种情况常见于 Authorizer(例如外部 Authorizer)不支持规则评估时。
status.nonResourceRules ([]NonResourceRule),必需
nonResourceRules 是允许主体对非资源执行路径执行的操作列表。 该列表顺序不重要,可以包含重复项,还可能不完整。
nonResourceRule 包含描述非资源路径的规则的信息。
status.nonResourceRules.verbs ([]string),必需
verb 是 kubernetes 非资源 API 动作的列表,例如 get、post、put、delete、patch、head、options。
*
表示所有动作。status.nonResourceRules.nonResourceURLs ([]string)
nonResourceURLs 是用户应有权访问的一组部分 URL。 允许使用
*
,但仅能作为路径中最后一段且必须用于完整的一段。*
表示全部。
status.resourceRules ([]ResourceRule),必需
resourceRules 是允许主体对资源执行的操作的列表。 该列表顺序不重要,可以包含重复项,还可能不完整。
resourceRule 是允许主体对资源执行的操作的列表。该列表顺序不重要,可以包含重复项,还可能不完整。
status.resourceRules.verbs ([]string),必需
verb 是 kubernetes 资源 API 动作的列表,例如 get、list、watch、create、update、delete、proxy。
*
表示所有动作。
status.resourceRules.apiGroups ([]string)
apiGroups 是包含资源的 APIGroup 的名称。 如果指定了多个 API 组,则允许对任何 API 组中枚举的资源之一请求任何操作。
*
表示所有 APIGroup。status.resourceRules.resourceNames ([]string)
resourceNames 是此规则所适用的资源名称白名单,可选。 空集合意味着允许所有资源。
*
表示所有资源。status.resourceRules.resources ([]string)
resources 是此规则所适用的资源的列表。
*
表示指定 APIGroup 中的所有资源。*/foo
表示指定 APIGroup 中所有资源的子资源 "foo"。
status.evaluationError (string)
evaluationError 可以与 rules 一起出现。 它表示在规则评估期间发生错误,例如 Authorizer 不支持规则评估以及 resourceRules 和/或 nonResourceRules 可能不完整。
SelfSubjectRulesReviewSpec
SelfSubjectRulesReviewSpec 定义 SelfSubjectRulesReview 的规范。
namespace (string)
namespace 是要评估规则的命名空间。 必需。
操作
create
创建 SelfSubjectRulesReview
HTTP 请求
POST /apis/authorization.k8s.io/v1/selfsubjectrulesreviews
参数
body: SelfSubjectRulesReview,必需
dryRun (查询参数): string
fieldManager (查询参数): string
fieldValidation (查询参数): string
pretty (查询参数): string
响应
200 (SelfSubjectRulesReview): OK
201 (SelfSubjectRulesReview): Created
202 (SelfSubjectRulesReview): Accepted
401: Unauthorized