安全
使用 OrientDB 3.2 多模型 API,在数据库创建方面实现了一些重要更改。最重要的是,默认情况下不再创建基本数据库用户(admin、reader、writer)。这是关于安全性的一些考虑的结果:使用默认密码(例如 admin/admin)是一种不好的做法,并且会将 OrientDB 安装暴露给可能的攻击。
当然,可以显式触发用户创建并提供自定义密码,而不是使用默认管理员用户。例如:
final OrientDB orientdb = ...;
orientdb.execute("create database test plocal users ( admin identified by 'adminpwd' role admin)");
final ODatabaseSession session = orientdb.open("test","admin", "adminpwd");
默认情况下仍会创建角色 admin、writer、reader。
在我们的示例中,强烈建议使用比 adminpwd 更强的密码。
如果启用了默认用户的创建并且您尝试创建名为 admin 的用户,则该用户的创建将失败。可以禁用默认用户的创建,将 CREATE_DEFAULT_USERS 设置为 false,如下所示:
new OrientDB("...",
OrientDBConfig.builder()
.addConfig(OGlobalConfiguration.CREATE_DEFAULT_USERS, false)
.build());
可以通过逗号分隔来创建多个管理员用户,例如 admin、reader 和 writer
final OrientDB orientdb = ...;
orientdb.execute("create database test plocal users (
admin identified by 'adminpwd' role admin,
reader identified by by 'adminpwd' role reader,
writer identified by by 'adminpwd' role writer)");
final ODatabaseSession session = orientdb.open("test","admin", "adminpwd");
Studio 中有一个新选项,允许您在“数据库创建”对话框中定义默认管理员密码。
可以通过在启动时设置 -Dsecurity.createDefaultUsers=true 来恢复旧的默认值(为了向后兼容)
ODatabaseDocumentTx 等已弃用的 API 不受该更改的影响。
服务器级命令
在 OrientDB v 3.2 中,我们添加了一些基础设施来在服务器级别运行命令。请参阅 SQL 更改和服务器级命令)
分布式增强和稳定
在 v 3.1.x 中,OrientDB 集群有一个与索引相关的限制:UNIQUE 索引需要节点之间完全一致(N 个节点中的 N 个)来执行事务。在 v 3.2 中,我们删除了这个限制,现在涉及 UNIQUE 索引的事务与任何其他事务具有相同的仲裁(通常为 N/2 + 1)。 Hazelcast 已更新至最新版本。
控制台增强功能
在以前的版本中,使用远程服务器或嵌入式环境时,控制台中存在一些细微差别。在 v 3.2 中重构了 CLI 界面以统一嵌入式和远程环境的管理
请查看
GraalVM 支持
在 Nashorn 被弃用并从 JVM 中删除后(参见 JSR 335),OrientDB 需要一个脚本替代方案。在 v 3.2 中,我们引入了对 GraalVM 的支持,以替代脚本功能
注意:本文归作者所有,未经作者允许,不得转载