授权 API


OpenShift Container Platform 4.12

授权 API 的参考指南

Red Hat OpenShift Documentation Team

摘要

本文档描述了 OpenShift Container Platform 授权 API 对象及其详细规格。

第 1 章 授权 API

1.1. LocalResourceAccessReview [authorization.openshift.io/v1]

描述

LocalResourceAccessReview 用于请求一个列表,其用户和组被授权执行特定命名空间中的 spec 指定的操作

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
对象

1.2. LocalSubjectAccessReview [authorization.openshift.io/v1]

描述

LocalSubjectAccessReview 是一个对象,用于请求有关用户或组是否可以在特定命名空间中执行操作的信息

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
对象

1.3. ResourceAccessReview [authorization.openshift.io/v1]

描述

ResourceAccessReview 用于请求一个列表,其用户和组被授权执行 spec 指定的操作

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
对象

1.4. SelfSubjectRulesReview [authorization.openshift.io/v1]

描述

SelfSubjectRulesReview 是一个资源,您可以创建它来确定您可以在命名空间中执行哪些操作

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
对象

1.5. SubjectAccessReview [authorization.openshift.io/v1]

描述

SubjectAccessReview 是一个对象,用于请求有关用户或组是否可以执行操作的信息

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
对象

1.6. SubjectRulesReview [authorization.openshift.io/v1]

描述

SubjectRulesReview 是一个资源,您可以创建它来确定另外一个用户可以在命名空间中执行哪些操作

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
对象

1.7. TokenRequest [authentication.k8s.io/v1]

描述
TokenRequest 为给定服务帐户请求一个令牌。
类型
对象

1.8. TokenReview [authentication.k8s.io/v1]

描述
TokenReview 会尝试向一个已知用户验证令牌。备注:TokenReview 请求可能会被 kube-apiserver 中的 Webhook 令牌验证器插件缓存。
类型
对象

1.9. LocalSubjectAccessReview [authorization.k8s.io/v1]

描述
LocalSubjectAccessReview 检查一个用户或组是否可以在给定命名空间中执行操作。使用命名空间范围资源可以更容易授予包含权限检查的命名空间范围策略。
类型
对象

1.10. SelfSubjectAccessReview [authorization.k8s.io/v1]

描述
SelfSubjectAccessReview 检查当前用户是否可以执行一个操作。不填写 spec.namespace 表示"在所有命名空间中"。Self 是一个特殊的情况,因为用户应始终可以检查自己是否可以执行操作
类型
object

1.11. SelfSubjectRulesReview [authorization.k8s.io/v1]

描述
SelfSubjectRulesReview 枚举了当前用户可以在一个命名空间内执行的操作集合。返回的操作列表可能并不完整,具体取决于服务器的授权模式,以及在评估过程中出现的任何错误。UI 应使用 SelfSubjectRulesReview 来显示/隐藏操作,或者快速让最终用户有关其权限的原因。它不应该被外部系统用来驱动授权决策,因为这会导致缓存生命周期/撤销、正确性的混淆SubjectAccessReview 和 LocalAccessReview 是将授权决策延迟到 API 服务器的正确方法。
类型
object

1.12. SubjectAccessReview [authorization.k8s.io/v1]

描述
SubjectAccessReview 检查一个用户或组是否可以执行一个操作。
类型
object

第 2 章 LocalResourceAccessReview [authorization.openshift.io/v1]

描述

LocalResourceAccessReview 用于请求一个列表,其用户和组被授权执行特定命名空间中的 spec 指定的操作

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
object
必填
  • namespace
  • verb
  • resourceAPIGroup
  • resourceAPIVersion
  • resource
  • resourceName
  • path
  • isNonResourceURL

2.1. 规格

属性类型描述

apiVersion

字符串

APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

content

RawExtension

content 是请求创建和更新的实际内容

isNonResourceURL

布尔值

如果这是非资源 URL (资源层次结构外)的请求,IsNonResourceURL 为 true

kind

字符串

kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

namespace

字符串

namespace 是所请求操作的命名空间。目前,无法区分没有命名空间和所有命名空间。

path

字符串

path 是非资源 URL 的路径

resource

字符串

resource 是现有资源类型之一

resourceAPIGroup

字符串

group 是被序列化为 resourceAPIGroup 资源的 API 组,以避免在内联时与 'groups' 字段混淆

resourceAPIVersion

字符串

Version 是被序列化为 resourceAPIVersion 的资源的 API 版本,以避免在内联时与 TypeMeta.apiVersion 和 ObjectMeta.resourceVersion 混淆

resourceName

字符串

ResourceName 被请求的用于 "get" 或 "delete" 的资源的名称

verb

字符串

verb 是:get、list、watch、create、update、delete 之一

2.2. API 端点

可用的 API 端点如下:

  • /apis/authorization.openshift.io/v1/namespaces/{namespace}/localresourceaccessreviews

    • POST: 创建一个 LocalResourceAccessReview

2.2.1. /apis/authorization.openshift.io/v1/namespaces/{namespace}/localresourceaccessreviews

表 2.1. 全局路径参数
参数类型描述

namespace

字符串

对象名称和身份验证范围,如团队(team)和项目(project)

表 2.2. 全局查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldManager

字符串

fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。

fieldValidation

string

fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象,只要 ServerSideFieldValidation 功能门也被启用。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 之前的默认行为,是 ServerSideFieldValidation 功能门被禁用时的默认行为。- Warn: 这将通过从对象丢弃的每个未知字段的标准警告响应标头发送警告,以及遇到的每个重复字段。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。当 ServerSideFieldValidation 功能门被启用时,这是默认设置。- Strict: 如果从对象中丢弃任何未知字段,则会失败并带有 BadRequest 错误,或者存在任何重复字段。从服务器返回的错误将包含遇到的,以及重复的字段。

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

HTTP 方法
POST
描述
创建 LocalResourceAccessReview
表 2.3. 主体参数
参数类型描述

正文(body)

LocalResourceAccessReview schema

 
表 2.4. HTTP 响应
HTTP 代码响应正文

200 - OK

LocalResourceAccessReview schema

201 - Created

LocalResourceAccessReview schema

202 - Accepted

LocalResourceAccessReview schema

401 - Unauthorized

第 3 章 LocalSubjectAccessReview [authorization.openshift.io/v1]

描述

LocalSubjectAccessReview 是一个对象,用于请求有关用户或组是否可以在特定命名空间中执行操作的信息

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
object
必填
  • namespace
  • verb
  • resourceAPIGroup
  • resourceAPIVersion
  • resource
  • resourceName
  • path
  • isNonResourceURL
  • user
  • groups
  • scopes

3.1. 规格

属性类型描述

