Ecco un esempio di ciò: Discourse Video Upload Plugin with YouTube and Vimeo
Nel modello degli upload è presente un campo access_control_post_id.
Credo che, se desideri permessi granulari per gli upload, risparmierai molto tempo utilizzando il codice S3 esistente—specialmente se nomi di file poco chiari non sono sufficienti—dovresti essenzialmente scrivere un intero sistema di permessi per il luogo in cui intendi archiviare i file. O forse semplicemente non ho capito.