RabbitMQ用戶增刪及權限控制
用戶角色分類
none:無法登錄控制台
不能訪問 management plugin,通常就是普通的生產者和消費者。
management:普通管理者。
僅可登陸管理控制台(啟用management plugin的情況下),無法看到節點信息,也無法對policies進行管理。用戶可以通過AMQP做的任何事外加:
列出自己可以通過AMQP登入的virtual hosts
查看自己的virtual hosts中的queues, exchanges 和 bindings
查看和關閉自己的channels 和 connections
查看有關自己的virtual hosts的“全局”的統計信息,包含其他用戶在這些virtual hosts中的活動。
policymaker:策略制定者。
management可以做的任何事外加:
查看、創建和刪除自己的virtual hosts所屬的policies和parameters
monitoring:監控者。
management可以做的任何事外加:
列出所有virtual hosts,包括他們不能登錄的virtual hosts
查看其他用戶的connections和channels
查看節點級別的數據如clustering和memory使用情況
查看真正的關於所有virtual hosts的全局的統計信息
同時可以查看rabbitmq節點的相關信息(進程數,內存使用情況,磁盤使用情況等)
administrator:超級管理員。
policymaker和monitoring可以做的任何事外加:
創建和刪除virtual hosts
查看、創建和刪除users
查看創建和刪除permissions
關閉其他用戶的connections
創建用戶
rabbitmqctl add_user {用戶名} {密碼}
// 設置權限
rabbitmqctl set_user_tags {用戶名} {權限}
例:創建一個超級用戶
rabbitmqctl add_user admin1 admin1
rabbitmqctl set_user_tags admin1 administrator
查看用戶列表
rabbitmqctl list_users
為用戶賦權
// 使用戶user1具有vhost1這個virtual host中所有資源的配置、寫、讀權限以便管理其中的資源
rabbitmqctl set_permissions -p vhost1 user1 '.*' '.*' '.*'
// 查看權限
rabbitmqctl list_user_permissions user1
rabbitmqctl list_permissions -p vhost1
// 清除權限
rabbitmqctl clear_permissions [-p VHostPath] User
刪除用戶
rabbitmqctl delete_user Username
修改用戶的密碼
rabbitmqctl change_password Username Newpassword