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

abhi pushed a commit to branch ranger-2.8
in repository https://gitbox.apache.org/repos/asf/ranger.git


The following commit(s) were added to refs/heads/ranger-2.8 by this push:
     new b6b60da7e RANGER-5488: Allow clients to access secure API endpoints in 
Ranger Admin forcibly via config
b6b60da7e is described below

commit b6b60da7ed11f635f9ef0bacd0aef3cbb89e8040
Author: Abhishek Kumar <[email protected]>
AuthorDate: Thu Feb 12 11:42:14 2026 -0800

    RANGER-5488: Allow clients to access secure API endpoints in Ranger Admin 
forcibly via config
---
 .../admin/client/AbstractRangerAdminClient.java    |  15 ++-
 .../ranger/admin/client/RangerAdminRESTClient.java | 133 ++++++++++-----------
 .../ranger/plugin/util/RangerRESTClient.java       |   4 +
 .../admin/client/RangerAdminJersey2RESTClient.java |  48 ++++----
 4 files changed, 100 insertions(+), 100 deletions(-)

diff --git 
a/agents-common/src/main/java/org/apache/ranger/admin/client/AbstractRangerAdminClient.java
 
b/agents-common/src/main/java/org/apache/ranger/admin/client/AbstractRangerAdminClient.java
index a65c18708..41c9ef9ac 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/admin/client/AbstractRangerAdminClient.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/admin/client/AbstractRangerAdminClient.java
@@ -23,6 +23,7 @@
 import com.google.gson.GsonBuilder;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.security.UserGroupInformation;
+import org.apache.ranger.audit.provider.MiscUtil;
 import org.apache.ranger.plugin.model.RangerRole;
 import org.apache.ranger.plugin.util.*;
 import org.slf4j.Logger;
