轉:rabbitmq——使用者管理

來源:互聯網
上載者:User

標籤:style   blog   http   io   os   ar   使用   sp   資料   

原文:http://my.oschina.net/hncscwc/blog/262246?p={{currentPage-1}}

安裝最新版本的rabbitmq(3.3.1),並啟用management plugin後,使用預設的帳號guest登陸管理主控台,卻提示登陸失敗。

翻看官方的release文檔後,得知由於帳號guest具有所有的操作許可權,並且又是預設帳號,出於安全因素的考慮,guest使用者只能通過 localhost登陸使用,並建議修改guest使用者的密碼以及建立其他帳號管理使用rabbitmq(該功能是在3.3.0版本引入的)。

雖然可以以比較猥瑣的方式:將ebin目錄下rabbit.app中loopback_users裡的<<"guest">>刪除,


並重啟rabbitmq,可通過任意IP使用guest帳號登陸管理主控台,但始終是違背了設計者的初衷,再加上以前對這一塊瞭解也不多,因此有必要總結一下。

1. 使用者管理

使用者管理組件括增加使用者,刪除使用者,查看使用者列表,修改使用者密碼。

相應的命令

(1) 新增一個使用者

rabbitmqctl  add_user  Username  Password

(2) 刪除一個使用者

rabbitmqctl  delete_user  Username

(3) 修改使用者的密碼

rabbitmqctl  change_password  Username  Newpassword

(4) 查看目前使用者列表

rabbitmqctl  list_users

2. 使用者角色

按照個人理解,使用者角色可分為五類,超級管理員, 監控者, 策略制定者, 普通管理者以及其他。

(1) 超級管理員(administrator)

可登陸管理主控台(啟用management plugin的情況下),可查看所有的資訊,並且可以對使用者,策略(policy)進行操作。

(2) 監控者(monitoring)

可登陸管理主控台(啟用management plugin的情況下),同時可以查看rabbitmq節點的相關資訊(進程數,記憶體使用量情況,磁碟使用方式等)

(3) 策略制定者(policymaker)

可登陸管理主控台(啟用management plugin的情況下), 同時可以對policy進行管理。但無法查看節點的相關資訊(紅框標識的部分)。

與administrator的對比,administrator能看到這些內容

(4) 普通管理者(management)

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

(5) 其他

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

瞭解了這些後,就可以根據需要給不同的使用者佈建不同的角色,以便按需管理。

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

rabbitmqctl  set_user_tags  User  Tag

User為使用者名稱, Tag為角色名稱(對應於上面的administrator,monitoring,policymaker,management,或其他自訂名稱)。

也可以給同一使用者佈建多個角色,例如

rabbitmqctl  set_user_tags  hncscwc  monitoring  policymaker

3. 使用者權限

使用者權限指的是使用者對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

===============================

命令詳細參考官方文檔:rabbitmqctl

轉:rabbitmq——使用者管理

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.