Simor
Secrets management for data pipelines: Vault vs AWS Secrets Manager vs SOPS

Secrets management for data pipelines: Vault vs AWS Secrets Manager vs SOPS

Simor Consulting | 15 Oct, 2026 | 05 Mins read

Data pipelines authenticate to more external systems than most application backends. A single pipeline might connect to a source database, a destination warehouse, an S3 bucket, an API endpoint, a message queue, and a notification service. Each connection requires credentials. Where those credentials live, how they rotate, and who can access them determines whether your pipeline is secure or a breach waiting to happen.

The three tools that dominate secrets management for data infrastructure are HashiCorp Vault, AWS Secrets Manager, and SOPS (Secrets OPerationS). They solve the same problem with fundamentally different architectures, and the right choice depends on where your infrastructure runs, how your team operates, and how much secrets management complexity you can absorb.

The core architectural difference

Vault is a dedicated secrets management server. It stores secrets, generates dynamic credentials, handles encryption as a service, and enforces access policies. Vault runs as a standalone service (or cluster) that your pipelines authenticate against to retrieve secrets. It is infrastructure-agnostic: it works with any cloud, any platform, and any tool that can make an HTTP request.

AWS Secrets Manager is a managed service within AWS. It stores and retrieves secrets, rotates credentials automatically for AWS services (RDS, Redshift, DocumentDB), and integrates natively with IAM for access control. It is AWS-only by design.

SOPS takes a different approach entirely. It encrypts secret values in configuration files using cloud KMS keys (AWS KMS, GCP KMS, Azure Key Vault) or PGP, then stores the encrypted files in version control. Your secrets live in your git repository, encrypted. Developers edit secret files with sops, which decrypts, allows editing, and re-encrypts. There is no server to run and no API to call at runtime.

Vault: maximum capability, maximum complexity

Vault’s strength is its breadth of features. Dynamic secrets are Vault’s killer feature for data pipelines: instead of storing a static database password, Vault generates a unique, short-lived credential for each pipeline run. When the pipeline finishes, the credential expires. If the credential is compromised, it is already useless.

Vault also supports database credential rotation, where Vault manages the lifecycle of credentials in your database and provides fresh credentials on demand. For data pipelines that run on a schedule, this means each run gets a fresh credential that expires after the run completes. The attack surface shrinks from “all credentials ever issued” to “the single credential issued for this specific run.”

The complexity cost is real. Vault requires deployment and operation of a server (or cluster), configuration of authentication methods (AppRole for services, LDAP for humans, Kubernetes auth for K8s workloads), policy definition using HCL, unsealing procedures (Vault encrypts its storage at rest and requires an unseal key or auto-unseal configuration), and monitoring of the Vault cluster itself.

For a data team of five people running ten pipelines, Vault is overkill. For a platform team managing hundreds of pipelines across multiple environments and clouds, Vault’s capabilities justify the operational investment.

AWS Secrets Manager: the path of least resistance in AWS

If your data infrastructure lives entirely in AWS, Secrets Manager is the default choice. It integrates with IAM (access control is a policy attachment, not a separate system), with RDS and Redshift (automatic credential rotation without custom Lambda functions), with ECS and Lambda (secrets injected as environment variables or mounted as files), and with CloudFormation and Terraform (secrets defined as infrastructure-as-code).

The operational overhead is near zero. Secrets Manager is a managed service: AWS handles availability, durability, and scaling. You pay per secret per month and per API call. At typical data pipeline volumes, the cost is trivial.

The limitation is AWS lock-in and feature ceiling. Secrets Manager does not support dynamic secrets in the Vault sense. It rotates credentials on a schedule but does not generate ephemeral credentials per session. It does not support encryption as a service. It does not support multi-cloud scenarios. If your data pipeline sends data to a GCP BigQuery instance or an Azure SQL database, you need a second secrets management solution for those credentials, which defeats the purpose of centralised secrets management.

Secrets Manager also lacks fine-grained access control compared to Vault. IAM policies control who can read which secret, but there is no equivalent to Vault’s policy system that can grant time-limited, scope-limited access to specific secret paths based on complex conditions.

