How do permissions with Versioning work?
READ PERMISSIONS ON VERSIONS: Every version of an object retains the READ permissions that were granted by the creator of that version. Therefore, having READ permissions on the most recently written version of an object does not imply having READ permissions on a prior version of that object. Users with WRITE_ACP permissions on that prior version must grant you READ permissions to view it. READ PERMISSIONS ON BUCKET: Users with READ permissions on your bucket are able to perform a LISTVERSIONS operation to list all versions of every object within your bucket. This list will include the Delete Markers within your bucket, indicating who deleted an object and when. WRITE PERMISSIONS ON BUCKET: Users with WRITE permissions on a bucket can PUT new versions and perform DELETE operations. Performing a DELETE operation creates a Delete Marker and ensures that a subsequent version-unaware GET, LIST, or COPY operation on that object will return a 404 error. However, it does not permanently dele