[jira] [Commented] (HBASE-8692) [AccessController] Restrict HTableDescriptor enumeration

2013-08-28 Thread Andrew Purtell (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-8692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13752163#comment-13752163
 ] 

Andrew Purtell commented on HBASE-8692:
---

bq. Also this caused HBASE-9314, so now every time we delete a table we get a 
TableInfoMissingException+stack trace in the master log.

Would you like this change reverted?

 [AccessController] Restrict HTableDescriptor enumeration
 

 Key: HBASE-8692
 URL: https://issues.apache.org/jira/browse/HBASE-8692
 Project: HBase
  Issue Type: Improvement
  Components: Coprocessors, security
Affects Versions: 0.98.0, 0.95.1, 0.94.9
Reporter: Andrew Purtell
Assignee: Andrew Purtell
 Fix For: 0.98.0, 0.95.2, 0.94.10

 Attachments: 8692-0.94.patch, 8692-0.94.patch, 8692-0.94.patch, 
 8692-0.94.patch, 8692.patch, 8692.patch, 8692.patch, 8692.patch


 Some users are concerned about having table schema exposed to every user and 
 would like it protected, similar to the rest of the admin operations for 
 schema. 
 This used to be hopeless because META would leak HTableDescriptors in 
 HRegionInfo, but that is no longer the case in 0.94+.
 Consider adding CP hooks in the master for intercepting 
 HMasterInterface#getHTableDescriptors and 
 HMasterInterface#getHTableDescriptors(ListString).  Add support in the 
 AccessController for only allowing GLOBAL ADMIN to the first method. Add 
 support in the AccessController for allowing access to the descriptors for 
 the table names in the list of the second method only if the user has TABLE 
 ADMIN privilege for all of the listed table names.
 Then, fix the code in HBaseAdmin (and elsewhere) that expects to be able to 
 enumerate all table descriptors e.g. in deleteTable. A TABLE ADMIN can delete 
 a table but won’t have GLOBAL ADMIN privilege to enumerate the total list. So 
 a minor fixup is needed here, and in other places like this which make the 
 same assumption.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HBASE-8692) [AccessController] Restrict HTableDescriptor enumeration

2013-08-28 Thread Andrew Purtell (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-8692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13752182#comment-13752182
 ] 

Andrew Purtell commented on HBASE-8692:
---

Never mind, I see HBASE-9314 marked as minor and will address this there. 
Apologies, when testing I had the minicluster logging at DEBUG in a terminal at 
120x60 but missed it. 

 [AccessController] Restrict HTableDescriptor enumeration
 

 Key: HBASE-8692
 URL: https://issues.apache.org/jira/browse/HBASE-8692
 Project: HBase
  Issue Type: Improvement
  Components: Coprocessors, security
Affects Versions: 0.98.0, 0.95.1, 0.94.9
Reporter: Andrew Purtell
Assignee: Andrew Purtell
 Fix For: 0.98.0, 0.95.2, 0.94.10

 Attachments: 8692-0.94.patch, 8692-0.94.patch, 8692-0.94.patch, 
 8692-0.94.patch, 8692.patch, 8692.patch, 8692.patch, 8692.patch


 Some users are concerned about having table schema exposed to every user and 
 would like it protected, similar to the rest of the admin operations for 
 schema. 
 This used to be hopeless because META would leak HTableDescriptors in 
 HRegionInfo, but that is no longer the case in 0.94+.
 Consider adding CP hooks in the master for intercepting 
 HMasterInterface#getHTableDescriptors and 
 HMasterInterface#getHTableDescriptors(ListString).  Add support in the 
 AccessController for only allowing GLOBAL ADMIN to the first method. Add 
 support in the AccessController for allowing access to the descriptors for 
 the table names in the list of the second method only if the user has TABLE 
 ADMIN privilege for all of the listed table names.
 Then, fix the code in HBaseAdmin (and elsewhere) that expects to be able to 
 enumerate all table descriptors e.g. in deleteTable. A TABLE ADMIN can delete 
 a table but won’t have GLOBAL ADMIN privilege to enumerate the total list. So 
 a minor fixup is needed here, and in other places like this which make the 
 same assumption.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HBASE-8692) [AccessController] Restrict HTableDescriptor enumeration

2013-08-09 Thread Francis Liu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-8692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13735363#comment-13735363
 ] 

Francis Liu commented on HBASE-8692:


It seems this patch causes calling list on the CLI to no longer work. Is that 
the expected behavior?

Will this be enforced on the admin page as well?

So it's ok to list the table names but not get the descriptors? Should we add a 
separate api in HMaster to provide this service then?


 [AccessController] Restrict HTableDescriptor enumeration
 

 Key: HBASE-8692
 URL: https://issues.apache.org/jira/browse/HBASE-8692
 Project: HBase
  Issue Type: Improvement
  Components: Coprocessors, security
Affects Versions: 0.98.0, 0.95.1, 0.94.9
Reporter: Andrew Purtell
Assignee: Andrew Purtell
 Fix For: 0.98.0, 0.95.2, 0.94.9

 Attachments: 8692-0.94.patch, 8692-0.94.patch, 8692-0.94.patch, 
 8692-0.94.patch, 8692.patch, 8692.patch, 8692.patch, 8692.patch


 Some users are concerned about having table schema exposed to every user and 
 would like it protected, similar to the rest of the admin operations for 
 schema. 
 This used to be hopeless because META would leak HTableDescriptors in 
 HRegionInfo, but that is no longer the case in 0.94+.
 Consider adding CP hooks in the master for intercepting 
 HMasterInterface#getHTableDescriptors and 
 HMasterInterface#getHTableDescriptors(ListString).  Add support in the 
 AccessController for only allowing GLOBAL ADMIN to the first method. Add 
 support in the AccessController for allowing access to the descriptors for 
 the table names in the list of the second method only if the user has TABLE 
 ADMIN privilege for all of the listed table names.
 Then, fix the code in HBaseAdmin (and elsewhere) that expects to be able to 
 enumerate all table descriptors e.g. in deleteTable. A TABLE ADMIN can delete 
 a table but won’t have GLOBAL ADMIN privilege to enumerate the total list. So 
 a minor fixup is needed here, and in other places like this which make the 
 same assumption.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HBASE-8692) [AccessController] Restrict HTableDescriptor enumeration

