This is an automated email from the ASF dual-hosted git repository.

jinsongzhou pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/amoro.git


The following commit(s) were added to refs/heads/master by this push:
     new 90b43e2ff [Hotfix] Add LDAP login configuration options for Dashboard 
deployment (#4111)
90b43e2ff is described below

commit 90b43e2ff1a49a00e294389de1a50cfc3407ab3f
Author: Xu Bai <[email protected]>
AuthorDate: Mon Mar 9 16:41:05 2026 +0800

    [Hotfix] Add LDAP login configuration options for Dashboard deployment 
(#4111)
    
    Add LDAP authentication configuration options for Dashboard
---
 charts/amoro/templates/amoro-configmap.yaml | 9 ++++++++-
 charts/amoro/values.yaml                    | 8 +++++++-
 dist/src/main/amoro-bin/conf/config.yaml    | 5 +++++
 docs/admin-guides/deployment.md             | 8 +++++++-
 4 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/charts/amoro/templates/amoro-configmap.yaml 
b/charts/amoro/templates/amoro-configmap.yaml
index 5448a6f30..e0638059d 100644
--- a/charts/amoro/templates/amoro-configmap.yaml
+++ b/charts/amoro/templates/amoro-configmap.yaml
@@ -70,6 +70,13 @@ data:
       http-server:
         rest-auth-type: {{ .Values.server.rest.restAuthType }}
         bind-port: {{ .Values.server.rest.port }}
+        login-auth-provider: {{ .Values.amoroConf.ams.loginAuthProvider | 
quote }}
+        {{- if .Values.amoroConf.ams.loginAuthLdap.url }}
+        login-auth-ldap-url: {{ .Values.amoroConf.ams.loginAuthLdap.url | 
quote }}
+        {{- end }}
+        {{- if .Values.amoroConf.ams.loginAuthLdap.userPattern }}
+        login-auth-ldap-user-pattern: {{ 
.Values.amoroConf.ams.loginAuthLdap.userPattern | quote }}
+        {{- end }}
 
       refresh-external-catalogs:
         interval: 3min # 180000
@@ -174,4 +181,4 @@ data:
   log4j2.xml: |
     {{- tpl . $ | nindent 4 }}
 ---
-  {{- end }}
\ No newline at end of file
+  {{- end }}
diff --git a/charts/amoro/values.yaml b/charts/amoro/values.yaml
index 9334977b0..03e5b04f5 100644
--- a/charts/amoro/values.yaml
+++ b/charts/amoro/values.yaml
@@ -143,6 +143,12 @@ amoroConf:
   ams:
     adminUsername: admin
     adminPassword: admin
+    loginAuthProvider: 
org.apache.amoro.server.authentication.DefaultPasswdAuthenticationProvider
+    ## LDAP login settings (only used when loginAuthProvider is
+    ## org.apache.amoro.server.authentication.LdapPasswdAuthenticationProvider)
+    loginAuthLdap:
+      url: ~
+      userPattern: ~
 
   ## AMS config shade properties
   ##
@@ -471,4 +477,4 @@ securityContext: { }
 commonLabels: { }
 ## @param commonAnnotations Amoro Common Annotations for custom
 ##
-commonAnnotations: { }
\ No newline at end of file
+commonAnnotations: { }
diff --git a/dist/src/main/amoro-bin/conf/config.yaml 
b/dist/src/main/amoro-bin/conf/config.yaml
index 94ef3cf78..884ce5896 100644
--- a/dist/src/main/amoro-bin/conf/config.yaml
+++ b/dist/src/main/amoro-bin/conf/config.yaml
@@ -35,6 +35,11 @@ ams:
     session-timeout: 7d
     bind-port: 1630
     rest-auth-type: token
+    login-auth-provider: 
org.apache.amoro.server.authentication.DefaultPasswdAuthenticationProvider
+    # To enable dashboard LDAP login, uncomment the following settings:
+    # login-auth-provider: 
org.apache.amoro.server.authentication.LdapPasswdAuthenticationProvider
+    # login-auth-ldap-url: "ldap://ldap.example.com:389";
+    # login-auth-ldap-user-pattern: "uid={0},ou=people,dc=example,dc=com"
 
   refresh-external-catalogs:
     interval: 3min # 180000
diff --git a/docs/admin-guides/deployment.md b/docs/admin-guides/deployment.md
index 6a6bb75a6..9f9c806a7 100644
--- a/docs/admin-guides/deployment.md
+++ b/docs/admin-guides/deployment.md
@@ -77,6 +77,8 @@ If you want to use AMS in a production environment, it is 
recommended to modify
 - The `ams.http-server.bind-port` configuration specifies the port to which 
the HTTP service is bound. The Dashboard and Open API are bound to this port, 
and the default value is 1630.
 - The `ams.http-server.rest-auth-type` configuration specifies the REST API 
auth type, which could be token(default), basic or jwt (JSON Web Token).
 - The `ams.http-server.auth-basic-provider` configuration specifies the REST 
API basic authentication provider. By default, it uses `ams.admin-username` and 
`ams.admin-password` for authentication. You can also specify a custom 
implementation by providing the fully qualified class name of a class that 
implements the `org.apache.amoro.authentication.PasswdAuthenticationProvider` 
interface.
+- The `ams.http-server.login-auth-provider` configuration specifies the 
Dashboard login authentication provider. By default, it uses 
`org.apache.amoro.server.authentication.DefaultPasswdAuthenticationProvider` 
(admin username/password login).
+- To enable LDAP login for Dashboard, set 
`ams.http-server.login-auth-provider` to 
`org.apache.amoro.server.authentication.LdapPasswdAuthenticationProvider`, and 
configure `ams.http-server.login-auth-ldap-url` and 
`ams.http-server.login-auth-ldap-user-pattern`.
 - The `ams.http-server.auth-jwt-provider` configuration specifies the REST API 
JWT authentication provider. Set this to the fully qualified class name of your 
custom provider implementing the 
`org.apache.amoro.authentication.TokenAuthenticationProvider` interface. This 
is required when `ams.http-server.rest-auth-type` is set to `jwt`.
 - The `ams.http-server.proxy-client-ip-header` configuration specifies the 
HTTP header to use for extracting the real client IP address when AMS is 
deployed behind a reverse proxy (such as Nginx or a load balancer). Common 
values include `X-Forwarded-For` or `X-Real-IP`. If not set, AMS will use the 
remote address from the connection.
 
@@ -94,6 +96,11 @@ ams:
   http-server:
     session-timeout: 7d #Re-login after 7days
     bind-port: 1630 #The port for accessing AMS Dashboard.
+    login-auth-provider: 
org.apache.amoro.server.authentication.DefaultPasswdAuthenticationProvider
+    # Enable LDAP login for Dashboard:
+    # login-auth-provider: 
org.apache.amoro.server.authentication.LdapPasswdAuthenticationProvider
+    # login-auth-ldap-url: "ldap://ldap.example.com:389";
+    # login-auth-ldap-user-pattern: "uid={0},ou=people,dc=example,dc=com"
 ```
 
 {{< hint info >}}
@@ -337,4 +344,3 @@ Restart AMS with the following commands:
 ```shell
 bin/ams.sh restart
 ```
-

Reply via email to