Шифрование данных с помощью Mozilla SOPS и Key Manager
Mozilla SOPS — простой и гибкий инструмент управления секретами с открытым исходным кодом. Используйте его совместно с Key Manager для защиты ваших данных.
Перед началом работы
Скачайте и распакуйте архив с бинарными файлами для Mozilla SOPS.
Запустите все бинарные файлы из архива.
Подсказка
Чтобы запустить файлы, в командной строке перейдите в каталог, где они сохранены, и используйте команду ./sops
Получите токен Key Manager.
Зашифруйте данные
Чтобы зашифровать данные выполните команду:
sops % SBERCLOUD_AUTH_TOKEN=${IAM_AUTH_TOKEN} SOPS_SBERCLOUD_KMS_CRYPTO_KEYS={key.id}:{key.version.id} sops --encrypt {path.file} > {name.file}
Где:
{IAM_AUTH_TOKEN} — токен полученный при аутентификации в Cloud.ru Key Manager.
{key.id} — идентификатор ключа Cloud.ru Key Manager.
{key.version.id} — идентификатор версии ключа.
{path.file} — путь до файла с данными для шифрования.
{name.file} — имя и формат файла, в который будут помещенны зашифрованные данные.
Пример команды:
sops % SBERCLOUD_AUTH_TOKEN=${IAM_AUTH_TOKEN} SOPS_SBERCLOUD_KMS_CRYPTO_KEYS=c01bc4f1-874f-44d8-b6d8-17d14d98e3e7:1 sops --encrypt /Users/Downloads/asd.txt > asd.enc.json
В данном примере команда, используя созданный криптографический ключ, шифрует текстовый файл asd.txt
и помещает зашифрованные данные в файл asd.enc.json
.
Расшифруйте данные
Чтобы дешифровать файл, нужно выполнить следующую команду:
sops % SBERCLOUD_AUTH_TOKEN=${IAM_AUTH_TOKEN} SOPS_SBERCLOUD_KMS_CRYPTO_KEYS={key.id}:{key.version.id} sops --decrypt {name.file}
Где:
{IAM_AUTH_TOKEN} — токен полученный при аутентификации в Cloud.ru Key Manager.
{key.id} — идентификатор ключа Cloud.ru Key Manager.
{key.version.id} — идентификатор версии ключа.
{name.file} — имя и формат файла, данные которого необходимо расшифровать.
Пример команды:
sops % SBERCLOUD_AUTH_TOKEN=${IAM_AUTH_TOKEN} SOPS_SBERCLOUD_KMS_CRYPTO_KEYS=c02bc4f1-872f-43d8-b6d5-18d14d98e3e7:1 sops --decrypt asd.enc.json
В данном примере команда, используя созданный криптографический ключ, расшифрует данные в файле asd.enc.json
.
Для ротации зашифрованного файла используйте команду:
sops % SBERCLOUD_AUTH_TOKEN=${IAM_AUTH_TOKEN} SOPS_SBERCLOUD_KMS_CRYPTO_KEYS={key.id}:{key.version.id} sops --rotate {name.file}
Где:
{IAM_AUTH_TOKEN} — токен полученный при аутентификации в ыKey Manager.
{key.id} — идентификатор ключа Key Manager.
{key.version.id} — идентификатор версии ключа.
{name.file} — имя и формат файла, данные которого небходимо ротировать.
для Dev & Test