Jul 01, 2024
14 min read

Multi-cloud secrets management: Doppler vs. HashiCorp Vault vs. Akeyless Vault

Multi-cloud secrets management: Doppler vs. HashiCorp Vault vs. Akeyless Vault
Dive into the strengths and considerations of Doppler, HashiCorp Vault, and Akeyless Vault for securing a multi-cloud environment.

Multi-cloud secret managers

Effectively managing secrets—such as API keys, database credentials, and encryption keys—is critical for maintaining security and operational efficiency. Organizations leveraging multi-cloud strategies need robust secrets management solutions that can operate across different cloud providers while ensuring high levels of security and developer productivity.

This chapter compares three leading secrets management platforms: Doppler, HashiCorp Vault, and Akeyless Vault. Each platform offers distinct capabilities designed to address the challenges of managing secrets in complex cloud environments. The choice between them often comes down to the specific needs of an organization, such as the requirement for open-source flexibility, SaaS convenience, or a particular focus on the developer experience.

Doppler

Doppler is a universal secrets management platform, tailored for engineering and security teams seeking a secure, scalable, and centralized view of application secrets and configuration. It eliminates the need for .env files and hardcoded secrets, offering a productive experience across the full Software Development Life Cycle (SDLC)—from local development and CI/CD to production environments. Doppler's Command-Line Interface (CLI) simplifies secret and configuration access and injection, while its intuitive dashboard allows for a centralized pane of glass and control.

Doppler is redefining the traditional approach of managing secrets. Focusing on developers, it aims to revolutionize the secrets operations (SecretOps) experience, aligning closely with the Shift Left security practices. Doppler provides a single source of truth, aligning with the modern development lifecycle and practitioner expectations for enjoyable coding experiences, improved code quality, and accelerated feature delivery.

Pros:

  • Developer-centric: Doppler prioritizes developers' needs, aiming to provide a secrets management experience where secrets are elevated to first-class status, on par with compute and storage. Secrets are organized by application or micro-service, termed as projects, each with a configurable list of environments and configurations. This structure aligns with modern microservices architecture and meets developers' expectations for intuitive and efficient tools. Developers can modify and inject secrets into their processes and securely synchronize these secrets with their development environments. Doppler supports language-agnostic environmental variables for secure secret injection at runtime, thereby reducing friction and eliminating the need for SDKs and .env files. The Command-Line Interface (CLI) offers a programmatic interface for those who prefer to work within the terminal. The Doppler REST API, features predictable resource-oriented URLs, accepts JSON-encoded request bodies, delivers JSON-encoded responses, and utilizes standard HTTP response codes, authentication methods, and verbs.
  • Automated orchestration with 3rd party services: Doppler integrates with a growing list of 50+ tools, technologies, and services developers commonly use in their workflows. It integrates with major platforms like Kubernetes, GitHub Actions, AWS Secrets Manager, Azure Key Vault, GCP Secrets Manager, Vercel, and Heroku. As a result, Doppler can be configured to sync secrets to any environment, while serving as the central source of truth for secrets. This orchestration capability promotes a unified view of secrets and reducing friction.
  • Flexible and intuitive UI and UX: Doppler’s dashboard is easy to use and allows developers to perform common tasks such as generation, rotation, read, and revocation. It features Git-style activity logs, detailed access logs, and rollback support. Doppler aspires to replicate what GitHub achieved for Git repositories with PRs, version control, approval workflows, and red/green light diff view of secret changes.
  • Robust role based access control: Doppler's role-based access control (RBAC) is designed for efficiency and security in managing user permissions. Its user groups feature allows for organized access management, complemented by customizable roles for fin-grained access for specific operational needs. Integration with SAML Single Sign-On (SSO) streamlines user authentication through company identity providers, enhancing security. Additionally, Enterprise SCIM automates user and group provisioning, essential for maintaining security in environments with frequent user changes. Doppler's compatibility with infrastructure as code (IaC) via its Terraform provider and its comprehensive REST API enables integrations and management of access controls within existing tech stacks, providing a straightforward and secure RBAC solution for modern enterprise needs.
  • Secure and resilient by design: Doppler employs industry-leading encryption methods. At the core is its tokenization service, which encrypts all secrets using AES-GCM with a random Initialization Vector (IV) and a unique 256-bit key for each workplace. The Workplace keys receive an additional layer of protection through Hardware Security Module (HSM)-backed keys via GCP Key Management Service (KMS). For enterprises seeking more control, Doppler offers Enterprise Key Management (EKM), allowing encryption through their own cloud provider’s KMS. Doppler's security model also includes robust failover and fallback mechanisms, including Cloudflare-based traffic redirection and encrypted local backups for secrets, ensuring continuous access even during downtimes. This combination of advanced encryption and operational reliability positions Doppler as a highly secure solution for secrets management.

