我导出数据时是否应该加密App Engine实体密钥?

时间:2011-10-14 03:14:35

标签: google-app-engine

我目前正在从App Engine(到csv文件)导出数据,以便一些研究生可以根据数据分析和构建模型。我导出的数据包括非机密属性和包含机密数据(电子邮件地址,名称等)的少数模型的实体密钥。我的目标是生成一个可以公开共享和分析的数据集,而不会在我共享密钥的其他实体中暴露任何私有数据。

我开始计划加密所有实体密钥以对数据进行匿名化,但后来我意识到未加密的密钥可能对任何人都没有任何价值,只要我的应用程序永远不会暴露任何基于实体密钥的数据。我的应用程序仅根据每个实体的ID公开个人可识别数据。

有没有理由关注为实体共享App Engine密钥?如果没有任何网址根据密钥返回任何信息,匿名用户是否可以使用实体密钥?

1 个答案:

答案 0 :(得分:2)

授权密钥包含应用名称,实体名称(以及任何父级)和实体的数字ID。

如果您的应用未公开所引用实体的数据,那么您就可以了。

这是google文档中的链接: http://code.google.com/intl/de-DE/appengine/docs/python/datastore/entities.html

关于db.Key()的更具体的文档:http://code.google.com/intl/de-DE/appengine/docs/python/datastore/keyclass.html

“注意:字符串编码的密钥可以转换回原始密钥数据。这使得在知道其他密钥时很容易猜到。虽然字符串编码的密钥值可以安全地包含在URL中,但应用程序应该只有在关键可猜测性不成问题时才这样做。“