community.general.passwordstore lookup – управление паролями с помощью утилиты pass от passwordstore.org
Примечание
Этот плагин поиска является частью коллекции community.general (версия 9.5.0).
У вас, возможно, уже установлена эта коллекция, если вы используете пакет 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 string добавлено в community.general 5.2.0 | Укажите, какой бэкэнд использовать. По умолчанию используется Поддержка Варианты:
Конфигурация:
|
backup boolean | Используется с Варианты:
|
create boolean | Создайте пароль или подключаемый ключ, если он еще не существует. Имеет приоритет над Варианты:
|
directory path | Каталог хранилища паролей. Если Если Конфигурация:
|
length integer | Длина сгенерированного пароля. По умолчанию: |
lock string добавлено в community.general 4.5.0 | Как синхронизировать операции. Значение по умолчанию
Варианты:
Конфигурация:
|
locktimeout string добавлено в community.general 4.5.0 | Тайм-аут блокировки применяется, когда Время с суффиксом единицы измерения, Связано с По умолчанию: Конфигурация:
|
missing string добавлено в community.general 3.1.0 | Список предпочтений о том, что делать, если файл пароля отсутствует. Если Если установлено значение Если установлено значение Если установлено значение Варианты:
|
missing_subkey string добавлено в community.general 8.6.0 | Предпочтение о том, что делать, если подключаемый ключ пароля отсутствует. Если установлено значение Если установлено значение Варианты:
Конфигурация:
|
nosymbols boolean | Использовать буквенно-цифровые символы. Варианты:
|
overwrite boolean | Перезаписать пароль или подключаемый ключ, если он уже существует. Варианты:
|
preserve boolean добавлено в community.general 8.1.0 | Включить старый (отредактированный) пароль в файл pass. Варианты:
|
returnall boolean | Возвращает всё содержимое пароля, а не только первую строку. Варианты:
|
subkey string | По умолчанию возвращает определённый подключаемый ключ пароля. Если установлено значение При значении По умолчанию: |
timestamp boolean добавлен в community.general 8.1.0 | Добавляет информацию о генерации пароля в конец файла. Варианты:
|
umask string добавлен в community.general 1.3.0 | Устанавливает umask для создаваемых файлов Примечание: значение по умолчанию pass — Настройка:
|
userpass string | Указывает пароль для сохранения вместо сгенерированного. |
Примечания
Примечание
- При совместном использовании ключевых и позиционных параметров позиционные параметры должны указываться до ключевых:
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–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/passwordstore_lookup.html