Oracle 安全架构概述

1.1、安全体系全景图

Oracle 12c 引入了多租户架构(Multitenant Architecture),安全体系随之大幅升级。整个安全架构可以分为以下层次:

|-----------|----------------------------------------------------|
| 安全层次 | 核心组件 |
| 身份认证层 | 用户名/密码、OS认证、LDAP/Kerberos、MFA多因素认证 |
| 权限控制层 | 系统权限、对象权限、角色、权限委托 |
| 数据保护层 | TDE透明加密、Data Redaction、Virtual Private Database |
| 审计追踪层 | Unified Auditing、细粒度审计(FGA)、SYS审计 |
| 网络安全层 | TLS/SSL加密、网络访问控制(ACL)、Connection Manager |
| 合规治理层 | Oracle Data Vault、Database Firewall、Label Security |

1.2、CDB 与 PDB 的安全边界

Oracle 12c 的多租户架构中,安全模型分为 CDB(容器数据库)和 PDB(可插拔数据库)两个层级。理解这一架构对安全管理至关重要。

  • CDB 层面的安全控制:
  • CDB$ROOT 中的公共用户(Common User)可以跨 PDB 执行操作
  • 公共角色和权限在 CDB 级别定义和授予
  • PDB 层面的安全控制:
  • 本地用户(Local User)只能访问其所在 PDB 的对象
  • 本地角色和权限在 PDB 级别独立管理
sql 复制代码
-- 查看当前容器
SHOW CON_NAME;

-- 切换到 PDB
ALTER SESSION SET CONTAINER = orclpdb1;

-- 创建公共用户(需在 CDB$ROOT 中执行)
-- 必须以 C## 或 c## 开头
CREATE USER c##admin IDENTIFIED BY "Str0ngP@ss123"
  CONTAINER = ALL;

-- 创建本地用户(需在 PDB 中执行)
ALTER SESSION SET CONTAINER = orclpdb1;
CREATE USER app_user IDENTIFIED BY "AppP@ss456"
  CONTAINER = CURRENT;

实例:多租户金融系统用户隔离方案

S --- Situation(场景):某科技公司采用 Oracle 12c 多租户架构,一个 CDB 下挂载了 5 个 PDB,分别服务于不同业务线。安全团队要求各业务线数据完全隔离,但需要一个统一的 DBA 账户可以管理所有 PDB。

T --- Task(任务):设计一套用户体系:统一管理员 + 各 PDB 独立的应用用户,确保跨 PDB 权限隔离。

A --- Action(行动):

1、在 CDB$ROOT 创建公共管理员 c##super_dba,授予 DBA 角色(CONTAINER=ALL)

2、在各 PDB 中创建本地应用用户,仅授予该 PDB 内的必要权限

3、使用 CONTAINER 子句严格控制权限范围

4、配置 Profile 限制公共用户的并发会话数

**R --- Result(结果):**实现了统一管理与数据隔离的平衡。公共 DBA 可以跨 PDB 运维,但各 PDB 应用用户只能访问自己的数据,审计日志清晰记录了所有跨容器操作。

相关推荐
PaperData8 小时前
1985-2025年全国区县专利申请与授权面板数据
数据库
snpgroupcn8 小时前
大数据量SAP迁移方案:系统越大,越不能硬搬
数据库·sap
Flynt9 小时前
Redis Cluster主节点挂了,为什么"高可用"还全员掉线?我把三次kill的记录翻出来了
数据库·redis·分布式
笃行3509 小时前
KingbaseES 数据加密全解:从 SSL 到全密态
数据库
Ivanqhz9 小时前
激活函数在 Transformer 中的作用及各种变体简述
java·linux·数据库·人工智能·深度学习
java1234_小锋10 小时前
【技术专题】Mysql8 数据库 - Mysql8 数据类型简介
数据库·mysql
知行EDI10 小时前
知行之桥 MaBang 端口使用指南——Create Order 订单创建篇
java·服务器·数据库
成旭先生11 小时前
【2026】企业信息模糊查询 API 实战:名称、注册号、统一社会信用代码、企业类型与法人一次查全
服务器·数据库·数据服务
JosieBook11 小时前
【数据库】MySQL 实战精通系列 · 第10篇:分库分表与分布式事务实战
数据库·分布式·mysql
我叫洋洋12 小时前
Cadence CIS 元器件库合并实战:3000+ 焊盘、156 个符号零冲突并入自有库
数据库·单片机·嵌入式硬件·oracle·电路