Delta Sharing implements multiple layers of security to protect your data during transit and at rest. This guide covers authentication, encryption requirements, and best practices for securing your Delta Sharing deployment.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/delta-io/delta-sharing/llms.txt
Use this file to discover all available pages before exploring further.
Authentication Overview
Delta Sharing uses bearer token authentication for all REST API requests. Every API call must include a valid bearer token in the Authorization header:Bearer Token Security
Bearer tokens are the primary authentication mechanism in Delta Sharing. Follow these best practices: The bearer token is configured in the server’s YAML configuration:Token Expiration
Configure token expiration times in profile files to limit the window of potential token compromise:- Use ISO 8601 format for expiration times
- Set reasonable expiration windows based on your security policies
- Implement automated token renewal processes before expiration
- Monitor and alert on approaching token expiration
HTTPS Requirements
Transport Layer Security
The Delta Sharing protocol transfers sensitive information:- Bearer tokens in every request header
- Table metadata including schemas and statistics
- Pre-signed URLs for data access
- Temporary cloud credentials (for directory-based access)
- Use valid SSL/TLS certificates from trusted Certificate Authorities
- Support TLS 1.2 or higher
- Regularly update certificates before expiration
- Implement certificate pinning for additional security (optional)
URL Security
Delta Sharing uses pre-signed URLs for data file access:- Set short expiration times (e.g., 1-24 hours) using
expirationTimestamp - Monitor URL access patterns for anomalies
- Rotate signing keys regularly
- Use cloud provider security features (e.g., AWS S3 bucket policies)
Profile File Protection
Profile files contain sensitive credentials and must be protected:Storage Security
File System Permissions:- Store profile files in encrypted file systems
- Use secret management systems (AWS Secrets Manager, HashiCorp Vault, etc.)
- Implement access controls at the directory level
- Enable audit logging for profile file access
Profile File Access Patterns
Profile files can be stored locally or remotely: Local File System:When using remote storage, ensure proper authentication is configured for the storage system (AWS IAM roles, Azure AD, Google Cloud IAM, etc.).
Advanced Security: JWT Proxy Setup
For enterprise deployments, implement JWT (JSON Web Token) authentication using a reverse proxy like NGINX:NGINX JWT Configuration
The reference Delta Sharing server uses basic bearer token authentication. For enhanced security, place it behind a secure proxy:- Install NGINX with JWT module:
- Generate JWT signing keys:
- Configure JWT validation:
Cloud Storage Security
Secure access to underlying cloud storage systems:AWS S3 Security
Recommended Authentication Methods:- EC2 IAM Metadata (Recommended):
- Environment Variables:
Azure Storage Security
Shared Key Authentication: Createconf/core-site.xml:
Google Cloud Storage Security
Service Account Authentication:storage.objects.get- Read object datastorage.objects.list- List bucket contents- Limit scope to specific buckets and prefixes
Security Checklist
Pre-Production Security Checklist
Pre-Production Security Checklist
Authentication:
- Generate cryptographically secure bearer tokens
- Configure token expiration times
- Implement token rotation procedures
- Set up monitoring for token usage
- Configure valid SSL/TLS certificates
- Enable TLS 1.2 or higher
- Verify HTTPS on all endpoints
- Test certificate renewal process
- Set restrictive file permissions (600)
- Store in encrypted file systems
- Implement access audit logging
- Use secret management systems
- Configure firewall rules
- Implement rate limiting
- Set up DDoS protection
- Enable network access logging
- Use IAM roles (not static credentials)
- Configure bucket policies with least privilege
- Enable cloud provider security features
- Set up access logging and monitoring
- Enable comprehensive API access logging
- Set up alerts for authentication failures
- Monitor for unusual access patterns
- Implement security incident response procedures
Error Handling
Delta Sharing returns standard HTTP status codes for authentication errors:| Status Code | Description | Action |
|---|---|---|
| 401 | Unauthenticated - bearer token missing or incorrect | Verify token in profile file |
| 403 | Forbidden - insufficient permissions | Check recipient access grants |
| 404 | Resource not found | Verify share/schema/table names |