[
https://issues.apache.org/jira/browse/SENTRY-999?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15103061#comment-15103061
]
Colin Ma commented on SENTRY-999:
---------------------------------
[~hahao], the design doc is updated.
Feel free for any comments, thanks.
> Refactor the sentry to integrate with external components quickly
> -----------------------------------------------------------------
>
> Key: SENTRY-999
> URL: https://issues.apache.org/jira/browse/SENTRY-999
> Project: Sentry
> Issue Type: Improvement
> Reporter: Colin Ma
> Assignee: Colin Ma
> Fix For: 1.7.0
>
> Attachments: Design Document of Refactor Sentry for easy
> integration.docx
>
>
> *Problem*
> Currently, many components are integrated with Sentry, eg, Solr, Sqoop. But
> when do the integration, some duplicated work need to be done, for example,
> sentry-core-model-xxx and sentry-policy-xxx should be created for new
> component and the code is kind of duplicated. These makes the integration
> complex and the source maintenance will be hard.
> Considering others components will be integrated with Sentry, eg, Kafka. The
> Sentry should be refactored to be easy integrated.
> *Refactor point*
> *1*. PolicyEngine: Currently, Sentry has many PolicyEngine, eg,
> SimpleSearchPolicyEngine for Solr, SimpleSqoopPolicyEngine for Sqoop. One
> CommonPolicyEngine should be ok for these external components.
> *2*. Privilege: Currently, SearchWildcardPrivilege,
> IndexerWildcardPrivilege, SqoopWildcardPrivilege have the same
> implementation. One CommonPrivilege is enough.
> *3*. Action: Currently, SearchActionFactory, SqoopActionFactory are never
> used in Privilege.imply(). The idea for these ActionFactory is good, but it
> is component related and should be located in sentry-xxx-binding project.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)