Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CT-1578] Unify secret management #6353

Open
nathaniel-may opened this issue Dec 1, 2022 · 0 comments
Open

[CT-1578] Unify secret management #6353

nathaniel-may opened this issue Dec 1, 2022 · 0 comments
Labels
spike tech_debt Behind-the-scenes changes, with little direct impact on end-user functionality

Comments

@nathaniel-may
Copy link
Contributor

nathaniel-may commented Dec 1, 2022

Once secrets are in memory, secrets are sometimes indistinguishable to developers from benign strings. Secrets should be reliably distinguishable from benign strings for the lifetime of a dbt run.

The ambiguity makes it necessary to remember to
scrub secrets naively before making any output.

Secrets are not consumed the same way when provided in files and environment variables which drives some of this ambiguity:

  • If the password is in profiles.yml, we will attempt to jinja render the password which makes certain valid passwords throw an exception because they include partial jinja syntax.
  • environment variables have a secret prefix and are replaced with a secret placeholder

Passwords should be treated the same regardless of their origin. Developers should be aware when they are working with secrets enough to not rely on naive output scrubbing.

@nathaniel-may nathaniel-may added the tech_debt Behind-the-scenes changes, with little direct impact on end-user functionality label Dec 1, 2022
@github-actions github-actions bot changed the title Unify secret management [CT-1578] Unify secret management Dec 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
spike tech_debt Behind-the-scenes changes, with little direct impact on end-user functionality
Projects
None yet
Development

No branches or pull requests

2 participants