Storage / Object / Controls / DEV
Enforce Constraints on Pre-Signed URL Generation
CCC.ObjStor.CN08 · Access
Ensure that pre-signed URLs are generated with minimum necessary permissions, limited expiry durations, and auditable generation events to prevent unauthorized access through leaked or overly permissive URLs.
Related Capabilities
| ID | Title | Description |
|---|
| CCC.Core.CP05 | Signed URLs | The service can generate an ad hoc URL containing authentication information to enforce user-configured permissions for accessing a specific component or a child resource. |
| CCC.Core.CP06 | Access Control | The service automatically enforces user configurations to restrict or allow access to a specific component or a child resource based on factors such as user identities, roles, groups, or attributes. |
| CCC.Core.CP29 | Active Ingestion | While running, the service itself can fetch or reach out to some other service or external source to get data, inputs or commands for the service to process or operate on. |
Related Threats
| ID | Title | Description |
|---|
| CCC.ObjStor.TH02 | Pre-Signed URL Abuse | Pre-signed URLs generated with excessive permissions, overly long expiry durations, or insufficient scope constraints may be leaked or shared beyond their intended audience. Because the URL itself acts as a bearer credential, any entity in possession of the URL can access the referenced resource without further authentication, bypassing standard access controls. |
| CCC.Core.TH01 | Access is Granted to Unauthorized Users | Logic designed to give different permissions to different entities may be misconfigured or manipulated, allowing unauthorized entities to access restricted parts of the service, its data, or its child resources. This could result in a loss of data confidentiality or tolerance of unauthorized actions which impact the integrity and availability of resources and data. |
Assessment Requirements
| ID | Text | Applicability |
|---|
| CCC.ObjStor.CN08.AR01 | When a pre-signed URL is generated, the service MUST enforce a maximum expiry duration that does not exceed an organization-defined threshold. | tlp-clear, tlp-green, tlp-amber, tlp-red |
| CCC.ObjStor.CN08.AR02 | When a pre-signed URL is generated, the service MUST restrict the URL scope to a single object and a single operation (read or write), preventing broad access grants. | tlp-green, tlp-amber, tlp-red |
| CCC.ObjStor.CN08.AR03 | When a pre-signed URL is generated, the service MUST publish an auditable log entry that includes the generating identity, the target resource, the granted permissions, and the expiry time. | tlp-green, tlp-amber, tlp-red |
| CCC.ObjStor.CN08.AR04 | When a pre-signed URL is generated, the service MUST restrict generation to identities that have explicit permission to create pre-signed URLs, separate from their permission to access the underlying object. | tlp-amber, tlp-red |
Guideline Mappings
| Framework | ID | Remarks |
|---|
| CCM | IAM-01 | IAM Policy and Procedures |
| CCM | DSP-17 | Sensitive Data Protection |
| CCM | LOG-08 | Log Records |