Spec-Zone.ru › Ansible

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

Варианты:

  • false ← (по умолчанию)
  • 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

псевдонимы: db

string / обязательный

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

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

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

Варианты:

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

ssl_ca_certs

псевдонимы: tlsCAFile

string

Параметр ssl_ca_certs задаёт путь к файлу центра сертификации.

ssl_cert_reqs

псевдонимы: tlsAllowInvalidCertificates

string

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

Варианты:

  • "CERT_NONE"
  • "CERT_OPTIONAL"
  • "CERT_REQUIRED" ← (по умолчанию)

ssl_certfile

псевдонимы: tlsCertificateKeyFile

string

Предоставляет сертификат клиента с помощью параметра ssl_certfile.

ssl_crlfile

string

Параметр ssl_crlfile задаёт путь к файлу списка отзыва сертификатов (CRL).

ssl_keyfile

string

Закрытый ключ сертификата клиента.

ssl_pem_passphrase

псевдонимы: tlsCertificateKeyFilePassword

string

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

state

string

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

Варианты:

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

strict_compatibility

boolean

Требовать строгого соответствия версиям pymongo и MongoDB

Варианты:

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

update_password

string

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

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

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

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

Варианты:

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

Примечания

Примечание

  • На удалённом узле требуется пакет 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

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

Возвращается: при успешном выполнении

Авторы

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

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

  • Отслеживание ошибок
  • Репозиторий (исходный код)

© 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

Spec-Zone.ru

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