Hadoop クラスターでの Sentry の Spark 権限について質問があります。
まず、いくつかの背景 -
- CDH バージョン 5.13.2 を使用しています
- HDFS での ACL 同期が有効になっています
- なりすましが無効
- データベース レベルで許可し、特定のケースでは URI で許可する
シナリオ
db_a と db_b の 2 つのデータベースがあります。db_a には、db_b で定義されたテーブルから選択するビューがあります。
db_a に対する読み取りアクセス (grant select) を持つ特定のユーザーに特権を付与しました。
Beeline/Impala/Hue では、動作は期待どおりです。
- データベースを表示すると、db_a のみが表示されます
- ユーザーがdb_aのビューを照会すると、ユーザーがdb_bに対する権限を持っていなくても完全に機能します。
Spark SQL の問題:
- 同じユーザーが db_a のビューにアクセスしようとすると、ユーザーが db_b にアクセスできないため失敗します。
繰り返しますが、同じユーザーによる同じクエリは、Hive/Impala で正常に機能します。
問題を解決するための構成または回避策はありますか?