Vault Plugin New ~repack~ | PREMIUM |
Vault Plugin — Complete Feature Specification
3.5 Encryption & Key Management
- Master key:
- Auto-unseal options: cloud KMS (AWS KMS, GCP KMS, Azure Key Vault), HSM (PKCS#11), Shamir auto-unseal, sealed key files
- Envelope encryption for secrets; keys rotated without re-encrypting underlying data where possible
- Key rotation:
- Key versioning for transit keys
- Safe key rotation workflow with staged rollover and rollback
- FIPS-compliant crypto mode
- Hardware-backed key protection via HSM
3.1 Secrets Engines (pluggable)
- Generic requirements:
- Mount/unmount at path.
- Versioned writes (V1 or V2) with automatic metadata.
- TTL/lease support; automatic revocation/renewal.
- Encrypt data-at-rest using envelope encryption.
- Per-secret ACLs and policies.
- Built-in engines:
- KV v2 (versioned key-value)
- Database credentials (dynamic user/password generation, rotation)
- PKI (issue, revoke certs; CSR signing; intermediate CA support)
- Transit (cryptographic operations: encrypt/decrypt, sign/verify, key derivation)
- SSH (OTP and signed-SSH cert issuance)
- Cloud secrets (AWS, GCP, Azure dynamic creds)
- Token broker / OAuth/OIDC token manager
- KV-lifecycle (soft-delete, purge, undelete, snapshot)
- Plugin model:
- ABI-based plugin interface (gRPC/HTTP + signed manifest)
- Sandbox execution (separation of privileges)
- Versioned plugin registry and signature verification
Part 2: Installing and Enabling a Plugin
Once you have a compiled binary (or have downloaded one), the process of adding it to Vault involves three distinct steps: registration, enabling, and execution.
What is a Vault Plugin?
Vault plugins are external components that provide additional functionality to Vault. They can be used to integrate Vault with external systems, such as databases, cloud providers, or other secret management systems. vault plugin new
Step 1: Place the Binary
Move the plugin binary to the plugin_directory specified in your Vault configuration file (vault.hcl). Vault Plugin — Complete Feature Specification
3
# vault.hcl
plugin_directory = "/opt/vault/plugins"
Auth Method Plugin (Alternative)
For auth plugins, change BackendType:
BackendType: logical.TypeCredential,
And implement Login path:
pathLogin := &framework.Path
Pattern: "login",
Fields: map[string]*framework.FieldSchema
"token": Type: framework.TypeString,
,
Operations: map[logical.Operation]framework.OperationHandler
logical.UpdateOperation: &framework.PathOperationCallback: pathLogin,
,