Question

How to set spaces ACL to public

Posted November 26, 2019 441 views
DigitalOcean Spaces

So I set up a space with CDN.
When I copy files to it, they become private by default.

So I set the bucket ACL to public read:

aws s3api --endpoint=https://fra1.digitaloceanspaces.com put-bucket-acl --acl public-read --bucket $MYBUCKETNAME

When I read it back it is indeed public:

aws s3api --endpoint=https://fra1.digitaloceanspaces.com get-bucket-acl --bucket $MYBUCKETNAME
{
    "Owner": {
        "DisplayName": "REDACTED", 
        "ID": "REDACTED"
    }, 
    "Grants": [
        {
            "Grantee": {
                "Type": "Group", 
                "URI": "http://acs.amazonaws.com/groups/global/AllUsers"
            }, 
            "Permission": "READ"
        }, 
        {
            "Grantee": {
                "Type": "CanonicalUser", 
                "DisplayName": "REDACTED", 
                "ID": "REDACTED"
            }, 
            "Permission": "FULL_CONTROL"
        }
    ]
}

However, when I copy new files to the bucket, they’re still set to ‘private’. I have to do a recursive set per file, but this takes a long time.

s3cmd setacl s3://$MYBUCKETNAME/ --acl-public --recursive

How can I set the default ACL to public so that new files are public by default?

edited by MattIPv4
0 answers
Submit an answer

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!