[{"data":1,"prerenderedAt":81},["ShallowReactive",2],{"tag-s3":3,"tag-all":64},[4,14,22,30,37,43,51,59],{"_path":5,"title":6,"description":7,"date":8,"tags":9},"\u002Fblog\u002Fabac-object-tags-vs-prefix-policies","Object tags or prefixes: which access model survives growth","Prefixes decide what a principal can list, tags decide what it can read. Two AWS limits break tag-only designs, and prefix policies run out at about 60 tenants.","2026-11-03",[10,11,12,13],"s3","iam","governance","access-control",{"_path":15,"title":16,"description":17,"date":18,"tags":19},"\u002Fblog\u002Fassumerole-chaining-one-hour-ceiling","Chained AssumeRole sessions stop at one hour, silently","A role that assumes another role gets 3600 seconds, whatever its MaxSessionDuration allows. The exact error, and the batch job that dies at minute 61.","2026-11-02",[10,11,20,21],"sts","aws",{"_path":23,"title":24,"description":25,"date":26,"tags":27},"\u002Fblog\u002Fpresigned-post-enforce-size-content-type","Presigned POST: cap size and type before the upload starts","A presigned PUT signs a URL, not a byte count. A POST policy adds a size range and a content-type condition that S3 enforces while the body arrives.","2026-11-01",[10,28,29],"security","uploads",{"_path":31,"title":32,"description":33,"date":34,"tags":35},"\u002Fblog\u002Fpresigned-url-seven-day-ceiling","Presigned URLs expire at seven days. Then what?","Seven days is not a setting: it is how long the SigV4 signing key lives. What happens at that wall, and the three patterns that outlive it.","2026-10-31",[10,28,36],"presigned-urls",{"_path":38,"title":39,"description":40,"date":41,"tags":42},"\u002Fblog\u002Fbucket-policy-allow-still-denied","When two policies allow and the request still fails","S3 returns AccessDenied even when the bucket and IAM policies both allow. Here is the five-gate evaluation order and where the hidden deny sits.","2026-10-30",[10,11,28,13],{"_path":44,"title":45,"description":46,"date":41,"tags":47},"\u002Fblog\u002Fs3-explorer-walkthrough","S3 Explorer walkthrough: zero to browsing in 5 minutes","A step-by-step walkthrough of S3 Explorer against a live S3 endpoint: pick a provider, test, browse buckets, inspect metadata, read request metrics.",[10,48,49,50],"tutorial","tooling","seaweedfs",{"_path":52,"title":53,"description":54,"date":41,"tags":55},"\u002Fblog\u002Fs3-total-cost-of-ownership","The real cost of S3: 8 providers compared, egress included","Storage is 20% of your bill. We modelled 8 S3 providers across 4 workloads — backup, app, media, DR — with storage, egress, requests and replication.",[10,56,57,58],"pricing","cloud","cost-optimisation",{"_path":60,"title":61,"description":62,"date":41,"tags":63},"\u002Fblog\u002Fwelcome","Why we write about S3, and how this blog is made","Object storage is everywhere and most advice about it is stale. What this blog covers, how each article is sourced, and what we measure to know it helped.",[10,57],[65,67,69,71,73,75,77,79],{"tags":66},[10,11,12,13],{"tags":68},[10,11,20,21],{"tags":70},[10,11,28,13],{"tags":72},[10,28,29],{"tags":74},[10,28,36],{"tags":76},[10,48,49,50],{"tags":78},[10,56,57,58],{"tags":80},[10,57],1793734272685]