community.mongodb.mongodb_user – Добавляет или удаляет пользователя из базы данных MongoDB
Примечание
Этот плагин входит в коллекцию community.mongodb (версия 1.2.0).
Для его установки используйте: ansible-galaxy collection install community.mongodb.
Для использования в книге задач укажите: community.mongodb.mongodb_user.
Новый в версии 1.0.0: of community.mongodb
Обзор
- Добавляет или удаляет пользователя из базы данных MongoDB.
Требования
Ниже приведены требования, необходимые на хосте, на котором выполняется этот модуль.
- pymongo
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| auth_mechanism строка |
| Тип аутентификации. |
| connection_options список / элементы=сырые | Дополнительные параметры подключения. Указывать в виде списка словарей или строк, содержащих пары ключ-значение, разделенные знаком «=». | |
| create_for_localhost_exception путь | Этот параметр полезен только для обработки специального случая исключения localhost. Если login_user определён, исключение localhost не активен и этот параметр не имеет эффекта.Если этот файл НЕ существует (и login_user не определён), то создайте этот файл после успешного добавления пользователя.Если этот файл существует (и login_user не определён), то пропустите эту задачу. | |
| database строка / обязательно | Имя базы данных, к которой добавляется/удаляется пользователь. псевдонимы: db | |
| login_database строка | Значение по умолчанию: "admin" | База данных, в которой хранятся учетные данные для входа. |
| login_host строка | Значение по умолчанию: "localhost" | Хост, на котором запущен экземпляр MongoDB для входа. |
| login_password строка | Пароль для аутентификации. Обязательно при указании login_user. | |
| login_port целое число | Значение по умолчанию: 27017 | Порт сервера MongoDB для входа. |
| login_user строка | Пользователь MongoDB для входа. Обязательно при указании login_password. | |
| name строка / обязательно | Имя пользователя для добавления или удаления. псевдонимы: user | |
| password строка | Пароль для пользователя. псевдонимы: pass | |
| replica_set строка | Реплицируемый набор для подключения (автоматически подключается к первичному для записи). | |
| roles список / элементы=сырые | Роли пользователя базы данных. Допустимые значения могут быть одной или несколькими из следующих строк: 'read', 'readWrite', 'dbAdmin', 'userAdmin', 'clusterAdmin', 'readAnyDatabase', 'readWriteAnyDatabase', 'userAdminAnyDatabase', 'dbAdminAnyDatabase' Или следующий словарь '{ db: DATABASE_NAME, role: ROLE_NAME }'. Этот параметр требует pymongo 2.5+. Если это строка, требуется mongodb 2.4+. Если это словарь, требуется mongo 2.6+. | |
| ssl булево |
| Использовать ли SSL-соединение при подключении к базе данных. |
| ssl_ca_certs строка | Параметр ssl_ca_certs принимает путь к файлу CA. | |
| ssl_cert_reqs строка |
| Указывает, требуется ли сертификат с другой стороны подключения и будет ли он валидирован, если предоставлен. |
| ssl_certfile строка | Предоставить сертификат клиента с помощью параметра ssl_certfile. | |
| ssl_crlfile строка | Параметр ssl_crlfile принимает путь к файлу CRL. | |
| ssl_keyfile строка | Приватный ключ для сертификата клиента. | |
| ssl_pem_passphrase строка | Пароль для расшифровки зашифрованных приватных ключей. | |
| state строка |
| Состояние пользователя базы данных. |
| update_password строка |
| always всегда будет обновлять пароли и заставит модуль вернуть изменения.on_create будет устанавливать пароль только для вновь созданных пользователей.Это должно быть always для использования исключения localhost при добавлении первого администратора. |
Примечания
Примечание
- Требуется пакет pymongo Python на удалённом хосте, версия 2.4.2+. Его можно установить с помощью pip или менеджера пакетов ОС. Более новые версии серверов mongo требуют более новые версии pymongo. @см http://api.mongodb.org/python/current/installation.html
Примеры
- name: Create 'burgers' database user with name 'bob' and password '12345'.
community.mongodb.mongodb_user:
database: burgers
name: bob
password: 12345
state: present
- name: Create a database user via SSL (MongoDB must be compiled with the SSL option and configured properly)
community.mongodb.mongodb_user:
database: burgers
name: bob
password: 12345
state: present
ssl: True
- name: Delete 'burgers' database user with name 'bob'.
community.mongodb.mongodb_user:
database: burgers
name: bob
state: absent
- name: Define more users with various specific roles (if not defined, no roles is assigned, and the user will be added via pre mongo 2.2 style)
community.mongodb.mongodb_user:
database: burgers
name: ben
password: 12345
roles: read
state: present
- name: Define roles
community.mongodb.mongodb_user:
database: burgers
name: jim
password: 12345
roles: readWrite,dbAdmin,userAdmin
state: present
- name: Define roles
community.mongodb.mongodb_user:
database: burgers
name: joe
password: 12345
roles: readWriteAnyDatabase
state: present
- name: Add a user to database in a replica set, the primary server is automatically discovered and written to
community.mongodb.mongodb_user:
database: burgers
name: bob
replica_set: belcher
password: 12345
roles: readWriteAnyDatabase
state: present
# add a user 'oplog_reader' with read only access to the 'local' database on the replica_set 'belcher'. This is useful for oplog access (MONGO_OPLOG_URL).
# please notice the credentials must be added to the 'admin' database because the 'local' database is not synchronized and can't receive user credentials
# To login with such user, the connection string should be MONGO_OPLOG_URL="mongodb://oplog_reader:oplog_reader_password@server1,server2/local?authSource=admin"
# This syntax requires mongodb 2.6+ and pymongo 2.5+
- name: Roles as a dictionary
community.mongodb.mongodb_user:
login_user: root
login_password: root_password
database: admin
user: oplog_reader
password: oplog_reader_password
state: present
replica_set: belcher
roles:
- db: local
role: read
- name: Adding a user with X.509 Member Authentication
community.mongodb.mongodb_user:
login_host: "mongodb-host.test"
login_port: 27001
login_database: "$external"
database: "admin"
name: "admin"
password: "test"
roles:
- dbAdminAnyDatabase
ssl: true
ssl_ca_certs: "/tmp/ca.crt"
ssl_certfile: "/tmp/tls.key" #cert and key in one file
state: present
auth_mechanism: "MONGODB-X509"
connection_options:
- "tlsAllowInvalidHostnames=true"
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| user строка | успех | Имя пользователя для добавления или удаления. |
Авторы
- Elliott Foster (@elliotttf)
- Julien Thebault (@Lujeni)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/mongodb/mongodb_user_module.html