Skip to content

Commit dd5c4e5

Browse files
authored
LDAPS and LDAP Client Certificate Docs
Add documentation via LDAP sample configuration for LDAPS and LDAP client certificates. These are new features in the yet-to-be released Enterprise 1.11.7
1 parent 321785e commit dd5c4e5

File tree

1 file changed

+50
-32
lines changed
  • content/enterprise_influxdb/v1/administration/configure/security

1 file changed

+50
-32
lines changed

content/enterprise_influxdb/v1/administration/configure/security/ldap.md

Lines changed: 50 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -157,68 +157,86 @@ The DN of an LDAP entry is similar to a file path on a file system.
157157
enabled = true
158158
159159
[[servers]]
160-
enabled = true
161-
162-
[[servers]]
163-
host = "<LDAPserver>"
160+
host = "ldap.example.com"
164161
port = 389
165162
166163
# Security mode for LDAP connection to this server.
167-
# The recommended security is set "starttls" by default. This uses an initial unencrypted connection
168-
# and upgrades to TLS as the first action against the server,
169-
# per the LDAPv3 standard.
170-
# Other options are "starttls+insecure" to behave the same as starttls
171-
# but skip server certificate verification, or "none" to use an unencrypted connection.
164+
# Valid settings: none, starttls, starttls+insecure, ldaps, ldaps+insecure.
165+
# The recommended security is "starttls", which is the default. This uses
166+
# an initial unencrypted connection and upgrades to TLS as the first action
167+
# against the server, per the LDAPv3 standard.
168+
# Another secure option is "ldaps", which starts the connection over
169+
# TLS instead of upgrading like "starttls". This generally requires a
170+
# dedicated port (usually 636). "starttls" is generally preferred
171+
# to "ldaps".
172+
# Other options are "starttls+insecure" and "ldaps+insecure" which behave
173+
# the same as "starttls" and and "ldaps" respectively, except they ignore
174+
# server certificate verification errors.
175+
# Finally, "none" does not use TLS. This is not recommended for
176+
# production systems.
172177
security = "starttls"
173178
179+
# Client certificates to present to the LDAP server are supported with
180+
# "client-tls-certificate" and "client-tls-private-key" configurations.
181+
# These are paths to the X.509 client certificate and corresponding private
182+
# key, respectively. If "client-tls-certificate" is set but
183+
# "client-tls-private-key" is not, then "client-tls-certificate" is assumed
184+
# to bundle both the certificate and private key.
185+
# The LDAP server may request and require valid client certificates
186+
# even when InfluxDB is configured with an insecure TLS mode that ignores
187+
# LDAP server certificate errors.
188+
# Not all LDAP servers will request a client certificate. It is not
189+
# necessary to set "client-tls-certificate" and "client-tls-private-key"
190+
# if the LDAP server does not require client certificates.
191+
client-tls-certificate = "/var/run/secrets/ldapClient.pem"
192+
client-tls-private-key = "/var/run/secrets/ldapClient.key"
193+
174194
# Credentials to use when searching for a user or group.
175195
bind-dn = "cn=read-only-admin,dc=example,dc=com"
176-
bind-password = "password"
196+
bind-password = "read-only-admin's password"
177197
178198
# Base DNs to use when applying the search-filter to discover an LDAP user.
179199
search-base-dns = [
180200
"dc=example,dc=com",
181201
]
182202
183203
# LDAP filter to discover a user's DN.
184-
# %s will be replaced with the provided username.
185-
search-filter = "(uid=%s)"
186-
# On Active Directory you might use "(sAMAccountName=%s)".
204+
# %%s will be replaced with the provided username.
205+
search-filter = "(uid=%%s)"
206+
# On Active Directory you might use "(sAMAccountName=%%s)".
187207
188208
# Base DNs to use when searching for groups.
189-
group-search-base-dns = ["dc=example,dc=com"]
209+
group-search-base-dns = ["ou=groups,dc=example,dc=com"]
190210
191211
# LDAP filter to identify groups that a user belongs to.
192-
# %s will be replaced with the user's DN.
193-
group-membership-search-filter = "(&(objectClass=groupOfUniqueNames)(uniqueMember=%s))"
194-
# On Active Directory you might use "(&(objectClass=group)(member=%s))".
212+
# %%s will be replaced with the user's DN.
213+
group-membership-search-filter = "(&(objectClass=groupOfUniqueNames)(uniqueMember=%%s))"
214+
# On Active Directory you might use "(&(objectClass=group)(member=%%s))".
195215
196216
# Attribute to use to determine the "group" in the group-mappings section.
197217
group-attribute = "ou"
198218
# On Active Directory you might use "cn".
199219
200-
# LDAP filter to search for a group with a particular name.
201-
# This is used when warming the cache to load group membership.
202-
group-search-filter = "(&(objectClass=groupOfUniqueNames)(cn=%s))"
203-
# On Active Directory you might use "(&(objectClass=group)(cn=%s))".
220+
# LDAP filter to search for groups during cache warming.
221+
# %%s will be replaced with the "group" value in the group-mappings section.
222+
group-search-filter = "(&(objectClass=groupOfUniqueNames)(ou=%%s))"
204223
205-
# Attribute of a group that contains the DNs of the group's members.
224+
# Attribute on group objects indicating membership.
225+
# Used during cache warming, should be same as part of the group-membership-search-filter.
206226
group-member-attribute = "uniqueMember"
207-
# On Active Directory you might use "member".
208227
209-
# Create an administrator role in InfluxDB and then log in as a member of the admin LDAP group. Only members of a group with the administrator role can complete admin tasks.
210-
# For example, if tesla is the only member of the `italians` group, you must log in as tesla/password.
211-
admin-groups = ["italians"]
228+
# Groups whose members have admin privileges on the influxdb servers.
229+
admin-groups = ["influx-admins"]
212230
213-
# These two roles would have to be created by hand if you want these LDAP group memberships to do anything.
231+
# Mappings of LDAP groups to Influx roles.
232+
# All Influx roles need to be manually created to take effect.
214233
[[servers.group-mappings]]
215-
group = "mathematicians"
216-
role = "arithmetic"
234+
group = "app-developers"
235+
role = "app-metrics-rw"
217236
218237
[[servers.group-mappings]]
219-
group = "scientists"
220-
role = "laboratory"
221-
238+
group = "web-support"
239+
role = "web-traffic-ro"
222240
```
223241
{{% /truncate %}}
224242

0 commit comments

Comments
 (0)