Spec-Zone.ru › Ansible 2.10

community.general.onepassword_info – Сбор элементов из 1Password

Примечание

Этот плагин входит в коллекцию community.general (версия 1.3.2).

Для его установки используйте: ansible-galaxy collection install community.general

Для использования в книге задач укажите: community.general.onepassword_info

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Обзор

  • community.general.onepassword_info оборачивает утилиту командной строки op, чтобы извлекать данные об одном или нескольких элементах 1Password.
  • Возникает ошибка, если какой-либо из искомых элементов не найден.
  • Рекомендуется использовать параметр no_log, чтобы не регистрировать значения секретов, которые извлекаются.
  • Этот модуль до Ansible 2.9 назывался onepassword_facts, возвращая ansible_facts. Обратите внимание, что модуль community.general.onepassword_info больше не возвращает ansible_facts! Теперь необходимо использовать параметр register, чтобы использовать факты в других задачах.

Требования

Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.

  • Утилита командной строки 1Password. См. https://support.1password.com/command-line/

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
auto_login
словарь
Значение по умолчанию:
{}
Словарь, содержащий данные для аутентификации. Если он задан, community.general.onepassword_info попытается автоматически войти в 1Password.
Без этого параметра вы должны быть уже авторизованы через 1Password CLI перед запуском Ansible.
Сильно рекомендуется хранить учетные данные 1Password в Ansible Vault. Убедитесь, что ключ, используемый для шифрования Ansible Vault, имеет силу, равную или большую, чем мастер-пароль 1Password.
master_password
строка / обязательно
Мастер-пароль для вашего домена.
Это всегда требуется при указании auto_login.
secret_key
строка
Секретный ключ для вашего домена.
Требуется только для первоначальной авторизации.
subdomain
строка
Имя домена 1Password (<домен>.1password.com).
Если не указано, будет использован последний домен.
username
строка
Имя пользователя 1Password.
Требуется только для первоначальной авторизации.
cli_path
путь
Значение по умолчанию:
"op"
Используется для указания точного пути к op интерфейсу командной строки.
search_terms
список / элементы=строка / обязательно
Список из одного или нескольких поисковых запросов.
Каждый поисковой запрос может быть простой строкой или словарем для большей гибкости.
При передаче простой строки, поле field предполагается password.
При передаче словаря, доступны следующие поля.
field
строка
Имя поля для поиска в этом элементе (необязательно, по умолчанию "password" (или "document", если у элемента есть вложение).
name
строка
Имя элемента 1Password для поиска (обязательно).
section
строка
Имя раздела внутри этого элемента, содержащего указанное поле (необязательно, будет искать во всех разделах, если не указано).
vault
строка
Имя конкретного хранилища 1Password для поиска, полезно, если у вашего пользователя 1Password есть доступ к нескольким хранилищам (необязательно).

Примечания

Примечание

  • Проверено с op версии 0.5.5
  • Основано на плагине поиска onepassword от Скотта Бучанана <sbuchanan@ri.pn>.
  • Когда этот модуль вызывается с устаревшим именем onepassword_facts , потенциально конфиденциальные данные из 1Password возвращаются как факты Ansible. Факты подлежат кэшированию, если включено, что означает, что эти данные могут храниться в открытом виде на диске или в базе данных.

Примеры

# Gather secrets from 1Password, assuming there is a 'password' field:
- name: Get a password
  community.general.onepassword_info:
    search_terms: My 1Password item
  delegate_to: localhost
  register: my_1password_item
  no_log: true         # Don't want to log the secrets to the console!

# Gather secrets from 1Password, with more advanced search terms:
- name: Get a password
  community.general.onepassword_info:
    search_terms:
      - name:    My 1Password item
        field:   Custom field name       # optional, defaults to 'password'
        section: Custom section name     # optional, defaults to 'None'
        vault:   Name of the vault       # optional, only necessary if there is more than 1 Vault available
  delegate_to: localhost
  register: my_1password_item
  no_log: True                           # Don't want to log the secrets to the console!

# Gather secrets combining simple and advanced search terms to retrieve two items, one of which we fetch two
# fields. In the first 'password' is fetched, as a field name is not specified (default behaviour) and in the
# second, 'Custom field name' is fetched, as that is specified explicitly.
- name: Get a password
  community.general.onepassword_info:
    search_terms:
      - My 1Password item                # 'name' is optional when passing a simple string...
      - name: My Other 1Password item    # ...but it can also be set for consistency
      - name:    My 1Password item
        field:   Custom field name       # optional, defaults to 'password'
        section: Custom section name     # optional, defaults to 'None'
        vault:   Name of the vault       # optional, only necessary if there is more than 1 Vault available
      - name: A 1Password item with document attachment
  delegate_to: localhost
  register: my_1password_item
  no_log: true                           # Don't want to log the secrets to the console!

- name: Debug a password (for example)
  ansible.builtin.debug:
    msg: "{{ my_1password_item['onepassword']['My 1Password item'] }}"

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

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

Ключ Возвращаемое значение Описание
onepassword
словарь
успех
Словарь каждого элемента 1Password, соответствующего заданным поисковым запросам, показывает, что будет возвращено из третьего примера выше.

Пример:
{'Элемент 1Password с вложением документа': {'document': 'содержимое документа, прикрепленного к этому элементу'}, 'Мой элемент 1Password': {'Имя пользовательского поля': 'значение этого поля', 'password': 'значение этого поля'}, 'Мой другой элемент 1Password': {'password': 'значение этого поля'}}


Авторы

  • Ryan Conway (@Rylon)

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/general/onepassword_info_module.html

Spec-Zone.ru

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