文章来源:加米谷大数据
当您发出扫描或获取时,HBase会利用您的一组默认受权来过滤掉您无权拜候的单位格。超等用户(superuser)能够通过利用set_auths HBase Shell号令或VisibilityClient.setAuths()办法为给定用户设置默认受权集。
假设您利用API,则能够在扫描或获取期间通过在HBase Shell中传递AUTHORIZATIONS选项或在Scan.setAuthorizations()办法中指定差别的受权。此受权将与您的默认设置一路做为附加过滤器。它会进一步过滤你的成果,而不是给你额外的受权。
HBase Shell
hbaseget_auths'myUser'hbasescan'table1',AUTHORIZATIONS=['private']例子:Java API
...publicVoidrun()throwsException{String[]auths1={SECRET,CONFIDENTIAL};GetAuthsResponseauthsResponse=null;try{VisibilityClient.setAuths(conf,auths1,user);try{authsResponse=VisibilityClient.getAuths(conf,user);}catch(Throwablee){fail("Shouldnothavefailed");}}catch(Throwablee){}ListStringauthsList=newArrayListString();for(ByteStringauthBS:authsResponse.getAuthList()){authsList.add(Bytes.toString(authBS.toByteArray()));}assertEquals(2,authsList.size());assertTrue(authsList.contains(SECRET));assertTrue(authsList.contains(CONFIDENTIAL));returnnull;}...