Cons:

  • SaaS-only deployment: Doppler is currently available only as a managed service, eliminating the need for user to install and manage installations. However, the absence of on-premise deployment might be a drawback for organizations seeking a solution hosted in their dedicated environment.

HashiCorp Vault

HashiCorp Vault is a highly configurable and scalable platform for securely storing and accessing secrets. Its CLI and API-driven approach, coupled with robust security policies and identity-based authentication and authorization mechanisms, allows Vault to provide granular access controls and extensive audit trails of secret history. Vault integrates within the HashiCorp ecosystem, offering a comprehensive solution for large enterprises with complex infrastructures. It can be deployed in several different ways, each with its own tradeoffs. The previous open-source version is now source-available under the Business Source License ("BSL"), allowing end users to copy, modify, and redistribute Vault’s source code for all non-commercial and commercial use, except when providing a competitive offering to HashiCorp. A fully managed version is also available running on HashiCorp Cloud Platform (HCP).

Pros:

  • Comprehensive solution: Vault offers more than 20 ways to interact with secret data through Secret Engines. In addition to Key/Value storage, Vault offers dynamic secrets generation, Key Management, PKI, and encryption as a service.
  • Scalability and high availability: Vault's architecture and back-end can be configured to be highly scalable and resilient, making it suitable for large enterprises with complex infrastructure. It supports horizontal scaling, allowing organizations to expand their usage as their needs grow. This scalability can help optimize costs by only paying for the resources needed. For organizations with strict data residency and high availability requirements, Vault offers maximum protection and security.
  • Dynamic secrets: Vault’s ability to generate and manage the lifecycle of secrets on-demand for specific operations by providing temporary access with a time-to-live (TTL) period. This feature, one of Vault's most well-known, ensures enhanced security by automatically deleting secrets upon expiration and minimizing the risk of unauthorized access.

Cons:

  • Complex deployment and overhead: Vault’s strength is also its weakness. Setting up and configuring it can be complex and time-consuming, sometimes taking months to onboard new users. This initial learning curve may require dedicated resources for effective implementation and maintenance. The need for agents or sidecars for certain integrations may introduce additional deployment complexity.
  • Lack of developer focus: At its core, Vault serves as a Key/Value repository for secrets. However, its flexibility and configurability introduce a steep learning curve, hindering adoption and potentially leading to secrets sprawl due to developer avoidance—ironically, the very issue it aims to resolve. Additionally, Vault’s design using a file-path system leads to inconsistencies across projects and teams as there is no single standard for storing and accessing secrets.
  • Limited orchestration capabilities - Vault’s primary use case is secrets storage, so it has not been designed to be the ideal solution for complex orchestration workflows or extensive automation tasks. While it excels in securely managing and providing access to sensitive information, users seeking to utilize their existing investments should explore multi-cloud solutions like Doppler.
  • High total cost of ownership: Vault's pricing model is complex and scales with clients and clusters in a consumption-based model. While the source-available version is free, hidden setup and maintenance costs, including vast engineering time, and infrastructure compute and storage, can accumulate and result in a high total cost of ownership. Enterprise features, such as advanced access controls, audit logging, and integrations with third-party platforms and other HashiCorp tools, come with additional costs. Thus, the initial and on-going costs can be unpredictable and prohibitive for certain smaller and mid-size companies. Organizations should carefully evaluate the total cost of ownership and factor in potential costs associated with setting up and managing the deployment.

