一、rabbitmq用戶管理以及UI管理界面的使用
用戶的管理分為:用戶的創建、查看用戶列表、刪除用戶、用戶的信息修改(如密碼等)、用戶的角色分配、用戶的權限控制。應該所有的用戶管理都是這六大類吧。
所有操作前提:cmd進入rabbitmq安裝目錄sbin目錄下。
1、用戶的創建
rabbitmqctl add_user Username Password
執行此命令創建的用戶,其權限為none,是沒有任何權限的,如下圖所示:
若此時用新建的用戶去登錄管理界面是無法登錄的,因為它沒有相應的權限,如下圖所示:
2、查看用戶列表
rabbitmqctl list_usres
如下圖所示:
3、刪除用戶
rabbitmqctl delete_user Username
如下圖所示:
4、用戶的信息修改,如修改用戶密碼
rabbitmqctl change_password Username Newpassword
如下圖所示:
二、用戶的角色和權限控制
1、用戶角色控制
rabbitmq用戶角色分為Administrator、Monitoring、Policymaker、Management、Impersonator、None共六種角色。
設置用戶角色的命令為:rabbitmqctl set_user_tags User Tag
User為用戶名, Tag為角色名(對應於上面的administrator,monitoring,policymaker,management,或其他自定義名稱)。
也可以給同一用戶設置多個角色,例如:rabbitmqctl set_user_tags jasonname monitoring policymaker
如下圖所示:
(1) Administrator
超級管理員,可登陸管理控制台(啟用management plugin的情況下),可查看所有的信息,並且可以對用戶,策略(policy)進行操作,因為是超級管理員,可以這樣理解,它可以為所欲為,什么操作都能干,刪除用戶、修改用戶密碼、重置用戶角色、策略制定等等。
(2)Monitoring
監控者,可登陸管理控制台(啟用management plugin的情況下),同時可以查看rabbitmq節點的相關信息(進程數,內存使用情況,磁盤使用情況等)。
(3)Policymaker
策略制定者,可登陸管理控制台(啟用management plugin的情況下),同時可以對policy進行管理。但無法查看節點的相關信息。
(4)Management
普通管理者,僅可登陸管理控制台(啟用management plugin的情況下),無法看到節點信息,也無法對策略進行管理。
(5)Impersonator
模擬者,無法登錄管理控制台,因為沒有管理者權限,如下圖所示:
(6)None
其他用戶,無法登陸管理控制台,通常就是普通的生產者和消費者。
以上就是rabbitmq的用戶角色設置,了解了這些后,就可以根據需要給不同的用戶設置不同的角色,以便按需進行管理。
2、用戶權限控制
用戶擁有的權限不同,對應的所能操作的范圍也就不同。
用戶權限指的是用戶對exchange,queue的操作權限,包括配置權限,讀寫權限。配置權限會影響到exchange,queue的聲明和刪除。讀寫權限影響到從queue里取消息,向exchange發送消息以及queue和exchange的綁定(bind)操作。
例如: 將queue綁定到某exchange上,需要具有queue的可寫權限,以及exchange的可讀權限;向exchange發送消息需要具有exchange的可寫權限;從queue里取數據需要具有queue的可讀權限。詳細請參考官方文檔中"How permissions work"部分。
如下圖所示:
cmd命令行操作設置用戶權限相關命令如下:
(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
如下圖所示:
參考博文:
(1) https://blog.csdn.net/qq_35781732/article/details/79807160
(2) https://www.cnblogs.com/zwwhnly/p/10918665.html
(3) https://www.rabbitmq.com/ (rabbitmq官網)