You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: versioned_docs/version-3.x/admin-manual/auth/authentication/ldap.md
+17Lines changed: 17 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -57,6 +57,8 @@ In LDAP, data is organized in a tree structure. Here's an example of a typical L
57
57
ldap_group_basedn = ou=group,o=emr
58
58
# specify ldap_use_ssl to true to use to secured LDAPS protocol, specify false or comment property to use default behavior with plain LDAP
59
59
ldap_use_ssl = true
60
+
# specify ldap_allow_empty_pass to false to prohibit login with non specified LDAP password, specify true or comment property to use default behavior and allow login with empty LDAP password
61
+
ldap_allow_empty_pass = false
60
62
```
61
63
62
64
> Important for LDAPS:
@@ -146,6 +148,12 @@ LDAP authentication means password verification through LDAP service to suppleme
146
148
2. If the user doesn't exist in LDAP, it falls back to Doris local password verification.
147
149
3. If the LDAP password is correct but there's no corresponding account in Doris, a temporary user is created for login.
148
150
151
+
> Note on Empty Passwords:
152
+
>
153
+
> By default, Doris allows login with an empty password if the user exists in LDAP (`ldap_allow_empty_pass = true`).
154
+
> This behavior can be disabled by setting `ldap_allow_empty_pass = false` in `ldap.conf`.
155
+
> With such setting Doris will reject all login attempts with empty password and return an error message.
156
+
149
157
### Login Behavior Overview
150
158
151
159
After enabling LDAP, login behaviors under different user states are as follows:
@@ -154,8 +162,10 @@ After enabling LDAP, login behaviors under different user states are as follows:
| Not exists | Exists | Doris password | Success | Doris user |
158
167
| Exists | Not exists | LDAP password | Success | LDAP temporary user |
168
+
| Exists | Not exists | Empty password | Success if `ldap_allow_empty_pass = true`, otherwise Failed | LDAP temporary user (if allowed) |
159
169
160
170
> **About Temporary Users:**
161
171
>
@@ -164,6 +174,12 @@ After enabling LDAP, login behaviors under different user states are as follows:
164
174
> - Temporary user permissions are determined by LDAP group authorization (see "Group Authorization" section below).
165
175
> - If temporary users have no corresponding group permissions, they default to `select_priv` on `information_schema`.
166
176
177
+
> **About Empty Password Security:**
178
+
>
179
+
> The `ldap_allow_empty_pass` configuration provides additional security control:
180
+
> - When `true` (default): Users can accidentally or intentionally log in without a password, which might be convenient for development environments but poses security risks in production.
181
+
> - When `false`: Empty passwords are strictly rejected, ensuring all users must provide valid credentials. This is recommended for production environments to prevent unauthorized access.
182
+
167
183
### Login Examples
168
184
169
185
The following examples assume LDAP authentication is enabled, configured with `ldap_user_filter = (&(uid={login}))`, and the client has set `LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN=1`.
@@ -268,6 +284,7 @@ You can refresh the cache with the `refresh ldap` statement. See [REFRESH-LDAP](
268
284
- Currently, Doris's LDAP functionality only supports cleartext password verification, meaning that when users log in, passwords are transmitted in plaintext between `client` and `fe`, but connection between `fe` and LDAP service can be secured optionally.
269
285
-**For `ldap_use_ssl = false` (default behavior)**: Passwords are transmitted in plain text between the Doris FE and the LDAP server.
270
286
-**To secure the connection**: Set `ldap_use_ssl = true` to encrypt traffic between Doris FE and the LDAP server. Note that SSL/TLS encryption between the **client and Doris FE** must be configured separately.
287
+
-**Empty password behavior:** By default, Doris allows login with an empty password if the user exists in LDAP (`ldap_allow_empty_pass = true`). This can be disabled by setting `ldap_allow_empty_pass = false` in `ldap.conf`.
Copy file name to clipboardExpand all lines: versioned_docs/version-4.x/admin-manual/auth/authentication/ldap.md
+17Lines changed: 17 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -57,6 +57,8 @@ In LDAP, data is organized in a tree structure. Here's an example of a typical L
57
57
ldap_group_basedn = ou=group,o=emr
58
58
# specify ldap_use_ssl to true to use to secured LDAPS protocol, specify false or comment property to use default behavior with plain LDAP
59
59
ldap_use_ssl = true
60
+
# specify ldap_allow_empty_pass to false to prohibit login with non specified LDAP password, specify true or comment property to use default behavior and allow login with empty LDAP password
61
+
ldap_allow_empty_pass = false
60
62
```
61
63
62
64
> Important for LDAPS:
@@ -146,6 +148,12 @@ LDAP authentication means password verification through LDAP service to suppleme
146
148
2. If the user doesn't exist in LDAP, it falls back to Doris local password verification.
147
149
3. If the LDAP password is correct but there's no corresponding account in Doris, a temporary user is created for login.
148
150
151
+
> Note on Empty Passwords:
152
+
>
153
+
> By default, Doris allows login with an empty password if the user exists in LDAP (`ldap_allow_empty_pass = true`).
154
+
> This behavior can be disabled by setting `ldap_allow_empty_pass = false` in `ldap.conf`.
155
+
> With such setting Doris will reject all login attempts with empty password and return an error message.
156
+
149
157
### Login Behavior Overview
150
158
151
159
After enabling LDAP, login behaviors under different user states are as follows:
@@ -154,8 +162,10 @@ After enabling LDAP, login behaviors under different user states are as follows:
| Not exists | Exists | Doris password | Success | Doris user |
158
167
| Exists | Not exists | LDAP password | Success | LDAP temporary user |
168
+
| Exists | Not exists | Empty password | Success if `ldap_allow_empty_pass = true`, otherwise Failed | LDAP temporary user (if allowed) |
159
169
160
170
> **About Temporary Users:**
161
171
>
@@ -164,6 +174,12 @@ After enabling LDAP, login behaviors under different user states are as follows:
164
174
> - Temporary user permissions are determined by LDAP group authorization (see "Group Authorization" section below).
165
175
> - If temporary users have no corresponding group permissions, they default to `select_priv` on `information_schema`.
166
176
177
+
> **About Empty Password Security:**
178
+
>
179
+
> The `ldap_allow_empty_pass` configuration provides additional security control:
180
+
> - When `true` (default): Users can accidentally or intentionally log in without a password, which might be convenient for development environments but poses security risks in production.
181
+
> - When `false`: Empty passwords are strictly rejected, ensuring all users must provide valid credentials. This is recommended for production environments to prevent unauthorized access.
182
+
167
183
### Login Examples
168
184
169
185
The following examples assume LDAP authentication is enabled, configured with `ldap_user_filter = (&(uid={login}))`, and the client has set `LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN=1`.
@@ -268,6 +284,7 @@ You can refresh the cache with the `refresh ldap` statement. See [REFRESH-LDAP](
268
284
- Currently, Doris's LDAP functionality only supports cleartext password verification, meaning that when users log in, passwords are transmitted in plaintext between `client` and `fe`, but connection between `fe` and LDAP service can be secured optionally.
269
285
-**For `ldap_use_ssl = false` (default behavior)**: Passwords are transmitted in plain text between the Doris FE and the LDAP server.
270
286
-**To secure the connection**: Set `ldap_use_ssl = true` to encrypt traffic between Doris FE and the LDAP server. Note that SSL/TLS encryption between the **client and Doris FE** must be configured separately.
287
+
-**Empty password behavior:** By default, Doris allows login with an empty password if the user exists in LDAP (`ldap_allow_empty_pass = true`). This can be disabled by setting `ldap_allow_empty_pass = false` in `ldap.conf`.
0 commit comments