-
Notifications
You must be signed in to change notification settings - Fork 49
Description
Problem
Perceiving secrets as just single values, like passwords or API keys, is too limited. Often credentials com in pairs or multiple related values in general. This holds e.g. for AWS (access key and secret key), Azure (client id and client secret), Postgres roles (username/role and password). Those related values may be generated by a provider. This makes credentials fully dynamic. They may change upon every new request, e.g. every new connection to Postgres may use a fresh set of credentials (with certain time to live). Unfortunately it causes trouble when a provider is used to first get e.g. a username and then a password, because that may generate two sets of credentials of which the username comes from the first and the password from the latter, yet together form no valid pair.
Solution
Suggestions ?
Alternatives
This is not an issue for simple providers like literal, environment and file. Nor will it be an issue if only 1 among related values is dynamic (e.g. only password). No alternatives seem to be supported or easily implemented.
Additional context
Dynamic credentials e.g. in Vault appear in:
- Azure: https://www.vaultproject.io/docs/secrets/azure
- AWS: https://www.vaultproject.io/docs/secrets/aws
- Database: