W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
安全管理對(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ù)安全。
您可在 RAM 訪問(wèn)控制中,設(shè)置用戶權(quán)限。
登錄 RAM 訪問(wèn)控制臺(tái)后,單擊左側(cè)導(dǎo)航欄的 權(quán)限策略管理,單擊 創(chuàng)建權(quán)限策略。
在 新建自定義權(quán)限策略 頁(yè)面,填寫(xiě) 策略名稱,選擇 腳本配置,為子賬號(hào)創(chuàng)建權(quán)限策略。
創(chuàng)建完成后,單擊左側(cè)導(dǎo)航欄 用戶,搜索需要增加權(quán)限的用戶名稱。
進(jìn)入用戶詳情頁(yè)面后,單擊 權(quán)限管理。
在 個(gè)人權(quán)限 頁(yè)簽下,單擊 添加權(quán)限。
在右側(cè)彈出框中,單擊 自定義策略,選擇剛剛創(chuàng)建的權(quán)限策略,單擊 確定。
系統(tǒng)租戶和普通租戶
OceanBase 支持多租戶架構(gòu),租戶是數(shù)據(jù)庫(kù)對(duì)象管理和資源管理的基礎(chǔ),即租戶即是各類數(shù)據(jù)庫(kù)對(duì)象的容器,又是資源(CPU、Memory、IO 等)的容器。
多租戶架構(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)表里。
數(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)限 |
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 的安全。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: