Create a Secure Data Vault for Backup Products
This tutorial guides you through creating a secure, immutable data vault in IBM Cloud® Object Storage for use with enterprise backup solutions such as IBM Storage Defender Data Protect, Veeam Backup & Replication, and Commvault.
Overview
Enterprise backup solutions require a secure, reliable object storage target that protects backup data from accidental deletion, ransomware attacks, and unauthorized access. By configuring Object Storage with immutability policies and context-based restrictions, you create a hardened data vault that meets compliance requirements and provides robust data protection.
Objectives
- Create a Object Storage bucket configured for backup workloads
- Enable immutability (WORM) to protect backup data from modification or deletion
- Configure context-based restrictions to limit access to authorized networks and services
- Retrieve the credentials and connection information that are required by your backup product
Architecture
The secure data vault architecture consists of:
- Object Storage bucket - The storage target for backup data
- Immutability policy - WORM (Write Once Read Many) protection preventing data modification
- Context-based restrictions - Network and service-based access controls
- Service credentials - HMAC keys (Access Key and Secret Key) for S3-compatible access
Before you begin
Ensure that you have the following prerequisites in place:
- An IBM Cloud account with a valid payment method.
- An instance of IBM Cloud® Object Storage.
- Appropriate IAM permissions.
- Manager role on the Object Storage instance to create buckets and set policies.
- Administrator role on the account to configure context-based restrictions.
- Network connectivity information from your backup infrastructure (IP ranges, subnets).
- Your backup product that is installed and ready to configure (IBM Storage Defender, Veeam, or Commvault).
Create a bucket for backup data
Create a dedicated bucket for your backup workloads with appropriate storage class and settings.
Using the console
- Log in to the IBM Cloud console.
- Navigate to your Object Storage instance from the Resource list.
- Click Create bucket.
- Select Customize your bucket.
- Configure the bucket settings.
- Bucket name: Enter a unique, descriptive name (for example,
company-backup-vault-prod). - Resiliency: Select Cross Region or Regional based on your requirements.
- Location: Choose a location close to your backup infrastructure.
- Storage class: Select Standard for frequently accessed backups or Vault for long-term retention.
- Bucket name: Enter a unique, descriptive name (for example,
- Click Create bucket.
Using the CLI
ibmcloud cos bucket-create \
--bucket company-backup-vault-prod \
--ibm-service-instance-id <your-cos-instance-crn> \
--region us-south \
--class standard
You can find your IBM Cloud Object Storage instance CRN in the IBM Cloud console under the Service credentials section of your Object Storage instance.
Configure immutability (WORM protection)
Immutability helps to ensure that backup data cannot be modified or deleted until the retention period expires. This protects against ransomware, accidental deletion, and malicious insiders.
Immutability cannot be disabled once enabled on a bucket. Plan your retention periods carefully before enabling this feature.
Understanding retention periods
Object Storage immutability uses three retention period settings:
| Setting | Description |
|---|---|
| Minimum retention | The shortest time an object must be retained. Objects cannot be deleted before this period expires. |
| Default retention | Applied to objects when no retention period is specified during upload. |
| Maximum retention | The longest retention period that can be set on any object in the bucket. |
Enable immutability by using the console
- Navigate to your backup bucket in the Object Storage console.
- Click the Configuration tab.
- Scroll to Immutable Object Storage and click Add retention policy.
- Configure the retention periods.
- Minimum retention period: Set based on your shortest backup retention requirement (for example, 7 days).
- Default retention period: Set to your standard backup retention (for example, 30 days).
- Maximum retention period: Set to your longest retention requirement (for example, 365 days or 7 years for compliance).
- Click Save.
Enable immutability by using the CLI
ibmcloud cos bucket-protection-configuration-put \
--bucket company-backup-vault-prod \
--protection-configuration '{
"status": "Retention",
"minimum_retention": {"days": 7},
"default_retention": {"days": 30},
"maximum_retention": {"days": 365}
}'
Configure context-based restrictions
Context-based restrictions (CBR) add an additional layer of security by limiting which networks, services, and endpoints can access your backup bucket. Even if credentials are compromised, access is denied unless the request originates from an approved context.
Plan your access rules
Before configuring CBR, identify the following:
- Backup server IP addresses or subnets: The network ranges where your backup software runs
- Private or public endpoint access: Prefer private endpoints for production workloads
- Service-to-service access: Whether other IBM Cloud services need access
Create a network zone
A network zone defines the allowed source networks for access.
- Navigate to Context-based restrictions in the IBM Cloud console.
- Click Create zone.
- Enter a descriptive name (for example,
backup-infrastructure-zone). - Add allowed network sources.
- IP addresses: Add your backup server IPs (for example,
10.240.0.0/24). - VPC: Select your VPC if backup servers run in IBM Cloud.
- Service references: Add any IBM Cloud services that need access.
- IP addresses: Add your backup server IPs (for example,
- Click Create.
Create a CBR rule
- Navigate to Context-based restrictions rules.
- Click Create rule.
- Configure the rule.
- Description:
Restrict backup bucket to authorized infrastructure. - Service: Select Cloud Object Storage.
- Scope: Select your Object Storage instance and the specific backup bucket.
- Contexts: Add the network zone that you created.
- Enforcement: Start with Report-only to test, then switch to Enabled.
- Description:
- Click Create.
Test your CBR rules thoroughly in report-only mode before enabling enforcement. Check the Activity Tracker logs to verify that legitimate backup traffic is matching the rules.
CBR rule by using the CLI
# Create a network zone
ibmcloud cbr zone-create \
--name backup-infrastructure-zone \
--addresses 10.240.0.0/24,10.241.0.0/24
# Create a CBR rule for the backup bucket
ibmcloud cbr rule-create \
--description "Restrict backup bucket access" \
--service-name cloud-object-storage \
--resource-attributes "accountId=<account-id>,serviceName=cloud-object-storage,resource=company-backup-vault-prod" \
--zone-id <zone-id> \
--enforcement-mode enabled
Create service credentials with HMAC keys
Backup products use S3-compatible APIs to connect to Object Storage. This requires HMAC credentials (Access Key and Secret Key).
Using the console
- Navigate to your Object Storage instance in the IBM Cloud console.
- Click Service credentials in the left navigation.
- Click New credential.
- Configure the credential.
- Name: Enter a descriptive name (for example,
veeam-backup-credentials). - Role: Select Writer for backup operations (or Manager if the backup product needs to manage bucket settings).
- HMAC Credential: Toggle to On (this is critical for S3 compatibility).
- Name: Enter a descriptive name (for example,
- Click Add.
- Expand the new credential to view the details.
Using the CLI
ibmcloud resource service-key-create veeam-backup-credentials Writer \
--instance-name my-cos-instance \
--parameters '{"HMAC": true}'
Retrieve HMAC credentials
After creating the service credential, expand it to find the HMAC keys:
{
"apikey": "...",
"cos_hmac_keys": {
"access_key_id": "1a2b3c4d5e6f7g8h9i0j",
"secret_access_key": "AbCdEfGhIjKlMnOpQrStUvWxYz1234567890abcd"
},
"endpoints": "https://control.cloud-object-storage.cloud.ibm.com/v2/endpoints",
"iam_apikey_description": "...",
"resource_instance_id": "crn:v1:bluemix:public:cloud-object-storage:global:..."
}
Record the following values for your backup product configuration:
| Field | Description | Example |
|---|---|---|
access_key_id |
The Access Key for S3 authentication | 1a2b3c4d5e6f7g8h9i0j |
secret_access_key |
The Secret Key for S3 authentication | AbCdEfGhIjKlMnOpQrStUvWxYz... |
Store your Secret Key securely. It cannot be retrieved again after the credential is created.
Retrieve endpoint URLs
Object Storage provides multiple endpoints based on resiliency and access type.
Find your endpoint
- Navigate to your bucket in the Object Storage console.
- Click the Configuration tab.
- Scroll to Endpoints to see the available endpoints for your bucket's location.
Endpoint types
| Type | Description | Use case |
|---|---|---|
| Public | Accessible over the internet | Remote backup sites, cloud-native backup |
| Private | Accessible only within IBM Cloud | Backup servers in IBM Cloud VPC |
| Direct | High-bandwidth connection for IBM Cloud services | IBM Cloud service integrations |
Common endpoint URLs
Regional endpoints (US South example):
| Type | Endpoint URL |
|---|---|
| Public | s3.us-south.cloud-object-storage.appdomain.cloud |
| Private | s3.private.us-south.cloud-object-storage.appdomain.cloud |
| Direct | s3.direct.us-south.cloud-object-storage.appdomain.cloud |
Cross Region endpoints (US example):
| Type | Endpoint URL |
|---|---|
| Public | s3.us.cloud-object-storage.appdomain.cloud |
| Private | s3.private.us.cloud-object-storage.appdomain.cloud |
| Direct | s3.direct.us.cloud-object-storage.appdomain.cloud |
For a complete list of endpoints, see Endpoints and storage locations.
Configure your backup product
Use the information gathered to configure your backup product's object storage repository.
Required configuration values
Gather the following information before configuring your backup product:
| Parameter | Value | Where to find |
|---|---|---|
| Access Key | Your HMAC access key ID | Service credentials |
| Secret Key | Your HMAC secret access key | Service credentials |
| Bucket name | Your backup bucket name | Bucket list in Object Storage console |
| Endpoint URL | Regional or cross-region endpoint | Bucket configuration tab |
| Region | The region code (for example, us-south) |
Bucket configuration tab |
IBM Storage Defender Data Protect
IBM Storage Defender Data Protect supports cloud tiering and archiving to S3-compatible storage including Object Storage. The configuration process involves registering an external S3 target and creating protection policies.
For detailed configuration steps, refer to the IBM Storage Defender Redbook, which covers Data Protect versions 7.1.1 and later.
Register an S3 external target
- Log in to the IBM Storage Defender Data Protect management interface.
- Navigate to System Configuration > External Storage.
- Click Add External Target.
- Select Cloud as the target type, then select S3 Compatible Storage.
- Configure the S3 connection.
- Name: Enter a descriptive name (for example,
ibm-cos-backup-vault). - Endpoint URL: Enter your Object Storage endpoint (for example,
https://s3.us-south.cloud-object-storage.appdomain.cloud). - Access Key: Enter your HMAC
access_key_id. - Secret Key: Enter your HMAC
secret_access_key. - Bucket Name: Enter your backup bucket name.
- Name: Enter a descriptive name (for example,
- Click Test Connection to validate the configuration
- Click Save to register the external target
Create a protection policy for S3 archiving
- Navigate to Protection > Policies.
- Create or edit a protection policy.
- In the policy configuration, enable Cloud Tiering or Cloud Archive.
- Select the S3 external target that you registered.
- Configure retention and tiering rules as needed.
- Save the policy and assign it to your backup workloads.
Data Protect supports using IBM Storage Protect server as an S3 interface. If you have an existing Storage Protect infrastructure, you can leverage it as an S3 target for Data Protect clusters.
Veeam Backup & Replication
Veeam Backup & Replication supports Object Storage as an S3-compatible object storage target. Use the New Object Storage Repository wizard to add your Object Storage bucket.
For complete documentation, see Adding S3 Compatible Object Storage in the Veeam Help Center.
Step 1: Launch the wizard
- Open the Veeam Backup & Replication console.
- Navigate to Backup Infrastructure view.
- In the inventory pane, right-click Backup Repositories.
- Select Add Backup Repository.
- In the Add Backup Repository dialog, select Object Storage > S3 Compatible > S3 Compatible.
Step 2: Specify name
- In the Name field, enter a descriptive name for the repository (for example,
IBM-COS-Backup-Vault). - Optionally enter a Description.
- Select Limit concurrent tasks to N if you want to limit parallel operations.
- Click Next.
Step 3: Specify account
- In the Service point field, enter your Object Storage endpoint URL (for example,
s3.us-south.cloud-object-storage.appdomain.cloud). - In the Region field, enter the region code (for example,
us-south). - From the Credentials drop-down, click Add to create new credentials.
- In the Access key field, enter your HMAC
access_key_id. - In the Secret key field, enter your HMAC
secret_access_key. - Click OK.
- In the Access key field, enter your HMAC
- Select the Connection mode.
- Direct: Data transfers directly to object storage (recommended for most deployments).
- Through gateway server: Use a gateway server if you have network restrictions.
- Click Next.
Step 4: Specify bucket
- From the Bucket drop-down, select your backup bucket.
- Click Browse to select or create a folder within the bucket for Veeam data.
- Optionally configure storage limits:
- Limit object storage consumption to: Set a maximum capacity.
- Make recent backups immutable for X days: Enable immutability protection.
- Click Next.
Step 5: Specify mount server
- Select the Mount server to use for restore operations.
- Configure the Instant recovery write cache folder.
- Click Next.
Step 6: Review and finish
- Review the configuration summary.
- Click Finish to create the object storage repository.
For Veeam immutability to work, your Object Storage bucket must have S3 Object Lock enabled. Note that S3 Object Lock is a different feature from the Object Storage Immutable Object Storage retention policy. Check S3 Object Lock compatibility for details.
Commvault
Commvault supports Object Storage as an S3-compatible cloud storage target. You can configure it through the Command Center for backup and archive operations.
For complete documentation, see Getting Started with IBM Cloud Object Storage and Configuration for IBM Cloud Object Storage in the Commvault documentation.
Add cloud storage credentials
- Log in to the Commvault Command Center.
- Navigate to Manage > Security.
- Click Credential vault (or Manage credentials in older versions).
- Click Add to create a new credential.
- Configure the credential:
- Credential name: Enter a descriptive name (for example,
ibm-cos-credentials). - User account: Enter the
access_key_idfrom your Object Storage service credentials. - Password/API key: Enter the
secret_access_keyfrom your Object Storage service credentials.
- Credential name: Enter a descriptive name (for example,
- Click Save
When creating service credentials in the IBM Cloud console, ensure that the Include HMAC Credential option is enabled. The access_key_id and secret_access_key are found in the cos_hmac_keys section of the credentials JSON.
Configure cloud storage
- In the Command Center, navigate to Storage > Cloud.
- Click Add cloud storage.
- Select IBM Cloud Object Storage (or S3 Compatible if IBM Cloud® Object Storage is not listed).
- Configure the storage settings:
- Name: Enter a descriptive name for the cloud storage.
- Service host/Endpoint: Enter your Object Storage endpoint (for example,
s3.us-south.cloud-object-storage.appdomain.cloud). - Credentials: Select the credential that you created earlier.
- From the MediaAgent list, select the MediaAgent that accesses the cloud storage.
- Configure the DDB MediaAgent for deduplication (can be the same or different MediaAgent).
- Click Save
Add a storage pool for backups
- Navigate to Storage > Cloud.
- Select your IBM Cloud Object Storage.
- Click Add storage pool or configure bucket settings.
- Select or enter your bucket name.
- Configure retention and deduplication settings as needed.
- Associate the storage pool with your backup plans.
For WORM/immutability with Commvault, configure Object Lock on your Object Storage bucket and enable the corresponding compliance settings in Commvault's storage configuration.
Verify the configuration
After configuring your backup product, verify the setup:
Test backup operations
- Create a small test backup job in your backup product.
- Run the backup and verify that it completes successfully.
- Verify that the backup data appears in your Object Storage bucket.
Verify immutability
- Attempt to delete a recently backed-up object directly in the Object Storage console.
- The deletion should be denied with a retention policy error.
- Verify in the Activity Tracker that the deletion attempt was logged.
Verify that CBR is working
- Check Activity Tracker for any denied requests from outside your approved network zones.
- Attempt access from a nonapproved network to verify it's blocked (if safe to do so).
- Review CBR rule evaluations in the IBM Cloud console.
Best practices
Security recommendations
- Use private endpoints: Route backup traffic over the IBM Cloud private network when possible.
- Rotate credentials regularly: Create new HMAC credentials periodically and update your backup product.
- Monitor with Activity Tracker: Enable Activity Tracker to log all bucket operations.
- Apply least privilege: Grant only the minimum required IAM roles to backup credentials.
- Enable versioning: Consider enabling versioning for more protection against overwrites.
Immutability recommendations
- Align retention with backup policies: Set a minimum retention to match your shortest backup retention requirement.
- Plan for compliance: If subject to regulations (HIPAA, SEC, GDPR), set retention periods accordingly.
- Test recovery procedures: Regularly test that you can restore from immutable backups.
Performance recommendations
- Choose the appropriate storage class: Use Standard for active backups, Vault or Cold Vault for archives.
- Enable transfer acceleration: For large backups over long distances, consider Aspera high-speed transfer.
- Right-size concurrent connections: Most backup products allow tuning concurrent upload streams.
Next steps
Now, that your secure data vault is configured:
- Set up backup schedules: Configure your backup product with appropriate backup schedules.
- Configure alerting: Set up notifications for backup failures or policy violations.
- Document recovery procedures: Create runbooks for restore operations.
- Plan for disaster recovery: Consider replicating critical backups to a secondary region.
- Review access periodically: Audit IAM policies and CBR rules regularly.