Azure Key Vault最佳做法

Azure Key Vault最佳做法,azure,security,azure-keyvault,Azure,Security,Azure Keyvault,我们正在开发一个Azure多租户web服务门户,用于调用外部API服务。每个被调用的web服务可能都有oAuth参数,如端点、客户端Id、机密等。目前,我们有两种工作代码: 使用SQL存储这些参数;及 使用json配置文件来维护运行时参数。我想提供Azure密钥库解决方案,但在同一密钥库中同时拥有客户端ID和客户端机密似乎是不明智的 此外,我们的多租户模型中有许多订阅者,每个订阅者可能都有一个特定的配置(例如:Solr集合名称、SQL Db连接字符串等)我想知道是否可以将这些运行时参数组合起来,

我们正在开发一个Azure多租户web服务门户,用于调用外部API服务。每个被调用的web服务可能都有oAuth参数,如端点、客户端Id、机密等。目前,我们有两种工作代码:

  • 使用SQL存储这些参数;及
  • 使用json配置文件来维护运行时参数。我想提供Azure密钥库解决方案,但在同一密钥库中同时拥有客户端ID和客户端机密似乎是不明智的
  • 此外,我们的多租户模型中有许多订阅者,每个订阅者可能都有一个特定的配置(例如:Solr集合名称、SQL Db连接字符串等)我想知道是否可以将这些运行时参数组合起来,让客户拥有自己的Vault,这当然需要客户作为SaaS供应商与我们共享访问权限。我们希望为我们的订阅者提供最佳安全实践,其中许多是FinTech。非常感谢您的建议。

    “但是在同一个密钥库中同时拥有客户ID和客户机密似乎是不明智的。”

    为什么要将它们存储在同一个数据库或JSON中—安全性要差得多

    你有没有看过,这是目前最好的合并服务的方式

    如果您离公路太远,请使用KeyVault。使用MSI(托管服务标识)从应用程序服务/功能应用程序连接,限制访问密钥、机密、获取、列表、读取和写入。限制通过防火墙的访问。确保记录了所有诊断

    如果您需要每个客户机模型而不是多租户,那么为每个客户机部署单独的门户或API管理实例。每个客户端的维护成本更高,也更复杂,但更安全,因为您可以在许多方面强制执行物理分区