@@ -37,6 +38,8 @@ public abstract class AbstractRangerAdminClient implements 
RangerAdminClient {
 
     private boolean forceNonKerberos = false;
 
+    private boolean forceSecureEndpointAccess;
+
     @Override
     public void init(String serviceName, String appId, String 
configPropertyPrefix, Configuration config) {
         Gson gson = null;
@@ -48,7 +51,8 @@ public void init(String serviceName, String appId, String 
configPropertyPrefix,
         }
 
         this.gson = gson;
-        this.forceNonKerberos = config.getBoolean(configPropertyPrefix + 
".forceNonKerberos", false);
+        this.forceNonKerberos          = 
config.getBoolean(configPropertyPrefix + ".forceNonKerberos", false);
+        this.forceSecureEndpointAccess = 
config.getBoolean(configPropertyPrefix + ".forceSecureEndpointAccess", false);
     }
 
     @Override
@@ -121,12 +125,21 @@ public RangerUserStore getUserStoreIfUpdated(long 
lastKnownUserStoreVersion, lon
         return null;
     }
 
+    public boolean isAuthenticationEnabled() {
+        return forceSecureEndpointAccess || isKerberosEnabled();
+    }
+
+    public boolean isKerberosEnabled() {
+        return isKerberosEnabled(MiscUtil.getUGILoginUser());
+    }
+
     public boolean isKerberosEnabled(UserGroupInformation user) {
         final boolean ret;
 
         if (forceNonKerberos) {
             ret = false;
         } else {
+            LOG.debug("UGI user: {}", user);
             ret = user != null && UserGroupInformation.isSecurityEnabled() && 
user.hasKerberosCredentials();
         }
 
diff --git 
a/agents-common/src/main/java/org/apache/ranger/admin/client/RangerAdminRESTClient.java
 
b/agents-common/src/main/java/org/apache/ranger/admin/client/RangerAdminRESTClient.java
index b9197e029..12f6df99e 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/admin/client/RangerAdminRESTClient.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/admin/client/RangerAdminRESTClient.java
@@ -25,7 +25,6 @@
 
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.security.AccessControlException;
-import org.apache.hadoop.security.UserGroupInformation;
 import org.apache.http.HttpStatus;
 import org.apache.ranger.admin.client.datatype.RESTResponse;
 import org.apache.ranger.audit.provider.MiscUtil;
@@ -116,8 +115,7 @@ public ServicePolicies getServicePoliciesIfUpdated(final 
long lastKnownVersion,
                }
 
                final ServicePolicies      ret;
-               final UserGroupInformation user         = 
MiscUtil.getUGILoginUser();
-               final boolean              isSecureMode = 
isKerberosEnabled(user);
+               final boolean              isSecureMode = 
isAuthenticationEnabled();
                final Cookie               sessionId    = this.sessionId;
                final ClientResponse       response;
 
@@ -131,7 +129,7 @@ public ServicePolicies getServicePoliciesIfUpdated(final 
long lastKnownVersion,
 
                if (isSecureMode) {
                        if (LOG.isDebugEnabled()) {
-                               LOG.debug("Checking Service policy if updated 
as user : " + user);
+                               LOG.debug("Checking Service policy if updated");
                        }
 
                        response = 
MiscUtil.executePrivilegedAction((PrivilegedExceptionAction<ClientResponse>) () 
-> {
@@ -157,11 +155,11 @@ public ServicePolicies getServicePoliciesIfUpdated(final 
long lastKnownVersion,
 
                if (response == null || response.getStatus() == 
HttpServletResponse.SC_NOT_MODIFIED || response.getStatus() == 
HttpServletResponse.SC_NO_CONTENT) {
                        if (response == null) {
-                               LOG.error("Error getting policies; Received 
NULL response!!. secureMode=" + isSecureMode + ", user=" + user + ", 
serviceName=" + serviceName);
+                               LOG.error("Error getting policies; Received 
NULL response!!. secureMode=" + isSecureMode + ", serviceName=" + serviceName);
                        } else {
                                RESTResponse resp = 
RESTResponse.fromClientResponse(response);
                                if (LOG.isDebugEnabled()) {
-                                       LOG.debug("No change in policies. 
secureMode=" + isSecureMode + ", user=" + user
+                                       LOG.debug("No change in policies. 
secureMode=" + isSecureMode
                                                                          + ", 
response=" + resp + ", serviceName=" + serviceName
                                                                          + ", 
" + "lastKnownVersion=" + lastKnownVersion
                                                                          + ", 
" + "lastActivationTimeInMillis=" + lastActivationTimeInMillis);
@@ -172,7 +170,7 @@ public ServicePolicies getServicePoliciesIfUpdated(final 
long lastKnownVersion,
                        ret = JsonUtilsV2.readResponse(response, 
ServicePolicies.class);
                } else if (response.getStatus() == 
HttpServletResponse.SC_NOT_FOUND) {
                        ret = null;
-                       LOG.error("Error getting policies; service not found. 
secureMode=" + isSecureMode + ", user=" + user
+                       LOG.error("Error getting policies; service not found. 
secureMode=" + isSecureMode
                                                          + ", response=" + 
response.getStatus() + ", serviceName=" + serviceName
                                                          + ", " + 
"lastKnownVersion=" + lastKnownVersion
                                                          + ", " + 
"lastActivationTimeInMillis=" + lastActivationTimeInMillis);
@@ -183,7 +181,7 @@ public ServicePolicies getServicePoliciesIfUpdated(final 
long lastKnownVersion,
                        LOG.warn("Received 404 error code with body:[" + 
exceptionMsg + "], Ignoring");
                } else {
                        RESTResponse resp = 
RESTResponse.fromClientResponse(response);
-                       LOG.warn("Error getting policies. secureMode=" + 
isSecureMode + ", user=" + user + ", response=" + resp + ", serviceName=" + 
serviceName);
+                       LOG.warn("Error getting policies. secureMode=" + 
isSecureMode + ", response=" + resp + ", serviceName=" + serviceName);
                        ret = null;
                }
 
@@ -201,9 +199,7 @@ public RangerRoles getRolesIfUpdated(final long 
lastKnownRoleVersion, final long
                }
 
                final RangerRoles ret;
-
-               final UserGroupInformation user = MiscUtil.getUGILoginUser();
-               final boolean isSecureMode      = isKerberosEnabled(user);
+               final boolean isSecureMode      = isAuthenticationEnabled();
                final Cookie  sessionId         = this.sessionId;
                final ClientResponse response;
 
@@ -216,7 +212,7 @@ public RangerRoles getRolesIfUpdated(final long 
lastKnownRoleVersion, final long
 
                if (isSecureMode) {
                        if (LOG.isDebugEnabled()) {
-                               LOG.debug("Checking Roles updated as user : " + 
user);
+                               LOG.debug("Checking Roles updated");
                        }
                        response = 
MiscUtil.executePrivilegedAction((PrivilegedExceptionAction<ClientResponse>) () 
-> {
                                try {
@@ -231,7 +227,7 @@ public RangerRoles getRolesIfUpdated(final long 
lastKnownRoleVersion, final long
                        });
                } else {
                        if (LOG.isDebugEnabled()) {
-                               LOG.debug("Checking Roles updated as user : " + 
user);
+                               LOG.debug("Checking Roles updated 
(non-secure)");
                        }
                        String relativeURL = 
RangerRESTUtils.REST_URL_SERVICE_GET_USER_GROUP_ROLES + serviceNameUrlParam;
                        response = restClient.get(relativeURL, queryParams, 
sessionId);
@@ -241,11 +237,11 @@ public RangerRoles getRolesIfUpdated(final long 
lastKnownRoleVersion, final long
 
                if (response == null || response.getStatus() == 
HttpServletResponse.SC_NOT_MODIFIED || response.getStatus() == 
HttpServletResponse.SC_NO_CONTENT) {
                        if (response == null) {
-                               LOG.error("Error getting Roles; Received NULL 
response!!. secureMode=" + isSecureMode + ", user=" + user + ", serviceName=" + 
serviceName);
+                               LOG.error("Error getting Roles; Received NULL 
response!!. secureMode=" + isSecureMode + ", serviceName=" + serviceName);
                        } else {
                                RESTResponse resp = 
RESTResponse.fromClientResponse(response);
                                if (LOG.isDebugEnabled()) {
-                                       LOG.debug("No change in Roles. 
secureMode=" + isSecureMode + ", user=" + user
+                                       LOG.debug("No change in Roles. 
secureMode=" + isSecureMode
                                                                          + ", 
response=" + resp + ", serviceName=" + serviceName
                                                                          + ", 
" + "lastKnownRoleVersion=" + lastKnownRoleVersion
                                                                          + ", 
" + "lastActivationTimeInMillis=" + lastActivationTimeInMillis);
@@ -256,7 +252,7 @@ public RangerRoles getRolesIfUpdated(final long 
lastKnownRoleVersion, final long
                        ret = JsonUtilsV2.readResponse(response, 
RangerRoles.class);
                } else if (response.getStatus() == 
HttpServletResponse.SC_NOT_FOUND) {
                        ret = null;
-                       LOG.error("Error getting Roles; service not found. 
secureMode=" + isSecureMode + ", user=" + user
+                       LOG.error("Error getting Roles; service not found. 
secureMode=" + isSecureMode
                                                          + ", response=" + 
response.getStatus() + ", serviceName=" + serviceName
                                                          + ", " + 
"lastKnownRoleVersion=" + lastKnownRoleVersion
                                                          + ", " + 
"lastActivationTimeInMillis=" + lastActivationTimeInMillis);
@@ -267,7 +263,7 @@ public RangerRoles getRolesIfUpdated(final long 
lastKnownRoleVersion, final long
                        LOG.warn("Received 404 error code with body:[" + 
exceptionMsg + "], Ignoring");
                } else {
                        RESTResponse resp = 
RESTResponse.fromClientResponse(response);
-                       LOG.warn("Error getting Roles. secureMode=" + 
isSecureMode + ", user=" + user + ", response=" + resp + ", serviceName=" + 
serviceName);
+                       LOG.warn("Error getting Roles. secureMode=" + 
isSecureMode + ", response=" + resp + ", serviceName=" + serviceName);
                        ret = null;
                }
 
@@ -287,8 +283,7 @@ public RangerRole createRole(final RangerRole request) 
throws Exception {
                RangerRole ret = null;
 
                final ClientResponse response;
-               UserGroupInformation user = MiscUtil.getUGILoginUser();
-               boolean isSecureMode = isKerberosEnabled(user);
+               boolean isSecureMode = isAuthenticationEnabled();
                String relativeURL = 
RangerRESTUtils.REST_URL_SERVICE_CREATE_ROLE;
                Cookie sessionId = this.sessionId;
 
@@ -297,7 +292,7 @@ public RangerRole createRole(final RangerRole request) 
throws Exception {
 
                if (isSecureMode) {
                        if (LOG.isDebugEnabled()) {
-                               LOG.debug("create role as user " + user);
+                               LOG.debug("create role");
                        }
 
                        response = 
MiscUtil.executePrivilegedAction((PrivilegedExceptionAction<ClientResponse>) () 
-> {
@@ -317,7 +312,7 @@ public RangerRole createRole(final RangerRole request) 
throws Exception {
 
                if(response != null && response.getStatus() != 
HttpServletResponse.SC_OK) {
                        RESTResponse resp = 
RESTResponse.fromClientResponse(response);
-                       LOG.error("createRole() failed: HTTP status=" + 
response.getStatus() + ", message=" + resp.getMessage() + ", isSecure=" + 
isSecureMode + (isSecureMode ? (", user=" + user) : ""));
+                       LOG.error("createRole() failed: HTTP status=" + 
response.getStatus() + ", message=" + resp.getMessage() + ", isSecure=" + 
isSecureMode);
 
                        
if(response.getStatus()==HttpServletResponse.SC_UNAUTHORIZED) {
                                throw new AccessControlException();
@@ -343,8 +338,7 @@ public void dropRole(final String execUser, final String 
roleName) throws Except
                }
 
                final ClientResponse response;
-               UserGroupInformation user = MiscUtil.getUGILoginUser();
-               boolean isSecureMode = isKerberosEnabled(user);
+               boolean isSecureMode = isAuthenticationEnabled();
                Cookie sessionId = this.sessionId;
 
                Map<String, String> queryParams = new HashMap<String, String>();
@@ -355,7 +349,7 @@ public void dropRole(final String execUser, final String 
roleName) throws Except
 
                if (isSecureMode) {
                        if (LOG.isDebugEnabled()) {
-                               LOG.debug("drop role as user " + user);
+                               LOG.debug("drop role");
                        }
                        response = 
MiscUtil.executePrivilegedAction((PrivilegedExceptionAction<ClientResponse>) () 
-> {
                                        try {
@@ -376,7 +370,7 @@ public void dropRole(final String execUser, final String 
roleName) throws Except
                        throw new Exception("unknown error during deleteRole. 
roleName="  + roleName);
                } else if(response.getStatus() != HttpServletResponse.SC_OK && 
response.getStatus() != HttpServletResponse.SC_NO_CONTENT) {
                        RESTResponse resp = 
RESTResponse.fromClientResponse(response);
-                       LOG.error("createRole() failed: HTTP status=" + 
response.getStatus() + ", message=" + resp.getMessage() + ", isSecure=" + 
isSecureMode + (isSecureMode ? (", user=" + user) : ""));
+                       LOG.error("createRole() failed: HTTP status=" + 
response.getStatus() + ", message=" + resp.getMessage() + ", isSecure=" + 
isSecureMode);
 
                        
if(response.getStatus()==HttpServletResponse.SC_UNAUTHORIZED) {
                                throw new AccessControlException();
@@ -399,14 +393,13 @@ public List<String> getUserRoles(final String execUser) 
throws Exception {
                List<String> ret = null;
                String emptyString = "";
                final ClientResponse response;
-               UserGroupInformation user = MiscUtil.getUGILoginUser();
-               boolean isSecureMode = isKerberosEnabled(user);
+               boolean isSecureMode = isAuthenticationEnabled();
                String relativeURL = 
RangerRESTUtils.REST_URL_SERVICE_GET_USER_ROLES + execUser;
                Cookie sessionId = this.sessionId;
 
                if (isSecureMode) {
                        if (LOG.isDebugEnabled()) {
-                               LOG.debug("get roles as user " + user);
+                               LOG.debug("get roles");
                        }
                        response = 
MiscUtil.executePrivilegedAction((PrivilegedExceptionAction<ClientResponse>) () 
-> {
                                try {
@@ -426,7 +419,7 @@ public List<String> getUserRoles(final String execUser) 
throws Exception {
                if(response != null) {
                        if (response.getStatus() != HttpServletResponse.SC_OK) {
                                RESTResponse resp = 
RESTResponse.fromClientResponse(response);
-                               LOG.error("getUserRoles() failed: HTTP status=" 
+ response.getStatus() + ", message=" + resp.getMessage() + ", isSecure=" + 
isSecureMode + (isSecureMode ? (", user=" + user) : ""));
+                               LOG.error("getUserRoles() failed: HTTP status=" 
+ response.getStatus() + ", message=" + resp.getMessage() + ", isSecure=" + 
isSecureMode);
 
                                if (response.getStatus() == 
HttpServletResponse.SC_UNAUTHORIZED) {
                                        throw new AccessControlException();
@@ -455,8 +448,7 @@ public List<String> getAllRoles(final String execUser) 
throws Exception {
                List<String> ret = null;
                String emptyString = "";
                final ClientResponse response;
-               UserGroupInformation user = MiscUtil.getUGILoginUser();
-               boolean isSecureMode = isKerberosEnabled(user);
+               boolean isSecureMode = isAuthenticationEnabled();
                String relativeURL = 
RangerRESTUtils.REST_URL_SERVICE_GET_ALL_ROLES;
                Cookie sessionId = this.sessionId;
 
@@ -466,7 +458,7 @@ public List<String> getAllRoles(final String execUser) 
throws Exception {
 
                if (isSecureMode) {
                        if (LOG.isDebugEnabled()) {
-                               LOG.debug("get roles as user " + user);
+                               LOG.debug("get roles");
                        }
                        response = 
MiscUtil.executePrivilegedAction((PrivilegedExceptionAction<ClientResponse>) () 
-> {
                                try {
@@ -486,7 +478,7 @@ public List<String> getAllRoles(final String execUser) 
throws Exception {
                if(response != null) {
                        if (response.getStatus() != HttpServletResponse.SC_OK) {
                                RESTResponse resp = 
RESTResponse.fromClientResponse(response);
-                               LOG.error("getAllRoles() failed: HTTP status=" 
+ response.getStatus() + ", message=" + resp.getMessage() + ", isSecure=" + 
isSecureMode + (isSecureMode ? (", user=" + user) : ""));
+                               LOG.error("getAllRoles() failed: HTTP status=" 
+ response.getStatus() + ", message=" + resp.getMessage() + ", isSecure=" + 
isSecureMode);
 
                                if (response.getStatus() == 
HttpServletResponse.SC_UNAUTHORIZED) {
                                        throw new AccessControlException();
@@ -514,8 +506,7 @@ public RangerRole getRole(final String execUser, final 
String roleName) throws E
 
                RangerRole ret = null;
                final ClientResponse response;
-               UserGroupInformation user = MiscUtil.getUGILoginUser();
-               boolean isSecureMode = isKerberosEnabled(user);
+               boolean isSecureMode = isAuthenticationEnabled();
                String relativeURL = 
RangerRESTUtils.REST_URL_SERVICE_GET_ROLE_INFO + roleName;
                Cookie sessionId = this.sessionId;
 
@@ -525,7 +516,7 @@ public RangerRole getRole(final String execUser, final 
String roleName) throws E
 
                if (isSecureMode) {
                        if (LOG.isDebugEnabled()) {
-                               LOG.debug("get role info as user " + user);
+                               LOG.debug("get role info");
                        }
                        response = 
MiscUtil.executePrivilegedAction((PrivilegedExceptionAction<ClientResponse>) () 
-> {
                                try {
@@ -545,7 +536,7 @@ public RangerRole getRole(final String execUser, final 
String roleName) throws E
                if(response != null) {
                        if (response.getStatus() != HttpServletResponse.SC_OK) {
                                RESTResponse resp = 
RESTResponse.fromClientResponse(response);
-                               LOG.error("getPrincipalsForRole() failed: HTTP 
status=" + response.getStatus() + ", message=" + resp.getMessage() + ", 
isSecure=" + isSecureMode + (isSecureMode ? (", user=" + user) : ""));
+                               LOG.error("getPrincipalsForRole() failed: HTTP 
status=" + response.getStatus() + ", message=" + resp.getMessage() + ", 
isSecure=" + isSecureMode);
 
                                if (response.getStatus() == 
HttpServletResponse.SC_UNAUTHORIZED) {
                                        throw new AccessControlException();
@@ -573,14 +564,13 @@ public void grantRole(final GrantRevokeRoleRequest 
request) throws Exception {
                }
 
                final ClientResponse response;
-               UserGroupInformation user = MiscUtil.getUGILoginUser();
-               boolean isSecureMode = isKerberosEnabled(user);
+               boolean isSecureMode = isAuthenticationEnabled();
                String relativeURL = 
RangerRESTUtils.REST_URL_SERVICE_GRANT_ROLE + serviceNameUrlParam;
                Cookie sessionId = this.sessionId;
 
                if (isSecureMode) {
                        if (LOG.isDebugEnabled()) {
-                               LOG.debug("grant role as user " + user);
+                               LOG.debug("grant role");
                        }
                        response = 
MiscUtil.executePrivilegedAction((PrivilegedExceptionAction<ClientResponse>) () 
-> {
                                try {
@@ -599,7 +589,7 @@ public void grantRole(final GrantRevokeRoleRequest request) 
throws Exception {
 
                if(response != null && response.getStatus() != 
HttpServletResponse.SC_OK) {
                        RESTResponse resp = 
RESTResponse.fromClientResponse(response);
-                       LOG.error("grantRole() failed: HTTP status=" + 
response.getStatus() + ", message=" + resp.getMessage() + ", isSecure=" + 
isSecureMode + (isSecureMode ? (", user=" + user) : ""));
+                       LOG.error("grantRole() failed: HTTP status=" + 
response.getStatus() + ", message=" + resp.getMessage() + ", isSecure=" + 
isSecureMode);
 
                        
if(response.getStatus()==HttpServletResponse.SC_UNAUTHORIZED) {
                                throw new AccessControlException();
@@ -622,14 +612,14 @@ public void revokeRole(final GrantRevokeRoleRequest 
request) throws Exception {
                }
 
                final ClientResponse response;
-               UserGroupInformation user = MiscUtil.getUGILoginUser();
-               boolean isSecureMode = isKerberosEnabled(user);
+               
+               boolean isSecureMode = isAuthenticationEnabled();
                String relativeURL = 
RangerRESTUtils.REST_URL_SERVICE_REVOKE_ROLE + serviceNameUrlParam;
                Cookie sessionId = this.sessionId;
 
                if (isSecureMode) {
                        if (LOG.isDebugEnabled()) {
-                               LOG.debug("revoke role as user " + user);
+                               LOG.debug("revoke role");
                        }
                        response = 
MiscUtil.executePrivilegedAction((PrivilegedExceptionAction<ClientResponse>) () 
-> {
                                try {
@@ -648,7 +638,7 @@ public void revokeRole(final GrantRevokeRoleRequest 
request) throws Exception {
 
                if(response != null && response.getStatus() != 
HttpServletResponse.SC_OK) {
                        RESTResponse resp = 
RESTResponse.fromClientResponse(response);
-                       LOG.error("revokeRole() failed: HTTP status=" + 
response.getStatus() + ", message=" + resp.getMessage() + ", isSecure=" + 
isSecureMode + (isSecureMode ? (", user=" + user) : ""));
+                       LOG.error("revokeRole() failed: HTTP status=" + 
response.getStatus() + ", message=" + resp.getMessage() + ", isSecure=" + 
isSecureMode);
 
                        
if(response.getStatus()==HttpServletResponse.SC_UNAUTHORIZED) {
                                throw new AccessControlException();
@@ -671,8 +661,7 @@ public void grantAccess(final GrantRevokeRequest request) 
throws Exception {
                }
 
                final ClientResponse response;
-               UserGroupInformation user = MiscUtil.getUGILoginUser();
-               boolean isSecureMode = isKerberosEnabled(user);
+               boolean isSecureMode = isAuthenticationEnabled();
                Cookie sessionId = this.sessionId;
 
                Map<String, String> queryParams = new HashMap<String, String>();
@@ -680,7 +669,7 @@ public void grantAccess(final GrantRevokeRequest request) 
throws Exception {
 
                if (isSecureMode) {
                        if (LOG.isDebugEnabled()) {
-                               LOG.debug("grantAccess as user " + user);
+                               LOG.debug("grantAccess");
                        }
                        response = 
MiscUtil.executePrivilegedAction((PrivilegedExceptionAction<ClientResponse>) () 
-> {
                                try {
@@ -702,7 +691,7 @@ public void grantAccess(final GrantRevokeRequest request) 
throws Exception {
 
                if(response != null && response.getStatus() != 
HttpServletResponse.SC_OK) {
                        RESTResponse resp = 
RESTResponse.fromClientResponse(response);
-                       LOG.error("grantAccess() failed: HTTP status=" + 
response.getStatus() + ", message=" + resp.getMessage() + ", isSecure=" + 
isSecureMode + (isSecureMode ? (", user=" + user) : ""));
+                       LOG.error("grantAccess() failed: HTTP status=" + 
response.getStatus() + ", message=" + resp.getMessage() + ", isSecure=" + 
isSecureMode);
 
                        
if(response.getStatus()==HttpServletResponse.SC_UNAUTHORIZED) {
                                throw new AccessControlException();
@@ -725,8 +714,7 @@ public void revokeAccess(final GrantRevokeRequest request) 
throws Exception {
                }
 
                final ClientResponse response;
-               UserGroupInformation user = MiscUtil.getUGILoginUser();
-               boolean isSecureMode = isKerberosEnabled(user);
+               boolean isSecureMode = isAuthenticationEnabled();
                Cookie sessionId = this.sessionId;
 
                Map<String, String> queryParams = new HashMap<String, String>();
@@ -734,7 +722,7 @@ public void revokeAccess(final GrantRevokeRequest request) 
throws Exception {
 
                if (isSecureMode) {
                        if (LOG.isDebugEnabled()) {
-                               LOG.debug("revokeAccess as user " + user);
+                               LOG.debug("revokeAccess");
                        }
                        response = 
MiscUtil.executePrivilegedAction((PrivilegedExceptionAction<ClientResponse>) () 
-> {
                                try {
@@ -756,7 +744,7 @@ public void revokeAccess(final GrantRevokeRequest request) 
throws Exception {
 
                if(response != null && response.getStatus() != 
HttpServletResponse.SC_OK) {
                        RESTResponse resp = 
RESTResponse.fromClientResponse(response);
-                       LOG.error("revokeAccess() failed: HTTP status=" + 
response.getStatus() + ", message=" + resp.getMessage() + ", isSecure=" + 
isSecureMode + (isSecureMode ? (", user=" + user) : ""));
+                       LOG.error("revokeAccess() failed: HTTP status=" + 
response.getStatus() + ", message=" + resp.getMessage() + ", isSecure=" + 
isSecureMode);
 
                        if(response.getStatus() == 
HttpServletResponse.SC_UNAUTHORIZED) {
                                throw new AccessControlException();
@@ -772,6 +760,11 @@ public void revokeAccess(final GrantRevokeRequest request) 
throws Exception {
                }
        }
 
+       @Override
+       public boolean isAuthenticationEnabled() {
+               return restClient.isAuthFilterPresent() || 
super.isAuthenticationEnabled();
+       }
+
        private void init(String url, String sslConfigFileName, int 
restClientConnTimeOutMs , int restClientReadTimeOutMs, int 
restClientMaxRetryAttempts, int restClientRetryIntervalMs, Configuration 
config) {
                if(LOG.isDebugEnabled()) {
                        LOG.debug("==> RangerAdminRESTClient.init(" + url + ", 
" + sslConfigFileName + ")");
@@ -795,9 +788,7 @@ public ServiceTags getServiceTagsIfUpdated(final long 
lastKnownVersion, final lo
                }
 
                final ServiceTags ret;
-
-               final UserGroupInformation user = MiscUtil.getUGILoginUser();
-               final boolean isSecureMode = isKerberosEnabled(user);
+               final boolean isSecureMode = isAuthenticationEnabled();
                final ClientResponse response;
                final Cookie sessionId = this.sessionId;
 
@@ -810,7 +801,7 @@ public ServiceTags getServiceTagsIfUpdated(final long 
lastKnownVersion, final lo
 
                if (isSecureMode) {
                        if (LOG.isDebugEnabled()) {
-                               LOG.debug("getServiceTagsIfUpdated as user " + 
user);
+                               LOG.debug("getServiceTagsIfUpdated");
                        }
                        response = 
MiscUtil.executePrivilegedAction((PrivilegedExceptionAction<ClientResponse>) () 
-> {
                                try {
@@ -832,11 +823,11 @@ public ServiceTags getServiceTagsIfUpdated(final long 
lastKnownVersion, final lo
 
                if (response == null || response.getStatus() == 
HttpServletResponse.SC_NOT_MODIFIED) {
                        if (response == null) {
-                               LOG.error("Error getting tags; Received NULL 
response!!. secureMode=" + isSecureMode + ", user=" + user + ", serviceName=" + 
serviceName);
+                               LOG.error("Error getting tags; Received NULL 
response!!. secureMode=" + isSecureMode + ", serviceName=" + serviceName);
                        } else {
                                RESTResponse resp = 
RESTResponse.fromClientResponse(response);
                                if (LOG.isDebugEnabled()) {
-                                       LOG.debug("No change in tags. 
secureMode=" + isSecureMode + ", user=" + user
+                                       LOG.debug("No change in tags. 
secureMode=" + isSecureMode
                                                                          + ", 
response=" + resp + ", serviceName=" + serviceName
                                                                          + ", 
" + "lastKnownVersion=" + lastKnownVersion
                                                                          + ", 
" + "lastActivationTimeInMillis=" + lastActivationTimeInMillis);
@@ -847,7 +838,7 @@ public ServiceTags getServiceTagsIfUpdated(final long 
lastKnownVersion, final lo
                        ret = JsonUtilsV2.readResponse(response, 
ServiceTags.class);
                } else if (response.getStatus() == 
HttpServletResponse.SC_NOT_FOUND) {
                        ret = null;
-                       LOG.error("Error getting tags; service not found. 
secureMode=" + isSecureMode + ", user=" + user
+                       LOG.error("Error getting tags; service not found. 
secureMode=" + isSecureMode
                                                          + ", response=" + 
response.getStatus() + ", serviceName=" + serviceName
                                                          + ", " + 
"lastKnownVersion=" + lastKnownVersion
                                                          + ", " + 
"lastActivationTimeInMillis=" + lastActivationTimeInMillis);
@@ -857,7 +848,7 @@ public ServiceTags getServiceTagsIfUpdated(final long 
lastKnownVersion, final lo
                        LOG.warn("Received 404 error code with body:[" + 
exceptionMsg + "], Ignoring");
                } else {
                        RESTResponse resp = 
RESTResponse.fromClientResponse(response);
-                       LOG.warn("Error getting tags. secureMode=" + 
isSecureMode + ", user=" + user + ", response=" + resp + ", serviceName=" + 
serviceName);
+                       LOG.warn("Error getting tags. secureMode=" + 
isSecureMode + ", response=" + resp + ", serviceName=" + serviceName);
                        ret = null;
                }
 
@@ -876,8 +867,7 @@ public List<String> getTagTypes(String pattern) throws 
Exception {
 
                List<String> ret = null;
                String emptyString = "";
-               UserGroupInformation user = MiscUtil.getUGILoginUser();
-               boolean isSecureMode = isKerberosEnabled(user);
+               boolean isSecureMode = isAuthenticationEnabled();
                Cookie sessionId = this.sessionId;
 
                Map<String, String> queryParams = new HashMap<String, String>();
@@ -888,7 +878,7 @@ public List<String> getTagTypes(String pattern) throws 
Exception {
                final ClientResponse response;
                if (isSecureMode) {
                        if (LOG.isDebugEnabled()) {
-                               LOG.debug("getTagTypes as user " + user);
+                               LOG.debug("getTagTypes");
                        }
                        response = 
MiscUtil.executePrivilegedAction((PrivilegedExceptionAction<ClientResponse>) () 
-> {
                                try {
@@ -927,8 +917,7 @@ public RangerUserStore getUserStoreIfUpdated(long 
lastKnownUserStoreVersion, lon
                }
 
                final RangerUserStore ret;
-               final UserGroupInformation user = MiscUtil.getUGILoginUser();
-               final boolean isSecureMode = isKerberosEnabled(user);
+               final boolean isSecureMode = isAuthenticationEnabled();
                final ClientResponse response;
                final Cookie sessionId = this.sessionId;
 
@@ -941,7 +930,7 @@ public RangerUserStore getUserStoreIfUpdated(long 
lastKnownUserStoreVersion, lon
 
                if (isSecureMode) {
                        if (LOG.isDebugEnabled()) {
-                               LOG.debug("Checking UserStore updated as user : 
" + user);
+                               LOG.debug("Checking UserStore updated");
                        }
                        response = 
MiscUtil.executePrivilegedAction((PrivilegedExceptionAction<ClientResponse>) () 
-> {
                                try {
@@ -956,7 +945,7 @@ public RangerUserStore getUserStoreIfUpdated(long 
lastKnownUserStoreVersion, lon
                        });
                } else {
                        if (LOG.isDebugEnabled()) {
-                               LOG.debug("Checking UserStore updated as user : 
" + user);
+                               LOG.debug("Checking UserStore updated");
                        }
                        String relativeURL = 
RangerRESTUtils.REST_URL_SERVICE_GET_USERSTORE + serviceNameUrlParam;
                        response = restClient.get(relativeURL, queryParams, 
sessionId);
@@ -966,11 +955,11 @@ public RangerUserStore getUserStoreIfUpdated(long 
lastKnownUserStoreVersion, lon
 
                if (response == null || response.getStatus() == 
HttpServletResponse.SC_NOT_MODIFIED) {
                        if (response == null) {
-                               LOG.error("Error getting UserStore; Received 
NULL response!!. secureMode=" + isSecureMode + ", user=" + user + ", 
serviceName=" + serviceName);
+                               LOG.error("Error getting UserStore; Received 
NULL response!!. secureMode=" + isSecureMode + ", serviceName=" + serviceName);
                        } else {
                                RESTResponse resp = 
RESTResponse.fromClientResponse(response);
                                if (LOG.isDebugEnabled()) {
-                                       LOG.debug("No change in UserStore. 
secureMode=" + isSecureMode + ", user=" + user
+                                       LOG.debug("No change in UserStore. 
secureMode=" + isSecureMode
                                                        + ", response=" + resp 
+ ", serviceName=" + serviceName
                                                        + ", " + 
"lastKnownUserStoreVersion=" + lastKnownUserStoreVersion
                                                        + ", " + 
"lastActivationTimeInMillis=" + lastActivationTimeInMillis);
@@ -981,7 +970,7 @@ public RangerUserStore getUserStoreIfUpdated(long 
lastKnownUserStoreVersion, lon
                        ret = JsonUtilsV2.readResponse(response, 
RangerUserStore.class);
                } else if (response.getStatus() == 
HttpServletResponse.SC_NOT_FOUND) {
                        ret = null;
-                       LOG.error("Error getting UserStore; service not found. 
secureMode=" + isSecureMode + ", user=" + user
+                       LOG.error("Error getting UserStore; service not found. 
secureMode=" + isSecureMode
                                        + ", response=" + response.getStatus() 
+ ", serviceName=" + serviceName
                                        + ", " + "lastKnownUserStoreVersion=" + 
lastKnownUserStoreVersion
                                        + ", " + "lastActivationTimeInMillis=" 
+ lastActivationTimeInMillis);
@@ -992,7 +981,7 @@ public RangerUserStore getUserStoreIfUpdated(long 
lastKnownUserStoreVersion, lon
                        LOG.warn("Received 404 error code with body:[" + 
exceptionMsg + "], Ignoring");
                } else {
                        RESTResponse resp = 
RESTResponse.fromClientResponse(response);
-                       LOG.warn("Error getting UserStore. secureMode=" + 
isSecureMode + ", user=" + user + ", response=" + resp + ", serviceName=" + 
serviceName);
+                       LOG.warn("Error getting UserStore. secureMode=" + 
isSecureMode + ", response=" + resp + ", serviceName=" + serviceName);
                        ret = null;
                }
 
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRESTClient.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRESTClient.java
index 70bdba91d..e421ec9a5 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRESTClient.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRESTClient.java
@@ -157,6 +157,10 @@ public String getPassword() {
                return mPassword;
        }
 
+       public boolean isAuthFilterPresent() {
+               return jwtAuthFilter != null || basicAuthFilter != null;
+       }
+
        public int getRestClientConnTimeOutMs() {
                return mRestClientConnTimeOutMs;
        }
diff --git 
a/knox-agent/src/main/java/org/apache/ranger/admin/client/RangerAdminJersey2RESTClient.java
 
b/knox-agent/src/main/java/org/apache/ranger/admin/client/RangerAdminJersey2RESTClient.java
index 779bf422f..ea4ead5eb 100644
--- 
a/knox-agent/src/main/java/org/apache/ranger/admin/client/RangerAdminJersey2RESTClient.java
+++ 
b/knox-agent/src/main/java/org/apache/ranger/admin/client/RangerAdminJersey2RESTClient.java
@@ -47,7 +47,6 @@
 import org.apache.commons.lang3.StringUtils;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.security.AccessControlException;
-import org.apache.hadoop.security.UserGroupInformation;
 import org.apache.ranger.plugin.util.*;
 import org.apache.ranger.audit.provider.MiscUtil;
 import org.apache.ranger.authorization.utils.StringUtil;
@@ -288,8 +287,7 @@ public RangerUserStore getUserStoreIfUpdated(long 
lastKnownUserStoreVersion, lon
                }
 
                final RangerUserStore      ret;
-               final UserGroupInformation user         = 
MiscUtil.getUGILoginUser();
-               final boolean              isSecureMode = 
isKerberosEnabled(user);
+               final boolean              isSecureMode = 
isAuthenticationEnabled();
                final Response             response;
 
                Map<String, String> queryParams = new HashMap<String, String>();
@@ -302,7 +300,7 @@ public RangerUserStore getUserStoreIfUpdated(long 
lastKnownUserStoreVersion, lon
 
                if (isSecureMode) {
                        if (LOG.isDebugEnabled()) {
-                               LOG.debug("Checking UserStore updated as user: 
{}", user);
+                               LOG.debug("Checking UserStore updated");
                        }
 
                        response = 
MiscUtil.executePrivilegedAction((PrivilegedExceptionAction<Response>) () -> {
@@ -318,7 +316,7 @@ public RangerUserStore getUserStoreIfUpdated(long 
lastKnownUserStoreVersion, lon
                        });
                } else {
                        if (LOG.isDebugEnabled()) {
-                               LOG.debug("Checking UserStore updated as user: 
{}", user);
+                               LOG.debug("Checking UserStore updated");
                        }
 
                        String relativeURL = 
RangerRESTUtils.REST_URL_SERVICE_GET_USERSTORE + _serviceNameUrlParam;
@@ -328,13 +326,13 @@ public RangerUserStore getUserStoreIfUpdated(long 
lastKnownUserStoreVersion, lon
 
                if (response == null || response.getStatus() == 304) { // 
NOT_MODIFIED
                        if (response == null) {
-                               LOG.error("Error getting UserStore; Received 
NULL response!!. secureMode={}, user={}, serviceName={}", isSecureMode, user, 
_serviceName);
+                               LOG.error("Error getting UserStore; Received 
NULL response!!. secureMode={}, serviceName={}", isSecureMode, _serviceName);
                        } else {
                                String resp = response.hasEntity() ? 
response.readEntity(String.class) : null;
 
                                if (LOG.isDebugEnabled()) {
-                                       LOG.debug("No change in UserStore. 
secureMode={}, user={}, response={}, serviceName={}, 
lastKnownUserStoreVersion={}, lastActivationTimeInMillis={}",
-                                                         isSecureMode, user, 
resp, _serviceName, lastKnownUserStoreVersion, lastActivationTimeInMillis);
+                                       LOG.debug("No change in UserStore. 
secureMode={}, response={}, serviceName={}, lastKnownUserStoreVersion={}, 
lastActivationTimeInMillis={}",
+                                                         isSecureMode, resp, 
_serviceName, lastKnownUserStoreVersion, lastActivationTimeInMillis);
                                }
                        }
 
@@ -346,8 +344,8 @@ public RangerUserStore getUserStoreIfUpdated(long 
lastKnownUserStoreVersion, lon
                } else if (response.getStatus() == 404) { // NOT_FOUND
                        ret = null;
 
-                       LOG.error("Error getting UserStore; service not found. 
secureMode={}, user={}, response={}, serviceName={}, 
lastKnownUserStoreVersion={}, lastActivationTimeInMillis={}",
-                                         isSecureMode, user, 
response.getStatus(), _serviceName, lastKnownUserStoreVersion, 
lastActivationTimeInMillis);
+                       LOG.error("Error getting UserStore; service not found. 
secureMode={}, response={}, serviceName={}, lastKnownUserStoreVersion={}, 
lastActivationTimeInMillis={}",
+                                         isSecureMode, response.getStatus(), 
_serviceName, lastKnownUserStoreVersion, lastActivationTimeInMillis);
 
                        String exceptionMsg = response.hasEntity() ? 
response.readEntity(String.class) : null;
 
@@ -357,8 +355,8 @@ public RangerUserStore getUserStoreIfUpdated(long 
lastKnownUserStoreVersion, lon
                } else {
                        String resp = response.hasEntity() ? 
response.readEntity(String.class) : null;
 
-                       LOG.warn("Error getting UserStore. secureMode={}, 
user={}, response={}, serviceName={}, lastKnownUserStoreVersion={}, 
lastActivationTimeInMillis={}",
-                                        isSecureMode, user, resp, 
_serviceName, lastKnownUserStoreVersion, lastActivationTimeInMillis);
+                       LOG.warn("Error getting UserStore. secureMode={}, 
response={}, serviceName={}, lastKnownUserStoreVersion={}, 
lastActivationTimeInMillis={}",
+                                        isSecureMode, resp, _serviceName, 
lastKnownUserStoreVersion, lastActivationTimeInMillis);
 
                        ret = null;
                }
@@ -582,7 +580,7 @@ private ServicePolicies 
getServicePoliciesIfUpdatedWithCred(final long lastKnown
                                ret = null;
                                policyDownloadSessionId = null;
                                body = response.readEntity(String.class);
-                               LOG.warn(String.format("Unexpected: Received 
status[%d] with body[%s] form url[%s]", httpResponseCode, body, 
getRelativeURL(isSecureMode())));
+                               LOG.warn(String.format("Unexpected: Received 
status[%d] with body[%s] form url[%s]", httpResponseCode, body, 
getRelativeURL(isAuthenticationEnabled())));
                                break;
                }
 
@@ -649,7 +647,7 @@ private ServicePolicies 
getServicePoliciesIfUpdatedWithCookie(final long lastKno
                                policyDownloadSessionId = null;
                                isValidPolicyDownloadSessionCookie = false;
                                body = response.readEntity(String.class);
-                               LOG.warn(String.format("Unexpected: Received 
status[%d] with body[%s] form url[%s]", httpResponseCode, body, 
getRelativeURL(isSecureMode())));
+                               LOG.warn(String.format("Unexpected: Received 
status[%d] with body[%s] form url[%s]", httpResponseCode, body, 
getRelativeURL(isAuthenticationEnabled())));
                                break;
                }
 
@@ -675,9 +673,9 @@ private Response getRangerAdminPolicyDownloadResponse(final 
long lastKnownVersio
                
queryParams.put(RangerRESTUtils.REST_PARAM_SUPPORTS_POLICY_DELTAS, 
Boolean.toString(_supportsPolicyDeltas));
                queryParams.put(RangerRESTUtils.REST_PARAM_CAPABILITIES, 
pluginCapabilities);
 
-               if (isSecureMode()) {
+               if (isAuthenticationEnabled()) {
                        if (LOG.isDebugEnabled()) {
-                               LOG.debug("Checking Service policy if updated 
as user : " + MiscUtil.getUGILoginUser());
+                               LOG.debug("Checking Service policy if updated");
                        }
                        ret = 
MiscUtil.executePrivilegedAction((PrivilegedExceptionAction<Response>) () -> 
get(queryParams, getRelativeURL(true), policyDownloadSessionId));
                } else {
@@ -787,7 +785,7 @@ private ServiceTags getServiceTagsIfUpdatedWithCred(final 
long lastKnownVersion,
                                ret = null;
                                tagDownloadSessionId = null;
                                body = response.readEntity(String.class);
-                               LOG.warn(String.format("Unexpected: Received 
status[%d] with body[%s] form url[%s]", httpResponseCode, body, 
getRelativeURLForTagDownload(isSecureMode())));
+                               LOG.warn(String.format("Unexpected: Received 
status[%d] with body[%s] form url[%s]", httpResponseCode, body, 
getRelativeURLForTagDownload(isAuthenticationEnabled())));
                                break;
                }
 
@@ -879,9 +877,9 @@ private Response getTagsDownloadResponse(final long 
lastKnownVersion, final long
                queryParams.put(RangerRESTUtils.REST_PARAM_SUPPORTS_TAG_DELTAS, 
Boolean.toString(_supportsTagDeltas));
                queryParams.put(RangerRESTUtils.REST_PARAM_CAPABILITIES, 
pluginCapabilities);
 
-               if (isSecureMode()) {
+               if (isAuthenticationEnabled()) {
                        if (LOG.isDebugEnabled()) {
-                               LOG.debug("Checking Service tags if updated as 
user : " + MiscUtil.getUGILoginUser());
+                               LOG.debug("Checking Service tags if updated");
                        }
                        ret = 
MiscUtil.executePrivilegedAction((PrivilegedExceptionAction<Response>) () -> 
get(queryParams, getRelativeURLForTagDownload(true), tagDownloadSessionId));
                } else {
@@ -990,7 +988,7 @@ private RangerRoles getRangerRolesIfUpdatedWithCred(final 
long lastKnownRoleVers
                                ret = null;
                                roleDownloadSessionId = null;
                                body = response.readEntity(String.class);
-                               LOG.warn(String.format("Unexpected: Received 
status[%d] with body[%s] form url[%s]", httpResponseCode, body, 
getRelativeURLForRoleDownload(isSecureMode())));
+                               LOG.warn(String.format("Unexpected: Received 
status[%d] with body[%s] form url[%s]", httpResponseCode, body, 
getRelativeURLForRoleDownload(isAuthenticationEnabled())));
                                break;
                }
 
@@ -1056,7 +1054,7 @@ private RangerRoles 
getRangerRolesIfUpdatedWithCookie(final long lastKnownRoleVe
                                roleDownloadSessionId = null;
                                isValidRoleDownloadSessionCookie = false;
                                body = response.readEntity(String.class);
-                               LOG.warn(String.format("Unexpected: Received 
status[%d] with body[%s] form url[%s]", httpResponseCode, body, 
getRelativeURLForRoleDownload(isSecureMode())));
+                               LOG.warn(String.format("Unexpected: Received 
status[%d] with body[%s] form url[%s]", httpResponseCode, body, 
getRelativeURLForRoleDownload(isAuthenticationEnabled())));
                                break;
                }
 
@@ -1080,9 +1078,9 @@ private Response getRoleDownloadResponse(final long 
lastKnownRoleVersion, final
                queryParams.put(RangerRESTUtils.REST_PARAM_PLUGIN_ID, 
_pluginId);
                queryParams.put(RangerRESTUtils.REST_PARAM_CLUSTER_NAME, 
_clusterName);
 
-               if (isSecureMode()) {
+               if (isAuthenticationEnabled()) {
                        if (LOG.isDebugEnabled()) {
-                               LOG.debug("Checking Roles if updated as user : 
" + MiscUtil.getUGILoginUser());
+                               LOG.debug("Checking Roles if updated");
                        }
                        ret = 
MiscUtil.executePrivilegedAction((PrivilegedExceptionAction<Response>) () -> 
get(queryParams, getRelativeURLForRoleDownload(true), roleDownloadSessionId));
                } else {
@@ -1162,8 +1160,4 @@ protected boolean shouldRetry(String currentUrl, int 
index, int retryAttemptCoun
 
                return ret;
        }
-
-       private boolean isSecureMode() {
-               return isKerberosEnabled(MiscUtil.getUGILoginUser());
-       }
 }


Reply via email to