Spec-Zone.ru › Ansible 2.6

password - извлечение или генерация случайного пароля, хранящегося в файле

  • Краткое описание
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус
    • Автор

Краткое описание

  • Генерирует случайный текстовый пароль и сохраняет его в файл по заданному пути.
  • Если файл существует ранее, он извлечёт его содержимое, ведя себя так же, как и с _file.
  • Использование переменных, таких как "{{ inventory_hostname }}", в пути к файлу позволяет настраивать случайные пароли для каждого хоста, что упрощает управление паролями в "host_vars" переменных.
  • Особый случай — использование /dev/null в качестве пути. Поиск пароля будет каждый раз генерировать новый случайный пароль, но не будет записывать его в /dev/null. Это можно использовать, когда вам нужен пароль, не сохраняемый на контроллере.

Параметры

Параметр Варианты/Значения по умолчанию Настройка Комментарии
_terms
обязательно
путь к файлу, хранящему/будущему хранению паролей
chars
строка

(добавлено в 1.4)
Определите список через запятую имён, составляющих пользовательский набор символов в сгенерированных паролях.
По умолчанию сгенерированные пароли содержат случайную смесь заглавных и строчных букв ASCII, цифр от 0 до 9 и знаков препинания (". , : - _").
Они могут быть частями атрибутов модуля строк Python (ascii_letters, digits и т. д.) или использоваться буквально ( :, -).
Чтобы ввести запятую, используйте две запятые ',,' где-то — предпочтительно в конце. Кавычки и двойные кавычки не поддерживаются.
encrypt
логическое значение
Значение по умолчанию:
"да"
Определяет, требуется ли пользователю вернуть этот пароль зашифрованным или в виде простого текста.
Обратите внимание, что пароль всегда хранится в виде простого текста.
Шифрование также принудительно сохраняет значение соли для идемпотентности.
length
целое число
Значение по умолчанию:
20
Длина сгенерированного пароля.

Примечания

Примечание

  • Отличной альтернативой плагину поиска паролей, если вам не нужно генерировать случайные пароли на основе каждого хоста, будет использование Vault в playbooks. Прочитайте документацию там и рассмотрите использование сначала, это будет более желательно для большинства приложений.
  • Если файл уже существует, данные в него не будут записываться. Если файл содержит содержимое, это содержимое будет считано в качестве пароля. Пустые файлы приводят к возвращению пароля как пустой строки.
  • Как и все запросы, этот запрос выполняется на хосте Ansible от имени пользователя, выполняющего playbook, и «become» не применяется, целевой файл должен быть читаемым для пользователя playbook, или, если он не существует, пользователь playbook должен иметь достаточные привилегии для его создания. (Например, попытки записи в области, такие как /etc, потерпят неудачу, если весь playbook не запускается от имени root).

Примеры

- name: create a mysql user with a random password
  mysql_user:
    name: "{{ client }}"
    password: "{{ lookup('password', 'credentials/' + client + '/' + tier + '/' + role + '/mysqlpassword length=15') }}"
    priv: "{{ client }}_{{ tier }}_{{ role }}.*:ALL"

- name: create a mysql user with a random password using only ascii letters
  mysql_user: name={{ client }} password="{{ lookup('password', '/tmp/passwordfile chars=ascii_letters') }}" priv='{{ client }}_{{ tier }}_{{ role }}.*:ALL'

- name: create a mysql user with a random password using only digits
  mysql_user:
    name: "{{ client }}"
    password: "{{ lookup('password', '/tmp/passwordfile chars=digits') }}"
    priv: "{{ client }}_{{ tier }}_{{ role }}.*:ALL"

- name: create a mysql user with a random password using many different char sets
  mysql_user:
    name: "{{ client }}"
    password: "{{ lookup('password', '/tmp/passwordfile chars=ascii_letters,digits,hexdigits,punctuation') }}"
    priv: "{{ client }}_{{ tier }}_{{ role }}.*:ALL"

Возвращаемые значения

Общие возвращаемые значения документированы здесь, следующие являются полями, уникальными для этого поиска:

Ключ Возвращаемое значение Описание
_raw
пароль



Статус

Автор

  • Daniel Hokka Zakrisson <daniel@hozac.com>
  • Javier Candeira <javier@candeira.com>
  • Maykel Moya <mmoya@speedyrails.com>

Подсказка

Если вы заметите какие-либо проблемы в этой документации, вы можете изменить этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/plugins/lookup/password.html

Spec-Zone.ru

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