Включение аутентификации Монго с помощью ANSIBLE PlayBook - PullRequest
0 голосов
/ 12 июня 2018

Я пытаюсь установить mongodb на моем сервере и включить аутентификацию.Но я застрял на добавлении пользователя для аутентификации.Когда я пытаюсь выполнить playbook, происходит сбой при добавлении задачи пользователя с выводом:

При выполнении задачи возникла исключительная ситуация.Чтобы увидеть полную трассировку, используйте -vvv.Ошибка была: pymongo.errors.OperationFailure: нет аутентифицированных пользователей: fatal: [***]: FAILED!=> {"change": false, "msg": "невозможно подключиться к базе данных: нет аутентифицированных пользователей"}

Как это исправить?

playbook.yml

- name: Install mongodb
  apt:
    name: mongodb-org
    update_cache: yes
    state: present

- name: Set config
  template:
    src: templates/mongodb.yml
    dest: /etc/mongod.conf
  notify: restart mongodb

- name: Install pymongo
  pip:
    name: pymongo
    state: present

- name: Add user
  mongodb_user:
    database: "{{ mongodb_name }}"
    name: "{{ mongodb_user }}"
    password: "{{ mongodb_password }}"
    login_host: "{{ mongodb_bind_ip }}"
    login_port: "{{ mongodb_port }}"
    state: present

mongodb.yml

net:
  port: {{ mongodb_port }}
  bindIp: {{ mongodb_bind_ip }}
  unixDomainSocket:
   enabled: false
security:
  authorization: enabled

1 Ответ

0 голосов
/ 12 июня 2018

Если у вас нет администратора в базе данных, вам нужно запустить его с отключенным security.authorization, добавить пользователя с правами администратора, затем перезапустить mongodb с включенным security.authorization: https://docs.mongodb.com/manual/tutorial/enable-authentication/#procedure

После этого выможно добавить больше пользователей, используя учетные данные администратора:

- name: Add user
  mongodb_user:
    database: "{{ mongodb_name }}"
    name: "{{ mongodb_user }}"
    password: "{{ mongodb_password }}"
    login_host: "{{ mongodb_bind_ip }}"
    login_port: "{{ mongodb_port }}"
    login_user: "{{ admin_login }}"
    login_password: "{{ admin_password }}"
    state: present

https://docs.ansible.com/ansible/2.4/mongodb_user_module.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...