Goal
Build object workflows against the operations S2 implements and grant short-lived access without sharing long-lived keys.Prerequisites
- An S2 bucket
- A bucket access key or StackShift API token
Workflow
1
Use the S3 endpoint for normal object reads, writes, listings, copies, tags, and multipart uploads.
2
Attach content headers and custom metadata when the application needs them returned with the object.
3
Use write preconditions and checksums when replacing important keys.
4
Generate a presigned URL for temporary browser, customer, or service access.
5
Use a temporary prefix-scoped key when a client needs several S3 operations instead of one URL.
Supported S3-compatible operations
- ListBuckets, CreateBucket, HeadBucket, DeleteBucket, and GetBucketLocation.
- ListObjectsV2 with prefix, delimiter, continuation token, and maximum-key controls.
- PutObject, GetObject, HeadObject, DeleteObject, CopyObject, and DeleteObjects.
- GET, PUT, and DELETE object tagging.
- InitiateMultipartUpload, UploadPart, CompleteMultipartUpload, and AbortMultipartUpload.
- GET, PUT, and DELETE bucket CORS configuration plus browser preflight handling.
Object headers and safe updates
- S2 records content type, cache control, content disposition, content encoding, expiry, custom metadata, ETag, and SHA-256 checksum metadata.
- Byte-range GET requests return partial object content for resumable downloads and media readers.
- Conditional writes can reject an overwrite when the current ETag does not match the application expectation.
- A supplied payload SHA-256 is validated before a write is accepted.
Presigned URLs
The control-plane presign operation supportsGET, PUT, HEAD, and DELETE. It returns the URL, required signed headers, method, and expiry. The default lifetime is 15 minutes when no value is supplied.
Presigned URLs are best for one object operation. Do not expose a bucket secret to a browser or download recipient when a URL can express the same access.
Create a presigned upload
Temporary credentials
Temporary S2 keys can expire from one second up to seven days, restrict access to one object-key prefix, and allow only selected operations. Supported operation names areget, head, put, delete, list, and multipart.
The secret is returned once. Store it only for the lifetime of the delegated task and revoke the key early when the task completes.
Expected result
Applications use standard S3 request signing while temporary consumers receive only the method, prefix, and lifetime they need.
Common failures
Related guides
Create a bucket and connect an S3 client
Create an S2 bucket, capture its one-time credentials, and verify object operations with the AWS CLI.
Access keys, encryption, isolation, and quotas
Operate S2 credentials, encryption, visibility, tenant isolation, request limits, and customer-plan quotas safely.
Versioning, lifecycle, and retention
Protect object history, restore earlier versions, automate aging policies, and prevent protected objects from being deleted too early.