Impossibile eliminare i backup - Aws::S3::Errors::AccessDenied nei log

Gestisco diverse istanze di Discourse, tutte self-hosted. Tutte hanno backup su Amazon S3 e ho configurato un utente IAM personalizzato e una policy per ogni forum, che concede l’accesso a un solo bucket S3.

Alcuni forum non eliminano i vecchi backup, mentre altri lo fanno correttamente. Non sembra essere correlato alle impostazioni del sito, che sono tutte praticamente uguali. Tendo a limitare il numero di backup conservati a 10-20, e il backup viene eseguito ogni notte.

Le istanze che si comportano male hanno in comune quanto segue:

  • Le credenziali AWS funzionano bene per la creazione di nuovi backup e l’elenco di quelli esistenti, ma generano errori ‘access denied’ quando si tenta di eliminarli.
  • Tutte le istanze sono sull’ultima versione tests-passed (aggiornata oggi) 3.3.0.beta5-dev.
  • Non eliminano automaticamente i vecchi backup, anche quelli che sono ben oltre l’età in cui avrebbero dovuto essere eliminati.
  • Non sembrano rispondere a nessuna combinazione di impostazioni del sito, ad esempio maximum backups, remove older backups, s3 disable cleanup o altro.
  • L’eliminazione dei vecchi backup nell’interfaccia di amministrazione di Discourse non funziona: nei log viene visualizzato un Aws::S3::Errors::AccessDenied.
  • L’eliminazione manuale in AWS funziona (ovviamente), ma è una soluzione temporanea.

Sto solo cercando di capire come potrei procedere per eseguire ulteriori debug.

Le policy JSON per gli utenti IAM sono tutte identiche, a parte il nome del bucket. Le policy funzionano chiaramente per la creazione e il caricamento di nuovi backup.