KeeperDB-Proxy
Passwordless zero-trust database access through Keeper tunnels using any native tools

Overview
KeeperDB is a fully-feature database management application that is built into the Keeper vault for interactive, passwordless zero-trust access to any managed database. KeeperDB-Proxy extends the capability of KeeperDB by providing customers with a zero trust connection using any native application, such as MySQL Workbench, Microsoft SQL Server Studio, DBeaver or proprietary software.
With KeeperDB-Proxy enabled, ephemeral database credentials flow directly from the Keeper Vault to the target database through the Gateway. Users simply connect their database client to a local port— no passwords required.
This feature is coming soon with the release of Keeper Gateway v1.8.0 and Vault 17.7. ETA March 2026
Key Benefits
Zero-Knowledge Database Access
Users connect without seeing or entering credentials
No copying/pasting passwords into database clients
Credentials never exposed to clipboard or local applications
True zero-knowledge access from vault to database
Session Management
Idle timeout - automatically close inactive sessions
Maximum duration - enforce session time limits
Connection limits - control concurrent connections
Enhanced logging - detailed session activity
Supported Databases
MySQL
PostgreSQL
SQL Server
How It Works

User starts a database tunnel from Keeper Desktop
Gateway starts KeeperDB Proxy and retrieves credentials from the Vault
User connects their database client to
localhost:<port>with no passwordProxy automatically authenticates to the target database
User has full database access without ever seeing credentials
Credential Security
Never exposed to users - Credentials go directly from Vault to proxy to database
Never stored on Gateway - Delivered per-session via secure handshake
Never on clipboard - No copy/paste of sensitive passwords
Audit trail - All access logged through Keeper
Activating KeeperDB-Proxy
Prerequisites
Keeper Gateway version 1.8.0 or later
PAM Database record configured with tunneling enabled
See Setting up Tunnels for initial tunnel configuration
Enable the Proxy
Navigate to your PAM Configuration
Locate the Connection settings
Set
allowKeeperDBProxyto trueSave your configuration
Once enabled, database tunnels using this configuration will provide credential-free access.
Note: If the proxy is unavailable, tunnels fall back to standard mode where users must enter credentials manually.
Ephemeral Accounts (JIT)
KeeperDB-Proxy supports Just-In-Time (JIT) ephemeral accounts for database access. Instead of using static credentials, a temporary database user is created on-demand and automatically deleted when the session ends.
How Ephemeral Accounts Work
User starts a tunnel to a database with JIT enabled
Gateway creates a temporary database user with a random username
Configured roles are assigned to the ephemeral user
Proxy authenticates using the ephemeral credentials
When the session ends, the user and role memberships are automatically cleaned up
Configuring Ephemeral Access
Enable JIT Ephemeral Accounts on your KeeperPAM resource record
Configure Group & Role Elevation:
Set Elevation Method to
roleSet Elevation String to the database roles (comma-separated)
Ensure the roles exist on your target database with appropriate privileges
Creating Database Roles
Roles must exist on the database before they can be assigned. Example for MySQL:
MySQL Role Configuration
MySQL 8.0+ requires roles to be explicitly activated. For ephemeral accounts to work correctly:
Required MySQL Setting:
To make permanent, add to your MySQL configuration (my.cnf):
Without this setting, ephemeral users will have roles granted but not activated, resulting in no database access.
PostgreSQL and SQL Server
Unlike MySQL, PostgreSQL and SQL Server activate roles immediately upon grant—no additional configuration required.
Configuration
Default Behavior
Idle timeout - Sessions close after 5 minutes of inactivity
Max duration - Sessions are limited to 1 hour maximum
Max connections - Up to 100 concurrent connections allowed
Environment Variables
KEEPER_GATEWAY_DB_PROXY_IDLE_TIMEOUT_SECSDescription: Session idle timeout in seconds
Default:
300(5 minutes)
KEEPER_GATEWAY_DB_PROXY_MAX_DURATION_SECSDescription: Maximum session duration in seconds
Default:
3600(1 hour)
KEEPER_GATEWAY_DB_PROXY_MAX_CONNECTIONSDescription: Maximum concurrent connections allowed
Default:
100
KEEPER_GATEWAY_DB_PROXY_MAX_QUERIESDescription: Maximum queries per session (0 = unlimited)
Default:
0
KEEPER_GATEWAY_DB_PROXY_SINGLE_CONNECTIONDescription: Enforce single connection per session
Default:
false
Troubleshooting
Still prompted for credentials
Cause: Proxy may not be enabled or running
Solutions:
Verify
allowKeeperDBProxyis enabled in PAM ConfigurationConfirm Gateway version is 1.8.0 or later
Check Gateway logs for:
Starting database proxy on-demand...
Fallback to manual authentication
Log message: Database proxy is enabled but not running - falling back to direct tunnel mode
Cause: Proxy failed to start. Tunnel works but requires manual credential entry.
Solutions:
Check Gateway logs for proxy startup errors
Verify the Gateway has the
keeperdb-proxycomponent installedRestart the Gateway if needed
Session disconnected unexpectedly
Possible causes:
Idle timeout reached (default: 5 minutes)
Max duration reached (default: 1 hour)
Solution: Adjust timeout settings for your use case.
FAQ
How do users connect if they don't have the password?
Users connect to localhost:<port> with no password or a placeholder. The proxy intercepts the connection and injects the real credentials automatically.
Can users still see credentials in the Vault?
Access to view credentials is controlled by Keeper permissions. Users can have tunnel access without permission to reveal passwords.
Does this work with all database clients?
Yes - MySQL Workbench, pgAdmin, Microsoft SQL Studio, Azure Data Studio, DBeaver, command-line clients, and any tool that connects via standard database protocols.
What happens if the proxy is unavailable?
Tunnels fall back to standard mode. Users can still connect but must enter credentials manually (if they have permission to view them in the vault).
Can I use ephemeral accounts with the proxy?
Yes. When JIT ephemeral accounts are enabled in the vault, the proxy creates a temporary database user for each session. The user is automatically deleted when the session ends. This provides the highest level of security since no persistent credentials exist.
Why does my ephemeral MySQL user have no access?
MySQL 8.0+ requires activate_all_roles_on_login = ON for roles to take effect automatically. Without this setting, roles are granted but not activated. See the Ephemeral Accounts section for configuration details.
Last updated
Was this helpful?

