如何利用CockroachDB和Satori加强数据安全

239 阅读7分钟

CockroachDB帮助小型到大型企业在全球范围内管理他们的交易数据,具有高可用性,同时提供多云和混合防灾能力。许多客户信任CockroachDB来存储PII或组织上的敏感数据,并通过产品中原有的数据安全功能来保护这些数据。但是有一些需求需要重新想象如何看待不同规模的数据安全--跨越不同的业务部门或团队,跨越多个CockroachDB集群,或跨越多种类型的数据存储,包括OLTPOLAP

为了应对这样的挑战,我们很高兴能与Satori建立伙伴关系,为我们的客户提供联合解决方案。Satori是一个DataSecOps平台,使企业能够简化敏感数据的访问,缩短提供数据访问的时间,同时增强安全功能。

CockroachDB的安全心理模型

在深入探讨联合解决方案所解决的具体挑战之前,让我们先捋一捋我们对CockroachDB的安全思考的背景概述。你会注意到,大多数 "快速 "或 "打破性能基准 "的数据库要么把安全问题作为一个障碍来解决,要么就是事后才考虑。但在Cockroach Labs,我们认为安全源于应用团队和他们的用户在数据库中存储他们的PII、PHI或其他机密数据时的信任,这也是使用数据库时的一项基本权利。为此,我们的安全心理模型是基于4个关键支柱的。

Security mental model for CockroachDB

  • 身份和访问管理(IAM)--基于SAMLOIDC等标准的用户认证,根植于最小特权原则的授权,避免特权升级,以及简化的身份供应和撤销。
  • 数据保护和隐私--客户数据在休息和传输过程中的加密,不仅仅是对集群磁盘进行加密,能够掩盖或匿名敏感数据,同时进行适当的分类,使用云提供商的IAM来访问云原生资源。
  • 网络安全 - 云提供商原生的VPC对等或PrivateLink连接到集群,在连接到客户资源进行备份、更改数据捕获等时进行周边控制。
  • 合规性 - 监管或特定行业的合规性认证,SaaS安全控制和信息安全流程。

Satori的优势在哪里?

当我们审视CockroachDB的安全功能,以及我们最具安全意识的客户在未来的需求时,我们分析到,跨越IAM和数据保护与隐私支柱的新一类增强型数据安全功能将帮助我们的客户在数据库中建立更高的信任度。我们意识到,与Satori的优秀团队合作将帮助我们带来更多的创新解决方案,因为他们专注于更广泛的OLTP和OLAP领域的相关问题,而与Satori的合作使我们能够更快地为客户提供这些功能。

细致的访问控制

客户管理员可以使用Satori以可扩展的方式配置细粒度的访问控制,包括跨用户的行和列级安全,同时使用无代码策略和基于角色的访问控制(RBAC)或基于属性的访问控制(ABAC)。

客户还可以在CockroachDB中为不同类别的行和列级控制创建单独的数据库视图。虽然这种方法可能会带来规模上的挑战,如果企业中的用户类别数量增加,或者应用团队需要一个机制来在多个集群中执行类似的控制。

数据屏蔽和匿名化

应用程序或安全团队可以使用Satori配置PII或PHI数据屏蔽,以可扩展的方式在其用户和集群中设置不同类别的允许性和限制性配置文件,同时也使用无代码策略。这可以与细粒度的访问控制能力相结合,因为通常情况下,客户需要解决这两个要求。

客户也可以使用DIY解决方案,在将数据写入CockroachDB之前,在应用或客户端对其进行屏蔽。但是,如果最低限度的高权限用户需要查询未屏蔽的或匿名的数据,以达到审计的目的,那么这种做法就会有太多的限制。从CockroachDB的22.1版本开始,如果客户想要一个更加本地化的解决方案,他们可以选择使用pgcrypto中的hmac()和digest()函数。

一站式的数据访问审计

安全/风险团队和管理员可以使用Satori来配置可扩展的数据访问审计,以获得具有丰富元数据和上下文信息的审计信息。当有多个集群或包括CockroachDB在内的不同类型的数据存储时,使用这种能力的理由更充分。

如果客户想要一个更本源的解决方案,他们也可以使用CockroachDB的SQL审计日志功能。

我们的建议

正如你所看到的,对于上述要求,既有专门的CockroachDB,也有Satori集成的解决方案。对于你的企业来说,正确的方法取决于你的规模、用例的复杂性和成熟度。我们的建议是。

  • 如果你对几组用户类别或数据访问配置文件有特别的要求,并且你想为几个集群进行设置,那么就使用CockroachDB特定的解决方案。
  • 如果你对几组用户类别或数据访问配置文件有混合的要求,或者你想在几个集群上扩展这些要求,那么就使用Satori集成的解决方案。

Satori和CockroachDB的整合如何进行?

CockroachDB and Satori Integration Architecture

客户只需将Satori的数据访问控制器(DAC)放在用户和应用与CockroachDB集群之间。Satori DAC作为一个透明的代理,在写和读的过程中应用配置好的控制,而不需要在数据库集群中做任何改变。它只是在工作。

根据不同的要求,一些客户可以选择只通过Satori DAC路由人类用户流量,而允许应用程序的流量直接进入数据库集群。原因可能包括应用程序需要看到所有的数据,或者不需要因为Satori DAC拦截应用程序的流量而产生哪怕是最低限度的延迟(达到个位数毫秒的数量)。重点是,该架构可以根据具体需求灵活运用。为了确保CockroachDB的相关流量只通过Satori DAC(也可以选择来自应用程序),我们建议在GCP上使用VPC对等,或在AWS上使用PrivateLink,或在任何一个云上使用IP Allowlisting

部署模式是什么?

CockroachDB和Satori的合作是在科技的天堂,因为两个产品都有类似的产品或部署模式,很适合彼此。

而且,根据客户的独特需求,可以将CockroachDB和Satori的产品混合在一起。

如何开始使用Satori和CockroachDB?

如果你还没有一个CockroachDB集群,你可以从这里开始。一旦集群建立起来,就可以在Satori试运行中尝试整合。它只需要不到5分钟就可以启动和运行。

如果你遵循这些步骤,用CockroachDB设置Satori是超级简单的,而且不需要停机。

  1. 如果你还没有一个Satori账户,请注册一个试驾账户。
  2. 在导航栏中选择 "数据存储"。
  3. 使用你的CockroachDB集群的主机名添加一个CockroachDB数据存储。
  4. 用你最喜欢的客户端、脚本或BI工具连接到你的CockroachDB集群,使用Satori中显示的新主机名。

我们也鼓励你观看Satori数据领袖峰会的这一会议,我们在会上提供了整合的概述,并通过演示来展示它。