Перейти к содержанию

Шифрование соединения с базой данных

Glarus BI хранит информацию о подключении для различных баз данных, которые вы добавляете в базу данных приложения Glarus BI. Чтобы злоумышленники не смогли получить доступ к этим данным, если они получат доступ к базе данных приложения, Glarus BI может автоматически шифровать их с помощью AES256 + SHA512 при сохранении и расшифровывать на лету, когда они необходимы.

Создание ключа шифрования

  1. Сгенерируйте секретный ключ длиной не менее 16 символов (чем длиннее, тем лучше!). Мы рекомендуем использовать безопасный генератор случайных ключей, например openssl.

!!! warning "Предупреждение" > Вы не сможете расшифровать детали соединения без этого ключа. Если вы потеряете (или измените) ключ, вам придется сбросить все детали подключения, которые были зашифрованы с этим ключом в панели администратора.

  1. Установите секретный ключ в качестве переменной среды MB_ENCRYPTION_SECRET_KEY.

Примеры команд для создания и добавления ключа

  1. Вы можете использовать openssl для создания криптографически безопасного 32-символьного ключа, сгенерированного случайным образом.
openssl rand -base64 32
  1. Скопируйте ключ в буфер обмена. Это должно выглядеть примерно так:
IYqrSi5QDthvFWe4/WdAxhnra5DZC3RKx3ZSrOJDKsM=
  1. Установите ключ как переменную среды и запустите Glarus BI, как обычно.
MB_ENCRYPTION_SECRET_KEY="IYqrSi5QDthvFWe4/WdAxhnra5DZC3RKx3ZSrOJDKsM=" java --add-opens java.base/java.nio=ALL-UNNAMED -jar glarus-bi.jar

Как только вы установите значение MB_ENCRYPTION_SECRET_KEY, Glarus BI будет автоматически шифровать и хранить данные подключения для каждой новой базы данных, которую вы добавляете. Чтобы зашифровать существующие соединения, см. следующий раздел.

Шифрование существующего соединения

Если вы добавили базы данных до установки значения MB_ENCRYPTION_SECRET_KEY, вы можете зашифровать данные подключения, перейдя к каждой из этих баз данных в Управление > Базы данных и нажав кнопку Сохранить. Существующие базы данных с незашифрованными данными продолжат нормально работать. Существующие базы данных с незашифрованными данными продолжат нормально работать.

Ротация ключа шифрования

  1. Мы рекомендуем вам создать резервную копию ваших данных перед выполнением ротации ключей.
  2. Остановите работу приложения Glarus BI.
  3. Запустите команду CLI rotate-encryption-key.
  4. Установите текущий ключ шифрования как MB_ENCRYPTION_SECRET_KEY.
  5. Установите новый ключ шифрования в качестве параметра.

Пример команды для ротации ключа

MB_ENCRYPTION_SECRET_KEY=your-current-key java --add-opens java.base/java.nio=ALL-UNNAMED -jar glarus-bi.jar rotate-encryption-key new-key

Отключение ключа шифрования

Чтобы отключить ключ шифрования, выполните действия для ротации ключа шифрования, но используйте пустую строку ("") в качестве нового ключа.

Пример команды для отключения ключа

MB_ENCRYPTION_SECRET_KEY="your-current-key" java --add-opens java.base/java.nio=ALL-UNNAMED -jar glarus-bi.jar rotate-encryption-key ""