Ale*_*lex 3 python django google-app-engine google-cloud-datastore
我需要让App Engine应用程序与外部数据库通信并共享数据,
我能提出的最佳选择是将外部数据库数据输出到xml文件,然后在我的应用程序引擎应用程序中处理它并将其存储在数据存储区中,
虽然共享的数据是敏感数据,例如登录详细信息,因此将其输出到xml文件并不是一个好主意,应用引擎应用程序是否可以直接查询数据库?或者是否有使用xml文件的安全选项?
哦,即时通讯使用python/django,外部数据库将托管在另一个域上
Google Apps的安全数据连接器(SDC)专为此类任务而设计 - 实际上,它甚至适用于"其他数据库"生活在防火墙(企业数据的常见情况)和其他Google Apps(Docs,电子表格,...)以及App Engine.
正如文档总结的那样,流程是:
Google Apps会将Google Apps域内用户的授权数据请求转发给Google隧道协议服务器.
隧道服务器验证用户是否有权向指定资源发出请求.Google隧道服务器通过加密隧道连接到SDC,后者在公司内部网络中运行.
隧道协议允许SDC连接到Google隧道服务器,对流经Internet的数据进行身份验证和加密.
SDC使用资源规则来验证用户是否有权向指定资源发出请求.
可选的Intranet防火墙可用于提供额外的网络安全性.
SDC对指定的一个或多个服务执行网络请求.
该服务验证签名请求,检查凭据,如果用户已获得授权,则返回数据.
如果您不必担心防火墙,并且没有任何安全担忧,您可以通过直接使用urlfetch(无隧道,无验证,无加密,无过滤,......)来简化(如Daniel的答案建议). - 但您担心"共享的数据是敏感数据,如登录详细信息"表明情况并非如此.
这不是XML与其他格式的问题 - 问题是敏感数据不应该通过不受保护的渠道"清晰"传播,也不能让所有人都可以使用,并且通常有专门的基础设施处理加密,过滤通常更好和SDC一样,授权问题,而不是必须在您自己的应用程序或专用基础架构中间件中编写所有这些(并使其完全安全和锁定).出于这些目的,SDC可能非常有用,即使您只需要其一小部分功能.