## SSL сертификат Если вы хотите подключить свой экземпляр GlarusBI Cloud или собственный экземпляр к базе данных, вы можете защитить соединение, используя шифрование Secure Socket Layer (SSL) с сертификатом. Почему это стоит сделать: - Вы используете GlarusBI Cloud и хотите удостовериться в подлинности хранилища данных, к которому вы подключаетесь (например, PostgreSQL, MySQL). - Вы самостоятельно размещаете GlarusBI и хотите удостовериться в подлинности хранилища данных, размещенного у внешнего поставщика. Вы также можете использовать этот метод, чтобы убедиться, что вы используете самые строгие параметры подключения при подключении к базе данных приложения. Если вы используете GlarusBI Cloud, база данных приложения поддерживается за вас, поэтому вам нужно будет только защитить подключения к хранилищам данных, которые вы добавляете в свою GlarusBI. ### Предпосылки База данных, которая разрешает подключение JDBC, так как вам нужно будет использовать строку подключения, для указания сертификата. ### Шаг 1: Скачайте корневой сертификат у вашего провайдера Если вы используете GlarusBI через контейнер Docker, у вас уже должны быть сертификаты для AWS и Azure. Вы найдете сертификаты в каталоге `/app/certs/` в образе Docker GlarusBI: - AWS RDS: `/app/certs/rds-combined-ca-bundle.pem` - Сертификат Azure: `/app/certs/DigiCertGlobalRootG2.crt.pem` Если вам нужен другой сертификат, вы можете создать собственный образ Docker. Посетите страницу вашего внешнего поставщика для вашей базы данных и найдите ссылку для зможет агрузки корневого сертификата для подключения к вашей базе данных. ### Шаг 2: Сохраните сертификат **Собственный хостинг** Сохраните загруженный сертификат в том же каталоге, где хранится файл glarusBI.jar. Технически вы можете хранить сертификат где угодно, но рекомендуется хранить его в том же каталоге, что и ваш файл glarusBI.jar. Путь к сертификату указывается в строке подключения. **Облако GlarusBI** Сначала вам необходимо выполнить [Шаг 3: Добавьте базу данных](#step-3-add-your-database). Сделав это, вы можете перейти в **Администрирование** > **Базы данных** и выбрать свою базу данных. Найдите раздел **Сертификат клиента SSL** и нажмите **Выберите файл**, чтобы загрузить загруженный сертификат. ### Шаг 3: Добавьте базу данных Например, допустим, вы хотите защитить соединение с базой данных PostgreSQL. Следуйте инструкциям в приложении, чтобы добавить базу данных. Чтобы узнать больше о настройке подключения к базе данных, ознакомьтесь с нашей документацией по [добавлению базы данных](./connecting.md). ### Шаг 4. Включите параметр «Использовать безопасное соединение (SSL)». Если ваша база данных поддерживает подключение JDBC, GlarusBI предоставит вам поле для ввода дополнительных параметров в строку подключения. GlarusBI будет использовать параметры в строке подключения для установки безопасного соединения. ### Шаг 5. Добавьте дополнительные параметры строки подключения Вам нужно будет указать расположение сертификата на сервере, на котором работает GlarusBI. Например, при подключении к базе данных PostgreSQL вам потребуется добавить два параметра: - `sslmode`. Вы можете увидеть полный список параметров в [документации PostgreSQL](https://jdbc.postgresql.org/documentation/ssl/#configuring-the-client). Мы рекомендуем вам использовать `verify-full`; это наиболее безопасно, а накладные расходы минимальны. - `sslrootcert`. Здесь вы укажете путь к файлу сертификата. Необходимо добавить амперсанд (`&`) для разделения каждого параметра. Например, в поле **Добавить дополнительные параметры строки подключения** вы должны добавить что-то вроде: ``` sslmode=verify-full&sslrootcert=/path/to/certificate.pem ``` Замените `/path/to/certificate.pem` на полный путь к сертификату, который вы скачали у своего провайдера. Вы можете узнать больше о [поддержке SSL для PostgreSQL](https://www.postgresql.org/docs/current/libpq-ssl.html). ## Защита подключения к базе данных приложения с помощью переменных окружения Если вы самостоятельно размещаете GlarusBI, вы можете защитить соединение с базой данных вашего приложения, используя [переменные среды](../configuring-metabase/environment-variables.md). Используемая переменная среды: [`MB_DB_CONNECTION_URI`](../configuring-metabase/environment-variables.md#mb_db_connection_uri). Вам нужно будет указать здесь полную строку подключения, включая хост базы данных, порт, имя базы данных и информацию о пользователе, а также дополнительные параметры подключения для включения сертификата. Например, ``` jdbc:postgresql://db.example.com:port/mydb?user=dbuser&password=dbpassword&ssl=true&sslmode=verify-full&sslrootcert=/path/to/certificate.pem ``` ## Хранилище доверенных сертификатов и хранилище ключей С некоторыми базами данных, такими как PostgreSQL и Oracle, вы можете защищать соединения, используя хранилища доверенных сертификатов и хранилища ключей. ### Трастовые хранилища Если для проверки учетных данных предоставляется хранилище доверенных сертификатов, клиент (ваша GlarusBI) может аутентифицировать сервер (базу данных) и убедиться, что его личность соответствует ожиданиям. ### Хранилища ключей Если хранилище ключей используется для предоставления учетных данных, то сервер (базы данных) может запросить у клиента (вашей GlarusBI) аутентификацию с использованием этого хранилища ключей. Хранилища ключей используются реже, а в некоторых случаях использовать хранилища ключей невозможно (например, Amazon RDS запрещает хранилища ключей). Но вы можете использовать хранилище ключей, если размещаете у себя хостинг.