角色 API


OpenShift Container Platform 4.17

角色 API 的参考指南

Red Hat OpenShift Documentation Team

摘要

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

第 1 章 角色 API

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

描述

ClusterRoleBinding 引用 ClusterRole,但不包含它。它可以引用同一命名空间或全局命名空间中的任何 ClusterRole。它通过 (用户和组)添加哪些命名空间信息(用户和组)或主题和命名空间信息。给定命名空间中的 Clusterrolebindings 仅在该命名空间中具有影响(除了在所有命名空间中具有电源的 master 命名空间除外)。

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

类型
对象

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

描述

ClusterRole 是 PolicyRules 的逻辑分组,可以被 ClusterRoleBindings 引用为单元。

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

类型
对象

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

描述
RoleBindingRestriction 是一个对象,可与主题(用户、组或服务帐户)匹配,以确定该主题上的 rolebindings 是否被允许在 RoleBindingRestriction 所属的命名空间中。如果其中任何一个 RoleBindingRestriction 对象与一个 subject 匹配,则允许命名空间中的该主题的 rolebindings。兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。
类型
对象

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

描述

Rolebinding 引用 Role,但不包含它。它可以引用同一命名空间或全局命名空间中的任何角色。它通过 (用户和组)添加哪些命名空间信息(用户和组)或主题和命名空间信息。给定命名空间中的 rolebindings 仅在该命名空间中生效(除了在所有命名空间中具有电源的 master 命名空间除外)。

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

类型
对象

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

描述

role 是 PolicyRules 的逻辑分组,可由 RoleBindings 指代为单元。

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

类型
对象

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

描述

ClusterRoleBinding 引用 ClusterRole,但不包含它。它可以引用同一命名空间或全局命名空间中的任何 ClusterRole。它通过 (用户和组)添加哪些命名空间信息(用户和组)或主题和命名空间信息。给定命名空间中的 Clusterrolebindings 仅在该命名空间中具有影响(除了在所有命名空间中具有电源的 master 命名空间除外)。

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

类型
object
必填
  • subjects
  • roleRef

2.1. 规格

属性类型描述

apiVersion

字符串

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

groupNames

数组(字符串)

groupnames 包含直接绑定到角色的所有组。只有在支持旧的客户端和服务器时,才应指定此字段。详情请查看 主题。

kind

字符串

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

metadata

ObjectMeta_v2

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

roleRef

ObjectReference

roleRef 只能引用当前命名空间和全局命名空间。如果无法解析 ClusterRoleRef,Authorizer 必须返回错误。由于 Policy 是单例,因此这足以找到角色。

subjects

array (ObjectReference)

subjects hold 对象引用来授权此规则。如果指定了 UserNames 或 GroupNames 来支持旧的客户端和服务器,则此字段将被忽略。因此,不需要向后兼容的较新的客户端应该只发送完全限定主题,并应省略 UserNames 和 GroupNames 字段。需要向后兼容的客户端可以使用此字段构建 UserNames 和 GroupNames。

userNames

数组(字符串)

用户名包含直接绑定到角色的所有用户名。只有在支持旧的客户端和服务器时,才应指定此字段。详情请查看 主题。

2.2. API 端点

可用的 API 端点如下:

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

    • GET :列出 ClusterRoleBinding 类型的对象
    • POST :创建 ClusterRoleBinding
  • /apis/authorization.openshift.io/v1/clusterrolebindings/{name}

    • DELETE :删除 ClusterRoleBinding
    • GET :读取指定的 ClusterRoleBinding
    • PATCH: 部分更新指定的 ClusterRoleBinding
    • PUT :替换指定的 ClusterRoleBinding

2.2.1. /apis/authorization.openshift.io/v1/clusterrolebindings

HTTP 方法
GET
描述
列出 ClusterRoleBinding 类型的对象
表 2.1. HTTP 响应
HTTP 代码响应正文

200 - OK

ClusterRoleBindingList 模式

401 - Unauthorized

HTTP 方法
POST
描述
创建 ClusterRoleBinding
表 2.2. 查询参数
参数类型描述

dryRun

字符串

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

fieldValidation

string

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

表 2.3. 主体参数
参数类型描述

正文(body)

ClusterRoleBinding 模式

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

200 - OK

ClusterRoleBinding 模式

201 - Created

ClusterRoleBinding 模式

202 - Accepted

ClusterRoleBinding 模式

401 - Unauthorized

2.2.2. /apis/authorization.openshift.io/v1/clusterrolebindings/{name}

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

name

字符串

ClusterRoleBinding 的名称

HTTP 方法
DELETE
描述
删除 ClusterRoleBinding
表 2.6. 查询参数
参数类型描述

dryRun

字符串

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

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

200 - OK

Status_v3 模式

202 - Accepted

