Overview
Xloud Block Storage provides several hardening controls that restrict unauthorized access to sensitive storage resources, limit resource abuse, and maintain an auditable record of storage operations. Apply these controls after completing the initial service configuration to meet compliance and security baseline requirements.Prerequisites
- Administrator credentials with the
adminrole - Volume types and backends already configured
- CLI authenticated via
source admin-openrc.sh
Security Controls Overview
| Control | Purpose | Impact |
|---|---|---|
| Volume type access restriction | Limit sensitive types (encrypted, high-performance) to specific projects | Prevents unauthorized access to premium tiers |
| Minimum volume size | Require a minimum GiB per volume | Reduces storage fragmentation |
| Snapshot visibility | Prevent public snapshots | Stops data leakage across project boundaries |
| Volume encryption | At-rest protection via LUKS | Protects data on stolen or decommissioned hardware |
| Audit logging | API request logging | Provides evidence for compliance audits |
Restrict Volume Type Access
By default, volume types are accessible to all projects. Restrict sensitive or high-performance types to specific authorized projects:- Dashboard
- CLI
Navigate to Volume Types
Log in to the Xloud Dashboard (
https://connect.<your-domain>) and navigate to
Admin → Volumes → Volume Types.Make the type private
Click the type name, then click Edit Volume Type. Set Access to
Private and save.
Enforce Minimum Volume Size
Prevent creation of many small volumes that fragment storage capacity and inflate volume counts against quota:Set minimum volume size for a project
10 requires every volume to be at least 10 GiB. Adjust based on your
workload profile. Set globally with --class default to apply to all new projects:
Set global minimum volume size
Manage Snapshot Visibility
Snapshots can be set topublic, making them visible and accessible to all projects.
Audit and restrict public snapshots to prevent unintended data exposure:
List public snapshots across all projects
Make a public snapshot private
Enable Volume Encryption
Configure at-rest encryption on sensitive volume types to protect data on storage media. Encryption is transparent to users — all I/O is encrypted/decrypted at the hypervisor layer without application changes. Refer to the Volume Encryption guide for full configuration instructions.Audit Logging
The Block Storage service logs all API requests including volume creation, deletion, attachment, and snapshot operations. Review service logs via XDeploy for security audits.Key events to audit
Key events to audit
| Event | Log Pattern | Security Significance |
|---|---|---|
| Volume deletion | DELETE /volumes/<id> | Data destruction |
| Volume type creation | POST /types | New storage tier added |
| Snapshot made public | PUT /snapshots/<id> with visibility=public | Potential data exposure |
| Quota increase | PUT /os-quota-sets/<project> | Resource limit change |
| Volume migration | POST /volumes/<id>/action | Data movement |
Enable debug logging (temporary)
Enable debug logging (temporary)
Enable verbose API logging on the Block Storage service for detailed audit trails:Access the volume service configuration via XDeploy and add
debug = True to the
[DEFAULT] section. Apply configuration changes and restart the service.Security Checklist
Deployment security baseline
Deployment security baseline
Verify the following after initial Block Storage deployment:
- All encrypted volume types are set to private and scoped to authorized projects
- Public snapshot count is zero (or justified exceptions documented)
- Minimum volume size configured per project to prevent fragmentation
- Volume encryption enabled for any compliance-sensitive data tiers
- Key Management service deployed with HA for encrypted volume availability
- Service logs reviewed for anomalous patterns after first week of operation
- Storage backend credentials (keyring files) have
0600permissions on disk - Backup target credentials stored in
passwords.yml(not in configuration files)
Next Steps
Volume Encryption
Configure LUKS-based at-rest encryption for volume types
Quota Management
Enforce storage limits to prevent resource exhaustion
Volume Types & QoS
Restrict volume type access to authorized projects
Admin Guide
Return to the Block Storage administration overview