Поиск community.general.passwordstore — управление паролями с помощью утилиты pass от passwordstore.org
Примечание
Этот плагин поиска входит в коллекцию community.general (версия 12.6.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install community.general.
Чтобы использовать её в плейбуке, укажите: community.general.passwordstore.
Краткое описание
- Позволяет Ansible получать, создавать или обновлять пароли с помощью утилиты pass от passwordstore.org. Также позволяет получать, создавать или обновлять ключи в формате YAML, хранящиеся в файле паролей в виде нескольких строк.
- Чтобы избежать проблем при одновременном доступе к нескольким секретам, добавьте
auto-expand-secmemв~/.gnupg/gpg-agent.conf. Если это невозможно, рассмотрите возможность использования вместо этогоlock=readwrite.
Термины
Параметр | Комментарии |
|---|---|
Термины строка / обязательный | Ключ запроса. |
Параметры-ключевые слова
Здесь описаны параметры-ключевые слова поиска. В следующих примерах это значения key1=value1, key2=value2 и так далее: lookup('community.general.passwordstore', key1=value1, key2=value2, ...) и query('community.general.passwordstore', key1=value1, key2=value2, ...)
Параметр | Комментарии |
|---|---|
backend строка добавлено в community.general 5.2.0 | Укажите используемую серверную часть. По умолчанию используется Поддержка Варианты:
Конфигурация:
|
backup логическое значение | Используется вместе с Варианты:
|
create логическое значение | Создать пароль или вложенный ключ, если он ещё не существует. Имеет приоритет над Варианты:
|
directory путь | Каталог хранилища паролей. Если Если Конфигурация:
|
length целое число | Длина генерируемого пароля. По умолчанию: |
lock строка добавлено в community.general 4.5.0 | Способ синхронизации операций. Значение по умолчанию Значение Значение Варианты:
Конфигурация:
|
locktimeout строка добавлено в community.general 4.5.0 | Тайм-аут блокировки, применяемый, когда Время с суффиксом единицы измерения: Соответствует По умолчанию: Конфигурация:
|
missing строка добавлено в community.general 3.1.0 | Список предпочтительных действий в случае отсутствия файла пароля. Если Если задано значение Если задано значение Если задано значение Варианты:
|
missing_subkey строка добавлено в community.general 8.6.0 | Предпочтительное действие в случае отсутствия вложенного ключа пароля. Если задано значение Если задано значение Варианты:
Конфигурация:
|
nosymbols логическое значение | Использовать буквенно-цифровые символы. Варианты:
|
overwrite логическое значение | Перезаписать пароль или вложенный ключ, если он уже существует. Варианты:
|
preserve логическое значение добавлено в community.general 8.1.0 | Добавить старый (изменённый) пароль в файл pass. Варианты:
|
returnall логическое значение | Возвращать всё содержимое пароля, а не только первую строку. Варианты:
|
subkey строка | По умолчанию возвращает указанный вложенный ключ пароля. Если задано значение При использовании По умолчанию: |
timestamp логическое значение добавлено в community.general 8.1.0 | Добавить сведения о генерации пароля в конец файла. Варианты:
|
umask строка добавлено в community.general 1.3.0 | Задаёт umask для создаваемых файлов Обратите внимание: значение по умолчанию для pass — Конфигурация:
|
userpass строка | Укажите пароль для сохранения вместо сгенерированного. |
Примечание
Записи конфигурации, перечисленные выше для каждого типа (переменная Ansible, переменная окружения и т. д.), расположены в порядке приоритета от низшего к высшему. Например, переменная, расположенная ниже в списке, переопределит переменную, расположенную выше. Типы записей также упорядочены по приоритету от низшего к высшему. Например, запись ansible.cfg (расположенная выше в списке) переопределяется переменной Ansible (расположенной ниже в списке).
Примечания
Примечание
- При совместном использовании параметров позиционных и параметров-ключевых слов позиционные параметры должны указываться перед параметрами-ключевыми словами:
lookup('community.general.passwordstore', term1, term2, key1=value1, key2=value2)иquery('community.general.passwordstore', term1, term2, key1=value1, key2=value2) - Начиная с community.general 6.0.0, поиск поддерживает передачу всех параметров в качестве параметров поиска.
Примеры
ansible.cfg: |
[passwordstore_lookup]
lock=readwrite
locktimeout=45s
missing_subkey=warn
tasks.yml: |-
---
# Debug is used for examples, BAD IDEA to show passwords on screen
- name: Basic lookup. Fails if example/test does not exist
ansible.builtin.debug:
msg: "{{ lookup('community.general.passwordstore', 'example/test')}}"
- name: Basic lookup. Warns if example/test does not exist and returns empty string
ansible.builtin.debug:
msg: "{{ lookup('community.general.passwordstore', 'example/test', missing='warn')}}"
- name: Create pass with random 16 character password. If password exists just give the password
ansible.builtin.debug:
var: mypassword
vars:
mypassword: "{{ lookup('community.general.passwordstore', 'example/test', create=true)}}"
- name: Create pass with random 16 character password. If password exists just give the password
ansible.builtin.debug:
var: mypassword
vars:
mypassword: "{{ lookup('community.general.passwordstore', 'example/test', missing='create')}}"
- name: >-
Create a random 16 character password in a subkey. If the password file already exists, just add the subkey in it.
If the subkey exists, returns it
ansible.builtin.debug:
msg: "{{ lookup('community.general.passwordstore', 'example/test', create=true, subkey='foo') }}"
- name: >-
Create a random 16 character password in a subkey. Overwrite if it already exists and backup the old one.
ansible.builtin.debug:
msg: "{{ lookup('community.general.passwordstore', 'example/test', create=true, subkey='user', overwrite=true, backup=true) }}"
- name: Prints 'abc' if example/test does not exist, just give the password otherwise
ansible.builtin.debug:
var: mypassword
vars:
mypassword: >-
{{ lookup('community.general.passwordstore', 'example/test', missing='empty')
| default('abc', true) }}
- name: Different size password
ansible.builtin.debug:
msg: "{{ lookup('community.general.passwordstore', 'example/test', create=true, length=42)}}"
- name: >-
Create password and overwrite the password if it exists.
As a bonus, this module includes the old password inside the pass file
ansible.builtin.debug:
msg: "{{ lookup('community.general.passwordstore', 'example/test', create=true, overwrite=true)}}"
- name: Create an alphanumeric password
ansible.builtin.debug:
msg: "{{ lookup('community.general.passwordstore', 'example/test', create=true, nosymbols=true) }}"
- name: Return the value for user in the KV pair user, username
ansible.builtin.debug:
msg: "{{ lookup('community.general.passwordstore', 'example/test', subkey='user')}}"
- name: Return the entire password file content
ansible.builtin.set_fact:
passfilecontent: "{{ lookup('community.general.passwordstore', 'example/test', returnall=true)}}"
Возвращаемое значение
Ключ | Описание |
|---|---|
Возвращаемое значение список / элементы=строка | Пароль. Возвращается: при успешном выполнении |
Ссылки на коллекцию
© 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/general/passwordstore_lookup.html