11i:如何在11i中检查正确的APPLSYSPUB特权

Oracle应用程序使用APPLSYSPUB帐户初始连接数据库并建立会话。此帐户通常应具有有限的特权。但是,在我们的审核过程中,分配给APPLSYSPUB和PUBLIC的权限通常会带来安全风险,需要更正。

查看APPLSYSPUB特权

第一步是检查APPS亚美APPLSYSPUB的对象权限。这些亚美由ADADMIN中的“重新创建亚美和同义词”进行,ADADMIN执行脚本$ FND_TOP / admin / sql / afpub.sql。该SQL将创建正确的亚美,但是不会删除任何不必要的亚美。 2005年7月的重要补丁更新包括Oracle补丁4074867,该补丁删除了11.5.1至11.5.9中不必要的授权。

以下SQL语句将列出从APPS到APPLSYSPUB的所有亚美-

SELECT * FROM dba_tab_privs
WHERE grantee = 'APPLSYSPUB'
AND grantor = 'APPS'
ORDER BY table_name

将结果与下表中的所需赠款列表进行比较。删除所有不必要的赠款。

Required APPLSYSPUB Privileges (11.5.1 - 11.5.10.2)

insert on fnd_unsuccessful_logins
insert on fnd_sessions
execute on fnd_disconnected
execute on fnd_message
execute on fnd_pub_message
execute on fnd_security_pkg
execute on fnd_signon
execute on fnd_webfilepub
select on fnd_lookups
select on fnd_application
select on fnd_application_tl
select on fnd_application_vl
select on fnd_languages_tl
select on fnd_languages_vl
select on fnd_product_groups
select on fnd_product_installations

请参阅$ FND_TOP / admin / sql / afpub.sql,以获取您在Oracle Applications的实现和版本中亚美的确切列表。

应当删除的常见授权是“在FND_USER_VIEW上选择”。 
FND_USER_VIEW显示加密的基础密码,可能是
解密以显示APPS密码。 11i中不再需要FND_USER_VIEW。作为升级的一部分
进程中,FNDDOLD.sql应该已经执行。这个脚本是
在升级过程中经常错过而没有执行,
因此,必须手动撤消FND_USER_VIEW的特权。重要的是要注意,某些ADI的旧版本需要FND_USER_VIEW。有关更多信息,请参见Metalink注释ID 237917.1。

审查PUBLIC特权

通常,亚美PUBLIC的特权是不正确的,尤其是对于自定义对象。以下SQL语句将列出对PUBLIC非系统类型对象的所有亚美-

SELECT * FROM dba_tab_privs
WHERE grantee = 'PUBLIC'
AND owner NOT IN ('SYS', 'SYSTEM', 'CTXSYS', 'OWAPUB', 'MDSYS', 'ORDPLUG', 'ORDSYS', 'ORDPLUGINS', 'CSMIG')
ORDER BY table_name

将列出许多软件包,类型和Java类。专注于任何定制开发的对象,尤其是包,过程或函数。

定制开发的对象(视图和程序包除外)将驻留在定制模式中。所有特权应亚美APPS,而不是PUBLIC。在开发过程中,通常会亚美PUBLIC而不是APPS以确保自定义程序能够正常工作。

 Share this post