Поиск community.general.onepassword – получение значений полей из 1Password
Примечание
Этот плагин поиска входит в коллекцию community.general (версия 12.6.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.general. Для работы с этим плагином поиска требуются дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать его в плейбуке, укажите: community.general.onepassword.
- Краткое описание
- Требования
- Аргументы
- Именованные параметры
- Примечания
- Примеры
- Возвращаемое значение
Краткое описание
-
community.general.onepassword использует утилиту командной строки
opдля получения определённых значений полей из 1Password.
Требования
Следующие компоненты должны быть установлены на локальном узле контроллера, выполняющем этот поиск.
-
Утилита командной строки
op1Password - См. https://support.1password.com/command-line/
Аргументы
Параметр | Комментарии |
|---|---|
Аргументы list / elements=string / обязательный | Идентификатор(ы) (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 псевдонимы: 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. Если включено кэширование, факты могут кэшироваться, а значит, эти данные могут храниться на диске или в базе данных в открытом виде.
- Проверено с версией
op2.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')
Возвращаемое значение
Ключ | Описание |
|---|---|
Возвращаемое значение list / elements=string | Запрошенные данные поля. Возвращается: success |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/general/onepassword_lookup.html