【问题标题】:How to provide credentials to a service which is need to use an thirdparty service如何向需要使用第三方服务的服务提供凭据
【发布时间】:2021-06-07 10:53:01
【问题描述】:

我需要一些关于架构设计或最佳实践方法的建议。 我有一项服务需要一些第三方服务的凭据。 Webapp 使用的我的服务当前将此凭据以加密模式保存在数据库中。 WebApp 和 MyService 将通过 MessageQueue (RabbitMQ) 进行通信。

如何从网络应用程序向我的服务提供这些凭据。或者我应该完全改变设计以及如何改变?

提前致谢

韩语 帖木儿

【问题讨论】:

    标签: authentication architecture microservices


    【解决方案1】:

    这是一个复杂的领域,不同的人对如何做到这一点有不同的想法;您设计的问题在于,可以嗅探您的 Web 应用程序和您的服务之间的流量的攻击者可以访问您的密钥。 您的应用程序和服务之间也有紧密的耦合,以及在开发、质量保证和生产环境之间管理凭据的所有乐趣。

    许多托管策略包括为此目的的“密钥管理服务器” - 例如,AWS 有 https://aws.amazon.com/kms/。我建议阅读他们的用例。

    另一个流行的解决方案是将密钥存储在环境变量中,并将它们作为构建/部署管道的一部分进行管理。

    最后,一些框架(例如 Ruby on Rails)将这些详细信息存储在凭据文件中,并具有用于在源代码控制流程之外管理它们的工作流。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-21
      • 1970-01-01
      • 2015-05-03
      • 1970-01-01
      相关资源
      最近更新 更多