Production-ready PAM practice environment with hybrid cloud secret synchronization between HashiCorp Vault and AWS Secrets Manager
|
Enterprise PAM challenges for learning:
Learning PAM without access to:
|
Modern privileged access requires:
This lab provides enterprise PAM at zero cost. |
Complete PAM practice environment aligned with CyberArk PAM-DEF concepts:
| Capability | Technology | Outcome |
|---|---|---|
| Secrets Management | Vault KV v2 Engine | Versioned secret storage |
| Dynamic Credentials | Database Secrets Engine | On-demand credential generation |
| Password Rotation | Rotation Scripts + Lambda | Automated credential refresh |
| Hybrid Cloud Sync | AWS Secrets Manager | Multi-cloud secret management |
| Session Monitoring | Prometheus + Grafana | Real-time PAM metrics |
| Audit Logging | Vault Audit Device | Complete compliance trail |
Vault Dashboard Stealth dark theme |
Secrets Browser KV v2 engine management |
Dynamic Credentials Database secret generation |
PKI Management Certificate authority operations |
Audit Logs Compliance-ready audit trail |
|
AWS Secrets Manager was chosen for v1.1 because:
|
|
|
For CyberArk PAM-DEF Preparation: HashiCorp Vault mirrors CyberArk's architecture:
Knowledge transfers directly to CyberArk exams while providing hands-on practice at zero cost. Cost Comparison:
|
INFRASTRUCTURE LAYER
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β HashiCorp β β PostgreSQL β β MySQL β
β Vault Server β β Database β β Database β
β βββββββββββββ β β βββββββββββββ β β βββββββββββββ β
β KV v2 Engine β β Target System β β Target System β
β PKI Engine β β Dynamic Creds β β Dynamic Creds β
β DB Engine β β β β β
ββββββββββ¬βββββββββ ββββββββββ¬βββββββββ ββββββββββ¬βββββββββ
β β β
ββββββββββββββββββββββββΌβββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β SECRET SYNC ENGINE (v1.1) β
β β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββββββββββ β
β β AWS Secrets β β Secret Sync β β Rotation Handler β β
β β Connector β β Manager β β β β
β β βββββββββββββ β βββββββββββββ β βββββββββββββββββββββ β
β β boto3 SDK β β Bidirectionalβ β Lambda Compatible β β
β β Mock Mode β β Sync β β Health Scoring β β
β β Health Score β β Conflict Res β β Rollback Support β β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββΌββββββββββββββββββββββ
βΌ βΌ βΌ
ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ
β React β β Prometheus β β AWS β
β Frontend β β + Grafana β β Secrets β
β β β β β Manager β
β Vault Stealthβ β PAM Metrics β β Hybrid Cloud β
β Dark Theme β β Dashboards β β Sync Target β
ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ
- Docker Desktop 20.10+
- Docker Compose 2.0+
- Python 3.9+ (for automation)
- 8GB RAM minimum
# Clone repository
git clone https://github.com/MikeDominic92/pam-vault-lab.git
cd pam-vault-lab
# Configure environment
cp .env.example .env
# Start the lab
docker-compose up -d
# Initialize Vault
docker exec -it vault /scripts/init-vault.sh
# SAVE THE ROOT TOKEN AND UNSEAL KEYS!- Vault UI: http://localhost:8200
- Grafana: http://localhost:3000 (admin/admin)
- Prometheus: http://localhost:9090
- Frontend: http://localhost:3001
| Exercise | Topic | CyberArk Concept |
|---|---|---|
| 01 | Vault Basics | PVWA, Digital Vault |
| 02 | Secret Management | Safe Management |
| 03 | Dynamic Credentials | CPM, JIT Access |
| 04 | Password Rotation | CPM Rotation |
| 05 | Audit & Logging | Audit Trail |
from src.integrations import AWSSecretsConnector, SecretSyncManager, SyncDirection
# Initialize connector (mock mode for demos)
aws_connector = AWSSecretsConnector(mock_mode=True)
# Create a secret in AWS
aws_connector.create_secret(
name='prod-database-credentials',
secret_value={'username': 'admin', 'password': 'S3cur3P@ss!'},
description='Production database credentials'
)
# Bidirectional sync
sync_manager = SecretSyncManager(mock_mode=True)
result = sync_manager.sync_secret(
secret_name='database/prod',
direction=SyncDirection.VAULT_TO_AWS
)
print(f"Sync status: {result.status}")
print(f"Synced at: {result.timestamp}")
# Handle rotation events
from src.integrations import RotationEventHandler
handler = RotationEventHandler(mock_mode=True)
schedule = handler.schedule_rotation(
secret_name='database-creds',
rotation_interval_days=30
)|
Scenario: Preparing for PAM-DEF exam. Lab Exercises:
Outcome: Hands-on PAM experience at $0 cost. |
Scenario: Moving from on-prem to cloud PAM. Integration:
Outcome: Zero-downtime secret migration. |
|
Scenario: Eliminate static database passwords. Implementation:
Outcome: No more shared passwords. |
Scenario: 90-day password rotation policy. Automation:
Outcome: Automated compliance. |
pam-vault-lab/
βββ docker-compose.yml # Infrastructure definition
βββ vault/
β βββ config/vault.hcl # Vault server configuration
β βββ policies/ # Access control policies
β βββ scripts/ # Initialization scripts
βββ src/
β βββ integrations/ # v1.1: AWS integration
β βββ aws_secrets_connector.py # AWS Secrets Manager ops
β βββ secret_sync.py # Bidirectional sync
β βββ rotation_handler.py # Rotation events
βββ automation/
β βββ ansible/ # Ansible playbooks
β βββ powershell/ # Windows scripts
β βββ python/ # Python clients
βββ exercises/ # Step-by-step labs
βββ frontend/ # React dashboard
βββ docs/ # Documentation
| Category | Technologies |
|---|---|
| PAM | HashiCorp Vault, CyberArk Concepts, Secrets Management |
| Cloud Integration | AWS Secrets Manager, boto3 SDK |
| Infrastructure | Docker, Docker Compose, Prometheus, Grafana |
| Automation | Python, Ansible, PowerShell |
| Security | Dynamic Credentials, Rotation, Audit |
| Frontend | React, TypeScript, Vault Stealth Theme |
Running PAM Vault Lab is free:
| Component | Cost | Notes |
|---|---|---|
| HashiCorp Vault | $0 | Open source |
| Docker/Compose | $0 | Free for personal use |
| PostgreSQL/MySQL | $0 | Open source |
| Prometheus/Grafana | $0 | Open source |
| AWS Integration | $0 | Mock mode available |
| Total | $0 | vs CyberArk $50K+ |
True Enterprise PAM Practice at Zero Cost
- v1.0: Core PAM lab with Vault, databases, monitoring
- v1.1: AWS Secrets Manager integration
- v1.2: Azure Key Vault integration
- v1.3: HashiCorp Boundary for session management
- v2.0: Multi-node Vault cluster with HA
Mike Dominic
- GitHub: @MikeDominic92
- Focus: PAM + Cloud Secrets Management
Built for CyberArk PAM-DEF certification prep with enterprise-grade AWS hybrid cloud integration.
This is a portfolio project. Production deployment requires proper Vault hardening and AWS credentials.