2013-08-09 Thread Andrew Purtell (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-8692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13735380#comment-13735380
 ] 

Andrew Purtell commented on HBASE-8692:
---

bq. It seems this patch causes calling list on the CLI to no longer work.

It works if the shell is authenticated as a principal with admin privilege. 

bq. Will this be enforced on the admin page as well?

No, because the page is rendered by the HBase daemon running under the service 
account, which is given superuser privilege. It's expected the UIs are 
protected since they leak other sensitive information. 

bq. So it's ok to list the table names but not get the descriptors? Should we 
add a separate api in HMaster to provide this service then?

The requirement we had was to protect the descriptors. An expansive reading 
would include the table names, but I have no opinion here. A separate API for 
that sounds good to me. 


 [AccessController] Restrict HTableDescriptor enumeration
 

 Key: HBASE-8692
 URL: https://issues.apache.org/jira/browse/HBASE-8692
 Project: HBase
  Issue Type: Improvement
  Components: Coprocessors, security
Affects Versions: 0.98.0, 0.95.1, 0.94.9
Reporter: Andrew Purtell
Assignee: Andrew Purtell
 Fix For: 0.98.0, 0.95.2, 0.94.9

 Attachments: 8692-0.94.patch, 8692-0.94.patch, 8692-0.94.patch, 
 8692-0.94.patch, 8692.patch, 8692.patch, 8692.patch, 8692.patch


 Some users are concerned about having table schema exposed to every user and 
 would like it protected, similar to the rest of the admin operations for 
 schema. 
 This used to be hopeless because META would leak HTableDescriptors in 
 HRegionInfo, but that is no longer the case in 0.94+.
 Consider adding CP hooks in the master for intercepting 
 HMasterInterface#getHTableDescriptors and 
 HMasterInterface#getHTableDescriptors(ListString).  Add support in the 
 AccessController for only allowing GLOBAL ADMIN to the first method. Add 
 support in the AccessController for allowing access to the descriptors for 
 the table names in the list of the second method only if the user has TABLE 
 ADMIN privilege for all of the listed table names.
 Then, fix the code in HBaseAdmin (and elsewhere) that expects to be able to 
 enumerate all table descriptors e.g. in deleteTable. A TABLE ADMIN can delete 
 a table but won’t have GLOBAL ADMIN privilege to enumerate the total list. So 
 a minor fixup is needed here, and in other places like this which make the 
 same assumption.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HBASE-8692) [AccessController] Restrict HTableDescriptor enumeration

2013-08-09 Thread Francis Liu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-8692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13735428#comment-13735428
 ] 

Francis Liu commented on HBASE-8692:


{quote}
It works if the shell is authenticated as a principal with admin privilege.
{quote}
Yeah sorry that's what I meant as majority of users aren't admins and list to 
me is one of the first thing users do after opening the CLI. Is that the intent 
then? Non-admin users can't list tables?

{quote}
No, because the page is rendered by the HBase daemon running under the service 
account, which is given superuser privilege. It's expected the UIs are 
protected since they leak other sensitive information.
{quote}
Instead of blocking access why not secure it like the other hadoop admin pages?

{quote}
The requirement we had was to protect the descriptors. An expansive reading 
would include the table names, but I have no opinion here. A separate API for 
that sounds good to me.
{quote}
I see, I'm trying to come up with a clear picture of what should be secured and 
what's not in this context. As I'm trying to how things tie in with namespaces 
(See HBASE-8409). Presently there's an api to list all the table descriptors of 
a given namespace. It sounds like that api should return table names instead.



 [AccessController] Restrict HTableDescriptor enumeration
 

 Key: HBASE-8692
 URL: https://issues.apache.org/jira/browse/HBASE-8692
 Project: HBase
  Issue Type: Improvement
  Components: Coprocessors, security
Affects Versions: 0.98.0, 0.95.1, 0.94.9
Reporter: Andrew Purtell
Assignee: Andrew Purtell
 Fix For: 0.98.0, 0.95.2, 0.94.9

 Attachments: 8692-0.94.patch, 8692-0.94.patch, 8692-0.94.patch, 
 8692-0.94.patch, 8692.patch, 8692.patch, 8692.patch, 8692.patch


 Some users are concerned about having table schema exposed to every user and 
 would like it protected, similar to the rest of the admin operations for 
 schema. 
 This used to be hopeless because META would leak HTableDescriptors in 
 HRegionInfo, but that is no longer the case in 0.94+.
 Consider adding CP hooks in the master for intercepting 
 HMasterInterface#getHTableDescriptors and 
 HMasterInterface#getHTableDescriptors(ListString).  Add support in the 
 AccessController for only allowing GLOBAL ADMIN to the first method. Add 
 support in the AccessController for allowing access to the descriptors for 
 the table names in the list of the second method only if the user has TABLE 
 ADMIN privilege for all of the listed table names.
 Then, fix the code in HBaseAdmin (and elsewhere) that expects to be able to 
 enumerate all table descriptors e.g. in deleteTable. A TABLE ADMIN can delete 
 a table but won’t have GLOBAL ADMIN privilege to enumerate the total list. So 
 a minor fixup is needed here, and in other places like this which make the 
 same assumption.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HBASE-8692) [AccessController] Restrict HTableDescriptor enumeration

2013-08-09 Thread Andrew Purtell (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-8692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13735435#comment-13735435
 ] 

Andrew Purtell commented on HBASE-8692:
---

bq. Yeah sorry that's what I meant as majority of users aren't admins and 
list to me is one of the first thing users do after opening the CLI. Is that 
the intent then? Non-admin users can't list tables?

Yes that is the intent, but it is a side effect of the fact the API used by the 
shell retrieves descriptors.

bq. Instead of blocking access why not secure it like the other hadoop admin 
pages?

