[ 
https://issues.apache.org/jira/browse/HBASE-6386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13427525#comment-13427525
 ] 

Marcelo Vanzin commented on HBASE-6386:
---------------------------------------

So I went and implemented the optimization, but when reviewing my changes I'm 
not so sure it's worth the extra code. The only place where performance would 
potentially be affected here is callers of the following method:

{code}
  private void requirePermission(byte[] tableName, byte[] family, byte[] 
qualifier, Action... permissions)
{code}

Going through the code, there are only two calls to that method where "family" 
is not null; both calls were added in my patch, in "grant()" and "revoke()", 
which I wouldn't really consider performance bottlenecks. In the other cases, 
the "makeFamilyMap()" call will just take a shortcut and return "null" since 
there is no family. So in the end it's a wash.

Let me know if that doesn't make sense for any reason. 

If you still think it's important, I'll update the patch to make the methods 
public again, but since the class itself is private, I don't think it makes a 
difference.
                
> Audit log messages do not include column family / qualifier information 
> consistently
> ------------------------------------------------------------------------------------
>
>                 Key: HBASE-6386
>                 URL: https://issues.apache.org/jira/browse/HBASE-6386
>             Project: HBase
>          Issue Type: Improvement
>          Components: security
>    Affects Versions: 0.96.0
>            Reporter: Marcelo Vanzin
>         Attachments: hbase-6386-v1.patch
>
>
> The code related to this issue is in 
> AccessController.java:permissionGranted().
> When creating audit logs, that method will do one of the following:
> * grant access, create audit log with table name only
> * deny access because of table permission, create audit log with table name 
> only
> * deny access because of column family / qualifier permission, create audit 
> log with specific family / qualifier
> So, in the case where more than one column family and/or qualifier are in the 
> same request, there will be a loss of information. Even in the case where 
> only one column family and/or qualifier is involved, information may be lost.
> It would be better if this behavior consistently included all the information 
> in the request; regardless of access being granted or denied, and regardless 
> which permission caused the denial, the column family and qualifier info 
> should be part of the audit log message.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to