apache / apache/kyuubi

[FEATURE] Support Snowflake Dynamic Data Masking

Open
#3,693 0 comments 0 reactions 0 assignees View on GitHub
kind:feature priority:major
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.

### Describe the feature

Using Dynamic Data Masking
The following lists the high-level steps to configure and use Dynamic Data Masking in Snowflake:

Grant masking policy management privileges to a custom role for a security or privacy officer.

Grant the custom role to the appropriate users.

The security or privacy officer creates and defines masking policies and applies them to columns with sensitive data.

Execute queries in Snowflake. Note the following:

Snowflake dynamically rewrites the query applying the masking policy SQL expression to the column.

The column rewrite occurs at every place where the column specified in the masking policy appears in the query (e.g. projections, join predicate, where clause predicate, order by, and group by).

Users see masked data based on the execution context conditions defined in the masking policies. For more information on the execution context in Dynamic Data Masking policies, see [Advanced Column-level Security Topics](https://docs.snowflake.com/en/user-guide/security-column-advanced.html).

https://docs.snowflake.com/en/user-guide/security-column-ddm-use.html

### Motivation

_No response_

### Describe the solution

_No response_

### Additional context

_No response_

### Are you willing to submit PR?

- [ ] 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 reading Snowflake's Dynamic Data Masking documentation linked in the issue and then locate the Kyuubi entry point that handles Snowflake queries or column security. The issue provides no files, tests, implementation proposal, or acceptance criteria, so the expected behavior and definition of done need clarification from the community.

Written by the indexing model from the issue text.

Assessment

Tech stack
sql
Domain
databases, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.