This patch doesn't block access to the UI. We may be talking past each other. 

The secure deployment model I use is only admins/operations see the UIs. Is 
there a JIRA open for presenting different levels of information on the UI to 
users authenticating with different levels of privilege? I haven't seen it. 
Should we have one? 


 [AccessController] Restrict HTableDescriptor enumeration
 

 Key: HBASE-8692
 URL: https://issues.apache.org/jira/browse/HBASE-8692
 Project: HBase
  Issue Type: Improvement
  Components: Coprocessors, security
Affects Versions: 0.98.0, 0.95.1, 0.94.9
Reporter: Andrew Purtell
Assignee: Andrew Purtell
 Fix For: 0.98.0, 0.95.2, 0.94.9

 Attachments: 8692-0.94.patch, 8692-0.94.patch, 8692-0.94.patch, 
 8692-0.94.patch, 8692.patch, 8692.patch, 8692.patch, 8692.patch


 Some users are concerned about having table schema exposed to every user and 
 would like it protected, similar to the rest of the admin operations for 
 schema. 
 This used to be hopeless because META would leak HTableDescriptors in 
 HRegionInfo, but that is no longer the case in 0.94+.
 Consider adding CP hooks in the master for intercepting 
 HMasterInterface#getHTableDescriptors and 
 HMasterInterface#getHTableDescriptors(ListString).  Add support in the 
 AccessController for only allowing GLOBAL ADMIN to the first method. Add 
 support in the AccessController for allowing access to the descriptors for 
 the table names in the list of the second method only if the user has TABLE 
 ADMIN privilege for all of the listed table names.
 Then, fix the code in HBaseAdmin (and elsewhere) that expects to be able to 
 enumerate all table descriptors e.g. in deleteTable. A TABLE ADMIN can delete 
 a table but won’t have GLOBAL ADMIN privilege to enumerate the total list. So 
 a minor fixup is needed here, and in other places like this which make the 
 same assumption.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HBASE-8692) [AccessController] Restrict HTableDescriptor enumeration

2013-08-09 Thread Francis Liu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-8692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13735456#comment-13735456
 ] 

Francis Liu commented on HBASE-8692:


{quote}
Yes that is the intent, but it is a side effect of the fact the API used by the 
shell retrieves descriptors.
{quote}
I see, that needs to be fixed then opened HBASE-9182


{quote}
This patch doesn't block access to the UI. We may be talking past each other.
{quote}
No sorry I got your message. Using the wrong words. What I meant to say was 
instead of recommending to protect the page. Secure it instead.

{quote}
The secure deployment model I use is only admins/operations see the UIs. Is 
there a JIRA open for presenting different levels of information on the UI to 
users authenticating with different levels of privilege? I haven't seen it. 
Should we have one?
{quote}
I think we should as the other components behave in such a manner, created 
HBASE-9183.

 [AccessController] Restrict HTableDescriptor enumeration
 

 Key: HBASE-8692
 URL: https://issues.apache.org/jira/browse/HBASE-8692
 Project: HBase
  Issue Type: Improvement
  Components: Coprocessors, security
Affects Versions: 0.98.0, 0.95.1, 0.94.9
Reporter: Andrew Purtell
Assignee: Andrew Purtell
 Fix For: 0.98.0, 0.95.2, 0.94.9

 Attachments: 8692-0.94.patch, 8692-0.94.patch, 8692-0.94.patch, 
 8692-0.94.patch, 8692.patch, 8692.patch, 8692.patch, 8692.patch


 Some users are concerned about having table schema exposed to every user and 
 would like it protected, similar to the rest of the admin operations for 
 schema. 
 This used to be hopeless because META would leak HTableDescriptors in 
 HRegionInfo, but that is no longer the case in 0.94+.
 Consider adding CP hooks in the master for intercepting 
 HMasterInterface#getHTableDescriptors and 
 HMasterInterface#getHTableDescriptors(ListString).  Add support in the 
 AccessController for only allowing GLOBAL ADMIN to the first method. Add 
 support in the AccessController for allowing access to the descriptors for 
 the table names in the list of the second method only if the user has TABLE 
 ADMIN privilege for all of the listed table names.
 Then, fix the code in HBaseAdmin (and elsewhere) that expects to be able to 
 enumerate all table descriptors e.g. in deleteTable. A TABLE ADMIN can delete 
 a table but won’t have GLOBAL ADMIN privilege to enumerate the total list. So 
 a minor fixup is needed here, and in other places like this which make the 
 same assumption.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HBASE-8692) [AccessController] Restrict HTableDescriptor enumeration

2013-06-27 Thread stack (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-8692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13694869#comment-13694869
 ] 

stack commented on HBASE-8692:
--

This looks to have broke TestAccessController.  See 
http://54.241.6.143/job/HBase-0.95-Hadoop-2/org.apache.hbase$hbase-server/508/testReport/org.apache.hadoop.hbase.security.access/TestAccessController/testBulkLoad/

I added debug to the exception:

Expected action to pass for user 'rwuser' but was denied: 
org.apache.hadoop.hbase.exceptions.AccessDeniedException: 
org.apache.hadoop.hbase.exceptions.AccessDeniedException: Insufficient 
permissions (user=rwuser, scope=testBulkLoad, family=, action=CREATE)  at 
org.apache.hadoop.hbase.security.access.AccessController.requirePermission(AccessController.java:351)
  at 
org.apache.hadoop.hbase.security.access.AccessController.preGetTableDescriptors(AccessController.java:1391)
  at 
org.apache.hadoop.hbase.master.MasterCoprocessorHost.preGetTableDescriptors(MasterCoprocessorHost.java:1125)
  at 
org.apache.hadoop.hbase.master.HMaster.getTableDescriptors(HMaster.java:2418)  
at 
org.apache.hadoop.hbase.protobuf.generated.MasterMonitorProtos$MasterMonitorService$2.callBlockingMethod(MasterMonitorProtos.java:2702)
  at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2122)  at 
org.apache.hadoop.hbase.ipc.RpcServer$Handler.run(RpcServer.java:1829) 


