onepassword_facts – Сбор элементов из 1Password и установка их в качестве фактов
Новое в версии 2.7.
Обзор
-
onepassword_facts оборачивает утилиту командной строки
opдля извлечения данных об одном или нескольких элементах 1Password и возвращает их как факты Ansible. - Если какой-либо из искомых элементов не найден, возникает ошибка.
- Рекомендуется использовать опцию
no_logдля предотвращения регистрации значений секретов, которые извлекаются.
Требования
Ниже приведены требования, необходимые на хосте, на котором выполняется данный модуль.
-
opУтилита командной строки 1Password. См. https://support.1password.com/command-line/
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| auto_login - | Значение по умолчанию: {} | Словарь, содержащий данные об аутентификации. Если это задано, onepassword_facts попытается автоматически войти в 1Password. Без этой опции необходимо предварительно войти в систему через командную строку 1Password перед запуском 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 - / обязательно | Список одного или нескольких поисковых запросов. Каждый поисковой запрос может быть простой строкой или словарем для большего контроля. При передаче простой строки, поле предполагается как password.При передаче словаря, доступны следующие поля. | ||
| field - | Имя поля для поиска в этом элементе (необязательно, по умолчанию «пароль» (или «документ», если у элемента есть вложение). | ||
| name - | Имя элемента 1Password для поиска (обязательно). | ||
| section - | Имя раздела в данном элементе, содержащего указанное поле (необязательно, будет искать во всех разделах, если не указано). | ||
| vault - | Имя конкретного хранилища 1Password для поиска, полезно, если ваш пользователь 1Password имеет доступ к нескольким хранилищам (необязательно). | ||
Примечания
Примечание
- Основано на плагине поиска
onepasswordот Скотта Банана <sbuchanan@ri.pn>. - Этот модуль хранит потенциально конфиденциальные данные из 1Password в качестве фактов Ansible. Факты хранятся в кэше, если это разрешено, что означает, что эти данные могут храниться в открытом виде на диске или в базе данных. - Проверено с
opверсией 0.5.5
Примеры
# Gather secrets from 1Password, assuming there is a 'password' field:
- name: Get a password
onepassword_facts:
search_terms: My 1Password item
delegate_to: localhost
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
onepassword_facts:
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
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
onepassword_facts:
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
no_log: true # Don't want to log the secrets to the console!
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие — поля, уникальные для данного модуля:
| Ключ | Возвращаемое | Описание |
|---|---|---|
| onepassword словарь | успех | Словарь каждого элемента 1Password, соответствующего заданным поисковым запросам, демонстрирует то, что было бы возвращено из третьего примера выше. Пример: {'Мой элемент 1Password': {'password': 'значение этого поля', 'Пользовательское имя поля': 'значение этого поля'}, 'Мой другой элемент 1Password': {'password': 'значение этого поля'}, 'Элемент 1Password с документом вложения': {'document': 'содержимое документа, прикрепленного к этому элементу'}} |
Статус
- Этот модуль не гарантирует обратную совместимость интерфейса. [предварительный просмотр]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- 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.8/modules/onepassword_facts_module.html