![[z/OS]](../images/ngzos.gif)
系统授权工具类和概要文件
- 使用企业 Bean、Web 应用程序和 Servlet 的角色
- 使用 RACF 类概要文件
- 使用 CBIND 来访问服务器以及服务器中的对象
- 使用 SERVER 来通过使用服务方区域访问控制器
- 使用 STARTED 来使用户标识和组与已启动的过程相关联
- 使用 APPL 来限制已认证的用户对服务器中应用程序的访问权
- 使用 FACILITY 来建立许可权以启用“允许与操作系统线程同步”,并允许使用 JAAS 映射登录模块将分布式标识映射至 SAF 标识。
- 使用 SURROGAT 来有选择地建立许可权以启用“允许与操作系统线程同步”
- 在一个综合系统中创建多个安全性配置
- 为新服务器生成新的用户标识和概要文件
- 使用最低要求的概要文件
Enterprise JavaBeans、Web 应用程序和 Servlet 的角色
角色与 Java™ Platform, Enterprise Edition (Java EE) 应用程序相关联。应用程序中的模块表示使用指向应用程序角色的角色引用的角色。通过用户或调用者来访问 Web 应用程序、Servlet 或 EJB 模块。在组装时,角色与 Web 应用程序、Servlet 或企业 Bean 相关联。在应用程序的部署描述符中指定了需要使用 Servlet 或 EJB 方法的角色。
(如果选择了“SAF 授权”)哪些用户和组具有哪些角色将使用 EJBROLE 类中的 RACF 概要文件来确定。如果某个用户在 EJBROLE 概要文件的访问列表中,那么该用户就具有该角色。如果某个组在 EJBROLE 概要文件的访问列表中,那么该组中的用户都具有该角色。如果 EJBROLE 概要文件具有 ACCESS(READ),那么所有用户都具有该角色。
如果指定了 SAF 概要文件前缀(以前称为 z/OS® 安全域),那么在检查 EJBROLE 概要文件时,该前缀将成为 WebSphere® Application Server for z/OS 和 RACF 使用的前缀。这提供了 WebSphere SAF 概要文件前缀级别粒度的角色。
Test Cell has Security Domain=TEST Production Cell has Security Domain=PROD
例如,使用 Clerk 角色的应用程序同时部署在两个单元上。在测试单元上,用户需要对 EJBROLE 概要文件 TEST.Clerk 具有读访问权。在生产单元上,用户需要对 EJBROLE 概要文件 PROD.Clerk 具有读访问权。
将在 RACF EJBROLE 类中为管理权限定义下列概要文件:管理员、配置员、监视员、操作员、部署者、adminsecuritymanager 和审计员。
有关可以如何将 SAF 用于基于 Java EE 的角色授权的更多信息,请参阅将系统授权工具用于基于角色的授权。
使用 RACF 概要文件
了解 RACF(或同等安全性产品)中用于通过 CBIND、SERVER 和 STARTED 类来保护服务器资源的安全性机制很重要。并且,还必须了解用于管理安全性环境的技术。
- CBIND:使用此类来访问服务器以及服务器中的对象
- SERVER:使用此类来通过服务方区域访问控制器
- STARTED:使用此类来使用户标识和组与已启动的过程相关联
- APPL:使用此类来限制已认证的用户对服务器中运行的应用程序的访问权
- FACILITY:使用此类来执行下列操作:
- 使用户标识和组与“允许与操作系统线程同步”选项相关联
- 控制允许哪些安全性配置使用 JAAS 映射登录模块将分布式标识映射至 SAF 标识
- SURROGAT:这是一个可选类,用来使用户标识和组与“允许与操作系统线程同步”选项相关联
在基于 SAF 的授权中可以找到有关 WebSphere Application Server for z/OS 使用的 RACF 概要文件的基本信息。本节还添加了一些有关 CBIND、SERVER、FACILITY、SURROGAT 和 STARTED 类概要文件的附加详细信息。
用户标识和组标识
CR = Controller Region SR = Servant Region CFG = Configuration (group) server = server short name cluster = generic server (short) name (also called cluster transition name)
<CR_userid> <CR_groupid>, <CFG_groupid> <SR_userid> <SR_groupid>, <CFG_groupid> <demn_userid> <demn_groupid>, <CFG_groupid> <admin_userid> <CFG_groupid> <client_userid> <client_groupid> <ctracewtr_userid> <ctracewtr_groupid>
下面是用来保护 WebSphere Application Server for z/OS 资源的各种概要文件以及许可权和访问级别。
使用 CBIND 类概要文件
CBIND Class profiles - access to generic servers CB.BIND.<cluster> UACC(READ); PERMIT <CR_group> ACC(CONTROL) CBIND 类概要文件 - 访问服务器中的对象 CB.<cluster> UACC(READ) PERMIT <CR_group> ACC(CONTROL)
CBIND Class profiles - access to generic servers CB.BIND.<profilePrefix>.<cluster> UACC(READ) CBIND 类概要文件 - 访问服务器中的对象 CB.<profilePrefix>.<cluster> UACC(READ)
CB.CBIND.<cluster> CB.CBIND.<SAF profile prefix>.<cluster>
CB.<cluster> CB.<SAF profile prefix>.<cluster>
使用 SERVER 类概要文件
SERVER 类概要文件 - 访问使用静态应用程序环境的控制器 CB.<server>.<cluster> UACC(NONE) PERMIT <SR_userid> ACC(READ) SERVER 类概要文件 - 访问使用动态应用程序环境的控制器 CB.<server>.<cluster>.<cell> UACC(NONE) PERMIT <SR_userid> ACC(READ)
RDEFINE CB.&<server<cluster> UACC(NONE); PERMIT &<SR_userid> ACCESS(READ)在此示例中,server = 服务器名,cluster = 集群名称(如果尚未创建集群,那么表示集群过渡名称),SR 表示服务器区域的 MVS™ 用户标识。
CB.& <server>.&<cluster>.<cell> UACC(NONE); PERMIT &<SR_userid> ACC(READ)在此示例中,server = 服务器名,cluster = 集群名称(如果尚未创建集群,那么表示集群过渡名称),cell = 单元的短名称,SR 表示服务器区域的 MVS 用户标识。
SERVER 类概要文件可控制服务方是否可以调用相关控制器中的已授权例程。
CB.<server>.<cluster> CB.<SAF profile prefix>.<server>.<cluster>
CB.<server>.<cluster>.<cell> 22
使用 STARTED 类概要文件
STARTED 类概要文件 - (MGCRE) - 用于控制区域、守护程序和 Node Agent <<CR_proc>.<CR_jobname> STDATA(USER(CR_userid) GROUP(CFG_groupid)) <demn_proc>.* STDATA(USER(demn_userid) GROUP(CFG_groupid)) STARTED 类概要文件 - (ASCRE) - 用于服务方区域和附属项 <SR_jobname>.<SR_jobname> STDATA(USER(SR_userid) GROUP(CFG_groupid)) 用于 IJP 的 STARTED 类概要文件 - (MGCRE) <MQ_ssname>.* STDATA(USER(IJP_userid) GROUP(CFG_groupid)) - 这些 IJP 在 WAS 6.1 中不存在
- 守护程序
- Deployment Manager(控制器和服务方)
- Node Agent
- Application Server(控制器、服务方和附属项)
- 管理代理程序(控制器和服务方)
- 作业管理器(控制器和服务方)
使用 APPL 类概要文件
APPL 类概要文件可控制某个已认证的用户是否可以使用单元中的任何应用程序。如果指定了 SAF 概要文件前缀,那么 APPL 类概要文件名称将为 SAF 概要文件前缀名称。如果未指定 SAF 概要文件前缀,那么 APPL 类概要文件名称将为 CBS390。请参阅操作系统级别和应用程序级别的系统授权工具注意事项。
仅当 APPL 类在 RACF 中处于活动状态并且在 WebSphere 中启用了使用 APPL 概要文件的选项时,APPL 类概要文件才会生效。可以从管理控制台通过浏览至“SAF 授权选项”面板并设置复选框“使用 APPL 概要文件来限制对服务器的访问”,启用或禁用 WebSphere 选项。有关此设置的更多信息,请参阅z/OS 系统授权工具授权。
在一个单元中创建多个安全性配置
在给定的单元中,可能需要多组不同的概要文件才能将企业中的各个逻辑 WebSphere 安全域(例如,测试用户和生产用户)分隔开。
可以在定制期间使用 z/OS Profile Management Tool、zpmt 命令或管理控制台中的“SAF 授权选项”面板来定义 SAF 概要文件前缀。
使用 WebSphere Application Server for z/OS 管理控制台在 下面设置 SAF 概要文件前缀,这将在 security.xml 文件中创建以下属性。
xmi:id="Property_47" name="com.ibm.security.SAF.profilePrefix" value="<profile_prefix>" required="false"/>
类 | 不具有 SAF 概要文件前缀 | 具有 SAF 概要文件前缀 |
---|---|---|
CBIND |
|
|
EJBROLE | ApplicationRoleName | <profilePrefix>.ApplicationRoleName |
APPL | CBS390 | <profilePrefix> |
为新服务器生成新的用户标识和概要文件
如果要对每个新的应用程序服务器使用唯一用户标识,那么必须在 RACF 数据库中定义这些用户、组和概要文件。
- 如果需要新服务器的唯一用户标识,那么定义三个新用户并将它们连接至下列组:
- <New_CR_userid> <CR_groupid>, <CFG_groupid>
- <New_SR_userid> <<SR_groupid>, <CFG_groupid>
- <New_ADJUNCT_userid> <<ADJUNCT_groupid>, <CFG_groupid>
- <New_client_userid> <client_groupid>
- 新集群(通用服务器短名称)的 CBIND 类概要文件:
- CB.BIND.<New_cluster>
- CB.<New_cluster>
- 新服务器和集群的 SERVER 类概要文件:
- CB.<New_server>.<New_cluster>
- CB.<New_server>.<New_cluster>.<cell>
- 新服务器的控制器和服务方区域的 STARTED 类概要文件:
- <CR_proc>.<New_CR_jobname> STDATA(USER(New_CR_userid) GROUP(CFG_groupid))
- <New_SR_jobname>.* STDATA(USER(New_SR_userid) GROUP(CFG_groupid))
- <New_ADJUNCT_jobname>.* STDATA(USER(New_ADJUNCT_userid) GROUP(CFG_groupid))
使用 FACILITY 和 SURROGAT 类概要文件(“允许与操作系统线程同步”选项和“连接管理器 RunAs 线程标识”选项)
- FACILTY 类概要文件 BBO.SYNC.<cell short name>.<cluster short name>
- 如果 WebSphere 控制器对概要文件没有访问权,那么将禁用“允许与操作系统线程同步”。
- 如果 WebSphere 控制器对概要文件具有读访问权,那么可以使用“允许与操作系统线程同步”,但是仅限于表示某些用户的安全性环境。需要定义 SURROGATE 类概要文件。
- WebSphere 控制器对概要文件具有控制访问权。可以使用“允许与操作系统线程同步”来构建表示任何用户的安全性环境。将不会检查 SURROGATE 类概要文件。
- SURROGAT 类概要文件 BBO.SYNC.<user ID>
- 如果 WebSphere 控制器对用于启用“允许与操作系统线程同步”选项的 FACILITY 类概要文件 BBO.SYNC.<cell short name>.<cluster short name> 仅具有读访问权,那么将使用 SURROGAT 类概要文件检查功能来验证 WebSphere 服务方是否有权为目标用户建立安全性环境。
- 类概要文件检查与执行类似功能的其他产品一致。
RDEF FACILITY BBO.SYNC.<cell short name>.<cluster short name> UACC(NONE) PE BBO.SYNC.<cell short name>.<cluster short name> CLASS(FACILITY)ID(<CR user ID>) ACC(READ or CONTROL) RDEF SURROGAT BBO.SYNC.<Run-As user ID> UACC(NONE) PE BBO.SYNC.<Run-As user ID> CLASS(SURROGAT) ID(<SR user ID>) ACC(READ)
RDEF FACILITY BBO.SYNC.SY1.BBOC001 UACC(NONE) PE BBO.SYNC.SY1.BBOC001 CLASS(FACILITY) ID(CBSYMCR) ACC(READ) RDEF SURROGAT BBO.SYNC.J2EEID UACC(NONE) PE BBO.SYNC.J2EEID CLASS(SURROGAT) ID(CBSYMSR) ACC(READ)
使用 FACILITY 类概要文件(启用可信应用程序)
RDEF FACILITY BBO.TRUSTEDAPPS.<cell short name>.<cluster short name> UACC NONE PE BBO.TRUSTEDAPPS.<cell short name>.<cluster short name> CLASS(FACILITY) ID(CR userid) ACC(READ)可以对所有服务器使用以下一般示例:
RDEFINE FACILITY BBO.TRUSTEDAPPS.mycell01.**UACC(NONE) PERMIT BBO.TRUSTEDAPPS.mycell01.** CLASS(FACILITY) ID(MYCBGROUP) ACCESS(READ) SETROPTS RACLIST(FACILITY) REFRESH以下示例可用于特定服务器,即单元短名称为 SY1、集群短名称(服务器一般短名称)为 BBOC001 且控制器区域用户标识为 CBSYMCR 的系统:
RDEF FACILITY BBO.TRUSTEDAPPS.SY1.BBOC001 UACC NONE PE BBO.TRUSTEDAPPS.SY1.BBOC001 CLASS(FACILITY) ID(CBSYMCR) ACC(READ)
使用最低要求的概要文件
要使 RACF 数据集中的用户数、组数和概要文件数最小,可以使用一个用户标识、一个组标识和非常普通的概要文件,以便它们包含同一单元中的多个服务器。也可以将这种技术与“完整 Java 消息服务提供程序”和 WebSphere Application Server Network Deployment 配置配合使用。
- 要定义的概要文件定义更少
- 对于进程间的安全套接字层通信需要考虑的数字证书更少