文章目录
Ceph Dashboard默认情况下是支持在ui前台中创建,并且也支持通过ceph dashboard
创建的,可以根据实际情况自行抉择
关于ceph dashboard安装配置以及加入Prometheus,可以参考下面的文章, 此处只介绍权限控制管理
用户和角色管理
密码策略
ceph dashboard支持密码策略的设定
最小密码长度(默认为8):
ceph dashboard set-pwd-policy-min-length <N>
最小密码复杂性(默认为10):
ceph dashboard set-pwd-policy-min-complexity <N>
密码复杂性是通过对 密码。复杂性计数从0开始。一个角色的评级依据是 按给定顺序执行以下规则。
- 如果字符是数字,则增加1。
- 如果字符是小写ASCII字符,则增加1。
- 如果字符是大写ASCII字符,则增加2。
- 如果字符是特殊字符,则增加3!“#$%&'()*+,-./:;& lt;=>?@ []^_`{|}的~。
- 如果字符未按上述规则之一分类,则增加5。
用户管理
ceph dashboard前台支持多个用户帐户,每个用户帐户包括用户名、密码,可选名称和可选电子邮件地址。
如果通过Web UI创建新用户,则可以设置一个选项, 用户首次登录时必须分配新密码。
用户帐户存储在监视器的配置数据库中, 可用于所有ceph-mgr实例。
可以使用CLI命令来管理用户帐户:
显示用户
[root@ceph-01 ~]# ceph dashboard ac-user-show
["admin", "test", "abcdocker"]
#也可以只显示某个用户详细信息
[root@ceph-01 ~]# ceph dashboard ac-user-show test #test为用户名称
{"username": "test", "lastUpdate": 1670080321, "name": null, "roles": ["read-only"], "password": "$2b$12$xBBipfoWEB0qd1ai9AJYr.iihD/l6d60V8yQTdY6KfyCTy.MJ2RtK", "email": null}
创建用户
ceph dashboard ac-user-create [--enabled] [--force-password] [--pwd_update_required] <username> -i <file-containing-password> [<rolename>] [<name>] [<email>] [<pwd_expiration_date>]
#例如我这里创建一个用户为test,密码为123123的用户,并且权限设置为只读用户
[root@ceph-01 ~]# cat >/opt/secretkey<<EOF #创建密码文件
> 123123
> EOF
[root@ceph-01 ~]# ceph dashboard ac-user-create test read-only -i /opt/secretkey
要绕过密码策略检查,请使用force-password
选项。 添加选项pwd_update_required
,以便新创建的用户具有 在首次登录后更改密码。
删除用户
ceph dashboard ac-user-delete <username>
更改密码
ceph dashboard ac-user-set-password [--force-password] <username> -i <file-containing-password>
更改密码哈希
ceph dashboard ac-user-set-password-hash <username> -i <file-containing-password-hash>
哈希必须是b加密哈希和salt,例如$2b$12$Pt3Vq/rDt2y9glTPSV.VFegiLkQeIpddtkhoFetNApYmIJOY8gau2
。 这可用于从外部数据库导入用户。
修改用户(姓名和电子邮件)
ceph dashboard ac-user-set-info <username> <name> <email>
禁用用户
ceph dashboard ac-user-disable <username>
启用用户
ceph dashboard ac-user-enable <username>
用户角色和权限
控制面板提供了一组预定义的角色,系统角色,可由新的Ceph仪表板立即使用
系统角色列表包括
- administrator:允许所有安全作用域的完全权限。
- read-only:只读用户
- block-manager:允许完全权限rbd图像, rbd镜像的iSCSI范围。
- rgw-manager:允许对RGW管理
- cluster-manager:允许对主机资源管理
- pool-manager:允许对pool具有完全权限。
- cephfs-manager:允许对cephfs进行管理。
查看角色列表可以使用下面的命令
ceph dashboard ac-role-show [<rolename>]
使用命令行创建新的角色,可以使用下面的命令
创建角色:
ceph dashboard ac-role-create <rolename> [<description>]
删除角色:
ceph dashboard ac-role-delete <rolename>
将作用域权限添加到角色:
ceph dashboard ac-role-add-scope-perms <rolename> <scopename> <permission> [<permission>...]
从角色删除作用域权限:
ceph dashboard ac-role-del-scope-perms <rolename> <scopename>
要为用户分配角色,可以使用以下命令:
设置用户角色:
ceph dashboard ac-user-set-roles <username> <rolename> [<rolename>...]
将角色添加到用户:
ceph dashboard ac-user-add-roles <username> <rolename> [<rolename>...]
从用户删除角色:
ceph dashboard ac-user-del-roles <username> <rolename> [<rolename>...]
用户和自定义角色创建
这里我们创建一个用户和自定义和的角色,让角色具有管理RBD、查看并且对其他的功能具有只读访问权限。
创建用户
ceph dashboard ac-user-create bob -i <file-containing-password>
创建角色并指定作用域权限
ceph dashboard ac-role-create rbd/pool-manager
ceph dashboard ac-role-add-scope-perms rbd/pool-manager rbd-image read create update delete
ceph dashboard ac-role-add-scope-perms rbd/pool-manager pool read create
将角色与用户关联:
ceph dashboard ac-user-set-roles bob rbd/pool-manager read-only
Dashboard创建管理删除
如果通过web dashboard前台创建,就比通过命令行更简单了
-
创建角色
-
查看当前角色
-
查看用户详细信息 (可以看到用户名称,用户别名,Email地址,对应角色名称)
写得不错