Apache Sentry (incubating) は、Hadoopでデータをクエリする時にセキュリティを提供する新しい方法です(例:SELECTやCREATEのSQLステートメントでの権限)。ImpalaはApache Hadoopに高速なSQLを提供しており、Sentryを利用することができます。以下はHueでSentryを使用する方法です。
最初に、Proxyとして動作する’hue’ではなく現在のユーザーに対して権限をチェックするように、hue.ini の詐称(impersonation)を有効にします:
[impala] impersonation_enabled=True
そうすると、このエラーになるかもしれません:
User 'hue' is not authorized to impersonate 'romain'. User impersonation is disabled.
これはHueがproxyとして権限を与えられていないからです。これを修正するために、Impalaの起動時に次のフラグを指定します:
--authorized_proxy_user_config=hue=*
注: Cloudera Managerを使用する場合、Impaladのコマンドラインの引数の安全バルブに追加します。
これでHiveに似た実際のセキュリティからの恩恵が受けられます!
いつものように、コメントはhue-userリスト、あるいは@gethueまで!
注: CDH4/Hue 2.xの場合、HueがHiveServer2 APIでImpalaと通信するように設定されているかを確認して下さい:
[impala] # Host of the Impala Server (one of the Impalad) server_host=nightly-1.ent.cloudera.com # The backend to contact for queries/metadata requests. # Choices are 'beeswax' or 'hiveserver2' (default). # 'hiveserver2' supports log, progress information, query cancellation # 'beeswax' requires Beeswax to run for proxying the metadata requests server_interface=hiveserver2 # Port of the Impala Server # Default is 21050 as HiveServer2 Thrift interface is the default. # Use 21000 when using Beeswax Thrift interface. server_port=21050 # Kerberos principal ## impala_principal=impala/hostname.foo.com impersonation_enabled=True