Group provider#

Trino can map user names onto groups for easier access control management. This mapping is performed by a GroupProvider implementation.


GroupProviderFactory is responsible for creating a GroupProvider instance. It also defines the name of the group provider as used in the configuration file.

GroupProvider contains a one method, getGroups(String user) which returns a Set<String> of group names. This set of group names becomes part of the Identity and ConnectorIdentity objects representing the user, and can then be used by System access control.

The implementation of GroupProvider and it’s corresponding GroupProviderFactory must be wrapped as a Trino plugin and installed on the cluster.


After a plugin that implements GroupProviderFactory has been installed on the coordinator, it is configured using an etc/ file. All of the properties other than are specific to the GroupProviderFactory implementation.

The property is used by Trino to find a registered GroupProviderFactory based on the name returned by GroupProviderFactory.getName(). The remaining properties are passed as a map to GroupProviderFactory.create(Map<String, String>).

Example configuration file:

With that file in place, Trino will attempt user group name resolution, and will be able to use the group names while evaluating access control rules.