示例:我有一个应用程序需要访问提供身份验证令牌的 API
myApi = MyApi(token=my_private_sensible_token)
我想避免在属于项目一部分的配置文件中包含该私有令牌。
我想到的一个解决方案是在一个单独的代理应用程序中隔离与此服务的交互,该代理应用程序由有限数量的授权人员维护。应用程序引擎允许通过身份验证保护处理程序,并且我可以轻松地在代理中仅允许来自授权应用程序引擎消费者应用程序的调用。
我能想到的不同解决方案,在某些时候都使这个私有令牌在消费者应用程序内存中可用,这可能允许恶意用户(维护消费者)编写一个处理程序,以某种奇特的方式打印出这个秘密令牌应用程序已检索。
您有更好的建议吗?
另一种可能的方法是拥有 2 个应用程序副本(实际上是 2 个不同的应用程序其中恰巧具有相同的代码),每个都有自己的 app_ID、配置文件等:
- one for 开发/分期,可通过更大的开发
团队
- one for 生产-(可能从同一个 SCM 存储库克隆/分叉,也许是私有分支?)只能由受信任的开发人员访问,并覆盖/更新配置文件的内容以进行生产部署
除了限制对生产凭据的访问之外,此类设置还可以提供其他好处,例如:
- 能够使用 CI 系统,其中包括在很接近到生产环境
- 更严格地控制生产部署
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)