RabbitMQ用戶管理

安裝最新版本的rabbitmq(3.3.1),并啟用management plugin后,使用默認(rèn)的賬號(hào)guest登陸管理控制臺(tái),卻提示登陸失敗。

翻看官方的release文檔后,得知由于賬號(hào)guest具有所有的操作權(quán)限,并且又是默認(rèn)賬號(hào),出于安全因素的考慮,guest用戶只能通過localhost登陸使用,并建議修改guest用戶的密碼以及新建其他賬號(hào)管理使用rabbitmq(該功能是在3.3.0版本引入的)。

雖然可以以比較猥瑣的方式:將ebin目錄下rabbit.app中l(wèi)oopback_users里的<<"guest">>刪除,
并重啟rabbitmq,可通過任意IP使用guest賬號(hào)登陸管理控制臺(tái),但始終是違背了設(shè)計(jì)者的初衷,再加上以前對(duì)這一塊了解也不多,因此有必要總結(jié)一下。

  1. 用戶管理

用戶管理包括增加用戶,刪除用戶,查看用戶列表,修改用戶密碼。

相應(yīng)的命令

(1) 新增一個(gè)用戶

rabbitmqctl add_user Username Password

(2) 刪除一個(gè)用戶

rabbitmqctl delete_user Username

(3) 修改用戶的密碼

rabbitmqctl change_password Username Newpassword

(4) 查看當(dāng)前用戶列表

rabbitmqctl list_users

  1. 用戶角色

按照個(gè)人理解,用戶角色可分為五類,超級(jí)管理員, 監(jiān)控者, 策略制定者, 普通管理者以及其他。

(1) 超級(jí)管理員(administrator)

可登陸管理控制臺(tái)(啟用management plugin的情況下),可查看所有的信息,并且可以對(duì)用戶,策略(policy)進(jìn)行操作。

(2) 監(jiān)控者(monitoring)

可登陸管理控制臺(tái)(啟用management plugin的情況下),同時(shí)可以查看rabbitmq節(jié)點(diǎn)的相關(guān)信息(進(jìn)程數(shù),內(nèi)存使用情況,磁盤使用情況等)

(3) 策略制定者(policymaker)

可登陸管理控制臺(tái)(啟用management plugin的情況下), 同時(shí)可以對(duì)policy進(jìn)行管理。但無法查看節(jié)點(diǎn)的相關(guān)信息(上圖紅框標(biāo)識(shí)的部分)。

與administrator的對(duì)比,administrator能看到這些內(nèi)容

(4) 普通管理者(management)

僅可登陸管理控制臺(tái)(啟用management plugin的情況下),無法看到節(jié)點(diǎn)信息,也無法對(duì)策略進(jìn)行管理。

(5) 其他

無法登陸管理控制臺(tái),通常就是普通的生產(chǎn)者和消費(fèi)者。

了解了這些后,就可以根據(jù)需要給不同的用戶設(shè)置不同的角色,以便按需管理。

設(shè)置用戶角色的命令為:

rabbitmqctl set_user_tags User Tag

User為用戶名, Tag為角色名(對(duì)應(yīng)于上面的administrator,monitoring,policymaker,management,或其他自定義名稱)。

也可以給同一用戶設(shè)置多個(gè)角色,例如

rabbitmqctl set_user_tags hncscwc monitoring policymaker

  1. 用戶權(quán)限

用戶權(quán)限指的是用戶對(duì)exchange,queue的操作權(quán)限,包括配置權(quán)限,讀寫權(quán)限。配置權(quán)限會(huì)影響到exchange,queue的聲明和刪除。讀寫權(quán)限影響到從queue里取消息,向exchange發(fā)送消息以及queue和exchange的綁定(bind)操作。

例如: 將queue綁定到某exchange上,需要具有queue的可寫權(quán)限,以及exchange的可讀權(quán)限;向exchange發(fā)送消息需要具有exchange的可寫權(quán)限;從queue里取數(shù)據(jù)需要具有queue的可讀權(quán)限。詳細(xì)請(qǐng)參考官方文檔中"How permissions work"部分。

相關(guān)命令為:

(1) 設(shè)置用戶權(quán)限

rabbitmqctl set_permissions -p VHostPath User ConfP WriteP ReadP

(2) 查看(指定hostpath)所有用戶的權(quán)限信息

rabbitmqctl list_permissions [-p VHostPath]

(3) 查看指定用戶的權(quán)限信息

rabbitmqctl list_user_permissions User

(4) 清除用戶的權(quán)限信息

rabbitmqctl clear_permissions [-p VHostPath] User

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 安裝最新版本的rabbitmq(3.3.1),并啟用management plugin后,使用默認(rèn)的賬號(hào)guest...
    逗比punk閱讀 2,782評(píng)論 0 1
  • 由于賬號(hào)guest具有所有的操作權(quán)限,并且又是默認(rèn)賬號(hào),出于安全因素的考慮,guest用戶只能通過localhos...
    Chinesszz閱讀 20,002評(píng)論 0 3
  • 1. 用戶管理 用戶管理包括增加用戶,刪除用戶,查看用戶列表,修改用戶密碼。 相應(yīng)的命令 (1) 新增一個(gè)用戶 r...
    小慕先森閱讀 1,712評(píng)論 0 0
  • rabbitMQ是一款基于AMQP協(xié)議的消息中間件,它能夠在應(yīng)用之間提供可靠的消息傳輸。在易用性,擴(kuò)展性,高可用性...
    點(diǎn)融黑幫閱讀 3,039評(píng)論 3 41
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,908評(píng)論 18 139