hadoopldapkerberosapache-sentry

Configure Sentry to show/hide different databases for different users


I have a cluster running with cdh-5.7.0 and configured the following setup

My goal is to restrict users to see which databases exist in my system. E.g.:

I followed the article https://blog.cloudera.com/blog/2013/12/how-to-get-started-with-sentry-in-hive/ to make that happen. But without success. What I achieved was that

But both can still see DB-A and DB-B when executing show databases. But i want to avoid this.

Any hints from you how the rules or the setup could looks like to get that running?

Thanks Marko


Solution

  • According your description and from what I've learned from existing setups, in case of Sentry v1.6+ you need to add the following property to your hive-site.xml:

    <property>
      <name>hive.metastore.filter.hook</name>
      <value>org.apache.sentry.binding.metastore.SentryMetaStoreFilterHook</value>
    </property>
    

    Even if you are on CDH 5.7, the MapR 5 documentation is providing some context. As well Sentry Service Interactions.

    After re-starting the Hive service you should be able to see the result which you are expecting.