apache / apache/kyuubi

[TASK][EASY] Support checks for Paimon system procudures in Authz

Open
#5,430 1 comment 0 reactions 0 assignees View on GitHub
hacktoberfest
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.