Security
Security is built into every layer of Datum Cloud. This guide covers authentication, authorization, admission control, and security best practices.Security Architecture
Authentication
IAM integration with GitHub OAuth for user identity
Authorization
Kubernetes RBAC for role-based access control
Admission Control
ValidatingAdmissionPolicy for resource validation
Network Security
Built-in encryption and network policies
Authentication
User Authentication
Datum Cloud uses IAM integration for user authentication:- GitHub OAuth: Users sign in with GitHub accounts
- User Resources: Each user gets a
Userresource in Kubernetes - Session Management: JWT tokens for API access
Service Accounts
For programmatic access, use Kubernetes service accounts:Authorization (RBAC)
Built-in Roles
Datum provides three organization roles defined inconfig/assignable-organization-roles/roles/:
- Owner
- Editor
- Viewer
Full administrative accessFrom Permissions:
datum-cloud-owner.yaml:1:- Create/delete organizations
- Manage organization members
- Create/delete projects
- Manage all resources
- Configure quotas
Assigning Roles
Roles are assigned viaOrganizationMembership:
Checking Permissions
Custom Roles
Create custom roles for specific permissions:Admission Control
Datum usesValidatingAdmissionPolicy for resource validation.
Organization Name Protection
Fromconfig/services/resourcemanager.miloapis.com/validation/organization-update-policy.yaml:1:
- Prevents changing display name of Personal organizations
- Protects user identity association
- Enforced at API level
Project Name Validation
Fromconfig/services/resourcemanager.miloapis.com/validation/project-name-validation-policy.yaml:1:
- Name length (6-30 characters)
- No reserved words
- Format requirements
Creating Custom Admission Policies
Create policies for custom validation:Network Security
Built-in Encryption
Datum provides network-level encryption that cannot be disabled:- All traffic between components is encrypted
- TLS for control plane communication
- Encrypted network overlays
- No unencrypted data in transit
Network Policies
Control traffic between workloads usingNetworkPolicy:
Kubernetes Network Policies
Enable network policies for metrics endpoint (fromconfig/network-policy/):
Pod Security
Security Context
Datum controller runs with restrictive security context (fromconfig/manager/manager.yaml:43):
- Cannot run as root
- No privilege escalation
- All capabilities dropped
- Seccomp profile applied
Pod Security Standards
Datum adheres to the “restricted” Pod Security Standard:Secrets Management
Storing Secrets
Using Secrets in Workloads
External Secrets
Integrate with external secret managers:- External Secrets Operator
- Sealed Secrets
Audit Logging
Enable Kubernetes Audit Logging
Configure audit policy:View Audit Logs
Security Best Practices
Principle of least privilege
Grant minimum required permissions. Use Viewer role by default.
Enable RBAC auditing
Regularly audit role assignments and permissions.
Rotate credentials
Regularly rotate secrets, tokens, and certificates.
Use namespaces
Isolate resources in project namespaces.
Enable network policies
Use NetworkPolicy to restrict traffic.
Scan images
Scan workload images for vulnerabilities.
Monitor security events
Alert on suspicious activity.
Keep updated
Regularly update Datum components.
Security Checklist
Pre-Production
- Review all RBAC role assignments
- Enable audit logging
- Configure network policies
- Set up secret management
- Enable Pod Security Standards
- Configure admission policies
- Set resource limits
- Enable metrics and monitoring
Production
- Use TLS for all external endpoints
- Rotate credentials monthly
- Review audit logs weekly
- Scan images for CVEs
- Monitor for security events
- Backup etcd regularly
- Test disaster recovery
- Document security procedures
Troubleshooting
Permission denied errors
Admission webhook denials
Network policy issues
Compliance
SOC 2 Compliance
- Audit logging enabled
- RBAC enforced
- Encryption in transit
- Access reviews
- Change management
GDPR Compliance
- User data encryption
- Access controls
- Audit trails
- Data retention policies
- Right to deletion
Next Steps
Managing Resources
Learn resource management with RBAC
Monitoring
Monitor security events
Organizations
Organization membership and roles
Configuration
Security configuration options