Ceph Dashboard用户权限控制

ceph dashboard默认支持多用户,多权限管理,并且支持https认证,同时ceph不仅仅支持网页配置用户权限,并且还支持命令行创建。本次采用yum 安装的ceph进行展示用户权限的控制以及对应的管理

文章目录

  • Prometheus监控Ceph集群并设置AlertManager告警
  • 用户和角色管理
  • 用户角色和权限
  • 用户和自定义角色创建
  • Dashboard创建管理删除
  • Ceph Dashboard默认情况下是支持在ui前台中创建,并且也支持通过ceph dashboard创建的,可以根据实际情况自行抉择
    关于ceph dashboard安装配置以及加入Prometheus,可以参考下面的文章, 此处只介绍权限控制管理

    Prometheus监控Ceph集群并设置AlertManager告警

    新闻联播老司机

  • 22年6月27日
  • 喜欢:1
  • 浏览:1.3k
  • 用户和角色管理

    密码策略
    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前台创建,就比通过命令行更简单了

  • 创建角色1670086024950.png
  • 查看当前角色1670086053817.png
  • 查看用户详细信息 (可以看到用户名称,用户别名,Email地址,对应角色名称)1670086117885.png
  • 相关文章:

    1. Ceph RBD 备份与恢复
    2. Ceph RGW高可用集群部署
    3. Kubernetes(k8s) 1.24 csi-ceph rbd使用手册
    4. Prometheus Grafana使用Ceph持久化并监控k8s集群