SOPS: secrets for teams that live in git

SOPS is built for teams that store everything in version control and want to store secrets there too. The workflow is: create a YAML, JSON, or ENV file with your secrets, encrypt it with sops using your KMS key, commit the encrypted file to git, and decrypt it at deploy time or runtime.

The advantage is simplicity and transparency. Your secrets are visible as a file in your repository (encrypted), auditable through git history (who changed what, when), and manageable through standard git workflows (pull requests for secret changes, code review for secret additions). There is no server to run, no API to call, and no separate system to learn.

For data pipelines managed through CI/CD, SOPS fits naturally. Your CI/CD system decrypts the secrets file at deploy time using a KMS key it has access to, and injects the secrets into the pipeline environment. The pipeline never calls an external secrets API. The secrets are available as environment variables or files from the moment the pipeline starts.

The limitation is that SOPS has no access control beyond KMS key policies. If someone has access to the KMS key, they can decrypt all secrets encrypted with that key. There is no per-secret access control, no audit log of secret access (beyond CloudTrail for KMS API calls), and no automatic rotation.

SOPS also does not handle runtime secret retrieval well. If your pipeline needs to refresh a credential mid-run (because the credential expired or was rotated), SOPS cannot help. The secrets were decrypted at deploy time and live in memory for the duration of the run.

Rotation and lifecycle management

Credential rotation is the feature that separates production-grade secrets management from development convenience.

Vault handles rotation natively for database credentials, with configurable rotation periods and automatic revocation of old credentials. AWS Secrets Manager handles rotation for AWS-managed databases with Lambda-based rotation functions. SOPS has no built-in rotation. You re-encrypt files with new values and commit the updated file.

For data pipelines, rotation matters most for database credentials that are long-lived. If a pipeline service account’s credentials are compromised and the password has not been rotated in 18 months, the blast radius is enormous. Vault and Secrets Manager both solve this problem. SOPS does not, and you need a separate rotation mechanism (cron job, Lambda function) to complement it.

Decision framework

Use Vault when you operate across multiple clouds, when you need dynamic per-run credentials for database connections, when you need encryption as a service for data at rest, or when your organisation has a platform team that can own Vault operations. Vault is the right choice for complex environments where secrets management is a security requirement, not just a convenience.

Use AWS Secrets Manager when your infrastructure is entirely on AWS, when you want zero operational overhead for secrets management, when you need automatic credential rotation for RDS, Redshift, or other AWS database services, or when your team is small and wants the simplest solution that meets security requirements.

Use SOPS when your team stores infrastructure configuration in git, when you want secrets to participate in code review workflows, when your secrets change infrequently, or when you need a secrets solution that works in air-gapped or offline environments. SOPS is the right choice for teams that value transparency and git-native workflows over runtime secret retrieval.

The combination worth considering: SOPS for secret storage and version control, with a runtime retrieval mechanism (Vault or Secrets Manager) for credentials that need rotation. This hybrid approach gives you git-based audit trails for secret changes and automated rotation for long-lived credentials.

Shipping a production AI system?

Find where your AI spend leaks and where quality slips. Take the AI Production Scorecard for a fast baseline across the seven layers, or book a free AI cost review and we will turn it into a plan.

Similar Articles

AI Agent Platforms Compared: CrewAI, AutoGen, and LangGraph for Mid-Market Operations
AI Agent Platforms Compared: CrewAI, AutoGen, and LangGraph for Mid-Market Operations
10 Jul, 2026 | 10 Mins read

You have signed off on an AI initiative. Your team has a real workflow in mind. Say, triaging inbound operations tickets, drafting first-pass vendor reviews, or reconciling exception cases across thre

Practical LLM Evaluation Metrics Beyond Vibes: Building a Repeatable Scoring Pipeline
Practical LLM Evaluation Metrics Beyond Vibes: Building a Repeatable Scoring Pipeline
10 Jul, 2026 | 11 Mins read

