管理用户权限
本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →
本文档介绍如何在 Chaos Mesh 中管理用户权限,包括创建不同角色的用户账户、将权限绑定到用户账户、管理令牌以及启用或禁用权限认证。
Chaos Mesh 使用 RBAC 授权机制管理用户权限。要创建、查看和管理混沌实验,用户必须在 chaos-mesh.org 的 apiGroups 中拥有操作混沌实验资源的相应权限。
Chaos Mesh 支持禁用权限认证功能,具体操作请参阅启用或禁用权限认证。
请注意:生产环境中不建议禁用权限认证。
创建用户账户并绑定权限
可通过 Chaos Dashboard 创建用户账户并绑定权限。访问 Dashboard 时将显示登录窗口,请点击 点击此处生成 链接:

点击链接后将出现令牌生成器,界面如下:

创建用户账户并绑定权限的步骤如下:
选择权限范围
若需授予账户操作集群内所有混沌实验的权限,请勾选 集群范围 复选框。若在 命名空间 下拉菜单指定命名空间,则账户仅拥有该命名空间内的操作权限。
权限范围分为两种模式:
-
Cluster scoped:账户拥有集群内所有混沌实验的操作权限 -
Namespace scoped:账户仅拥有指定命名空间内混沌实验的操作权限
选择用户角色
Chaos Mesh 当前提供以下用户角色:
-
Manager:拥有创建、查看、更新和删除混沌实验的全部权限 -
Viewer:仅拥有查看混沌实验的权限
生成权限配置
确定权限范围和用户角色后,Dashboard 会在令牌生成器中显示对应的 RBAC 配置。例如针对 default 命名空间的 manager 权限配置如下:
kind: ServiceAccount
apiVersion: v1
metadata:
namespace: default
name: account-default-manager-vfmot
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
namespace: default
name: role-default-manager-vfmot
rules:
- apiGroups: ['']
resources: ['pods', 'namespaces']
verbs: ['get', 'watch', 'list']
- apiGroups:
- chaos-mesh.org
resources: ['*']
verbs: ['get', 'list', 'watch', 'create', 'delete', 'patch', 'update']
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: bind-default-manager-vfmot
namespace: default
subjects:
- kind: ServiceAccount
name: account-default-manager-vfmot
namespace: default
roleRef:
kind: Role
name: role-default-manager-vfmot
apiGroup: rbac.authorization.k8s.io
点击配置区域右上角的 COPY 复制 RBAC 配置,并将内容保存到本地的 rbac.yaml 文件。
创建用户账户并绑定权限
在终端执行以下命令:
kubectl apply -f rbac.yaml
请确保执行 kubectl 的本地用户拥有集群权限,才能创建用户账户、为其他用户绑定权限并生成令牌。
获取令牌
Kubernetes v1.22 之前的版本会自动创建访问 API 的长期凭证。新版本中需手动创建服务账户令牌 Secret。
复制令牌生成器第三步显示的命令并在终端执行,示例如下:
kubectl describe -n default secrets account-default-manager-vfmot
输出如下:
Name: account-default-manager-vfmot-token-n4tg8
Namespace: default
Labels: <none>
Annotations: kubernetes.io/service-account.name: account-default-manager-vfmot
kubernetes.io/service-account.uid: b71b3bf4-cd5e-4efb-8bf6-ff9a55fd7e07
Type: kubernetes.io/service-account-token
Data
====
ca.crt: 1111 bytes
namespace: 7 bytes
token: eyJhbG...
复制底部的令牌,用于下一步登录操作。
使用创建的用户账户登录 Chaos Dashboard
关闭令牌生成器。在令牌字段中输入上一步获取的令牌,在名称字段中为令牌输入有意义的名称(建议采用"权限范围+用户角色"的命名方式,例如default-manager)。填写完成后点击提交按钮登录:

若尚未部署 Chaos Dashboard,您也可以手动生成 RBAC 配置,然后通过kubectl创建用户账号并绑定权限。
退出 Chaos Dashboard
如需更换其他令牌,请点击仪表板左侧导航栏中的设置:

页面顶部可见退出按钮,点击即可注销当前账号。
常见问题解答
启用或禁用权限认证
通过 Helm 安装 Chaos Mesh 时默认启用权限认证。对于生产环境等高安全场景,建议保持启用状态。若仅需快速创建混沌实验进行体验,可在 Helm 命令中设置--set dashboard.securityMode=false禁用认证:
如需重新启用权限认证,请在 Helm 命令中重置--set dashboard.securityMode=true。