我们正在构建一个支持集成的 SaSS 平台。每个客户都有多个集成。我们不希望将这些集成令牌存储在一个集中位置,这样所有客户的所有令牌都只有一个访问点。
我们目前的方法是为每个客户运行单独的服务器,并拥有单独的托管帐户。这意味着,为了访问所有 N 个客户帐户,您必须知道 N 组凭据。访问这些帐户的唯一方法是通过我们团队的设备与某人进行物理访问。
显然这不是最具可扩展性的解决方案......
我们考虑在一个帐户下拥有 N 个 EC2 实例 - 它们需要物理 PEM 文件才能访问我们喜欢的服务器 - 但您可以从一个帐户重新生成新的 PEM 文件,因此仍然只有一个访问点。
关于如何做到这一点,网上的结果出奇地少,甚至没有——大概是因为公司只是以集中的方式存储这些信息。我们认为这尤其重要,是因为我们的数据库和系统相对不敏感,但所有这些集成帐户都很敏感(即 Quickbooks)。
我们限制每个集成令牌能够执行的操作,但如果没有单一的访问点,那就最好了。
对于这种情况,有没有什么好的先例或者关于我们如何更好地解决这一问题的建议?
我们正在寻找一些东西:
- 安全(除员工物理设备上的密钥/密码外,没有单一访问点)
- 可扩展(每个客户端的开销低,易于更改架构)
答案1
有点像购物问题,但也许是类似 hashicorp 边界的问题。您使用 Vault 来存储机密,并且您拥有身份管理和代理,可以根据该身份进行身份验证和授权访问。根据您具体在做什么,代理 + Vault 组合实际上可以将敏感机密完全置于开发人员/员工的手中。
可能还有其他产品可以做类似的事情,我不确定我是否完全理解您的用例。