文章目录
1. Vhost虚拟机
每个RabbitMQ服务器都能创建虚拟主机(virtual host),简称vhost。每个vhost本质上是一个独立的小型RabbitMQ服务器,拥有自己独立的队列、交换器及绑定关系等,并且它拥有自己独立的权限,RabbitMQ默认创建vhost为 “/”。
- 创建vhost:rabbitmqctl add_vhost {vhost}
- 查看所有vhost:rabbitmqctl list_vhosts
- 删除指定vhost:rabbitmqctl delete_vhost {vhost}
2. 用户管理
在RabbitMQ中,用户是访问控制的基本单元,且单个用户可以跨越多个vhost进行授权。
- 创建用户:rabbitmqctl add_user {username} {password}
- 修改密码:rabbitmqctl change_password {username} {password}
- 清除密码:rabbitmqctl clear_password {username}
- 验证用户:rabbitmqctl authenticate_user {username} {password}
- 删除用户:rabbitmqctl delete_user {username}
- 用户列表:rabbitmqctl list_users
3. 权限管理
RabbitMQ中,权限控制是以vhost为单位,创建用户时,将被指定至少一个vhost,默认的vhost是 “/”。
- 授予权限:rabbitmqctl set_permissions [-p vhost] {user}{conf}{write}
{read}
配置项 | 说明 |
---|---|
vhost | 授权用户访问指定的vhost |
user | 用户名 |
conf | 一个用于匹配用户在哪些资源上拥有可配置权限的正则表达式,例如:".*"表示全部 |
write | 一个用于匹配用户在哪些资源上拥有可写权限的正则表达式 ,例如:".*"表示全部 |
read | 一个用于匹配用户在哪些资源上拥有可读权限的正则表达式,例如:".*"表示全部 |
- 收回权限:rabbitmqctl clear_permissions [-p vhost]