Провайдер групп#
Trino может сопоставлять имена пользователей с группами для более удобного
управления доступом. Это сопоставление выполняется реализацией
GroupProvider.
Реализация#
GroupProviderFactory отвечает за создание экземпляра GroupProvider.
Он также определяет имя провайдера групп, используемое в конфигурационном файле.
GroupProvider содержит один метод, getGroups(String user),
который возвращает Set<String> с именами групп.
Этот набор имен групп становится частью объектов Identity и
ConnectorIdentity, представляющих пользователя, и затем может использоваться
через Системный контроль доступа.
Реализация GroupProvider и соответствующий ей GroupProviderFactory
должны быть упакованы как плагин Trino и установлены в кластере.
Конфигурация#
После установки на координатор плагина, реализующего GroupProviderFactory,
он настраивается с помощью файла etc/group-provider.properties.
Все свойства, кроме group-provider.name, специфичны для
реализации GroupProviderFactory.
Свойство group-provider.name используется Trino для поиска
зарегистрированного GroupProviderFactory по имени, возвращаемому
GroupProviderFactory.getName().
Остальные свойства передаются в виде map в
GroupProviderFactory.create(Map<String, String>).
Пример файла конфигурации:
group-provider.name=custom-group-provider
custom-property1=custom-value1
custom-property2=custom-value2
При наличии этого файла Trino будет выполнять определение имен групп пользователей и сможет использовать эти имена групп при проверке правил контроля доступа.