apache / dolphinscheduler

Apache DolphinScheduler is the modern data orchestration platform. Agile to create high performance workflow with low-code
https://dolphinscheduler.apache.org/
Apache License 2.0
12.73k stars 4.58k forks source link

[DSIP] [Security] Support using encryption algorithms to encrypt the passwords entered by users in DS. #16473

Closed hdygxsj closed 1 month ago

hdygxsj commented 1 month ago

Search before asking

Motivation

In DolphinScheduler, many places require the maintenance of various passwords, such as passwords in the data source center, and passwords for catalogs and databases within SQLs. Some companies have mandatory requirements for the encryption algorithms used in software, and there may even be a need to use internal encryption algorithms specific to the company. This DSIP can enhance the security of DolphinScheduler.

Design Detail

Common cryptographic algorithms include hash (digest) algorithms and symmetric encryption algorithms, among others. Hash algorithms are primarily used for verifying user login passwords, while symmetric encryption algorithms are used for encrypting and decrypting database passwords entered by users, as well as passwords in the DS configuration files. I will divide this DSIP into the following steps:

Compatibility, Deprecation, and Migration Plan

After user modify the login encryption algorithm, users will need to update the password ciphertext in the database.

Test Plan

Step 2, 3, 4, and 5 require new unit tests to be added, and Step 6, 7, 8, 9, and 10 need to ensure that existing unit test cases pass.

Code of Conduct

SbloodyS commented 1 month ago

Some companies have mandatory requirements for the encryption algorithms used in software, and there may even be a need to use internal encryption algorithms specific to the company.

This sounds like an in-house customization requirement, not an open source project. So I'm -1 on this.