SSL-сертификат¶
Если вы хотите подключить свой экземпляр Glarus BI Cloud или собственный экземпляр к базе данных, вы можете защитить соединение, используя шифрование Secure Socket Layer (SSL) с сертификатом.
Когда это стоит сделать:
- Вы используете Glarus BI Cloud и хотите удостовериться в подлинности хранилища данных, к которому подключаетесь (например, PostgreSQL, MySQL).
- Вы самостоятельно размещаете Glarus BI и хотите удостовериться в подлинности хранилища данных, размещённого у внешнего поставщика. Вы также можете использовать этот метод, чтобы убедиться в использовании самых строгих параметров подключения к базе данных приложения.
Если вы используете Glarus BI Cloud, база данных приложения поддерживается за вас, поэтому вам нужно будет только защитить подключения к хранилищам данных, которые вы добавляете в свою Glarus BI.
Предусловия¶
База данных, которая разрешает подключение JDBC, так как вам нужно будет использовать строку подключения для указания сертификата.
Шаг 1. Скачайте корневой сертификат у вашего провайдера¶
Если вы используете Glarus BI через контейнер Docker, у вас уже должны быть сертификаты для AWS и Azure.
Вы найдёте сертификаты в каталоге /app/certs/
в образе Docker Glarus BI:
-
AWS RDS:
/app/certs/rds-combined-ca-bundle.pem
-
Сертификат Azure:
/app/certs/DigiCertGlobalRootG2.crt.pem
Если вам нужен другой сертификат, вы можете создать собственный образ Docker. Посетите страницу вашего внешнего поставщика для вашей базы данных и найдите ссылку для загрузки корневого сертификата для подключения к вашей базе данных.
Шаг 2. Сохраните сертификат¶
Собственный экземпляр
Сохраните загруженный сертификат в тот же каталог, где хранится файл metabase.jar
. Технически вы можете хранить сертификат где угодно, но рекомендуется хранить его рядом с metabase.jar
. Путь к сертификату указывается в строке подключения.
Облако Glarus BI
Сначала вам необходимо выполнить Шаг 3. Добавьте базу данных.
Сделав это, вы можете перейти в Управление > Базы данных и выбрать свою базу данных. Найдите раздел Сертификат клиента SSL и нажмите Выберите файл, чтобы загрузить загруженный сертификат.
Шаг 3. Добавьте базу данных¶
Допустим, вы хотите защитить соединение с базой данных PostgreSQL. Следуйте инструкциям в приложении, чтобы добавить базу данных. Чтобы узнать больше о настройке подключения к базе данных, ознакомьтесь с нашей документацией по добавлению базы данных.
Шаг 4. Включите параметр «Использовать безопасное соединение (SSL)»¶
Если ваша база данных поддерживает подключение JDBC, Glarus BI предоставит вам поле для ввода дополнительных параметров в строку подключения. Glarus BI будет использовать параметры в строке подключения для установки безопасного соединения.
Шаг 5. Добавьте дополнительные параметры строки подключения¶
Вам нужно будет указать расположение сертификата на сервере, на котором работает Glarus BI.
Например, при подключении к базе данных PostgreSQL вам потребуется добавить два параметра:
sslmode
. Вы можете увидеть полный список параметров в документации PostgreSQL. Мы рекомендуем вам использоватьverify-full
; это наиболее безопасно, а накладные расходы минимальны.sslrootcert
. Здесь вы можете указать путь к файлу сертификата.
Необходимо добавить амперсанд (&
) для разделения каждого параметра. Например, в поле Добавить дополнительные параметры строки подключения вы должны добавить что-то вроде:
Замените /path/to/certificate.pem
на полный путь к сертификату, который вы скачали у своего провайдера.
Вы можете узнать больше о поддержке SSL для PostgreSQL.
Защита подключения к базе данных приложения с помощью переменных окружения¶
Если вы самостоятельно размещаете Glarus BI, вы можете защитить соединение с базой данных вашего приложения, используя переменные среды.
Используемая переменная среды: 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, вы можете защищать соединения, используя хранилища доверенных сертификатов и хранилища ключей.
Хранилища доверенных сертификатов¶
Если для проверки учётных данных используется хранилище доверенных сертификатов, клиент (ваша Glarus BI) может аутентифицировать сервер (базу данных) и убедиться, что его личность соответствует ожиданиям.
Хранилища ключей¶
Если для предоставления учётных данных используется хранилище ключей, то сервер (базы данных) может запросить у клиента (вашей Glarus BI) аутентификацию с использованием этого хранилища ключей. Хранилища ключей используются реже, а в некоторых случаях использовать хранилища ключей невозможно (например, Amazon RDS запрещает хранилища ключей). Но вы можете использовать хранилище ключей, если размещаете хостинг у себя.