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

yiguolei pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-2.1 by this push:
     new 188cbabb586 [enhance](auth)Remove restrictions on user creation and 
other operations when enabling ranger/LDAP (#50137)
188cbabb586 is described below

commit 188cbabb586b1360310b917c81e7deee44842ed4
Author: zhangdong <zhangd...@selectdb.com>
AuthorDate: Mon Apr 21 14:15:07 2025 +0800

    [enhance](auth)Remove restrictions on user creation and other operations 
when enabling ranger/LDAP (#50137)
    
    ### What problem does this PR solve?
    - In version 2.1, the global permission check still calls the internal
    permission interface. If grant is not allowed, it will be impossible to
    assign admin and other permissions to users
    - According to the current design of LDAP, if there is no user in LDAP,
    Doris will check again to see if the user exists internally. If there
    is, login will also be allowed. Therefore, creating users should not be
    prohibited
---
 .../src/main/java/org/apache/doris/analysis/CreateRoleStmt.java   | 6 ------
 .../src/main/java/org/apache/doris/analysis/CreateUserStmt.java   | 8 --------
 .../src/main/java/org/apache/doris/analysis/DropRoleStmt.java     | 6 ------
 .../src/main/java/org/apache/doris/analysis/DropUserStmt.java     | 7 -------
 fe/fe-core/src/main/java/org/apache/doris/analysis/GrantStmt.java | 5 -----
 .../src/main/java/org/apache/doris/analysis/RevokeStmt.java       | 5 -----
 6 files changed, 37 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateRoleStmt.java 
b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateRoleStmt.java
index 9021402d48a..f98e60dcff4 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateRoleStmt.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateRoleStmt.java
@@ -18,8 +18,6 @@
 package org.apache.doris.analysis;
 
 import org.apache.doris.catalog.Env;
-import org.apache.doris.common.AnalysisException;
-import org.apache.doris.common.Config;
 import org.apache.doris.common.ErrorCode;
 import org.apache.doris.common.ErrorReport;
 import org.apache.doris.common.FeNameFormat;
@@ -63,10 +61,6 @@ public class CreateRoleStmt extends DdlStmt {
     public void analyze(Analyzer analyzer) throws UserException {
         super.analyze(analyzer);
 
-        if (Config.access_controller_type.equalsIgnoreCase("ranger-doris")) {
-            throw new AnalysisException("Create role is prohibited when Ranger 
is enabled.");
-        }
-
         FeNameFormat.checkRoleName(role, false /* can not be admin */, "Can 
not create role");
 
         // check if current user has GRANT priv on GLOBAL level.
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateUserStmt.java 
b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateUserStmt.java
index 9c07b7aee12..03ecb13adf9 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateUserStmt.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateUserStmt.java
@@ -18,13 +18,10 @@
 package org.apache.doris.analysis;
 
 import org.apache.doris.catalog.Env;
-import org.apache.doris.common.AnalysisException;
-import org.apache.doris.common.Config;
 import org.apache.doris.common.ErrorCode;
 import org.apache.doris.common.ErrorReport;
 import org.apache.doris.common.FeNameFormat;
 import org.apache.doris.common.UserException;
-import org.apache.doris.mysql.authenticate.AuthenticateType;
 import org.apache.doris.mysql.privilege.PrivPredicate;
 import org.apache.doris.mysql.privilege.Role;
 import org.apache.doris.qe.ConnectContext;
@@ -119,11 +116,6 @@ public class CreateUserStmt extends DdlStmt {
     public void analyze(Analyzer analyzer) throws UserException {
         super.analyze(analyzer);
 
-        if (Config.access_controller_type.equalsIgnoreCase("ranger-doris")
-                && AuthenticateType.getAuthTypeConfig() == 
AuthenticateType.LDAP) {
-            throw new AnalysisException("Create user is prohibited when Ranger 
and LDAP are enabled at same time.");
-        }
-
         userIdent.analyze();
 
         if (userIdent.isRootUser()) {
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropRoleStmt.java 
b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropRoleStmt.java
index 468b86579f4..5bdbb45e51b 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropRoleStmt.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropRoleStmt.java
@@ -18,8 +18,6 @@
 package org.apache.doris.analysis;
 
 import org.apache.doris.catalog.Env;
-import org.apache.doris.common.AnalysisException;
-import org.apache.doris.common.Config;
 import org.apache.doris.common.ErrorCode;
 import org.apache.doris.common.ErrorReport;
 import org.apache.doris.common.FeNameFormat;
@@ -53,10 +51,6 @@ public class DropRoleStmt extends DdlStmt {
     public void analyze(Analyzer analyzer) throws UserException {
         super.analyze(analyzer);
 
-        if (Config.access_controller_type.equalsIgnoreCase("ranger-doris")) {
-            throw new AnalysisException("Drop role is prohibited when Ranger 
is enabled.");
-        }
-
         FeNameFormat.checkRoleName(role, false /* can not be superuser */, 
"Can not drop role");
 
         // check if current user has GRANT priv on GLOBAL level.
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropUserStmt.java 
b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropUserStmt.java
index cd98feeefec..f9097900c5a 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropUserStmt.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropUserStmt.java
@@ -19,11 +19,9 @@ package org.apache.doris.analysis;
 
 import org.apache.doris.catalog.Env;
 import org.apache.doris.common.AnalysisException;
-import org.apache.doris.common.Config;
 import org.apache.doris.common.ErrorCode;
 import org.apache.doris.common.ErrorReport;
 import org.apache.doris.common.UserException;
-import org.apache.doris.mysql.authenticate.AuthenticateType;
 import org.apache.doris.mysql.privilege.PrivPredicate;
 import org.apache.doris.qe.ConnectContext;
 
@@ -56,11 +54,6 @@ public class DropUserStmt extends DdlStmt {
     public void analyze(Analyzer analyzer) throws AnalysisException, 
UserException {
         super.analyze(analyzer);
 
-        if (Config.access_controller_type.equalsIgnoreCase("ranger-doris")
-                && AuthenticateType.getAuthTypeConfig() == 
AuthenticateType.LDAP) {
-            throw new AnalysisException("Drop user is prohibited when Ranger 
and LDAP are enabled at same time.");
-        }
-
         userIdent.analyze();
 
         if (userIdent.isSystemUser()) {
diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/GrantStmt.java 
b/fe/fe-core/src/main/java/org/apache/doris/analysis/GrantStmt.java
index 883a8edafc5..411f8c6fca5 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/GrantStmt.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/GrantStmt.java
@@ -21,7 +21,6 @@ import org.apache.doris.analysis.CompoundPredicate.Operator;
 import org.apache.doris.catalog.AccessPrivilegeWithCols;
 import org.apache.doris.catalog.Env;
 import org.apache.doris.common.AnalysisException;
-import org.apache.doris.common.Config;
 import org.apache.doris.common.ErrorCode;
 import org.apache.doris.common.ErrorReport;
 import org.apache.doris.common.FeNameFormat;
@@ -139,10 +138,6 @@ public class GrantStmt extends DdlStmt {
     public void analyze(Analyzer analyzer) throws UserException {
         super.analyze(analyzer);
 
-        if (Config.access_controller_type.equalsIgnoreCase("ranger-doris")) {
-            throw new AnalysisException("Grant is prohibited when Ranger is 
enabled.");
-        }
-
         if (userIdent != null) {
             userIdent.analyze();
         } else {
diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/RevokeStmt.java 
b/fe/fe-core/src/main/java/org/apache/doris/analysis/RevokeStmt.java
index 3b2dd7167ad..9c1eb4ef1c2 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/RevokeStmt.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/RevokeStmt.java
@@ -19,7 +19,6 @@ package org.apache.doris.analysis;
 
 import org.apache.doris.catalog.AccessPrivilegeWithCols;
 import org.apache.doris.common.AnalysisException;
-import org.apache.doris.common.Config;
 import org.apache.doris.common.ErrorReport;
 import org.apache.doris.common.FeNameFormat;
 import org.apache.doris.mysql.privilege.ColPrivilegeKey;
@@ -119,10 +118,6 @@ public class RevokeStmt extends DdlStmt {
 
     @Override
     public void analyze(Analyzer analyzer) throws AnalysisException {
-        if (Config.access_controller_type.equalsIgnoreCase("ranger-doris")) {
-            throw new AnalysisException("Revoke is prohibited when Ranger is 
enabled.");
-        }
-
         if (userIdent != null) {
             userIdent.analyze();
         } else {


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to