[z/OS]

系统授权工具类和概要文件

当您使用资源访问控制设施 (RACF®) 或者系统授权工具 (SAF) 时,必须考虑下列事项:
  1. 使用企业 Bean、Web 应用程序和 Servlet 的角色
  2. 使用 RACF 类概要文件
    1. 使用 CBIND 来访问服务器以及服务器中的对象
    2. 使用 SERVER 来通过使用服务方区域访问控制器
    3. 使用 STARTED 来使用户标识和组与已启动的过程相关联
    4. 使用 APPL 来限制已认证的用户对服务器中应用程序的访问权
    5. 使用 FACILITY 来建立许可权以启用“允许与操作系统线程同步”,并允许使用 JAAS 映射登录模块将分布式标识映射至 SAF 标识。
    6. 使用 SURROGAT 来有选择地建立许可权以启用“允许与操作系统线程同步”
  3. 在一个综合系统中创建多个安全性配置
  4. 为新服务器生成新的用户标识和概要文件
  5. 使用最低要求的概要文件

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 类来保护服务器资源的安全性机制很重要。并且,还必须了解用于管理安全性环境的技术。

用来保护 WebSphere Application Server for z/OS 资源的 RACF 概要文件使用下列类:
  1. CBIND:使用此类来访问服务器以及服务器中的对象
  2. SERVER:使用此类来通过服务方区域访问控制器
  3. STARTED:使用此类来使用户标识和组与已启动的过程相关联
  4. APPL:使用此类来限制已认证的用户对服务器中运行的应用程序的访问权
  5. FACILITY:使用此类来执行下列操作:
    • 使用户标识和组与“允许与操作系统线程同步”选项相关联
    • 控制允许哪些安全性配置使用 JAAS 映射登录模块将分布式标识映射至 SAF 标识
  6. SURROGAT:这是一个可选类,用来使用户标识和组与“允许与操作系统线程同步”选项相关联
请参阅操作系统级别和应用程序级别的系统授权工具注意事项,以了解更多信息。

在基于 SAF 的授权中可以找到有关 WebSphere Application Server for z/OS 使用的 RACF 概要文件的基本信息。本节还添加了一些有关 CBIND、SERVER、FACILITY、SURROGAT 和 STARTED 类概要文件的附加详细信息。

用户标识和组标识

为应用程序服务器创建概要文件时,BBOCBRAK 作业将生成 RACF 命令。为单元、Deployment Manager、作业管理器或管理代理程序创建概要文件时,作业名是 BBODBRAJ。为定制节点创建概要文件时,作业名是 BBOMBRAJ。输入以下信息:
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 类概要文件可以采用两种格式和级别来保护对应用程序服务器以及这些服务器中的对象的访问:
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)
如果正在使用“SAF 概要文件前缀”,那么将使用“profilePrefix”来限定 CBIND 概要文件,如下所示:
CBIND Class profiles - access to generic servers CB.BIND.<profilePrefix>.<cluster> UACC(READ)
CBIND 类概要文件 - 访问服务器中的对象
CB.<profilePrefix>.<cluster> 	UACC(READ) 
CBIND 概要文件控制从 Java 应用程序客户机和其他 WebSphere Application Server 服务器对 WebSphere Application Server for z/OS 服务器(其中包括运行 WebSphere Application Server 插件的 Web 服务器)以及这些服务器中的对象的访问。要访问这些服务器,请输入:
CB.CBIND.<cluster>
CB.CBIND.<SAF profile prefix>.<cluster> 
要访问这些服务器中的对象,请输入:
CB.<cluster> CB.<SAF profile prefix>.<cluster> 

使用 SERVER 类概要文件

当前可以使用两种格式的 SERVER 类概要文件来保护对服务器控制器的访问。
SERVER
类概要文件 - 访问使用静态应用程序环境的控制器
 CB.<server>.<cluster>   	UACC(NONE) PERMIT <SR_userid> ACC(READ)
             SERVER 类概要文件 - 访问使用动态应用程序环境的控制器
 CB.<server>.<cluster>.<cell> 	UACC(NONE) PERMIT <SR_userid>
