community.sops.sops_encrypt – Шифрование данных с помощью sops
Примечание
Этот плагин входит в коллекцию community.sops (версия 1.0.4).
Для его установки используйте: ansible-galaxy collection install community.sops.
Для использования в плейбуке укажите: community.sops.sops_encrypt.
Новое в версии 0.1.0: of community.sops
Обзор
- Позволяет шифровать двоичные данные (кодированные Base64), текстовые данные, данные JSON или YAML с помощью sops.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| attributes строка добавлено в 2.3 модуля ansible.builtin | Атрибуты, которые должны быть у результирующего файла или каталога. Для получения поддерживаемых флагов обратитесь к странице справки для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и при выводе команды lsattr. Оператор = предполагается по умолчанию, в противном случае необходимо включить операторы + или - в строку.псевдонимы: attr | |
| aws_access_key_id строка добавлено в 1.0.0 модуля community.sops | Идентификатор ключа доступа AWS, который следует использовать для запросов к AWS. Устанавливает переменную среды AWS_ACCESS_KEY_ID для вызова sops. | |
| aws_profile строка добавлено в 1.0.0 модуля community.sops | Профиль AWS, который следует использовать для запросов к AWS. Это соответствует параметру sops --aws-profile. | |
| aws_secret_access_key строка добавлено в 1.0.0 модуля community.sops | Секретный ключ доступа AWS, который следует использовать для запросов к AWS. Устанавливает переменную среды AWS_SECRET_ACCESS_KEY для вызова sops. | |
| aws_session_token строка добавлено в 1.0.0 модуля community.sops | Токен сессии AWS, который следует использовать для запросов к AWS. Устанавливает переменную среды AWS_SESSION_TOKEN для вызова sops. | |
| azure_kv список / элементы=строка добавлено в 1.0.0 модуля community.sops | URL-адреса Azure Key Vault для использования. Это соответствует параметру sops --azure-kv. | |
| config_path путь добавлено в 1.0.0 модуля community.sops | Путь к файлу конфигурации sops. Если не задано, sops будет рекурсивно искать файл конфигурации, начиная с файла, который шифруется или расшифровывается. Это соответствует параметру sops --config. | |
| content_binary строка | Данные для шифрования. Должны быть закодированы в Base64 данные в двоичном формате. Обратите внимание, что модуль может быть не идемпотентным, если данные могут быть проанализированы как JSON или YAML. Должен быть указан ровно один из параметров content_text, content_binary, content_json и content_yaml. | |
| content_json словарь | Данные для шифрования. Должен быть словарь JSON. Должен быть указан ровно один из параметров content_text, content_binary, content_json и content_yaml. | |
| content_text строка | Данные для шифрования. Должна быть строка Юникода. Обратите внимание, что модуль может быть не идемпотентным, если текст может быть проанализирован как JSON или YAML. Должен быть указан ровно один из параметров content_text, content_binary, content_json и content_yaml. | |
| content_yaml словарь | Данные для шифрования. Должен быть словарь YAML. Обратите внимание, что Ansible позволяет передавать только данные, которые могут быть представлены как словарь JSON. Должен быть указан ровно один из параметров content_text, content_binary, content_json и content_yaml. | |
| enable_local_keyservice логическое добавлено в 1.0.0 модуля community.sops |
| Указать sops использовать локальную службу ключей. Это соответствует параметру sops --enable-local-keyservice. |
| encrypted_regex строка добавлено в 1.0.0 модуля community.sops | Установить суффикс зашифрованного ключа. При указании будут зашифрованы только ключи, соответствующие заданному регулярному выражению. Это соответствует параметру sops --encrypted-regex. | |
| encrypted_suffix строка добавлено в 1.0.0 модуля community.sops | Переопределить суффикс зашифрованного ключа. Если задано пустая строка, все ключи будут зашифрованы, которые явно не помечены параметром unencrypted_suffix. Это соответствует параметру sops --encrypted-suffix. | |
| encryption_context список / элементы=строка добавлено в 1.0.0 модуля community.sops | Список пар контекста шифрования KMS в формате key:value.Это соответствует параметру sops --encryption-context. | |
| force логическое |
| Принудительно переписать зашифрованный файл. |
| gcp_kms список / элементы=строка добавлено в 1.0.0 модуля community.sops | Идентификаторы ресурсов GCP KMS для использования. Это соответствует параметру sops --gcp-kms. | |
| group строка | Имя группы, которая должна владеть файлом/каталогом, как это передается в команду chown. | |
| hc_vault_transit список / элементы=строка добавлено в 1.0.0 модуля community.sops | URI ключей HashiCorp Vault для использования. Например, https://vault.example.org:8200/v1/transit/keys/dev.Это соответствует параметру sops --hc-vault-transit. | |
| keyservice список / элементы=строка добавлено в 1.0.0 модуля community.sops | Укажите службы ключей, которые нужно использовать помимо локальной. Служба ключей должна быть указана в формате protocol://address, например, tcp://myserver.com:5000.Это соответствует параметру sops --keyservice. | |
| kms список / элементы=строка добавлено в 1.0.0 модуля community.sops | Список ARNs KMS для использования. Это соответствует параметру sops --kms. | |
| mode сырой | Разрешения, которые должен иметь результирующий файл или каталог. Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы можете добавить ведущую нуль, чтобы Ansible's YAML-парсер понял, что это восьмеричное число (например, 0644 или 01777) или заключить в кавычки (например, '644' или '1777') так Ansible получит строку и может выполнить собственное преобразование из строки в число.Передача Ansible числа без соблюдения одного из этих правил приведет к десятичному числу, что может привести к нежелательным результатам. Начиная с Ansible 1.8, режим можно указать как символический режим (например, u+rwx или u=rw,g=r,o=r).Если mode не указано и целевой файл не существует, по умолчанию будет использоваться значение umask на системе при установке режима для вновь создаваемого файла.Если mode не указано и целевой файл существует, будет использован режим существующего файла.Указание mode - лучший способ гарантировать создание файлов с правильными разрешениями. Дополнительные сведения см. в CVE-2020-1736. | |
| owner строка | Имя пользователя, который должен владеть файлом/каталогом, как это передается в команду chown. | |
| path путь / обязательно | Файл sops для шифрования. | |
| pgp список / элементы=строка добавлено в 1.0.0 модуля community.sops | PGP-отпечатки для использования. Это соответствует параметру sops --pgp. | |
| selevel строка | Часть уровня SELinux контекста файла. Это атрибут MLS/MCS, иногда известный как range.Если установлено значение _default, будет использоваться часть политики level, если она доступна. | |
| serole строка | Часть роли контекста файла SELinux. Если установлено значение _default, будет использоваться часть политики role, если она доступна. | |
| setype строка | Часть типа контекста файла SELinux. Если установлено значение _default, будет использоваться часть политики type, если она доступна. | |
| seuser строка | Часть пользователя контекста файла SELinux. По умолчанию используется политика system, где это применимо.Если установлено значение _default, будет использоваться часть политики user, если она доступна. | |
| shamir_secret_sharing_threshold целое число добавлено в 1.0.0 модуля community.sops | Количество отдельных ключей, необходимых для извлечения ключа данных с использованием разделения секрета по методу Шамира. Если не указано здесь и в файле конфигурации sops, по умолчанию используется 0.Это соответствует параметру sops --shamir-secret-sharing-threshold. | |
| sops_binary путь добавлено в 1.0.0 модуля community.sops | Путь к исполняемому файлу sops. По умолчанию используется sops. |
| unencrypted_regex строка добавлено в 1.0.0 community.sops | Установите суффикс нешифрованного ключа. При указании будут оставлены нешифрованными только ключи, соответствующие регулярному выражению. Это соответствует опции sops --unencrypted-regex. | |
| unencrypted_suffix строка добавлено в 1.0.0 community.sops | Переопределить суффикс нешифрованного ключа. Это соответствует опции sops --unencrypted-suffix. | |
| unsafe_writes булево добавлено в 2.2 ansible.builtin |
| Влияние на использование атомарной операции для предотвращения повреждения данных или несогласованных чтений из целевого файла. По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованных чтений из целевых файлов, но иногда системы настроены или просто сломаны таким образом, что это предотвращается. Одним из примеров являются файлы, смонтированные с помощью Docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только небезопасным способом. Этот параметр позволяет Ansible переходить к небезопасным методам обновления файлов при сбое атомарных операций (однако он не заставляет Ansible выполнять небезопасные записи). ВАЖНО! Небезопасные записи подвержены ситуациям гонки и могут привести к повреждению данных. |
Примечания
Примечание
- Поддерживает
check_mode.
См. также
См. также
- 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)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/sops/sops_encrypt_module.html