在django模型中匿名化数据的应用程序。
django-anonymizer的Python项目详细描述
下载:http://pypi.python.org/pypi/django-anonymizer
简介
此应用程序可帮助您匿名化用于开发django的数据库中的数据。 项目。
在开发过程中,通常使用与 满足于真实的数据。问题是这会导致 开发机器上的敏感客户数据。这个django应用程序帮助 提供一种简单且可自定义的方式来匿名化模型中的数据。
基本方法是遍历指定的所有模型,并生成 所有指定字段的伪数据。对模型的反思将产生 一个匿名者试图为每个字段提供合理的假数据, 让你根据自己的需要调整。
请注意,所提供的方法可能无法提供完整的 匿名。即使你匿名透露客户的姓名和其他细节, 很可能有足够的数据来识别它们。中记录之间的关系 数据库不会被更改,以便保留特征结构 应用程序中的数据,但这可能会导致信息泄漏 这可能不适合您的数据。这个应用程序应该是好的 足够执行更简单的策略,如“从 数据库'。
实际测试数据量问题的另一种方法 开发/测试是从头开始填充数据库-请参见django-poseur、django-mockups、django-eadred和django-autofixture。不利于 这种方法是数据的结构-根据相关的模型-可以 不切实际。
用法
快速概述(有关更多信息,请参阅文档,在文档/或上 <;http://packages.python.org/django-anonymizer>;)。
使用setup.py或pip/easy_安装。
将“匿名者”添加到您的INSTALLED_APPS设置中。
为匿名者创建一些存根文件:
./manage.py create_anonymizers app_name1 [app_name2...]
这将在您指定的每个应用程序中创建一个文件anonymizers.py。 (它不会覆盖现有文件)。
编辑生成的anonymizers.py文件,调整或删除为 必须使用模块anonymizer.replacers中的函数 自定义函数。
运行匿名者:
./manage.py anonymize_data app_name1 [app_name2...]
这将破坏性地更新您的所有数据。确保你只在 你的数据库副本,风险自负,亚达亚达。
注意:您的数据库实际上可能不会从磁盘中删除更改的数据 更新字段时。对于postgresql,您将需要完全真空 删除这些数据。
即使这样,您的操作系统也不能从 磁盘。适当地去除这些痕迹是留给 读卡器:-)
测试
要运行测试套件,请在包含 自述文件:
./manage.py test anonymizers
或:
./manage.py test anonymizers.tests
版本0.5.1
- 为anonymizer.py文件添加了Unicode兼容性
- 现在使用通用车轮
- 添加了新的维护程序
版本0.5
- python 3兼容性
版本0.4
将“anonymizer.attributes”更改为要求列出每个字段。这是 在模型更新时处理常见的安全问题,但是 匿名者未更新。
不应匿名的字段应指定特殊值“skip” 作为“替代者”。
属性现在必须是元组列表,而不是字典。
版本0.3
- 支持DecimalField。
- 改进的文档。
- 添加测试
版本0.2
- 将属性的格式从字典更改为2元组列表 (具有向后兼容性-不推荐使用以前的格式)。
- 修正了有时使用名称/用户名/电子邮件的小错误未在中生成 对应的集合,因为unique=true的字段没有(可靠地)集合 在其他领域之前。
- 添加了文档。
版本0.1.2
- 更改了“varchar”字段,以便在运行时进行最大长度的自省。 这会破坏函数的前一个签名。
- 引入了“replacers”模块和新的快捷方式。
版本0.1.1
- 删除了一些调试代码
- 在内省中更好地处理slugfield和skipped字段
版本0.1
初始版本