community.rabbitmq.rabbitmq_user 模块 – 管理 RabbitMQ 用户
注意
此模块是 community.rabbitmq 集合 (版本 1.3.0) 的一部分。
如果您正在使用 ansible
包,则可能已安装此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.rabbitmq
。
要在剧本中使用它,请指定:community.rabbitmq.rabbitmq_user
。
概要
向 RabbitMQ 添加或删除用户并分配权限
参数
参数 |
注释 |
---|---|
正则表达式,用于限制对指定虚拟主机的资源进行配置操作。 默认情况下,所有操作都被限制。 使用 permissions 选项时,此选项将被忽略。 默认值: |
|
删除并重新创建用户。 选项
|
|
API 的主机名。 |
|
管理 API 的登录密码。 |
|
API 访问的 login_port。 默认值: |
|
指定将使用的 TCP/IP 协议。 选项
|
|
管理 API 的管理员用户名。 |
|
我们希望配置的 Rabbit 的 Erlang 节点名称 默认值: |
|
要添加的用户密码。 要更改现有用户的密码,还必须指定 |
|
字典列表,每个字典包含 vhost、configure_priv、write_priv 和 read_priv,并表示该虚拟主机的权限规则。 当您关心用户的全部权限时,此选项应该优先使用。 如果您只关心某些虚拟主机的权限,则应改用 vhost、configure_priv、write_priv 和 read_priv 选项。 默认值: |
|
正则表达式,用于限制对指定虚拟主机的资源进行配置操作。 默认情况下,所有操作都被限制。 使用 permissions 选项时,此选项将被忽略。 默认值: |
|
指定是否要添加或删除用户 选项
|
|
以逗号分隔的用户标签。 建议使用的标签是 management、policymaker、monitoring 和 administrator。 |
|
字典列表,每个字典包含 vhost、exchange、read_priv 和 write_priv,并表示该虚拟主机的主题权限规则。 默认情况下,vhost 为 自 RabbitMQ 3.7.0 起支持。如果 RabbitMQ 版本较旧且设置了 topic_permissions,则模块将失败。 默认值: |
|
选项
|
|
要添加的用户名 |
|
应用访问权限的虚拟主机。 使用 permissions 选项时,此选项将被忽略。 默认值: |
|
正则表达式,用于限制对指定虚拟主机的资源进行配置操作。 默认情况下,所有操作都被限制。 使用 permissions 选项时,此选项将被忽略。 默认值: |
示例
- name: |-
Add user to server and assign full access control on / vhost.
The user might have permission rules for other vhost but you don't care.
community.rabbitmq.rabbitmq_user:
user: joe
password: changeme
vhost: /
configure_priv: .*
read_priv: .*
write_priv: .*
state: present
- name: |-
Add user to server and assign full access control on / vhost.
The user doesn't have permission rules for other vhosts
community.rabbitmq.rabbitmq_user:
user: joe
password: changeme
permissions:
- vhost: /
configure_priv: .*
read_priv: .*
write_priv: .*
state: present
- name: |-
Add user to server and assign some topic permissions on / vhost.
The user doesn't have topic permission rules for other vhosts
community.rabbitmq.rabbitmq_user:
user: joe
password: changeme
topic_permissions:
- vhost: /
exchange: amq.topic
read_priv: .*
write_priv: 'prod\\.logging\\..*'
state: present
- name: |-
Add or Update a user using the API
community.rabbitmq.rabbitmq_user:
user: joe
password: changeme
tags: monitoring
login_protocol: https
login_host: localhost
login_port: 15672
login_user: admin
login_password: changeadmin
permissions:
- vhost: /
configure_priv: .*
read_priv: .*
write_priv: .*
topic_permissions:
- vhost: /
exchange: amq.topic
read_priv: .*
write_priv: 'prod\\.logging\\..*'
state: present
- name: |-
Remove a user using the API
community.rabbitmq.rabbitmq_user:
user: joe
password: changeme
tags: monitoring
login_protocol: https
login_host: localhost
login_port: 15672
login_user: admin
login_password: changeadmin
state: absent