天天看點

使用者指南—賬号和安全—三權分立—功能介紹

風險與解決方案

  • 風險傳統資料庫運維模式下,資料庫管理者DBA(Database Administrator)擁有的權限過高且集中,容易在某些場景下給業務帶來風險:
    • DBA誤判導緻系統安全事故。
    • DBA出于某種目的進行非法操作。
    • DBA、第三方外包人員或程式開發人員越權通路敏感資訊。
  • 解決方案PolarDB-X新增支援三權分立模式,打破傳統資料庫運維由DBA行使特權的獨立控制體系,使得資料庫管理者DBA、安全管理者DSA(Department Security Administrator)和審計管理者DAA(Data Audit Administrator)3者的權責更加清晰。其中:
    • 資料庫管理者(DBA):隻具備DDL(Data Definition Language)權限。
    • 安全管理者(DSA):隻具備管理角色(Role)或使用者(User)以及為其他賬号授予權限的權限。
    • 審計管理者(DAA):隻具備檢視審計日志的權限。

資料庫系統賬号的權限對比

下表展示了在預設模式和三權分立模式下,不同資料庫系統賬号的權限對比。

說明

  • 預設模式下的高權限賬号即系統管理者賬号。更多關于高權限賬号的詳情,請參見 賬号類型
  • 開啟或關閉三權分立模式,僅對系統賬号(即高權限賬号、系統管理者賬号、安全管理者賬号和審計管理者賬号)的權限有影響,普通賬号權限不受模式變更的影響。
  • 三權分立模式下,雖然所有系統賬号均不具備DML(Data Manipulation Language)、DQL(Data Query Language)或DAL(Data Administration Language)權限,但安全管理者仍然能夠将這些權限授予給普通賬号。
  • 表中✔️表示具備該權限,❌表示不具備該權限。
權限 預設模式 三權分立模式
分類 高權限賬号 系統管理者賬号 安全管理者賬号 審計管理者賬号
DDL
  • ALTER TABLE
  • CREATE TABLE
  • CREATE VIEW
  • CREATE INDEX
  • CREATE CCL_RULE
  • DROP VIEW
  • DROP INDEX
  • DROP TABLE
  • TRUNCATE TABLE
✔️
DML
  • DELETE
  • UPDATE
  • INSERT
DQL
  • SELECT
  • EXPLAIN
DAL
  • SHOW CCL_RULE
  • SHOW INDEX
賬号或角色相關 賬号權限管理 角色權限管理
檢視審計日志 檢視如下兩張表中的審計日志資訊:
  • information_schema.polardbx_audit_log

  • information_schema.polardbx_ddl_log

使用限制

三權分立模式下的系統賬号(包括系統管理者賬号、安全管理者賬号和審計管理者賬号)存在如下限制:

  • 不支援對系統賬号執行GRANT ROLE或REVOKE ROLE指令。
  • 不支援對系統賬号執行GRANT PRIVILEGES 或REVOKE PRIVILEGES指令。
  • 系統賬号的密碼隻能由對應的賬号修改,如系統管理者賬号的密碼僅能由系統管理者賬号修改,不能被其他帳号修改。
  • 系統賬号均不支援SET DEFAULT ROLE指令。