Аутентификатор сертификатов#
Trino поддерживает аутентификацию на основе TLS с сертификатами X509 через пользовательский аутентификатор сертификатов, который извлекает principal из клиентского сертификата.
Реализация#
CertificateAuthenticatorFactory отвечает за создание экземпляра
CertificateAuthenticator. Он также определяет имя этого аутентификатора,
которое администратор использует в конфигурации Trino.
CertificateAuthenticator содержит единственный метод, authenticate(),
который аутентифицирует клиентский сертификат и возвращает Principal,
который затем авторизуется через Системный контроль доступа.
Реализация CertificateAuthenticatorFactory должна быть упакована
как плагин и установлена в кластере Trino.
Конфигурация#
После установки на координатор плагина, реализующего
CertificateAuthenticatorFactory, он настраивается с помощью файла
etc/certificate-authenticator.properties. Все свойства, кроме
certificate-authenticator.name, специфичны для реализации
CertificateAuthenticatorFactory.
Свойство certificate-authenticator.name используется Trino для поиска
зарегистрированного CertificateAuthenticatorFactory по имени, возвращаемому
CertificateAuthenticatorFactory.getName(). Остальные свойства передаются
в виде map в CertificateAuthenticatorFactory.create().
Пример файла конфигурации:
certificate-authenticator.name=custom
custom-property1=custom-value1
custom-property2=custom-value2
Дополнительно координатор должен быть настроен на использование аутентификации по сертификатам, и на нем должен быть включен HTTPS (или включена переадресация HTTPS).