Spec-Zone.ru › Ansible

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

Примечание

Этот модуль является частью коллекции community.general (версия 9.5.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.general. Для использования этого модуля требуются дополнительные компоненты. Подробнее см. Требования.

Чтобы использовать его в плейбуке, укажите: community.general.onepassword_info.

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

Обзор

  • community.general.onepassword_info оборачивает утилиту командной строки op для извлечения данных об одном или нескольких элементах 1Password.
  • Ошибка происходит, если какой-либо из искомых элементов не найден.
  • Рекомендуется использовать опцию no_log для предотвращения вывода секретов в журналы.

Требования

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

  • Утилита командной строки 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 (<subdomain>.1password.com).

Если этот параметр не указан, будет использоваться последний домен.

username

строка

Имя пользователя 1Password.

Требуется только для первоначального входа.

cli_path

путь

Используется для указания точного пути к интерфейсу командной строки op

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

search_terms

список / элементы=словарь / обязательно

Список одного или нескольких поисковых запросов.

Каждый поисковой запрос может быть простой строкой или словарем для большего контроля.

При передаче простой строки предполагается, что search_terms[].field означает password.

При передаче словаря доступны следующие поля.

field

строка

Имя поля для поиска в этом элементе (необязательно, по умолчанию «password» (или «document», если элемент имеет вложение).

name

строка

Имя элемента 1Password для поиска (обязательно).

section

строка

Имя раздела внутри элемента, содержащего указанное поле (необязательно, будет искать во всех разделах, если не указано).

vault

строка

Имя конкретного хранилища 1Password для поиска, полезно, если ваш пользователь 1Password имеет доступ к нескольким хранилищам (необязательно).

Атрибуты

Атрибут

Поддержка

Описание

check_mode

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

Это действие не изменяет состояние.

Может работать в режиме check_mode и возвращать прогноз состояния изменения без изменения целевого объекта.

diff_mode

Поддержка: нет

Это действие не изменяет состояние.

Вернет подробности о том, что изменилось (или, возможно, нужно изменить в check_mode), при работе в режиме diff.

Примечания

Примечание

  • Тестировано с op версией 0.5.5
  • Основано на плагине поиска community.general.onepassword от Скотта Бакана <sbuchanan@ri.pn>.

Примеры

# 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, соответствующего заданным поисковым фразам, показывает, что будет возвращено в третьем примере выше.

Возвращено: успех

Пример: {"A 1Password item with document attachment": {"document": "the contents of the document attached to this item"}, "My 1Password item": {"Custom field name": "the value of this field", "password": "the value of this field"}, "My Other 1Password item": {"password": "the value of this field"}}

Авторы

  • Ryan Conway (@Rylon)

Ссылки на сборки

  • Отслеживание проблем
  • Репозиторий (источники)
  • Задайте вопрос
  • Отправить отчет об ошибке
  • Запросить функцию
  • Связь

© 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/onepassword_info_module.html

Spec-Zone.ru

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