[TASK][EASY] Support checks for Paimon system procudures in Authz
- Dominant language
- Scala
- Stars
- 2.4k
- Forks
- 1k
- PR merge metrics
- No merged PRs in 30d
Description
### Code of Conduct
- [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct)
### Search before creating
- [X] I have searched in the [task list](https://github.com/orgs/apache/projects/296) and found no similar tasks.
### Mentor
- [X] I have sufficient knowledge and experience of this task, and I volunteer to be the mentor of this task to guide contributors to complete the task.
### Skill requirements
- Familiarize the Authz plugin, Ranger and Paimon Spark plugin
- Familiarize the Authz testing
### Background and Goals
Paimon provides a series of system procedures for lifecycle management, which are essential for the lakehouse's administrator and users. And multiple plans may be executed in single procedure.
Now the Authz plugin supports checking privileges for DMLs and DDLs on Paimon tables, but system procedures are not in the range. It leaves a permission leaking to the Paimon table management.
This task is targeted to ensure privilege checking on the Spark system procedures of Paimon, including:
- [ ] Snapshot management
- rollback
- [ ] Tag management
- create_tag
- delete_tag
### Implementation steps
- Create e-2-e tests for Paimon in Authz tests for each procedures
- Prepare and provide proper test cases for positive and negative conditions in each procedure
- Solve the unsupported logical plans of the procedures, which may have multiple plans in single procedure
### Additional context
_No response_
Contributor guide
Research direction
Start by reading the Authz plugin, Ranger and Paimon Spark plugin, then inspect the existing Authz tests. Add end-to-end positive and negative coverage for rollback, create_tag, and delete_tag, and use those tests to guide support for procedures that produce multiple logical plans.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- scala, spark
- Domain
- databases, security
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100