Spec-Zone.ru › Ansible

модуль 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.

age_key

string

добавлено в community.sops 1.4.0

Один или несколько закрытых ключей age, которые можно использовать для расшифровки зашифрованных файлов.

При вызове SOPS будет задана как переменная окружения SOPS_AGE_KEY.

Требуется SOPS 3.7.1 или более поздней версии.

age_key_cmd

string

добавлено в community.sops 2.3.0

Команда, которую SOPS выполнит, чтобы получить закрытый ключ age для расшифровки зашифрованных файлов.

При вызове SOPS будет задана как переменная окружения SOPS_AGE_KEY_CMD.

Требуется SOPS 3.10.0 или более поздней версии.

При выполнении этой команды и использовании SOPS 3.12.0 или более поздней версии SOPS задаст переменную SOPS_AGE_RECIPIENT, указав в ней идентификатор ключа, который требуется использовать для расшифровки.

age_keyfile

path

добавлено в community.sops 1.4.0

Файл, содержащий закрытые ключи age, которые SOPS может использовать для расшифровки зашифрованных файлов.

При вызове SOPS будет задана как переменная окружения SOPS_AGE_KEY_FILE.

По умолчанию SOPS ищет sops/age/keys.txt в каталоге конфигурации пользователя.

Требуется SOPS 3.7.0 или более поздней версии.

age_ssh_private_key_cmd

string

добавлено в community.sops 2.3.0

Команда, которую SOPS выполнит, чтобы получить закрытый ключ SSH для расшифровки зашифрованных файлов.

При вызове SOPS будет задана как переменная окружения SOPS_AGE_SSH_PRIVATE_KEY_CMD.

При выполнении этой команды SOPS задаст переменную SOPS_AGE_RECIPIENT, указав в ней идентификатор ключа, который требуется использовать для расшифровки.

Требуется SOPS 3.12.0 или более поздней версии.

age_ssh_private_keyfile

path

добавлено в community.sops 1.4.0

Файл, содержащий закрытый ключ SSH, который SOPS может использовать для расшифровки зашифрованных файлов.

При вызове SOPS будет задана как переменная окружения SOPS_AGE_SSH_PRIVATE_KEY_FILE.

По умолчанию SOPS ищет ~/.ssh/id_ed25519, а если файл не найден — ~/.ssh/id_rsa.

Требуется SOPS 3.10.0 или более поздней версии.

attributes

псевдонимы: attr

string

Атрибуты, которые должен иметь итоговый объект файловой системы.

Список поддерживаемых флагов см. на странице руководства для chattr в целевой системе.

Эта строка должна содержать атрибуты в том же порядке, в котором они отображаются командой lsattr.

По умолчанию предполагается оператор =; в противном случае в строке необходимо указать оператор + или -.

aws_access_key_id

string

добавлено в community.sops 1.0.0

Идентификатор ключа доступа AWS для запросов к AWS.

Задает переменную окружения AWS_ACCESS_KEY_ID для вызова SOPS.

aws_profile

string

добавлено в community.sops 1.0.0

Профиль AWS для запросов к AWS.

Соответствует параметру SOPS --aws-profile.

aws_secret_access_key

string

добавлено в community.sops 1.0.0

Секретный ключ доступа AWS для запросов к AWS.

Задает переменную окружения AWS_SECRET_ACCESS_KEY для вызова SOPS.

aws_session_token

string

добавлено в community.sops 1.0.0

Токен сеанса AWS для запросов к AWS.

Задает переменную окружения AWS_SESSION_TOKEN для вызова SOPS.

azure_kv

list / elements=string

добавлено в community.sops 1.0.0

URL-адреса Azure Key Vault для использования.

Соответствует параметру SOPS --azure-kv.

config_path

path

добавлено в community.sops 1.0.0

Путь к файлу конфигурации SOPS.

Если параметр не задан, SOPS будет рекурсивно искать файл конфигурации, начиная с файла, который шифруется или расшифровывается.

Соответствует параметру SOPS --config.

content_binary

string

Данные для шифрования. Должны быть двоичными данными, закодированными в Base64.

Обратите внимание, что модуль может быть неидемпотентным, если данные можно разобрать как JSON или YAML.

Необходимо указать ровно один из параметров content_text, content_binary, content_json и content_yaml.

content_json

dictionary

