Шифрование данных с помощью Mozilla SOPS и SberCloud Key Manager

Mozilla SOPS — простой и гибкий инструмент управления секретами с открытым исходным кодом. Используйте его совместно с SberCloud Key Manager для защиты ваших данных.

Перед началом работы

  1. Установите утилиту Mozilla SOPS.

  2. Получите токен SberCloud Key Manager.

  3. Создайте ключ.

Зашифруйте данные

Чтобы зашифровать данные выполните команду:

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} — токен полученный при аутентификации в SberCloud Key Manager.

  • {key.id} — идентификатор ключа SberCloud 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} — токен полученный при аутентификации в SberCloud Key Manager.

  • {key.id} — идентификатор ключа SberCloud 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} — токен полученный при аутентификации в SberCloud Key Manager.

  • {key.id} — идентификатор ключа SberCloud Key Manager.

  • {key.version.id} — идентификатор версии ключа.

  • {name.file} — имя и формат файла, в который будут помещены зашифрованные данные.