From 5d8f705bc29b51881e268abb647c707d103620ed Mon Sep 17 00:00:00 2001 From: Josh Elser Date: Thu, 23 Jan 2020 07:41:28 -0500 Subject: [PATCH 1/3] HBASE-23722 Real user might be null in non-proxy-user case --- .../hbase/security/provider/BuiltInProviderSelector.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/security/provider/BuiltInProviderSelector.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/security/provider/BuiltInProviderSelector.java index 8d20171c596e..752003dad8c6 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/security/provider/BuiltInProviderSelector.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/security/provider/BuiltInProviderSelector.java @@ -29,6 +29,7 @@ import org.apache.hadoop.hbase.security.User; import org.apache.hadoop.hbase.util.Pair; import org.apache.hadoop.io.Text; +import org.apache.hadoop.security.UserGroupInformation; import org.apache.hadoop.security.token.Token; import org.apache.hadoop.security.token.TokenIdentifier; import org.apache.yetus.audience.InterfaceAudience; @@ -124,8 +125,11 @@ public Pair> } } // Unwrap PROXY auth'n method if that's what we have coming in. - if (user.getUGI().hasKerberosCredentials() || - user.getUGI().getRealUser().hasKerberosCredentials()) { + final UserGroupInformation currentUser = user.getUGI(); + // May be null if Hadoop AuthenticationMethod is PROXY + final UserGroupInformation realUser = currentUser.getRealUser(); + if (currentUser.hasKerberosCredentials() || + (realUser != null && realUser.hasKerberosCredentials())) { return new Pair<>(krbAuth, null); } // This indicates that a client is requesting some authentication mechanism which the servers From 4e9227e73a7c64536d8b491fd8606cd4e4cd85d8 Mon Sep 17 00:00:00 2001 From: Josh Elser Date: Thu, 23 Jan 2020 07:42:26 -0500 Subject: [PATCH 2/3] HACK trigger QA --- hbase-rest/pom.xml | 1 + hbase-thrift/pom.xml | 1 + 2 files changed, 2 insertions(+) diff --git a/hbase-rest/pom.xml b/hbase-rest/pom.xml index 6a0c7e3ab73b..3d9806db79fb 100644 --- a/hbase-rest/pom.xml +++ b/hbase-rest/pom.xml @@ -543,3 +543,4 @@ + diff --git a/hbase-thrift/pom.xml b/hbase-thrift/pom.xml index 2de14efcec5a..fc199b5842f7 100644 --- a/hbase-thrift/pom.xml +++ b/hbase-thrift/pom.xml @@ -600,3 +600,4 @@ + From 0fe781c6b65bc1e54460b6401309655f4be8c8fe Mon Sep 17 00:00:00 2001 From: Josh Elser Date: Thu, 23 Jan 2020 11:10:17 -0500 Subject: [PATCH 3/3] ... and hbase-server --- hbase-server/pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/hbase-server/pom.xml b/hbase-server/pom.xml index 57227abccdd1..5d70fdbfb7bd 100644 --- a/hbase-server/pom.xml +++ b/hbase-server/pom.xml @@ -897,3 +897,4 @@ +