• RabbitMQ用户角色及权限控制 -2


    1.RabbitMQ的用户角色分类:

    none、management、policymaker、monitoring、administrator

    • none 不能访问 management plugin
    • management 用户可以通过AMQP做的任何事情外
      • 列出自己可以通过AMQP登入的virtual hosts  
      • 查看自己的virtual hosts中的queues, exchanges 和 bindings
      • 查看和关闭自己的channels 和 connections
      • 查看有关自己的virtual hosts的“全局”的统计信息,包含其他用户在这些virtual hosts中的活动。
    • policymaker management可以做的任何事外加:
      • 查看、创建和删除自己的virtual hosts所属的policies和parameter
    • monitoring management可以做的任何事外加:
      • 列出所有virtual hosts,包括他们不能登录的virtual hosts
      • 查看其他用户的connections和channels
      • 查看节点级别的数据如clustering和memory使用情况
      • 查看真正的关于所有virtual hosts的全局的统计信息  
    • administrator policymaker和monitoring可以做的任何事外加:
      • 创建和删除virtual hosts
      • 查看、创建和删除users
      • 查看创建和删除permissions
      • 关闭其他用户的connections

    2.用户管理 

    • 新增一个用户
      • ./rabbitmqctl add_user peter 123456
    • 赋予administrator角色
      • ./rabbitmqctl set_user_tags peter administrator 
    • 删除一个用户
      • rabbitmqctl  delete_user peter
    • 修改用户密码
      • /rabbitmqctl change_password peter 131415
        
    • 查看当前用户列表
      • ./rabbitmqctl  list_users
        

    • 创建RabbitMq监控用户,负责整个MQ的监控   
      •   ./rabbitmqctl add_user lp_momitor 123456
    • 赋予其monitoring角色:
      • ./rabbitmqctl set_user_tags lp_momitor monitoring
    • 列出当前的用户
      •  ./rabbitmqctl list_users
        Listing users ...
        guest    [administrator]
        lp_momitor    [monitoring]
        peter    [administrator]

    3. RabbitMQ 权限控制:

    默认virtual host:"/"
    默认用户:guest 
    guest具有"/"上的全部权限,仅能有localhost访问RabbitMQ包括Plugin,建议删除或更改密码。可通过将配置文件中loopback_users置孔来取消其本地访问的限制:
    [{rabbit, [{loopback_users, []}]}]

    用户仅能对其所能访问的virtual hosts中的资源进行操作。这里的资源指的是virtual hosts中的exchanges、queues等,操作包括对资源进行配置、写、读。配置权限可创建、删除、资源并修改资源的行为,写权限可向资源发送 消息,读权限从资源获取消息。比如:
    exchange和queue的declare与delete分别需要exchange和queue上的配置权限
    exchange的bind与unbind需要exchange的读写权限
    queue的bind与unbind需要queue写权限exchange的读权限
    发消息(publish)需exchange的写权限
    获取或清除(get、consume、purge)消息需queue的读权限

    • 该命令使用户user_admin具有/vhost1这个virtual host中所有资源的配置、写、读权限以便管理其中的资源
    ./rabbitmqctl  set_permissions -p /vhost lp_momitor '.*' '.*' '.*'
    • 查看权限:
    ./rabbitmqctl list_user_permissions lp_momitor

      

    可以通过rabbitMq的后台管理创建 vhost

  • 相关阅读:
    浅谈Slick(2)- Slick101:第一个动手尝试的项目
    浅谈Slick(1)- 基本功能描述
    Cats(4)- 叠加Free程序运算结果,Stacking monadic result types
    Cats(3)- freeK-Free编程更轻松,Free programming with freeK
    Cats(2)- Free语法组合,Coproduct-ADT composition
    Cats(1)- 从Free开始,Free cats
    Scalaz(59)- scalaz-stream: fs2-程序并行运算,fs2 running effects in parallel
    Scalaz(58)- scalaz-stream: fs2-并行运算示范,fs2 parallel processing
    Scalaz(57)- scalaz-stream: fs2-多线程编程,fs2 concurrency
    Scalaz(56)- scalaz-stream: fs2-安全运算,fs2 resource safety
  • 原文地址:https://www.cnblogs.com/200911/p/4852912.html
Copyright © 2020-2023  润新知