本文檔旨在介紹如何建立和管理自動授權規則。
背景資訊
OceanBase 開發人員中心(OceanBase Developer Center,ODC)支援擁有特殊許可權的使用者(系統管理員)定義自動授權規則。擁有該特殊許可權的使用者可以建立/修改/查看/停用自動授權規則。
自動授權是指對滿足某些條件的使用者,例如姓名、組織部門、登入方式等資訊符合某些判斷條件,在初次登入或建立使用者時自動授予特定的角色或許可權,以避免大量冗餘授權操作的一項功能。
本文檔以建立 Grant system_admin for deptB 自動授權規則為例,memberOf.department 中的使用者名稱包含 deptB 時,為該使用者授予 system_admin 角色。
建立自動授權規則
使用者在 ODC 上整合 OAuth2 且認證登入 ODC 後,OAuth2 授權系統返回資料結構。例如:
{ "id": 1, "name": "username", "mail": "example@email.com", "memberOf": { "department": [ { "name": "deptA", "description": "this is a department" }, { "name": "deptB", "description": "this is a department" } ], "extra": "some other info" } }對於該資料,可以使用不同運算式擷取對應的值。例如:
expression
result
id
1
memberOf.department[0].name
deptA
memberOf.department[*].name
["deptA", "deptB"]
通過第三方登入 Web 版 ODC 後,在專案協同視窗的左側導覽列中,單擊 使用者權限 > 授權規則 > 建立規則。

在 建立規則 面板中需指定以下資訊以建立新的規則。

資訊項
說明
規則名稱
指定該規則的名稱,不可重名。
狀態
選擇 啟用/停用 該授權規則。
規則狀態預設為 啟用,可手動更改為 停用。被停用的規則將不能被訪問。
觸發事件
當前只能選擇系統內建的事件,不同事件對應不同的觸發時機。
匹配條件(可選)
單擊 添加條件 按鈕並指定以下四個欄位建立匹配條件。
對象:儲存了觸發條件和執行行為所需的資訊,可以為複雜嵌套對象,包括 array、list 和 map;也可以為字串和數字等簡單對象。
運算式:目標在對象中所處的索引,不同類型對象的索引方式有區別。
操作:支援包含、匹配和等於操作。
值:目標值。
說明如未選擇添加匹配條件,表示觸發選擇的事件則會無條件執行動作。
選擇 匹配 作為匹配條件時,匹配值需為Regex。
執行動作(可選)
選擇 授予角色/授予串連存取權限 並配置對應的角色名稱/公用串連名稱。
說明如未選擇執行動作,表示無論是否滿足匹配條件均不執行任何動作。
備忘(可選)
為規則添加備忘資訊,非必填項。
指定上述資訊後,單擊面板右下角的 儲存 按鈕以完成建立規則。
建立完成後,可在自動授權列表中查看建立的規則。

查看自動授權規則
自動授權規則列表
如上圖所示,在自動授權規則列表中顯示並提供了以下基本資料。
資訊項 | 說明 |
規則名稱 | 顯示規則的名稱資訊。 |
建立人 | 顯示建立發起人。 單擊搜尋表徵圖 |
狀態 | 顯示規則目前狀態:啟用 或者 停用。 單擊篩選圖示 |
建立時間 | 顯示對規則進行 編輯 的最新歷史操作時間。 支援以升序或降序方式顯示建立時間。 |
啟用狀態 | 支援啟用/停用規則。 |
操作 | 支援 查看、編輯 和 刪除 規則。 |
查看規則

在自動授權規則資訊 操作 欄下,單擊 查看 按鈕以彈出 規則資訊 面板。面板中包括以下資訊。
資訊項 | 說明 |
規則資訊 | 顯示 規則名稱、觸發事件、匹配條件、執行動作、角色、備忘 等建立規則時您指定的資訊。 |
操作資訊 | 顯示 建立人、建立時間 和 更新時間 等資訊。 |
編輯規則

在自動授權規則資訊 操作 欄下,單擊 編輯 按鈕以彈出 編輯規則 面板。
編輯規則 面板中顯示建立規則時所指定的所有資訊項,可修改此類資訊項以編輯規則。
,可搜尋和篩選建立人。
,可篩選狀態。