Support passwordless / token-based authentication for external databases
Current Behavior
-
Dependency-Track requires a static username + password for external database connections.
-
The application cannot acquire or refresh short-lived access tokens (e.g., Azure AD, AWS IAM, GCP IAM).
-
This makes it impossible to use passwordless / identity-based database authentication models provided by cloud-managed PostgreSQL service
Proposed Behavior
-
Allow Dependency-Track to use token-based / passwordless database authentication (e.g., Azure AD, AWS IAM, GCP IAM).
-
Support acquiring short-lived access tokens through the appropriate cloud identity libraries and using them for database connections.
-
Handle token refresh so connections remain valid without requiring static passwords.
Checklist
- [x] I have read and understand the contributing guidelines
- [x] I have checked the existing issues for whether this enhancement was already requested
If I'm not mistaken this would require us to depend on the SDKs of every single major cloud provider because they all have some custom code to make their integrations happen. The AWS SDK alone is massive.
If we want to support this we need to do it in a way that doesn't bloat the core application.