【发布时间】:2015-07-10 08:51:57
【问题描述】:
示例:我有一个应用程序需要访问提供身份验证令牌的 API
myApi = MyApi(token=my_private_sensible_token)
我想避免在作为项目一部分的配置文件中包含该私有令牌。
想到的一个解决方案是将与此服务的交互隔离在一个单独的代理应用程序中,该代理应用程序由有限数量的授权人员维护。 App-engine 允许通过身份验证保护处理程序,我可以在代理中轻松地只允许来自授权的 app-engine 消费者应用程序的调用。
我能想到的不同解决方案,在某些时候都使这个私有令牌在消费者应用程序内存中可用,这可能允许恶意用户(维护消费者)编写一个处理程序,打印出这个秘密令牌,在某些情况下应用程序检索的奇特方式。
你有更好的建议吗?
【问题讨论】:
-
问题是,无论您做什么,只要代码能够获取它,有权访问该代码的恶意开发人员也将能够从您的代理获取它。
-
@ZigMandel 使用代理方法只有代理知道与服务交互的秘密令牌,消费者不需要知道它。代理应由一小部分授权人员维护
-
其他开发者仍然可以通过伪装成有效用户来滥用代理。但是是的,代理减少了隐藏实际秘密的开发人员数量(但不是滥用)
-
@ZigMandel 好的,清楚
标签: python security google-app-engine deployment webapp2