OrientDB 教程

OrientDB 主页 OrientDB 概述 OrientDB 下载安装和环境配置 OrientDB 基本概念 OrientDB 数据类型 OrientDB 控制台模式

OrientDB 数据库命令

OrientDB 创建数据库 OrientDB 更改数据库 OrientDB 备份数据库 OrientDB 恢复数据库 OrientDB 连接数据库 OrientDB 断开数据库 OrientDB 信息数据库 OrientDB 列出数据库 OrientDB 冻结数据库 OrientDB 释放数据库 OrientDB 配置数据库 OrientDB 导出数据库 OrientDB 导入数据库 OrientDB 提交数据库 OrientDB 回滚数据库 OrientDB 优化数据库 OrientDB 删除数据库

OrientDB 记录命令

OrientDB 插入记录 OrientDB 显示记录 OrientDB 加载记录 OrientDB 重新加载记录 OrientDB 导出记录 OrientDB 更新记录 OrientDB 截断记录 OrientDB 删除记录

OrientDB 类命令

OrientDB 创建类 OrientDB 更改类 OrientDB 截断类 OrientDB 删除类

OrientDB 集群命令

OrientDB 创建集群 OrientDB 更改群集 OrientDB 截断群集 OrientDB 删除群集

OrientDB 属性命令

OrientDB 创建属性 OrientDB 更改属性 OrientDB 删除属性

OrientDB 顶点命令

OrientDB 创建顶点 OrientDB 移动顶点 OrientDB 删除顶点

OrientDB 边命令

OrientDB 创建边 OrientDB 更新边 OrientDB 删除边

OrientDB高级概念

OrientDB 函数 OrientDB 序列 OrientDB 索引 OrientDB 事务 OrientDB 钩子 OrientDB 缓存 OrientDB 日志 OrientDB 性能调优 OrientDB 升级 OrientDB 安全 OrientDB Studio

OrientDB 接口

OrientDB Java 接口 OrientDB Python 接口

OrientDB 有用资源

OrientDB 快速指南 OrientDB 有用资源 OrientDB 讨论


OrientDB - 安全性

与 RDBMS 一样,OrientDB 也基于众所周知的概念、用户和角色提供安全性。每个数据库都有自己的用户,每个用户都有一个或多个角色。角色是工作模式和权限集的组合。

用户

默认情况下,OrientDB 为服务器中的所有数据库维护三个不同的用户 −

  • 管理员 − 此用户可以无限制地访问数据库上的所有功能。

  • 读者 − 此用户是只读用户。读者可以查询数据库中的任何记录,但不能修改或删除它们。它无权访问内部信息,例如用户和角色本身。

  • 写者 −此用户与用户读取者相同,但也可以创建、更新和删除记录。

使用用户

连接到数据库后,可以使用 OUser 类上的 SELECT 查询来查询数据库中的当前用户。

orientdb> SELECT RID, name, status FROM OUser 

如果上述查询成功执行,您将获得以下输出。

---+--------+--------+-------- 
#  | @CLASS | name   | status 
---+--------+--------+-------- 
0  | null   | admin  | ACTIVE 
1  | null   | reader | ACTIVE 
2  | null   | writer | ACTIVE 
---+--------+--------+-------- 
3 item(s) found. Query executed in 0.005 sec(s). 

创建新用户

要创建新用户,请使用 INSERT 命令。请记住,在执行此操作时,您必须将状态设置为 ACTIVE 并为其赋予有效角色。

orientdb> INSERT INTO OUser SET 
               name = 'jay', 
               password = 'JaY',
               status = 'ACTIVE',
               roles = (SELECT FROM ORole WHERE name = 'reader')

更新用户

您可以使用 UPDATE 语句更改用户的名称。

orientdb> UPDATE OUser SET name = 'jay' WHERE name = 'reader'

以同样的方式,您也可以更改用户的密码。

orientdb> UPDATE OUser SET password = 'hello' WHERE name = 'reader'

OrientDB 以哈希格式保存密码。触发器 OUserTrigger 在保存记录之前透明地加密密码。

禁用用户

要禁用用户,请使用 UPDATE 将其状态从 ACTIVE 切换为 SUSPENDED。例如,如果您想要禁用除管理员之外的所有用户,请使用以下命令 −

orientdb> UPDATE OUser SET status = 'SUSPENDED' WHERE name <> 'admin'

角色

角色决定用户可以对资源执行哪些操作。主要地,这个决定取决于工作模式和规则。规则本身的工作方式不同,具体取决于工作模式。

使用角色

连接到数据库时,可以使用 ORole 类上的 SELECT 查询来查询数据库上的当前角色。

orientdb> SELECT RID, mode, name, rules FROM ORole 

如果上述查询成功执行,您将获得以下输出。

--+------+----+--------+------------------------------------------------------- 
# |@CLASS|mode| name   | rules 
--+------+----+--------+------------------------------------------------------- 
0 | null | 1  | admin  | {database.bypassRestricted = 15} 
1 | null | 0  | reader | {database.cluster.internal = 2, database.cluster.orole = 0... 
2 | null | 0  | writer | {database.cluster.internal = 2, database.cluster.orole = 0... 
--+------+----+--------+------------------------------------------------------- 
3 item(s) found.  Query executed in 0.002 sec(s). 

创建新角色

要创建新角色,请使用 INSERT 语句。

orientdb> INSERT INTO ORole SET name = 'developer', mode = 0

使用模式

规则决定属于某些角色的用户可以对数据库执行的操作,而工作模式决定 OrientDB 如何解释这些规则。有两种类型的工作模式,分别用 1 和 0 表示。

  • 允许所有但(规则) − 默认情况下,它是超级用户模式。使用规则指定例外情况。如果 OrientDB 未找到请求资源的规则,则允许用户执行操作。此模式主要供高级用户和管理员使用。默认角色 admin 默认使用此模式,没有例外规则。它在数据库中写为 1。

  • 拒绝所有但(规则) − 默认情况下,此模式不允许任何内容。使用规则指定例外情况。如果 OrientDB 找到请求资源的规则,则允许用户执行操作。将此模式用作所有经典用户的默认模式。默认角色 reader 和 writer 使用此模式。它在数据库中写为 0。