Status_v3 模式

401 - Unauthorized

HTTP 方法
GET
描述
阅读指定的 ClusterRoleBinding
表 2.8. HTTP 响应
HTTP 代码响应正文

200 - OK

ClusterRoleBinding 模式

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定的 ClusterRoleBinding
表 2.9. 查询参数
参数类型描述

dryRun

字符串

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

fieldValidation

string

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

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

200 - OK

ClusterRoleBinding 模式

201 - Created

ClusterRoleBinding 模式

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定的 ClusterRoleBinding
表 2.11. 查询参数
参数类型描述

dryRun

字符串

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

fieldValidation

string

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

表 2.12. 主体参数
参数类型描述

正文(body)

ClusterRoleBinding 模式

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

200 - OK

ClusterRoleBinding 模式

201 - Created

ClusterRoleBinding 模式

401 - Unauthorized

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

描述

ClusterRole 是 PolicyRules 的逻辑分组,可以被 ClusterRoleBindings 引用为单元。

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

类型
object
必填
  • rules

3.1. 规格

属性类型描述

aggregationRule

AggregationRule_v2

AggregationRule 是一个可选字段,描述了如何为此 ClusterRole 构建规则。如果设置了 AggregationRule,则规则会被管理,对 Rules 的直接更改将由控制器处理。

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_v2

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

rules

array

规则包含此 ClusterRole 的所有 PolicyRules

rules[]

object

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

3.1.1. .rules

描述
规则包含此 ClusterRole 的所有 PolicyRules
类型
array

3.1.2. .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 代表所有种类。

3.2. API 端点

可用的 API 端点如下:

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

    • GET: 列出 ClusterRole 类型的对象
    • POST :创建 ClusterRole
  • /apis/authorization.openshift.io/v1/clusterroles/{name}

    • DELETE :删除 ClusterRole
    • GET :读取指定的 ClusterRole
    • PATCH: 部分更新指定的 ClusterRole
    • PUT :替换指定的 ClusterRole

3.2.1. /apis/authorization.openshift.io/v1/clusterroles

HTTP 方法
GET
描述
列出 ClusterRole 类型的对象
表 3.1. HTTP 响应
HTTP 代码响应正文

200 - OK

ClusterRoleList 模式

401 - Unauthorized

HTTP 方法
POST
描述
创建 ClusterRole
表 3.2. 查询参数
参数类型描述

dryRun

字符串

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

fieldValidation

string

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

表 3.3. 主体参数
参数类型描述

正文(body)

ClusterRole 模式

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

200 - OK

ClusterRole 模式

201 - Created

ClusterRole 模式

202 - Accepted

ClusterRole 模式

401 - Unauthorized

3.2.2. /apis/authorization.openshift.io/v1/clusterroles/{name}

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

name

字符串

ClusterRole 的名称

HTTP 方法
DELETE
描述
删除 ClusterRole
表 3.6. 查询参数
参数类型描述

dryRun

字符串

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

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

200 - OK

Status_v3 模式

202 - Accepted

Status_v3 模式

401 - Unauthorized

HTTP 方法
GET
描述
读取指定的 ClusterRole
表 3.8. HTTP 响应
HTTP 代码响应正文

200 - OK

ClusterRole 模式

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定的 ClusterRole
表 3.9. 查询参数
参数类型描述

dryRun

字符串

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

fieldValidation

string

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

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

200 - OK

ClusterRole 模式

201 - Created

ClusterRole 模式

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定的 ClusterRole
表 3.11. 查询参数
参数类型描述

dryRun

字符串

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

fieldValidation

string

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

表 3.12. 主体参数
参数类型描述

正文(body)

ClusterRole 模式

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

200 - OK

ClusterRole 模式

201 - Created

ClusterRole 模式

401 - Unauthorized

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

描述
RoleBindingRestriction 是一个对象,可与主题(用户、组或服务帐户)匹配,以确定该主题上的 rolebindings 是否被允许在 RoleBindingRestriction 所属的命名空间中。如果其中任何一个 RoleBindingRestriction 对象与一个 subject 匹配,则允许命名空间中的该主题的 rolebindings。兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。
类型
对象

4.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

对象

spec 定义匹配器。

4.1.1. .spec

描述
spec 定义匹配器。
类型
object
属性类型描述

grouprestriction

``

GroupRestriction 匹配组主题。

serviceaccountrestriction

``

ServiceAccountRestriction 与 service-account 主题匹配。

userrestriction

``

UserRestriction 与用户主题匹配。

4.2. API 端点

可用的 API 端点如下:

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

    • GET: 列出 RoleBindingRestriction 类型的对象
  • /apis/authorization.openshift.io/v1/namespaces/{namespace}/rolebindingrestrictions

    • DELETE: delete collection of RoleBindingRestriction
    • GET: 列出 RoleBindingRestriction 类型的对象
    • POST :创建 RoleBindingRestriction
  • /apis/authorization.openshift.io/v1/namespaces/{namespace}/rolebindingrestrictions/{name}

    • DELETE: delete a RoleBindingRestriction
    • GET :读取指定的 RoleBindingRestriction
    • PATCH: 部分更新指定的 RoleBindingRestriction
    • PUT :替换指定的 RoleBindingRestriction

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

HTTP 方法
GET
描述
列出 RoleBindingRestriction 类型的对象
表 4.1. HTTP 响应
HTTP 代码响应正文

200 - OK

RoleBindingRestrictionList schema

401 - Unauthorized

4.2.2. /apis/authorization.openshift.io/v1/namespaces/{namespace}/rolebindingrestrictions

HTTP 方法
DELETE
描述
删除 RoleBindingRestriction 集合
表 4.2. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
列出 RoleBindingRestriction 类型的对象
表 4.3. HTTP 响应
HTTP 代码响应正文

200 - OK

RoleBindingRestrictionList schema

401 - Unauthorized

HTTP 方法
POST
描述
创建 RoleBindingRestriction
表 4.4. 查询参数
参数类型描述

dryRun

字符串

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

fieldValidation

string

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

表 4.5. 主体参数
参数类型描述

正文(body)

RoleBindingRestriction 模式

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

200 - OK

RoleBindingRestriction 模式

201 - Created

RoleBindingRestriction 模式

202 - Accepted

RoleBindingRestriction 模式

401 - Unauthorized

4.2.3. /apis/authorization.openshift.io/v1/namespaces/{namespace}/rolebindingrestrictions/{name}

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

name

字符串

RoleBindingRestriction 的名称

HTTP 方法
DELETE
描述
delete a RoleBindingRestriction
表 4.8. 查询参数
参数类型描述

dryRun

字符串

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

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

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
读取指定的 RoleBindingRestriction
表 4.10. HTTP 响应
HTTP 代码响应正文

200 - OK

RoleBindingRestriction 模式

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定的 RoleBindingRestriction
表 4.11. 查询参数
参数类型描述

dryRun

字符串

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

fieldValidation

string

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

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

200 - OK

RoleBindingRestriction 模式

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定的 RoleBindingRestriction
表 4.13. 查询参数
参数类型描述

dryRun

字符串

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

fieldValidation

string

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

表 4.14. 主体参数
参数类型描述

正文(body)

RoleBindingRestriction 模式

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

200 - OK

RoleBindingRestriction 模式

201 - Created

RoleBindingRestriction 模式

401 - Unauthorized

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

描述

Rolebinding 引用 Role,但不包含它。它可以引用同一命名空间或全局命名空间中的任何角色。它通过 (用户和组)添加哪些命名空间信息(用户和组)或主题和命名空间信息。给定命名空间中的 rolebindings 仅在该命名空间中生效(除了在所有命名空间中具有电源的 master 命名空间除外)。

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

类型
object
必填
  • subjects
  • roleRef

5.1. 规格

属性类型描述

apiVersion

字符串

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

groupNames

数组(字符串)

groupnames 包含直接绑定到角色的所有组。只有在支持旧的客户端和服务器时,才应指定此字段。详情请查看 主题。

kind

字符串

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

metadata

ObjectMeta_v2

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

roleRef

ObjectReference

roleRef 只能引用当前命名空间和全局命名空间。如果无法解析 RoleRef,Authorizer 必须返回错误。由于 Policy 是单例,因此这足以找到角色。

subjects

array (ObjectReference)

subjects hold 对象引用来授权此规则。如果指定了 UserNames 或 GroupNames 来支持旧的客户端和服务器,则此字段将被忽略。因此,不需要向后兼容的较新的客户端应该只发送完全限定主题,并应省略 UserNames 和 GroupNames 字段。需要向后兼容的客户端可以使用此字段构建 UserNames 和 GroupNames。

userNames

数组(字符串)

用户名包含直接绑定到角色的所有用户名。只有在支持旧的客户端和服务器时,才应指定此字段。详情请查看 主题。

5.2. API 端点

可用的 API 端点如下:

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

    • GET :列出类型为 RoleBinding 的对象
  • /apis/authorization.openshift.io/v1/namespaces/{namespace}/rolebindings

    • GET :列出类型为 RoleBinding 的对象
    • POST :创建 RoleBinding
  • /apis/authorization.openshift.io/v1/namespaces/{namespace}/rolebindings/{name}

    • DELETE :删除 RoleBinding
    • GET :读取指定的 RoleBinding
    • PATCH: 部分更新指定的 RoleBinding
    • PUT :替换指定的 RoleBinding

5.2.1. /apis/authorization.openshift.io/v1/rolebindings

