授权 API
授权 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 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
| content 是请求创建和更新的实际内容 | |
|
| 如果这是非资源 URL (资源层次结构外)的请求,IsNonResourceURL 为 true |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
| namespace 是所请求操作的命名空间。目前,无法区分没有命名空间和所有命名空间。 |
|
| path 是非资源 URL 的路径 |
|
| resource 是现有资源类型之一 |
|
| group 是被序列化为 resourceAPIGroup 资源的 API 组,以避免在内联时与 'groups' 字段混淆 |
|
| Version 是被序列化为 resourceAPIVersion 的资源的 API 版本,以避免在内联时与 TypeMeta.apiVersion 和 ObjectMeta.resourceVersion 混淆 |
|
| ResourceName 被请求的用于 "get" 或 "delete" 的资源的名称 |
|
| 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
参数 | 类型 | 描述 |
---|---|---|
|
| 对象名称和身份验证范围,如团队(team)和项目(project) |
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。 |
|
|
fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象,只要 |
|
| 如果为 'true',则输出会经过 pretty print 处理。 |
- HTTP 方法
-
POST
- 描述
- 创建 LocalResourceAccessReview
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
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 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
| content 是请求创建和更新的实际内容 | |
|
| 组是可选的。groups 是用户所属的组的列表。 |
|
| 如果这是非资源 URL (资源层次结构外)的请求,IsNonResourceURL 为 true |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
| namespace 是所请求操作的命名空间。目前,无法区分没有命名空间和所有命名空间。 |
|
| path 是非资源 URL 的路径 |
|
| resource 是现有资源类型之一 |
|
| group 是被序列化为 resourceAPIGroup 资源的 API 组,以避免在内联时与 'groups' 字段混淆 |
|
| Version 是被序列化为 resourceAPIVersion 的资源的 API 版本,以避免在内联时与 TypeMeta.apiVersion 和 ObjectMeta.resourceVersion 混淆 |
|
| ResourceName 被请求的用于 "get" 或 "delete" 的资源的名称 |
|
| 用于评估的范围。空表示"使用没有范围的(完整)的用户/组权限"。self-SAR 为 nil 表示"在其请求中使用范围限制"。regular SAR 为 nil 与空相同。 |
|
| user 是可选的。如果用户和组都为空,则使用当前的经过身份验证的用户。 |
|
| 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
参数 | 类型 | 描述 |
---|---|---|
|
| 对象名称和身份验证范围,如团队(team)和项目(project) |
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。 |
|
|
fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象,只要 |
|
| 如果为 'true',则输出会经过 pretty print 处理。 |
- HTTP 方法
-
POST
- 描述
- 创建 LocalSubjectAccessReview
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
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 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
| content 是请求创建和更新的实际内容 | |
|
| 如果这是非资源 URL (资源层次结构外)的请求,IsNonResourceURL 为 true |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
| namespace 是所请求操作的命名空间。目前,无法区分没有命名空间和所有命名空间。 |
|
| path 是非资源 URL 的路径 |
|
| resource 是现有资源类型之一 |
|
| group 是被序列化为 resourceAPIGroup 资源的 API 组,以避免在内联时与 'groups' 字段混淆 |
|
| Version 是被序列化为 resourceAPIVersion 的资源的 API 版本,以避免在内联时与 TypeMeta.apiVersion 和 ObjectMeta.resourceVersion 混淆 |
|
| ResourceName 被请求的用于 "get" 或 "delete" 的资源的名称 |
|
| 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
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。 |
|
|
fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象,只要 |
|
| 如果为 'true',则输出会经过 pretty print 处理。 |
- HTTP 方法
-
POST
- 描述
- 创建 ResourceAccessReview
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
第 5 章 SelfSubjectRulesReview [authorization.openshift.io/v1]
- 描述
SelfSubjectRulesReview 是一个资源,您可以创建它来确定您可以在命名空间中执行哪些操作
兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。
- 类型
-
object
- 必填
-
spec
-
5.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 |
|
| SelfSubjectRulesReviewSpec 添加有关如何进行检查的信息 |
|
| SubjectRulesReviewStatus 包含规则检查的结果 |
5.1.1. .spec
- 描述
- SelfSubjectRulesReviewSpec 添加有关如何进行检查的信息
- 类型
-
object
- 必填
-
scopes
-
属性 | 类型 | 描述 |
---|---|---|
|
| 用于评估的范围。空表示"使用没有范围的(完整)的用户/组权限"。nil 表示 "在这个请求中使用范围限制"。 |
5.1.2. .status
- 描述
- SubjectRulesReviewStatus 包含规则检查的结果
- 类型
-
object
- 必填
-
rules
-
属性 | 类型 | 描述 |
---|---|---|
|
| EvaluationError 可以与 Rules 结合使用。这意味着,在评估过程中发生了一些错误,这些错误可能会阻止生成额外的规则。 |
|
| rules 是一个主题允许的规则列表(没有特定排序), |
|
| PolicyRule 包含描述策略规则的信息,但不包含有关规则应用到谁或规则应用到哪个命名空间的信息。 |
5.1.3. .status.rules
- 描述
- rules 是一个主题允许的规则列表(没有特定排序),
- 类型
-
array
5.1.4. .status.rules[]
- 描述
- PolicyRule 包含描述策略规则的信息,但不包含有关规则应用到谁或规则应用到哪个命名空间的信息。
- 类型
-
object
- 必填
-
verbs
-
resources
-
属性 | 类型 | 描述 |
---|---|---|
|
| APIGroups 是包含资源的 APIGroup 的名称。如果此字段为空,则假定为 kubernetes 和 origin API 组。这意味着,如果针对 kubernetes 或 origin API 组中的一个枚举的资源请求一个操作,则这个请求被允许 |
| AttributeRestrictions 将根据 Authorizer/AuthorizationAttributeBuilder 对支持的不同而有所不同。如果 Authorizer 无法识别如何处理 AttributeRestrictions,Authorizer 应报告错误。 | |
|
| NonResourceURLsSlice 是用户应该有权访问的一组部分 URL。* 是被允许访问的,但只在完整的情况下,路径的最后一步。这个名称有意与 internal 类型不同,因此 DefaultConvert 可以正常工作,因为排序可能会不同。 |
|
| resourceNames 是一个可选的规则应用到的名称白名单。空集表示所有都会被允许。 |
|
| resources 是一组这个规则应用到的资源列表。ResourceAll 代表所有资源。 |
|
| 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
参数 | 类型 | 描述 |
---|---|---|
|
| 对象名称和身份验证范围,如团队(team)和项目(project) |
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。 |
|
|
fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象,只要 |
|
| 如果为 'true',则输出会经过 pretty print 处理。 |
- HTTP 方法
-
POST
- 描述
- 创建一个 SelfSubjectRulesReview
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
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 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
| content 是请求创建和更新的实际内容 | |
|
| GroupsSlice 是可选的。groups 是用户所属的组的列表。 |
|
| 如果这是非资源 URL (资源层次结构外)的请求,IsNonResourceURL 为 true |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
| namespace 是所请求操作的命名空间。目前,无法区分没有命名空间和所有命名空间。 |
|
| path 是非资源 URL 的路径 |
|
| resource 是现有资源类型之一 |
|
| group 是被序列化为 resourceAPIGroup 资源的 API 组,以避免在内联时与 'groups' 字段混淆 |
|
| Version 是被序列化为 resourceAPIVersion 的资源的 API 版本,以避免在内联时与 TypeMeta.apiVersion 和 ObjectMeta.resourceVersion 混淆 |
|
| ResourceName 被请求的用于 "get" 或 "delete" 的资源的名称 |
|
| 用于评估的范围。空表示"使用没有范围的(完整)的用户/组权限"。self-SAR 为 nil 表示"在其请求中使用范围限制"。regular SAR 为 nil 与空相同。 |
|
| user 是可选的。如果用户和组都为空,则使用当前的经过身份验证的用户。 |
|
| 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
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。 |
|
|
fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象,只要 |
|
| 如果为 'true',则输出会经过 pretty print 处理。 |
- HTTP 方法
-
POST
- 描述
- 创建一个 SubjectAccessReview
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
第 7 章 SubjectRulesReview [authorization.openshift.io/v1]
- 描述
SubjectRulesReview 是一个资源,您可以创建它来确定另外一个用户可以在命名空间中执行哪些操作
兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。
- 类型
-
object
- 必填
-
spec
-
7.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 |
|
| SubjectRulesReviewSpec 添加有关如何进行检查的信息 |
|
| SubjectRulesReviewStatus 包含规则检查的结果 |
7.1.1. .spec
- 描述
- SubjectRulesReviewSpec 添加有关如何进行检查的信息
- 类型
-
object
- 必填
-
user
-
groups
-
scopes
-
属性 | 类型 | 描述 |
---|---|---|
|
| 组是可选的。groups 是用户所属的组的列表。必须至少指定一个 User 和 Groups。 |
|
| 用于评估的范围。空表示"使用没有范围的(完整)的用户/组权限"。 |
|
| user 是可选的。必须至少指定一个 User 和 Groups。 |
7.1.2. .status
- 描述
- SubjectRulesReviewStatus 包含规则检查的结果
- 类型
-
object
- 必填
-
rules
-
属性 | 类型 | 描述 |
---|---|---|
|
| EvaluationError 可以与 Rules 结合使用。这意味着,在评估过程中发生了一些错误,这些错误可能会阻止生成额外的规则。 |
|
| rules 是一个主题允许的规则列表(没有特定排序), |
|
| PolicyRule 包含描述策略规则的信息,但不包含有关规则应用到谁或规则应用到哪个命名空间的信息。 |
7.1.3. .status.rules
- 描述
- rules 是一个主题允许的规则列表(没有特定排序),
- 类型
-
array
7.1.4. .status.rules[]
- 描述
- PolicyRule 包含描述策略规则的信息,但不包含有关规则应用到谁或规则应用到哪个命名空间的信息。
- 类型
-
object
- 必填
-
verbs
-
resources
-
属性 | 类型 | 描述 |
---|---|---|
|
| APIGroups 是包含资源的 APIGroup 的名称。如果此字段为空,则假定为 kubernetes 和 origin API 组。这意味着,如果针对 kubernetes 或 origin API 组中的一个枚举的资源请求一个操作,则这个请求被允许 |
| AttributeRestrictions 将根据 Authorizer/AuthorizationAttributeBuilder 对支持的不同而有所不同。如果 Authorizer 无法识别如何处理 AttributeRestrictions,Authorizer 应报告错误。 | |
|
| NonResourceURLsSlice 是用户应该有权访问的一组部分 URL。* 是被允许访问的,但只在完整的情况下,路径的最后一步。这个名称有意与 internal 类型不同,因此 DefaultConvert 可以正常工作,因为排序可能会不同。 |
|
| resourceNames 是一个可选的规则应用到的名称白名单。空集表示所有都会被允许。 |
|
| resources 是一组这个规则应用到的资源列表。ResourceAll 代表所有资源。 |
|
| 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
参数 | 类型 | 描述 |
---|---|---|
|
| 对象名称和身份验证范围,如团队(team)和项目(project) |
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。 |
|
|
fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象,只要 |
|
| 如果为 'true',则输出会经过 pretty print 处理。 |
- HTTP 方法
-
POST
- 描述
- 创建一个 SubjectRulesReview
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
第 8 章 TokenRequest [authentication.k8s.io/v1]
- 描述
- TokenRequest 为给定服务帐户请求一个令牌。
- 类型
-
object
- 必填
-
spec
-
8.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 | |
|
| TokenRequestSpec 包括由客户端提供的令牌请求的参数。 |
|
| TokenRequestStatus 是令牌请求的结果。 |
8.1.1. .spec
- 描述
- TokenRequestSpec 包括由客户端提供的令牌请求的参数。
- 类型
-
object
- 必填
-
audiences
-
属性 | 类型 | 描述 |
---|---|---|
|
| audiences 是令牌的受众对象。令牌的接收者必须使用令牌的 audiences 列表中的一个标识符来识别自己,否则应拒绝令牌。为多个 audiences 发布的令牌可以用于针对列出的 audiences 进行验证,但意味着目标 audiences 之间有高的信任度。 |
|
| BoundObjectReference 是对令牌绑定到的一个对象的引用。 |
|
| ExpirationSeconds 是请求的有效期。令牌签发者可能会返回具有不同有效期持续时间的令牌,因此客户端需要检查响应中的 'expiration' 字段。 |
8.1.2. .spec.boundObjectRef
- 描述
- BoundObjectReference 是对令牌绑定到的一个对象的引用。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的 API 版本。 |
|
| 引用的类型。有效类型为 'Pod' 和 'Secret'。 |
|
| 引用的名称。 |
|
| 引用的 UID。 |
8.1.3. .status
- 描述
- TokenRequestStatus 是令牌请求的结果。
- 类型
-
object
- 必填
-
token
-
expirationTimestamp
-
属性 | 类型 | 描述 |
---|---|---|
| ExpirationTimestamp 是返回令牌的过期时间。 | |
|
| 令牌是 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
参数 | 类型 | 描述 |
---|---|---|
|
| TokenRequest 的名称 |
|
| 对象名称和身份验证范围,如团队(team)和项目(project) |
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。 |
|
|
fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象,只要 |
|
| 如果为 'true',则输出会经过 pretty print 处理。 |
- HTTP 方法
-
POST
- 描述
- 创建 ServiceAccount 的令牌
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
第 9 章 TokenReview [authentication.k8s.io/v1]
- 描述
- TokenReview 会尝试向一个已知用户验证令牌。备注:TokenReview 请求可能会被 kube-apiserver 中的 Webhook 令牌验证器插件缓存。
- 类型
-
object
- 必填
-
spec
-
9.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 | |
|
| TokenReviewSpec 是令牌身份验证请求的描述。 |
|
| TokenReviewStatus 是令牌身份验证请求的结果。 |
9.1.1. .spec
- 描述
- TokenReviewSpec 是令牌身份验证请求的描述。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| Audiences 是资源服务器通过令牌标识的标识符的列表。支持 Audiences 的令牌验证器将验证至少针对此列表中的一个 audience 的令牌。如果没有提供 audiences,则 audiences 将默认为 Kubernetes apiserver 的 audiences。 |
|
| 令牌是 opaque bearer 令牌。 |
9.1.2. .status
- 描述
- TokenReviewStatus 是令牌身份验证请求的结果。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| audiences 是由与 TokenReview 和 token 兼容的验证器选择的 audiences 标识符。标识符是 TokenReviewSpec audiences 和 token audiences 的交集中的任何标识符。设置 spec.audiences 字段的 TokenReview API 客户端应该验证 status.audiences 字段中是否返回兼容 audience 标识符,以确保 TokenReview 服务器了解。如果 TokenReview 返回一个空 status.audience 字段,其中 status.authenticated 为 "true",则令牌对 Kubernetes API 服务器的使用者有效。 |
|
| Authenticationed 表示令牌与已知用户关联。 |
|
| Error 表示无法检查令牌 |
|
| Userinfo 包含有关实施 user.Info 接口所需的用户的信息。 |
9.1.3. .status.user
- 描述
- Userinfo 包含有关实施 user.Info 接口所需的用户的信息。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 身份验证器提供的任何其他信息。 |
|
| |
|
| 此用户所属的组的名称。 |
|
| 在一段时间内标识此用户的唯一值。如果删除了此用户,并且添加了相同名称的另一个用户,它们具有不同的 UID。 |
|
| 在所有活跃用户中唯一标识此用户的名称。 |
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
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。 |
|
| 如果为 'true',则输出会经过 pretty print 处理。 |
- HTTP 方法
-
POST
- 描述
- 创建 TokenReview
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
9.2.2. /apis/authentication.k8s.io/v1/tokenreviews
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。 |
|
|
fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象,只要 |
|
| 如果为 'true',则输出会经过 pretty print 处理。 |
- HTTP 方法
-
POST
- 描述
- 创建 TokenReview
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
第 10 章 LocalSubjectAccessReview [authorization.k8s.io/v1]
- 描述
- LocalSubjectAccessReview 检查一个用户或组是否可以在给定命名空间中执行操作。使用命名空间范围资源可以更容易授予包含权限检查的命名空间范围策略。
- 类型
-
object
- 必填
-
spec
-
10.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 |
10.1.1. .spec
- 描述
- SubjectAccessReviewSpec 是访问请求的描述。必须设置 ResourceAuthorizationAttributes 和 NonResourceAuthorizationAttributes 之一
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| Extra 对应于验证器中的 user.Info.GetExtra() 方法。由于这是对授权者的输入,因此需要反映在此处。 |
|
| |
|
| Groups 是您要测试的组。 |
|
| nonResourceAttributes 包括可用于对 Authorizer 接口的非资源请求的授权属性 |
|
| ResourceAttributes 包含对 Authorizer 接口的资源请求的授权属性 |
|
| 有关请求用户的 UID 信息。 |
|
| 用户是您正在测试的用户。如果您指定了 "User" 而不是 "Groups",那么它将解释为"如果用户不是任何组的成员 |
10.1.2. .spec.extra
- 描述
- Extra 对应于验证器中的 user.Info.GetExtra() 方法。由于这是对授权者的输入,因此需要反映在此处。
- 类型
-
object
10.1.3. .spec.nonResourceAttributes
- 描述
- nonResourceAttributes 包括可用于对 Authorizer 接口的非资源请求的授权属性
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| Path 是请求的 URL 路径 |
|
| Verb 是标准 HTTP 动词 |
10.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 版本。"*"表示所有。 |
10.1.5. .status
- 描述
- SubjectAccessReviewStatus
- 类型
-
object
- 必填
-
allowed
-
属性 | 类型 | 描述 |
---|---|---|
|
| Allowed 是必需的。True 代表操作被允许,false 代表不允许。 |
|
| Denied 是可选的。如果被拒绝,则为 True,否则为 false。如果 allowed 和 denied 都为 false,则授权器没有对是否授权该操作的建议。如果 Allowed 为 true,则 Denied 可能不是 true。 |
|
| EvaluationError 代表了在授权检查过程中发生了一些错误。完全有可能,在获得错误的情况下,可以继续确定授权状态。例如,RBAC 可能会缺少角色,但仍然存在足够的角色,并绑定到有关请求的原因。 |
|
| 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
参数 | 类型 | 描述 |
---|---|---|
|
| 对象名称和身份验证范围,如团队(team)和项目(project) |
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。 |
|
|
fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象,只要 |
|
| 如果为 'true',则输出会经过 pretty print 处理。 |
- HTTP 方法
-
POST
- 描述
- 创建 LocalSubjectAccessReview
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
第 11 章 SelfSubjectAccessReview [authorization.k8s.io/v1]
- 描述
- SelfSubjectAccessReview 检查当前用户是否可以执行一个操作。不填写 spec.namespace 表示"在所有命名空间中"。Self 是一个特殊的情况,因为用户应始终可以检查自己是否可以执行操作
- 类型
-
object
- 必填
-
spec
-
11.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 | |
|
| SelfSubjectAccessReviewSpec 是访问请求的描述。必须设置 ResourceAuthorizationAttributes 和 NonResourceAuthorizationAttributes 之一 |
|
| SubjectAccessReviewStatus |
11.1.1. .spec
- 描述
- SelfSubjectAccessReviewSpec 是访问请求的描述。必须设置 ResourceAuthorizationAttributes 和 NonResourceAuthorizationAttributes 之一
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| nonResourceAttributes 包括可用于对 Authorizer 接口的非资源请求的授权属性 |
|
| ResourceAttributes 包含对 Authorizer 接口的资源请求的授权属性 |
11.1.2. .spec.nonResourceAttributes
- 描述
- nonResourceAttributes 包括可用于对 Authorizer 接口的非资源请求的授权属性
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| Path 是请求的 URL 路径 |
|
| Verb 是标准 HTTP 动词 |
11.1.3. .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 版本。"*"表示所有。 |
11.1.4. .status
- 描述
- SubjectAccessReviewStatus
- 类型
-
object
- 必填
-
allowed
-
属性 | 类型 | 描述 |
---|---|---|
|
| Allowed 是必需的。True 代表操作被允许,false 代表不允许。 |
|
| Denied 是可选的。如果被拒绝,则为 True,否则为 false。如果 allowed 和 denied 都为 false,则授权器没有对是否授权该操作的建议。如果 Allowed 为 true,则 Denied 可能不是 true。 |
|
| EvaluationError 代表了在授权检查过程中发生了一些错误。完全有可能,在获得错误的情况下,可以继续确定授权状态。例如,RBAC 可能会缺少角色,但仍然存在足够的角色,并绑定到有关请求的原因。 |
|
| reason 是可选的。它表示请求被允许或拒绝的原因。 |
11.2. API 端点
可用的 API 端点如下:
/apis/authorization.k8s.io/v1/selfsubjectaccessreviews
-
POST
:创建 SelfSubjectAccessReview
-
11.2.1. /apis/authorization.k8s.io/v1/selfsubjectaccessreviews
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。 |
|
|
fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象,只要 |
|
| 如果为 'true',则输出会经过 pretty print 处理。 |
- HTTP 方法
-
POST
- 描述
- 创建 SelfSubjectAccessReview
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
202 - Accepted | |
401 - Unauthorized | 空 |
第 12 章 SelfSubjectRulesReview [authorization.k8s.io/v1]
- 描述
- SelfSubjectRulesReview 枚举了当前用户可以在一个命名空间内执行的操作集合。返回的操作列表可能并不完整,具体取决于服务器的授权模式,以及在评估过程中出现的任何错误。UI 应使用 SelfSubjectRulesReview 来显示/隐藏操作,或者快速让最终用户有关其权限的原因。它不应该被外部系统用来驱动授权决策,因为这会导致缓存生命周期/撤销、正确性的混淆SubjectAccessReview 和 LocalAccessReview 是将授权决策延迟到 API 服务器的正确方法。
- 类型
-
object
- 必填
-
spec
-
12.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 | |
|
| SelfSubjectRulesReviewSpec 定义 SelfSubjectRulesReview 的规格。 |
|
| SubjectRulesReviewStatus 包含规则检查的结果。根据服务器配置的授权者集合以及评估过程中出现的任何错误,此检查可能不完整。由于授权规则是可添加的,如果规则出现在列表中,则假定主题具有该权限,即使该列表不完整。 |
12.1.1. .spec
- 描述
- SelfSubjectRulesReviewSpec 定义 SelfSubjectRulesReview 的规格。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 要评估规则的命名空间。必需。 |
12.1.2. .status
- 描述
- SubjectRulesReviewStatus 包含规则检查的结果。根据服务器配置的授权者集合以及评估过程中出现的任何错误,此检查可能不完整。由于授权规则是可添加的,如果规则出现在列表中,则假定主题具有该权限,即使该列表不完整。
- 类型
-
object
- 必填
-
resourceRules
-
nonResourceRules
-
incomplete
-
属性 | 类型 | 描述 |
---|---|---|
|
| EvaluationError 可以与 Rules 结合使用。它表示在规则评估过程中出现错误,如不支持规则评估的授权器,且 ResourceRules 和/或 NonResourceRules 可能不完整。 |
|
| 当此调用返回的规则不完整时,Incomplete 为 true。当授权者(如外部授权器)不支持规则评估时,这是最常出现的情况。 |
|
| NonResourceRules 是允许主体在非资源上执行的操作列表。列表排序并不重要,可能包含重复项,可能不完整。 |
|
| NonResourceRule 包含描述非资源规则的信息 |
|
| ResourceRules 是允许对资源执行的操作列表。列表排序并不重要,可能包含重复项,可能不完整。 |
|
| ResourceRule 是允许主体对资源执行的操作列表。列表排序并不重要,可能包含重复项,可能不完整。 |
12.1.3. .status.nonResourceRules
- 描述
- NonResourceRules 是允许主体在非资源上执行的操作列表。列表排序并不重要,可能包含重复项,可能不完整。
- 类型
-
array
12.1.4. .status.nonResourceRules[]
- 描述
- NonResourceRule 包含描述非资源规则的信息
- 类型
-
object
- 必填
-
verbs
-
属性 | 类型 | 描述 |
---|---|---|
|
| NonResourceURLs 是一组用户应该有权访问的部分 url。 是 allowed, 但只为 full, 路径中的最终步骤。 "" 代表所有。 |
|
| 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 是包含资源的 APIGroup 的名称。如果指定了多个 API 组,则允许针对任何 API 组中的一个枚举资源请求的任何操作。"*"表示所有。 |
|
| resourceNames 是一个可选的规则应用到的名称白名单。一个空集合表示允许所有内容。"*"表示所有。 |
|
| Resources 是此规则应用到的资源列表。"" 表示指定的 apiGroups 中的所有。"/foo" 代表指定 apiGroups 中所有资源的子资源 'foo'。 |
|
| 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
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。 |
|
|
fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象,只要 |
|
| 如果为 'true',则输出会经过 pretty print 处理。 |
- HTTP 方法
-
POST
- 描述
- 创建一个 SelfSubjectRulesReview
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
第 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 是可选的。它表示请求被允许或拒绝的原因。 |
13.2. API 端点
可用的 API 端点如下:
/apis/authorization.k8s.io/v1/subjectaccessreviews
-
POST
: 创建一个 SubjectAccessReview
-
13.2.1. /apis/authorization.k8s.io/v1/subjectaccessreviews
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。 |
|
|
fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象,只要 |
|
| 如果为 'true',则输出会经过 pretty print 处理。 |
- HTTP 方法
-
POST
- 描述
- 创建一个 SubjectAccessReview
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
202 - Accepted | |
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.