We are trying to protect them so we can only upload the files once and we can't delete or overwrite them. We have policy in place so S3 delete the files over X days old. The idea behind this is if we are hit with ransomware the backups in S3 will survive.
That's just my two pennies' worth but you can not achieve strong ransomware protection using rclone and S3 policies only.
As already mentioned in order to do this right you have to enable S3 object locking (which implies versioning) and probably objects' retention unless you are happy to pay for forever growing storage space.
But what rclone does not support (at least today) is locking period update. When you upload new file it can be locked automatically for specified time. However in order for protection to be affective it has to be refreshed periodically - otherwise after some time old files won't be protected. It can be easily scripted though using aws-cli (aws s3api put-object-retention ...).
What rclone can help with is (beyond uploading new data) accessing past bucket versions. I have tried it myself few times and it is birlliant when I can see and use my bucket as it was at some point in the past using rclone I am familiar with.
Now for "cheap" protection substitute you can use versioning and restricted access: