I want to copy an S3 bucket as faithfully as possible (e.g., copying all permission settings).
The standard:
aws s3 sync s3://old-bucket s3://new-bucket --source-region us-west-1 --region us-west-2
only copies data.
How can one copy an S3 bucket as faithfully as possible (e.g., copying all permission settings)?
Using the same infrastructure as code that created the first bucket if it was created using IAC. However, I have both types of buckets in my personal AWS account, IAC and manual.
When you create a new bucket in the S3 console it asks you if you want to copy the settings of an existing bucket, which addresses half your question.
To copy objects you could try setting up S3 bucket replication, including using this blog post for instructions how to copy existing objects - usually replication only copies new objects after replication is set up. If that doesn't work you could try CLIv2 "aws s3 sync" from bucket to bucket, not sure if that works, but it will copy everything via the machine you run that command on - EC2 would be a lot faster, cheaper and more efficient than a home PC.
use rclone tool and set the ACL option you want.
you read about the options here.
When creating a bucket via the AWS console, one may choose to copy settings from an existing bucket: