DOCC Catalog Volume provides a governance layer for managing cloud storage access in your data platform. This system separates storage credentials from storage locations, enabling centralized management and enterprise-grade security.
Overview
DOCC Catalog Volume represents a modern approach to cloud storage access that prioritizes governance, security, and scalability. Unlike traditional mount-based approaches, it separates the concerns of authentication (how to connect) from authorization (what to access).
Key Benefits
- Centralized Credential Management: Single source of truth for storage authentication
- Workspace-Level Governance: Fine-grained access control per workspace
- Audit & Compliance: Comprehensive logging and compliance reporting
- Zero-Downtime Rotation: Update credentials without service interruption
Architecture
The DOCC Catalog Volume architecture consists of two main components:
Storage Credentials
Centralized authentication configurations that define how to connect to cloud storage providers. These are reusable across multiple external locations.
External Locations
Governed pointers to specific storage paths that reference storage credentials for authentication. Each location can have workspace-specific access controls.
Architecture Benefits
- One credential can serve multiple storage locations
- Locations can be shared across workspaces with different permissions
- Credential updates automatically apply to all dependent locations
- Clear separation of authentication and authorization concerns
Setup Guide
Step 1: Create Storage Credentials
First, create storage credentials that define how to authenticate with your cloud storage provider.
AWS S3 Example (IAM User)
POST /api/v1/catalog/storage-credentials
Content-Type: application/json
{
"name": "s3-production-credentials",
"credentialType": "ACCESS_KEY",
"providerType": "AWS_S3",
"credentialConfig": {
"accessKeyId": "AKIA...",
"secretAccessKey": "...",
"region": "us-east-1"
}
}
AWS S3 Example (Assume Role)
POST /api/v1/catalog/storage-credentials
Content-Type: application/json
{
"name": "s3-assume-role-credentials",
"credentialType": "ASSUME_ROLE",
"providerType": "AWS_S3",
"credentialConfig": {
"roleArn": "arn:aws:iam::123456789012:role/DataPlatformRole",
"externalId": "unique-external-id",
"region": "us-east-1"
}
}
Step 2: Create External Locations
Create external locations that point to specific storage paths using the credentials.
POST /api/v1/catalog/external-locations
Content-Type: application/json
{
"name": "analytics-data-lake",
"url": "s3://company-data-lake/analytics/",
"credentialName": "s3-production-credentials",
"comment": "Production analytics data lake"
}
Step 3: Configure Workspace Access
Grant workspace-level access to the external location.
POST /api/v1/catalog/external-locations/analytics-data-lake/permissions
Content-Type: application/json
{
"workspaceId": "ws-analytics-team",
"permissions": ["READ", "WRITE"],
"grantedBy": "admin@company.com"
}