The demo looked great. The model summarised the document cleanly, answered the test question correctly, and produced prose that read well enough to ship. Two weeks later it is in production, and the c

The Modern Data Stack for AI Readiness: Architecture and Implementation
The Modern Data Stack for AI Readiness: Architecture and Implementation
28 Jan, 2025 | 03 Mins read

Existing data infrastructure often cannot support ML workflows. The modern data stack offers a foundation, but it requires adaptation to become AI-ready. This article covers building a data architectu

The data pipeline that cost $50K/month, and the audit that found why
The data pipeline that cost $50K/month, and the audit that found why
22 Apr, 2026 | 04 Mins read

A financial services firm running analytics on trade settlement data came to us with a specific complaint: their cloud data platform cost had tripled in eighteen months, and nobody could explain why.

dbt vs SQLMesh: which transformation tool wins in 2026?
dbt vs SQLMesh: which transformation tool wins in 2026?
23 Apr, 2026 | 06 Mins read

Every analytics team eventually faces the same choice: how do you transform raw data into something analysts can actually use? For years, dbt was the only serious answer. SQLMesh arrived with a differ

Migrating from batch to streaming: a 6-month journey
Migrating from batch to streaming: a 6-month journey
28 Apr, 2026 | 05 Mins read

A logistics company processing two million shipments per day ran their entire operational reporting stack on nightly batch ETL. Every morning at 6 AM, operations managers reviewed dashboards built on

Data Lakehouse Security Best Practices
Data Lakehouse Security Best Practices
22 Feb, 2024 | 02 Mins read

Data lakehouses combine lake flexibility with warehouse performance but introduce security challenges from their hybrid nature. Securing these environments requires layered approaches covering authent

From 3-hour dashboards to 3-minute insights: a BI modernisation story
From 3-hour dashboards to 3-minute insights: a BI modernisation story
05 May, 2026 | 05 Mins read

A manufacturing company with facilities in twelve countries ran its operational reporting on a traditional BI stack: a data warehouse, an ETL pipeline, and a dashboard tool that had been deployed six

Vector database showdown: Pinecone, Weaviate, Qdrant, Milvus
Vector database showdown: Pinecone, Weaviate, Qdrant, Milvus
06 May, 2026 | 05 Mins read

Every team building retrieval-augmented generation or semantic search eventually needs a vector database. The market has consolidated around four serious options: Pinecone, Weaviate, Qdrant, and Milvu

Orchestration face-off: Airflow vs Prefect vs Dagster
Orchestration face-off: Airflow vs Prefect vs Dagster
07 May, 2026 | 06 Mins read

The orchestration market has a clear incumbent and two serious challengers. Apache Airflow has been the default choice since 2015. Prefect and Dagster both emerged to address Airflow's pain points, bu

LLM evaluation platforms compared: LangSmith, Braintrust, Patronus
LLM evaluation platforms compared: LangSmith, Braintrust, Patronus
14 May, 2026 | 06 Mins read

Building an LLM application is the easy part. Knowing whether it works (whether it still works after you change a prompt, swap a model, or add a tool) is the hard part. LLM evaluation platforms exist

Feature store comparison: Feast, Tecton, Hopsworks
Feature store comparison: Feast, Tecton, Hopsworks
20 May, 2026 | 05 Mins read

Feature stores solve a specific problem: the features you use to train a model must be the same features you use to serve it. When the training pipeline computes features differently than the serving

Real-time streaming: Kafka vs Redpanda vs Pulsar
Real-time streaming: Kafka vs Redpanda vs Pulsar
21 May, 2026 | 05 Mins read

Kafka has dominated event streaming for a decade. It processes trillions of messages daily across thousands of companies. Its dominance created an ecosystem so large that "streaming" became synonymous

How we killed our ETL pipeline (and productivity went up)
How we killed our ETL pipeline (and productivity went up)
26 May, 2026 | 05 Mins read

A B2B SaaS company running a customer success platform had a data pipeline that consumed sixty percent of the data engineering team's time. Not feature work. Not analytics. Pipeline maintenance. The p

