RabbitMQ角色說明及權限說明


角色說明:

administartor    可以登陸控制台,查看所有信息,可以對rabbitmq進行管理

monitoring        監控者,可以登陸控制台,查看所有信息

policymaker      策略定制者,登陸控制台,指定策略

managment      普通管理員,可以登陸控制台

none               其他,無法登陸控制台,通常就是普通的生產者和消費者

創建用戶密碼及相關命令:

創建用戶

rabbitmqctl add_user admin 123

給予用戶相關角色

rabbitmqctl set_user_tags admin administrator

查看用戶列表

rabbitmqctl list_users

更改用戶密碼

rabbitmqctl change_password admin 12345

刪除用戶

rabbitmqctl delete_user [Username]

VirtualHost說明

先理解下什么是VirtualHost?

像mysql擁有數據庫的概念並且可以指定用戶對庫和表等操作的權限。那RabbitMQ呢?
RabbitMQ也有類似的權限管理。在RabbitMQ中可以虛擬消息服務器VirtualHost,每個VirtualHost相當月一個相對獨立的RabbitMQ
服務器,每個VirtualHost之間是相互隔離的。exchange、queue、message不能互通。 相當於mysql的db。Virtual Name一般以/開頭

用戶權限指的是用戶對其所能訪問的virtual hosts中的資源exchange,queue的操作權限(包括配置權限,讀寫權限)

對何virtual hosts具有配置、寫、讀的權限通過正則表達式來匹配,具體命令如下:
rabbitmqctl set_permissions -p <vhostpath> <user> <conf> <write> <read>
###例如,給admin用戶賦予 / 的所有權限
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

注:默認virtual host為"/",默認用戶guest(密碼也是guest)具有"/"上的全部權限,僅能有localhost可以進行訪問,建議刪除或更改密碼。

       可通過將配置文件中loopback_users項來取消其只能本地訪問的限制:erlang格式 {rabbit, [{loopback_users, []}]} sysctl格式 loopback_users=none

創建虛擬主機

rabbitmqctl add_vhost [vhostpath]

列出所有虛擬主機

rabbitmqctl list_vhosts

列出虛擬主機上所有角色對應權限

rabbitmqctl list_permissions -p [vhostpath]

刪除虛擬主機

rabbitmqctl delete_vhost [vhostpath]

權限說明:

查看指定用戶的權限信息

rabbitmqctl list_user_permissions admin

設置用戶對某個virtual hosts的權限

rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

清除用戶對某個virtual hosts的權限

rabbitmqctl clear_permissions -p / admin 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM