community.mongodb.mongodb_role 模块 – 从 MongoDB 数据库添加或删除角色
注意
此模块是 community.mongodb 集合(版本 1.7.8)的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.mongodb
。您需要进一步的要求才能使用此模块,请参阅 要求 获取详细信息。
要在 playbook 中使用它,请指定:community.mongodb.mongodb_role
。
community.mongodb 1.5.0 中的新功能
概要
从 MongoDB 数据库添加或删除角色。
有关 privileges、authenticationRestriction 或 roles 参数的所需格式的更多信息,请参阅 MongoDB 文档 https://mongodb.ac.cn/docs/manual/reference/command/createRole/
要求
在执行此模块的主机上需要以下要求。
pymongo
参数
参数 |
注释 |
---|---|
用于 MongoDB Atlas 实例的身份验证路径 选项
|
|
身份验证类型。 选项
|
|
服务器对角色强制执行的身份验证限制。指定允许授予此角色的用户连接到和/或可以从中连接的 IP 地址和 CIDR 范围列表。提供带有以下字段的字典列表:clientSource(列表),serverAddress(列表)。如果您不想使用该字段,请提供一个空列表。 默认值: |
|
其他连接选项。 以字典或字符串列表的形式提供,其中包含用“=”分隔的键值对。 |
|
要从中添加/删除角色的数据库的名称。 |
|
启用额外的调试输出。 选项
|
|
存储登录凭据的数据库。 默认值: |
|
要登录的运行 MongoDB 实例的主机。 默认值: |
|
用于身份验证的密码。 当指定 login_user 时是必需的。 |
|
要登录的 MongoDB 服务器端口。 默认值: |
|
用于登录的 MongoDB 用户。 当指定 login_password 时是必需的。 |
|
要添加或删除的角色的名称。 |
|
要授予角色的权限。权限由资源和允许的操作组成。 默认值: |
|
要连接的副本集(自动连接到主节点进行写入)。 |
|
数据库用户角色应以字典的形式提供,其中包含 db 和 role 键。 默认值: |
|
连接到数据库时是否使用 SSL 连接。 选项
|
|
ssl_ca_certs 选项采用 CA 文件的路径。 |
|
指定是否需要连接另一端的证书,以及如果提供了证书是否需要验证。 选项
|
|
使用 ssl_certfile 选项提供客户端证书。 |
|
ssl_crlfile 选项接受一个 CRL 文件的路径。 |
|
客户端证书的私钥。 |
|
解密加密的私钥的密码。 |
|
数据库用户的状态。 选项
|
|
强制执行 pymongo 和 MongoDB 软件版本的严格要求。 选项
|
备注
注意
远程主机上需要 pymongo Python 包,版本 4+。可以使用 pip 或 OS 包管理器安装。较新的 mongo 服务器版本需要较新的 pymongo 版本。请参阅 https://mongodb.ac.cn/docs/languages/python/pymongo-driver/current/compatibility/
示例
- name: Create sales role
community.mongodb.mongodb_role:
name: sales
database: salesdb
privileges:
- resource:
db: salesdb
collection: ""
actions:
- find
state: present
- name: Create ClusterAdmin Role
community.mongodb.mongodb_role:
name: myClusterwideAdmin
database: admin
privileges:
- resource:
cluster: true
actions:
- addShard
- resource:
db: config
collection: ""
actions:
- find
- update
- insert
- remove
- resource:
db: "users"
collection: "usersCollection"
actions:
- update
- insert
- remove
- resource:
db: ""
collection: ""
actions:
- find
roles:
- role: "read"
db: "admin"
state: present
- name: Create ClusterAdmin Role with a login only from 127.0.0.1 restriction
community.mongodb.mongodb_role:
name: myClusterwideAdmin
database: admin
privileges:
- resource:
cluster: true
actions:
- addShard
- resource:
db: config
collection: ""
actions:
- find
- update
- insert
- resource:
db: "users"
collection: "usersCollection"
actions:
- update
- insert
- remove
- resource:
db: ""
collection: ""
actions:
- find
roles:
- role: "read"
db: "admin"
- role: "read"
db: "mynewdb"
authenticationRestrictions:
- clientSource:
- "127.0.0.1"
serverAddress: []
state: present
- name: Delete sales role
community.mongodb.mongodb_role:
name: sales
database: "salesdb"
state: absent
- name: Delete myClusterwideAdmin role
community.mongodb.mongodb_role:
name: myClusterwideAdmin
database: admin
state: absent
返回值
通用返回值记录在这里,以下是此模块独有的字段
键 |
描述 |
---|---|
要添加或删除的角色的名称。 返回: 成功 |