No se pueden eliminar copias de seguridad - Aws::S3::Errors::AccessDenied en registros

Administro varias instancias de Discourse, todas autoalojadas. Todas tienen copias de seguridad en Amazon S3, y configuré un usuario y una política IAM personalizados para cada foro, lo que da acceso a un solo bucket S3.

Algunos de los foros no eliminan las copias de seguridad antiguas, mientras que otros lo hacen correctamente. No parece estar relacionado con la configuración del sitio, que es prácticamente la misma. Tiendo a limitar el número de copias de seguridad conservadas a 10-20, y la copia de seguridad se realiza cada noche.

Las instancias que se comportan de forma incorrecta tienen lo siguiente en común:

  • Las credenciales de AWS funcionan bien para la creación de nuevas copias de seguridad y la lista de las existentes, pero generan errores de ‘acceso denegado’ al intentar eliminar.
  • Todas las instancias están en la última versión tests-passed (actualizada hoy) 3.3.0.beta5-dev.
  • No eliminan automáticamente las copias de seguridad antiguas, incluso aquellas que están mucho más allá de la fecha en que deberían haber sido eliminadas.
  • No parecen responder a ninguna combinación de configuraciones del sitio, por ejemplo, maximum backups, remove older backups, s3 disable cleanup o cualquier otra.
  • La eliminación de las copias de seguridad antiguas en la interfaz de administración de Discourse no funciona; hay un Aws::S3::Errors::AccessDenied en los registros.
  • La eliminación manual en AWS funciona (obviamente), pero es una solución temporal.

Solo busco entender cómo podría depurar esto más a fondo.

Las políticas JSON para los usuarios IAM son todas idénticas, aparte del nombre del bucket. Las políticas claramente funcionan para la creación y carga de nuevas copias de seguridad.