модуль community.sops.sops_encrypt — шифрование данных с помощью SOPS
Примечание
Этот модуль входит в коллекцию community.sops (версия 2.3.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install community.sops. Для использования этого модуля необходимы дополнительные компоненты. Подробнее см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: community.sops.sops_encrypt.
Новое в community.sops 0.1.0
Краткое описание
- Позволяет шифровать с помощью SOPS двоичные данные (в кодировке Base64), текстовые данные, данные JSON или YAML.
Требования
Перечисленные ниже компоненты должны быть установлены на узле, на котором выполняется этот модуль.
- Исполняемый файл
sops(https://github.com/getsops/sops) должен находиться вPATHили быть указан в настройкеsops_binary.
Параметры
Параметр | Комментарии |
|---|---|
age list / elements=string добавлено в community.sops 1.4.0 | Отпечатки ключей age для использования. Соответствует параметру SOPS |
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 или более поздней версии. |
attributes псевдонимы: attr string | Атрибуты, которые должен иметь итоговый объект файловой системы. Список поддерживаемых флагов см. на странице руководства для Эта строка должна содержать атрибуты в том же порядке, в котором они отображаются командой По умолчанию предполагается оператор |
aws_access_key_id string добавлено в community.sops 1.0.0 | Идентификатор ключа доступа AWS для запросов к AWS. Задает переменную окружения |
aws_profile string добавлено в community.sops 1.0.0 | Профиль AWS для запросов к AWS. Соответствует параметру SOPS |
aws_secret_access_key string добавлено в community.sops 1.0.0 | Секретный ключ доступа AWS для запросов к AWS. Задает переменную окружения |
aws_session_token string добавлено в community.sops 1.0.0 | Токен сеанса AWS для запросов к AWS. Задает переменную окружения |
azure_kv list / elements=string добавлено в community.sops 1.0.0 | URL-адреса Azure Key Vault для использования. Соответствует параметру SOPS |
config_path path добавлено в 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 добавлено в community.sops 1.0.0 | Указывает SOPS использовать локальную службу ключей. Если задано значение Допустимые значения:
|
encrypted_regex string добавлено в community.sops 1.0.0 | Задает суффикс зашифрованного ключа. Если параметр указан, шифруются только ключи, соответствующие регулярному выражению. Соответствует параметру SOPS |
encrypted_suffix string добавлено в community.sops 1.0.0 | Переопределяет суффикс зашифрованного ключа. Если задана пустая строка, шифруются все ключи, которые явно не помечены параметром Соответствует параметру SOPS |
encryption_context list / elements=string добавлено в community.sops 1.0.0 | Список пар контекста шифрования KMS в формате Соответствует параметру SOPS |
force boolean | Принудительно перезаписывает зашифрованный файл. Допустимые значения:
|
gcp_kms list / elements=string добавлено в community.sops 1.0.0 | Идентификаторы ресурсов GCP KMS для использования. Соответствует параметру 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 | Предоставляет токен OAauth Google Cloud. При вызове SOPS будет задана как переменная окружения Требуется SOPS 3.10.0 или более поздней версии. |
group string | Имя группы, которой должен принадлежать объект файловой системы; значение передается команде Если параметр не указан, используется текущая группа текущего пользователя, за исключением случая, когда пользователь — root: тогда может быть сохранена прежняя принадлежность. |
hc_vault_transit list / elements=string добавлено в community.sops 1.0.0 | URI ключей HashiCorp Vault для использования. Например, Соответствует параметру SOPS |
huawei_cloud_kms list / elements=string добавлено в community.sops 3.2.0 | Идентификаторы ключей HuaweiCloud KMS для использования. Соответствует параметру SOPS Требуется SOPS 3.12.0 или более поздней версии. |
keyservice list / elements=string добавлено в community.sops 1.0.0 | Задает службы ключей, которые будут использоваться наряду с локальной службой. Службу ключей необходимо указать в формате Соответствует параметру SOPS |
kms list / elements=string добавлено в community.sops 1.0.0 | Список ARN KMS для использования. Соответствует параметру SOPS |
mode any | Права доступа, которые должен иметь итоговый объект файловой системы. Если вы привыкли к Если передать Ansible число, не соблюдая ни одно из этих правил, оно будет интерпретировано как десятичное, что приведет к неожиданным результатам. Начиная с Ansible 1.8, режим можно задавать в символьном виде (например, Если Если Указание |
owner string | Имя пользователя, которому должен принадлежать объект файловой системы; значение передается команде Если параметр не указан, используется текущий пользователь, за исключением случая, когда пользователь — root: тогда может быть сохранена прежняя принадлежность. Числовое имя пользователя будет интерпретировано как идентификатор пользователя, а не как имя. Не используйте числовые имена пользователей, чтобы избежать неоднозначности. |
path path / обязательный | Файл для шифрования с помощью SOPS. |
pgp list / elements=string добавлено в 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 добавлено в community.sops 1.0.0 | Количество различных ключей, необходимых для получения ключа данных с помощью разделения секрета Шамира. Если параметр не задан ни здесь, ни в файле конфигурации SOPS, по умолчанию используется значение Соответствует параметру SOPS |
sops_binary path добавлено в community.sops 1.0.0 | Путь к исполняемому файлу SOPS. По умолчанию используется |
unencrypted_regex string добавлено в community.sops 1.0.0 | Задает суффикс незашифрованного ключа. Если параметр указан, незашифрованными останутся только ключи, соответствующие регулярному выражению. Соответствует параметру SOPS |
unencrypted_suffix string добавлено в community.sops 1.0.0 | Переопределяет суффикс незашифрованного ключа. Соответствует параметру SOPS |
unsafe_writes boolean | Определяет, когда использовать атомарную операцию для предотвращения повреждения данных или несогласованного чтения целевого объекта файловой системы. По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения целевых объектов файловой системы, однако иногда конфигурация систем или их неисправности не позволяют это делать. Например, смонтированные в Docker объекты файловой системы нельзя атомарно обновить из контейнера; их можно записать только небезопасным способом. Этот параметр позволяет Ansible в случае сбоя атомарных операций использовать небезопасные методы обновления объектов файловой системы (однако он не заставляет Ansible выполнять небезопасную запись). ВАЖНО! Небезопасная запись подвержена состояниям гонки и может привести к повреждению данных. Допустимые значения:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может выполняться в |
diff_mode | Поддержка: отсутствует | В режиме diff возвращает сведения об изменениях (или о том, что, возможно, нужно изменить в |
idempotent | Поддержка: полная | При повторном запуске с теми же аргументами вне режима check второй вызов сообщает об отсутствии изменений. Предполагается, что система, управляемая модулем или запрашиваемая им, не изменилась существенным образом. |
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–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/sops/sops_encrypt_module.html