apiVersion

字符串

APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

content

RawExtension

content 是请求创建和更新的实际内容

groups

数组(字符串)

组是可选的。groups 是用户所属的组的列表。

isNonResourceURL

布尔值

如果这是非资源 URL (资源层次结构外)的请求,IsNonResourceURL 为 true

kind

字符串

kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

namespace

字符串

namespace 是所请求操作的命名空间。目前,无法区分没有命名空间和所有命名空间。

path

字符串

path 是非资源 URL 的路径

resource

字符串

resource 是现有资源类型之一

resourceAPIGroup

字符串

group 是被序列化为 resourceAPIGroup 资源的 API 组,以避免在内联时与 'groups' 字段混淆

resourceAPIVersion

字符串

Version 是被序列化为 resourceAPIVersion 的资源的 API 版本,以避免在内联时与 TypeMeta.apiVersion 和 ObjectMeta.resourceVersion 混淆

resourceName

字符串

ResourceName 被请求的用于 "get" 或 "delete" 的资源的名称

scopes

数组(字符串)

用于评估的范围。空表示"使用没有范围的(完整)的用户/组权限"。self-SAR 为 nil 表示"在其请求中使用范围限制"。regular SAR 为 nil 与空相同。

user

字符串

user 是可选的。如果用户和组都为空,则使用当前的经过身份验证的用户。

verb

字符串

verb 是:get、list、watch、create、update、delete 之一

3.2. API 端点

可用的 API 端点如下:

  • /apis/authorization.openshift.io/v1/namespaces/{namespace}/localsubjectaccessreviews

    • POST: 创建一个 LocalSubjectAccessReview

3.2.1. /apis/authorization.openshift.io/v1/namespaces/{namespace}/localsubjectaccessreviews

表 3.1. 全局路径参数
参数类型描述

namespace

字符串

对象名称和身份验证范围,如团队(team)和项目(project)

表 3.2. 全局查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldManager

字符串

fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。

fieldValidation

string

fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象,只要 ServerSideFieldValidation 功能门也被启用。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 之前的默认行为,是 ServerSideFieldValidation 功能门被禁用时的默认行为。- Warn: 这将通过从对象丢弃的每个未知字段的标准警告响应标头发送警告,以及遇到的每个重复字段。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。当 ServerSideFieldValidation 功能门被启用时,这是默认设置。- Strict: 如果从对象中丢弃任何未知字段,则会失败并带有 BadRequest 错误,或者存在任何重复字段。从服务器返回的错误将包含遇到的,以及重复的字段。

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

HTTP 方法
POST
描述
创建 LocalSubjectAccessReview
表 3.3. 主体参数
参数类型描述

正文(body)

LocalSubjectAccessReview schema

 
表 3.4. HTTP 响应
HTTP 代码响应正文

200 - OK

LocalSubjectAccessReview schema

201 - Created

LocalSubjectAccessReview schema

202 - Accepted

LocalSubjectAccessReview schema

401 - Unauthorized

第 4 章 ResourceAccessReview [authorization.openshift.io/v1]

描述

ResourceAccessReview 用于请求一个列表,其用户和组被授权执行 spec 指定的操作

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
object
必填
  • namespace
  • verb
  • resourceAPIGroup
  • resourceAPIVersion
  • resource
  • resourceName
  • path
  • isNonResourceURL

4.1. 规格

属性类型描述

apiVersion

字符串

APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

content

RawExtension

content 是请求创建和更新的实际内容

isNonResourceURL

布尔值

如果这是非资源 URL (资源层次结构外)的请求,IsNonResourceURL 为 true

kind

字符串

kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

namespace

字符串

namespace 是所请求操作的命名空间。目前,无法区分没有命名空间和所有命名空间。

path

字符串

path 是非资源 URL 的路径

resource

字符串

resource 是现有资源类型之一

resourceAPIGroup

字符串

group 是被序列化为 resourceAPIGroup 资源的 API 组,以避免在内联时与 'groups' 字段混淆

resourceAPIVersion

字符串

Version 是被序列化为 resourceAPIVersion 的资源的 API 版本,以避免在内联时与 TypeMeta.apiVersion 和 ObjectMeta.resourceVersion 混淆

resourceName

字符串

ResourceName 被请求的用于 "get" 或 "delete" 的资源的名称

verb

字符串

verb 是:get、list、watch、create、update、delete 之一

4.2. API 端点

可用的 API 端点如下:

  • /apis/authorization.openshift.io/v1/resourceaccessreviews

    • POST :创建一个 ResourceAccessReview

4.2.1. /apis/authorization.openshift.io/v1/resourceaccessreviews

表 4.1. 全局查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldManager

字符串

fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。

fieldValidation

string

fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象,只要 ServerSideFieldValidation 功能门也被启用。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 之前的默认行为,是 ServerSideFieldValidation 功能门被禁用时的默认行为。- Warn: 这将通过从对象丢弃的每个未知字段的标准警告响应标头发送警告,以及遇到的每个重复字段。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。当 ServerSideFieldValidation 功能门被启用时,这是默认设置。- Strict: 如果从对象中丢弃任何未知字段,则会失败并带有 BadRequest 错误,或者存在任何重复字段。从服务器返回的错误将包含遇到的,以及重复的字段。

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

HTTP 方法
POST
描述
创建 ResourceAccessReview
表 4.2. 主体参数
参数类型描述

正文(body)

ResourceAccessReview schema

 
表 4.3. HTTP 响应
HTTP 代码响应正文

200 - OK

ResourceAccessReview schema

201 - Created

ResourceAccessReview schema

202 - Accepted

ResourceAccessReview schema

401 - Unauthorized

第 5 章 SelfSubjectRulesReview [authorization.openshift.io/v1]

描述

SelfSubjectRulesReview 是一个资源,您可以创建它来确定您可以在命名空间中执行哪些操作

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
object
必填
  • spec

5.1. 规格

属性类型描述

apiVersion

字符串

APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

字符串

kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

spec

object

SelfSubjectRulesReviewSpec 添加有关如何进行检查的信息

status

object

SubjectRulesReviewStatus 包含规则检查的结果

5.1.1. .spec

描述
SelfSubjectRulesReviewSpec 添加有关如何进行检查的信息
类型
object
必填
  • scopes
属性类型描述

scopes

数组(字符串)

用于评估的范围。空表示"使用没有范围的(完整)的用户/组权限"。nil 表示 "在这个请求中使用范围限制"。

5.1.2. .status

描述
SubjectRulesReviewStatus 包含规则检查的结果
类型
object
必填
  • rules
属性类型描述

evaluationError

字符串

