Skip to content

PostgreSQL: the data database login is stored in the catalog settings table #789

Open

Description

@LeeroyHannigan

On PostgreSQL the server reads the data database's connection string, login included, from the catalog settings table, under data_database_connection_string (read in crates/storage-postgres/src/catalog_store.rs line 162 and crates/storage-postgres/src/lib.rs line 372 on main at 5ff323b). The console, the management API and the settings CLI mask the value, but anyone who can read the catalog database, or a catalog backup, gets the login, and with it read and write access to every table's data.

The catalog connection string already lives in extenddb.toml. Reading the data database's login from the config file too, or from a secret the operator supplies at start-up, would keep it out of the catalog and out of catalog backups.

Raised by @jcshepherd in review of #228.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions