1 - ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
import "k8s.io/api/rbac/v1"
ClusterRole
ClusterRole 是一个集群级别的 PolicyRule 逻辑分组, 可以被 RoleBinding 或 ClusterRoleBinding 作为一个单元引用。
-
apiVersion: rbac.authorization.k8s.io/v1
-
kind: ClusterRole
-
metadata (ObjectMeta)
标准的对象元数据。
-
aggregationRule (AggregationRule)
aggregationRule 是一个可选字段,用于描述如何构建这个 ClusterRole 的 rules。 如果设置了 aggregationRule,则 rules 将由控制器管理,对 rules 的直接变更会被该控制器阻止。
aggregationRule 描述如何定位并聚合其它 ClusterRole 到此 ClusterRole
-
aggregationRule.clusterRoleSelectors ([]LabelSelector)
clusterRoleSelectors 包含一个选择器的列表,用于查找 ClusterRole 并创建规则。 如果发现任何选择器匹配的 ClusterRole,将添加其对应的权限。
-
-
rules ([]PolicyRule)
rules 包含了这个 ClusterRole 的所有 PolicyRule。
PolicyRule 包含描述一个策略规则的信息,但不包含该规则适用于哪个主体或适用于哪个命名空间的信息。
-
rules.apiGroups ([]string)
apiGroups 是包含资源的 apiGroup 的名称。 如果指定了多个 API 组,则允许针对任何 API 组中的其中一个枚举资源来请求任何操作。
-
rules.resources ([]string)
resources 是此规则所适用的资源的列表。“*” 表示所有资源。
-
rules.verbs ([]string),必需
verbs 是适用于此规则中所包含的所有 ResourceKinds 的动作。 “*” 表示所有动作。
-
rules.resourceNames ([]string)
resourceNames 是此规则所适用的资源名称白名单,可选。 空集合意味着允许所有资源。
-
rules.nonResourceURLs ([]string)
nonResourceURLs 是用户应有权访问的一组部分 URL。 允许使用 “*”,但仅能作为路径中最后一段且必须用于完整的一段, 因为非资源 URL 没有划分命名空间。 此字段仅适用于从 ClusterRoleBinding 引用的 ClusterRole。 rules 可以应用到 API 资源(如 “pod” 或 “secret”)或非资源 URL 路径(如 “/api”), 但不能同时应用于两者。
-
ClusterRoleList
ClusterRoleList 是 ClusterRole 的集合。
-
apiVersion: rbac.authorization.k8s.io/v1
-
kind: ClusterRoleList
-
metadata (ListMeta)
标准的对象元数据。
-
items ([]ClusterRole),必需
items 是 ClusterRole 的列表。
操作
get
读取指定的 ClusterRole
HTTP 请求
GET /apis/rbac.authorization.k8s.io/v1/clusterroles/{name}
参数
-
name (路径参数): string,必需
ClusterRole 的名称
-
pretty (查询参数): string
响应
200 (ClusterRole): OK
401: Unauthorized
list
列出或观测类别为 ClusterRole 的对象
HTTP 请求
GET /apis/rbac.authorization.k8s.io/v1/clusterroles
参数
-
allowWatchBookmarks (查询参数): boolean
-
continue (查询参数): string
-
fieldSelector (查询参数): string
-
labelSelector (查询参数): string
-
limit (查询参数): integer
-
pretty (查询参数): string
-
resourceVersion (查询参数): string
-
resourceVersionMatch (查询参数): string
-
timeoutSeconds (查询参数): integer
-
watch (查询参数): boolean
响应
200 (ClusterRoleList): OK
401: Unauthorized
create
创建一个 ClusterRole
HTTP 请求
POST /apis/rbac.authorization.k8s.io/v1/clusterroles
参数
-
body: ClusterRole,必需
-
dryRun (查询参数): string
-
fieldManager (查询参数): string
-
fieldValidation (查询参数): string
-
pretty (查询参数): string
响应
200 (ClusterRole): OK
201 (ClusterRole): Created
202 (ClusterRole): Accepted
401: Unauthorized
update
替换指定的 ClusterRole
HTTP 请求
PUT /apis/rbac.authorization.k8s.io/v1/clusterroles/{name}
参数
-
name (路径参数): string,必需
ClusterRole 的名称
-
body: ClusterRole,必需
-
dryRun (查询参数): string
-
fieldManager (查询参数): string
-
fieldValidation (查询参数): string
-
pretty (查询参数): string
响应
200 (ClusterRole): OK
201 (ClusterRole): Created
401: Unauthorized
patch
部分更新指定的 ClusterRole
HTTP 请求
PATCH /apis/rbac.authorization.k8s.io/v1/clusterroles/{name}
参数
-
name (路径参数): string,必需
ClusterRole 的名称
-
body: Patch,必需
-
dryRun (查询参数): string
-
fieldManager (查询参数): string
-
fieldValidation (查询参数): string
-
force (查询参数): boolean
-
pretty (查询参数): string
响应
200 (ClusterRole): OK
201 (ClusterRole): Created
401: Unauthorized
delete
删除一个 ClusterRole
HTTP 请求
DELETE /apis/rbac.authorization.k8s.io/v1/clusterroles/{name}
参数
-
name (路径参数): string,必需
ClusterRole 的名称
-
body: DeleteOptions
-
dryRun (查询参数): string
-
gracePeriodSeconds (查询参数): integer
-
pretty (查询参数): string
-
propagationPolicy (查询参数): string
响应
200 (Status): OK
202 (Status): Accepted
401: Unauthorized
deletecollection
删除 ClusterRole 的集合
HTTP 请求
DELETE /apis/rbac.authorization.k8s.io/v1/clusterroles
参数
-
body: DeleteOptions
-
continue (查询参数): string
-
dryRun (查询参数): string
-
fieldSelector (查询参数): string
-
gracePeriodSeconds (查询参数): integer
-
labelSelector (查询参数): string
-
limit (查询参数): integer
-
pretty (查询参数): string
-
propagationPolicy (查询参数): string
-
resourceVersion (查询参数): string
-
resourceVersionMatch (查询参数): string
-
timeoutSeconds (查询参数): integer
响应
200 (Status): OK
401: Unauthorized
2 - ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
import "k8s.io/api/rbac/v1"
ClusterRoleBinding
ClusterRoleBinding 引用 ClusterRole,但不包含它。 它可以引用全局命名空间中的 ClusterRole,并通过 Subject 添加主体信息。
-
apiVersion: rbac.authorization.k8s.io/v1
-
kind: ClusterRoleBinding
-
metadata (ObjectMeta)
标准对象的元数据。
-
roleRef (RoleRef),必需
RoleRef 只能引用全局命名空间中的 ClusterRole。 如果无法解析 RoleRef,则 Authorizer 必定返回一个错误。
-
roleRef.apiGroup (string),必需
apiGroup 是被引用资源的组
-
roleRef.kind (string),必需
kind 是被引用的资源的类别
-
roleRef.name (string),必需
name 是被引用的资源的名称
-
-
subjects ([]Subject)
Subjects 包含角色所适用的对象的引用。
Subject 包含对角色绑定所适用的对象或用户标识的引用。其中可以包含直接 API 对象的引用或非对象(如用户名和组名)的值。
-
subjects.kind (string),必需
被引用的对象的类别。这个 API 组定义的值是
User
、Group
和ServiceAccount
。 如果 Authorizer 无法识别类别值,则 Authorizer 应报告一个错误。 -
subjects.name (string),必需
被引用的对象的名称。
-
subjects.apiGroup (string)
apiGroup 包含被引用主体的 API 组。对于 ServiceAccount 主体默认为 ""。 对于 User 和 Group 主体,默认为 "rbac.authorization.k8s.io"。
-
subjects.namespace (string)
被引用对象的命名空间。 如果对象类别是 "User" 或 "Group" 等非命名空间作用域的对象且该值不为空, 则 Authorizer 应报告一个错误。
-
ClusterRoleBindingList
ClusterRoleBindingList 是 ClusterRoleBinding 的集合。
-
apiVersion: rbac.authorization.k8s.io/v1
-
kind: ClusterRoleBindingList
-
metadata (ListMeta)
标准的对象元数据。
-
items ([]ClusterRoleBinding),必需
items 是 ClusterRoleBindings 的列表。
操作
get
读取指定的 ClusterRoleBinding
HTTP 请求
GET /apis/rbac.authorization.k8s.io/v1/clusterrolebindings/{name}
参数
-
name (路径参数): string,必需
ClusterRoleBinding 的名称
-
pretty (查询参数): string
响应
200 (ClusterRoleBinding): OK
401: Unauthorized
list
列出或观测类别为 ClusterRoleBinding 的对象
HTTP 请求
GET /apis/rbac.authorization.k8s.io/v1/clusterrolebindings
参数
-
allowWatchBookmarks (查询参数): boolean
-
continue (查询参数): string
-
fieldSelector (查询参数): string
-
labelSelector (查询参数): string
-
limit (查询参数): integer
-
pretty (查询参数): string
-
resourceVersion (查询参数): string
-
resourceVersionMatch (查询参数): string
-
timeoutSeconds (查询参数): integer
-
watch (查询参数): boolean
响应
200 (ClusterRoleBindingList): OK
401: Unauthorized
create
创建 ClusterRoleBinding
HTTP 请求
POST /apis/rbac.authorization.k8s.io/v1/clusterrolebindings
参数
- body: ClusterRoleBinding,必需
-
dryRun (查询参数): string
-
fieldManager (查询参数): string
-
fieldValidation (查询参数): string
-
pretty (查询参数): string
响应
200 (ClusterRoleBinding): OK
201 (ClusterRoleBinding): Created
202 (ClusterRoleBinding): Accepted
401: Unauthorized
update
替换指定的 ClusterRoleBinding
HTTP 请求
PUT /apis/rbac.authorization.k8s.io/v1/clusterrolebindings/{name}
参数
-
name (路径参数): string,必需
ClusterRoleBinding 的名称
-
body: ClusterRoleBinding,必需
-
dryRun (查询参数): string
-
fieldManager (查询参数): string
-
fieldValidation (查询参数): string
-
pretty (查询参数): string
响应
200 (ClusterRoleBinding): OK
201 (ClusterRoleBinding): Created
401: Unauthorized
patch
部分更新指定的 ClusterRoleBinding
HTTP 请求
PATCH /apis/rbac.authorization.k8s.io/v1/clusterrolebindings/{name}
参数
-
name (路径参数): string,必需
ClusterRoleBinding 的名称
-
body: Patch,必需
-
dryRun (查询参数): string
-
fieldManager (查询参数): string
-
fieldValidation (查询参数): string
-
force (查询参数): boolean
-
pretty (查询参数): string
响应
200 (ClusterRoleBinding): OK
201 (ClusterRoleBinding): Created
401: Unauthorized
delete
删除 ClusterRoleBinding
HTTP 请求
DELETE /apis/rbac.authorization.k8s.io/v1/clusterrolebindings/{name}
参数
-
name (路径参数): string,必需
ClusterRoleBinding 的名称
-
body: DeleteOptions
-
dryRun (查询参数): string
-
gracePeriodSeconds (查询参数): integer
-
pretty (查询参数): string
-
propagationPolicy (查询参数): string
响应
200 (Status): OK
202 (Status): Accepted
401: Unauthorized
deletecollection
删除 ClusterRoleBinding 的集合
HTTP 请求
DELETE /apis/rbac.authorization.k8s.io/v1/clusterrolebindings
参数
-
body: DeleteOptions
-
continue (查询参数): string
-
dryRun (查询参数): string
-
fieldSelector (查询参数): string
-
gracePeriodSeconds (查询参数): integer
-
labelSelector (查询参数): string
-
limit (查询参数): integer
-
pretty (查询参数): string
-
propagationPolicy (查询参数): string
-
resourceVersion (查询参数): string
-
resourceVersionMatch (查询参数): string
-
timeoutSeconds (查询参数): integer
响应
200 (Status): OK
401: Unauthorized
3 - Role
apiVersion: rbac.authorization.k8s.io/v1
import "k8s.io/api/rbac/v1"
Role
Role 是一个按命名空间划分的 PolicyRule 逻辑分组,可以被 RoleBinding 作为一个单元引用。
-
apiVersion: rbac.authorization.k8s.io/v1
-
kind: Role
-
metadata (ObjectMeta)
标准的对象元数据。
-
rules ([]PolicyRule)
rules 包含了这个 Role 的所有 PolicyRule。
PolicyRule 包含描述一个策略规则的信息,但不包含该规则适用于哪个主体或适用于哪个命名空间的信息。
-
rules.apiGroups ([]string)
apiGroups 是包含资源的 apiGroup 的名称。 如果指定了多个 API 组,则允许对任何 API 组中的其中一个枚举资源来请求任何操作。
-
rules.resources ([]string)
resources 是此规则所适用的资源的列表。 “*” 表示所有资源。
-
-
rules.verbs ([]string),必需
verbs 是适用于此规则中所包含的所有 ResourceKinds 的动作。 “*” 表示所有动作。
-
rules.resourceNames ([]string)
resourceNames 是此规则所适用的资源名称白名单,可选。 空集合意味着允许所有资源。
-
rules.nonResourceURLs ([]string)
nonResourceURLs 是用户应有权访问的一组部分 URL。 允许使用 “*”,但仅能作为路径中最后一段且必须用于完整的一段, 因为非资源 URL 没有划分命名空间。 此字段仅适用于从 ClusterRoleBinding 引用的 ClusterRole。 rules 可以应用到 API 资源(如 “pod” 或 “secret”)或非资源 URL 路径(如 “/api”), 但不能同时应用于两者。
RoleList
RoleList 是 Role 的集合。
-
apiVersion: rbac.authorization.k8s.io/v1
-
kind: RoleList
-
metadata (ListMeta)
标准的对象元数据。
-
items ([]Role),必需
items 是 Role 的列表。
操作
get
读取指定的 Role
HTTP 请求
GET /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/roles/{name}
参数
响应
200 (Role): OK
401: Unauthorized
list
列出或观测类别为 Role 的对象
HTTP 请求
GET /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/roles
参数
-
namespace (路径参数): string,必需
-
allowWatchBookmarks (查询参数): boolean
-
continue (查询参数): string
-
fieldSelector (查询参数): string
-
labelSelector (查询参数): string
-
limit (查询参数): integer
-
pretty (查询参数): string
-
resourceVersion (查询参数): string
-
resourceVersionMatch (查询参数): string
-
timeoutSeconds (查询参数): integer
-
watch (查询参数): boolean
响应
200 (RoleList): OK
401: Unauthorized
list
列出或观测类别为 Role 的对象
HTTP 请求
GET /apis/rbac.authorization.k8s.io/v1/roles
参数
-
allowWatchBookmarks (查询参数): boolean
-
continue (查询参数): string
-
fieldSelector (查询参数): string
-
labelSelector (查询参数): string
-
limit (查询参数): integer
-
pretty (查询参数): string
-
resourceVersion (查询参数): string
-
resourceVersionMatch (查询参数): string
-
timeoutSeconds (查询参数): integer
-
watch (查询参数): boolean
响应
200 (RoleList): OK
401: Unauthorized
create
创建 Role
HTTP 请求
POST /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/roles
参数
-
namespace (路径参数): string,必需
-
body: Role,必需
-
dryRun (查询参数): string
-
fieldManager (查询参数): string
-
fieldValidation (查询参数): string
-
pretty (查询参数): string
响应
200 (Role): OK
201 (Role): Created
202 (Role): Accepted
401: Unauthorized
update
替换指定的 Role
HTTP 请求
PUT /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/roles/{name}
参数
-
name (路径参数): string,必需
Role 的名称
-
namespace (路径参数): string,必需
-
body: Role,必需
-
dryRun (查询参数): string
-
fieldManager (查询参数): string
-
fieldValidation (查询参数): string
-
pretty (查询参数): string
响应
200 (Role): OK
201 (Role): Created
401: Unauthorized
patch
部分更新指定的 Role
HTTP 请求
PATCH /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/roles/{name}
参数
-
name (路径参数): string,必需
Role 的名称
-
namespace (路径参数): string,必需
-
body: Patch,必需
-
dryRun (查询参数): string
-
fieldManager (查询参数): string
-
fieldValidation (查询参数): string
-
force (查询参数): boolean
-
pretty (查询参数): string
响应
200 (Role): OK
201 (Role): Created
401: Unauthorized
delete
删除 Role
HTTP 请求
DELETE /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/roles/{name}
参数
-
name (路径参数): string,必需
Role 的名称
-
namespace (路径参数): string,必需
-
body: DeleteOptions
-
dryRun (查询参数): string
-
gracePeriodSeconds (查询参数): integer
-
pretty (查询参数): string
-
propagationPolicy (查询参数): string
响应
200 (Status): OK
202 (Status): Accepted
401: Unauthorized
deletecollection
删除 Role 的集合
HTTP 请求
DELETE /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/roles
参数
-
namespace (路径参数): string,必需
-
body: DeleteOptions
-
continue (查询参数): string
-
dryRun (查询参数): string
-
fieldSelector (查询参数): string
-
gracePeriodSeconds (查询参数): integer
-
labelSelector (查询参数): string
-
limit (查询参数): integer
-
pretty (查询参数): string
-
propagationPolicy (查询参数): string
-
resourceVersion (查询参数): string
-
resourceVersionMatch (查询参数): string
-
timeoutSeconds (查询参数): integer
响应
200 (Status): OK
401: Unauthorized
4 - RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
import "k8s.io/api/rbac/v1"
RoleBinding
RoleBinding 引用一个角色,但不包含它。 RoleBinding 可以引用相同命名空间中的 Role 或全局命名空间中的 ClusterRole。 RoleBinding 通过 Subjects 和所在的命名空间信息添加主体信息。 处于给定命名空间中的 RoleBinding 仅在该命名空间中有效。
-
apiVersion: rbac.authorization.k8s.io/v1
-
kind: RoleBinding
-
metadata (ObjectMeta)
标准的对象元数据。
-
roleRef (RoleRef),必需
roleRef 可以引用当前命名空间中的 Role 或全局命名空间中的 ClusterRole。 如果无法解析 roleRef,则 Authorizer 必定返回一个错误。
-
roleRef.apiGroup (string),必需
apiGroup 是被引用资源的组
-
roleRef.kind (string),必需
kind 是被引用的资源的类别
-
roleRef.name (string),必需
name 是被引用的资源的名称
-
subjects ([]Subject)
subjects 包含角色所适用的对象的引用。
Subject 包含对角色绑定所适用的对象或用户标识的引用。其中可以包含直接 API 对象的引用或非对象(如用户名和组名)的值。
-
subjects.kind (string),必需
被引用的对象的类别。 这个 API 组定义的值是
User
、Group
和ServiceAccount
。 如果 Authorizer 无法识别类别值,则 Authorizer 应报告一个错误。
-
-
subjects.name (string),必需
被引用的对象的名称。
-
subjects.apiGroup (string)
apiGroup 包含被引用主体的 API 组。 对于 ServiceAccount 主体默认为 ""。 对于 User 和 Group 主体,默认为 "rbac.authorization.k8s.io"。
-
subjects.namespace (string)
被引用的对象的命名空间。 如果对象类别是 “User” 或 “Group” 等非命名空间作用域的对象且该值不为空, 则 Authorizer 应报告一个错误。
RoleBindingList
RoleBindingList 是 RoleBinding 的集合。
-
apiVersion: rbac.authorization.k8s.io/v1
-
kind: RoleBindingList
-
metadata (ListMeta)
标准的对象元数据。
-
items ([]RoleBinding),必需
items 是 RoleBinding 的列表。
操作
get
读取指定的 RoleBinding
HTTP 请求
GET /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings/{name}
参数
-
name (路径参数): string,必需
RoleBinding 的名称
-
namespace (路径参数): string,必需
-
pretty (查询参数): string
响应
200 (RoleBinding): OK
401: Unauthorized
list
列出或观测类别为 RoleBinding 的对象
HTTP 请求
GET /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings
参数
-
namespace (路径参数): string,必需
-
allowWatchBookmarks (查询参数): boolean
-
continue (查询参数): string
-
fieldSelector (查询参数): string
-
labelSelector (查询参数): string
-
limit (查询参数): integer
-
pretty (查询参数): string
-
resourceVersion (查询参数): string
-
resourceVersionMatch (查询参数): string
-
timeoutSeconds (查询参数): integer
-
watch (查询参数): boolean
响应
200 (RoleBindingList): OK
401: Unauthorized
list
列出或观测类别为 RoleBinding 的对象
HTTP 请求
GET /apis/rbac.authorization.k8s.io/v1/rolebindings
参数
-
allowWatchBookmarks (查询参数): boolean
-
continue (查询参数): string
-
fieldSelector (查询参数): string
-
labelSelector (查询参数): string
-
limit (查询参数): integer
-
pretty (查询参数): string
-
resourceVersion (查询参数): string
-
resourceVersionMatch (查询参数): string
-
timeoutSeconds (查询参数): integer
-
watch (查询参数): boolean
响应
200 (RoleBindingList): OK
401: Unauthorized
create
创建 RoleBinding
HTTP 请求
POST /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings
参数
-
namespace (路径参数): string,必需
-
body: RoleBinding,必需
-
dryRun (查询参数): string
-
fieldManager (查询参数): string
-
fieldValidation (查询参数): string
-
pretty (查询参数): string
响应
200 (RoleBinding): OK
201 (RoleBinding): Created
202 (RoleBinding): Accepted
401: Unauthorized
update
替换指定的 RoleBinding
HTTP 请求
PUT /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings/{name}
参数
-
name (路径参数): string,必需
RoleBinding 的名称
-
namespace (路径参数): string,必需
-
body: RoleBinding,必需
-
dryRun (查询参数): string
-
fieldManager (查询参数): string
-
fieldValidation (查询参数): string
-
pretty (查询参数): string
响应
200 (RoleBinding): OK
201 (RoleBinding): Created
401: Unauthorized
patch
部分更新指定的 RoleBinding
HTTP 请求
PATCH /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings/{name}
参数
-
name (路径参数): string,必需
RoleBinding 的名称
-
namespace (路径参数): string,必需
-
body: Patch,必需
-
dryRun (查询参数): string
-
fieldManager (查询参数): string
-
fieldValidation (查询参数): string
-
force (查询参数): boolean
-
pretty (查询参数): string
响应
200 (RoleBinding): OK
201 (RoleBinding): Created
401: Unauthorized
delete
删除 RoleBinding
HTTP 请求
DELETE /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings/{name}
参数
-
name (路径参数): string,必需
RoleBinding 的名称
-
namespace (路径参数): string,必需
-
body: DeleteOptions
-
dryRun (查询参数): string
-
gracePeriodSeconds (查询参数): integer
-
pretty (查询参数): string
-
propagationPolicy (查询参数): string
响应
200 (Status): OK
202 (Status): Accepted
401: Unauthorized
deletecollection
删除 RoleBinding 的集合
HTTP 请求
DELETE /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings
参数
-
namespace (路径参数): string,必需
-
body: DeleteOptions
-
continue (查询参数): string
-
dryRun (查询参数): string
-
fieldSelector (查询参数): string
-
gracePeriodSeconds (查询参数): integer
-
labelSelector (查询参数): string
-
limit (查询参数): integer
-
pretty (查询参数): string
-
propagationPolicy (查询参数): string
-
resourceVersion (查询参数): string
-
resourceVersionMatch (查询参数): string
-
timeoutSeconds (查询参数): integer
响应
200 (Status): OK
401: Unauthorized