Skip to content
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

Support checks for Iceberg system procudures in Authz #5406

Open
6 of 10 tasks
bowenliang123 opened this issue Oct 12, 2023 · 6 comments
Open
6 of 10 tasks

Support checks for Iceberg system procudures in Authz #5406

bowenliang123 opened this issue Oct 12, 2023 · 6 comments
Assignees

Comments

@bowenliang123
Copy link
Contributor

bowenliang123 commented Oct 12, 2023

Code of Conduct

Search before creating

  • I have searched in the task list and found no similar tasks.

Mentor

  • 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 Iceberg Spark plugin
  • Familiarize the Authz testing

Background and Goals

Iceberg 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 Iceberg tables, but system procedures are not in the range. It leaves a permission leaking to the Iceberg table management.

Doc reference: https://iceberg.apache.org/docs/latest/spark-procedures/
This task is targeted to ensure privilege checking on the Spark system procedures of Iceberg, including:

  • Snapshot management [TASK][EASY] Authz Tests for Iceberg system procedures of snapshot management #5407
    • rollback_to_snapshot
    • rollback_to_timestamp
    • set_current_snapshot
    • cherrypick_snapshot
    • fast_forward
  • Metadata management
    • expire_snapshots
    • remove_orphan_files
    • rewrite_data_files
    • rewrite_manifests
    • rewrite_position_delete_files
  • Table migration
    • snapshot
    • migrate
    • add_files
    • register_table
  • Metadata information (Optional)
    • ancestors_of
    • Change Data Capture
    • create_changelog_view

Implementation steps

  1. Create e-2-e tests for Iceberg in Authz tests for each procedures
  2. Prepare and provide proper test cases for positive and negative conditions in each procedure
  3. Solve the unsupported logical plans of the procedures, which may have multiple plans in single procedure

Additional context

No response

@bowenliang123 bowenliang123 converted this from a draft issue Oct 12, 2023
@bowenliang123 bowenliang123 changed the title [TASK][EASY] Support and cover the Authz previlige check for Iceberg system procudures [TASK][EASY] Support checks for Iceberg system procudures in Authz Oct 12, 2023
@bowenliang123
Copy link
Contributor Author

cc @yabola @AngersZhuuuu

@bowenliang123
Copy link
Contributor Author

Hi @pan3793 , it fails to assign this issue to @yabola on the right sidebar. How to achieve it?

@pan3793
Copy link
Member

pan3793 commented Oct 12, 2023

it requires the contributor to leave some comments under the issue before assigning

@bowenliang123
Copy link
Contributor Author

it requires the contributor to leave some comments under the issue before assigning

Hi @yabola , would you like to accept this issue and leave a comment here ?

@yabola
Copy link
Contributor

yabola commented Oct 13, 2023

I can take this task~

@bowenliang123
Copy link
Contributor Author

bowenliang123 commented Oct 13, 2023

I can take this task~

Thank you @yabola . Look forward to your following pull requests.

@pan3793 pan3793 changed the title [TASK][EASY] Support checks for Iceberg system procudures in Authz Support checks for Iceberg system procudures in Authz Nov 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants