You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@impala.apache.org by "Fredy Wijaya (Code Review)" <ge...@cloudera.org> on 2019/02/07 21:54:22 UTC

[Impala-ASF-CR] IMPALA-7917 (Part 1): Decouple Sentry from Impala

Fredy Wijaya has uploaded a new patch set (#8). ( http://gerrit.cloudera.org:8080/12020 )

Change subject: IMPALA-7917 (Part 1): Decouple Sentry from Impala
......................................................................

IMPALA-7917 (Part 1): Decouple Sentry from Impala

The first part of this patch is to provide an initial work to decouple
Sentry from Impala by creating a generic authorization provider
interface that Sentry implements. The idea is to allow more
authorization providers in the future. The patch updates the following:
- Renamed Authorizeable to Authorizable to fix typographical error.
- Moved any clases that uses Sentry specific code to
  org.apache.impala.authorization.sentry package and created interfaces
  when necessary.
- Moved all generic authorization related classes to
  org.apache.impala.authorization package.
- Minor clean up on authorization related code.

In this patch, switching the authorization provider implementation
still requires updating the code in many different places. A follow up
patch will make it easy to switch an authorization provider
implementation.

Testing:
- Ran all FE tests
- Ran all E2E authorization tests

Change-Id: If1fd1df0b38ddd7cfa41299e95f5827f8a9e9c1f
---
M fe/src/main/java/org/apache/impala/analysis/AnalysisContext.java
M fe/src/main/java/org/apache/impala/analysis/Analyzer.java
M fe/src/main/java/org/apache/impala/analysis/AuthorizationStmt.java
M fe/src/main/java/org/apache/impala/analysis/CreateFunctionStmtBase.java
M fe/src/main/java/org/apache/impala/analysis/DropFunctionStmt.java
M fe/src/main/java/org/apache/impala/analysis/HdfsUri.java
M fe/src/main/java/org/apache/impala/analysis/ResetMetadataStmt.java
R fe/src/main/java/org/apache/impala/authorization/Authorizable.java
M fe/src/main/java/org/apache/impala/authorization/AuthorizationChecker.java
M fe/src/main/java/org/apache/impala/authorization/AuthorizationConfig.java
R fe/src/main/java/org/apache/impala/authorization/AuthorizationException.java
R fe/src/main/java/org/apache/impala/authorization/AuthorizationPolicy.java
C fe/src/main/java/org/apache/impala/authorization/AuthorizationProvider.java
D fe/src/main/java/org/apache/impala/authorization/AuthorizeableUri.java
M fe/src/main/java/org/apache/impala/authorization/Privilege.java
M fe/src/main/java/org/apache/impala/authorization/PrivilegeRequest.java
M fe/src/main/java/org/apache/impala/authorization/PrivilegeRequestBuilder.java
A fe/src/main/java/org/apache/impala/authorization/sentry/ImpalaAction.java
R fe/src/main/java/org/apache/impala/authorization/sentry/ImpalaActionFactory.java
R fe/src/main/java/org/apache/impala/authorization/sentry/ImpalaPrivilegeModel.java
R fe/src/main/java/org/apache/impala/authorization/sentry/SentryAuthProvider.java
A fe/src/main/java/org/apache/impala/authorization/sentry/SentryAuthorizable.java
R fe/src/main/java/org/apache/impala/authorization/sentry/SentryAuthorizableColumn.java
R fe/src/main/java/org/apache/impala/authorization/sentry/SentryAuthorizableDb.java
R fe/src/main/java/org/apache/impala/authorization/sentry/SentryAuthorizableFn.java
R fe/src/main/java/org/apache/impala/authorization/sentry/SentryAuthorizableServer.java
R fe/src/main/java/org/apache/impala/authorization/sentry/SentryAuthorizableTable.java
A fe/src/main/java/org/apache/impala/authorization/sentry/SentryAuthorizableUri.java
A fe/src/main/java/org/apache/impala/authorization/sentry/SentryAuthorizationChecker.java
A fe/src/main/java/org/apache/impala/authorization/sentry/SentryAuthorizationConfig.java
A fe/src/main/java/org/apache/impala/authorization/sentry/SentryAuthorizationPolicy.java
R fe/src/main/java/org/apache/impala/authorization/sentry/SentryConfig.java
R fe/src/main/java/org/apache/impala/authorization/sentry/SentryPolicyReaderException.java
R fe/src/main/java/org/apache/impala/authorization/sentry/SentryPolicyService.java
R fe/src/main/java/org/apache/impala/authorization/sentry/SentryProxy.java
R fe/src/main/java/org/apache/impala/authorization/sentry/SentryUnavailableException.java
R fe/src/main/java/org/apache/impala/authorization/sentry/SentryUtil.java
M fe/src/main/java/org/apache/impala/catalog/Catalog.java
M fe/src/main/java/org/apache/impala/catalog/CatalogServiceCatalog.java
M fe/src/main/java/org/apache/impala/catalog/FeCatalog.java
M fe/src/main/java/org/apache/impala/catalog/ImpaladCatalog.java
M fe/src/main/java/org/apache/impala/catalog/PrincipalPrivilege.java
M fe/src/main/java/org/apache/impala/catalog/local/CatalogdMetaProvider.java
M fe/src/main/java/org/apache/impala/catalog/local/DirectMetaProvider.java
M fe/src/main/java/org/apache/impala/catalog/local/LocalCatalog.java
M fe/src/main/java/org/apache/impala/catalog/local/MetaProvider.java
M fe/src/main/java/org/apache/impala/service/CatalogOpExecutor.java
M fe/src/main/java/org/apache/impala/service/Frontend.java
M fe/src/main/java/org/apache/impala/service/JniCatalog.java
M fe/src/main/java/org/apache/impala/service/JniFrontend.java
M fe/src/test/java/org/apache/impala/analysis/AnalysisSessionFixture.java
M fe/src/test/java/org/apache/impala/analysis/AnalyzeAuthStmtsTest.java
M fe/src/test/java/org/apache/impala/analysis/AuditingTest.java
M fe/src/test/java/org/apache/impala/analysis/AuthorizationStmtTest.java
M fe/src/test/java/org/apache/impala/analysis/AuthorizationTest.java
M fe/src/test/java/org/apache/impala/analysis/StmtMetadataLoaderTest.java
R fe/src/test/java/org/apache/impala/authorization/sentry/ImpalaActionFactoryTest.java
R fe/src/test/java/org/apache/impala/authorization/sentry/SentryProxyTest.java
M fe/src/test/java/org/apache/impala/catalog/CatalogTest.java
M fe/src/test/java/org/apache/impala/common/FrontendTestBase.java
M fe/src/test/java/org/apache/impala/testutil/CatalogServiceTestCatalog.java
M fe/src/test/java/org/apache/impala/testutil/ImpaladTestCatalog.java
M fe/src/test/java/org/apache/impala/testutil/SentryServicePinger.java
M fe/src/test/resources/authz-policy.ini.template
64 files changed, 1,145 insertions(+), 806 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/20/12020/8
-- 
To view, visit http://gerrit.cloudera.org:8080/12020
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: If1fd1df0b38ddd7cfa41299e95f5827f8a9e9c1f
Gerrit-Change-Number: 12020
Gerrit-PatchSet: 8
Gerrit-Owner: Fredy Wijaya <fw...@cloudera.com>
Gerrit-Reviewer: Bharath Vissapragada <bh...@cloudera.com>
Gerrit-Reviewer: Fredy Wijaya <fw...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Paul Rogers <pr...@cloudera.com>
Gerrit-Reviewer: Philip Zeyliger <ph...@cloudera.com>
Gerrit-Reviewer: Todd Lipcon <to...@apache.org>