OceanBase 安全管理

2021-06-29 18:05 更新

安全管理對(duì)數(shù)據(jù)庫(kù)至關(guān)重要,OceanBase 有專門的安全管理策略用來(lái)保證數(shù)據(jù)庫(kù)數(shù)據(jù)安全和資源安全。OceanBase 數(shù)據(jù)庫(kù)的安全管理策略主要包括資源隔離和權(quán)限控制:通過(guò)資源隔離限制可以訪問(wèn)到的數(shù)據(jù),隔離保證資源安全;對(duì)于共享數(shù)據(jù),通過(guò)權(quán)限設(shè)置訪問(wèn)權(quán)限,從而保證數(shù)據(jù)安全。

賬戶權(quán)限管理

您可在 RAM 訪問(wèn)控制中,設(shè)置用戶權(quán)限。

  1. 登錄 RAM 訪問(wèn)控制臺(tái)后,單擊左側(cè)導(dǎo)航欄的 權(quán)限策略管理,單擊 創(chuàng)建權(quán)限策略。 OceanBase創(chuàng)建權(quán)限策略

  2. 在 新建自定義權(quán)限策略 頁(yè)面,填寫(xiě) 策略名稱,選擇 腳本配置,為子賬號(hào)創(chuàng)建權(quán)限策略。 OceanBase新建自定義權(quán)限設(shè)置

  3. 創(chuàng)建完成后,單擊左側(cè)導(dǎo)航欄 用戶,搜索需要增加權(quán)限的用戶名稱。

  4. 進(jìn)入用戶詳情頁(yè)面后,單擊 權(quán)限管理。

  5. 在 個(gè)人權(quán)限 頁(yè)簽下,單擊 添加權(quán)限。

  6. 在右側(cè)彈出框中,單擊 自定義策略,選擇剛剛創(chuàng)建的權(quán)限策略,單擊 確定。

租戶權(quán)限管理

  • 系統(tǒng)租戶和普通租戶

    OceanBase 支持多租戶架構(gòu),租戶是數(shù)據(jù)庫(kù)對(duì)象管理和資源管理的基礎(chǔ),即租戶即是各類數(shù)據(jù)庫(kù)對(duì)象的容器,又是資源(CPU、Memory、IO 等)的容器。

    OceanBase新建自定義權(quán)限設(shè)置

    多租戶架構(gòu)優(yōu)勢(shì)如下:

    • 在數(shù)據(jù)安全方面,不允許跨租戶的數(shù)據(jù)訪問(wèn),確保用戶的數(shù)據(jù)資產(chǎn)沒(méi)有泄露的風(fēng)險(xiǎn)。

    • 在資源使用方面,租戶獨(dú)占其資源配額。通過(guò)多租戶架構(gòu),將數(shù)據(jù)和資源分離,這樣就保證了數(shù)據(jù)資源在不同租戶之間的安全性。

    OceanBase 系統(tǒng)中包含兩大類租戶:系統(tǒng)租戶和普通租戶。系統(tǒng)租戶是系統(tǒng)內(nèi)置的,用于保存 OceanBase 正常運(yùn)行的一些資源,進(jìn)行集群管理操作和存儲(chǔ)系統(tǒng)表。只有系統(tǒng)租戶下的 root 用戶能夠增加和刪除普通租戶,修改系統(tǒng)配置項(xiàng)和進(jìn)行每日合并等一些重要功能操作。

  • 租戶管理

    在 OceanBase 中,不同租戶之間的數(shù)據(jù)對(duì)象是完全隔離的,對(duì)象名字空間的最頂層就是租戶。OceanBase 的租戶權(quán)限管理有如下特點(diǎn):

    • 任何租戶(不論是系統(tǒng)租戶還是普通租戶)下的用戶不能跨租戶訪問(wèn)其他普通租戶下的用戶數(shù)據(jù)。

    • 不支持跨租戶對(duì)用戶進(jìn)行授權(quán)。例如:A 租戶下的管理員用戶 u1,不能將 A 租戶下的表 t1 的讀寫(xiě)權(quán)限授予 B 租戶下的任何用戶。

    • 只有系統(tǒng)租戶下的管理員用戶才有集群管理權(quán)限,執(zhí)行系統(tǒng)管理操作,如創(chuàng)建/刪除普通租戶、設(shè)置系統(tǒng)配置參數(shù)、開(kāi)啟每日合并操作。

    • 普通租戶下的用戶及權(quán)限和 MySQL 實(shí)例類似,既有具備租戶內(nèi)管理員權(quán)限的特權(quán)用戶,也有普通用戶。權(quán)限的授予及回收也和單個(gè) MySQL 實(shí)例相同。

    • 在跨租戶數(shù)據(jù)訪問(wèn)方面有一個(gè)小小的例外,那就是普通租戶下的用戶,如果他具備訪問(wèn)系統(tǒng)視圖的權(quán)限,實(shí)際上他是可以訪問(wèn)到系統(tǒng)租戶下的系統(tǒng)表數(shù)據(jù)的,因?yàn)樗性畔⒍即娣旁谙到y(tǒng)租戶下的系統(tǒng)表里。

