关于学说 orm:Symfony 2.7 应用程序审计跟踪 – 最佳实践

Symfony 2.7 application audit trail - Best practicies

我有一个大型的多租户 Symfony2 应用程序,它使用教义和 MySQL 中大约 40 到 50 个数据库表。

有没有人有过设置审计日志记录流程的经验,以至少跟踪在大型应用程序中创建、编辑或删除数据的所有 Doctrine 操作?

理想情况下,它应该"刚刚发生",这样其他开发人员就不必担心让他们的新实体或代码"可记录"。

我没有要满足的特定要求(HIPAA 等),但我希望尽可能接近任何 ISO27000 最佳实践。

我最初的计划是考虑使用一些 Doctrine 生命周期回调来获取信息并将其推送到没有 DELETE 或 UPDATE 权限的单独 MySQL 数据库中。我担心这种方法可能会对性能产生很大影响。

以前有没有人这样做过或类似的事情对我计划的方法有任何提示或警告?

如果重要的话,整个堆栈都在 AWS 上运行,我可以在 EU-WEST-1 区域使用他们的任何服务。我已经在使用 RDS、Elasticache 和 SQS。

谢谢!


OroPlatform 是在 Symfony 2.8 中构建的,并且有一个名为 OroDataAuditBundle 的包,它仅在两个表中深入审计所有 Doctrine 实体操作(创建、更新、删除):oro_auditoro_audit_field

enter