Data Connectivity Proxy security¶
This page describes how Data Connectivity Proxy (DCP) authenticates agents, manages certificates, encrypts data-path traffic, and how you revoke access.
Authentication and certificate management¶
DCP uses a two-phase authentication model:
- Phase 1: Bootstrap
The agent reads the bootstrap JWT (minted with
SYSTEM$GENERATE_DATA_CONNECTIVITY_PROXY_BOOTSTRAP_TOKEN) from the credentials file. It presents this JWT to the control plane and receives an mTLS certificate pair scoped to its DCP client identity.- Phase 2: Ongoing operation
All subsequent communication (data tunnels, control plane heartbeats, routing table updates) uses mutual TLS (mTLS). Both the agent and the relay authenticate each other’s certificates on every connection. The bootstrap JWT isn’t used again until the next certificate rotation cycle.
Certificate hierarchy¶
The agent validates all peer certificates against a Snowflake-managed CA bundle delivered during bootstrap, not the operating system trust store. The bundle implements a four-tier PKI hierarchy:
The deployment root public key is pinned on first bootstrap. Any subsequent update that presents a different root is rejected. You don’t need to install or trust any Snowflake certificates in the OS or JVM trust store.
Snowflake periodically directs the agent to rotate its leaf certificate. The agent re-reads the credentials file, re-authenticates with the control plane, and receives a fresh certificate. Rotation is transparent to active connections.
Revoking access¶
To immediately revoke an agent’s ability to connect:
Or drop the object entirely:
The control plane validates mTLS certificates against registered key pairs on every connection attempt. After the DCP object is disabled or dropped, the agent’s certificate is unusable regardless of its cryptographic validity.
If the bootstrap JWT is compromised before bootstrap completes, regenerate the token:
Write the new token to the credentials file as described in Rotate the bootstrap token without downtime.
Network policy enforcement¶
A network policy on the DCP object is optional. Use one only if you want a DCP-specific policy that restricts which source IPs can connect to the DCP control plane:
For more information about creating network policies, see Controlling network traffic with network policies.
Data path security¶
All traffic between the agent and the Snowflake relay is encrypted using AES-256-GCM. Each TCP connection uses an independent P-256 ECDH key exchange. There is no shared key material across connections; a compromise of one connection’s key material doesn’t affect others.
The agent is a TCP-level pass-through. It doesn’t inspect, parse, buffer, or store the data passing through its tunnels. Source credentials remain in Snowflake and are never transmitted to the agent.
Corporate proxy support¶
The agent includes a built-in CONNECT tunnel fallback for environments where a direct TLS connection to Snowflake’s relay is unavailable. This fallback is automatic and requires no configuration.
Routing the agent’s own outbound traffic through an enterprise-managed forward proxy (HTTPS_PROXY / CONNECT-based forwarding) isn’t supported. The agent host must have direct outbound access to port 443. This capability is planned for a future release.