OrientDB教程

OrientDB 安全

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

用户

默认情况下,OrientDB 为服务器中的所有数据库维护三个不同的用户-
Admin-此用户可以不受限制地访问数据库上的所有功能。 Reader-此用户是只读用户。读者可以查询数据库中的任何记录,但不能修改或删除它们。它无法访问内部信息,例如用户和角色本身。 Writer-此用户与用户读者相同,但也可以创建、更新和删除记录。

与用户合作

当您连接到数据库时,您可以使用 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。例如,如果您想禁用除 admin 之外的所有用户,请使用以下命令-
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 表示。
Allow All But (Rules)-默认情况下它是超级用户模式。使用规则指定例外情况。如果 OrientDB 没有发现请求资源的规则,那么它允许用户执行操作。此模式主要用于高级用户和管理员。默认角色 admin 默认使用此模式,没有异常规则。它在数据库中写为 1、 Deny All But (Rules)-默认情况下,此模式不允许任何内容。使用规则指定例外情况。如果 OrientDB 为请求的资源找到规则,则它允许用户执行操作。将此模式用作所有经典用户的默认模式。默认角色 reader 和 writer 使用此模式。它在数据库中写为 0。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4