The rwuser does not have the now required CREATE permission.

The testBulkLoad has been failing solidly for a while now.  I'll disable it for 
the moment till this addressed over in HBASE-8799

 [AccessController] Restrict HTableDescriptor enumeration
 

 Key: HBASE-8692
 URL: https://issues.apache.org/jira/browse/HBASE-8692
 Project: HBase
  Issue Type: Improvement
  Components: Coprocessors, security
Affects Versions: 0.98.0, 0.95.1, 0.94.9
Reporter: Andrew Purtell
Assignee: Andrew Purtell
 Fix For: 0.98.0, 0.95.2, 0.94.9

 Attachments: 8692-0.94.patch, 8692-0.94.patch, 8692-0.94.patch, 
 8692-0.94.patch, 8692.patch, 8692.patch, 8692.patch, 8692.patch


 Some users are concerned about having table schema exposed to every user and 
 would like it protected, similar to the rest of the admin operations for 
 schema. 
 This used to be hopeless because META would leak HTableDescriptors in 
 HRegionInfo, but that is no longer the case in 0.94+.
 Consider adding CP hooks in the master for intercepting 
 HMasterInterface#getHTableDescriptors and 
 HMasterInterface#getHTableDescriptors(ListString).  Add support in the 
 AccessController for only allowing GLOBAL ADMIN to the first method. Add 
 support in the AccessController for allowing access to the descriptors for 
 the table names in the list of the second method only if the user has TABLE 
 ADMIN privilege for all of the listed table names.
 Then, fix the code in HBaseAdmin (and elsewhere) that expects to be able to 
 enumerate all table descriptors e.g. in deleteTable. A TABLE ADMIN can delete 
 a table but won’t have GLOBAL ADMIN privilege to enumerate the total list. So 
 a minor fixup is needed here, and in other places like this which make the 
 same assumption.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HBASE-8692) [AccessController] Restrict HTableDescriptor enumeration

2013-06-27 Thread stack (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-8692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13694877#comment-13694877
 ] 

stack commented on HBASE-8692:
--

Here is another sample failure: 
http://54.241.6.143/job/HBase-0.95/518/org.apache.hbase$hbase-server/testReport/org.apache.hadoop.hbase.security.access/TestAccessController/testBulkLoad/

 [AccessController] Restrict HTableDescriptor enumeration
 

 Key: HBASE-8692
 URL: https://issues.apache.org/jira/browse/HBASE-8692
 Project: HBase
  Issue Type: Improvement
  Components: Coprocessors, security
Affects Versions: 0.98.0, 0.95.1, 0.94.9
Reporter: Andrew Purtell
Assignee: Andrew Purtell
 Fix For: 0.98.0, 0.95.2, 0.94.9

 Attachments: 8692-0.94.patch, 8692-0.94.patch, 8692-0.94.patch, 
 8692-0.94.patch, 8692.patch, 8692.patch, 8692.patch, 8692.patch


 Some users are concerned about having table schema exposed to every user and 
 would like it protected, similar to the rest of the admin operations for 
 schema. 
 This used to be hopeless because META would leak HTableDescriptors in 
 HRegionInfo, but that is no longer the case in 0.94+.
 Consider adding CP hooks in the master for intercepting 
 HMasterInterface#getHTableDescriptors and 
 HMasterInterface#getHTableDescriptors(ListString).  Add support in the 
 AccessController for only allowing GLOBAL ADMIN to the first method. Add 
 support in the AccessController for allowing access to the descriptors for 
 the table names in the list of the second method only if the user has TABLE 
 ADMIN privilege for all of the listed table names.
 Then, fix the code in HBaseAdmin (and elsewhere) that expects to be able to 
 enumerate all table descriptors e.g. in deleteTable. A TABLE ADMIN can delete 
 a table but won’t have GLOBAL ADMIN privilege to enumerate the total list. So 
 a minor fixup is needed here, and in other places like this which make the 
 same assumption.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HBASE-8692) [AccessController] Restrict HTableDescriptor enumeration

2013-06-27 Thread Andrew Purtell (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-8692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13695029#comment-13695029
 ] 

Andrew Purtell commented on HBASE-8692:
---

I saw that failure on trunk without the htabledescriptor change. Doesn't matter 
will fix the failing case regardless. 

 [AccessController] Restrict HTableDescriptor enumeration
 

 Key: HBASE-8692
 URL: https://issues.apache.org/jira/browse/HBASE-8692
 Project: HBase
  Issue Type: Improvement
  Components: Coprocessors, security
Affects Versions: 0.98.0, 0.95.1, 0.94.9
Reporter: Andrew Purtell
Assignee: Andrew Purtell
 Fix For: 0.98.0, 0.95.2, 0.94.9

 Attachments: 8692-0.94.patch, 8692-0.94.patch, 8692-0.94.patch, 
 8692-0.94.patch, 8692.patch, 8692.patch, 8692.patch, 8692.patch


 Some users are concerned about having table schema exposed to every user and 
 would like it protected, similar to the rest of the admin operations for 
 schema. 
 This used to be hopeless because META would leak HTableDescriptors in 
 HRegionInfo, but that is no longer the case in 0.94+.
 Consider adding CP hooks in the master for intercepting 
 HMasterInterface#getHTableDescriptors and 
 HMasterInterface#getHTableDescriptors(ListString).  Add support in the 
 AccessController for only allowing GLOBAL ADMIN to the first method. Add 
 support in the AccessController for allowing access to the descriptors for 
 the table names in the list of the second method only if the user has TABLE 
 ADMIN privilege for all of the listed table names.
 Then, fix the code in HBaseAdmin (and elsewhere) that expects to be able to 
 enumerate all table descriptors e.g. in deleteTable. A TABLE ADMIN can delete 
 a table but won’t have GLOBAL ADMIN privilege to enumerate the total list. So 
 a minor fixup is needed here, and in other places like this which make the 
 same assumption.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HBASE-8692) [AccessController] Restrict HTableDescriptor enumeration

