
- 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 - Hook
- OrientDB - 快取
- OrientDB - 日誌
- OrientDB - 效能調優
- OrientDB - 升級
- OrientDB - 安全性
- OrientDB - Studio
- OrientDB 介面
- OrientDB - Java 介面
- OrientDB - Python 介面
- OrientDB 有用資源
- OrientDB - 快速指南
- OrientDB - 有用資源
- OrientDB - 討論
OrientDB - 安全性
與RDBMS類似,OrientDB也基於眾所周知的概念、使用者和角色提供安全性。每個資料庫都有自己的使用者,每個使用者擁有一個或多個角色。角色是工作模式和許可權集的組合。
使用者
預設情況下,OrientDB為伺服器中的所有資料庫維護三個不同的使用者:
管理員 (Admin) - 此使用者對資料庫的所有功能均具有不受限制的訪問許可權。
讀取者 (Reader) - 此使用者是隻讀使用者。讀取者可以查詢資料庫中的任何記錄,但不能修改或刪除它們。它無權訪問內部資訊,例如使用者和角色本身。
寫入者 (Writer) - 此使用者與讀取者使用者相同,但它還可以建立、更新和刪除記錄。
使用使用者
連線到資料庫後,您可以使用SELECT查詢在OUser類上查詢資料庫上的當前使用者。
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'
角色
角色決定使用者可以對資源執行哪些操作。主要取決於工作模式和規則。規則本身的工作方式不同,取決於工作模式。
使用角色
連線到資料庫後,您可以使用SELECT查詢在ORole類上查詢資料庫上的當前角色。
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找到請求資源的規則,則允許使用者執行操作。將此模式用作所有經典使用者的預設模式。預設角色讀取者和寫入者使用此模式。它在資料庫中寫為0。