The observability stack: Datadog vs Grafana vs Monte Carlo
The observability stack: Datadog vs Grafana vs Monte Carlo
28 May, 2026 | 07 Mins read

Observability is not one problem. It is three. Infrastructure observability watches your servers, containers, and network. Application observability watches your code, APIs, and user-facing behaviour.

RAG frameworks head-to-head: LlamaIndex vs Haystack vs Semantic Kernel
RAG frameworks head-to-head: LlamaIndex vs Haystack vs Semantic Kernel
04 Jun, 2026 | 05 Mins read

Retrieval-augmented generation is simple in theory: retrieve relevant documents, stuff them into a prompt, get a grounded answer. In practice, the retrieval step is where most RAG applications fail. T

Semantic Layer Implementation: Challenges and Solutions
Semantic Layer Implementation: Challenges and Solutions
20 Mar, 2024 | 02 Mins read

A semantic layer provides business-friendly abstraction over technical data structures, enabling self-service analytics and consistent metric interpretation. Implementing one involves technical challe

Data cataloguing tools: Atlan, Alation, DataHub, Amundsen
Data cataloguing tools: Atlan, Alation, DataHub, Amundsen
11 Jun, 2026 | 05 Mins read

A data catalogue solves a trust problem. When an analyst cannot find the right table, does not know what a column means, or cannot tell whether data is fresh, they either guess or ask someone. Both ou

Data mesh in practice: year 2 retrospective
Data mesh in practice: year 2 retrospective
16 Jun, 2026 | 05 Mins read

An insurance company with $400 million in premium volume adopted data mesh two years ago. The central data team had become a bottleneck. Every business unit (claims, underwriting, actuarial, and distr

Model serving: vLLM, TGI, Triton: which fits your stack?
Model serving: vLLM, TGI, Triton: which fits your stack?
18 Jun, 2026 | 05 Mins read

Serving a language model in production is an infrastructure problem, not a model problem. The model weights are the same regardless of how you serve them. What differs is throughput (how many requests

CI/CD for ML: MLflow vs Weights & Biases vs Neptune
CI/CD for ML: MLflow vs Weights & Biases vs Neptune
25 Jun, 2026 | 05 Mins read

Machine learning teams face a version control problem that Git does not solve. Git tracks code changes, but ML experiments change more than code. They change hyperparameters, datasets, model architect

Graph databases for AI: Neo4j vs Amazon Neptune vs ArangoDB
Graph databases for AI: Neo4j vs Amazon Neptune vs ArangoDB
02 Jul, 2026 | 05 Mins read

Graph databases went from niche to essential as AI applications discovered that relationships matter. RAG applications that only search by vector similarity miss the connections between entities. Reco

Synthetic data tools: Gretel, Mostly AI, Tonic
Synthetic data tools: Gretel, Mostly AI, Tonic
09 Jul, 2026 | 05 Mins read

Real data is expensive, restricted, and often unusable. Privacy regulations block access to customer records. Data sharing agreements prevent using production data in development environments. Class i

Data quality platforms: Great Expectations vs Soda vs Monte Carlo
Data quality platforms: Great Expectations vs Soda vs Monte Carlo
15 Jul, 2026 | 06 Mins read

Data quality failures are expensive and silent. A broken pipeline does not crash. It produces wrong data that flows into dashboards, models, and decisions. The error is discovered weeks later when a b

Legacy mainframe to cloud-native: the data migration they said was impossible
Legacy mainframe to cloud-native: the data migration they said was impossible
21 Jul, 2026 | 06 Mins read

An insurance company running on an IBM mainframe had accumulated forty years of policy data in VSAM files and DB2 tables. The mainframe processed 600,000 transactions per day across policy administrat

Prompt management tools: PromptLayer, Humanloop, Promptfoo
Prompt management tools: PromptLayer, Humanloop, Promptfoo
22 Jul, 2026 | 05 Mins read

Prompts are code. They have versions, they break when changed carelessly, and they need testing. Yet most teams manage prompts as string literals in source files or as unversioned entries in a databas

The modern data stack is dead: here's what replaced it
The modern data stack is dead: here's what replaced it
23 Jul, 2026 | 05 Mins read

The modern data stack was a marketing category that outlived its usefulness. Between 2019 and 2023, it described a specific architecture: Fivetran or Airbyte for ingestion, dbt for transformation, Sno

Schema registry showdown: Confluent vs Apicurio vs AWS Glue
Schema registry showdown: Confluent vs Apicurio vs AWS Glue
30 Jul, 2026 | 05 Mins read

When producers and consumers share a Kafka topic without agreeing on the data format, things break in production. A producer adds a field. A consumer expects the old schema. The deserialisation fails,

Privacy-preserving computation: differential privacy tools compared
Privacy-preserving computation: differential privacy tools compared
06 Aug, 2026 | 06 Mins read

Publishing aggregate statistics about a dataset sounds safe. The average salary in a department. The number of users in a geographic region. The distribution of query types in a search engine. But agg

MCP server ecosystem: what's production-ready in 2026?
MCP server ecosystem: what's production-ready in 2026?
13 Aug, 2026 | 05 Mins read

The Model Context Protocol (MCP) was released in late 2024 as a standardised way for AI models to interact with external tools and data sources. By mid-2026, the server ecosystem has grown to hundreds

Real-time pricing engine: from batch overnight to sub-second
Real-time pricing engine: from batch overnight to sub-second
19 Aug, 2026 | 05 Mins read

An online travel agency processed 2.3 million flight searches per day. Each search triggered a pricing computation that determined the displayed fare for every matching itinerary. The pricing computat

Agent frameworks compared: LangGraph vs CrewAI vs AutoGen
Agent frameworks compared: LangGraph vs CrewAI vs AutoGen
20 Aug, 2026 | 06 Mins read

Single-agent applications (one LLM, one set of tools, one task) are straightforward to build and debug. The agent receives input, calls tools, produces output. When multi-step reasoning or collaborati

The data catalogue project that actually stuck: 18 months later
The data catalogue project that actually stuck: 18 months later
25 Aug, 2026 | 07 Mins read

Most data catalogue projects die within six months. The tool gets purchased, a team populates it with metadata for a few hundred tables, enthusiasm fades, and twelve months later the catalogue is a st

Embedding models compared: OpenAI, Cohere, Voyage, and open-source options
Embedding models compared: OpenAI, Cohere, Voyage, and open-source options
27 Aug, 2026 | 04 Mins read

Choosing an embedding model is one of the first decisions you make when building a retrieval-augmented generation system, and it is one of the hardest to reverse. The model you pick determines your ve

Replatforming a decade of analytics from Oracle to Snowflake
Replatforming a decade of analytics from Oracle to Snowflake
01 Sep, 2026 | 07 Mins read

Ten years of analytics built on Oracle means ten years of accumulated PL/SQL, materialised views, database links, stored procedures, and ETL jobs that nobody fully understands. The schema has four hun

Data pipeline monitoring: Elementary vs Databand vs Lightup
Data pipeline monitoring: Elementary vs Databand vs Lightup
03 Sep, 2026 | 05 Mins read

A data pipeline fails silently. The DAG completes without errors, the tables are populated, but the numbers are wrong. A column that was never null now has 30% nulls. A join that produced 10,000 rows

Text-to-SQL tools in 2026: which ones actually work?
Text-to-SQL tools in 2026: which ones actually work?
10 Sep, 2026 | 05 Mins read

Text-to-SQL has been promised for a decade. Every year, a new tool claims to convert natural language to production-ready SQL. Every year, the demos look impressive and the production deployments disa

Building a customer 360 from 12 disconnected CRM systems
Building a customer 360 from 12 disconnected CRM systems
16 Sep, 2026 | 07 Mins read

A healthcare conglomerate grew through acquisition for fifteen years. Each acquisition brought its own CRM. Salesforce in three divisions. Microsoft Dynamics in two. HubSpot in one. A custom-built CRM

Document intelligence platforms: AWS Textract vs Azure AI Doc Intelligence vs Google DocAI
Document intelligence platforms: AWS Textract vs Azure AI Doc Intelligence vs Google DocAI
17 Sep, 2026 | 05 Mins read

Every enterprise processes documents. Invoices, contracts, forms, receipts, medical records, insurance claims. The volume is measured in millions of pages per month for large organisations. The questi

Vector search for e-commerce: Typesense vs Meilisearch vs Elasticsearch kNN
Vector search for e-commerce: Typesense vs Meilisearch vs Elasticsearch kNN
24 Sep, 2026 | 05 Mins read

E-commerce search has a problem that keyword matching cannot solve. A user searches for "light summer dress for beach wedding" and the system returns results matching those exact words. The product ca

Low-code AI platforms: worth it for data teams?
Low-code AI platforms: worth it for data teams?
30 Sep, 2026 | 05 Mins read

Low-code AI platforms promise to put machine learning in the hands of people who cannot write Python. The pitch is compelling: connect your data, configure a pipeline with drag-and-drop components, de

Data lineage tools: Manta, Solidatus, Alation: who shows the full picture?
Data lineage tools: Manta, Solidatus, Alation: who shows the full picture?
07 Oct, 2026 | 05 Mins read

When a dashboard shows revenue at $12 million and the finance team says it should be $11.4 million, the investigation starts the same way every time: trace the data backward from the dashboard to the

Container orchestration for ML: K8s vs ECS vs Fly.io
Container orchestration for ML: K8s vs ECS vs Fly.io
08 Oct, 2026 | 05 Mins read

Running a model in a Jupyter notebook is trivial. Running a model that serves 500 predictions per second with 99.9% uptime, auto-scales with traffic, recovers from node failures, and costs less than $

LLM gateway comparison: LiteLLM, Portkey, Martian
LLM gateway comparison: LiteLLM, Portkey, Martian
29 Jun, 2026 | 07 Mins read

A production AI application calls multiple LLM providers. The primary model is GPT-4o for complex reasoning, but simple classification tasks use Claude Haiku for cost savings, and the fallback for rat

Serverless Data Pipelines: Architecture Patterns
Serverless Data Pipelines: Architecture Patterns
05 Jun, 2024 | 08 Mins read

# Serverless Data Pipelines: Architecture Patterns Serverless computing eliminates server management and provides automatic scaling with pay-per-use billing. These benefits matter for data pipelines

Event-Driven Data Architecture
Event-Driven Data Architecture
15 Sep, 2024 | 02 Mins read

Event-driven architectures treat changes in state as events that trigger immediate actions and data flows. Rather than processing data in batches or through scheduled jobs, components react to changes

Automated Data Quality Gates with Great Expectations & Soda
Automated Data Quality Gates with Great Expectations & Soda
28 Apr, 2025 | 07 Mins read

Organisations often treat data quality as secondary: something to address after building pipelines and training models. This perspective misunderstands modern data systems. In a world where ML models

From Data Silos to Data Mesh: The Evolution of Enterprise Data Architecture
From Data Silos to Data Mesh: The Evolution of Enterprise Data Architecture
15 Feb, 2025 | 03 Mins read

Traditional centralised data architectures worked for BI but struggle with AI workloads. Centralised teams become bottlenecks as data volumes grow. Domain experts who understand the data are separated

Feature Stores for AI: The Missing MLOps Component Reaching Maturity
Feature Stores for AI: The Missing MLOps Component Reaching Maturity
12 Mar, 2026 | 11 Mins read

A recommendation system team built their tenth model. Each model required feature engineering. Each feature engineering project started by copying code from the previous project, then modifying it for

The AI Data Pipeline: Special Considerations for Unstructured and Structured Data
The AI Data Pipeline: Special Considerations for Unstructured and Structured Data
11 May, 2026 | 13 Mins read

Data pipelines for AI are not the same as data pipelines for traditional software systems. The outputs are different. The failure modes are different. The tolerance for data quality issues is differen