2013-06-24 Thread Andrew Purtell (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-8692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13692415#comment-13692415
 ] 

Andrew Purtell commented on HBASE-8692:
---

About to commit. Just fixing the shell 'describe' command to work as expected.

 [AccessController] Restrict HTableDescriptor enumeration
 

 Key: HBASE-8692
 URL: https://issues.apache.org/jira/browse/HBASE-8692
 Project: HBase
  Issue Type: Improvement
  Components: Coprocessors, security
Affects Versions: 0.98.0, 0.95.1, 0.94.9
Reporter: Andrew Purtell
Assignee: Andrew Purtell
 Attachments: 8692-0.94.patch, 8692-0.94.patch, 8692-0.94.patch, 
 8692.patch, 8692.patch, 8692.patch


 Some users are concerned about having table schema exposed to every user and 
 would like it protected, similar to the rest of the admin operations for 
 schema. 
 This used to be hopeless because META would leak HTableDescriptors in 
 HRegionInfo, but that is no longer the case in 0.94+.
 Consider adding CP hooks in the master for intercepting 
 HMasterInterface#getHTableDescriptors and 
 HMasterInterface#getHTableDescriptors(ListString).  Add support in the 
 AccessController for only allowing GLOBAL ADMIN to the first method. Add 
 support in the AccessController for allowing access to the descriptors for 
 the table names in the list of the second method only if the user has TABLE 
 ADMIN privilege for all of the listed table names.
 Then, fix the code in HBaseAdmin (and elsewhere) that expects to be able to 
 enumerate all table descriptors e.g. in deleteTable. A TABLE ADMIN can delete 
 a table but won’t have GLOBAL ADMIN privilege to enumerate the total list. So 
 a minor fixup is needed here, and in other places like this which make the 
 same assumption.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HBASE-8692) [AccessController] Restrict HTableDescriptor enumeration

2013-06-24 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-8692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13692577#comment-13692577
 ] 

Hudson commented on HBASE-8692:
---

Integrated in hbase-0.95-on-hadoop2 #147 (See 
[https://builds.apache.org/job/hbase-0.95-on-hadoop2/147/])
HBASE-8692. [AccessController] Restrict HTableDescriptor enumeration 
(Revision 1496239)

 Result = FAILURE
apurtell : 
Files : 
* 
/hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
* 
/hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java
* 
/hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/RequestConverter.java
* 
/hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java
* 
/hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java
* 
/hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
* 
/hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java
* 
/hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java
* /hbase/branches/0.95/hbase-server/src/main/ruby/hbase/admin.rb
* 
/hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java
* 
/hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java
* /hbase/branches/0.95/hbase-server/src/test/ruby/hbase/admin_test.rb


 [AccessController] Restrict HTableDescriptor enumeration
 

 Key: HBASE-8692
 URL: https://issues.apache.org/jira/browse/HBASE-8692
 Project: HBase
  Issue Type: Improvement
  Components: Coprocessors, security
Affects Versions: 0.98.0, 0.95.1, 0.94.9
Reporter: Andrew Purtell
Assignee: Andrew Purtell
 Fix For: 0.98.0, 0.95.2, 0.94.9

 Attachments: 8692-0.94.patch, 8692-0.94.patch, 8692-0.94.patch, 
 8692-0.94.patch, 8692.patch, 8692.patch, 8692.patch, 8692.patch


 Some users are concerned about having table schema exposed to every user and 
 would like it protected, similar to the rest of the admin operations for 
 schema. 
 This used to be hopeless because META would leak HTableDescriptors in 
 HRegionInfo, but that is no longer the case in 0.94+.
 Consider adding CP hooks in the master for intercepting 
 HMasterInterface#getHTableDescriptors and 
 HMasterInterface#getHTableDescriptors(ListString).  Add support in the 
 AccessController for only allowing GLOBAL ADMIN to the first method. Add 
 support in the AccessController for allowing access to the descriptors for 
 the table names in the list of the second method only if the user has TABLE 
 ADMIN privilege for all of the listed table names.
 Then, fix the code in HBaseAdmin (and elsewhere) that expects to be able to 
 enumerate all table descriptors e.g. in deleteTable. A TABLE ADMIN can delete 
 a table but won’t have GLOBAL ADMIN privilege to enumerate the total list. So 
 a minor fixup is needed here, and in other places like this which make the 
 same assumption.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HBASE-8692) [AccessController] Restrict HTableDescriptor enumeration

2013-06-24 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-8692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13692584#comment-13692584
 ] 

Hudson commented on HBASE-8692:
---

Integrated in HBase-0.94-security #180 (See 
[https://builds.apache.org/job/HBase-0.94-security/180/])
HBASE-8692. [AccessController] Restrict HTableDescriptor enumeration 
(Revision 1496240)

 Result = FAILURE
apurtell : 
Files : 
* 
/hbase/branches/0.94/security/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java
* 
/hbase/branches/0.94/security/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java
* 
/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
* 
/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java
* 
/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java
* 
/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java
* 
/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/ipc/HMasterInterface.java
* /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
* 
/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java
* /hbase/branches/0.94/src/main/ruby/hbase/admin.rb
* 
/hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java
* /hbase/branches/0.94/src/test/ruby/hbase/admin_test.rb


 [AccessController] Restrict HTableDescriptor enumeration
 

 Key: HBASE-8692
 URL: https://issues.apache.org/jira/browse/HBASE-8692
 Project: HBase
  Issue Type: Improvement
  Components: Coprocessors, security
Affects Versions: 0.98.0, 0.95.1, 0.94.9
Reporter: Andrew Purtell
Assignee: Andrew Purtell
 Fix For: 0.98.0, 0.95.2, 0.94.9

 Attachments: 8692-0.94.patch, 8692-0.94.patch, 8692-0.94.patch, 
 8692-0.94.patch, 8692.patch, 8692.patch, 8692.patch, 8692.patch


 Some users are concerned about having table schema exposed to every user and 
 would like it protected, similar to the rest of the admin operations for 
 schema. 
 This used to be hopeless because META would leak HTableDescriptors in 
 HRegionInfo, but that is no longer the case in 0.94+.
 Consider adding CP hooks in the master for intercepting 
 HMasterInterface#getHTableDescriptors and 
 HMasterInterface#getHTableDescriptors(ListString).  Add support in the 
 AccessController for only allowing GLOBAL ADMIN to the first method. Add 
 support in the AccessController for allowing access to the descriptors for 
 the table names in the list of the second method only if the user has TABLE 
 ADMIN privilege for all of the listed table names.
 Then, fix the code in HBaseAdmin (and elsewhere) that expects to be able to 
 enumerate all table descriptors e.g. in deleteTable. A TABLE ADMIN can delete 
 a table but won’t have GLOBAL ADMIN privilege to enumerate the total list. So 
 a minor fixup is needed here, and in other places like this which make the 
 same assumption.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HBASE-8692) [AccessController] Restrict HTableDescriptor enumeration

