-
Notifications
You must be signed in to change notification settings - Fork 914
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[KYUUBI #5475][FOLLOWUP] Authz check permanent view's subquery should check view's correct privilege #5476
Conversation
…ck view's correct privilege
ping @yaooqinn |
Codecov Report
@@ Coverage Diff @@
## master #5476 +/- ##
======================================
Coverage 0.00% 0.00%
======================================
Files 588 588
Lines 33480 33479 -1
Branches 4405 4402 -3
======================================
+ Misses 33480 33479 -1
... and 2 files with indirect coverage changes 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
Incomplete image link in PR description. |
Yea, changed |
ping @yaooqinn @bowenliang123 could you table a look? |
Any suggestion? |
Can we add some tests for it? |
Existing ut already verified this? Since we skip check the subquery expression's privilege check |
...rc/main/scala/org/apache/kyuubi/plugin/spark/authz/ranger/RuleApplyPermanentViewMarker.scala
Outdated
Show resolved
Hide resolved
The existing UT seems insufficient as it only has one col. Let's update the test at least with |
How about current? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
} | ||
PermanentViewMarker(resolvedSubquery, resolvedSubquery.desc) | ||
PermanentViewMarker( | ||
resolvedSubquery, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: it's not resolvedSubquery but a view?
Thanks, merged to master |
…should check view's correct privilege ### _Why are the changes needed?_ To fix apache#5475 In issue apache#5417 we fixed the problem that AUTHZ will still check scalar-subquery/in-subquery in permanent will. But we just ignore the check, the subquery still will run, in this PR, we record the permanent view's visited column to check the permanent view's privilege to avoid extra execution effort. For the test `[KYUUBI apache#5417] should not check scalar-subquery in permanent view` I print all the plan that pass to privilege builder as below <img width="1398" alt="截屏2023-10-19 下午4 05 46" src="https://github.com/apache/kyuubi/assets/46485123/b136bb47-816c-4066-aba7-a74cbe323f7d"> before this pr <img width="1310" alt="截屏2023-10-19 下午4 15 29" src="https://github.com/apache/kyuubi/assets/46485123/aa2e3cfe-bca7-493d-a364-b2c196c76c3a"> This two graph shows this pr deny the execution of subquery when we don't have the veiw's privilege ### _How was this patch tested?_ - [ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible - [ ] Add screenshots for manual tests if appropriate - [ ] [Run test](https://kyuubi.readthedocs.io/en/master/contributing/code/testing.html#running-tests) locally before make a pull request ### _Was this patch authored or co-authored using generative AI tooling?_ Closes apache#5476 from AngersZhuuuu/KYUUBI-5475. Closes apache#5475 e1f7920 [Angerszhuuuu] Merge branch 'master' into KYUUBI-5475 3bfd9e6 [Angerszhuuuu] update 6b8c0e6 [Angerszhuuuu] Merge branch 'master' into KYUUBI-5475 f7585a4 [Angerszhuuuu] Update PrivilegesBuilder.scala faea9c6 [Angerszhuuuu] [KYUUBI apache#5475] Authz check permanent view's subquery should check view's correct privilege Authored-by: Angerszhuuuu <angers.zhu@gmail.com> Signed-off-by: Kent Yao <yao@apache.org>
Why are the changes needed?
To fix #5475
In issue #5417 we fixed the problem that AUTHZ will still check scalar-subquery/in-subquery in permanent will.
But we just ignore the check, the subquery still will run, in this PR, we record the permanent view's visited column to check the permanent view's privilege to avoid extra execution effort.
For the test
[KYUUBI #5417] should not check scalar-subquery in permanent view
I print all the plan that pass to privilege builder as belowbefore this pr
This two graph shows this pr deny the execution of subquery when we don't have the veiw's privilege
How was this patch tested?
Add some test cases that check the changes thoroughly including negative and positive cases if possible
Add screenshots for manual tests if appropriate
Run test locally before make a pull request
Was this patch authored or co-authored using generative AI tooling?