CCC Object Storage Controls
Controls for Object Storage technologies, as defined by the FINOS Common Cloud Controls project.
- ID
- CCC.ObjStor.CN
- Version
- v2026.06-rc5
- Gemara version
- v1.2.0
- Author
- FINOS Common Cloud Controls
Encryption
The Encryption group covers entries related to protecting data confidentiality and integrity through cryptographic mechanisms. This includes encryption in transit and at rest, key management, and certificate lifecycle management.
CCC.ObjStor.CN01 Prevent Requests to Buckets or Objects with Untrusted KMS Keys
Objective
Prevent any requests to object storage buckets or objects using untrusted KMS keys to protect against unauthorized data encryption, or sensitive data decryption.
Assessment requirements
When a request is made to read a bucket, the service MUST prevent any request using KMS keys not listed as trusted by the organization.
Applicability: tlp-amber, tlp-red
When a request is made to read an object, the service MUST prevent any request using KMS keys not listed as trusted by the organization.
Applicability: tlp-amber, tlp-red
When a request is made to write to a bucket, the service MUST prevent any request using KMS keys not listed as trusted by the organization.
Applicability: tlp-clear, tlp-green, tlp-amber, tlp-red
When a request is made to write to an object, the service MUST prevent any request using KMS keys not listed as trusted by the organization.
Applicability: tlp-clear, tlp-green, tlp-amber, tlp-red
Guidelines
- CCM
- IAM-01 — IAM Policy and Procedures
- IAM-03 — Identity Inventory (system identities and level of access)
- DSP-17 — Sensitive Data Protection
Threats
- CCC.Core.Threats
- CCC.Core.TH01 — Access is Granted to Unauthorized Users
- CCC.Core.TH06 — Data is Lost or Corrupted
Data Resilience
The Data Resilience group covers entries related to ensuring data availability, integrity, and sovereignty across its lifecycle. This includes replication, backup, recovery, region restrictions, and protection against data loss or corruption.
CCC.ObjStor.CN03 Prevent Bucket Deletion Through Irrevocable Bucket Retention Policy
Objective
Ensure that object storage bucket is not deleted after creation, and that the preventative measure cannot be unset.
Assessment requirements
When an object storage bucket deletion is attempted, the bucket MUST be fully recoverable for a set time-frame after deletion is requested.
Applicability: tlp-clear, tlp-green, tlp-amber, tlp-red
When an attempt is made to modify the retention policy for an object storage bucket, the service MUST prevent the policy from being modified.
Applicability: tlp-clear, tlp-green, tlp-amber, tlp-red
Guidelines
- CCM
- DSP-16 — Data Retention and Deletion
- DSP-17 — Sensitive Data Protection
Threats
- CCC.Core.Threats
- CCC.Core.TH06 — Data is Lost or Corrupted
CCC.ObjStor.CN04 Objects have an Effective Retention Policy by Default
Objective
Ensure that all objects stored in the object storage system have a retention policy applied by default, preventing premature deletion or modification of objects.
Assessment requirements
When an object is uploaded to the object storage system, the object MUST automatically receive a default retention policy that prevents premature deletion or modification.
Applicability: tlp-clear, tlp-green, tlp-amber, tlp-red
When an attempt is made to delete or modify an object that is subject to an active retention policy, the service MUST prevent the action from being completed.
Applicability: tlp-clear, tlp-green, tlp-amber, tlp-red
Guidelines
- CCM
- DSP-16 — Data Retention and Deletion
- DSP-17 — Sensitive Data Protection
Threats
- CCC.Core.Threats
- CCC.Core.TH06 — Data is Lost or Corrupted
- CCC.ObjStor.Threats
- CCC.ObjStor.TH01 — Data Exfiltration via Insecure Lifecycle Policies
CCC.ObjStor.CN05 Versioning is Enabled for All Objects in the Bucket
Objective
Ensure that versioning is enabled for all objects stored in the object storage bucket to enable recovery of previous versions of objects in case of loss or corruption.
Assessment requirements
When an object is uploaded to the object storage bucket, the object MUST be stored with a unique identifier.
Applicability: tlp-clear, tlp-green, tlp-amber, tlp-red
When an object is modified, the service MUST assign a new unique identifier to the modified object to differentiate it from the previous version.
Applicability: tlp-clear, tlp-green, tlp-amber, tlp-red
When an object is modified, the service MUST allow for recovery of previous versions of the object.
Applicability: tlp-clear, tlp-green, tlp-amber, tlp-red
When an object is deleted, the service MUST retain other versions of the object to allow for recovery of previous versions.
Applicability: tlp-clear, tlp-green, tlp-amber, tlp-red
Guidelines
- CCM
- DSP-16 — Data Retention and Deletion
- DSP-17 — Sensitive Data Protection
Threats
- CCC.Core.Threats
- CCC.Core.TH06 — Data is Lost or Corrupted
Access Control
The Access Control group covers entries related to authentication, authorization, and trust perimeter enforcement. This includes multi-factor authentication, least privilege access, network access rules, and prevention of unauthorized access or reconnaissance.
CCC.ObjStor.CN07 Multi-Factor Authentication Is Required for Object Deletion
Objective
Ensure that deletion of objects stored in the object storage system is protected by multi-factor authentication (MFA), reducing the risk of accidental, unauthorized, or compromised-credential–based data destruction.
Assessment requirements
The object storage service MUST support a configuration option that requires MFA to be successfully completed before any object deletion can be attempted, regardless of the request interface.
Applicability: tlp-clear, tlp-green, tlp-amber, tlp-red
When MFA deletion protection is enabled on a bucket or object namespace, the service MUST deny any deletion request from an identity that has not satisfied the MFA requirement at the time of the request.
Applicability: tlp-clear, tlp-green, tlp-amber, tlp-red
When an attempt is made to delete an object, the service's audit logs MUST clearly record each deletion attempt, including whether MFA was required and whether validation was met.
Applicability: tlp-clear, tlp-green, tlp-amber, tlp-red
Guidelines
- CCM
- DSP-16 — MFA enforcement strengthens data retention and deletion control
- IAM-12 — MFA required for privileged or destructive operations
Threats
- CCC.Core.Threats
- CCC.Core.TH01 — Prevents unauthorized identities from deleting objects
- CCC.Core.TH06 — Mitigates malicious or accidental data loss through protected deletion
- CCC.Core.TH17 — Ensures deletion requests from unauthorized entities do not result in action
CCC.ObjStor.CN02 Enforce Uniform Bucket-level Access to Prevent Inconsistent Permissions
Objective
Ensure that uniform bucket-level access is enforced across all object storage buckets. This prevents the use of ad-hoc or inconsistent object-level permissions, ensuring centralized, consistent, and secure access management in accordance with the principle of least privilege.
Assessment requirements
When a permission set is allowed for an object in a bucket, the service MUST allow the same permission set to access all objects in the same bucket.
Applicability: tlp-clear, tlp-green, tlp-amber, tlp-red
When a permission set is denied for an object in a bucket, the service MUST deny the same permission set to access all objects in the same bucket.
Applicability: tlp-clear, tlp-green, tlp-amber, tlp-red
Guidelines
- CCM
- IAM-08 — User Access Review
Threats
- CCC.Core.Threats
- CCC.Core.TH01 — Access is Granted to Unauthorized Users