Модуль community.mongodb.mongodb_user – Добавляет или удаляет пользователя из базы данных MongoDB
Примечание
Этот модуль является частью коллекции community.mongodb (версия 1.7.7).
Возможно, эта коллекция уже установлена, если вы используете пакет 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 aliases: db string / required | Имя базы данных, в которую нужно добавить/удалить пользователя. |
login_database string | База данных, где хранятся учетные данные для входа. По умолчанию: |
login_host string | Хост, на котором запущен экземпляр MongoDB для входа. По умолчанию: |
login_password string | Пароль, используемый для аутентификации. Обязателен, если указан login_user. |
login_port integer | Порт сервера MongoDB для входа. По умолчанию: |
login_user string | Пользователь MongoDB, под которым нужно войти. Обязателен, если указан login_password. |
name aliases: user string / required | Имя пользователя, которого нужно добавить или удалить. |
password aliases: pass string | Пароль для пользователя. |
replica_set string | Репликационный набор для подключения (автоматически подключается к основному для записи). |
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 aliases: tls boolean | Использовать ли SSL-подключение при подключении к базе данных. Варианты:
|
ssl_ca_certs aliases: tlsCAFile string | Параметр ssl_ca_certs принимает путь к файлу CA. |
ssl_cert_reqs aliases: tlsAllowInvalidCertificates string | Указывает, требуется ли сертификат от другой стороны соединения и будет ли он проверен, если предоставлен. Варианты:
|
ssl_certfile aliases: tlsCertificateKeyFile string | Представить клиентский сертификат, используя параметр ssl_certfile. |
ssl_crlfile string | Путь к файлу CRL. |
ssl_keyfile string | Приватный ключ для сертификата клиента. |
ssl_pem_passphrase aliases: tlsCertificateKeyFilePassword string | Фраза доступа для расшифровки зашифрованных закрытых ключей. |
state string | Состояние пользователя базы данных. Варианты:
|
strict_compatibility boolean | Принудительное соблюдение строгих требований к версиям программного обеспечения pymongo и MongoDB. Варианты:
|
update_password string |
Это должно быть Этот параметр фактически игнорируется при использовании сертификатов x.509. Он по умолчанию устанавливается в ‘on_create’ для сохранения определённого поведения модуля, когда login_database равно ‘$external’. Варианты:
|
Примечания
Примечание
- Требуется пакет pymongo Python на удалённом узле, версия 4+. Его можно установить с помощью pip или менеджера пакетов ОС. Более новые версии сервера mongo требуют более новые версии 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 | Имя пользователя для добавления или удаления. Возвращается: success |
Ссылки на коллекции
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/mongodb/mongodb_user_module.html