[
https://issues.apache.org/jira/browse/HBASE-13275?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrew Purtell updated HBASE-13275:
-----------------------------------
Attachment: HBASE-13275.patch
Patch for master.
Grep for 'authorizationEnabled' to catch where all the changes have been made.
The idea is if the coprocessors are loaded but authorization is disabled, then
we enter a passive mode where we maintain state, allow administrative actions
(without authorization checks), carry forward cell tags, etc. I figure although
it's weird if the coprocessors are loaded but authorization is disabled, there
can be a use case for this. For example, the AccessController can be installed
in a passive mode, the admin can issue grants, the application can store with
ACL operation attrs and these will get carried through into KeyValues,
users/applications can test permissions with the check permissions API, etc.
and at some point the cluster admin can toggle the
"hbase.security.authorization" switch to 'true' and permissions will be
enforced for real.
Disabling authorization also has the side effect of disabling auditing, except
where users invoke the service APIs, like AC grant or revoke, or VC label add
or assignment. I could look at leaving audit enabled but this would touch a lot
more lines of code.
> Setting hbase.security.authorization to false does not disable authorization
> ----------------------------------------------------------------------------
>
> Key: HBASE-13275
> URL: https://issues.apache.org/jira/browse/HBASE-13275
> Project: HBase
> Issue Type: Bug
> Reporter: William Watson
> Assignee: Andrew Purtell
> Fix For: 2.0.0, 1.0.1, 1.1.0, 0.98.13
>
> Attachments: HBASE-13275.patch
>
>
> According to the docs provided by Cloudera (we're not running Cloudera, BTW),
> this is the list of configs to enable authorization in HBase:
> {code}
> <property>
> <name>hbase.security.authorization</name>
> <value>true</value>
> </property>
> <property>
> <name>hbase.coprocessor.master.classes</name>
> <value>org.apache.hadoop.hbase.security.access.AccessController</value>
> </property>
> <property>
> <name>hbase.coprocessor.region.classes</name>
>
> <value>org.apache.hadoop.hbase.security.token.TokenProvider,org.apache.hadoop.hbase.security.access.AccessController</value>
> </property>
> {code}
> We wanted to then disable authorization but simply setting
> hbase.security.authorization to false did not disable the authorization
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)