EvaluationError 可以与 Rules 结合使用。这意味着,在评估过程中发生了一些错误,这些错误可能会阻止生成额外的规则。

rules

array

rules 是一个主题允许的规则列表(没有特定排序),

rules[]

object

PolicyRule 包含描述策略规则的信息,但不包含有关规则应用到谁或规则应用到哪个命名空间的信息。

5.1.3. .status.rules

描述
rules 是一个主题允许的规则列表(没有特定排序),
类型
array

5.1.4. .status.rules[]

描述
PolicyRule 包含描述策略规则的信息,但不包含有关规则应用到谁或规则应用到哪个命名空间的信息。
类型
object
必填
  • verbs
  • resources
属性类型描述

apiGroups

数组(字符串)

APIGroups 是包含资源的 APIGroup 的名称。如果此字段为空,则假定为 kubernetes 和 origin API 组。这意味着,如果针对 kubernetes 或 origin API 组中的一个枚举的资源请求一个操作,则这个请求被允许

attributeRestrictions

RawExtension

AttributeRestrictions 将根据 Authorizer/AuthorizationAttributeBuilder 对支持的不同而有所不同。如果 Authorizer 无法识别如何处理 AttributeRestrictions,Authorizer 应报告错误。

nonResourceURLs

数组(字符串)

NonResourceURLsSlice 是用户应该有权访问的一组部分 URL。* 是被允许访问的,但只在完整的情况下,路径的最后一步。这个名称有意与 internal 类型不同,因此 DefaultConvert 可以正常工作,因为排序可能会不同。

resourceNames

数组(字符串)

resourceNames 是一个可选的规则应用到的名称白名单。空集表示所有都会被允许。

resources

数组(字符串)

resources 是一组这个规则应用到的资源列表。ResourceAll 代表所有资源。

verbs

数组(字符串)

verbs 是一个 Verbs 列表,这些 Verbs 会应用到在此规则中包含的所有 ResourceKinds 和 AttributeRestrictions 。VerbAll 代表所有种类。

5.2. API 端点

可用的 API 端点如下:

  • /apis/authorization.openshift.io/v1/namespaces/{namespace}/selfsubjectrulesreviews

    • POST :创建一个 SelfSubjectRulesReview

5.2.1. /apis/authorization.openshift.io/v1/namespaces/{namespace}/selfsubjectrulesreviews

表 5.1. 全局路径参数
参数类型描述

namespace

字符串

对象名称和身份验证范围,如团队(team)和项目(project)

表 5.2. 全局查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldManager

字符串

fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。

fieldValidation

string

fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象,只要 ServerSideFieldValidation 功能门也被启用。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 之前的默认行为,是 ServerSideFieldValidation 功能门被禁用时的默认行为。- Warn: 这将通过从对象丢弃的每个未知字段的标准警告响应标头发送警告,以及遇到的每个重复字段。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。当 ServerSideFieldValidation 功能门被启用时,这是默认设置。- Strict: 如果从对象中丢弃任何未知字段,则会失败并带有 BadRequest 错误,或者存在任何重复字段。从服务器返回的错误将包含遇到的,以及重复的字段。

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

HTTP 方法
POST
描述
创建一个 SelfSubjectRulesReview
表 5.3. 主体参数
参数类型描述

正文(body)

SelfSubjectRulesReview schema

 
表 5.4. HTTP 响应
HTTP 代码响应正文

200 - OK

SelfSubjectRulesReview schema

201 - Created

SelfSubjectRulesReview schema

202 - Accepted

SelfSubjectRulesReview schema

401 - Unauthorized

第 6 章 SubjectAccessReview [authorization.openshift.io/v1]

描述

SubjectAccessReview 是一个对象,用于请求有关用户或组是否可以执行操作的信息

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
object
必填
  • namespace
  • verb
  • resourceAPIGroup
  • resourceAPIVersion
  • resource
  • resourceName
  • path
  • isNonResourceURL
  • user
  • groups
  • scopes

6.1. 规格

属性类型描述

apiVersion

字符串

APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

content

RawExtension

content 是请求创建和更新的实际内容

groups

数组(字符串)

GroupsSlice 是可选的。groups 是用户所属的组的列表。

isNonResourceURL

布尔值

如果这是非资源 URL (资源层次结构外)的请求,IsNonResourceURL 为 true

kind

字符串

kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

namespace

字符串

namespace 是所请求操作的命名空间。目前,无法区分没有命名空间和所有命名空间。

path

字符串

path 是非资源 URL 的路径

resource

字符串

resource 是现有资源类型之一

resourceAPIGroup

字符串

group 是被序列化为 resourceAPIGroup 资源的 API 组,以避免在内联时与 'groups' 字段混淆

resourceAPIVersion

字符串

Version 是被序列化为 resourceAPIVersion 的资源的 API 版本,以避免在内联时与 TypeMeta.apiVersion 和 ObjectMeta.resourceVersion 混淆

resourceName

字符串

ResourceName 被请求的用于 "get" 或 "delete" 的资源的名称

scopes

数组(字符串)

用于评估的范围。空表示"使用没有范围的(完整)的用户/组权限"。self-SAR 为 nil 表示"在其请求中使用范围限制"。regular SAR 为 nil 与空相同。

user

字符串

user 是可选的。如果用户和组都为空,则使用当前的经过身份验证的用户。

verb

字符串

verb 是:get、list、watch、create、update、delete 之一

6.2. API 端点

可用的 API 端点如下:

  • /apis/authorization.openshift.io/v1/subjectaccessreviews

    • POST: 创建一个 SubjectAccessReview

6.2.1. /apis/authorization.openshift.io/v1/subjectaccessreviews

表 6.1. 全局查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldManager

字符串

fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。

fieldValidation

string

fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象,只要 ServerSideFieldValidation 功能门也被启用。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 之前的默认行为,是 ServerSideFieldValidation 功能门被禁用时的默认行为。- Warn: 这将通过从对象丢弃的每个未知字段的标准警告响应标头发送警告,以及遇到的每个重复字段。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。当 ServerSideFieldValidation 功能门被启用时,这是默认设置。- Strict: 如果从对象中丢弃任何未知字段,则会失败并带有 BadRequest 错误,或者存在任何重复字段。从服务器返回的错误将包含遇到的,以及重复的字段。

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

HTTP 方法
POST
描述
创建一个 SubjectAccessReview
表 6.2. 主体参数
参数类型描述

正文(body)

SubjectAccessReview schema

 
表 6.3. HTTP 响应
HTTP 代码响应正文

200 - OK

SubjectAccessReview schema

201 - Created

SubjectAccessReview schema

202 - Accepted

SubjectAccessReview schema

401 - Unauthorized

第 7 章 SubjectRulesReview [authorization.openshift.io/v1]

