@@ -36,6 +36,12 @@ configuration of the chosen group provider must be included in the same file.
3636 Defaults to ` keep ` .
3737:::
3838
39+ ## Integration with access control
40+
41+ Groups resolved by the group provider are passed to Trino’s system access
42+ control engine. Access control rules can reference these group names to grant
43+ or restrict permissions.
44+
3945(file-group-provider)=
4046## File group provider
4147
@@ -80,13 +86,12 @@ group_name:user_1,user_2,user_3
8086## LDAP group provider
8187
8288The LDAP group provider resolves user group memberships from configuration
83- retrieved from an LDAP server.
84- This allows access rules to be defined based on LDAP groups instead of
85- individual users.
89+ retrieved from an LDAP server. This allows access rules to be defined based on
90+ LDAP groups instead of individual users.
8691
8792### Configuration
8893
89- Enable LDAP group provider by creating an ` etc/group-provider.properties ` file
94+ Enable LDAP group provider by creating an ` etc/group-provider.properties ` file
9095on the coordinator and add further configuration for the LDAP server
9196connections and other information as detailed in the following sections.
9297
@@ -99,52 +104,54 @@ group-provider.name=ldap
99104:header-rows: 1
100105* - Property name
101106 - Description
102- * - ` ldap.url `
103- - LDAP server URI. For example, ` ldap://host:389 ` or ` ldaps://host:636 ` .
104- * - ` ldap.allow-insecure `
105- - Allow insecure connection to the LDAP server.
106- * - ` ldap.ssl.keystore.path `
107+ * - ` ldap.url `
108+ - LDAP server URI. For example, ` ldap://host:389 ` or ` ldaps://host:636 ` .
109+ * - ` ldap.allow-insecure `
110+ - Allow insecure connection to the LDAP server. Defaults to ` false ` .
111+ * - ` ldap.ssl.keystore.path `
107112 - Path to the PEM or JKS key store.
108- * - ` ldap.ssl.keystore.password `
113+ * - ` ldap.ssl.keystore.password `
109114 - Password for the key store.
110115* - ` ldap.ssl.truststore.path `
111116 - Path to the PEM or JKS trust store.
112- * - ` ldap.ssl.truststore.password `
117+ * - ` ldap.ssl.truststore.password `
113118 - Password for the trust store.
114- * - ` ldap.ignore-referrals `
119+ * - ` ldap.ignore-referrals `
115120 - Referrals allow finding entries across multiple LDAP servers. Ignore them
116- to only search within one LDAP server.
117- * - ` ldap.timeout.connect `
118- - Timeout for establishing a connection.
119- * - ` ldap.timeout.read `
120- - Timeout for reading data from LDAP.
121- * - ` ldap.admin-user `
122- - Bind distinguished name for admin user. For example,
121+ to only search within one LDAP server. Defaults to ` false ` .
122+ * - ` ldap.timeout.connect `
123+ - Timeout [ duration] ( prop-type-duration ) for establishing a connection.
124+ Defaults to ` 1m ` .
125+ * - ` ldap.timeout.read `
126+ - Timeout [ duration] ( prop-type-duration ) for reading data from LDAP.
127+ Defaults to ` 1m ` .
128+ * - ` ldap.admin-user `
129+ - Bind distinguished name for admin user. For example,
123130 ` CN=UserName,OU=City,OU=State,DC=domain,DC=domain_root `
124- * - ` ldap.admin-password `
125- - Bind password used for the admin user.
126- * - ` ldap.user-base-dn `
131+ * - ` ldap.admin-password `
132+ - Bind password used for the admin user.
133+ * - ` ldap.user-base-dn `
127134 - Base distinguished name for users. For example, ` dc=example,dc=com ` .
128- * - ` ldap.user-search-filter `
135+ * - ` ldap.user-search-filter `
129136 - LDAP filter to find user entries; ` {0} ` is replaced with the Trino username.
130137 For example, ` (cn={0}) `
131- * - ` ldap.group-name-attribute `
138+ * - ` ldap.group-name-attribute `
132139 - Attribute to extract group name from group entry. For example, ` cn ` .
133- * - ` ldap.use-group-filter `
134- - Whether to use search-based group resolution. Defaults to ` true ` .
135- If ` false ` , Trino uses the attribute-based method.
140+ * - ` ldap.use-group-filter `
141+ - Whether to use search-based group resolution. Defaults to ` true ` .
142+ When ` false ` , Trino uses the attribute-based method.
136143:::
137144
138145Group resolution behavior is controlled by the ` ldap.use-group-filter ` property.
139- With search-based group resolution, Trino searches for group entries that
146+ With search-based group resolution, Trino searches for group entries that
140147include the user DN. This requires the following properties:
141148
142149:::{list-table} Search-based group resolution
143150:widths: 40, 60
144151:header-rows: 1
145152* - Property name
146153 - Description
147- * - ` ldap.group-base-dn `
154+ * - ` ldap.group-base-dn `
148155 - Base distinguished name for groups. For example, ` dc=example,dc=com ` .
149156* - ` ldap.group-search-filter `
150157 - Search filter for group documents. For example, ` (cn=trino_*) ` .
@@ -153,7 +160,7 @@ include the user DN. This requires the following properties:
153160 ` cn ` .
154161:::
155162
156- In case of attribute-based group resolution, Trino reads the group list
163+ In case of attribute-based group resolution, Trino reads the group list
157164directly from a user attribute. This requires the following property:
158165
159166:::{list-table} Attribute-based (single query) group resolution
@@ -168,7 +175,7 @@ directly from a user attribute. This requires the following property:
168175
169176### Example configurations
170177
171- The following configuration is an example for an OpenLDAP (search-based)
178+ The following configuration is an example for an OpenLDAP (search-based)
172179group provider:
173180
174181``` properties
@@ -188,7 +195,7 @@ ldap.group-search-filter=(cn=trino_*)
188195ldap.group-search-member-attribute =member
189196```
190197
191- The following configuration is an example for an Active Directory
198+ The following configuration is an example for an Active Directory
192199(single query, attribute-based) group provider:
193200
194201``` properties
@@ -205,9 +212,3 @@ ldap.use-group-filter=false
205212
206213ldap.user-member-of-attribute =memberOf
207214```
208-
209- ### Integration with access control
210-
211- Groups resolved by the LDAP provider are passed to Trino’s system access
212- control engine. Access control rules can reference these group names to grant
213- or restrict permissions.
0 commit comments