Модуль 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 строка / обязательно |
Главный пароль для вашего домена. Это всегда необходимо, когда указан |
|
secret_key строка |
Секретный ключ для вашего домена. Требуется только для первоначального входа. |
|
subdomain строка |
Имя домена 1Password (<subdomain>.1password.com). Если этот параметр не указан, будет использоваться последний домен. |
|
username строка |
Имя пользователя 1Password. Требуется только для первоначального входа. |
cli_path путь | Используется для указания точного пути к интерфейсу командной строки По умолчанию: |
search_terms список / элементы=словарь / обязательно | Список одного или нескольких поисковых запросов. Каждый поисковой запрос может быть простой строкой или словарем для большего контроля. При передаче простой строки предполагается, что При передаче словаря доступны следующие поля. |
|
field строка |
Имя поля для поиска в этом элементе (необязательно, по умолчанию «password» (или «document», если элемент имеет вложение). |
|
name строка |
Имя элемента 1Password для поиска (обязательно). |
|
section строка |
Имя раздела внутри элемента, содержащего указанное поле (необязательно, будет искать во всех разделах, если не указано). |
|
vault строка |
Имя конкретного хранилища 1Password для поиска, полезно, если ваш пользователь 1Password имеет доступ к нескольким хранилищам (необязательно). |
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная Это действие не изменяет состояние. | Может работать в режиме |
diff_mode | Поддержка: нет Это действие не изменяет состояние. | Вернет подробности о том, что изменилось (или, возможно, нужно изменить в |
Примечания
Примечание
- Тестировано с
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, соответствующего заданным поисковым фразам, показывает, что будет возвращено в третьем примере выше. Возвращено: успех Пример: |
Ссылки на сборки
© 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