描述

SubjectRulesReview 是一个资源,您可以创建它来确定另外一个用户可以在命名空间中执行哪些操作

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
object
必填
  • spec

7.1. 规格

属性类型描述

apiVersion

字符串

APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

字符串

kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

spec

object

SubjectRulesReviewSpec 添加有关如何进行检查的信息

status

object

SubjectRulesReviewStatus 包含规则检查的结果

7.1.1. .spec

描述
SubjectRulesReviewSpec 添加有关如何进行检查的信息
类型
object
必填
  • user
  • groups
  • scopes
属性类型描述

groups

数组(字符串)

组是可选的。groups 是用户所属的组的列表。必须至少指定一个 User 和 Groups。

scopes

数组(字符串)

用于评估的范围。空表示"使用没有范围的(完整)的用户/组权限"。

user

字符串

user 是可选的。必须至少指定一个 User 和 Groups。

7.1.2. .status

描述
SubjectRulesReviewStatus 包含规则检查的结果
类型
object
必填
  • rules
属性类型描述

evaluationError

字符串

EvaluationError 可以与 Rules 结合使用。这意味着,在评估过程中发生了一些错误,这些错误可能会阻止生成额外的规则。

rules

array

rules 是一个主题允许的规则列表(没有特定排序),

rules[]

object

PolicyRule 包含描述策略规则的信息,但不包含有关规则应用到谁或规则应用到哪个命名空间的信息。

7.1.3. .status.rules

描述
rules 是一个主题允许的规则列表(没有特定排序),
类型
array

7.1.4. .status.rules[]

描述
PolicyRule 包含描述策略规则的信息,但不包含有关规则应用到谁或规则应用到哪个命名空间的信息。
类型
object
必填
  • verbs
  • resources
属性类型描述

apiGroups

数组(字符串)

APIGroups 是包含资源的 APIGroup 的名称。如果此字段为空,则假定为 kubernetes 和 origin API 组。这意味着,如果针对 kubernetes 或 origin API 组中的一个枚举的资源请求一个操作,则这个请求被允许

attributeRestrictions

RawExtension

AttributeRestrictions 将根据 Authorizer/AuthorizationAttributeBuilder 对支持的不同而有所不同。如果 Authorizer 无法识别如何处理 AttributeRestrictions,Authorizer 应报告错误。

nonResourceURLs

数组(字符串)

NonResourceURLsSlice 是用户应该有权访问的一组部分 URL。* 是被允许访问的,但只在完整的情况下,路径的最后一步。这个名称有意与 internal 类型不同,因此 DefaultConvert 可以正常工作,因为排序可能会不同。

resourceNames

数组(字符串)

resourceNames 是一个可选的规则应用到的名称白名单。空集表示所有都会被允许。

resources

数组(字符串)

resources 是一组这个规则应用到的资源列表。ResourceAll 代表所有资源。

verbs

数组(字符串)

verbs 是一个 Verbs 列表,这些 Verbs 会应用到在此规则中包含的所有 ResourceKinds 和 AttributeRestrictions 。VerbAll 代表所有种类。

7.2. API 端点

可用的 API 端点如下:

  • /apis/authorization.openshift.io/v1/namespaces/{namespace}/subjectrulesreviews

    • POST: 创建一个 SubjectRulesReview

7.2.1. /apis/authorization.openshift.io/v1/namespaces/{namespace}/subjectrulesreviews

表 7.1. 全局路径参数
参数类型描述

namespace

字符串

对象名称和身份验证范围,如团队(team)和项目(project)

表 7.2. 全局查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldManager

字符串

fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。

fieldValidation

string

fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象,只要 ServerSideFieldValidation 功能门也被启用。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 之前的默认行为,是 ServerSideFieldValidation 功能门被禁用时的默认行为。- Warn: 这将通过从对象丢弃的每个未知字段的标准警告响应标头发送警告,以及遇到的每个重复字段。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。当 ServerSideFieldValidation 功能门被启用时,这是默认设置。- Strict: 如果从对象中丢弃任何未知字段,则会失败并带有 BadRequest 错误,或者存在任何重复字段。从服务器返回的错误将包含遇到的,以及重复的字段。

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

HTTP 方法
POST
描述
创建一个 SubjectRulesReview
表 7.3. 主体参数
参数类型描述

正文(body)

SubjectRulesReview schema

 
表 7.4. HTTP 响应
HTTP 代码响应正文

200 - OK

SubjectRulesReview schema

201 - Created

SubjectRulesReview schema

202 - Accepted

SubjectRulesReview schema

401 - Unauthorized

第 8 章 TokenRequest [authentication.k8s.io/v1]

描述
TokenRequest 为给定服务帐户请求一个令牌。
类型
object
必填
  • spec

8.1. 规格

属性类型描述

apiVersion

字符串

APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

字符串

kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

ObjectMeta

标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

object

TokenRequestSpec 包括由客户端提供的令牌请求的参数。

status

object

TokenRequestStatus 是令牌请求的结果。

8.1.1. .spec

描述
TokenRequestSpec 包括由客户端提供的令牌请求的参数。
类型
object
必填
  • audiences
属性类型描述

audiences

数组(字符串)

audiences 是令牌的受众对象。令牌的接收者必须使用令牌的 audiences 列表中的一个标识符来识别自己,否则应拒绝令牌。为多个 audiences 发布的令牌可以用于针对列出的 audiences 进行验证,但意味着目标 audiences 之间有高的信任度。

boundObjectRef

object

BoundObjectReference 是对令牌绑定到的一个对象的引用。

expirationSeconds

整数

ExpirationSeconds 是请求的有效期。令牌签发者可能会返回具有不同有效期持续时间的令牌,因此客户端需要检查响应中的 'expiration' 字段。

8.1.2. .spec.boundObjectRef

描述
BoundObjectReference 是对令牌绑定到的一个对象的引用。
类型
object
属性类型描述

apiVersion

字符串

引用的 API 版本。

kind

字符串

引用的类型。有效类型为 'Pod' 和 'Secret'。

name

字符串

引用的名称。

uid

字符串

引用的 UID。

8.1.3. .status

描述
TokenRequestStatus 是令牌请求的结果。
类型
object
必填
  • token
  • expirationTimestamp
属性类型描述

expirationTimestamp

Time

ExpirationTimestamp 是返回令牌的过期时间。

token

字符串

令牌是 opaque bearer 令牌。

8.2. API 端点

可用的 API 端点如下:

  • /api/v1/namespaces/{namespace}/serviceaccounts/{name}/token

    • POST :创建 ServiceAccount 令牌

8.2.1. /api/v1/namespaces/{namespace}/serviceaccounts/{name}/token

