在django模型中匿名化数据的应用程序。

django-anonymizer的Python项目详细描述


下载:http://pypi.python.org/pypi/django-anonymizer

简介

此应用程序可帮助您匿名化用于开发django的数据库中的数据。 项目。

在开发过程中,通常使用与 满足于真实的数据。问题是这会导致 开发机器上的敏感客户数据。这个django应用程序帮助 提供一种简单且可自定义的方式来匿名化模型中的数据。

基本方法是遍历指定的所有模型,并生成 所有指定字段的伪数据。对模型的反思将产生 一个匿名者试图为每个字段提供合理的假数据, 让你根据自己的需要调整。

请注意,所提供的方法可能无法提供完整的 匿名。即使你匿名透露客户的姓名和其他细节, 很可能有足够的数据来识别它们。中记录之间的关系 数据库不会被更改,以便保留特征结构 应用程序中的数据,但这可能会导致信息泄漏 这可能不适合您的数据。这个应用程序应该是好的 足够执行更简单的策略,如“从 数据库'。

实际测试数据量问题的另一种方法 开发/测试是从头开始填充数据库-请参见django-poseurdjango-mockupsdjango-eadreddjango-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

初始版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
丢失线程时发生java异常   递归获取运行Java递归方法的最终else语句   没有正则表达式的Java字符串解析   带连接表的java JPA CriteriaBuilder   java如何在opengl中绘制许多小位图   java如何连接Genymotion和Appium?需要通过Genymotion emulator中的appium而不是安卓 avd打开安卓应用程序   java算法:整数太大   java排序“索引”数组   java将一个Linkedlist中的所有元素追加到另一个列表的末尾   读取pem格式的公钥时发生java错误   带有非OSGi应用程序的java Eclipse本机启动器   java Alljoyn交叉编译:Scons返回不存在的变量“Alljoyn_jar”   java自定义ID生成器并保存到文件   如何在java中解码Unicode编码?