Spec-Zone.ru › Ansible

Модуль 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

Варианты:

  • false ← (default)
  • true

auth_mechanism

string

Тип аутентификации.

Варианты:

  • "SCRAM-SHA-256"
  • "SCRAM-SHA-1"
  • "MONGODB-X509"
  • "GSSAPI"
  • "PLAIN"

connection_options

list / elements=any

Дополнительные параметры подключения.

Укажите в виде списка словарей или строк, содержащих пары ключ-значение, разделенные знаком «=».

create_for_localhost_exception

path

Этот параметр полезен только для обработки специальной обработки исключения localhost.

Если login_user определен, то исключение localhost неактивно, и этот параметр не оказывает никакого влияния.

Если этот файл ОТСУТСТВУЕТ (и login_user не определен), то создайте этот файл после успешного добавления пользователя.

Если этот файл существует (и login_user не определен), то пропустите эту задачу.

database

aliases: db

string / required

Имя базы данных, в которую нужно добавить/удалить пользователя.

login_database

string

База данных, где хранятся учетные данные для входа.

По умолчанию: "admin"

login_host

string

Хост, на котором запущен экземпляр MongoDB для входа.

По умолчанию: "localhost"

login_password

string

Пароль, используемый для аутентификации.

Обязателен, если указан login_user.

login_port

integer

Порт сервера MongoDB для входа.

По умолчанию: 27017

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-подключение при подключении к базе данных.

Варианты:

  • false ← (default)
  • true

ssl_ca_certs

aliases: tlsCAFile

string

Параметр ssl_ca_certs принимает путь к файлу CA.

ssl_cert_reqs

aliases: tlsAllowInvalidCertificates

string

Указывает, требуется ли сертификат от другой стороны соединения и будет ли он проверен, если предоставлен.

Варианты:

  • "CERT_NONE"
  • "CERT_OPTIONAL"
  • "CERT_REQUIRED" ← (default)

ssl_certfile

aliases: tlsCertificateKeyFile

string

Представить клиентский сертификат, используя параметр ssl_certfile.

ssl_crlfile

string

Путь к файлу CRL.

ssl_keyfile

string

Приватный ключ для сертификата клиента.

ssl_pem_passphrase

aliases: tlsCertificateKeyFilePassword

string

Фраза доступа для расшифровки зашифрованных закрытых ключей.

state

string

Состояние пользователя базы данных.

Варианты:

  • "absent"
  • "present" ← (по умолчанию)

strict_compatibility

boolean

Принудительное соблюдение строгих требований к версиям программного обеспечения pymongo и MongoDB.

Варианты:

  • false
  • true ← (по умолчанию)

update_password

string

always всегда будет обновлять пароли и заставит модуль вернуть изменённые данные.

on_create будет устанавливать пароль только для вновь созданных пользователей.

Это должно быть always для использования исключения localhost при добавлении первого администратора.

Этот параметр фактически игнорируется при использовании сертификатов x.509. Он по умолчанию устанавливается в ‘on_create’ для сохранения определённого поведения модуля, когда login_database равно ‘$external’.

Варианты:

  • "always" ← (по умолчанию)
  • "on_create"

Примечания

Примечание

  • Требуется пакет 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

Авторы

  • Elliott Foster (@elliotttf)
  • Julien Thebault (@Lujeni)

Ссылки на коллекции

  • Система отслеживания ошибок
  • Репозиторий (источники)

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API