поиск community.sops.sops — чтение содержимого файлов, зашифрованных SOPS
Примечание
Этот плагин поиска входит в коллекцию community.sops (версия 2.3.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install community.sops. Для использования этого плагина поиска могут потребоваться дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать его в плейбуке, укажите: community.sops.sops.
Добавлено в community.sops 0.1.0
- Краткое описание
- Требования
- Аргументы
- Именованные параметры
- Примечания
- См. также
- Примеры
- Возвращаемое значение
Краткое описание
- Этот плагин поиска возвращает содержимое файла в файловой системе контроллера Ansible.
- Для работы этого плагина поиска исполняемый файл
sopsдолжен быть доступен в PATH контроллера.
Требования
Следующие требования должны быть выполнены на локальном узле контроллера, который выполняет этот плагин поиска.
- Двоичный исполняемый файл
sops(https://github.com/getsops/sops) должен находиться вPATHили быть указан вsops_binary.
Аргументы
Параметр | Комментарии |
|---|---|
Terms list / elements=string / обязательный | Путь или пути к файлам для чтения. |
Именованные параметры
В этом разделе описаны именованные параметры плагина поиска. Это значения key1=value1, key2=value2 и так далее в следующих примерах: lookup('community.sops.sops', key1=value1, key2=value2, ...) и query('community.sops.sops', key1=value1, key2=value2, ...)
Параметр | Комментарии |
|---|---|
age_key string добавлено в community.sops 1.4.0 | Один или несколько закрытых ключей age, которые можно использовать для расшифровки зашифрованных файлов. При вызове SOPS будет задана переменная окружения Требуется SOPS версии 3.7.1 или новее. Конфигурация:
|
age_key_cmd string добавлено в community.sops 2.3.0 | Команда, которую SOPS выполнит для получения закрытого ключа age, используемого для расшифровки зашифрованных файлов. При вызове SOPS будет задана переменная окружения Требуется SOPS версии 3.10.0 или новее. При выполнении этой команды, если используется SOPS версии 3.12.0 или новее, SOPS задаст переменную Конфигурация:
|
age_keyfile path добавлено в community.sops 1.4.0 | Файл, содержащий закрытые ключи age, которые SOPS может использовать для расшифровки зашифрованных файлов. При вызове SOPS будет задана переменная окружения По умолчанию SOPS ищет Требуется SOPS версии 3.7.0 или новее. Конфигурация:
|
age_ssh_private_key_cmd string добавлено в community.sops 2.3.0 | Команда, которую SOPS выполнит для получения закрытого ключа SSH, используемого для расшифровки зашифрованных файлов. При вызове SOPS будет задана переменная окружения При выполнении этой команды SOPS задаст переменную Требуется SOPS версии 3.12.0 или новее. Конфигурация:
|
age_ssh_private_keyfile path добавлено в community.sops 1.4.0 | Файл, содержащий закрытый ключ SSH, который SOPS может использовать для расшифровки зашифрованных файлов. При вызове SOPS будет задана переменная окружения По умолчанию SOPS ищет Требуется SOPS версии 3.10.0 или новее. Конфигурация:
|
aws_access_key_id string добавлено в community.sops 1.0.0 | Идентификатор ключа доступа AWS для запросов к AWS. Для вызова SOPS задаёт переменную окружения Конфигурация:
|
aws_profile string добавлено в community.sops 1.0.0 | Профиль AWS для запросов к AWS. Соответствует параметру SOPS Конфигурация:
|
aws_secret_access_key string добавлено в community.sops 1.0.0 | Секретный ключ доступа AWS для запросов к AWS. Для вызова SOPS задаёт переменную окружения Конфигурация:
|
aws_session_token string добавлено в community.sops 1.0.0 | Токен сеанса AWS для запросов к AWS. Для вызова SOPS задаёт переменную окружения Конфигурация:
|
base64 boolean | Кодирует результат разбора в Base64. Используйте этот параметр, если хотите хранить двоичные данные в переменных Ansible. Варианты:
|
config_path path добавлено в community.sops 1.0.0 | Путь к файлу конфигурации SOPS. Если параметр не задан, SOPS будет рекурсивно искать файл конфигурации, начиная с файла, который шифруется или расшифровывается. Соответствует параметру SOPS Конфигурация:
|
empty_on_not_exist boolean | Если задано значение Варианты:
|
enable_local_keyservice boolean добавлено в community.sops 1.0.0 | Указывает SOPS использовать локальную службу ключей. Если задано значение Варианты:
Конфигурация:
|
extract string добавлено в community.sops 1.9.0 | Указывает SOPS извлечь определённый ключ из файла JSON или YAML. Ожидается строка с синтаксисом «querystring», аналогичным параметру SOPS Примечание: Экранируйте кавычки соответствующим образом. |
gcp_kms_client_type string добавлено в community.sops 3.2.0 | Определяет, какой клиент использовать для взаимодействия с Google Cloud Services. При вызове SOPS будет задана переменная окружения Требуется SOPS версии 3.12.0 или новее. Варианты:
Конфигурация:
|
gcp_oauth_access_token string добавлено в community.sops 3.2.0 | Предоставляет токен Google Cloud OAuth. При вызове SOPS будет задана переменная окружения Требуется SOPS версии 3.10.0 или новее. Конфигурация:
|
input_type string | Указывает SOPS, как интерпретировать зашифрованный файл. По умолчанию SOPS выбирает тип входных данных по расширению файла. Если для файла определяется неправильный тип, расшифровка может завершиться ошибкой. Значение Варианты:
|
keyservice list / elements=string добавлено в community.sops 1.0.0 | Указывает службы ключей, которые будут использоваться наряду с локальной службой. Служба ключей должна быть указана в формате Соответствует параметру SOPS Конфигурация:
|
output_type string | Указывает SOPS, как интерпретировать расшифрованный файл. По умолчанию SOPS выбирает тип выходных данных по расширению файла. Если для файла определяется неправильный тип, расшифровка может завершиться ошибкой. Значение Варианты:
|
rstrip boolean | Удалять ли завершающие символы новой строки и пробелы. Варианты:
|
sops_binary string добавлено в community.sops 1.0.0 | Путь к исполняемому файлу SOPS. По умолчанию используется Конфигурация:
|
Примечание
Для каждого типа записи конфигурации, указанного выше (переменная Ansible, переменная окружения и т. д.), записи перечислены в порядке от низкого приоритета к высокому. Например, переменная, расположенная ниже в списке, переопределяет переменную, расположенную выше. Типы записей также перечислены в порядке от низкого приоритета к высокому. Например, запись ansible.cfg (расположенная выше в списке) переопределяется переменной Ansible (расположенной ниже в списке).
Примечания
Примечание
- При совместном использовании именованных и позиционных параметров позиционные параметры необходимо указывать перед именованными:
lookup('community.sops.sops', term1, term2, key1=value1, key2=value2)иquery('community.sops.sops', term1, term2, key1=value1, key2=value2) - Этот плагин поиска не поддерживает подстановочные шаблоны — вместо него используйте плагин поиска ansible.builtin.fileglob.
См. также
См. также
- community.sops.decrypt — плагин фильтра
-
Фильтр decrypt можно использовать для расшифровки данных в памяти, зашифрованных SOPS.
- community.sops.sops — плагин переменных
-
Плагин переменных sops можно использовать для загрузки переменных узлов или групп, зашифрованных SOPS.
- community.sops.load_vars
-
Динамическая загрузка переменных, зашифрованных SOPS, из файлов во время выполнения задачи.
Примеры
---
- name: Output secrets to screen (BAD IDEA!)
ansible.builtin.debug:
msg: "Content: {{ lookup('community.sops.sops', item) }}"
loop:
- sops-encrypted-file.enc.yaml
- name: Add SSH private key
ansible.builtin.copy:
# Note that rstrip=false is necessary for some SSH versions to be able to use the key
content: "{{ lookup('community.sops.sops', user + '-id_rsa', rstrip=false) }}"
dest: /home/{{ user }}/.ssh/id_rsa
owner: "{{ user }}"
group: "{{ user }}"
mode: "0600"
no_log: true # avoid content to be written to log
- name: The file file.json is a YAML file, which contains the encryption of binary data
ansible.builtin.debug:
msg: "Content: {{ lookup('community.sops.sops', 'file.json', input_type='yaml', output_type='binary') }}"
Возвращаемое значение
Ключ | Описание |
|---|---|
Возвращаемое значение list / elements=string | Расшифрованное содержимое файла. Возвращается: при успехе |
Ссылки на коллекцию
© 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/sops/sops_lookup.html