3 Ways to Protect S3 Data from Deletes and Overwrites

I was recently tasked with ensuring that objects could not be accidentally deleted or overwritten in an S3 bucket. In my scenario, the bucket stores deployment artifacts. A build pipeline uploads files to the bucket, and EC2 instances download those same files during bootstrap. This task proved a bit more challenging than I expected, so I’ll do a quick walkthrough of my experience and the options…