2013-06-24 Thread Andrew Purtell (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-8692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13692594#comment-13692594
 ] 

Andrew Purtell commented on HBASE-8692:
---

By the way, don't blame this for HBASE-8799 - it's an unrelated issue on trunk 
that predates this change. I haven't been around the AccessController or trunk 
for a while. I'm not sure when this started failing. Will follow up on 
HBASE-8799.

 [AccessController] Restrict HTableDescriptor enumeration
 

 Key: HBASE-8692
 URL: https://issues.apache.org/jira/browse/HBASE-8692
 Project: HBase
  Issue Type: Improvement
  Components: Coprocessors, security
Affects Versions: 0.98.0, 0.95.1, 0.94.9
Reporter: Andrew Purtell
Assignee: Andrew Purtell
 Fix For: 0.98.0, 0.95.2, 0.94.9

 Attachments: 8692-0.94.patch, 8692-0.94.patch, 8692-0.94.patch, 
 8692-0.94.patch, 8692.patch, 8692.patch, 8692.patch, 8692.patch


 Some users are concerned about having table schema exposed to every user and 
 would like it protected, similar to the rest of the admin operations for 
 schema. 
 This used to be hopeless because META would leak HTableDescriptors in 
 HRegionInfo, but that is no longer the case in 0.94+.
 Consider adding CP hooks in the master for intercepting 
 HMasterInterface#getHTableDescriptors and 
 HMasterInterface#getHTableDescriptors(ListString).  Add support in the 
 AccessController for only allowing GLOBAL ADMIN to the first method. Add 
 support in the AccessController for allowing access to the descriptors for 
 the table names in the list of the second method only if the user has TABLE 
 ADMIN privilege for all of the listed table names.
 Then, fix the code in HBaseAdmin (and elsewhere) that expects to be able to 
 enumerate all table descriptors e.g. in deleteTable. A TABLE ADMIN can delete 
 a table but won’t have GLOBAL ADMIN privilege to enumerate the total list. So 
 a minor fixup is needed here, and in other places like this which make the 
 same assumption.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HBASE-8692) [AccessController] Restrict HTableDescriptor enumeration

2013-06-24 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-8692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13692633#comment-13692633
 ] 

Hudson commented on HBASE-8692:
---

Integrated in hbase-0.95 #266 (See 
[https://builds.apache.org/job/hbase-0.95/266/])
HBASE-8692. [AccessController] Restrict HTableDescriptor enumeration 
(Revision 1496239)

 Result = FAILURE
apurtell : 
Files : 
* 
/hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
* 
/hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java
* 
/hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/RequestConverter.java
* 
/hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java
* 
/hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java
* 
/hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
* 
/hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java
* 
/hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java
* /hbase/branches/0.95/hbase-server/src/main/ruby/hbase/admin.rb
* 
/hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java
* 
/hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java
* /hbase/branches/0.95/hbase-server/src/test/ruby/hbase/admin_test.rb


 [AccessController] Restrict HTableDescriptor enumeration
 

 Key: HBASE-8692
 URL: https://issues.apache.org/jira/browse/HBASE-8692
 Project: HBase
  Issue Type: Improvement
  Components: Coprocessors, security
Affects Versions: 0.98.0, 0.95.1, 0.94.9
Reporter: Andrew Purtell
Assignee: Andrew Purtell
 Fix For: 0.98.0, 0.95.2, 0.94.9

 Attachments: 8692-0.94.patch, 8692-0.94.patch, 8692-0.94.patch, 
 8692-0.94.patch, 8692.patch, 8692.patch, 8692.patch, 8692.patch


 Some users are concerned about having table schema exposed to every user and 
 would like it protected, similar to the rest of the admin operations for 
 schema. 
 This used to be hopeless because META would leak HTableDescriptors in 
 HRegionInfo, but that is no longer the case in 0.94+.
 Consider adding CP hooks in the master for intercepting 
 HMasterInterface#getHTableDescriptors and 
 HMasterInterface#getHTableDescriptors(ListString).  Add support in the 
 AccessController for only allowing GLOBAL ADMIN to the first method. Add 
 support in the AccessController for allowing access to the descriptors for 
 the table names in the list of the second method only if the user has TABLE 
 ADMIN privilege for all of the listed table names.
 Then, fix the code in HBaseAdmin (and elsewhere) that expects to be able to 
 enumerate all table descriptors e.g. in deleteTable. A TABLE ADMIN can delete 
 a table but won’t have GLOBAL ADMIN privilege to enumerate the total list. So 
 a minor fixup is needed here, and in other places like this which make the 
 same assumption.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HBASE-8692) [AccessController] Restrict HTableDescriptor enumeration

2013-06-24 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-8692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13692636#comment-13692636
 ] 

Hudson commented on HBASE-8692:
---

