![[z/OS]](../images/ngzos.gif)
SAF 概要文件前缀和定制作业
可以使用 z/OS® Profile Management Tool 来配置系统授权工具 (SAF) 概要文件前缀(以前称为 z/OS 安全域)。
SAF 概要文件前缀允许安装向 SAF 概要文件添加用于表示其角色的前缀。例如,安装可以定义 SAF 类 EJBRole 和 SAF 概要文件 myPrefix.administrator。可为整个单元定义 SAF 概要文件前缀,也可以按安全许可权的 WebSphere® 安全域级别粒度来定义 SAF 概要文件前缀。SAF 概要文件前缀:
- 提供角色的 WebSphere 安全域级别粒度
- 允许为测试和生产指定不同的管理员
- 用作 WebSphere 安全域中服务器的 APPL 概要文件
可以通过以下方法来配置 SAF 概要文件前缀:使用 z/OS Profile Management Tool 来定制您的设置,或者使用管理控制台中的“SAF 授权选项”面板。这样会提供一组新的资源访问控制设施 (RACF®) 定制作业样本,在创建域时必须只应运行一次这些定制作业。
由于上述原因而以不同方式创建和检查的 RACF 概要文件如下:
- CBIND
- EJBROLE
- APPL
如果未设置其他特定概要文件,那么使用 CBIND 概要文件来限制对服务器的访问。如果不存在 SAF 概要文件前缀,请输入下列 RACF 命令:
/* CBIND profiles in case no server definition is set */
"RDEFINE CBIND CB.BIND.* UACC(NONE)"
"RDEFINE CBIND CB.* UACC(NONE)"
如果 SAF 概要文件前缀已定义为 TESTSYS,请输入:
/* CBIND CB.BIND.domain_name. */
"RDEFINE CBIND CB.BIND.TESTSYS.* UACC(NONE)"
"RDEFINE CBIND CB.TESTSYS.* UACC(NONE)"
使用 APPL 概要文件来保护 WebSphere Application Server for z/OS。如果您使用通用访问权限 UACC,那么样本概要文件可以对每个人都授予特定级别的 APPL 访问权,并且对配置组、未经认证的用户标识和所有有效 WebSphere Application Server for z/OS 用户标识授予访问权。UACC(NONE) 将为每个人授予缺省访问权 NONE。通过在管理控制台的“SAF 授权选项”面板上设置“使用 APPL 概要文件来限制对服务器的访问权”复选框,可以控制是否将 APPL 类概要文件用于授权。
例如,如果没有 SAF 概要文件前缀,请输入下列 RACF 命令:
RDEFINE APPL CBS390 UACC(NONE)
PERMIT CBS390 CLASS(APPL) ID(TSCLGP) ACCESS(READ)
如果 SAF 概要文件前缀已定义为 TESTSYS,请输入:
RDEFINE APPL TESTSYS UACC(NONE)
PERMIT TESTSYS CLASS(APPL) ID(TSCLGP) ACCESS(READ)
如果没有 SAF 概要文件前缀并且配置组定义为 TSTCFG,那么将定义下列 EJBROLE 概要文件来进行基于角色的授权检查。请注意,当选择了系统授权工具 (SAF) 授权时,这些是需要访问命名角色和管理角色的最小的一组用户。
必须为操作系统安全性和应用程序安全性同时定义下列角色。请输入下列 RACF 命令:
RDEFINE EJBROLE administrator UACC(NONE)
RDEFINE EJBROLE monitor UACC(NONE)
RDEFINE EJBROLE configurator UACC(NONE)
RDEFINE EJBROLE operator UACC(NONE)
RDEFINE EJBROLE deployer UACC(NONE)
RDEFINE EJBROLE adminsecuritymanager UACC(NONE)
RDEFINE EJBROLE auditor UACC(NONE)
PERMIT administrator CLASS(EJBROLE) ID(TSTCFG) ACCESS(READ)
PERMIT auditor CLASS(EJBROLE) ID(TSTCFG) ACCESS(READ)
PERMIT adminsecuritymanager CLASS(EJBROLE) ID(TSTCFG) ACCESS(READ)
/* Setting up EJBRoles Profiles for Naming roles */
RDEFINE EJBROLE CosNamingRead UACC(NONE)
PERMIT CosNamingRead CLASS(EJBROLE) ID(TSGUEST) ACCESS(READ)
RDEFINE EJBROLE CosNamingWrite UACC(NONE)
PERMIT CosNamingWrite CLASS(EJBROLE) ID(TSGUEST) ACCESS(READ)
RDEFINE EJBROLE CosNamingCreate UACC(NONE)
PERMIT CosNamingCreate CLASS(EJBROLE) ID(TSGUEST) ACCESS(READ)
RDEFINE EJBROLE CosNamingDelete UACC(NONE)
PERMIT CosNamingDelete CLASS(EJBROLE) ID(TSGUEST) ACCESS(READ)
如果 SAF 概要文件前缀已定义为 TESTSYS,并且配置组已定义为 TSTCFG,请输入下列 RACF 命令:
RDEFINE EJBROLE TESTSYS.administrator UACC(NONE)
RDEFINE EJBROLE TESTSYS.monitor UACC(NONE)
RDEFINE EJBROLE TESTSYS.configurator UACC(NONE)
RDEFINE EJBROLE TESTSYS.operator UACC(NONE)
RDEFINE EJBROLE TESTSYS.deployer UACC(NONE)
RDEFINE EJBROLE TESTSYS.adminsecuritymanager UACC(NONE)
RDEFINE EJBROLE TESTSYS.auditor UACC(NONE)
PERMIT TESTSYS.administrator CLASS(EJBROLE) ID(TSTCFG) ACCESS(READ)
PERMIT TESTSYS.auditor CLASS(EJBROLE) ID(TSTCFG) ACCESS(READ)
PERMIT TESTSYS.adminsecuritymanager CLASS(EJBROLE) ID(TSTCFG) ACCESS(READ)
/* Setting up EJBRoles Profiles for Naming roles */
RDEFINE EJBROLE TESTSYS.CosNamingRead UACC(NONE)
PERMIT TESTSYS.CosNamingRead CLASS(EJBROLE) ID(TSGUEST) ACCESS(READ)
RDEFINE EJBROLE TESTSYS.CosNamingWrite UACC(NONE)
PERMIT TESTSYS.CosNamingWrite CLASS(EJBROLE) ID(TSGUEST) ACCESS(READ)
RDEFINE EJBROLE TESTSYS.CosNamingCreate UACC(NONE)
PERMIT TESTSYS.CosNamingCreate CLASS(EJBROLE) ID(TSGUEST) ACCESS(READ)
RDEFINE EJBROLE TESTSYS.CosNamingDelete UACC(NONE)
PERMIT TESTSYS.CosNamingDelete CLASS(EJBROLE) ID(TSGUEST) ACCESS(READ)
服务器的 CBIND 概要文件定义
如果不存在 SAF 概要文件前缀,请输入下列 RACF 命令:
RDEFINE CBIND CB.BIND.BBO* UACC(NONE)
RDEFINE CBIND CB.BIND.TSTC001 UACC(NONE)
PERMIT CB.BIND.BBO* CLASS(CBIND) ID(TSTCFG) ACCESS(CONTROL)
PERMIT CB.BIND.TSTC001 CLASS(CBIND) ID(TSTCFG) ACCESS(CONTROL)
RDEFINE CBIND CB.BBO* UACC(NONE)
RDEFINE CBIND CB.TSTC001 UACC(NONE)
如果 SAF 概要文件前缀已定义为 TESTSYS,请输入:
RDEFINE CBIND CB.BIND.TESTSYS.BBO* UACC(NONE)
RDEFINE CBIND CB.BIND.TESTSYS.TSTC001 UACC(NONE)
PERMIT CB.BIND.TESTSYS.BBO* CLASS(CBIND) ID(TSTCFG) ACCESS(CONTROL)
PERMIT CB.BIND.TESTSYS.TSTC001 CLASS(CBIND) ID(TSTCFG) ACCESS(CONTROL)
RDEFINE CBIND CB.TESTSYS.BBO* UACC(NONE)
RDEFINE CBIND CB.TESTSYS.TSTC001 UACC(NONE)
注:
- 如果您要创建其作业名以 BBO* 之外的前缀开头的新的特定服务器,请输入下列 RACF 命令来定义特定 CBIND 概要文件:
RDEFINE CBIND CB.BIND.TSTC002 UACC(NONE) PERMIT CB.BIND.TSTC002 CLASS(CBIND) ID(TSTCFG) ACCESS(CONTROL) RDEFINE CBIND CB.TSTC002 UACC(NONE)
- 这些样本将创建具有特定服务器名的服务器定义(但是类属概要文件具有服务器前缀 BBO)。如果您已经创建了替代服务器前缀并且希望避免使用其他 CBIND 定义,请输入下列 RACF 命令来添加用于反映新名称的类属 CBIND 概要文件,其中 TST 是服务器作业名前缀:
RDEFINE CBIND CB.BIND.TESTSYS.TST* UACC(NONE) PERMIT CB.BIND.TESTSYS.TST* CLASS(CBIND) ID(TSTCFG) ACCESS(CONTROL) RDEFINE CBIND CB.TESTSYS.TST* UACC(NONE)
注:
- 虽然 SAF 概要文件前缀将 RACF 类(CBIND、EJBROLE 和 APPL)分隔开,但是它不会分隔分层文件系统 (HFS) 中的配置文件的文件许可权。例如,如果存在下列情况:
- 管理员是 WSCFG 组中的 WSADMIN
- 服务方区域标识为 WASSRV(它还必须属于 WSCFG 组)
- 用户 TOM 对 TEST.administrator EJBROLE 具有读访问权,但是对于 PROD.administrator EJBROLE 没有读访问权,
- 在 TEST 应用程序服务器中运行的流氓应用程序可以修改 PROD 单元中的 HFS 文件。这是因为 TEST 服务器使用属于 WSCFG 组的用户标识 WASSRV 来运行。WSCFG 组可以修改 TEST 和 PROD HFS 文件。为了获得最大限度的保护,应创建 PROD 并使其与 TEST 中的另一个 RACF 组相关联。此外,请考虑启用应用程序服务器和 z/OS 线程标识同步。此过程使得系统能使用 Java™ Platform, Enterprise Edition (Java EE) 标识(而不使用服务方区域标识)来执行 z/OS 系统服务(例如,写入 HFS)。有关更多信息,请参阅 z/OS 安全性选项。