表 8.1. 全局路径参数
参数类型描述

name

字符串

TokenRequest 的名称

namespace

字符串

对象名称和身份验证范围,如团队(team)和项目(project)

表 8.2. 全局查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldManager

字符串

fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。

fieldValidation

string

fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象,只要 ServerSideFieldValidation 功能门也被启用。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 之前的默认行为,是 ServerSideFieldValidation 功能门被禁用时的默认行为。- Warn: 这将通过从对象丢弃的每个未知字段的标准警告响应标头发送警告,以及遇到的每个重复字段。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。当 ServerSideFieldValidation 功能门被启用时,这是默认设置。- Strict: 如果从对象中丢弃任何未知字段,则会失败并带有 BadRequest 错误,或者存在任何重复字段。从服务器返回的错误将包含遇到的,以及重复的字段。

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

HTTP 方法
POST
描述
创建 ServiceAccount 的令牌
表 8.3. 主体参数
参数类型描述

正文(body)

TokenRequest schema

 
表 8.4. HTTP 响应
HTTP 代码响应正文

200 - OK

TokenRequest schema

201 - Created

TokenRequest schema

202 - Accepted

TokenRequest schema

401 - Unauthorized

第 9 章 TokenReview [authentication.k8s.io/v1]

描述
TokenReview 会尝试向一个已知用户验证令牌。备注:TokenReview 请求可能会被 kube-apiserver 中的 Webhook 令牌验证器插件缓存。
类型
object
必填
  • spec

9.1. 规格

属性类型描述

apiVersion

字符串

APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

字符串

kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

ObjectMeta

标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

object

TokenReviewSpec 是令牌身份验证请求的描述。

status

object

TokenReviewStatus 是令牌身份验证请求的结果。

9.1.1. .spec

描述
TokenReviewSpec 是令牌身份验证请求的描述。
类型
object
属性类型描述

audiences

数组(字符串)

Audiences 是资源服务器通过令牌标识的标识符的列表。支持 Audiences 的令牌验证器将验证至少针对此列表中的一个 audience 的令牌。如果没有提供 audiences,则 audiences 将默认为 Kubernetes apiserver 的 audiences。

token

字符串

令牌是 opaque bearer 令牌。

9.1.2. .status

描述
TokenReviewStatus 是令牌身份验证请求的结果。
类型
object
属性类型描述

audiences

数组(字符串)

audiences 是由与 TokenReview 和 token 兼容的验证器选择的 audiences 标识符。标识符是 TokenReviewSpec audiences 和 token audiences 的交集中的任何标识符。设置 spec.audiences 字段的 TokenReview API 客户端应该验证 status.audiences 字段中是否返回兼容 audience 标识符,以确保 TokenReview 服务器了解。如果 TokenReview 返回一个空 status.audience 字段,其中 status.authenticated 为 "true",则令牌对 Kubernetes API 服务器的使用者有效。

authenticated

布尔值

Authenticationed 表示令牌与已知用户关联。

错误

字符串

Error 表示无法检查令牌

user

object

Userinfo 包含有关实施 user.Info 接口所需的用户的信息。

9.1.3. .status.user

描述
Userinfo 包含有关实施 user.Info 接口所需的用户的信息。
类型
object
属性类型描述

extra

object

身份验证器提供的任何其他信息。

extra{}

数组(字符串)

 

groups

数组(字符串)

此用户所属的组的名称。

uid

字符串

在一段时间内标识此用户的唯一值。如果删除了此用户,并且添加了相同名称的另一个用户,它们具有不同的 UID。

username

字符串

在所有活跃用户中唯一标识此用户的名称。

9.1.4. .status.user.extra

描述
身份验证器提供的任何其他信息。
类型
object

9.2. API 端点

可用的 API 端点如下:

  • /apis/oauth.openshift.io/v1/tokenreviews

    • POST :创建 TokenReview
  • /apis/authentication.k8s.io/v1/tokenreviews

    • POST :创建 TokenReview

9.2.1. /apis/oauth.openshift.io/v1/tokenreviews

表 9.1. 全局查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldManager

字符串

fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

HTTP 方法
POST
描述
创建 TokenReview
表 9.2. 主体参数
参数类型描述

正文(body)

TokenReview 模式

 
表 9.3. HTTP 响应
HTTP 代码响应正文

200 - OK

TokenReview 模式

201 - Created

TokenReview 模式

202 - Accepted

TokenReview 模式

401 - Unauthorized

9.2.2. /apis/authentication.k8s.io/v1/tokenreviews

表 9.4. 全局查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldManager

字符串

fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。

fieldValidation

string

fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象,只要 ServerSideFieldValidation 功能门也被启用。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 之前的默认行为,是 ServerSideFieldValidation 功能门被禁用时的默认行为。- Warn: 这将通过从对象丢弃的每个未知字段的标准警告响应标头发送警告,以及遇到的每个重复字段。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。当 ServerSideFieldValidation 功能门被启用时,这是默认设置。- Strict: 如果从对象中丢弃任何未知字段,则会失败并带有 BadRequest 错误,或者存在任何重复字段。从服务器返回的错误将包含遇到的,以及重复的字段。

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

HTTP 方法
POST
描述
创建 TokenReview
表 9.5. 主体参数
参数类型描述

正文(body)

TokenReview 模式

 
表 9.6. HTTP 响应
HTTP 代码响应正文

200 - OK

TokenReview 模式

201 - Created

TokenReview 模式

202 - Accepted

TokenReview 模式

401 - Unauthorized

第 10 章 LocalSubjectAccessReview [authorization.k8s.io/v1]

描述
LocalSubjectAccessReview 检查一个用户或组是否可以在给定命名空间中执行操作。使用命名空间范围资源可以更容易授予包含权限检查的命名空间范围策略。
类型
object
必填
  • spec

10.1. 规格

属性类型描述

apiVersion

字符串

APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

字符串

kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

ObjectMeta

标准列表元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

object

SubjectAccessReviewSpec 是访问请求的描述。必须设置 ResourceAuthorizationAttributes 和 NonResourceAuthorizationAttributes 之一

status

object

SubjectAccessReviewStatus

10.1.1. .spec

描述
SubjectAccessReviewSpec 是访问请求的描述。必须设置 ResourceAuthorizationAttributes 和 NonResourceAuthorizationAttributes 之一
类型
object
属性类型描述

extra

object

Extra 对应于验证器中的 user.Info.GetExtra() 方法。由于这是对授权者的输入,因此需要反映在此处。

extra{}

数组(字符串)

 

groups

数组(字符串)

Groups 是您要测试的组。

nonResourceAttributes

object