Данные для шифрования. Должны быть словарем JSON.

Необходимо указать ровно один из параметров content_text, content_binary, content_json и content_yaml.

content_text

string

Данные для шифрования. Должны быть текстом в кодировке Unicode.

Обратите внимание, что модуль может быть неидемпотентным, если текст можно разобрать как JSON или YAML.

Необходимо указать ровно один из параметров content_text, content_binary, content_json и content_yaml.

content_yaml

dictionary

Данные для шифрования. Должны быть словарем YAML.

Обратите внимание, что Ansible позволяет передавать только данные, которые можно представить в виде словаря JSON.

Необходимо указать ровно один из параметров content_text, content_binary, content_json и content_yaml.

enable_local_keyservice

boolean

добавлено в community.sops 1.0.0

Указывает SOPS использовать локальную службу ключей.

Если задано значение false, соответствует параметру SOPS --enable-local-keyservice=false.

Допустимые значения:

  • false
  • true ← (по умолчанию)

encrypted_regex

string

добавлено в community.sops 1.0.0

Задает суффикс зашифрованного ключа.

Если параметр указан, шифруются только ключи, соответствующие регулярному выражению.

Соответствует параметру SOPS --encrypted-regex.

encrypted_suffix

string

добавлено в community.sops 1.0.0

Переопределяет суффикс зашифрованного ключа.

Если задана пустая строка, шифруются все ключи, которые явно не помечены параметром unencrypted_suffix.

Соответствует параметру SOPS --encrypted-suffix.

encryption_context

list / elements=string

добавлено в community.sops 1.0.0

Список пар контекста шифрования KMS в формате key:value.

Соответствует параметру SOPS --encryption-context.

force

boolean

Принудительно перезаписывает зашифрованный файл.

Допустимые значения:

  • false ← (по умолчанию)
  • true

gcp_kms

list / elements=string

добавлено в community.sops 1.0.0

Идентификаторы ресурсов GCP KMS для использования.

Соответствует параметру SOPS --gcp-kms.

gcp_kms_client_type

string

добавлено в community.sops 3.2.0

Определяет клиент для взаимодействия с Google Cloud Services.

При вызове SOPS будет задана как переменная окружения SOPS_GCP_KMS_CLIENT_TYPE.

Требуется SOPS 3.12.0 или более поздней версии.

Допустимые значения:

  • "grpc": использовать клиент gRPC
  • "rest": использовать клиент REST

gcp_oauth_access_token

string

добавлено в community.sops 3.2.0

Предоставляет токен OAauth Google Cloud.

При вызове SOPS будет задана как переменная окружения GOOGLE_OAUTH_ACCESS_TOKEN.

Требуется SOPS 3.10.0 или более поздней версии.

group

string

Имя группы, которой должен принадлежать объект файловой системы; значение передается команде chown.

Если параметр не указан, используется текущая группа текущего пользователя, за исключением случая, когда пользователь — root: тогда может быть сохранена прежняя принадлежность.

hc_vault_transit

list / elements=string

добавлено в community.sops 1.0.0

URI ключей HashiCorp Vault для использования.

Например, https://vault.example.org:8200/v1/transit/keys/dev.

Соответствует параметру SOPS --hc-vault-transit.

huawei_cloud_kms

list / elements=string

добавлено в community.sops 3.2.0

Идентификаторы ключей HuaweiCloud KMS для использования.

Соответствует параметру SOPS --hckms.

Требуется SOPS 3.12.0 или более поздней версии.

keyservice

list / elements=string

добавлено в community.sops 1.0.0

Задает службы ключей, которые будут использоваться наряду с локальной службой.

Службу ключей необходимо указать в формате protocol://address, например tcp://myserver.com:5000.

Соответствует параметру SOPS --keyservice.

kms

list / elements=string

добавлено в community.sops 1.0.0

Список ARN KMS для использования.

Соответствует параметру SOPS --kms.

mode

any

Права доступа, которые должен иметь итоговый объект файловой системы.

Если вы привыкли к /usr/bin/chmod, помните, что режимы на самом деле являются восьмеричными числами. Необходимо предоставить Ansible достаточно информации для их правильного разбора. Для получения согласованных результатов заключайте восьмеричные числа в кавычки (например, '644' или '1777'), чтобы Ansible получил строку и самостоятельно преобразовал ее в число. Добавление ведущего нуля (например, 0755) иногда работает, но может привести к ошибкам в циклах и других ситуациях.

