首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 教學

Oracle 10g 起 CONNECT Role 僅含 CREATE SESSION 權限說明

     編輯:Oracle 教學

Oracle 10g 起 CONNECT Role 僅含 CREATE SESSION 權限說明

根據 Oracle 官方升級檢查清單文件 Complete Checklist for Manual Upgrades to 11gR2 (Doc ID 837570.1) 記載:

From Oracle 10.2, 'CONNECT' role only includes 'CREATE SESSION' privilege.

背景與影響

  • 10g Release 2 (10.2) 之前:CONNECT Role 包含多項系統權限(如 CREATE TABLE、CREATE VIEW、CREATE SEQUENCE、CREATE SYNONYM、CREATE CLUSTER、CREATE DATABASE LINK、ALTER SESSION 等)
  • 10.2 起:為強化安全性,Oracle 將 CONNECT Role 精簡為僅包含 CREATE SESSION,其餘物件建立權限需額外授予

升級/遷移注意事項

  1. 應用程式使用者:若原依賴 CONNECT Role 獲得建表等權限,升級後將失效,需額外授予 RESOURCE Role 或具體系統權限
  2. 腳本檢查:部署腳本中若授予 GRANT CONNECT TO user,需評估是否需同步授予 RESOURCE 或特定權限
  3. 審計合規:精簡後符合最小權限原則,利於安全審計

查詢 Role 所含權限

SELECT * FROM role_sys_privs WHERE role = 'CONNECT';
SELECT * FROM role_sys_privs WHERE role = 'RESOURCE';

建議做法

新環境建立使用者時,採用「最小權限」原則:

CREATE USER app_user IDENTIFIED BY password;
GRANT CREATE SESSION TO app_user;          -- 連線權限
GRANT CREATE TABLE, CREATE VIEW, CREATE SEQUENCE, CREATE PROCEDURE TO app_user; -- 依需求授予
-- 或
GRANT RESOURCE TO app_user;                -- 包含常用建物件權限(不含 UNLIMITED TABLESPACE)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved