RabbitMQ3.13.x之四_RabbitMQ角色说明及创建用户与授权

RabbitMQ3.13.x之四_角色说明及创建用户与授权

1. 访问和授权

官网说明:Management Plugin | RabbitMQ

  1. RabbitMQ中的访问和授权时以Tag来控制的

  2. 请注意,由于“管理员”做“监视”做的所有事情,而“监视”完成“管理”做的一切事情,因此每个用户通常最多需要一个标记,也即一个用户只能分配一个Tag

1. Tags说明

管理 UI 需要身份验证和授权,就像 RabbitMQ 需要的那样 它来自连接客户端。除了成功的身份验证外,管理 UI 访问还由用户标记控制。 这些标签使用 rabbitmqctl 进行管理。 默认情况下,新创建的用户不会设置任何标签。

有关用户和凭据的一般建议,请参阅生产清单 管理。

Tag(标记)Capabilities(能力)
None(无)无法访问管理插件
management(管理)用户可以通过消息传递协议执行的任何操作,以及:列出他们可以通过 AMQP 登录的虚拟主机在“他们的”中查看所有队列、交换和绑定 虚拟主机查看和关闭自己的频道和连接查看涵盖其所有“全球”统计数据 虚拟主机,包括其他用户的活动 在他们里面
policymaker(决策者)“管理”可以加上的一切:查看、创建和删除虚拟策略和参数 他们可以通过 AMQP 登录的主机
monitoring(监测)“管理”可以加上的一切:列出所有虚拟主机,包括它们可以 不使用消息传递协议进行访问查看其他用户的连接和频道查看节点级数据,例如内存使用情况和集群查看所有虚拟主机的真正全局统计信息
administrator(管理员)“政策制定者”和“监督者”可以加上的一切:创建和删除虚拟主机查看、创建和删除用户查看、创建和删除权限关闭其他用户的连接

请注意,由于“管理员”会执行所有“监视” 做,“监控”做“管理”做的一切, 每个用户通常最多需要一个标签。

对资源的正常 RabbitMQ 权限仍适用于监视器和 管理员;仅仅因为用户是监视器或 管理员未授予他们对交易所的完全访问权限, 通过管理的队列和绑定 插件或其他方式。

所有用户只能列出虚拟中的对象 他们拥有任何权限的主机。

如果由于缺少用户而无法访问管理 UI 具有足够的权限或忘记/不正确的权限,CLI 工具必须 用于管理用户及其凭据。rabbitmqctl add_user 应该用于创建用户,rabbitmqctl set_permissions授予 用户所需的权限,最后是 rabbitmqctl set_user_tags应用于授予用户管理 UI 访问权限。

2. 命令行示例

以下示例创建一个对管理 UI/HTTP API 具有完全访问权限的用户(如 所有虚拟主机和管理功能):

# create a user
rabbitmqctl add_user full_access s3crEt
# tag the user with "administrator" for full management UI and HTTP API access
rabbitmqctl set_user_tags full_access administrator

2. 管理界面新建用户及访问授权

rabbitmq默认的guest用户具有所有的操作权限,因此只能限制本地访问,不能远程访问

1. 管理界面新建用户

在这里插入图片描述

2. 管理界面中的授权说明

Comma-separated list of tags to apply to the user. Currently supported by the management plugin:

  • management

    User can access the management plugin

  • policymaker

    User can access the management plugin and manage policies and parameters for the vhosts they have access to.

  • monitoring

    User can access the management plugin and see all connections and channels as well as node-related information.

  • administrator

    User can do everything monitoring can do, manage users, vhosts and permissions, close other user’s connections, and manage policies and parameters for all vhosts.

Note that you can set any tag here; the links for the above four tags are just for convenience.

要应用于用户的逗号分隔的标记列表。目前由管理插件支持:
经营
用户可以访问管理插件
-决策者
用户可以访问管理插件,并管理他们可以访问的vhosts的策略和参数。
-监测
用户可以访问管理插件,查看所有连接和通道以及节点相关信息。
管理员
用户可以做监控所能做的一切,管理用户、vhosts和权限,关闭其他用户的连接,并管理所有vhosts的策略和参数。
请注意,您可以在此处设置任何标记;上面四个标签的链接只是为了方便。

