Модуль community.mongodb.mongodb_user – добавляет или удаляет пользователя из базы данных MongoDB
Примечание
Этот модуль является частью коллекции community.mongodb (версия 1.7.12).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.mongodb. Для использования этого модуля требуются дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: community.mongodb.mongodb_user.
Добавлено в community.mongodb 1.0.0
Краткое описание
- Добавляет или удаляет пользователя из базы данных MongoDB.
Требования
На узле, выполняющем этот модуль, должны быть установлены следующие компоненты.
- pymongo
Параметры
Параметр | Комментарии |
|---|---|
atlas_auth boolean | Путь аутентификации для экземпляров MongoDB Atlas Варианты:
|
auth_mechanism string | Тип аутентификации. Варианты:
|
connection_options list / elements=any | Дополнительные параметры подключения. Передайте список словарей или строк с парами ключ-значение, разделёнными символом «=». |
create_for_localhost_exception path | Этот параметр предназначен только для обработки особых случаев, связанных с исключением localhost. Если задан Если этот файл отсутствует (и Если этот файл существует (и |
database псевдонимы: db string / обязательный | Имя базы данных, в которой нужно добавить или удалить пользователя. |
login_database string | База данных, в которой хранятся учётные данные для входа. По умолчанию: |
login_host string | Хост, на котором запущен экземпляр MongoDB для входа в систему. По умолчанию: |
login_password string | Пароль для аутентификации. Обязателен, если указан login_user. |
login_port integer | Порт сервера MongoDB для входа в систему. По умолчанию: |
login_user string | Пользователь MongoDB для входа в систему. Обязателен, если указан login_password. |
name псевдонимы: user string / обязательный | Имя пользователя, которого нужно добавить или удалить. |
password псевдонимы: pass string | Пароль для пользователя. |
replica_set string | Набор реплик для подключения (для операций записи подключение автоматически выполняется к первичному узлу). Оставьте пустым, если требуется исключение localhost, например для создания первого пользователя. |
roles list / elements=any | Допустимые роли пользователя базы данных: одна или несколько из следующих строк: ‘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 псевдонимы: tls boolean | Использовать ли SSL-подключение при подключении к базе данных. Варианты:
|
ssl_ca_certs псевдонимы: tlsCAFile string | Параметр ssl_ca_certs задаёт путь к файлу центра сертификации. |
ssl_cert_reqs псевдонимы: tlsAllowInvalidCertificates string | Указывает, требуется ли сертификат от другой стороны подключения и нужно ли проверять его, если он предоставлен. Варианты:
|
ssl_certfile псевдонимы: tlsCertificateKeyFile string | Предоставляет сертификат клиента с помощью параметра ssl_certfile. |
ssl_crlfile string | Параметр ssl_crlfile задаёт путь к файлу списка отзыва сертификатов (CRL). |
ssl_keyfile string | Закрытый ключ сертификата клиента. |
ssl_pem_passphrase псевдонимы: tlsCertificateKeyFilePassword string | Парольная фраза для расшифровки зашифрованных закрытых ключей. |
state string | Состояние пользователя базы данных. Варианты:
|
strict_compatibility boolean | Требовать строгого соответствия версиям pymongo и MongoDB Варианты:
|
update_password string |
Для использования исключения localhost при добавлении первого администратора значение должно быть Этот параметр фактически игнорируется при использовании сертификатов x.509. По умолчанию устанавливается значение ‘on_create’, чтобы сохранить определённое поведение модуля, когда login_database имеет значение ‘$external’. Варианты:
|
Примечания
Примечание
- На удалённом узле требуется пакет Python pymongo версии 4 или новее. Его можно установить с помощью pip или менеджера пакетов ОС. Для более новых версий сервера MongoDB требуются более новые версии pymongo. См. https://www.mongodb.com/docs/languages/python/pymongo-driver/current/compatibility/
Примеры
- 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 string | Имя пользователя, которого нужно добавить или удалить. Возвращается: при успешном выполнении |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/mongodb/mongodb_user_module.html