nonResourceAttributes 包括可用于对 Authorizer 接口的非资源请求的授权属性

resourceAttributes

object

ResourceAttributes 包含对 Authorizer 接口的资源请求的授权属性

uid

字符串

有关请求用户的 UID 信息。

user

字符串

用户是您正在测试的用户。如果您指定了 "User" 而不是 "Groups",那么它将解释为"如果用户不是任何组的成员

10.1.2. .spec.extra

描述
Extra 对应于验证器中的 user.Info.GetExtra() 方法。由于这是对授权者的输入,因此需要反映在此处。
类型
object

10.1.3. .spec.nonResourceAttributes

描述
nonResourceAttributes 包括可用于对 Authorizer 接口的非资源请求的授权属性
类型
object
属性类型描述

path

字符串

Path 是请求的 URL 路径

verb

字符串

Verb 是标准 HTTP 动词

10.1.4. .spec.resourceAttributes

描述
ResourceAttributes 包含对 Authorizer 接口的资源请求的授权属性
类型
object
属性类型描述

group

字符串

Group 是 Resource 的 API 组。"*"代表所有。

name

字符串

Name 是为"get"请求的资源的名称,或删除"delete"。"" (空)表示全部。

namespace

字符串

namespace 是所请求操作的命名空间。目前,对于集群范围的资源 "" (empty),没有命名空间和所有命名空间"" (空)之间的差别,对于集群范围的资源 "" (空)代表"all"表示来自 SubjectAccessReview 或 SelfSubjectAccessReview 的命名空间范围资源

resource

字符串

资源是现有资源类型之一。"*"表示全部。

subresource

字符串

子资源是现有资源类型之一。""表示 none。

verb

字符串

verb 是一个 kubernetes 资源 API 动词,如: get, list, watch, create, update, delete, proxy. "*" 表示所有。

version

字符串

version 是资源的 API 版本。"*"表示所有。

10.1.5. .status

描述
SubjectAccessReviewStatus
类型
object
必填
  • allowed
属性类型描述

allowed

布尔值

Allowed 是必需的。True 代表操作被允许,false 代表不允许。

已拒绝

布尔值

Denied 是可选的。如果被拒绝,则为 True,否则为 false。如果 allowed 和 denied 都为 false,则授权器没有对是否授权该操作的建议。如果 Allowed 为 true,则 Denied 可能不是 true。

evaluationError

字符串

EvaluationError 代表了在授权检查过程中发生了一些错误。完全有可能,在获得错误的情况下,可以继续确定授权状态。例如,RBAC 可能会缺少角色,但仍然存在足够的角色,并绑定到有关请求的原因。

reason

字符串

reason 是可选的。它表示请求被允许或拒绝的原因。

10.2. API 端点

可用的 API 端点如下:

  • /apis/authorization.k8s.io/v1/namespaces/{namespace}/localsubjectaccessreviews

    • POST: 创建一个 LocalSubjectAccessReview

10.2.1. /apis/authorization.k8s.io/v1/namespaces/{namespace}/localsubjectaccessreviews

表 10.1. 全局路径参数
参数类型描述

namespace

字符串

对象名称和身份验证范围,如团队(team)和项目(project)

表 10.2. 全局查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldManager

字符串

fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。

fieldValidation

string

fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象,只要 ServerSideFieldValidation 功能门也被启用。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 之前的默认行为,是 ServerSideFieldValidation 功能门被禁用时的默认行为。- Warn: 这将通过从对象丢弃的每个未知字段的标准警告响应标头发送警告,以及遇到的每个重复字段。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。当 ServerSideFieldValidation 功能门被启用时,这是默认设置。- Strict: 如果从对象中丢弃任何未知字段,则会失败并带有 BadRequest 错误,或者存在任何重复字段。从服务器返回的错误将包含遇到的,以及重复的字段。

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

HTTP 方法
POST
描述
创建 LocalSubjectAccessReview
表 10.3. 主体参数
参数类型描述

正文(body)

LocalSubjectAccessReview schema

 
表 10.4. HTTP 响应
HTTP 代码响应正文

200 - OK

LocalSubjectAccessReview schema

201 - Created

LocalSubjectAccessReview schema

202 - Accepted

LocalSubjectAccessReview schema

401 - Unauthorized

第 11 章 SelfSubjectAccessReview [authorization.k8s.io/v1]

描述
SelfSubjectAccessReview 检查当前用户是否可以执行一个操作。不填写 spec.namespace 表示"在所有命名空间中"。Self 是一个特殊的情况,因为用户应始终可以检查自己是否可以执行操作
类型
object
必填
  • spec

11.1. 规格

属性类型描述

apiVersion

字符串

APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

字符串

kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

ObjectMeta

标准列表元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

object

SelfSubjectAccessReviewSpec 是访问请求的描述。必须设置 ResourceAuthorizationAttributes 和 NonResourceAuthorizationAttributes 之一

status

object

SubjectAccessReviewStatus

11.1.1. .spec

描述
SelfSubjectAccessReviewSpec 是访问请求的描述。必须设置 ResourceAuthorizationAttributes 和 NonResourceAuthorizationAttributes 之一
类型
object
属性类型描述

nonResourceAttributes

object

nonResourceAttributes 包括可用于对 Authorizer 接口的非资源请求的授权属性

resourceAttributes

object

ResourceAttributes 包含对 Authorizer 接口的资源请求的授权属性

11.1.2. .spec.nonResourceAttributes

描述
nonResourceAttributes 包括可用于对 Authorizer 接口的非资源请求的授权属性
类型
object
属性类型描述

path

字符串

Path 是请求的 URL 路径

verb

字符串

Verb 是标准 HTTP 动词

11.1.3. .spec.resourceAttributes

描述
ResourceAttributes 包含对 Authorizer 接口的资源请求的授权属性
类型
object
属性类型描述

group

字符串

Group 是 Resource 的 API 组。"*"代表所有。

name

字符串

Name 是为"get"请求的资源的名称,或删除"delete"。"" (空)表示全部。

namespace

字符串

namespace 是所请求操作的命名空间。目前,对于集群范围的资源 "" (empty),没有命名空间和所有命名空间"" (空)之间的差别,对于集群范围的资源 "" (空)代表"all"表示来自 SubjectAccessReview 或 SelfSubjectAccessReview 的命名空间范围资源

resource

字符串

资源是现有资源类型之一。"*"表示全部。

subresource

字符串

子资源是现有资源类型之一。""表示 none。

verb

字符串

verb 是一个 kubernetes 资源 API 动词,如: get, list, watch, create, update, delete, proxy. "*" 表示所有。

version

字符串

version 是资源的 API 版本。"*"表示所有。

11.1.4. .status

