角色访问控制RBAC(Role-Based Access Control)的Kubernetes对象Role和ClusterRole中包含一组代表相关权限的规则。Role总是用来在某个命名空间内设置访问权限,而ClusterRole是为集群范围的资源定义访问权限。本文介绍如何自行编写Kubernetes的ClusterRole和Role。
权限策略说明
您可自行编写权限策略,或通过容器服务管理控制台创建自定义策略。
Role:命名空间维度
如果您需要在命名空间内定义角色,则应该使用Role。
下方是一个位于default命名空间的Role的YAML示例,用来授予对Pods的所有权限。
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: test-role
namespace: default
rules:
- apiGroups:
- ""
resources:
- pods
verbs:
- create
- delete
- deletecollection
- get
- list
- patch
- update
- watch
ClusterRole:集群维度
如果您需要定义集群范围的角色,则应该使用ClusterRole。
下方是一个ClusterRole的示例,用来为任一特定命名空间中的Pods授予所有权限。
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: test-clusterrole
rules:
- apiGroups:
- ""
resources:
- pods
verbs:
- create
- delete
- deletecollection
- get
- list
- patch
- update
- watch
关于Role和ClusterRole的更多信息,请参见Role和ClusterRole。
创建Kubernetes自定义授权策略
说明
该步骤以为RAM用户或RAM角色创建自定义ClusterRole为例,与创建Role的步骤基本一致,您可结合实际需求进行操作。
-
登录容器服务管理控制台,在左侧导航栏选择集群。
-
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择安全管理 > 角色。
-
在角色页面,单击Cluster Role页签。
-
在Cluster Role页签,单击创建。
-
在创建YAML面板输入自定义策略的YAML内容,单击确定即可创建ClusterRole。
此步骤以权限策略说明中ClusterRole:集群维度的YAML为例,创建完成后,可在Cluster Role页签查看自定义权限test-clusterrole。
后续步骤
关于如何授予RAM用户或RAM角色自定义Kubernetes授权策略,请参见配置RAM用户或RAM角色RBAC权限。
重要
当前容器服务 Kubernetes 版授权管理仅支持自定义ClusterRole角色与集群内RBAC权限的绑定,不支持自定义Role角色与集群内RBAC权限的绑定。
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/168223.html