HTTP 方法
GET
描述
列出 RoleBinding 类型的对象
表 5.1. HTTP 响应
HTTP 代码响应正文

200 - OK

RoleBindingList 模式

401 - Unauthorized

5.2.2. /apis/authorization.openshift.io/v1/namespaces/{namespace}/rolebindings

HTTP 方法
GET
描述
列出 RoleBinding 类型的对象
表 5.2. HTTP 响应
HTTP 代码响应正文

200 - OK

RoleBindingList 模式

401 - Unauthorized

HTTP 方法
POST
描述
创建 RoleBinding
表 5.3. 查询参数
参数类型描述

dryRun

字符串

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

fieldValidation

string

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

表 5.4. 主体参数
参数类型描述

正文(body)

Rolebinding 模式

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

200 - OK

Rolebinding 模式

201 - Created

Rolebinding 模式

202 - Accepted

Rolebinding 模式

401 - Unauthorized

5.2.3. /apis/authorization.openshift.io/v1/namespaces/{namespace}/rolebindings/{name}

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

name

字符串

RoleBinding 的名称

HTTP 方法
DELETE
描述
删除 RoleBinding
表 5.7. 查询参数
参数类型描述

dryRun

字符串

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

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

200 - OK

Status_v3 模式

202 - Accepted

Status_v3 模式

401 - Unauthorized

HTTP 方法
GET
描述
读取指定的 RoleBinding
表 5.9. HTTP 响应
HTTP 代码响应正文

200 - OK

Rolebinding 模式

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定的 RoleBinding
表 5.10. 查询参数
参数类型描述

dryRun

字符串

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

fieldValidation

string

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

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

200 - OK

Rolebinding 模式

201 - Created

Rolebinding 模式

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定的 RoleBinding
表 5.12. 查询参数
参数类型描述

dryRun

字符串

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

fieldValidation

string

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

表 5.13. 主体参数
参数类型描述

正文(body)

Rolebinding 模式

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

200 - OK

Rolebinding 模式

201 - Created

Rolebinding 模式

401 - Unauthorized

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

描述

role 是 PolicyRules 的逻辑分组,可由 RoleBindings 指代为单元。

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

类型
object
必填
  • rules

6.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_v2

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

rules

array

规则包含此角色的所有 PolicyRules

rules[]

object

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

6.1.1. .rules

描述
规则包含此角色的所有 PolicyRules
类型
array

6.1.2. .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 代表所有种类。

6.2. API 端点

可用的 API 端点如下:

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

    • GET :列出类型为 Role 的对象
  • /apis/authorization.openshift.io/v1/namespaces/{namespace}/roles

    • GET :列出类型为 Role 的对象
    • POST :创建角色
  • /apis/authorization.openshift.io/v1/namespaces/{namespace}/roles/{name}

    • DELETE :删除角色
    • GET :读取指定的角色
    • PATCH: 部分更新指定的角色
    • PUT :替换指定的角色

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

HTTP 方法
GET
描述
列出 Role 类型的对象
表 6.1. HTTP 响应
HTTP 代码响应正文

200 - OK

RoleList 模式

401 - Unauthorized

6.2.2. /apis/authorization.openshift.io/v1/namespaces/{namespace}/roles

HTTP 方法
GET
描述
列出 Role 类型的对象
表 6.2. HTTP 响应
HTTP 代码响应正文

200 - OK

RoleList 模式

401 - Unauthorized

HTTP 方法
POST
描述
创建角色
表 6.3. 查询参数
参数类型描述

dryRun

字符串

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

fieldValidation

string

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

表 6.4. 主体参数
参数类型描述

正文(body)

Role 模式

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

200 - OK

Role 模式

201 - Created

Role 模式

202 - Accepted

Role 模式

401 - Unauthorized

6.2.3. /apis/authorization.openshift.io/v1/namespaces/{namespace}/roles/{name}

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

name

字符串

角色的名称

HTTP 方法
DELETE
描述
删除角色
表 6.7. 查询参数
参数类型描述

dryRun

字符串

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

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

200 - OK

Status_v3 模式

202 - Accepted

Status_v3 模式

401 - Unauthorized

HTTP 方法
GET
描述
读取指定的角色
表 6.9. HTTP 响应
HTTP 代码响应正文

200 - OK

Role 模式

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定的角色
表 6.10. 查询参数
参数类型描述

dryRun

字符串

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

fieldValidation

string

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

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

200 - OK

Role 模式

201 - Created

Role 模式

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定的角色
表 6.12. 查询参数
参数类型描述

dryRun

字符串

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

fieldValidation

string

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

表 6.13. 主体参数
参数类型描述

正文(body)

Role 模式

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

200 - OK

Role 模式

201 - Created

Role 模式

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.