自定义策略授权

最近更新时间:2023-12-22 15:14:22

我的收藏
本文介绍如何通过自行编写 Kubernetes 的 ClusterRole 和 Role 以授予子账号特定权限,您可根据业务诉求进行对应操作。

策略语法说明

您可自行编写策略语法,或通过访问管理 CAM 策略生成器创建自定义策略。YAML 示例如下:

Role:命名空间维度

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:集群维度

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


操作步骤

说明
该步骤以子账号绑定自定义 ClusterRole 为例,与绑定 Role 的步骤基本一致,您可结合实际需求进行操作。
1. 登录容器服务控制台,选择左侧导航栏中的 集群
2. 在集群列表中,单击目标集群 ID,进入集群详情页。
3. 选择左侧菜单栏中的授权管理 > ClusterRole。如下图所示:


4. ClusterRole 页面,单击右上角的 YAML 创建资源
5. 在编辑界面输入自定义策略的 YAML 内容,单击完成即可创建 ClusterRole。 该步骤以 ClusterRole:集群维度 YAML 为例,创建完成后,可在 ClusterRole 页面中查看自定义权限 “test-clusterrole”。
6. ClusterRoleBinding 页面,单击 RBAC 策略生成器
7. 新建 ClusterRoleBinding 页面勾选需授权的子账号并单击下一步
8. 进入集群 RBAC 页面,按照以下指引进行权限设置。如下图所示:



Namespace 列表:按需指定权限生效的 Namespace 范围。
权限:选择“自定义”,并单击选择自定义权限。按需在自定义权限列表中进行权限选择,本文以选择已创建的自定义权限 “test-clusterrole” 为例。
说明
您还可以单击添加权限,继续进行权限自定义设置。
9. 单击完成即可完成授权操作。

参考资料

如需了解更多信息,可参考 Kubernetes 官方文档:使用 RBAC 授权