Integrated in HBase-0.94 #1025 (See 
[https://builds.apache.org/job/HBase-0.94/1025/])
HBASE-8692. [AccessController] Restrict HTableDescriptor enumeration 
(Revision 1496240)

 Result = SUCCESS
apurtell : 
Files : 
* 
/hbase/branches/0.94/security/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java
* 
/hbase/branches/0.94/security/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java
* 
/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
* 
/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java
* 
/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java
* 
/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java
* 
/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/ipc/HMasterInterface.java
* /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
* 
/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java
* /hbase/branches/0.94/src/main/ruby/hbase/admin.rb
* 
/hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java
* /hbase/branches/0.94/src/test/ruby/hbase/admin_test.rb


 [AccessController] Restrict HTableDescriptor enumeration
 

 Key: HBASE-8692
 URL: https://issues.apache.org/jira/browse/HBASE-8692
 Project: HBase
  Issue Type: Improvement
  Components: Coprocessors, security
Affects Versions: 0.98.0, 0.95.1, 0.94.9
Reporter: Andrew Purtell
Assignee: Andrew Purtell
 Fix For: 0.98.0, 0.95.2, 0.94.9

 Attachments: 8692-0.94.patch, 8692-0.94.patch, 8692-0.94.patch, 
 8692-0.94.patch, 8692.patch, 8692.patch, 8692.patch, 8692.patch


 Some users are concerned about having table schema exposed to every user and 
 would like it protected, similar to the rest of the admin operations for 
 schema. 
 This used to be hopeless because META would leak HTableDescriptors in 
 HRegionInfo, but that is no longer the case in 0.94+.
 Consider adding CP hooks in the master for intercepting 
 HMasterInterface#getHTableDescriptors and 
 HMasterInterface#getHTableDescriptors(ListString).  Add support in the 
 AccessController for only allowing GLOBAL ADMIN to the first method. Add 
 support in the AccessController for allowing access to the descriptors for 
 the table names in the list of the second method only if the user has TABLE 
 ADMIN privilege for all of the listed table names.
 Then, fix the code in HBaseAdmin (and elsewhere) that expects to be able to 
 enumerate all table descriptors e.g. in deleteTable. A TABLE ADMIN can delete 
 a table but won’t have GLOBAL ADMIN privilege to enumerate the total list. So 
 a minor fixup is needed here, and in other places like this which make the 
 same assumption.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HBASE-8692) [AccessController] Restrict HTableDescriptor enumeration

2013-06-24 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-8692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13692656#comment-13692656
 ] 

Hudson commented on HBASE-8692:
---

Integrated in HBase-TRUNK-on-Hadoop-2.0.0 #582 (See 
[https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-2.0.0/582/])
HBASE-8692. [AccessController] Restrict HTableDescriptor enumeration 
(Revision 1496238)

 Result = FAILURE
apurtell : 
Files : 
* 
/hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
* 
/hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java
* 
/hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/RequestConverter.java
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java
* 
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java
* /hbase/trunk/hbase-server/src/main/ruby/hbase/admin.rb
* 
/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java
* 
/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java
* /hbase/trunk/hbase-server/src/test/ruby/hbase/admin_test.rb


 [AccessController] Restrict HTableDescriptor enumeration
 

 Key: HBASE-8692
 URL: https://issues.apache.org/jira/browse/HBASE-8692
 Project: HBase
  Issue Type: Improvement
  Components: Coprocessors, security
Affects Versions: 0.98.0, 0.95.1, 0.94.9
Reporter: Andrew Purtell
Assignee: Andrew Purtell
 Fix For: 0.98.0, 0.95.2, 0.94.9

 Attachments: 8692-0.94.patch, 8692-0.94.patch, 8692-0.94.patch, 
 8692-0.94.patch, 8692.patch, 8692.patch, 8692.patch, 8692.patch


 Some users are concerned about having table schema exposed to every user and 
 would like it protected, similar to the rest of the admin operations for 
 schema. 
 This used to be hopeless because META would leak HTableDescriptors in 
 HRegionInfo, but that is no longer the case in 0.94+.
 Consider adding CP hooks in the master for intercepting 
 HMasterInterface#getHTableDescriptors and 
 HMasterInterface#getHTableDescriptors(ListString).  Add support in the 
 AccessController for only allowing GLOBAL ADMIN to the first method. Add 
 support in the AccessController for allowing access to the descriptors for 
 the table names in the list of the second method only if the user has TABLE 
 ADMIN privilege for all of the listed table names.
 Then, fix the code in HBaseAdmin (and elsewhere) that expects to be able to 
 enumerate all table descriptors e.g. in deleteTable. A TABLE ADMIN can delete 
 a table but won’t have GLOBAL ADMIN privilege to enumerate the total list. So 
 a minor fixup is needed here, and in other places like this which make the 
 same assumption.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HBASE-8692) [AccessController] Restrict HTableDescriptor enumeration

2013-06-21 Thread Andrew Purtell (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-8692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13690769#comment-13690769
 ] 

Andrew Purtell commented on HBASE-8692:
---

Testing and committing this today.

 [AccessController] Restrict HTableDescriptor enumeration
 

 Key: HBASE-8692
 URL: https://issues.apache.org/jira/browse/HBASE-8692
 Project: HBase
  Issue Type: Improvement
  Components: Coprocessors, security
Affects Versions: 0.98.0, 0.95.1, 0.94.9
Reporter: Andrew Purtell
Assignee: Andrew Purtell
 Attachments: 8692-0.94.patch, 8692-0.94.patch, 8692.patch, 8692.patch


 Some users are concerned about having table schema exposed to every user and 
 would like it protected, similar to the rest of the admin operations for 
 schema. 
 This used to be hopeless because META would leak HTableDescriptors in 
 HRegionInfo, but that is no longer the case in 0.94+.
 Consider adding CP hooks in the master for intercepting 
 HMasterInterface#getHTableDescriptors and 
 HMasterInterface#getHTableDescriptors(ListString).  Add support in the 
 AccessController for only allowing GLOBAL ADMIN to the first method. Add 
 support in the AccessController for allowing access to the descriptors for 
 the table names in the list of the second method only if the user has TABLE 
 ADMIN privilege for all of the listed table names.
 Then, fix the code in HBaseAdmin (and elsewhere) that expects to be able to 
 enumerate all table descriptors e.g. in deleteTable. A TABLE ADMIN can delete 
 a table but won’t have GLOBAL ADMIN privilege to enumerate the total list. So 
 a minor fixup is needed here, and in other places like this which make the 
 same assumption.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HBASE-8692) [AccessController] Restrict HTableDescriptor enumeration