Akeyless Vault

Akeyless positions itself as a rising contender, aiming to challenge HashiCorp Vault by replicating its feature set in a more user-friendly interface. Focused on secrets management for applications, Akeyless adopts a Vault-like structure, associating secrets with roles and paths. Its Secrets Management offering concentrates on unified secrets management, offering storage, protection, rotation, and dynamic creation of credentials, certificates, and encryption keys. Additionally, Akeyless emphasizes secure access in hybrid cloud environments, with additional offerings like Secure Remote Access and Database and Disk Encryption.

Pros:

  • Vault-like features with user-friendly interface: Akeyless targets enterprise security teams and thus provides features comparable to HashiCorp Vault, including encryption as a service, PKI, and secrets rotation. What sets it apart is the more user-friendly web interface, catering to users familiar with Vault's functionalities but seeking a better user experience.
  • Dynamic secrets support: A range of dynamic secrets are supported including AWS, Azure AD, Chef Infra, databases (MySQL, MSSQL, PostgreSQL, Snowflake, etc.), Kubernetes, and more. The flexibility extends further with the provision for creating custom dynamic secret types, allowing customers to define their dynamic secret types using the provided API spec.
  • Secrets rotation capabilities: Akeyless has invested in building rotation capabilities for a vast array of secrets, including database credentials and API keys. Through the use of “secret targets” (an endpoint for a secret such as a database, cloud platform, or server), it aims to streamline the rotated secrets flow and finely scope the RBAC around them.
  • Patented encryption technology: Akeyless utilizes a cryptographic technique called Distributed Fragments Cryptography (DFC), which splits encryption keys into multiple fragments shared between customer-owned keys and AKeyless. This zero-knowledge encryption approach adds an extra layer of security.

Cons:

  • Lack of focus on developer experience: Although Akeyless provides a more polished interface compared to Vault, its approach to structuring secrets, using the role and path method, is similar. Developers accustomed to an application/project-centric organization of secrets may find this paradigm less intuitive. This could create friction in their workflows, manual workarounds, and developers avoiding the system.
  • Limited local development support: Akeyless lacks sufficient local development support and lags behind developer-focused platforms in terms of user experience. Similar to Vault, Akeyless leaves teams to devise their own mechanisms for injecting secrets into their processes, potentially relying on .env files or similar solutions.
  • Dependency on gateway for advanced features: While providing uptime protection with cashing, Akeyless' Gateway adds extra layers of complexity. This includes the requirement for network access to Akeyless and the need for manual, on-premises deployment within the user's own Virtual Private Cloud (VPC). Unless the CLI is used, the Akeyless web console relies on the Gateway for the creation and management of dynamic and rotated secrets as this functionality is not available directly through the web console. Such dependency may require ongoing maintenance, integration, and monitoring, potentially increasing the operational overhead for users.

Effective secrets management is essential for cloud security and operational efficiency. As your infrastructure becomes increasingly dynamic and distributed, the ability to securely manage secrets across multiple clouds and platforms becomes critical. By carefully evaluating the features, capabilities, and trade-offs of each platform, organizations can ensure that they not only protect their sensitive information but also support their development teams in building and deploying secure, high-quality applications more efficiently.

Ultimately, the goal is to adopt a secrets management solution that not only meets today's security and operational requirements but is also flexible enough to adapt to future challenges and technological shifts in the cloud ecosystem. However, the success of any secrets management tool heavily relies on its adoption by developers. If the tool is bought but not embraced by the development team, the organization misses out on the security benefits it was intended to deliver. Therefore, fostering developer adoption through education, easy integration, and ensuring the tool enhances rather than hinders their workflow is crucial for reaping the security advantages of the solution. By prioritizing scalability, high availability, and a positive developer experience, organizations can build a robust foundation for their multi-cloud strategies, ensuring that their secrets are well-protected.