共计 1397 个字符,预计需要花费 4 分钟才能阅读完成。
为了更好的管理 CDB 及其 PDB 中的权限,12c 推出一项新功能 – PDB 锁定配置文件 (PDB Lockdown Profile),用于控制连接到 PDB 用户的可用操作。比如,禁止执行 alter system。
PDB 锁定配置文件能够对以下的访问类型进行限制:
- 网络访问,比如访问 UTL_HTTP 或者 UTL_MAIL
- 通用用户或者对象的访问,比如限制 PDB 中的本地用户通过通用用户进行代理或访问公共模式中的对象的操作
- 操作系统访问,比如限制访问 UTL_FILE 或者 DBMS_FILE_TRANSFER 包
- 连接,比如限制普通用户连接到 PDB,或者限制具有 SYSOPER 管理权限的本地用户连接到以受限模式打开的 PDB
- 管理功能,限制 ALTER SYSTEM、ALTER SESSION、ALTER DATABASE 等功能的使用
- 数据库选项,禁用数据库的某些 Opthin,比如数据库分区,数据库高级队列等功能
PDB 锁定配置文件可分为两种类型:
- 静态
使用 FROM 子句创建静态锁定配置文件,将引用的基础配置文件的规则复制到静态锁定配置文件中,任何后续对基本配置文件的更改都不会影响已经创建的静态锁定配置文件。
- 动态
使用 INCLUDING 子句创建动态锁定配置文件,将继承引用的基础配置文件的规则,后续对基础配置文件的任何更改也会同步到动态锁定配置文件中。如果显式添加到新创建的动态锁定配置文件的规则与包含基本配置文件的规则发生冲突,则后者优先。
使用 PDB_LOCKDOWN 初始化参数指定 PDB 锁定配置,12c 中该参数仅适用于 CDB 级别,18c 中该参数可适用于 PDB、应用容器以及 CDB 三个级别,三个级别存在一定的继承关系。
- 如果常规或应用 PDB 中的 PDB_LOCKDOWN 参数设置为 CDB 锁定配置文件,则忽略 CDB 根或应用程序根目录中分别由 PDB_LOCKDOWN 参数指定的锁定配置文件
- 如果应用 PDB 中的 PDB_LOCKDOWN 参数设置为应用程序锁定配置文件,而应用 root 或 CDB
root 中的 PDB_LOCKDOWN 参数设置为锁定配置文件,则除了应用锁定配置文件中规定的规则之外,PDB 锁定配置文件还会继承来自最近的祖先 CDB
root 锁定配置文件中的 DISABLE 规则 - 如果 CDB 锁定配置文件和应用锁定配置文件的规则之间存在冲突,则 CDB 锁定配置文件中的规则优先。
简单做个测试:
SQL> CREATE LOCKDOWN PROFILE medium1;
Lockdown Profile created.
SQL> ALTER LOCKDOWN PROFILE medium1 DISABLE STATEMENT=(‘ALTER
SYSTEM’);Lockdown Profile altered.
SQL> alter system set pdb_lockdown=medium1;
System altered.
SQL> alter session set container=app1;
Session altered.
SQL> alter system set pdb_lockdown=medium1; alter system set
pdb_lockdown=medium1
* ERROR at line 1: ORA-01031: insufficient privileges
更多 Oracle 相关信息见 Oracle 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=12
: