Aerospike 提供企业级安全特性,如加密(动态和静态)、认证、授权和审计。

image

认证

Aerospike提供内部身份验证服务,并可以与外部身份验证系统(特别是LDAP)集成,以验证用户身份。Aerospike还支持Kerberos身份验证。管理员可以通过配置指定系统使用哪种方法。认证功能具有丰富的访问控制选项,包括ACL。它还支持白名单方式,这是最安全的访问控制形式之一。使用命令行创建一个新的Aerospike用户帐户很简单。Aerospike在集群中的每个节点上存储用户名和相应密码的哈希值。作为选项,管理员可以重写Aerospike的默认安全设置,将Aerospike配置为LDAP身份验证或“混合”身份验证,后者支持本地和基于LDAP的用户帐户。

授权: 角色和权限

Aerospike的用户(经过身份验证后)可以被分配到各种角色,每个角色授予一组权限。管理员还可以创建新角色,本质上是将不同的权限集合组合在一个可以分配给用户的角色下。

Aerospike提供了7个预定义的角色,用来处理管理员想要授予用户的常见权限集合:

  • 包括针对特定用户数据集的各种类型的读取操作(例如,获取记录、扫描数据集、查询数据集),也允许用户读取服务器配置数据。此外,用户还可以更改自己的密码。
  • 读/写。包括所有读取角色权限以及对特定数据集执行各种写入操作的权限。
  • 包括针对特定用户数据集的各种类型的写入操作。
  • 执行读/写/ UDF。除了读/写权限外,该角色还使用户能够直接执行用户定义的函数或执行调用UDF的查询。
  • 数据管理。包括创建和删除各种数据库对象、使用监视系统、中止扫描和查询以及更改用户密码。
  • 系统管理。除了所有数据管理权限外,该角色还支持设置动态服务器配置变量和启用专用日志记录(例如,审计)。
  • 用户管理。顾名思义,此角色用于用户帐户的管理

如果使用LDAP,Aerospike管理员将Aerospike角色链接到所需的LDAP帐户,以规范经过身份验证的用户的行为。

加密

Aerospike 原生支持动态加密(TLS 1.2)和静态加密 (AES-128 和AES-256)。

Aerospike的TLS实施解决了网络传输:

  • 客户端与服务器集群之间
  • 集群的节点之间
  • 跨服务器集群配置用于跨数据中心复制

加密静态数据可能会对性能产生影响,因此最好使用自己的数据和部署硬件对潜在影响进行基准测试。为了减少对运行时性能的影响,Aerospike会基于每个记录而不是每个磁盘扇区对数据进行加密。Aerospike使用Intel Xeon处理器进行了多次测试,这些处理器具有内置于硬件中的加密功能,可以加快运行时性能。Aerospike观察到,记录大小小于512字节的情况下,每秒事务处理(TPS)的性能下降了20%,而记录大小为1 KB或更大的记录则没有明显的性能损失。

审计追踪

跟踪系统事件的能力提供了重要的安全性和诊断能力。Aerospike的管理员可以定义和配置审计跟踪,将过去尝试过的和已执行成功的数据库操作记录到本地文件、Aerospike日志文件或默认的接收器。

Aerospike支持详细级别的审计跟踪定义,可以最大程度地降低性能影响:

  • 安全违规(包括身份验证失败和角色违规)。
  • 成功的认证。
  • 成功或尝试的数据操作(包括各种写/读操作)。
  • 用户管理操作(包括创建/删除用户、授予/撤销用户权限、创建/删除角色等)。
  • 系统管理操作(包括创建/删除二级索引、注册/删除UDF、更改动态服务器配置等)。

通常,审计违反安全性和其他不经常发生的事件对性能的影响很小,而在大量数据集上记录每次的尝试或成功进行的数据操作会减慢系统在繁重负载下的运行性能,也会增加日志的存储要求。如果您打算维护大量的审计记录,最好在测试环境中评估潜在的性能影响和存储需求。

白名单

强大的安全模式,可在域和用户级别提供精细的访问限制。

image

只写角色

提供角色级别的访问控制,用以向Aerospike报告,但不读取数据。这个功能的一些用例包括部署配置,这些配置在单个组织中具有不同访问权限的安全域。例如,可以授权用户来写入归类为高度安全的数据,但不允许这个用户读取由具有相同高度安全分类的但由其他人提交的数据。还可以有选择地限制各个域和用户仅访问某些数据集。因此,这些功能使Aerospike可以适用于高度安全的组织中的细粒度安全模式。

image

集中式机密管理选项–与HashiCorp Vault集成

在Aerospike中,静态加密的配置信息、网络链接的TLS、LDAP身份验证保存在本地文件系统的文件中。从Aerospike 5.1开始,可以将选定的配置文件从本地文件系统迁移到HashiCorp Vault。这样可以减少攻击面,解决分发问题,并允许独立于Aerospike部署来定义和集中管理IAM策略。

在Aerospike 5.1组件的框架图中,可以看到Vault的位置。Vault采用客户端-服务器架构,Aerospike作为Vault的客户端进行操作。Aerospike使用REST API支持Vault V1和V2Secrets引擎。通过加密网络链接到Vault服务器,检索机密信息取代本地文件访问。

image

Aerospike允许Vault管理和存储以下参数分类:

  • LDAP用户凭证和TLS证书
  • XDR远程目标密码
  • 静态加密密钥
  • 网络TLS证书和密钥

已经在企业中部署了Vault的客户可以使用其现有的基础架构创建新的Vault机密,从而利用与Aerospike集成的优势。Vault的新客户需要先定义和部署Vault服务器,然后才能在Aerospike 5.1中使用它。尝试使用Aerospike部署Vault之前,必须对Vault具备一定的了解。