Аутентификация с помощью сертификата#

CedrusData может быть настроен для аутентификации клиентов на основе проверки достоверности их TLS сертификатов. Только клиенты, чьи сертификаты могут быть верифицированы координатором, смогут пройти аутентификацию.

Важно

Для использования любого механизма аутентификации необходимо предварительно включить Шифрование клиентского трафика с помощью TLS и Аутентификация узлов в кластере (shared secret).

Принцип работы#

В процессе установки соединения по TLS/HTTPS координатор возвращает клиенту свой сертификат, после чего клиент проверяет достоверность сертификата. При использовании механизма аутентификации CERTIFICATE, координатор дополнительно запрашивает сертификат клиента и проверяет его достоверность.

Если проверка сертификата проходит успешно, CedrusData использует distinguished name (DN) из поля X.509 Subject сертификата клиента в качестве имени пользователя. Используйте Сопоставление пользователей, чтобы задать альтернативное имя пользователя CedrusData.

Если проверка сертификата завершается ошибкой, координатор может опционально использовать последующие сконфигурированные механизмы аутентификации.

Конфигурация#

Конфигурацию необходимо задать на координаторе.

Задайте механизм аутентификации CERTIFICATE в etc/config.properties:

http-server.authentication.type=CERTIFICATE
Параметры конфигурации#

Название

Описание

http-server.authentication.certificate.user-mapping.pattern

Регулярное выражение для сопоставления имен пользователей

http-server.authentication.certificate.user-mapping.file

Файл с правилами сопоставления имен пользователей

Клиенты#

При использовании механизма аутентификации CERTIFICATE необходимо при подключении к координатору указать путь к сертификату клиента и пароль (при наличии).

При подключении через Trino CLI задайте параметры --keystore-path и --keystore-password, как описано в Certificate authentication.

При подключении через JDBC драйвер задайте параметры SSLKeyStoreType и SSLKeyStorePassword.