Symfony 2.7应用程序审计跟踪 - 最佳实践

时间:2015-11-21 14:01:01

标签: symfony doctrine-orm doctrine audit audit-trail

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

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

理想情况下它应该“恰好发生”,以便其他开发人员不必担心使他们的新实体或代码“可记录”。

我没有具体的要求(HIPAA等),但是尽可能接近任何ISO27000最佳实​​践是很好的。

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

有没有人在此之前做过这样的事情,或者有任何类似的事情,我的计划方法有任何提示或警告的话?

如果重要的是整个堆栈在AWS上运行,我可以在EU-WEST-1区域使用他们的任何服务。我已经在使用像RDS,Elasticache和SQS这样的东西了。

谢谢!

1 个答案:

答案 0 :(得分:2)

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

enter image description here

在UI中看起来像这样:

enter image description here

您可能无法在项目中使用此捆绑包 - 因为它是为OroPlatform构建的 - 但是,您至少可以从他们的架构中获得灵感。

如果您想检查此审核系统是否有效,他们会在https://demo.orocrm.com中进行在线演示。只需以管理员身份登录并参与创建条目,然后您就可以检查https://demo.orocrm.com/audit中的所有审核条目。

相关问题