# Шифрование соединения с базой данных GlarusBI хранит информацию о подключении для различных баз данных, которые вы добавляете в базу данных приложения GlarusBI. Чтобы злоумышленники не смогли получить доступ к этим данным, GlarusBI может автоматически шифровать их с помощью AES256 + SHA512 при сохранении и расшифровывать на лету, при запросе данных. ## Создание ключа шифрования 1. Сгенерируйте секретный ключ длиной не менее 16 символов (чем длиннее, тем лучше!). Мы рекомендуем использовать безопасный генератор случайных ключей, например openssl. > Позаботьтесь о том, чтобы не потерять этот ключ, потому что без него вы не сможете расшифровать детали соединения. Если вы потеряете (или измените) ключ, вам придется сбросить все детали подключения, которые были зашифрованы с его помощью в панели администратора. 2. Установите секретный ключ в качестве переменной среды `MB_ENCRYPTION_SECRET_KEY`. ### Примеры команд для создания и добавления ключа 1. Вы можете использовать `openssl` для создания криптографически безопасного 32-символьного ключа, сгенерированного случайным образом. ``` openssl rand -base64 32 ``` 2. Скопируйте ключ в буфер обмена. Это должно выглядеть примерно так: ``` IYqrSi5QDthvFWe4/WdAxhnra5DZC3RKx3ZSrOJDKsM= ``` 3. Установите ключ как переменную среды и запустите GlarusBI, как обычно. ``` MB_ENCRYPTION_SECRET_KEY="IYqrSi5QDthvFWe4/WdAxhnra5DZC3RKx3ZSrOJDKsM=" java -jar glarusBI.jar ``` Как только вы установите значение `MB_ENCRYPTION_SECRET_KEY`, GlarusBI будет надежно шифровать и хранить данные подключения для каждой новой базы данных, которую вы добавляете. **Примечание** > Некоторые версии Linux по-разному интерпретируют одинарные (`'`) и двойные кавычки (`"`) для значений переменных среды. необходимо заключить ключ в двойные кавычки, чтобы одинарные кавычки интерпретировались буквально. Например, `MB_ENCRYPTION_SECRET_KEY='IYq...sM='` станет `MB_ENCRYPTION_SECRET_KEY="'IYq...sM='"` ## Шифрование существующего соединения Если вы добавили базы данных до установки значения `MB_ENCRYPTION_SECRET_KEY`, вы можете зашифровать данные подключения, перейдя к каждой из этих баз данных в **Настройки администратора** > **Базы данных** и нажав кнопку **Сохранить**. Существующие базы данных с незашифрованными данными продолжат нормально работать. ## Ротация ключа шифрования 1. Мы рекомендуем вам [создать резервную копию](../installation-and-operation/backing-up-metabase-application-data.md) ваших данных перед выполнением ротации ключей. 2. Остановите запуск приложения GlarusBI. 3. Запустите команду CLI `rotate-encryption-key`. - Установите текущий ключ шифрования как `MB_ENCRYPTION_SECRET_KEY`. - Установите новый ключ шифрования в качестве параметра. ### Пример команды для поворота ключа ``` MB_ENCRYPTION_SECRET_KEY=your-current-key java -jar glarusBI.jar rotate-encryption-key new-key ``` ## Отключение ключа шифрования Чтобы отключить ключ шифрования, выполните действия [поменять ключ шифрования](#rotating-an-encryption-key), но используйте пустую строку (`""`) в качестве нового ключа. ### Пример команды для отключения ключа ``` MB_ENCRYPTION_SECRET_KEY="your-current-key" java -jar glarusBI.jar rotate-encryption-key "" ```