RabbitMQ多租户与权限

   每一个RabbitMQ服务器都能创建虚拟的消息服务器,我们称之为虚拟主机(virtual host),简称vhost.
   每一个vhost本质上都是一个独立的小型RabbitMQ服务器,拥有独立的队列,交换器以及绑定关系等,并且拥有独立的权限。vhost就像是虚拟机与物理服务器一样,它们在各个实例之间提供逻辑上的分离
    vhost是绝对隔离的,无法将vhost1中的交换器与vhost2中的队列进行绑定,保证了安全,如果使用RabbitMQ到达一定规模时,建立用户对业务功能、场景进行分类、分区、并分配独立的vhost.
    vhost是AMQP概念的基础,客户端在连接是必须制定一个vhost。RabbitMQ默认创建的vhost为 "/".

创建一个新的vhost:

root@song-PC:/home/song# rabbitmqctl add_vhost song_vhost
Creating vhost "song_vhost" ...

查看vhost列表 :

root@song-PC:/home/song# rabbitmqctl list_vhosts
Listing vhosts ...
/
song_vhost
root@song-PC:/home/song# 

root@song-PC:/home/song# rabbitmqctl list_vhosts name tracing
Listing vhosts ...
/	false
song_vhost	false

 开启trace功能:

root@song-PC:/home/song# rabbitmqctl trace_on
Starting tracing for vhost "/" ...
root@song-PC:/home/song# rabbitmqctl list_vhosts name tracing
Listing vhosts ...
/	true
song_vhost	false

 删除vhost:

root@song-PC:/home/song# rabbitmqctl delete_vhost song_vhost
Deleting vhost "song_vhost" ...
root@song-PC:/home/song# rabbitmqctl list_vhosts name tracing
Listing vhosts ...
/	true
root@song-PC:/home/song# 

   RabbitMQ中,权限控制是以vhost为单位的。当创建一个用户时,通常会被指派至少一个vhost,并且只能访问被指派的vhost内的队列、交换器和绑定关系等

授予权限:

rabbitmqctl set_permissions [-p vhost] {user} {config} {write} {read} 

 vhost: 授予用户访问权限的vhost名称

user:  可以访问指定vhost的用户

config: 可配置权限,队列、交换器创建和删除操作等

write: 发布消息

read: 与消息相关的操作,读取消息和清空整个队列

root@song-PC:/home/song# rabbitmqctl set_permissions -p song_vhost root  ".*" ".*" ".*"
Setting permissions for user "root" in vhost "song_vhost" ...
root@song-PC:/home/song# 

清空权限命令:

root@song-PC:/home/song# rabbitmqctl clear_permissions -p song_vhost root
Clearing permissions for user "root" in vhost "song_vhost" ...
root@song-PC:/home/song# 

显示主机上的权限:

root@song-PC:/home/song# rabbitmqctl list_permissions -p /
Listing permissions in vhost "/" ...
guest	.*	.*	.*
root	.*	.*	.*

显示用户的权限 :

root@song-PC:/home/song# rabbitmqctl list_user_permissions root
Listing permissions for user "root" ...
/	.*	.*	.*
root@song-PC:/home/song# 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值