ACC(READ) 
使用 WebSphere z/OS Profile Management Tool 或 zpmt 时,同时预定义了这两种格式,但是在运行时实际上只需要其中一种格式。需要的格式由 WebSphere Application Server for z/OS 运行时根据“动态应用程序环境”(DAE) 支持的可用性来动态确定。以下命令用于访问使用静态应用程序环境的控制器:
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 类概要文件来对控制器指定用户标识和组标识:
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 中不存在
 
将生成 STARTED 类概要文件以对各个 WebSphere Application Server for z/OS 区域指定用户标识。这些区域包括:
  • 守护程序
  • 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) 权限 > 配置 > SAF 概要文件前缀下面设置 SAF 概要文件前缀,这将在 security.xml 文件中创建以下属性。

xmi:id="Property_47" name="com.ibm.security.SAF.profilePrefix"
value="<profile_prefix>"  required="false"/> 
当设置 SAF 概要文件前缀标识时,将影响下列概要文件定义和检查:
表 1. 设置 SAF 概要文件前缀标识时受影响的概要文件定义和检查。.

此表列示了在设置 SAF 概要文件前缀标识时受影响的概要文件定义和检查。

不具有 SAF 概要文件前缀 具有 SAF 概要文件前缀
CBIND
  • CB.clustername
  • CB.BIND.clustername
  • CB.<profilePrefix>.clustername
  • CB.BIND.<profilePrefix>.clustername
EJBROLE ApplicationRoleName <profilePrefix>.ApplicationRoleName
APPL CBS390 <profilePrefix>

为新服务器生成新的用户标识和概要文件

如果要对每个新的应用程序服务器使用唯一用户标识,那么必须在 RACF 数据库中定义这些用户、组和概要文件。

您需要使用 WebSphere z/OS Profile Management Tool 或 zpmt 命令来编辑 BBOWBRAK 成员(或 BBODBRAK 成员,取决于概要文件的类型)作业的目标 .DATA 分区数据集的副本,并将下列条目更改为新的用户、组、唯一 New_server 名称和 New_cluster 名称概要文件:
  • 如果需要新服务器的唯一用户标识,那么定义三个新用户并将它们连接至下列组:
    • <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 线程标识”选项)

ACILITY 和 SURROGAT 类概要文件使 RACF 管理员能够控制是否使用“允许与操作系统线程同步”和“连接管理器的 Run-As 线程标识”选项。
注意: 如果在 RACF 中未定义这些概要文件,那么将不允许与线程同步,并且 RACF 管理员将使用服务器标识。
  • 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 服务方是否有权为目标用户建立安全性环境。
    • 类概要文件检查与执行类似功能的其他产品一致。
FACILITY 和 SURROGAT 类概要文件的格式和用法为如下所示:
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)
注: 如果未定义集群,那么 cluster short name 表示通用服务器短名称。另外,需要将 SURROGAT 类概要文件放入(RACLIST 的)存储器表中以提高访问检查的性能。
如果对 <CR user ID> 授予了控制访问权,那么将允许任何请求了“允许与操作系统线程同步”的单个用户标识进行同步。如果对 <CR user ID> 授予了访问权,那么任何请求了“允许与操作系统线程同步”的单个用户标识必须定义了 SURROGAT 类概要文件,并且服务方区域 (SR) 还必须具有访问权。例如,假定一个系统的单元短名称为 SY1,集群短名称(服务器通用短名称)为 BBOC001,CR user ID 为 CBSYMCR,SR user ID 为 CBSYMSR,并且一个应用程序正在以 Run-As 用户标识 JavaEEID 运行。将使用下列命令来建立“允许与操作系统线程同步”控制。
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 类概要文件(启用可信应用程序)

FACILITY 类概要文件使 RACF 管理员能够控制是否启用可信应用程序。要启用可信应用程序,必须定义以下 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 配置配合使用。

使用最低要求的概要文件具有下列优点:
  • 要定义的概要文件定义更少
  • 对于进程间的安全套接字层通信需要考虑的数字证书更少
但是它也存在一些缺点,例如,您必须更严密监视应用程序。这是因为如果多个服务器以相同的用户标识或组标识运行,那么应用程序可能会导致一个服务器中产生问题,还可能会破坏它自己的服务器的配置(例如,因关闭安全性而破坏)以及其他服务器的配置。

指示主题类型的图标 概念主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=csec_safclasses
文件名:csec_safclasses.html