2013-06-21 Thread Andrew Purtell (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-8692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13690991#comment-13690991
 ] 

Andrew Purtell commented on HBASE-8692:
---

Going to commit to trunk and 0.94 tomorrow if no objection.

 [AccessController] Restrict HTableDescriptor enumeration
 

 Key: HBASE-8692
 URL: https://issues.apache.org/jira/browse/HBASE-8692
 Project: HBase
  Issue Type: Improvement
  Components: Coprocessors, security
Affects Versions: 0.98.0, 0.95.1, 0.94.9
Reporter: Andrew Purtell
Assignee: Andrew Purtell
 Attachments: 8692-0.94.patch, 8692-0.94.patch, 8692-0.94.patch, 
 8692.patch, 8692.patch, 8692.patch


 Some users are concerned about having table schema exposed to every user and 
 would like it protected, similar to the rest of the admin operations for 
 schema. 
 This used to be hopeless because META would leak HTableDescriptors in 
 HRegionInfo, but that is no longer the case in 0.94+.
 Consider adding CP hooks in the master for intercepting 
 HMasterInterface#getHTableDescriptors and 
 HMasterInterface#getHTableDescriptors(ListString).  Add support in the 
 AccessController for only allowing GLOBAL ADMIN to the first method. Add 
 support in the AccessController for allowing access to the descriptors for 
 the table names in the list of the second method only if the user has TABLE 
 ADMIN privilege for all of the listed table names.
 Then, fix the code in HBaseAdmin (and elsewhere) that expects to be able to 
 enumerate all table descriptors e.g. in deleteTable. A TABLE ADMIN can delete 
 a table but won’t have GLOBAL ADMIN privilege to enumerate the total list. So 
 a minor fixup is needed here, and in other places like this which make the 
 same assumption.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HBASE-8692) [AccessController] Restrict HTableDescriptor enumeration

2013-06-21 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-8692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13691016#comment-13691016
 ] 

Hadoop QA commented on HBASE-8692:
--

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12589223/8692-0.94.patch
  against trunk revision .

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:green}+1 tests included{color}.  The patch appears to include 6 new 
or modified tests.

{color:red}-1 patch{color}.  The patch command could not apply the patch.

Console output: 
https://builds.apache.org/job/PreCommit-HBASE-Build/6099//console

This message is automatically generated.

 [AccessController] Restrict HTableDescriptor enumeration
 

 Key: HBASE-8692
 URL: https://issues.apache.org/jira/browse/HBASE-8692
 Project: HBase
  Issue Type: Improvement
  Components: Coprocessors, security
Affects Versions: 0.98.0, 0.95.1, 0.94.9
Reporter: Andrew Purtell
Assignee: Andrew Purtell
 Attachments: 8692-0.94.patch, 8692-0.94.patch, 8692-0.94.patch, 
 8692.patch, 8692.patch, 8692.patch


 Some users are concerned about having table schema exposed to every user and 
 would like it protected, similar to the rest of the admin operations for 
 schema. 
 This used to be hopeless because META would leak HTableDescriptors in 
 HRegionInfo, but that is no longer the case in 0.94+.
 Consider adding CP hooks in the master for intercepting 
 HMasterInterface#getHTableDescriptors and 
 HMasterInterface#getHTableDescriptors(ListString).  Add support in the 
 AccessController for only allowing GLOBAL ADMIN to the first method. Add 
 support in the AccessController for allowing access to the descriptors for 
 the table names in the list of the second method only if the user has TABLE 
 ADMIN privilege for all of the listed table names.
 Then, fix the code in HBaseAdmin (and elsewhere) that expects to be able to 
 enumerate all table descriptors e.g. in deleteTable. A TABLE ADMIN can delete 
 a table but won’t have GLOBAL ADMIN privilege to enumerate the total list. So 
 a minor fixup is needed here, and in other places like this which make the 
 same assumption.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HBASE-8692) [AccessController] Restrict HTableDescriptor enumeration

2013-06-14 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-8692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13684079#comment-13684079
 ] 

Hadoop QA commented on HBASE-8692:
--

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12587955/8692-0.94.patch
  against trunk revision .

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:green}+1 tests included{color}.  The patch appears to include 8 new 
or modified tests.

{color:red}-1 patch{color}.  The patch command could not apply the patch.

Console output: 
https://builds.apache.org/job/PreCommit-HBASE-Build/6039//console

This message is automatically generated.

 [AccessController] Restrict HTableDescriptor enumeration
 

 Key: HBASE-8692
 URL: https://issues.apache.org/jira/browse/HBASE-8692
 Project: HBase
  Issue Type: Improvement
  Components: Coprocessors, security
Affects Versions: 0.98.0, 0.95.1, 0.94.9
Reporter: Andrew Purtell
Assignee: Andrew Purtell
 Attachments: 8692-0.94.patch, 8692.patch


 Some users are concerned about having table schema exposed to every user and 
 would like it protected, similar to the rest of the admin operations for 
 schema. 
 This used to be hopeless because META would leak HTableDescriptors in 
 HRegionInfo, but that is no longer the case in 0.94+.
 Consider adding CP hooks in the master for intercepting 
 HMasterInterface#getHTableDescriptors and 
 HMasterInterface#getHTableDescriptors(ListString).  Add support in the 
 AccessController for only allowing GLOBAL ADMIN to the first method. Add 
 support in the AccessController for allowing access to the descriptors for 
 the table names in the list of the second method only if the user has TABLE 
 ADMIN privilege for all of the listed table names.
 Then, fix the code in HBaseAdmin (and elsewhere) that expects to be able to 
 enumerate all table descriptors e.g. in deleteTable. A TABLE ADMIN can delete 
 a table but won’t have GLOBAL ADMIN privilege to enumerate the total list. So 
 a minor fixup is needed here, and in other places like this which make the 
 same assumption.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira