将每个客户的 Stripe 配置存储在 SaaS 应用程序中

Tur*_*Ali 7 sensitive-data stripe-payments

网站构建器 SaaS 应用程序具有一项功能,可让客户将其 Stripe 帐户连接到其网站并接收资金。该 SaaS 应用程序的每个用户(网站所有者)都有一个 Stripe 帐户。

在应用程序的开发阶段,我们只是以加密的方式将每个客户的 Stripe 公钥/私钥存储在内部数据库中。但即使它是加密的,这也不是我们在生产环境中采用的方法。

在数据库中安全地存储每个帐户的敏感 Stripe 配置的正确方法是什么?

Sar*_*ATM 2

使用 Stripe 的受限 API 密钥

\n

Stripe 具有受限制的 API 密钥,允许 Stripe 的客户向密钥授予权限子集,然后可以与第三方服务共享该密钥。

\n

来自 Stripe 的文档https://stripe.com/docs/keys#limit-access

\n
\n

使用受限 API 密钥限制访问受限 API 密钥仅允许您指定的最低访问级别。受限密钥\n无法与 Stripe\xe2\x80\x99s API 的许多部分交互,旨在\n降低使用或构建微服务时的风险。在 Stripe 集成的开发过程中,\n它们不应该被\n用作帐户\xe2\x80\x99s API 密钥的替代品。

\n

如果您\xe2\x80\x99 使用代表您与 Stripe API 交互的微服务,请使用受限 API 密钥。您可以创建受限\nAPI 密钥,以限制对特定帐户\n数据的访问和权限。例如,您可以创建一个授予对争议数据的只读访问权限的受限密钥,然后将其与争议监控服务一起使用。

\n
\n

存储受限制的 API 密钥/鼓励密钥轮换

\n

这些受限密钥的安全风险比类似于“root”访问的完整 API 密钥要小得多。这些受限密钥的加密存储可以满足您的安全需求。此外,向您的客户传授最佳实践(包括 API 密钥轮换)将有助于降低风险并与客户分担风险。

\n