部署app-engine应用程序时如何处理敏感配置信息?

时间:2015-07-10 08:51:58

标签: python security google-app-engine deployment webapp2

示例:我有一个应用程序需要访问提供身份验证令牌的API

myApi = MyApi(token=my_private_sensible_token)

我想避免在属于项目的配置文件中使用该私有令牌。

我们想到的一个解决方案是在由有限数量的授权人员维护的单独代理应用程序中隔离与此服务的交互。应用引擎允许通过身份验证保护处理程序,我可以在代理中轻松地仅允许来自授权的应用引擎消费者应用程序的呼叫。

我能想到的不同解决方案,在某些时候都会在消费者应用程序内存中使这个私有令牌可用,这可能允许恶意用户(维护消费者)编写一个处理程序,打印出这个秘密令牌应用程序检索到的奇特方式。

你有更好的建议吗?

1 个答案:

答案 0 :(得分:1)

另一种可能的方法是拥有2个应用程序副本(实际上有2个不同的应用程序碰巧具有相同的代码),每个应用程序都有自己的app_ID,配置文件(s)等:

  • 一个用于开发/暂存,可由更大的开发人员访问 队
  • 一个用于生产 - (可能是从相同的SCM仓库克隆/分叉,可能是私有分支?)只能由可信任的开发人员访问,并且配置文件的内容会被覆盖/更新以进行生产部署

此类设置除了限制对生产凭证的访问外,还可以提供额外的好处,例如:

  • 使用CI系统的能力,包括在非常接近上自动部署到生产环境
  • 更严格地控​​制生产部署