天天看點

rabbitmq權限設定

rabbitmq中的角色分為如下五類:none、management、policymaker、monitoring、administrator 

(1) 超級管理者(administrator) 

可登陸管理控制台(啟用management plugin的情況下),可檢視所有的資訊,并且可以對使用者,政策(policy)進行操作。

(2) 監控者(monitoring) 

可登陸管理控制台(啟用management plugin的情況下),同時可以檢視rabbitmq節點的相關資訊(程序數,記憶體使用情況,磁盤使用情況等)

(3) 政策制定者(policymaker) 

可登陸管理控制台(啟用management plugin的情況下), 同時可以對policy進行管理。但無法檢視節點的相關資訊(上圖紅框辨別的部分)。

(4) 普通管理者(management) 

僅可登陸管理控制台(啟用management plugin的情況下),無法看到節點資訊,也無法對政策進行管理。

(5) 其他(none) 

無法登陸管理控制台,通常就是普通的生産者和消費者。

建立使用者:rabbitmqctl add_user user password

删除使用者: rabbitmqctl delete_user user

改密碼: rabbimqctl change_password {username} {newpassword}

設定使用者角色的指令為: 

rabbitmqctl set_user_tags user tag 

rabbitmqctl set_user_tags hncscwc monitoring policymaker // 可以設定多個角色

設定使用者權限 

rabbitmqctl set_permissions -p vhostpath user confp writep readp 

// 具有/vhost1這個virtual host中所有資源的配置、寫、讀權限以便管理其中的資源 

rabbitmqctl set_permissions -p /vhost1 user_admin ‘.’ ‘.’ ‘.*’ 

set_permissions [-p ] 其中, 的位置分别用正規表達式來比對特定的資源,如’^(amq.gen.*|amq.default)$’ 可以比對server生成的和預設的exchange,’^$’不比對任何資源

檢視(指定hostpath)所有使用者的權限資訊 

rabbitmqctl list_permissions [-p vhostpath]

檢視指定使用者的權限資訊 

rabbitmqctl list_user_permissions user

清除使用者的權限資訊 

rabbitmqctl clear_permissions [-p vhostpath] user

使用者權限 

使用者權限指的是使用者對exchange,queue的操作權限,包括配置權限,讀寫權限。 

配置權限會影響到exchange,queue的聲明和删除。 

讀寫權限影響到從queue裡取消息,向exchange發送消息以及queue和exchange的綁定(bind)操作。 

例如: 将queue綁定到某exchange上,需要具有queue的可寫權限,以及exchange的可讀權限; 

向exchange發送消息需要具有exchange的可寫權限; 

從queue裡取資料需要具有queue的可讀權限。

繼續閱讀