Native Vault
Enter credentials directly. Stored encrypted in AWS SSM Parameter Store (SecureString). Simple, secure, zero configuration.
External Vault (BYOV)
Map credential fields to references in 1Password, Doppler, or Infisical. Credentials resolved at execution time and immediately discarded.
Supported Providers
Each cloud storage provider requires specific credential fields. DataRaven auto-selects the auth method when you choose a provider — except Azure, which offers two options.| Provider | Auth Method | Required Fields |
|---|---|---|
| AWS S3 | s3_access_key | access_key_id, secret_access_key |
| Azure Blob | azure_sas_url | sas_url |
| Azure Blob | azure_account_key | account_name, account_key |
| Google Cloud Storage | gcs_service_account | service_account_json |
| Cloudflare R2 | r2_access_key | access_key_id, secret_access_key |
| Backblaze B2 | b2_application_key | application_key_id, application_key |
| Wasabi | wasabi_access_key | access_key_id, secret_access_key |
| Railway | railway_access_key | access_key_id, secret_access_key |
| Oracle Object Storage | oracle_object_storage_s3_access_key | access_key_id, secret_access_key |
| Tigris | tigris_access_key | access_key_id, secret_access_key |
| DigitalOcean Spaces | digitalocean_spaces_access_key | access_key_id, secret_access_key |
| Hetzner | hetzner_access_key | access_key_id, secret_access_key |
| Rabata | rabata_access_key | access_key_id, secret_access_key |
| S3 Compatible | s3_compatible_access_key | access_key_id, secret_access_key |
Creating a Secret
- Direct Entry (Native Vault)
- External Vault (BYOV)
Store credentials directly in DataRaven’s encrypted vault. Best for teams that don’t use an external secrets manager.
Choose your provider
Select the cloud storage provider. The auth method is auto-selected (Azure lets you choose between SAS URL and account key).
Enter credentials
Fill in the required credential fields for your provider. These are encrypted and stored in AWS SSM Parameter Store.
Validation Rules
DataRaven validates secrets on creation and update:auth_methodmust be valid for the chosensecret_typefield_mappingsmust cover all required fields for the auth method (partial mappings are rejected)credentialsandvault_connection_idare mutually exclusive
Updating & Rotating Secrets
- Native Vault
- External Vault (BYOV)
Edit a secret to rotate the credentials
You cannot switch a secret between native vault and external vault after creation. A native secret always uses
credentials, and a BYOV secret always uses field_mappings.Changing
secret_type on an existing secret triggers validation against all linked locations to ensure compatibility.Secret Lifecycle
Secrets are referenced by Locations, which are referenced by Tasks. This creates a dependency chain:Link to a location
When creating a storage location, select the secret that holds credentials for that provider.
Use in tasks
Tasks reference locations. At execution time, DataRaven resolves the secret’s credentials to access the storage.
Security
Never exposed
Credentials are never returned in any API response — not on read, not on list, not on update confirmation.
Encrypted at rest
Native vault credentials are stored as AWS SSM Parameter Store SecureString parameters, encrypted with AWS KMS.
In-memory only
External vault credentials are resolved in-memory at execution time and immediately
discarded after the operation completes.
Audit logged
All secret operations — creation, updates, deletions, and runtime resolutions — are logged for audit purposes.
Provider Tips
Azure Blob Storage
Azure Blob Storage
Use SAS URLs over account keys. SAS (Shared Access Signature) URLs are scoped to specific containers and operations, and they expire automatically. Account keys grant full access to the entire storage account.When using
azure_sas_url, generate the SAS URL from the Azure portal with the minimum required permissions (read/write/list) and a reasonable expiration window.Google Cloud Storage
Google Cloud Storage
The
service_account_json field expects the entire JSON key file contents as a string. Copy the full JSON output from gcloud iam service-accounts keys create — don’t extract individual fields.Cloudflare R2
Cloudflare R2
R2 credentials (
access_key_id and secret_access_key) go in the secret. The account ID belongs in the Location’s endpoint_url field, not in the secret — typically formatted as https://<account_id>.r2.cloudflarestorage.com.Wasabi
Wasabi
Wasabi requires an
endpoint_url in the Location configuration (e.g., https://s3.us-east-1.wasabisys.com). The secret only holds the access key credentials.Tigris
Tigris
Tigris uses standard S3 access key credentials. The
endpoint_url goes in the Location configuration — typically https://fly.storage.tigris.dev.DigitalOcean Spaces
DigitalOcean Spaces
DigitalOcean Spaces uses standard S3 access key credentials. The
endpoint_url goes in the Location configuration — formatted as <region>.digitaloceanspaces.com (e.g., nyc3.digitaloceanspaces.com).Hetzner
Hetzner
Hetzner Object Storage uses standard S3 access key credentials. The
endpoint_url goes in the Location configuration — formatted as <region>.your-objectstorage.com (e.g., hel1.your-objectstorage.com).Rabata
Rabata
Rabata Object Storage uses standard S3 access key credentials. The
endpoint_url goes in the Location configuration — formatted as s3.<region>.rabata.io (e.g., s3.us-east-1.rabata.io). Region is also required.Tier Limits
| Plan | Secrets |
|---|---|
| Free | 5 |
| Pro | 100 |