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

SSL-сертификат

Если вы хотите подключить свой экземпляр Glarus BI Cloud или собственный экземпляр к базе данных, вы можете защитить соединение, используя шифрование Secure Socket Layer (SSL) с сертификатом.

Когда это стоит сделать:

  1. Вы используете Glarus BI Cloud и хотите удостовериться в подлинности хранилища данных, к которому подключаетесь (например, PostgreSQL, MySQL).
  2. Вы самостоятельно размещаете 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. Здесь вы можете указать путь к файлу сертификата.

Необходимо добавить амперсанд (&) для разделения каждого параметра. Например, в поле Добавить дополнительные параметры строки подключения вы должны добавить что-то вроде:

sslmode=verify-full&sslrootcert=/path/to/certificate.pem

Замените /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 запрещает хранилища ключей). Но вы можете использовать хранилище ключей, если размещаете хостинг у себя.