【问题标题】:Symfony 2.7 application audit trail - Best practiciesSymfony 2.7 应用程序审计跟踪 - 最佳实践
【发布时间】:2016-02-23 23:24:54
【问题描述】:

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

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

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

我没有要满足的特定要求(HIPAA 等),但如果我能尽可能地接近任何 ISO27000 最佳实践,那就太好了。

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

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

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

谢谢!

【问题讨论】:

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


【解决方案1】:

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

在 UI 中看起来像这样:

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

如果您想检查此审核系统是否正常工作,他们在https://demo.orocrm.com 中有一个在线演示。只需以管理员身份登录并尝试创建条目,然后您就可以检查https://demo.orocrm.com/audit中的所有审核条目。

【讨论】:

    猜你喜欢
    • 2010-11-07
    • 1970-01-01
    • 2012-10-10
    • 2011-05-06
    • 2013-04-10
    • 1970-01-01
    • 2012-05-01
    • 2011-10-03
    • 1970-01-01
    相关资源
    最近更新 更多