Если передать Ansible число, не соблюдая ни одно из этих правил, оно будет интерпретировано как десятичное, что приведет к неожиданным результатам.

Начиная с Ansible 1.8, режим можно задавать в символьном виде (например, u+rwx или u=rw,g=r,o=r).

Если mode не задан и целевой объект файловой системы не существует, для установки режима нового объекта файловой системы будет использоваться значение по умолчанию umask в системе.

Если mode не задан и целевой объект файловой системы существует, будет использоваться режим существующего объекта файловой системы.

Указание mode — лучший способ гарантировать, что объекты файловой системы будут созданы с правильными правами доступа. Дополнительные сведения см. в CVE-2020-1736.

owner

string

Имя пользователя, которому должен принадлежать объект файловой системы; значение передается команде chown.

Если параметр не указан, используется текущий пользователь, за исключением случая, когда пользователь — root: тогда может быть сохранена прежняя принадлежность.

Числовое имя пользователя будет интерпретировано как идентификатор пользователя, а не как имя. Не используйте числовые имена пользователей, чтобы избежать неоднозначности.

path

path / обязательный

Файл для шифрования с помощью SOPS.

pgp

list / elements=string

добавлено в community.sops 1.0.0

Отпечатки ключей PGP для использования.

Соответствует параметру SOPS --pgp.

selevel

string

Часть контекста объекта файловой системы SELinux, отвечающая за уровень.

Это атрибут MLS/MCS, иногда называемый range.

Если задано значение _default, будет использоваться часть политики level, если она доступна.

serole

string

Часть контекста объекта файловой системы SELinux, отвечающая за роль.

Если задано значение _default, будет использоваться часть политики role, если она доступна.

setype

string

Часть контекста объекта файловой системы SELinux, отвечающая за тип.

Если задано значение _default, будет использоваться часть политики type, если она доступна.

seuser

string

Часть контекста объекта файловой системы SELinux, отвечающая за пользователя.

По умолчанию используется политика system, если применимо.

Если задано значение _default, будет использоваться часть политики user, если она доступна.

shamir_secret_sharing_threshold

integer

добавлено в community.sops 1.0.0

Количество различных ключей, необходимых для получения ключа данных с помощью разделения секрета Шамира.

Если параметр не задан ни здесь, ни в файле конфигурации SOPS, по умолчанию используется значение 0.

Соответствует параметру SOPS --shamir-secret-sharing-threshold.

sops_binary

path

добавлено в community.sops 1.0.0

Путь к исполняемому файлу SOPS.

По умолчанию используется sops.

unencrypted_regex

string

добавлено в community.sops 1.0.0

Задает суффикс незашифрованного ключа.

Если параметр указан, незашифрованными останутся только ключи, соответствующие регулярному выражению.

Соответствует параметру SOPS --unencrypted-regex.

unencrypted_suffix

string

добавлено в community.sops 1.0.0

Переопределяет суффикс незашифрованного ключа.

Соответствует параметру SOPS --unencrypted-suffix.

unsafe_writes

boolean

Определяет, когда использовать атомарную операцию для предотвращения повреждения данных или несогласованного чтения целевого объекта файловой системы.

По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения целевых объектов файловой системы, однако иногда конфигурация систем или их неисправности не позволяют это делать. Например, смонтированные в Docker объекты файловой системы нельзя атомарно обновить из контейнера; их можно записать только небезопасным способом.

Этот параметр позволяет Ansible в случае сбоя атомарных операций использовать небезопасные методы обновления объектов файловой системы (однако он не заставляет Ansible выполнять небезопасную запись).

ВАЖНО! Небезопасная запись подвержена состояниям гонки и может привести к повреждению данных.

Допустимые значения:

  • false ← (по умолчанию)
  • true

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: полная

Может выполняться в check_mode и возвращать прогноз статуса изменений, не изменяя целевой объект.

diff_mode

Поддержка: отсутствует

В режиме diff возвращает сведения об изменениях (или о том, что, возможно, нужно изменить в check_mode).

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 }}"

Авторы

  • Felix Fontein (@felixfontein)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Запросить помощь (SOPS)
  • Сообщить об ошибке
  • Предложить новую функцию
  • Связь

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API