描述
SubjectAccessReviewStatus
类型
object
必填
  • allowed
属性类型描述

allowed

布尔值

Allowed 是必需的。True 代表操作被允许,false 代表不允许。

已拒绝

布尔值

Denied 是可选的。如果被拒绝,则为 True,否则为 false。如果 allowed 和 denied 都为 false,则授权器没有对是否授权该操作的建议。如果 Allowed 为 true,则 Denied 可能不是 true。

evaluationError

字符串

EvaluationError 代表了在授权检查过程中发生了一些错误。完全有可能,在获得错误的情况下,可以继续确定授权状态。例如,RBAC 可能会缺少角色,但仍然存在足够的角色,并绑定到有关请求的原因。

reason

字符串

reason 是可选的。它表示请求被允许或拒绝的原因。

11.2. API 端点

可用的 API 端点如下:

  • /apis/authorization.k8s.io/v1/selfsubjectaccessreviews

    • POST:创建 SelfSubjectAccessReview

11.2.1. /apis/authorization.k8s.io/v1/selfsubjectaccessreviews

表 11.1. 全局查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldManager

字符串

fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。

fieldValidation

string

fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象,只要 ServerSideFieldValidation 功能门也被启用。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 之前的默认行为,是 ServerSideFieldValidation 功能门被禁用时的默认行为。- Warn: 这将通过从对象丢弃的每个未知字段的标准警告响应标头发送警告,以及遇到的每个重复字段。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。当 ServerSideFieldValidation 功能门被启用时,这是默认设置。- Strict: 如果从对象中丢弃任何未知字段,则会失败并带有 BadRequest 错误,或者存在任何重复字段。从服务器返回的错误将包含遇到的,以及重复的字段。

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

HTTP 方法
POST
描述
创建 SelfSubjectAccessReview
表 11.2. 主体参数
参数类型描述

正文(body)

SelfSubjectAccessReview 模式

 
表 11.3. HTTP 响应
HTTP 代码响应正文

200 - OK

SelfSubjectAccessReview 模式

201 - Created

SelfSubjectAccessReview 模式

202 - Accepted

SelfSubjectAccessReview 模式

401 - Unauthorized

第 12 章 SelfSubjectRulesReview [authorization.k8s.io/v1]

描述
SelfSubjectRulesReview 枚举了当前用户可以在一个命名空间内执行的操作集合。返回的操作列表可能并不完整,具体取决于服务器的授权模式,以及在评估过程中出现的任何错误。UI 应使用 SelfSubjectRulesReview 来显示/隐藏操作,或者快速让最终用户有关其权限的原因。它不应该被外部系统用来驱动授权决策,因为这会导致缓存生命周期/撤销、正确性的混淆SubjectAccessReview 和 LocalAccessReview 是将授权决策延迟到 API 服务器的正确方法。
类型
object
必填
  • spec

12.1. 规格

属性类型描述

apiVersion

字符串

APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

字符串

kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

ObjectMeta

标准列表元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

object

SelfSubjectRulesReviewSpec 定义 SelfSubjectRulesReview 的规格。

status

object

SubjectRulesReviewStatus 包含规则检查的结果。根据服务器配置的授权者集合以及评估过程中出现的任何错误,此检查可能不完整。由于授权规则是可添加的,如果规则出现在列表中,则假定主题具有该权限,即使该列表不完整。

12.1.1. .spec

描述
SelfSubjectRulesReviewSpec 定义 SelfSubjectRulesReview 的规格。
类型
object
属性类型描述

namespace

字符串

要评估规则的命名空间。必需。

12.1.2. .status

描述
SubjectRulesReviewStatus 包含规则检查的结果。根据服务器配置的授权者集合以及评估过程中出现的任何错误,此检查可能不完整。由于授权规则是可添加的,如果规则出现在列表中,则假定主题具有该权限,即使该列表不完整。
类型
object
必填
  • resourceRules
  • nonResourceRules
  • incomplete
属性类型描述

evaluationError

字符串

EvaluationError 可以与 Rules 结合使用。它表示在规则评估过程中出现错误,如不支持规则评估的授权器,且 ResourceRules 和/或 NonResourceRules 可能不完整。

incomplete

布尔值

当此调用返回的规则不完整时,Incomplete 为 true。当授权者(如外部授权器)不支持规则评估时,这是最常出现的情况。

nonResourceRules

array

NonResourceRules 是允许主体在非资源上执行的操作列表。列表排序并不重要,可能包含重复项,可能不完整。

nonResourceRules[]

object

NonResourceRule 包含描述非资源规则的信息

resourceRules

array

ResourceRules 是允许对资源执行的操作列表。列表排序并不重要,可能包含重复项,可能不完整。

resourceRules[]

object

ResourceRule 是允许主体对资源执行的操作列表。列表排序并不重要,可能包含重复项,可能不完整。

12.1.3. .status.nonResourceRules

描述
NonResourceRules 是允许主体在非资源上执行的操作列表。列表排序并不重要,可能包含重复项,可能不完整。
类型
array

12.1.4. .status.nonResourceRules[]

描述
NonResourceRule 包含描述非资源规则的信息
类型
object
必填
  • verbs
属性类型描述

nonResourceURLs

数组(字符串)

NonResourceURLs 是一组用户应该有权访问的部分 url。 是 allowed, 但只为 full, 路径中的最终步骤。 "" 代表所有。

verbs

数组(字符串)

verb 是 kubernetes 非资源 API 动词列表,例如: get, post, put, delete, patch, head, options. "*" 表示所有。

12.1.5. .status.resourceRules

描述
ResourceRules 是允许对资源执行的操作列表。列表排序并不重要,可能包含重复项,可能不完整。
类型
array

12.1.6. .status.resourceRules[]

描述
ResourceRule 是允许主体对资源执行的操作列表。列表排序并不重要,可能包含重复项,可能不完整。
类型
object
必填
  • verbs
属性类型描述

apiGroups

数组(字符串)

APIGroups 是包含资源的 APIGroup 的名称。如果指定了多个 API 组,则允许针对任何 API 组中的一个枚举资源请求的任何操作。"*"表示所有。

resourceNames

数组(字符串)

resourceNames 是一个可选的规则应用到的名称白名单。一个空集合表示允许所有内容。"*"表示所有。

资源

数组(字符串)

Resources 是此规则应用到的资源列表。"" 表示指定的 apiGroups 中的所有。"/foo" 代表指定 apiGroups 中所有资源的子资源 'foo'。

verbs

数组(字符串)

verb 是一个 kubernetes 资源 API 动词,如: get, list, watch, create, update, delete, proxy. "*" 表示所有。

12.2. API 端点

