apache / apache/kyuubi

[Improvement] [authz] Implement Ranger URL Policy, support read/write permission control of cloud storage paths

Open
#3,623 1 comment 1 reaction 0 assignees View on GitHub
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 asking

- [X] I have searched in the [issues](https://github.com/apache/incubator-kyuubi/issues?q=is%3Aissue) and found no similar issues.

### What would you like to be improved?

Specify the cloud storage path (for example s3a://dev-admin/demo/) where the end-user permission is needed to read/write the Hive data from/to a cloud storage path.

Permissions:

- READ operation on the URL permits the user to perform SparkSQL operations which use S3 as data source for Hive tables.
- WRITE operation on the URL permits the user to perform SparkSQL operations which write data to the specified S3 location.

image

ref: https://docs.cloudera.com/HDPDocuments/HDP3/HDP-3.0.1/authorization-ranger/content/resource_policy_create_a_hive_policy.html

### How should we improve?

Get the locations of the DDL or Insert operation, construct the URL Privilege, and use the ranger interface for verify

### Are you willing to submit PR?

- [X] Yes. I can submit a PR independently to improve.
- [ ] Yes. I would be willing to submit a PR with guidance from the Kyuubi community to improve.
- [ ] No. I cannot submit a PR at this time.

Contributor guide

Open the contributing guide

Research direction

Start by tracing how DDL and INSERT operations expose their cloud storage locations, then review the referenced Ranger Hive policy documentation and the Ranger interface. The work is done when URL privileges are constructed for those locations and READ or WRITE access is verified for the corresponding SparkSQL operations.

Written by the indexing model from the issue text.

Assessment

Tech stack
scala
Domain
authorization, cloud
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.