GRANT CONNECT, RESOURCE TO user(系統權限)、GRANT SELECT ON scott.emp TO user(物件權限),最小權限原則。CREATE ROLE app_read),授權角色而非直接授權用戶,便於批量管理。AUDIT SELECT ON scott.emp BY ACCESS,記錄誰、何時、做什麼,支援標準/精細審計(FGA)。DBMS_RLS.ADD_POLICY 動態附加 WHERE 條件。用戶以自有帳號登入,**預設角色僅具 CONNECT**(無業務權限)。業務角色(如 checkerrole)藏於應用代碼中,含密碼:
-- 建立角色與密碼
CREATE ROLE checkerrole IDENTIFIED BY xm361001;
CREATE ROLE defaultrole IDENTIFIED BY defaultrole;
-- 授權角色
GRANT SELECT, UPDATE ON account.paytable TO checkerrole;
GRANT CONNECT TO defaultrole;
-- 建立用戶並設定預設角色
CREATE USER xiayan IDENTIFIED BY xiayan;
GRANT checkerrole, defaultrole TO xiayan;
ALTER USER xiayan DEFAULT ROLE defaultrole;
-- 應用登入後啟用業務角色
CONNECT xiayan/xiayan@orcl;
SET ROLE checkerrole IDENTIFIED BY xm361001; -- 密碼僅應用知曉
-- 現在擁有 paytable SELECT/UPDATE 權限
-- 登出或未 SET ROLE 時,僅有 CONNECT,無法操作任何業務表
ALTER PLUGGABLE DATABASE LOCKDOWN。DBMS_REDACT、DBMS_TSDP。UNIFIED_AUDIT_TRAIL 整合所有審計類型。