可用的 API 端点如下:

  • /apis/authorization.k8s.io/v1/selfsubjectrulesreviews

    • POST :创建一个 SelfSubjectRulesReview

12.2.1. /apis/authorization.k8s.io/v1/selfsubjectrulesreviews

表 12.1. 全局查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldManager

字符串

fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。

fieldValidation

string

fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象,只要 ServerSideFieldValidation 功能门也被启用。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 之前的默认行为,是 ServerSideFieldValidation 功能门被禁用时的默认行为。- Warn: 这将通过从对象丢弃的每个未知字段的标准警告响应标头发送警告,以及遇到的每个重复字段。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。当 ServerSideFieldValidation 功能门被启用时,这是默认设置。- Strict: 如果从对象中丢弃任何未知字段,则会失败并带有 BadRequest 错误,或者存在任何重复字段。从服务器返回的错误将包含遇到的,以及重复的字段。

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

HTTP 方法
POST
描述
创建一个 SelfSubjectRulesReview
表 12.2. 主体参数
参数类型描述

正文(body)

SelfSubjectRulesReview schema

 
表 12.3. HTTP 响应
HTTP 代码响应正文

200 - OK

SelfSubjectRulesReview schema

201 - Created

SelfSubjectRulesReview schema

202 - Accepted

SelfSubjectRulesReview schema

401 - Unauthorized

第 13 章 SubjectAccessReview [authorization.k8s.io/v1]

描述
SubjectAccessReview 检查一个用户或组是否可以执行一个操作。
类型
object
必填
  • spec

13.1. 规格

属性类型描述

apiVersion

字符串

APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

字符串

kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

ObjectMeta

标准列表元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

object

SubjectAccessReviewSpec 是访问请求的描述。必须设置 ResourceAuthorizationAttributes 和 NonResourceAuthorizationAttributes 之一

status

object

SubjectAccessReviewStatus

13.1.1. .spec

描述
SubjectAccessReviewSpec 是访问请求的描述。必须设置 ResourceAuthorizationAttributes 和 NonResourceAuthorizationAttributes 之一
类型
object
属性类型描述

extra

object

Extra 对应于验证器中的 user.Info.GetExtra() 方法。由于这是对授权者的输入,因此需要反映在此处。

extra{}

数组(字符串)

 

groups

数组(字符串)

Groups 是您要测试的组。

nonResourceAttributes

object

nonResourceAttributes 包括可用于对 Authorizer 接口的非资源请求的授权属性

resourceAttributes

object

ResourceAttributes 包含对 Authorizer 接口的资源请求的授权属性

uid

字符串

有关请求用户的 UID 信息。

user

字符串

用户是您正在测试的用户。如果您指定了 "User" 而不是 "Groups",那么它将解释为"如果用户不是任何组的成员

13.1.2. .spec.extra

描述
Extra 对应于验证器中的 user.Info.GetExtra() 方法。由于这是对授权者的输入,因此需要反映在此处。
类型
object

13.1.3. .spec.nonResourceAttributes

描述
nonResourceAttributes 包括可用于对 Authorizer 接口的非资源请求的授权属性
类型
object
属性类型描述

path

字符串

Path 是请求的 URL 路径

verb

字符串

Verb 是标准 HTTP 动词

13.1.4. .spec.resourceAttributes

描述
ResourceAttributes 包含对 Authorizer 接口的资源请求的授权属性
类型
object
属性类型描述

group

字符串

Group 是 Resource 的 API 组。"*"代表所有。

name

字符串

Name 是为"get"请求的资源的名称,或删除"delete"。"" (空)表示全部。

namespace

字符串

namespace 是所请求操作的命名空间。目前,对于集群范围的资源 "" (empty),没有命名空间和所有命名空间"" (空)之间的差别,对于集群范围的资源 "" (空)代表"all"表示来自 SubjectAccessReview 或 SelfSubjectAccessReview 的命名空间范围资源

resource

字符串

资源是现有资源类型之一。"*"表示全部。

subresource

字符串

子资源是现有资源类型之一。""表示 none。

verb

字符串

verb 是一个 kubernetes 资源 API 动词,如: get, list, watch, create, update, delete, proxy. "*" 表示所有。

version

字符串

version 是资源的 API 版本。"*"表示所有。

13.1.5. .status

描述
SubjectAccessReviewStatus
类型
object
必填
  • allowed
属性类型描述

allowed

布尔值

Allowed 是必需的。True 代表操作被允许,false 代表不允许。

已拒绝

布尔值

Denied 是可选的。如果被拒绝,则为 True,否则为 false。如果 allowed 和 denied 都为 false,则授权器没有对是否授权该操作的建议。如果 Allowed 为 true,则 Denied 可能不是 true。

evaluationError

字符串

EvaluationError 代表了在授权检查过程中发生了一些错误。完全有可能,在获得错误的情况下,可以继续确定授权状态。例如,RBAC 可能会缺少角色,但仍然存在足够的角色,并绑定到有关请求的原因。

reason

字符串

reason 是可选的。它表示请求被允许或拒绝的原因。

13.2. API 端点

可用的 API 端点如下:

  • /apis/authorization.k8s.io/v1/subjectaccessreviews

    • POST: 创建一个 SubjectAccessReview

13.2.1. /apis/authorization.k8s.io/v1/subjectaccessreviews

表 13.1. 全局查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldManager

字符串

fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。

fieldValidation

string

fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象,只要 ServerSideFieldValidation 功能门也被启用。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 之前的默认行为,是 ServerSideFieldValidation 功能门被禁用时的默认行为。- Warn: 这将通过从对象丢弃的每个未知字段的标准警告响应标头发送警告,以及遇到的每个重复字段。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。当 ServerSideFieldValidation 功能门被启用时,这是默认设置。- Strict: 如果从对象中丢弃任何未知字段,则会失败并带有 BadRequest 错误,或者存在任何重复字段。从服务器返回的错误将包含遇到的,以及重复的字段。

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

HTTP 方法
POST
描述
创建一个 SubjectAccessReview
表 13.2. 主体参数
参数类型描述

正文(body)

SubjectAccessReview 模式

 
表 13.3. HTTP 响应
HTTP 代码响应正文

200 - OK

SubjectAccessReview 模式

201 - Created

SubjectAccessReview 模式

202 - Accepted

SubjectAccessReview 模式

401 - Unauthorized

Legal Notice

Copyright © 2024 Red Hat, Inc.

OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).

Modified versions must remove all Red Hat trademarks.

Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.

Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.

Linux® is the registered trademark of Linus Torvalds in the United States and other countries.

Java® is a registered trademark of Oracle and/or its affiliates.

XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.

MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.

Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.

The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.

All other trademarks are the property of their respective owners.

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.