因爲帳號guest具備全部的操做權限,而且又是默認帳號,出於安全因素的考慮,guest用戶只能經過localhost登錄使用,並建議修改guest用戶的密碼以及新建其餘帳號管理使用rabbitmq。
這裏咱們以建立個test賬號,密碼123456爲例,建立一個帳號並支持遠程ip訪問。瀏覽器
rabbitmqctl add_user test 123456
rabbitmqctl set_user_tags test administrator
rabbitmqctl set_permissions -p "/" test ".*" ".*" ".*"
rabbitmqctl list_users
這是你就能夠經過其餘主機的訪問RabbitMQ的Web管理界面了,訪問方式,瀏覽器輸入:serverip:15672
。其中serverip是RabbitMQ-Server所在主機的ip。安全
一、用戶管理
用戶管理包括增長用戶,刪除用戶,查看用戶列表,修改用戶密碼。
(1) 新增一個用戶spa
rabbitmqctl add_user Username Password
(2) 刪除一個用戶code
rabbitmqctl delete_user Username
(3) 修改用戶的密碼server
rabbitmqctl change_password Username Newpassword
(4) 查看當前用戶列表rabbitmq
rabbitmqctl list_users
二、 用戶角色
按照我的理解,用戶角色可分爲五類,超級管理員, 監控者, 策略制定者, 普通管理者以及其餘。
(1) 超級管理員(administrator)
可登錄管理控制檯(啓用management plugin的狀況下),可查看全部的信息,而且能夠對用戶,策略(policy)進行操做。
(2) 監控者(monitoring)
可登錄管理控制檯(啓用management plugin的狀況下),同時能夠查看rabbitmq節點的相關信息(進程數,內存使用狀況,磁盤使用狀況等)
(3) 策略制定者(policymaker)
可登錄管理控制檯(啓用management plugin的狀況下), 同時能夠對policy進行管理。但沒法查看節點的相關信息(上圖紅框標識的部分)。與administrator的對比,administrator能看到這些內容。
(4) 普通管理者(management)
僅可登錄管理控制檯(啓用management plugin的狀況下),沒法看到節點信息,也沒法對策略進行管理。
(5) 其餘
沒法登錄管理控制檯,一般就是普通的生產者和消費者。進程
瞭解了這些後,就能夠根據須要給不一樣的用戶設置不一樣的角色,以便按需管理。ip
設置用戶角色的命令爲:內存
rabbitmqctl set_user_tags User Tag
User爲用戶名, Tag爲角色名(對應於上面的administrator,monitoring,policymaker,management,或其餘自定義名稱)。文檔
也能夠給同一用戶設置多個角色,例如
rabbitmqctl set_user_tags username monitoring policymaker
三、用戶權限
用戶權限指的是用戶對exchange,queue的操做權限,包括配置權限,讀寫權限。配置權限會影響到exchange,queue的聲明和刪除。讀寫權限影響到從queue裏取消息,向exchange發送消息以及queue和exchange的綁定(bind)操做。
例如: 將queue綁定到某exchange上,須要具備queue的可寫權限,以及exchange的可讀權限;向exchange發送消息須要具備exchange的可寫權限;從queue裏取數據須要具備queue的可讀權限。詳細請參考官方文檔中"How permissions work"部分。
相關命令爲:
(1) 設置用戶權限
rabbitmqctl set_permissions -p VHostPath User ConfP WriteP ReadP
(2) 查看(指定hostpath)全部用戶的權限信息
rabbitmqctl list_permissions [-p VHostPath]
(3) 查看指定用戶的權限信息
rabbitmqctl list_user_permissions User
(4) 清除用戶的權限信息
rabbitmqctl clear_permissions [-p VHostPath] User