RabbitMQ使用者角色及許可權控制

2021-09-30 18:27:43 字數 3229 閱讀 4781

user 有5種 tags :

management :訪問 management plugin;

policymaker :訪問 management plugin 和管理自己 vhosts 的策略和引數;

monitoring :訪問 management plugin 和檢視所有配置和通道以及節點資訊;

administrator :一切許可權;

none :無配置

none

不能訪問 management plugin

management

使用者可以通過amqp做的任何事外加:

列出自己可以通過amqp登入的virtual hosts

檢視自己的virtual hosts中的queues, exchanges 和 bindings

檢視和關閉自己的channels 和 connections

檢視有關自己的virtual hosts的「全域性」的統計資訊,包含其他使用者在這些virtual hosts中的活動。

policymaker

management可以做的任何事外加:

檢視、建立和刪除自己的virtual hosts所屬的policies和parameters

monitoring

management可以做的任何事外加:

列出所有virtual hosts,包括他們不能登入的virtual hosts

檢視其他使用者的connections和channels

檢視節點級別的資料如clustering和memory使用情況

檢視真正的關於所有virtual hosts的全域性的統計資訊

administrator

policymaker和monitoring可以做的任何事外加:

建立和刪除virtual hosts

檢視、建立和刪除users

檢視建立和刪除permissions

關閉其他使用者的connections

新增 users :

rabbitmqctl add_user rabbitmqctl set_user_tags ...  

rabbitmqctl set_permissions [-p ]

刪除 users :

delete_user
示例:建立使用者並設定角色:可以建立管理員使用者,負責整個mq的運維,例如:

$sudo rabbitmqctl add_user  user_admin  passwd_admin
賦予其administrator角色:

$sudo rabbitmqctl set_user_tags user_admin administrator
可以建立rabbitmq監控使用者,負責整個mq的監控,例如:

$sudo rabbitmqctl add_user  user_monitoring  passwd_monitor
賦予其monitoring角色:

$sudo rabbitmqctl set_user_tags user_monitoring monitoring
可以建立某個專案的專用使用者,只能訪問專案自己的virtual hosts

$sudo rabbitmqctl  add_user  user_proj  passwd_proj
賦予其monitoring角色:

$sudo rabbitmqctl set_user_tags user_proj management
建立和賦角色完成後檢視並確認:

$sudo rabbitmqctl list_users
加 virtual hosts :

rabbitmqctl add_vhost
刪除 virtual hosts :

rabbitmqctl delete_vhost
預設 「guest」 使用者只允許本地訪問,其他賬戶不受限制。

若允許使用 「guest」 遠端訪問,需要在配置檔案中新增以下選項:rabbitmq.config

[  

]}

].

使用者僅能對其所能訪問的virtual hosts中的資源進行操作。這裡的資源指的是virtual hosts中的exchanges、queues等,操作包括對資源進行配置、寫、讀

比如:對何種資源具有配置、寫、讀的許可權通過正規表示式來匹配,具體命令如下:

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

注意:rabbitmq會快取每個connection或channel的許可權驗證結果、因此許可權發生變化後需要重連才能生效。

為使用者賦權:

$sudo rabbitmqctl  set_permissions -p /vhost1  user_admin '.*' '.*' '.*'
該命令使使用者user_admin具有/vhost1這個virtual host中所有資源的配置、寫、讀許可權以便管理其中的資源

檢視許可權

sudo rabbitmqctl list_user_permissions user_admin

sudo rabbitmqctl list_permissions -p /vhost1

Rabbitmq使用者角色

1 超級管理員 administrator 可登陸管理控制台 啟用management plugin的情況下 可檢視所有的資訊,並且可以對使用者,策略 policy 進行操作。2 監控者 monitoring 可登陸管理控制台 啟用management plugin的情況下 同時可以檢視rabbit...

oracle使用者許可權及角色

每個oracle使用者都有乙個名字和口令,並擁有一些由其建立的表 檢視和其他資源。oracle角色 role 就是一組許可權 privilege 或者是每個使用者根據其狀態和條件所需的訪問型別 使用者可以給角色授予或賦予指定的許可權,然後將角色賦給相應的使用者。乙個使用者也可以直接給其他使用者授權。...

Oracle使用者 許可權及角色管理

1.oracle使用者 oracle使用者,既可以登入oracle資料庫,對資料庫進行增刪改查等操作的使用者。主要有四種使用者 超級管理員,如sys 普通管理員,如system 普通使用者,如scott 大資料使用者 1.1.建立使用者 語法 建立使用者 create user 使用者名稱 iden...