Модуль community.sops.sops_encrypt — Шифрование данных с помощью SOPS
Примечание
Этот модуль входит в коллекцию community.sops (версия 1.9.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.sops. Для использования этого модуля необходимы дополнительные требования. Подробности см. в разделе Требования.
Для использования в книге задач укажите: community.sops.sops_encrypt.
Новая функция в community.sops 0.1.0
Обзор
- Позволяет шифровать двоичные данные (кодированные в Base64), текстовые данные, данные JSON или YAML с помощью SOPS.
Требования
Ниже перечислены требования, необходимые на хосте, который выполняет этот модуль.
- Исполняемый файл
sops(https://github.com/getsops/sops) должен существовать вPATHили быть настроен какsops_binary.
Параметры
Параметр | Комментарии |
|---|---|
age list / elements=string added in community.sops 1.4.0 | Отпечатки пальцев возраста для использования. Это соответствует параметру SOPS |
age_key string added in community.sops 1.4.0 | Один или несколько закрытых ключей возраста, которые могут быть использованы для расшифровки зашифрованных файлов. Будет установлен как переменная окружения Требуется SOPS 3.7.1+. |
age_keyfile path added in community.sops 1.4.0 | Файл, содержащий закрытые ключи возраста, которые SOPS может использовать для расшифровки зашифрованных файлов. Будет установлен как переменная окружения По умолчанию SOPS ищет Требуется SOPS 3.7.0+. |
attributes aliases: attr string | Атрибуты, которыми должен обладать результирующий объект файловой системы. Чтобы получить поддерживаемые флаги, посмотрите страницу руководства для chattr в целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и отображаемые lsattr. Оператор |
aws_access_key_id string added in community.sops 1.0.0 | Идентификатор ключа доступа AWS для использования в запросах к AWS. Устанавливает переменную среды |
aws_profile string added in community.sops 1.0.0 | Профиль AWS для использования в запросах к AWS. Это соответствует параметру SOPS |
aws_secret_access_key string added in community.sops 1.0.0 | Секретный ключ доступа AWS для использования в запросах к AWS. Устанавливает переменную среды |
aws_session_token string added in community.sops 1.0.0 | Токен сессии AWS для использования в запросах к AWS. Устанавливает переменную среды |
azure_kv list / elements=string added in community.sops 1.0.0 | URL-адреса хранилища ключей Azure для использования. Это соответствует параметру SOPS |
config_path path added in community.sops 1.0.0 | Путь к конфигурационному файлу SOPS. Если не задан, SOPS будет рекурсивно искать конфигурационный файл, начиная с файла, который зашифрован или расшифрован. Это соответствует параметру SOPS |
content_binary string | Данные для шифрования. Должны быть закодированы в Base64 двоичные данные. Обратите внимание, что модуль может быть не идемпотентным, если данные могут быть проанализированы как JSON или YAML. Должен быть указан ровно один из |
content_json dictionary | Данные для шифрования. Должен быть словарь JSON. Должен быть указан ровно один из |
content_text string | Данные для шифрования. Должен быть текст Unicode. Обратите внимание, что модуль может быть не идемпотентным, если текст может быть проанализирован как JSON или YAML. Должен быть указан ровно один из |
content_yaml dictionary | Данные для шифрования. Должен быть словарь YAML. Обратите внимание, что Ansible позволяет передавать только данные, которые могут быть представлены как словарь JSON. Должен быть указан ровно один из |
enable_local_keyservice boolean added in community.sops 1.0.0 | Указать SOPS использовать локальный сервис ключей. Это соответствует параметру SOPS Варианты:
|
encrypted_regex string added in community.sops 1.0.0 | Установить суффикс зашифрованного ключа. При указании будут зашифрованы только ключи, соответствующие регулярному выражению. Это соответствует параметру SOPS |
encrypted_suffix string added in community.sops 1.0.0 | Переопределить суффикс зашифрованного ключа. При установке в пустую строку будут зашифрованы все ключи, которые не помечены явно с помощью Это соответствует параметру SOPS |
encryption_context list / elements=string added in community.sops 1.0.0 | Список пар контекста шифрования KMS в формате Это соответствует параметру SOPS |
force boolean | Принудительно перезаписать зашифрованный файл. Варианты:
|
gcp_kms list / elements=string added in community.sops 1.0.0 | Идентификаторы ресурсов GCP KMS для использования. Это соответствует параметру SOPS |
group string | Имя группы, которой должен принадлежать объект файловой системы, как если бы оно передавалось в chown. Если не указано, используется текущая группа текущего пользователя, если вы не являетесь root, в этом случае может сохраняться предыдущее владение. |
hc_vault_transit list / elements=string added in community.sops 1.0.0 | URI ключей HashiCorp Vault для использования. Например, Это соответствует параметру SOPS |
keyservice list / elements=string added in community.sops 1.0.0 | Укажите службы ключей для использования рядом с локальной. Служба ключей должна быть указана в формате Это соответствует параметру SOPS |
kms list / elements=string added in community.sops 1.0.0 | Список используемых ARN KMS. Это соответствует параметру SOPS |
mode any | Разрешения, которыми должен обладать результирующий объект файловой системы. Для тех, кто привык к /usr/bin/chmod, помните, что режимы на самом деле являются восьмеричными числами. Вы должны предоставить Ansible достаточно информации, чтобы правильно их разобрать. Для согласованных результатов заключайте восьмеричные числа в кавычки (например, Передача Ansible числа без соблюдения ни одного из этих правил приведет к десятичному числу, которое даст непредвиденные результаты. Начиная с Ansible 1.8, режим может быть указан как символьный режим (например, Если Если Указание |
owner string | Имя пользователя, которому должен принадлежать объект файловой системы, как если бы оно передавалось в chown. Если не указано, используется текущий пользователь, если вы не являетесь root, в этом случае может сохраняться предыдущее владение. Числовое имя пользователя будет считаться идентификатором пользователя, а не именем пользователя. Избегайте числовых имен пользователей, чтобы избежать путаницы. |
path path / required | Файл шифрования SOPS. |
pgp list / elements=string added in community.sops 1.0.0 | Отпечатки PGP для использования. Это соответствует параметру SOPS |
selevel string | Часть уровня контекста объекта файловой системы SELinux. Это атрибут MLS/MCS, иногда известный как Если установлен в |
serole string | Часть роли контекста объекта файловой системы SELinux. Если установлен в |
setype string | Часть типа контекста объекта файловой системы SELinux. Если установлен в |
seuser string | Часть пользователя контекста объекта файловой системы SELinux. По умолчанию используется политика Если установлен в |
shamir_secret_sharing_threshold integer added in community.sops 1.0.0 | Количество различных ключей, необходимых для извлечения ключа данных с помощью Shamir’s Secret Sharing. Если не задано здесь и в конфигурационном файле SOPS, будет использоваться значение по умолчанию Это соответствует параметру SOPS |
sops_binary path added in community.sops 1.0.0 | Путь к двоичному файлу SOPS. По умолчанию используется |
unencrypted_regex строка добавлен в community.sops 1.0.0 | Установить суффикс незашифрованного ключа. При указании будут оставлены незашифрованными только ключи, соответствующие регулярному выражению. Соответствует параметру SOPS |
unencrypted_suffix строка добавлен в community.sops 1.0.0 | Переопределить суффикс незашифрованного ключа. Соответствует параметру SOPS |
unsafe_writes логическое | Влияет на использование атомарных операций для предотвращения повреждения данных или несогласованных чтений из целевого объекта файловой системы. По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованных чтений из целевых объектов файловой системы, но иногда системы настроены или просто не работают таким образом, что это предотвращает. Одним из примеров являются контейнеры docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только неатомарным способом. Этот параметр позволяет Ansible перейти к небезопасным методам обновления объектов файловой системы, когда атомарные операции завершаются неудачей (однако, он не заставляет Ansible выполнять небезопасные записи). ВАЖНО! Небезопасные записи подвержены гонкам и могут привести к повреждению данных. Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может работать в режиме |
diff_mode | Поддержка: нет | В режиме сравнения будет возвращать подробную информацию о том, что изменилось (или, возможно, должно измениться в |
safe_file_operations | Поддержка: полная | Использует строгие функции Ansible для работы с файлами, чтобы гарантировать правильные разрешения и избежать повреждения данных. |
См. также
См. также
- community.sops.sops плагин поиска
-
Плагин поиска sops может использоваться для расшифровки зашифрованных с помощью SOPS файлов.
Примеры
- name: Encrypt a secret text
community.sops.sops_encrypt:
path: text-data.sops
content_text: This is a secret text.
- name: Encrypt the contents of a file
community.sops.sops_encrypt:
path: binary-data.sops
content_binary: "{{ lookup('ansible.builtin.file', '/path/to/file', rstrip=false) | b64encode }}"
- name: Encrypt some datastructure as YAML
community.sops.sops_encrypt:
path: stuff.sops.yaml
content_yaml: "{{ result }}"
Ссылки на сборку
© 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/sops/sops_encrypt_module.html