This is an automated email from the ASF dual-hosted git repository.
abhishek pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/druid.git
The following commit(s) were added to refs/heads/master by this push:
new 92a7febacb Revert "Add method to authorize native query using
authentication result (#14376)" (#14452)
92a7febacb is described below
commit 92a7febacbe71f13cdfc2e8b976cadff57606a0f
Author: Rishabh Singh <[email protected]>
AuthorDate: Wed Jun 21 10:42:26 2023 +0530
Revert "Add method to authorize native query using authentication result
(#14376)" (#14452)
This reverts commit 8b212e73d75e08db718a1121da0f201fff723cf2.
---
.../org/apache/druid/server/QueryLifecycle.java | 16 +----
.../apache/druid/server/QueryLifecycleTest.java | 70 ++++++----------------
2 files changed, 20 insertions(+), 66 deletions(-)
diff --git a/server/src/main/java/org/apache/druid/server/QueryLifecycle.java
b/server/src/main/java/org/apache/druid/server/QueryLifecycle.java
index d47e76a666..8f0deafac2 100644
--- a/server/src/main/java/org/apache/druid/server/QueryLifecycle.java
+++ b/server/src/main/java/org/apache/druid/server/QueryLifecycle.java
@@ -220,18 +220,6 @@ public class QueryLifecycle
* @return authorization result
*/
public Access authorize(HttpServletRequest req)
- {
- return authorize(AuthorizationUtils.authenticationResultFromRequest(req));
- }
-
- /**
- * Authorize the query using the authentication result.
- * Will return an Access object denoting whether the query is authorized or
not.
- *
- * @param authenticationResult authentication result indicating identity of
the requester
- * @return authorization result of requester
- */
- public Access authorize(AuthenticationResult authenticationResult)
{
transition(State.INITIALIZED, State.AUTHORIZING);
final Iterable<ResourceAction> resourcesToAuthorize = Iterables.concat(
@@ -245,9 +233,9 @@ public class QueryLifecycle
)
);
return doAuthorize(
- authenticationResult,
+ AuthorizationUtils.authenticationResultFromRequest(req),
AuthorizationUtils.authorizeAllResourceActions(
- authenticationResult,
+ req,
resourcesToAuthorize,
authorizerMapper
)
diff --git
a/server/src/test/java/org/apache/druid/server/QueryLifecycleTest.java
b/server/src/test/java/org/apache/druid/server/QueryLifecycleTest.java
index 385c594b99..578661ea76 100644
--- a/server/src/test/java/org/apache/druid/server/QueryLifecycleTest.java
+++ b/server/src/test/java/org/apache/druid/server/QueryLifecycleTest.java
@@ -188,15 +188,15 @@ public class QueryLifecycleTest
EasyMock.expect(authenticationResult.getIdentity()).andReturn(IDENTITY).anyTimes();
EasyMock.expect(authenticationResult.getAuthorizerName()).andReturn(AUTHORIZER).anyTimes();
EasyMock.expect(authorizer.authorize(authenticationResult, new
Resource(DATASOURCE, ResourceType.DATASOURCE), Action.READ))
- .andReturn(Access.OK).times(2);
+ .andReturn(Access.OK);
EasyMock.expect(authorizer.authorize(authenticationResult, new
Resource("foo", ResourceType.QUERY_CONTEXT), Action.WRITE))
- .andReturn(Access.OK).times(2);
+ .andReturn(Access.OK);
EasyMock.expect(authorizer.authorize(authenticationResult, new
Resource("baz", ResourceType.QUERY_CONTEXT), Action.WRITE))
- .andReturn(Access.OK).times(2);
+ .andReturn(Access.OK);
EasyMock.expect(toolChestWarehouse.getToolChest(EasyMock.anyObject()))
.andReturn(toolChest)
- .times(2);
+ .once();
replayAll();
@@ -223,10 +223,6 @@ public class QueryLifecycleTest
);
Assert.assertTrue(lifecycle.authorize(mockRequest()).isAllowed());
-
- lifecycle = createLifecycle(authConfig);
- lifecycle.initialize(query);
- Assert.assertTrue(lifecycle.authorize(authenticationResult).isAllowed());
}
@Test
@@ -236,15 +232,13 @@ public class QueryLifecycleTest
EasyMock.expect(authenticationResult.getIdentity()).andReturn(IDENTITY).anyTimes();
EasyMock.expect(authenticationResult.getAuthorizerName()).andReturn(AUTHORIZER).anyTimes();
EasyMock.expect(authorizer.authorize(authenticationResult, new
Resource(DATASOURCE, ResourceType.DATASOURCE), Action.READ))
- .andReturn(Access.OK)
- .times(2);
+ .andReturn(Access.OK);
EasyMock.expect(authorizer.authorize(authenticationResult, new
Resource("foo", ResourceType.QUERY_CONTEXT), Action.WRITE))
- .andReturn(Access.DENIED)
- .times(2);
+ .andReturn(Access.DENIED);
EasyMock.expect(toolChestWarehouse.getToolChest(EasyMock.anyObject()))
.andReturn(toolChest)
- .times(2);
+ .once();
replayAll();
@@ -261,10 +255,6 @@ public class QueryLifecycleTest
QueryLifecycle lifecycle = createLifecycle(authConfig);
lifecycle.initialize(query);
Assert.assertFalse(lifecycle.authorize(mockRequest()).isAllowed());
-
- lifecycle = createLifecycle(authConfig);
- lifecycle.initialize(query);
- Assert.assertFalse(lifecycle.authorize(authenticationResult).isAllowed());
}
@Test
@@ -274,12 +264,11 @@ public class QueryLifecycleTest
EasyMock.expect(authenticationResult.getIdentity()).andReturn(IDENTITY).anyTimes();
EasyMock.expect(authenticationResult.getAuthorizerName()).andReturn(AUTHORIZER).anyTimes();
EasyMock.expect(authorizer.authorize(authenticationResult, new
Resource(DATASOURCE, ResourceType.DATASOURCE), Action.READ))
- .andReturn(Access.OK)
- .times(2);
+ .andReturn(Access.OK);
EasyMock.expect(toolChestWarehouse.getToolChest(EasyMock.anyObject()))
.andReturn(toolChest)
- .times(2);
+ .once();
replayAll();
@@ -307,10 +296,6 @@ public class QueryLifecycleTest
);
Assert.assertTrue(lifecycle.authorize(mockRequest()).isAllowed());
-
- lifecycle = createLifecycle(authConfig);
- lifecycle.initialize(query);
- Assert.assertTrue(lifecycle.authorize(authenticationResult).isAllowed());
}
@Test
@@ -320,12 +305,11 @@ public class QueryLifecycleTest
EasyMock.expect(authenticationResult.getIdentity()).andReturn(IDENTITY).anyTimes();
EasyMock.expect(authenticationResult.getAuthorizerName()).andReturn(AUTHORIZER).anyTimes();
EasyMock.expect(authorizer.authorize(authenticationResult, new
Resource(DATASOURCE, ResourceType.DATASOURCE), Action.READ))
- .andReturn(Access.OK)
- .times(2);
+ .andReturn(Access.OK);
EasyMock.expect(toolChestWarehouse.getToolChest(EasyMock.anyObject()))
.andReturn(toolChest)
- .times(2);
+ .once();
replayAll();
@@ -354,10 +338,6 @@ public class QueryLifecycleTest
);
Assert.assertTrue(lifecycle.authorize(mockRequest()).isAllowed());
-
- lifecycle = createLifecycle(authConfig);
- lifecycle.initialize(query);
- Assert.assertTrue(lifecycle.authorize(authenticationResult).isAllowed());
}
@Test
@@ -367,15 +347,13 @@ public class QueryLifecycleTest
EasyMock.expect(authenticationResult.getIdentity()).andReturn(IDENTITY).anyTimes();
EasyMock.expect(authenticationResult.getAuthorizerName()).andReturn(AUTHORIZER).anyTimes();
EasyMock.expect(authorizer.authorize(authenticationResult, new
Resource(DATASOURCE, ResourceType.DATASOURCE), Action.READ))
- .andReturn(Access.OK)
- .times(2);
+ .andReturn(Access.OK);
EasyMock.expect(authorizer.authorize(authenticationResult, new
Resource("foo", ResourceType.QUERY_CONTEXT), Action.WRITE))
- .andReturn(Access.DENIED)
- .times(2);
+ .andReturn(Access.DENIED);
EasyMock.expect(toolChestWarehouse.getToolChest(EasyMock.anyObject()))
.andReturn(toolChest)
- .times(2);
+ .once();
replayAll();
@@ -395,10 +373,6 @@ public class QueryLifecycleTest
QueryLifecycle lifecycle = createLifecycle(authConfig);
lifecycle.initialize(query);
Assert.assertFalse(lifecycle.authorize(mockRequest()).isAllowed());
-
- lifecycle = createLifecycle(authConfig);
- lifecycle.initialize(query);
- Assert.assertFalse(lifecycle.authorize(authenticationResult).isAllowed());
}
@Test
@@ -408,18 +382,14 @@ public class QueryLifecycleTest
EasyMock.expect(authenticationResult.getIdentity()).andReturn(IDENTITY).anyTimes();
EasyMock.expect(authenticationResult.getAuthorizerName()).andReturn(AUTHORIZER).anyTimes();
EasyMock.expect(authorizer.authorize(authenticationResult, new
Resource("fake", ResourceType.DATASOURCE), Action.READ))
- .andReturn(Access.OK)
- .times(2);
+ .andReturn(Access.OK);
EasyMock.expect(authorizer.authorize(authenticationResult, new
Resource("foo", ResourceType.QUERY_CONTEXT), Action.WRITE))
- .andReturn(Access.OK)
- .times(2);
- EasyMock.expect(authorizer.authorize(authenticationResult, new
Resource("baz", ResourceType.QUERY_CONTEXT), Action.WRITE))
- .andReturn(Access.OK)
- .times(2);
+ .andReturn(Access.OK);
+ EasyMock.expect(authorizer.authorize(authenticationResult, new
Resource("baz", ResourceType.QUERY_CONTEXT),
Action.WRITE)).andReturn(Access.OK);
EasyMock.expect(toolChestWarehouse.getToolChest(EasyMock.anyObject()))
.andReturn(toolChest)
- .times(2);
+ .once();
replayAll();
@@ -438,10 +408,6 @@ public class QueryLifecycleTest
Assert.assertTrue(revisedContext.containsKey("queryId"));
Assert.assertTrue(lifecycle.authorize(mockRequest()).isAllowed());
-
- lifecycle = createLifecycle(authConfig);
- lifecycle.initialize(query);
- Assert.assertTrue(lifecycle.authorize(mockRequest()).isAllowed());
}
private HttpServletRequest mockRequest()
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]