3. guest用户不能远程登录提示

在这里插入图片描述

3. 创建用户

1. 基本命令

# 创建vhost
rabbitmqctl add_vhost <vhost_name>
# 创建用户
rabbitmqctl add_user <username> <password>
# 给用户分配tag(角色)
rabbitmqctl set_user_tags <username> <tag>
# 查看用户列表
rabbitmqctl list_users
# 修改用密码
rabbitmqctl  change_password  <username> <newPassword>
# 开启某个用户远程访问
rabbitmqctl set_permissions -p "<vhost_name>" <username> ".*" ".*" ".*"
# 删除用户 
rabbitmqctl  delete_user  <username>

2. 实际案例

# 创建用户
rabbitmqctl add_user mytest test123
# 给用户分配tag(角色)
rabbitmqctl set_user_tags mytest administrator
# 开启远程访问
rabbitmqctl set_permissions -p "/" mytest ".*" ".*" ".*"

3. bat脚本创建用户

  1. Windows中一个bat脚本执行多条命令的说明

cmd1 & cmd2 & cmd3 : 无论前面命令是否执行成功,后面命令都会执行
cmd1 && cmd2 && cmd3: 仅当前面命令成功时,才执行后面的命令
cmd1 || cmd2 || cmd3: 仅当前面命令失败时.才执行后面命令

  1. 编写脚本如下

新建一个createRabbitUser.bat,内容如下

注意:所有命令必须在同一行,不能换行,否则会执行失败

rabbitmqctl add_user mytest test123 && rabbitmqctl set_user_tags mytest administrator && rabbitmqctl set_permissions -p "/" mytest ".*" ".*" ".*"
pause

4. 查看用户列表_命令行

输入命令rabbitmqctl list_users,查看用户如下

在这里插入图片描述

5. 查看用户列表_管理界面

  1. 通过脚本创建用户后,如下

在这里插入图片描述

点击用户名,如下图

在这里插入图片描述

  1. mytest用户远程登录如下

在这里插入图片描述

  • 25
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RabbitMQ 3.9.14 版本中,安装 rabbitmq_conf 插件有两种方式:使用 RabbitMQ 插件管理器或手动安装。以下是两种方法的具体步骤: ## 使用 RabbitMQ 插件管理器安装 rabbitmq_conf 插件 1. 打开终端或命令行界面,进入 RabbitMQ 的安装目录,通常为 /usr/lib/rabbitmq。 2. 执行以下命令来启用 RabbitMQ 插件管理器: ``` sudo rabbitmq-plugins enable rabbitmq_management ``` 这将启用 RabbitMQ 的 Web 管理界面,方便你管理 RabbitMQ 的插件。 3. 打开浏览器,输入以下地址来访问 RabbitMQ 的 Web 管理界面: ``` http://localhost:15672/ ``` 默认的管理员帐户为 guest/guest,如果你已经更改了默认的帐户或密码,需要使用新的帐户名和密码来登录。 4. 在 RabbitMQ 的 Web 管理界面中,选择 "Plugins" 选项卡,然后找到 rabbitmq_conf 插件,点击 "Enable" 按钮来启用该插件。 注意:在启用 rabbitmq_conf 插件之前,需要先启用 rabbitmq_consistent_hash_exchange 插件,因为 rabbitmq_conf 插件依赖于该插件。 5. 等待一段时间,rabbitmq_conf 插件就会被安装并启用。 ## 手动安装 rabbitmq_conf 插件 1. 下载 rabbitmq_conf 插件的二进制文件或源代码,可以从 RabbitMQ 的社区插件仓库进行下载。 2. 将下载的插件文件复制到 RabbitMQ 的 plugins 目录下,通常为 /usr/lib/rabbitmq/plugins。 3. 执行以下命令启用 rabbitmq_conf 插件: ``` sudo rabbitmq-plugins enable rabbitmq_conf ``` 4. 等待一段时间,rabbitmq_conf 插件就会被安装并启用。 以上就是在 RabbitMQ 3.9.14 版本中安装 rabbitmq_conf 插件的两种方法,希望能对你有所帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值