用戶權(quán)限管理

數(shù)據(jù)庫(kù)用戶權(quán)限管理包括新建用戶、刪除用戶、修改密碼、修改用戶名、鎖定用戶、用戶授權(quán)和撤銷授權(quán)等。OceanBase 中用戶分為兩類:系統(tǒng)租戶下的用戶,一般租戶下的用戶。創(chuàng)建用戶時(shí),如果 Session 當(dāng)前租戶為系統(tǒng)租戶,則新建的用戶為系統(tǒng)租戶用戶;反之為一般租戶下的用戶。

用戶名稱在租戶內(nèi)是唯一的,不同租戶下的用戶可以同名。用戶名@租戶名 在系統(tǒng)全局唯一。為區(qū)別系統(tǒng)租戶和一般租戶下的用戶,建議對(duì)系統(tǒng)租戶下的用戶名稱使用特定前綴。系統(tǒng)租戶和普通租戶都有一個(gè)內(nèi)置用戶 root,系統(tǒng)租戶的 root 為系統(tǒng)管理員,普通租戶的 root 為租戶管理員。

一般租戶下的用戶只能擁有該租戶下對(duì)象的訪問(wèn)權(quán)限,權(quán)限設(shè)計(jì)和 MySQL 兼容;系統(tǒng)租戶下的用戶可以被授予跨租戶的對(duì)象訪問(wèn)權(quán)限。當(dāng)前系統(tǒng)租戶下的用戶不允許訪問(wèn)一般租戶下的用戶表數(shù)據(jù)。

用戶在登錄 OceanBase 系統(tǒng)時(shí)需指定唯一的租戶名。對(duì)于系統(tǒng)租戶下的用戶,在登錄后,可以切換當(dāng)前訪問(wèn)的租戶;對(duì)于一般租戶下的用戶,不能切換到其他租戶。 對(duì)于權(quán)限,可以分成以下幾個(gè)層級(jí):

  • 全局層級(jí):適用于所有的數(shù)據(jù)庫(kù)。使用 GRANT ALL ON *.* 授予全局權(quán)限。

  • 數(shù)據(jù)庫(kù)層級(jí):適用于一個(gè)給定數(shù)據(jù)庫(kù)中的所有目標(biāo)。使用 GRANT ALL ON db_name.* 授予數(shù)據(jù)庫(kù)權(quán)限。

  • 表層級(jí):表權(quán)限適用于一個(gè)給定表中的所有列。使用 GRANT ALL ON db_name.tbl_name 授予表權(quán)限。

權(quán)限信息如下:

權(quán)限

說(shuō)明

ALL PRIVILEGES

除 GRANT OPTION 以外所有權(quán)限

ALTER

ALTER TABLE 的權(quán)限

CREATE

CREATE TABLE 的權(quán)限

CREATE USER

CREATE USER,DROP USER,RENAME USER 和 REVOKE ALL PRIVILEGES 的權(quán)限

CREATE TABLEGROUP

全局 CREATE TABLEGROUP 的權(quán)限

DELETE

DELETE 的權(quán)限

DROP

DROP 的權(quán)限

GRANT OPTION

GRANT OPTION 的權(quán)限

INSERT

INSERT 的權(quán)限

SELECT

SELECT 的權(quán)限

UPDATE

UPDATE 的權(quán)限

SUPER

SET GLOBAL 修改全局系統(tǒng)參數(shù)的權(quán)限

SHOW DATABASES

全局 SHOW DATABASES 的權(quán)限

INDEX

CREATE INDEX, DROP INDEX 的權(quán)限

CREATE VIEW

創(chuàng)建、刪除視圖的權(quán)限

SHOW VIEW

SHOW CREATE VIEW 權(quán)限

總結(jié)

OceanBase 中,每個(gè)租戶對(duì)應(yīng)一個(gè) MySQL 實(shí)例,OceanBase 的用戶權(quán)限管理做到了和 MySQL 的兼容,操作和 MySQL 都是一樣的。在用戶的基礎(chǔ)上,OceanBase 增加了多租戶機(jī)制,因此也引入了租戶權(quán)限管理,規(guī)定了不同租戶之間數(shù)據(jù)和資源的使用權(quán)限。通過(guò)租戶權(quán)限管理和用戶權(quán)限管理保證了 OceanBase 的安全。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)