HashiCorp Vault — Boundary
HashiCorp Boundary provides identity-based access management for dynamic infrastructure — replacing VPNs and bastion hosts with zero-trust remote access.
What is Boundary?
| Traditional Access | Boundary Access |
|---|---|
| VPN + bastion host | Direct, identity-based |
| Static SSH keys | Dynamic, short-lived credentials |
| IP-based firewall rules | Identity-based access policies |
| Broad network access | Just-in-time, session-based |
How Boundary Works
User authenticates
└── Boundary Controller verifies identity
└── Policy check: user allowed to access target?
└── Boundary Worker creates a proxied session
└── Credential injection (from Vault)
└── User connects to target
└── Session recorded and auditable
Boundary + Vault Integration
Vault acts as the credential store for Boundary:
# In Boundary: create a Vault credential store
boundary credential-stores create vault \
-scope-id=p_1234567890 \
-vault-address=https://vault.example.com:8200 \
-vault-token=hvs.boundary-token
# Create a credential library (maps to a Vault path)
boundary credential-libraries create vault-generic \
-credential-store-id=csvlt_abc123 \
-vault-path="database/creds/readonly" \
-credential-type=username_password
User Workflow
# User authenticates to Boundary
boundary authenticate
# Connect to a database (credentials auto-injected from Vault)
boundary connect postgres -target-id=ttcp_xyz789
# Boundary:
# 1. Gets dynamic DB credentials from Vault
# 2. Injects them into the session
# 3. User connects without ever seeing the credentials
# 4. Credentials are revoked when session ends
Key Concepts
| Concept | Description |
|---|---|
| Controller | Manages users, policies, and configuration |
| Worker | Handles session proxying (data plane) |
| Scope | Organizational boundary (org → project) |
| Target | The resource users connect to (DB, SSH, RDP) |
| Credential Store | Integration with Vault for dynamic credentials |
| Session | Time-bound, auditable connection |
When to Use Boundary
| Use Case | Boundary Value |
|---|---|
| SSH access to servers | Replace bastion hosts |
| Database access | Inject dynamic credentials |
| RDP to Windows servers | Proxied, auditable sessions |
| Kubernetes access | Identity-based kubectl |
| Multi-cloud access | Unified access control |
Learn More
Next: Consul & Nomad