CentOS 上 SQL*Plus 权限管理策略
一 权限模型与最小权限原则
二 标准操作流程与常用命令
CREATE USER app_user IDENTIFIED BY Str0ngP@ssw0rd
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp
QUOTA 10M ON users;
-- 仅允许连接与建表
GRANT CREATE SESSION, CREATE TABLE TO app_user;
-- 只读某业务表(示例)
GRANT SELECT ON hr.employees TO app_user;
-- 读写并允许再授权(谨慎)
GRANT SELECT, INSERT, UPDATE, DELETE ON sales.orders TO app_user WITH GRANT OPTION;
CREATE ROLE app_role;
GRANT CREATE SESSION, CREATE VIEW, CREATE PROCEDURE TO app_role;
GRANT SELECT, INSERT, UPDATE ON sales.orders TO app_role;
GRANT app_role TO app_user;
ALTER USER app_user DEFAULT ROLE app_role;
-- 回收对象权限
REVOKE DELETE ON sales.orders FROM app_user;
-- 禁止某权限继续被转授(示例)
REVOKE GRANT OPTION FOR SELECT ON hr.employees FROM app_user;
-- 查看系统权限
SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE = 'APP_USER';
-- 查看对象权限
SELECT * FROM DBA_TAB_PRIVS WHERE GRANTEE = 'APP_USER';
-- 查看角色授予
SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE = 'APP_USER';
sqlplus app_user/Str0ngP@ssw0rd@//dbhost.example.com:1521/orclpdb
三 安全加固与运维要点
ALTER PROFILE DEFAULT LIMIT
PASSWORD_LIFE_TIME 90
FAILED_LOGIN_ATTEMPTS 5
PASSWORD_VERIFY_FUNCTION verify_function_11G;
firewall-cmd --zone=public --add-port=1521/tcp --permanent
firewall-cmd --reload
AUDIT CREATE SESSION BY app_user BY ACCESS;
AUDIT SELECT TABLE, INSERT TABLE, UPDATE TABLE, DELETE TABLE BY app_user BY ACCESS;
四 多租户与常见场景建议
五 重要纠正