Spec-Zone.ru › Ansible

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

Укажите, какой бэкэнд использовать.

По умолчанию используется pass, оригинальная утилита pass от passwordstore.org.

Поддержка gopass неполная.

Варианты:

  • "pass" ← (по умолчанию)
  • "gopass"

Конфигурация:

  • Запись INI:

    [passwordstore_lookup]
    backend = pass
    
  • Переменная: passwordstore_backend

backup

boolean

Используется с overwrite=true. Создайте резервную копию предыдущего пароля или подключаемого ключа в подключаемом ключе.

Варианты:

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

create

boolean

Создайте пароль или подключаемый ключ, если он еще не существует. Имеет приоритет над missing.

Варианты:

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

directory

path

Каталог хранилища паролей.

Если backend=pass, используется значение по умолчанию ~/.password-store.

Если backend=gopass, то значением по умолчанию является поле path в ~/.config/gopass/config.yml, возвращаясь к ~/.local/share/gopass/stores/root, если path не определено в конфигурации gopass.

Конфигурация:

  • Переменная окружения: PASSWORD_STORE_DIR
  • Переменная: passwordstore

length

integer

Длина сгенерированного пароля.

По умолчанию: 16

lock

string

добавлено в community.general 4.5.0

Как синхронизировать операции.

Значение по умолчанию write синхронизирует только операции записи.

readwrite синхронизирует все операции (включая чтение). Это гарантирует, что gpg-agent никогда не вызывается параллельно.

none не выполняет синхронизацию.

Варианты:

  • "readwrite"
  • "write" ← (по умолчанию)
  • "none"

Конфигурация:

  • Запись INI:

    [passwordstore_lookup]
    lock = write
    

locktimeout

string

добавлено в community.general 4.5.0

Тайм-аут блокировки применяется, когда lock не none.

Время с суффиксом единицы измерения, s, m, h для секунд, минут и часов соответственно. Например, 900s равно 15m.

Связано с pinentry-timeout в ~/.gnupg/gpg-agent.conf, см. man gpg-agent для получения подробной информации.

По умолчанию: "15m"

Конфигурация:

  • Запись INI:

    [passwordstore_lookup]
    locktimeout = 15m
    

missing

string

добавлено в community.general 3.1.0

Список предпочтений о том, что делать, если файл пароля отсутствует.

Если create=true, значение для этого параметра игнорируется и считается равным create.

Если установлено значение error, поиск выдаст ошибку, если имя pass не существует.

Если установлено значение create, имя pass будет создано с указанной длиной length, если оно не существует.

Если установлено значение empty или warn, вернет none, если имя pass не существует. При использовании lookup и не query, это будет преобразовано в пустую строку.

Варианты:

  • "error" ← (по умолчанию)
  • "warn"
  • "empty"
  • "create"

missing_subkey

string

добавлено в community.general 8.6.0

Предпочтение о том, что делать, если подключаемый ключ пароля отсутствует.

Если установлено значение error, поиск выдаст ошибку, если подключаемый ключ не существует.

Если установлено значение empty или warn, вернет none, если подключаемый ключ не существует.

Варианты:

  • "error"
  • "warn"
  • "empty" ← (по умолчанию)

Конфигурация:

  • Запись INI:

    [passwordstore_lookup]
    missing_subkey = empty
    

nosymbols

boolean

Использовать буквенно-цифровые символы.

Варианты:

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

overwrite

boolean

Перезаписать пароль или подключаемый ключ, если он уже существует.

Варианты:

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

preserve

boolean

добавлено в community.general 8.1.0

Включить старый (отредактированный) пароль в файл pass.

Варианты:

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

returnall

boolean

Возвращает всё содержимое пароля, а не только первую строку.

Варианты:

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

subkey

string

По умолчанию возвращает определённый подключаемый ключ пароля. Если установлено значение password, всегда возвращает первую строку.

При значении overwrite=true, создаётся подключаемый ключ и возвращается.

По умолчанию: "password"

timestamp

boolean

добавлен в community.general 8.1.0

Добавляет информацию о генерации пароля в конец файла.

Варианты:

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

umask

string

добавлен в community.general 1.3.0

Устанавливает umask для создаваемых файлов .gpg. Первая октета должна быть больше 3 (для читабельности пользователем).

Примечание: значение по умолчанию pass — '077'.

Настройка:

  • Переменная окружения: PASSWORD_STORE_UMASK

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

Spec-Zone.ru

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