feat(catalog): add support for redacting sensitive connector properties #14193
Task list completed / task-list-completed
Started
2024-01-12 06:07:26
ago
0 / 8 tasks completed
8 tasks still to be completed
Details
Required Tasks
Task | Status |
---|---|
src/utils/redaction/redaction/src/lib.rs defines a trait MarkRedaction . It simply returns property names that need redaction. |
Incomplete |
src/utils/redaction/redaction_derive/src/lib.rs defines a derive macro to implement MarkRedaction . |
Incomplete |
src/frontend/src/utils/redaction.rs provides function to redact SQL. |
Incomplete |
Other LOC is mostly contributed by tests. | Incomplete |
This PR doesn't actually replace any original SQL with redacted SQL when displayed, e.g. show create table, which should be another PR. | Incomplete |
Firstly implement a MarkRedaction trait for all connector properties types, using the new derive macro. Developers are responsible for marking properties that should be redacted. In this PR I marked AK/SK of S3Properties for example. |
Incomplete |
Then to redact a SQL, try_redact_sql invokes MarkRedaction::marks to get all property names that should be redacted. See src/frontend/src/utils/redaction.rs . |
Incomplete |
More detail on the macro's usage can be found in the doc in src/utils/redaction/redaction_derive/src/lib.rs . |
Incomplete |
I have written necessary rustdoc comments | Incomplete |
I have added necessary unit tests and integration tests | Incomplete |
I have added test labels as necessary. See details. | Incomplete |
I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features #7934). | Incomplete |
My PR contains breaking changes. (If it deprecates some features, please create a tracking issue to remove them in the future). | Incomplete |
All checks passed in ./risedev check (or alias, ./risedev c ) |
Incomplete |
My PR contains critical fixes that are necessary to be merged into the latest release. (Please check out the details) | Incomplete |
My PR needs documentation updates. (Please use the Release note section below to summarize the impact on users) | Incomplete |
Loading