community.general.onepassword lookup – Извлечение значений полей из 1Password
Примечание
Этот плагин поиска является частью коллекции community.general collection (версия 9.5.0).
Эта коллекция может быть уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить, установлена ли она, запустите ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.general. Для использования этого плагина поиска необходимы дополнительные требования, см. Требования для получения подробной информации.
Для использования в playbook, укажите: community.general.onepassword.
Краткое описание
-
community.general.onepassword использует утилиту командной строки
opдля извлечения определенных значений полей из 1Password.
Требования
Указанные ниже требования необходимы на локальном узле контроллера, который выполняет этот поиск.
-
opутилита командной строки 1Password - См. https://support.1password.com/command-line/
Термины
Параметр | Комментарии |
|---|---|
Terms list / elements=string / required | Идентификатор(ы) (без учета регистра UUID или имя) элемента(ов) для извлечения. |
Ключевые параметры
Здесь описываются ключевые параметры поиска. Это значения key1=value1, key2=value2 и так далее в следующих примерах: lookup('community.general.onepassword', key1=value1, key2=value2, ...) и query('community.general.onepassword', key1=value1, key2=value2, ...)
Параметр | Комментарии |
|---|---|
account_id string добавлено в community.general 7.5.0 | Идентификатор учетной записи, к которой нужно обратиться. |
connect_host string добавлено в community.general 8.1.0 | Хост для 1Password Connect. Должен использоваться в сочетании с Конфигурация:
|
connect_token string добавлено в community.general 8.1.0 | Токен для 1Password Connect. Должен использоваться в сочетании с Конфигурация:
|
domain string добавлено в community.general 3.2.0 | Домен 1Password. Значение по умолчанию: |
field string | Поле для возврата из каждого совпадающего элемента (без учета регистра). Значение по умолчанию: |
master_password aliases: vault_password string | Пароль, используемый для разблокировки указанного хранилища. |
secret_key string | Секретный ключ, используемый при первоначальном входе в систему. |
section string | Секция элемента, содержащая поле для извлечения (без учета регистра). При отсутствии будет возвращено первое совпадение из любой секции. |
service_account_token string добавлено в community.general 7.1.0 | Ключ доступа для учетной записи службы. Работает только с версией 1Password CLI 2 или выше. Конфигурация:
|
subdomain string | Поддомен 1Password для аутентификации. |
username string | Имя пользователя, используемое для входа в систему. |
vault string | Хранилище, содержащее элемент для извлечения (без учета регистра). При отсутствии будет выполнен поиск во всех хранилищах. |
Примечания
Примечание
- При совместном использовании ключевых и позиционных параметров, позиционные параметры должны быть перечислены перед ключевыми параметрами:
lookup('community.general.onepassword', term1, term2, key1=value1, key2=value2)иquery('community.general.onepassword', term1, term2, key1=value1, key2=value2) - Этот поиск будет использовать существующую сессию 1Password, если она есть. Если нет, и вы уже выполнили первоначальный вход (то есть,
~/.op/config,~/.config/op/configили~/.config/.op/configсуществует), то требуется толькоmaster_password. Вы можете необязательно указатьsubdomain, в противном случаеopбудет использовать последний использованный субдомен. - Этот поиск может выполнить первоначальный вход, предоставив
subdomain,username,secret_key, иmaster_password. - Можно нацелить на конкретный аккаунт, предоставив
account_id. - Из-за очень конфиденциального характера этих данных настоятельно рекомендуется передавать только минимально необходимые учетные данные в любой момент. Кроме того, храните эти данные в Ansible Vault с ключом, по силе равным или превышающим мастер-пароль 1Password.
- Этот поиск хранит потенциально конфиденциальные данные из 1Password в качестве фактов Ansible. Факты подлежат кэшированию, если включено, что означает, что эти данные могут храниться в открытом виде на диске или в базе данных.
- Тестировалось с
opверсией 2.7.2.
Примеры
# These examples only work when already signed in to 1Password
- name: Retrieve password for KITT when already signed in to 1Password
ansible.builtin.debug:
var: lookup('community.general.onepassword', 'KITT')
- name: Retrieve password for Wintermute when already signed in to 1Password
ansible.builtin.debug:
var: lookup('community.general.onepassword', 'Tessier-Ashpool', section='Wintermute')
- name: Retrieve username for HAL when already signed in to 1Password
ansible.builtin.debug:
var: lookup('community.general.onepassword', 'HAL 9000', field='username', vault='Discovery')
- name: Retrieve password for HAL when not signed in to 1Password
ansible.builtin.debug:
var: lookup('community.general.onepassword',
'HAL 9000',
subdomain='Discovery',
master_password=vault_master_password)
- name: Retrieve password for HAL when never signed in to 1Password
ansible.builtin.debug:
var: lookup('community.general.onepassword',
'HAL 9000',
subdomain='Discovery',
master_password=vault_master_password,
username='tweety@acme.com',
secret_key=vault_secret_key)
- name: Retrieve password from specific account
ansible.builtin.debug:
var: lookup('community.general.onepassword',
'HAL 9000',
account_id='abc123')
Значение возврата
Ключ | Описание |
|---|---|
Значение возврата список / элементы=строка | Запрошенные данные поля. Возвращено: успех |
Ссылки на коллекцию
© 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_lookup.html