SG 245677
SG 245677
SG 245677
Lydia Parziale
Ted Anderson
Bill Samsoe
Redbooks
IBM Redbooks
August 2024
SG24-5677-01
Note: Before using this information and the product it supports, read the information in , “Notices” on
page vii.
This edition applies to SecureWay Security Server Version 2, Release Number 10, Program Number
5645-001 for use with the z/OS Operating System
Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
The team who wrote this book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Now you can become a published author, too! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Comments Welcome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .x
Stay Connected to IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .x
Contents v
vi CA TopSecret to z/OS Security Server Migration Guide
Notices
This information was developed for products and services offered in the US. This material might be available
from IBM in other languages. However, you may be required to own a copy of the product or product version in
that language in order to access it.
IBM may not offer the products, services, or features discussed in this document in other countries. Consult
your local IBM representative for information on the products and services currently available in your area. Any
reference to an IBM product, program, or service is not intended to state or imply that only that IBM product,
program, or service may be used. Any functionally equivalent product, program, or service that does not
infringe any IBM intellectual property right may be used instead. However, it is the user’s responsibility to
evaluate and verify the operation of any non-IBM product, program, or service.
IBM may have patents or pending patent applications covering subject matter described in this document. The
furnishing of this document does not grant you any license to these patents. You can send license inquiries, in
writing, to:
IBM Director of Licensing, IBM Corporation, North Castle Drive, MD-NC119, Armonk, NY 10504-1785, US
This information could include technical inaccuracies or typographical errors. Changes are periodically made
to the information herein; these changes will be incorporated in new editions of the publication. IBM may make
improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time
without notice.
Any references in this information to non-IBM websites are provided for convenience only and do not in any
manner serve as an endorsement of those websites. The materials at those websites are not part of the
materials for this IBM product and use of those websites is at your own risk.
IBM may use or distribute any of the information you provide in any way it believes appropriate without
incurring any obligation to you.
The performance data and client examples cited are presented for illustrative purposes only. Actual
performance results may vary depending on specific configurations and operating conditions.
Information concerning non-IBM products was obtained from the suppliers of those products, their published
announcements or other publicly available sources. IBM has not tested those products and cannot confirm the
accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the
capabilities of non-IBM products should be addressed to the suppliers of those products.
Statements regarding IBM’s future direction or intent are subject to change or withdrawal without notice, and
represent goals and objectives only.
This information contains examples of data and reports used in daily business operations. To illustrate them
as completely as possible, the examples include the names of individuals, companies, brands, and products.
All of these names are fictitious and any similarity to actual people or business enterprises is entirely
coincidental.
COPYRIGHT LICENSE:
This information contains sample application programs in source language, which illustrate programming
techniques on various operating platforms. You may copy, modify, and distribute these sample programs in
any form without payment to IBM, for the purposes of developing, using, marketing or distributing application
programs conforming to the application programming interface for the operating platform for which the sample
programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore,
cannot guarantee or imply reliability, serviceability, or function of these programs. The sample programs are
provided “AS IS”, without warranty of any kind. IBM shall not be liable for any damages arising out of your use
of the sample programs.
The following terms are trademarks or registered trademarks of International Business Machines Corporation,
and might also be trademarks or registered trademarks in other countries.
CICS® OS/390® VTAM®
Db2® RACF® z/OS®
IBM® Redbooks® z16™
IBM Security® Redbooks (logo) ®
IBM z16™ Tivoli®
UNIX is a registered trademark of The Open Group in the United States and other countries.
Other company, product, or service names may be trademarks or service marks of others.
Broadcom Top Secret and the IBM® z/OS® Security Server (RACF®) are both Mainframe
Security products. In some areas, their designs are similar, and in other areas the designs are
very different. Planning a migration from Broadcom Top Secret to z/OS Security Server RACF,
without unduly disrupting an z/OS production environment, requires considerable planning
and understanding. With proper planning, and, if needed, specially skilled people to assist in
certain areas, the migration can usually be accomplished in an orderly way.
This IBM Redbooks® publication describes the higher-level issues and differences between
the two products as an important starting point.
Lydia Parziale is a Project Leader for the IBM Redbooks team in Poughkeepsie, New York,
with domestic and international experience in technology management, including software
development, project leadership, and strategic planning. Her areas of expertise include
business development and database management technologies. Lydia is a PMI-certified PMP
and an IBM Certified IT Specialist with an MBA in Technology Management. She has been
employed by IBM for over 30 years in various technology areas.
Ted Anderson is a Mainframe Specialist in the United States. He has 40 years of experience
in the IT field, 26 years of which are with IBM.
Bill Samsoe is a Mainframe Security Specialist in the United States. He has 40 years of
experience in the IT field.
Find out more about the residency program, browse the residency index, and apply online at:
ibm.com/redbooks/residencies.html
We want our books to be as helpful as possible. Send us your comments about this book or
other IBM Redbooks publications in one of the following ways:
Use the online Contact us review Redbooks form found at:
ibm.com/redbooks
Send your comments in an email to:
redbooks@us.ibm.com
Mail your comments to:
IBM Corporation, IBM Redbooks
Dept. HYTD Mail Station P099
2455 South Road
Poughkeepsie, NY 12601-5400
The design and development of the z/OS Security Server RACF follows a published
architecture that adheres to standards. Resource Access Control Facility (RACF) does not
modify or front-end any modules nor does it dynamically place hooks into product code.
RACF uses the z/OS provided SAF interface. By following standards and by using the SAF
interface, RACF provides reliability and allows for ease of release to release migration. Also,
RACF also provides day-1 support for new system technology and new product releases.
RACF also exploits these new technologies. When IBM moved from MVS to z/OS, there was
a perception in the marketplace that the name of RACF changed to z/OS Security Server
RACF. IBM created a “security umbrella” as a delivery vehicle for IBM z/OS security-oriented
software. RACF is but one of the products in the Security Server. In z/OS Security Server
RACF, there are six products:
1. DCE Security Server
2. Lightweight Directory Access Protocol (LDAP) Server
3. z/OS Firewall Technologies
4. Network Authentication Service for z/OS
5. Enterprise Identity Mapping (EIM)
6. PKI Services
IBM has positioned the z/OS Security Server RACF as the security product that delivers the
support and exploitation of new technology inside the glass house and in the e-business
arena.
With the LDAP Protocol Server, IBM continues this tradition outside of the glass house. The
z/OS Security Server RACF delivered the LDAP Server as one of its products before many
companies even knew about the new Lightweight Directory Access Protocol. Now those
same companies are ready to provide applications and directories that use the LDAP Server
on z/OS. The companies can provide the applicatins with the confidence of knowing that the
server was delivered as part of the z/OS Security Server RACF.
The Firewall Technology product of the z/OS Security Server delivers a set of features that
can be used alone or with the Firewall Technologies that are provided in the z/OS
Communications Server, a standard part of the z/OS Operating System. When used together,
you have a full function z/OS Firewall ready to use. The Virtual Private Network (IPsec)
support of the z/OS Firewall is one of the areas where it excels.
The RACF product of z/OS Security Server 1.4 first introduced support for Digital Certificates
and Public Key Infrastructure (PKI), z/OS Security Server RACF 1.8 greatly enhanced that
support. Again, RACF has technology available to you for you to move into the world of
e-business. The following is a high-level list of the supported technology features:
Digital Certificate Authentication providing integration between PKI Technology and
traditional RACF Authentication.
Certificate mapped to RACF user ID to provide seamless access to z/OS resources.
User self-registration of digital certificates.
Processing of certificate revocation lists by the IBM HTTP Server for z/OS.
RACF can generate digital certificates.
RACF supports the use of passwords longer than eight characters, often called pass phrases.
A pass phrase is a character string that can comprise mixed-case letters, numbers, and
special characters including blanks, from 14 to 100 characters in length. Pass phrases allow
for an exponentially greater number of possible combinations of characters and numbers than
do passwords.
The Remote Sharing Facility (RRSF) of RACF is an integrated feature of the RACF product,
so you can administer and synchronize multiple RACF databases. RRSF is granular so that
you can make the choices that fit your business. For example, some or all commands and
passwords can be synchronized automatically, or they can be targeted to one or more of the
databases being managed. IBM provides this integrated feature with the utmost of integrity by
encrypting the transmission of data and by providing automatic recovery if the transmission is
interrupted.
Password
Password RACROUTE changes
changes
RACDEF ADDGROUP
ADDGROUP
RACXTRT ADDSD
ADDSD
RACF ICHEINTY
RACF ADDUSER
ADDUSER
add
ALTDSD database alter
delete
database ALTDSD
RACF has a number or logging and reporting options that allow a Resource Owner to identify
users who attempt to access the resource. In addition, you and your Auditor can use these
functions to log all detected successful and unsuccessful attempts to access the RACF DB
and any RACF protected resources. Logging all access attempts to detect possible security
exposures or threats.
Both the Report Writer and DSMON are still supported and shipped with z/OS Security
Server RACF. IBM met customer requirements by adding the following two additional
reporting options:
1. The RACF Database Unload feature
2. The SMF Unload feature
By using these features, you can unload the RACF database and the violation records from
SMF into flat files. IBM includes a comprehensive set of Db2-based reporting queries to meet
your needs. Also, you can use any SQL-based language or product to create reports from the
flat files. This method of reporting allows you to combine data stores to create more
informative trend analysis reports on a user, system, or across platforms.
The RACF product that is delivered with version 2.8 of z/OS Security Server includes an
administrative enhancement for reporting, called RACFICE, which was formerly only available
through the web. This feature includes numerous sample reports, and it uses the DFDSS
ICETOOL report generator. This can be beneficial to organizations that do not have Db2.
They can use the database and SMF Unload utilities without the need to write their own
queries. Additional reporting options can be found in the IBM product Performance Reporter
for z/OS. Performance Reporter includes several predefined reports for RACF in its extensive
list of performance-related reports.
The RACF Remove ID utility can help increase the productivity of security administrators. The
administrator can use the utility to search for an occurrence of a user ID or group. The results
of the returned search are a set of RACF commands to delete the user ID or group and its
related access permissions. The administrator can mark the ones to delete, as it might not be
appropriate to delete all occurrences. The administrator can submit the results to delete the
user IDs or groups.
The base support of both RACF and Broadcom Top Secret includes Identification,
Authentication, and the use of Secondary Authorization IDs. This is not the issue. The
comparison is between the RACF/Db2 external security module and the Broadcom Top
Secret Db2 add-on product. By using either the Broadcom add-on products or the RACF/Db2
feature, you can realize the benefits of moving your Db2 security administration function out
of Db2 and into your z/OS security product. Db2 is an outstanding database product. By
including the Db2 add-on for Broadcom Top Secret, you can configure a robust level of
security administration that most organizations prefer. Figure 1-2 on page 7 shows an
overview of Db2 external (RACF) Security.
DSNDXAPL
FASTAUTH
19 New Classes
SYSIBM.SYSTABLES e.g. DSNADM, MDSNTB, etc
For organizations currently using internal Db2 security administration, you can use RACF to
phase in the RACF/Db2 function while you move from internal to external Db2 security
administration. After you begin protecting Db2 Resources by using the RACF external
security module, the RACF/Db2 external security module examines the RACF profiles first. If
there is not a RACF Profile to protect the Db2 Object, then the RACF/Db2 external security
Product benefits
Because the administrative function is included in RACF, no additional maintenance is
reqiured. The Broadcom Top Secret solution is delivered in a separate product, so there is an
additional product to maintain, upgrade, and test.
The external security module is included in the SAMPLIB member IRR@XACS. It is coded
and fully supported by the IBM RACF development team. This means that you can call the
IBM support center for assistance if you have any problems with this code, and they can
accept APARs if it is determined that a problem does exist.
The external security module is installed in Db2 at the Access Control Authorization Exit
point. This allows RACF and Db2 to use the standard SAF interface, which eliminates the
need to install or modify any Db2 product code. IBM’s implementation of the external security
module provides any vendor the ability to perform Db2 security administration within its
product by using the industry standard SAF interface without the requirement of modifying or
overlaying Db2 code.
The IBM RACF development team works in concert with the Db2 development team to make
sure that this module works and that it continues to work as each product comes out with new
releases and versions. As a user of this function, you can feel confident that you have day-one
support of new releases and versions.
Financial benefits
The RACF/Db2 external security module code is included with RACF for use with Db2 V5 and
higher at no additional cost. The competitive product, Broadcom Top Secret Option for Db2, is
sold as a separate product.
If you are trying to cost justify the migration to RACF and currently have funds for the
Broadcom Db2 add-on product allocated in your budget, then you can release all OTC funds
and the annual maintenance fee. Usually, the amount of money that is saved can be used to
cover the migration charges for the SMPO’s Security Migration Team to advise and assist you
with your migration.
Broadcom products can be subject to upgrade charges when your CPU is upgraded or a new
CPU is purchased.
Broadcom purchased Platinum, the company that released the RC Secure product. If you use
RC Secure, then you might also be able to discontinue that product when you implement the
RACF/Db2 function. When your contract has ended for RC Secure, you can also realize those
savings.
If you use Broadcom Top Secret for Db2 add-on product, then you can quantify the benefits of
migrating to RACF by determining the number of hours the systems programming staff
expends installing and maintaining this product annually. Subtract one hour per year from that
Since the early to mid nineties, organizations began taking a second look at RACF. Often the
initial reason to consider migrating was, and still is, a dissatisfaction with their current vendor.
When these organizations researched the implications of migrating to RACF, they also
realized that RACF had become a robust product. It became clear that IBM committed itself to
making RACF the best security product on the z/OS operating system.
In 1986 RACF had roughly a 28% market share in the United States. This is based on the
number of RACF licenses that are billed in z/OS environments. RACF was the number three
product behind Broadcom ACF2 and Broadcom Top Secret.
In 1993 the penetration grew to approximately 38%, and by 1998 the penetration was 70%.
The rise in market share in the United States had finally caught up with the rest of the world,
and as of 2023 the penetration rates are based on the worldwide penetration of RACF on
z/OS systems.
At the end of 1999, the RACF penetration rate had exceeded 100%. Some machines have
more than one security product running in separate LPARs. Therefore, the marketplace
actually exceeds 100%. We estimate that there is possibly a 110% penetrated market,
meaning that RACF is licensed on over 70% of z/OS licenses. The remaining approximately
40% of the market is shared between Broadcom Top Secret and Broadcom ACF2.
There might be some confusion from clients when they hear that RACF is the best security
product for z/OS. The reason for this confusion lies with understanding the basis for the
penetration rates that are quoted by various vendors. Be sure to ask other vendors how many
operating systems and how many products are included in their penetration number. The
penetration rate that is used by IBM includes only actual revenue-producing licenses running
only on the z/OS operating systems.
This chapter provides a high-level overview of the z/OS Security Server RACF and the
security enhancements of the IBM Communication Server for z/OS.
The primary component of the z/OS Security Server is the Resource Access Control Facility
(RACF). RACF works closely with z/OS to protect its vital resources. The z/OS Security
Server is built from a strong security base that is provided by the RACF component. The z/OS
Security Server RACF can incorporate other components that aid in securing your system as
you make your business data and applications accessible from your intranet, extranets, or the
internet.
By using an entity known as the RACF user ID, RACF can identify users requesting access to
the system. The RACF user password or valid substitute, such as RACF PassTickets or
Digital certificate, authenticates the RACF user ID. RACF supports the use of PassTickets as
other products use this to present a single sign-on environment to users at their workstations.
After a user is authenticated, RACF and the resource managers control the interaction
between that user and the objects they try to access. Figure 2-1 shows an overview of RACF
and its functions.
U ser identification,
and authentication
RA C F R esource authorization
checking and system
RAC F access control
Digital certificates can be mapped to the RACF user ID to provide seamless access to z/OS
resources, as shown in Figure 2-2 on page 13.
l
IBM
wal
Browser
HTTP Server Server
Fire
e
at
for z/OS
fic
z/OS
rti
Ce
You can enable users to self-register their digital certificates (Figure 2-3) to ease the
administration of digital certificates.
Webpage calls
RACF the initACEE
USERID/PASSWORD callable service to
register certificate
RACF
Database
Figure 2-3 Overview of the self-registration process
Certificate name filtering support was added to associate many certificates to a single,
shared RACF user ID without installing each certificate into the RACF database. Certificate
filters substantially decrease the amount of database storage and the system administration
requirements that are associated with processing numerous certificates.
RACF program control enhancements were created to provide better security and integrity of
z/OS UNIX server and daemon programs. This is accomplished by providing more control
over the execution environment and preventing uncontrolled programs from entering a
controlled environment. Environment control is accomplished through a service, IRRENS00,
which marks an environment as either controlled (clean) or uncontrolled (dirty).
Application identity mapping provides an improved method for associating identities that are
defined by z/OS UNIX for z/OS.
Through integration with RACF and with z/OS DCE support, RACF-authenticated z/OS users
can access DCE-based resources and application servers without having to further
authenticate themselves to DCE. Also, DCE application servers can, if needed, convert a
DCE-authenticated user identity into a RACF identity and then access z/OS resources on
behalf of that user with full RACF access control. Figure 2-4 shows an overview of the DCE
and RACF interoperation.
MVS
subsystems
Logon Appl
RPC RPC DCE
end user
End user using
Ticket Cache CICS, IMS, TSO....
The z/OS Communications Server provides the firewall functions of Internet Protocol (IP)
Packet Filtering, IP Security with Virtual Private Networks (VPNs) or tunnels, and Network
Address Translation (NAT).
The z/OS Security Server provides the firewall functions of FTP proxy support, socks daemon
support, logging, configuration, and administration.
z/OS Firewall Technologies supports on-demand dynamic VPNs. On-demand VPNs allow an
automatic configuration of an outbound Security Association (SA) when the designated
network traffic requires that it be transmitted securely through a VPN. Figure 2-5 shows the
potential usage of VPN technology.
R e m o te
A ccess
B u s in e ss
P a rtn e r/
S u p p lie r
In tra n e t
In te rn e t
B ran ch
O ffic e
C o rp o ra te In tra n e t
In tra n e t
RACF data presents a large set of user, group, and profile information that is useful to
applications in other environments or on other systems. By using a z/OS LDAP server, this
item makes RACF information that is accessible through System Authorization Facility (SAF)
interfaces available to programs on and off the z/OS platform. Figure 2-7 shows an overview
of the z/OS LDAP server and the back-end systems that it supports.
RACF interfaces with the z/OS LDAP server by defining proxy information about the z/OS
LDAP server so that other products can communicate with an LDAP directory. It uses a proxy
segment within the profile for the LDAPBIND class for communication. You can also set up an
LDAP Event Notification for changes to RACF users, groups, and general resources.
Alternatively, user ID and password authentication of LDAP Client Access to the z/OS LDAP
Directory Server can be handled by z/OS Security Server RACF rather than by accessing
user IDs and passwords that are stored within the LDAP server directory.
z/O S Im age
slapd.conf schem a
D B 2 D atabase R A C F D atabase
Figure 2-7 Overview of the z/OS LDAP server and supported back-end systems
Encrypted passtickets are issued by a Kerberos authentication server. Users and servers
must have keys registered with the server, and the passtickets flow to and from the servers
covered by a session key. Kerberos application servers can use SAF callable services to
parse Kerberos tickets to map the passtickets to RACF users. RACF can authenticate the
user to determine whether they can access the system.
The Network Authentication Server provides the basis of consistent user identification and
authentication in a heterogeneous networked environment when combined with
Kerberos-aware applications that can span z/OS and other platforms that support the
Kerberos reference implementation.
The security client locates the z/OS Security Server through one of three methods:
1. By using LDAP, when the LDAP server is specified in the Kerberos configuration files
2. By using the Domain Name Service (DNS), when DNS lookup is specified in the Kerberos
configuration files
3. By using static information technology that is contained in the Kerberos configuration files,
when the LDAP or the DNS server is not available or the target realm is not defined in the
directory.
OCEP functions are used by applications that comply with Common Data Security
Architecture (CDSA) standard interfaces. This makes it easier for application developers and
independent software vendors (ISVs) to develop and port applications to the z/OS platform. It
also helps customers apply consistent security rules to applications that use digital
certificates. Figure 2-9 on page 19 shows an overview of the OCSF and OCEP.
O C S F S e c u rity A P I
O C S F F ra m e w o rk CSP TP CL DL
M anager M anager M anager M anager
CSP TP CL DL
S e rv ic e P ro v id e rs
P ro vid e rs P ro vid e rs P ro vid e rs P ro vid e rs
PCICC works with the CMOS cryptographic coprocessor that is standard on those servers.
PCICC is not a substitute for CMOS cryptographic coprocessors and in fact requires that the
CMOS cryptographic coprocessors be enabled. Without affecting applications, IBM z/OS
routes requests to the appropriate crypto engines for processing.
The z/OS Security Server provides all the requirements for security on z/OS. With its
integration of RACF and DCE Security, its contribution to the z/OS Firewall Technologies, the
LDAP server, and RACF support for client authentication by using digital certificates, the z/OS
Security Server RACF provides complete security both for traditional host-based data
processing and for safely expanding your enterprise onto the internet.
The objective of RACF access control is to protect data sets and other data processing
resources from unauthorized destruction, modification, or disclosure, whether by accident or
design. To be effective, security procedures should be easy to use and place no additional
burden upon data processing management. RACF controls users and protects resources.
Users are identified by a user ID and authenticated by a password. A RACF user is identified
by an alphanumeric user ID. However, a RACF user does not have to be an individual. For
instance, a user ID can be associated with a started task address space or a batch job.
Resources can be divided into two categories, data sets and general resources.
There are many other resources that can be protected. For a full list of Resource Types or
Resource Classes, see Security Server RACF System Programmer's Guide, SA23-2287.
At IPL, RACF requires the RACF primary data set names (DSN) that contain the user and
resource definitions.
One way to satisfy this requirement is to place these names in PARMLIB. To activate the
RACF subsystem, update the IEFSSNxx member of SYS1.PARMLIB, assign a RACF user ID
to the RACF subsystem, and review the RACF PROC in SYS1.PROCLIB. The RACF
subsystem must have a valid user ID. The RACF subsystem cannot be initialized if a valid
user ID is not assigned to it. The PROC name for the RACF subsystem must be the same as
the name in IEFSSNxx. When you use PARMLIB to supply the data set names and other
options, IEASYSxx needs a line with RACF=xx. Then the member IRRPRMxx supplies the
information.
If MSTRJCL does not contain a proper DD statement, the final way to satisfy the
requirement is that the operator is prompted for the name of the RACF database.
Consider the following points when selecting one of the three methods:
1. RACF at startup
Requires the names of the DSN containing user and resource definitions, these names
can be located in PARMLIB
2. MSTRJCL
You can define only one RACF database (the primary database). No secondary RACF
database definition is allowed.
3. Operator reply
Suitable for early tests, a conversion is an iterative process. Replying with the RACF
database name at IPL time might provide flexibility to back out to a previous iteration
stage if errors are encountered and the current IPL is in error.
The role of each component in the security process is discussed in other topics. The
information that is passed is discussed in the following sections.
The application directs a request to RACF. Depending on the type of request, information is
passed along with the request, as shown in Example 3-1 and Example 3-2.
The security interface formats the information that is gathered by the application to be used
by the security monitor RACF and passes it to the System Authorization Facility (SAF).
SAF determines what actions are required to process the request and can forward the
request to RACF if needed. If requested, RACF then performs the check by verification
against data that is retrieved from the RACF Database. Although Figure 3-1 might indicate
RACF always returns a return code as a response to a request. A reason code might also be
returned. For list-type requests, RACF also returns the requested data.
A return code of 0 indicates a valid request. A non-zero return code of 4 might be acceptable,
depending on the resource manager giving the message. A return code of 8 indicates an
error. These return codes are passed to the resource manager that issued the request. It is
up to the resource manager to take appropriate action.
User profiles might also contain user attributes. These attributes describe the privileges and
restrictions that the user has. Attributes are classified as either user-level or group-level
attributes. When attributes are assigned at the user level, the scope of the attributes is at the
system level, and privileges that are granted are across the entire system. When attributes
are assigned at the group level, the corresponding privileges are restricted to a group or the
scope of the group in which attributes are assigned. Related product data might also be
recorded in user profiles. The set of data for a specific product is called a segment. At the
user level, the following segments might be included:
DFP
LANGUAGE
NDS
NETVIEW
OMVS
OPERPARMS (for MCS extended console sessions)
OVM
TSO
WORKATTR (for APPC/z/OS processing)
For more information on each Segment's content, see the corresponding topic in this book, or
in z/OS Security Server (RACF) Command Language Reference, SA23-2292.
The ability to define attributes at the System or Group Level is used to build the correct
administrative structure for RACF. The SPECIAL and AUDITOR attributes, which are
defined at the appropriate level, are used to achieve centralized or decentralized security
administration.
For conversion purposes, users are often classified as TSO users, started task users (STC)
or others
In the RACF database, there is no special definition for a TSO user, an STC user, or other
users. All are RACF users. The Default Group, Attributes, and other values in the Profiles
make the difference.
Note: A RACF user ID can range from one to eight characters in length, but a RACF user
ID that is used for TSO LOGON must not be longer than seven characters.
An entry in the RACF database describing a group is called a group profile. A group profile
contains the group name, the superior group, the owner name (if not the superior group), a list
of all RACF groups that have the described group as its superior group, and a list of user IDs
that are members of the group.
The scope of a group is confined to all resources and users within that group and those of all
groups that are subordinate to that group.
3.3.3 Owner
Each entry (or profile) in the RACF database has an owner. The owner must be a
RACF-defined USER or GROUP. For ease of administration, group ownership is
preferred. The RACF owner of a profile has full administrative authority over the profile. If
the profile is a user or a group profile that is in turn designated as the owner of other
profiles, the RACF owner of the top profile has full administrative authority over the other
profiles.
Both are considered resource profiles. RACF subdivides resource profiles into two types:
discrete profiles and generic profiles.
A discrete profile protects a single resource that has unique requirements. This profile can
contain the following features:
A description of the resource, which includes the authorized users
The access authority of each user
In the case of data sets, the volume of the data set.
A generic profile protects several resources that have a similar naming structure and security
requirements. This profile contains a description of the resources, including the authorized
users and the access authority of each user. For more information on discrete and generic
profiles, see z/OS Security Server (RACF) Security Administrator's Guide SA23-2289.
Data sets
Data set resources include both DASD and TAPE data sets, and are described in the RACF
database as data set profiles. A data set profile contains information about the data set profile
owner, universal access, and other optional information, such as the device volume serial
number and data set security classification.
Before a data set profile can be created in the RACF database, a group profile or user profile
having the data set high-level qualifier (HLQ) as the group or username must be defined. This
group or user is used in the RACF database as an anchor point for all profiles that have the
same HLQ.
When a data set can be protected by several different profiles, RACF searches for the
best-fitting profile. The search is made from the most specific profile to the least specific.
Access is then granted or denied according to the security classification associated with the
data set and the user requesting access, the access lists contained in the selected resource
profile, and user attributes.
General resources
A general resource is any resource other than a data set. For example, transactions, TSO
logon procedures and job SYSOUT are general resources. RACF defines the set of general
resources in a Class Descriptor Table (CDT), which identifies a RACF class of entities by the
resource class name. This table includes the resource class name, all syntax rules, and
auditing and statistical control.
A standard IBM-supplied CDT is installed with RACF at initialization time. You can append
your unique class names to the standard CDT to represent your installation's requirements
outside of those identified by RACF. For more information on the Class Descriptor Table and
on how to add new resource classes, see Chapter 10. Administering the dynamic class
descriptor table (CDT) in the z/OS Security Server RACF Security Administrator's Guide.
A conversion to RACF might require you to add installation-defined classes to the standard
CDT.
Protection of a general resource can be achieved through use of one or several profiles,
either specific or generic. Note that:
No anchor point is needed for general resource profiles (unlike data set profiles).
Authorization is the same as for data sets.
For most of the general resource classes, a relationship exists between a class called a
member class and another class called a grouping class.
The class TCICSTRN, for example, is a standard RACF resource class in which one can
create profiles to protect one or several similarly named CICS transactions.
For example:
A transaction named TRN1 can have a profile in the TCICTRN class with a resource name
of TRN1.
All transactions whose names begin with TRN can have a profile in the TCICSTRN class
with a resource name of TRN*.
But you might want to define transactions TRN5, TRTA, and XYZ as having the same
protection and authorization requirements.
You can then use the CICS grouping resource class name of GCICSTRN. Our grouping
transaction profile can then be defined in the GCICSTRN class with a name of
MYOWNAME and members TRN5, TRTA, and XYZ. This profile then controls access to
all the member transactions. MYOWNAME is an arbitrary unique name within the
GCICSTRN class. This name is assigned by the installation to be a meaningful
mnemonic. Consider grouping classes when converting protection rules from another
security system.
The conversion project includes setting appropriate values for all general options to provide
equivalent RACF functions when converting from another security product. When needed,
changes to these values are mentioned in the appropriate chapters. For a complete
description of RACF options, see z/OS Security Server (RACF) Command Language
Reference SA23-2292 and z/OS Security Server (RACF) Security Administrator's Guide
SA23-2289.
For performance purposes, this one database can be broken into several files spread across
system DASD volumes.
For recovery purposes, this base can be mirrored onto another database. The main database
is referred to as the primary database. The mirror database is referred to as the secondary
database.
Modifications to the primary database are reflected in the secondary database at the time that
they occur. RACF database definitions allow flexibility in the information to be mirrored,
providing the secondary database is online and active.
One of the main tasks in a conversion process is the generation of many RACF commands.
These are typically used as input to several batch TMP jobs to load the RACF database with
security information. The creation, review, edit, and running of such files is an iterative
process during the conversion. The following list is a brief review of the main commands:
Commands directed to USER Profiles:
ADDUSER (AU) Add User Profile
ALTUSER (ALU) Alter User Profile
DELUSER (DU) Delete User Profile
DELUSER (DU) Delete User Profile
LISTUSER (LU) List User Profile
PASSWORD (PW) )Specify User Password
CONNECT (CO) Connect User to Group
REMOVE (RE) Remove User from Group
SEARCH (SR) Search for User Profiles
Commands directed to Group Profiles:
ADDGROUP (AG) Add Group Profile
ALTGROUP (ALG) Alter Group Profile
DELGROUP (DG) Delete Group Profile
Figure 3-4 on page 32 shows an overview of all RACF commands. For complete details
about each command, see z/OS RACF Command Language Reference, SA23-2292.
3.4 Interfaces
This section describes the interfaces to RACF.
One of the major problems in converting from another security system to a RACF security
system is the inventory of all interfaces used by the non-RACF security product. You might
discover that an exit interface has been used by the non-RACF security product to bypass a
You can verify which exits are active by reviewing the RACF DSMON report. Some exits
can do both pre- and post-processing. Normal RACF usage does not require the use of
any exits. The exits provide interfaces for changing normal RACF processing and include
some of the more common exits:
Command exits - ICHCNX00/ICHCCX00
These exit routines allow the installation to associate additional security checking, or
processing, with certain RACF commands, or to bypass checking altogether.
Authorization exits - ICHRCX01/ICHRCX02
The RACROUTE REQUEST=AUTH exits can alter the decision-making process that determines
whether a user should have access to a resource.
Define exits - ICHRDX01/ICHRDX02
The RACROUTE REQUEST=DEFINE exits can alter the creation (or deletion) of profiles. These
might be used to enforce local standards.
Verify exits - ICHRIX01/ICHRIX02
The RACROUTE REQUEST=VERIFY(X) exits can alter the authentication processing for a user.
Password encryption - ICHDEX01
This exit can be used to alter the form in which passwords are stored.
Password checking exit - ICHPWX01
This exit can be used to check for trivial passwords and enforce local password rules in
addition to normal RACF password rules.
Data set naming convention table - ICHNCV00
This table allows the installation to set up and enforce data set naming conventions that
are different from standard RACF naming conventions. For example, you might need to
perform RACF checking on the second-level qualifier of a data set and not the first, which
is the way RACF normally works.
By default, all resources (any component of the operating system required by a task) are not
protected on a system with Broadcom Top Secret installed and active. You must set
system-wide or resource-specific options to enable access to resources. Broadcom’s Top
Secret operates in four modes:
1. DORMANT. Broadcom Top Secret is installed and is not actively validating resources.
2. WARN. Broadcom Top Secret is active, and validating resources, but instead of failing
requests, it generates warning messages.
3. IMPL. Broadcom Top Secret is active, validating resources, and failing unauthorized
access requests. Undefined users can operate normally, but are restricted from defined
resources.
4. FAIL. Broadcom Top Secret is in full control of resources.
For example, for data sets, RACF has the PROTECTALL option with values of FAILURES and
WARNING. These values help map the Broadcom Top Secret MODE Parameter values (FAIL
and WARN).
In Broadcom Top Secret, the data sets a user can access are determined by checking the XA
DATASET rules related to that user. These rules are found in both the individual user ACID
and any profile ACIDs to which the user belongs.
There are three checking sequences, depending on which Broadcom Top Secret startup
option is used. If the more common one AUTH(OVERRIDE,ALLOVER is used, then the
following checking sequence is used:
1. Rules in the user ACID are checked. If a rule meets the criteria, no further checking is
performed.
2. Rules in any profiles assigned to the user are checked, and each profile is checked in the
order that it is listed in the user ACID. If a rule meets the criteria, no further checking is
performed. If multiple accesses for a resource are located, access is granted or denied
based on the access rule containing the most specific match.
3. Rules in the ALL record are checked.
The following example shows a user's access to a resource in each of the AUTH options:
User ACID = USER01
Profiles = PROF01 and PROF02, and they are assigned to USER01 in that order
– USER01 contains the following resource definitions:
• XA DATASET - TECH.TEST.APPS01 - ACCESS = READ
• XA DATASET - TECH.*.APPS01.LOADLIB - ACCESS = UPDATE
– PROF01 contains the following resource definition:
• XA DATASET - TECH.TEST - ACCESS = UPDATE
– PROF02 contains the following resource definition:
• XA DATASET - TECH.*.APPS01.LOADLIB - ACCESS = NONE
The ALL Record contains the following resource definition:
– XA DATASET - TECH.TEST.APPS01.LOADLIB - ACCESS = EXECUTE
Broadcom Top Secret profiles can also be referred to as RACF functional groups. Both
products use this concept in the same way. Typically, all resources needed to perform a
particular function are permitted to the same Broadcom Top Secret profile or RACF functional
group, rather than to each individual user performing that function. Each product has a way of
associating the right users with the right Broadcom Top Secret profiles or RACF functional
groups. For more information about functional groups, see z/OS Security Server (RACF)
Security Administrator’s Guide, SA23-2289.
In RACF, no users have functional groups as their default group. Users are instead connected
to these groups to access the resources that these functional groups are permitted to use.
The term profile has a different meaning in RACF than the Broadcom Top Secret definition.
For a definition of profile as used by RACF, see z/OS Security Server (RACF) Security
Administrator’s Guide, SA23-2289.
Broadcom Top Secret is started as a task by the START command, and runs in its own
address space. Broadcom Top Secret is stopped by entering a STOP (P) command with the
proper procedure name on a z/OS operator console.
All Broadcom Top Secret data is stored in the Broadcom Top Secret security file in an
encrypted format.
The ALL Record is a list of resource rules (data set and others) similar to a profile, except it is
always the last place Broadcom Top Secret looks for a resource rule to check against. If an
appropriate rule cannot be found in the ALL Record, then access to the resource depends on
the overall security mode that Broadcom Top Secret is in, such as WARN and IMPLEMENT.
The functions of the ALL Record in Broadcom Top Secret are handled by the Universal Access
Authority (UACC) in RACF. The UACCs are not stored in one central RACF list, but are defined
separately for each RACF profile.
4.2.2 Personnel
Broadcom Top Secret administrators are needed to obtain information on how Broadcom Top
Secret is implemented in the installation. The following section describes the personnel
involved in the security administration in Broadcom Top Secret.
The Broadcom Top Secret administrative hierarchy has the following levels:
Master Security Control ACID (MSCA) is converted to RACF System-Special.
Central Security Control ACID (SCA) is converted to RACF System-Special.
Limit Central Security Control ACID (LSCA) is converted to RACF Group-Special.
Zone Control ACID (ZCA) is converted to RACF Group-Special.
Divisional Control ACID (VCA) is converted to RACF Group-Special.
Departmental Control ACID (DCA)- is converted to RACF Group-Special.
Broadcom Top Secret has control options to define the security environment. These options
are defined in the Broadcom Top Secret parameter file. Some examples include Password
Definition, Mode, Tape Dataset Security, Facility, and Violation Logging.
In Broadcom Top Secret, a resource protection definition is called a resource rule. Some
examples of resource rules are:
XA Dataset for Dataset Protection
XA Facility for Application Protection
XA Terminal for Terminal Protection
XA Otran for Transaction Protection
The that Broadcom Top Secret uses to access z/OS subsystems includes the following:
TSO
Broadcom Top Secret provides the ability to control access to TSO, commands, and
ISPF/PDF panels.
CICS
Broadcom Top Secret provides the ability to control access to CICS. Security access can
be implemented at a transaction level or resource level.
Broadcom Top Secret implements a sign-on interface for CICS to further control the
environment of the CICS user. The interface might include a new sign-on transaction
name and a different sign-on panel.
IMS
Broadcom Top Secret provides the ability to control access to IMS. Security access can be
implemented at a transaction level or resource level.
Db2
Broadcom Top Secret provides the ability to control access to Db2. When Broadcom Top
Secret Option for Db2 1.3 is installed, native Db2 security is disabled. Db2 also provides a
separate subsystem in the product for security. For more information, see Top Secret
Option for Db2 1.3.
The information presented here was gathered from several Broadcom Top Secret to RACF
conversions. The project examples represent a typical, generic project that converts only one
Broadcom Top Secret database to RACF, with expected completion within three to six
months. The actual time that it takes you to complete your migration can differ, depending on
the nature and complexity of your project.
There is no guarantee that, for any particular conversion, the information that is contained in
this manual is either complete, accurate, or even appropriate. Any individual security usually
has tasks associated with it that are unique and specific to that particular migration. However,
there are also many tasks that are common to all security migrations. The purpose of this
document is to describe those tasks, so you can decide whether the task is appropriate for
your particular migration.
Some of the tasks in a security project involve determining how other products, such as CICS,
IMS and Db2, interface with RACF or Broadcom Top Secret. Whenever those tasks are
discussed in this book, you are usually referred to the documentation of the other product. It
would be difficult, if not impossible, to accurately maintain that kind of information in a manual
of this type. Instead, this book concentrates on providing information not readily found in other
sources, such as creating a security plan and providing some practical guidelines for
converting your Broadcom Top Secret database to an equivalent RACF database.
This chapter describes how to prepare for the project, build the project plan, and schedule the
necessary resources. The need for assessing the current environment and suggested
personnel skills are also discussed.
Your overall goal is to build as complete a plan as possible, using information from this book
or other sources. The plan should identify all required tasks, who will do them, and when the
tasks should be completed.
Typically, this means that you must examine each vendor product (for example, OEM)
implemented in your environment and determine what must be done, if anything, for each
product to work with RACF. Usually, each vendor’s product documentation provides RACF
installation instructions. Identify all vendor product features that you are using that RACF
does not have an equivalent function for then determine alternative ways of providing the
same protection using RACF functions. Also, check your z/OS base product code for any
security-related Usermods, Accounting Exits, JES2 exits, and others.
As you assess the Broadcom Top Secret database and uncover potential issues, ask whether
a current business need still exists which caused the original implementation of the security
feature. If a need still exists, determine a solution to convert the feature to the RACF
environment. Many solutions can be found using either procedural controls or automated
solutions.
If you choose to convert your Broadcom Top Secret database, usually you must write or
obtain automated programs that can assist in database conversion. Typically, these programs
or tools use the information in the Broadcom Top Secret database to create RACF
Because of the differences between the way Broadcom Top Secret and RACF protect
resources, any database conversion requires that you ensure the RACF commands
implement the same or better access control integrity than the Broadcom Top Secret
environment.
If you choose to write your own conversion programs, the programs might take several
months to write, and they must be ready before the start of unit testing. In addition, you
should do several RACF database loads during the development phase to ensure an
adequate amount of testing.
If you choose to obtain the conversion programs from other sources, ensure that you can
customize these programs to fit your individual needs.
Note: It is very important that you understand the amount of work that is required to
convert your Broadcom Top Secret database. Several chapters of this book are devoted to
this topic. Review them thoroughly before making your decision.
To analyze your current system environment, start by listing all installed hardware and
software products. Identify which ones have security interfaces, or might otherwise be
affected by this conversion. (This research is similar to what you might do in preparation for a
systems software upgrade, such as a ServerPac Installation.)
For each product that has a security interface, determine how RACF can provide the same
protection. Also determine the amount of work required to have the product work with RACF,
instead of Broadcom Top Secret.
Ensure that the RACF test system is dedicated to the project for about two to three months to
complete this project in a timely and efficient manner. A dedicated test system is one that is
available during the normal working day so that the project team can work on the environment
during their normal day-to-day work schedule.
Because of system constraints, a smaller system might limit the amount of RACF testing. At
some point, the RACF tests must be run on a second more comprehensive test system. The
second system might not be available as a dedicated system. .
Install RACF on a test system that is separate from the Broadcom Top Secret production
system. Although upgrading or installing any product is not required for the sole purpose of
5.1.2 Personnel
A typical security project involves people with the job descriptions that are listed in Figure 5-1.
Personnel who work on the migrations often perform multiple duties throughout the project.
As you determine which tasks need to be done, also determine how many people are needed
to perform the tasks to ensure a successful migration.
Frequently, the security administrator is also responsible for coordinating all testing, updating
all security procedures, and educating end users in RACF. Because the responsibilities of the
security administrator for technical issues, they are usually too busy to be the project
manager.
A key factor to the success of any project is having a security administrator on the team who
knows why past decisions were made. The security administrator can also provide guidance
on whether current business needs exist for transferring functions into the RACF
environment.
In some cases, the z/OS systems programmer also installs and customizes any vendor
(OEM) program products that use security interfaces. Vendor product documentation usually
contains specific instructions to set up their product to use RACF.
5.1.3 Education
Determine who must receive RACF education before the project starts, when the education
should be completed, and which classes should be attended. This education might include
formal IBM-taught classes, self-study courses, or classes that are developed in-house for
help desk or end-user training. Schedule and attend RACF education for performing
day-to-day administration before starting the project.
If the answer to the first question is yes, then that is identified as a potential migration issue.
Also, the amount of overall work that is involved in converting CICS security to RACF, and
who does that work, is identified in the plan. You do not begin that work until you have
determined that the issue identified in the first question does not cause a delay in the overall
project.
In all cases, determine whether a current business need exists for the project task. If
something was done in Broadcom Top Secret that does not need to be carried forward into
the RACF environment, then this item does not need to be addressed.
Figure 5-2 shows a typical project plan by phase lasting over 14 weeks. There are seven
major phases to the migration project: assessment, education, project planning,
development, unit testing, integration testing and production cutover.
Project management
Throughout the project, monitor and adjust the plan that you created at the beginning of the
project.
Planning
In this phase, a detailed project plan is developed for the remainder of the project. It lists who
to involve, what other resources are needed, all the security interfaces currently in effect, and
any issues to resolve before proceeding to the next phase. Typical significant checkpoints are
the initial load of the RACF database, testing, and cutover.
Identify anything that might be interpreted as a significant technical project issue. Identify any
issues that might adversely affect the project time frame. For example, if the test system is not
available for several months, there is no need to have the online systems programmers
preparing their products for RACF.
Often, the support and approval of the end-user community is needed before beginning this
project. Often, the information from this phase is used to help obtain that support and
approval.
Testing
The following list describes a typical RACF testing sequence or cycle:
Create a RACF database to match the Broadcom Top Secret database.
IPL the test system with RACF.
Implement the test plans.
Review the results.
Make any corrections to the conversion programs.
Retest the system.
Several testing cycles are usually needed before your RACF environment is ready for testing
against the full production system. This usually takes several weeks of effort.
Unit testing
Unit testing tasks focus on verifying the initial RACF database, system Environment, and
selected important applications. You identify any differences between the old and new
security environments, make any necessary corrections, and retest until you’re satisfied.
Integration testing
In this phase, test your RACF environment against the full production system. Ensure that
major applications within the company are not adversely impacted. This is usually done on
weekend shifts. If there are no major problems during this phase, you can convert to RACF.
Another option is to publish a set of items, or expectations, which would potentially trigger a
backout. Some examples include inadequate testing of security functions and applications not
After the migration to RACF is complete, determine whether any user access problems exist
against what the access was in Broadcom Top Secret. Because you might not be able to log
on to Broadcom Top Secret, ensure that you have the LIST(ACID) reports for all ACIDs
available or any other report used to diagnose and solve user access problems. These files
and reports can be written to DASD files as part of the cutover process for easy accessibility.
You can also migrate Broadcom Top Secret to your test environment concurrent with the
RACF production environment cutover and then log on to Broadcom Top Secret to resolve
problems.
Production cutover
Before migrating RACF to production, test RACF with the full production system, similar to the
way a test is run on a z/OS software upgrade before putting it into production.
Successful migrations freeze all changes to Broadcom Top Secret shortly before the cutover
weekend. The conversion tool is run one last time and a final RACF database is built. All
modified exits and interfaces are installed and passwords are synchronized.
In this table, the full-time or part-time designation represents the allocation of time on the
project in relation to their overall job responsibilities. For example, if the teammate can work
20 hours per week on the project, then a full designation would mean 20 hours of
level-of-effort.
Production Cut-over
Integration Testing
Development
Assessment
Unit Testing
Education
Planning
Project manager Full Full Full Part Part Full Full
z/OS systems programmer Full Full Part Full Part Full Full
Online systems programmer Full Part Part Full Part Full Full
Application project leaders Full Part Part Part Part Full Full
5.4 Summary
In summary, the success of the project depends on the quality of the project plan and the
deployment of the right project team members with the right skill level at the right time. Other
considerations might include management involvement, choice of test systems, education,
application involvement and timing considerations.
Management involvement
You need strong management commitment to undertake a major migration of any kind.
Owners or managers of production applications, in particular, must be involved in testing
phases. This is an additional task for these people and there must be sufficient management
commitment to force testing compliance on a reasonable schedule.
Test system
It is not practical to run both Broadcom Top Secret and RACF on the same z/OS system.
Likewise, it is not practical to undertake a migration to RACF without having a RACF system
available for testing. In this case testing means a large range of testing, which is not practical
on any production system. Therefore, you need a RACF z/OS system to use solely for test
purposes.
In practice the test system is usually a Logical Partition (LPAR) on a larger processor. With
some care, the test z/OS can share DASD with your production data, which can make testing
easier. You can clone your production z/OS and then remove Broadcom Top Secret and
install RACF. Alternatively, you can install a new z/OS with RACF already integrated. In either
case, systems programming time is needed to install, make ready, and maintain the test z/OS
system.
Education
You can obtain a reasonable overview and understanding of RACF by reading the RACF
manuals. This is sufficient for many purposes. However, if you are the project manager, or
intend to be the primary RACF specialist in the organization, arrange for formal RACF
education.
The bulk of basic Broadcom Top Secret user records and resource rule records can be
automated. However, testing the results of this conversion and discovering and migrating all
the special cases that exist, without disrupting production can be difficult. Nevertheless, this is
the requirement for almost all Broadcom Top Secret to RACF migrations. It is these practical
considerations that dictate the resources and personnel needed for migration.
No single plan can apply to all situations. However, a project plan of three to six months with
one full-time person and several part-time people working on the project is typical.
One of the lasting aphorisms of the data processing business is Garbage In - Garbage Out,
commonly known as GIGO. Although it is a complex, one-time activity, migrating a security
database from one product to another is a data processing function, especially when an
automated tool is used to help perform part of the work. A clean input database at the
beginning of the migration helps produce a higher-quality result. The migration process or
tools cannot automatically clean up substantial problems in the initial database.
The first choice is usually the best one. You understand your current Broadcom Top Secret
database and have the skill to review it. Reviewing and correcting a large security database
can reduce future problems. Some migration tools might help you clean up your current
database.
Schedule pressures might push you toward the second choice of migrating the existing
database without correcting before migration. The problem with this approach is the cleanup
after migration. The migration process might amplify the problems in the original database.
The conversion of a Broadcom Top Secret database to a RACF database is not a simple,
one-to-one process. Small anomalies in the input that might be easily corrected before the
migration, can create large unwanted structures in the output.
Determine a pre-conversion review process to detect and correct obvious errors in the
database. The review process can also consider design and philosophical changes that
In practice, you might use all three choices: some clean up of the original database, some
clean up of the RACF database, and by using the resulting database in production.
Zones GROUPs
Users USERs
An essential piece of the conversion process is the selection of a RACF administrative group
structure. The structure is usually based on the Broadcom Top Secret structure. Ensure that
the RACF structure allows for user administration and user access authorization.
Typically, you write these reports to files on DASD, then process the information in them by
using a conversion tool that provides automated processing through application programs or
REXX execs.
The commands that are shown in Table 6-2 are used to define the ACIDs to RACF.
Example 6-1 Listing zone, division and department ACIDs with output
Command:
TSS LIST(ACIDS) DATA(ALL) TYPE(ZONE)
Output:
ACCESSORID = ZONE1 NAME = ZONE ONE
TYPE = ZONE FACILITY = *NONE*
CREATED = 04/20/98 LAST MOD = 04/20/21
ACIDS = DIV1(V)
Command:
TSS LIST(ACIDS) DATA(ALL) TYPE(DIV)
Note: ACIDs can start with numerics in Broadcom Top Secret, such as DIV=123DIV. In
RACF, a group must start with an alphabetic character. If you have ACIDs that start with a
numeric, change the ACID names.
Conversion of Broadcom Top Secret profiles is more complex because of the differences in
philosophy of the two products.
Broadcom Top Secret profiles become what RACF refers to as functional groups. Both
products use this concept in the same way. Typically, all resources that are needed to perform
a particular function are permitted to the same Broadcom Top Secret profile (or RACF
functional group), rather than to each individual user performing that function. Each product
has a way of associating the right users with the right Broadcom Top Secret profiles or RACF
functional groups.
In Broadcom Top Secret, the profile consists of the resources common to a group of users
and is permitted to each user needing the resources. In RACF, the functional group is a list of
users who access the same set of resources.
The term profile has a different meaning in RACF than the Broadcom Top Secret definition.
The profile in RACF is a record in the database. You can have group profiles, user profiles,
data set profiles, and so on. For more information about RACF profiles, see z/OS Security
Server (RACF) Security Administrator’s Guide, SA23-2289.
Also, all resources that these Broadcom Top Secret profiles can access are defined to RACF,
and the function group, for example, PROF1, is permitted to the resource definition. All users
who were associated with these Broadcom Top Secret profiles are connected to the
corresponding RACF functional groups with the CONNECT command.
CONNECT USER1 GROUP(PROF1) OWNER(PROF1)
CONNECT SCA1 GROUP(PROF1) OWNER(PROF1)
CONNECT VCA1 GROUP(PROF1) OWNER(PROF1)
CONNECT DCA1 GROUP(PROF1) OWNER(PROF1)
CONNECT $USER3 GROUP(PROF3) OWNER(PROF3)
Table 6-3 lists some of the Broadcom Top Secret ACID and resource rules that are
subparameters of the RACF ADDUSER command. The RACF default group can be either the
DEPT or DIV ACID:
Security administrators are defined as users in RACF. In addition, they are given the
SPECIAL attribute, which denotes them as having the special privileges and authority that is
typically associated with security administrators. The functions that the administrator is
required to perform determines any additional required parameters. For example, the
CLAUTH parameter is used if the user has authority over selected user IDs.
Example 6-4 List system, zone, division, and department security administrators with output
Command:
TSS LIST(ACIDS) DATA(ALL) TYPE(SCA)
Output:
ACCESSORID = SCA1 NAME = MASTER SECURITY
TYPE = CENTRAL FACILITY = BATCH,STC,TSO
CREATED = 04/20/92 LAST MOD = 04/20/21
PROFILES = PROF1
ATTRIBUTES = CONSOLE
BYPASSING = NODSNCHK,NOVOLCHK
XA DATASET = SYS1. OWNER(SYS1)
There is a slight distinction between the way you add a user with the system SPECIAL
attribute and the way you add a user with the GROUP-SPECIAL attribute. In Example 6-5,
SCA1 is a user with system SPECIAL authority, and VCA1 and DCA1 are users with
GROUP-SPECIAL authority.
Do not attempt to map the attributes that are associated with the Broadcom Top Secret
security administrators on a one-to-one basis to RACF. Instead, understand what privileges
you can assign to RACF security administrators and what RACF commands are available to
do that. For more information, see z/OS Security Server (RACF) Security Administrator’s
Guide, SA23-2289. Section 6.2.7, “Password” on page 65 lists some of the RACF translations
for the Broadcom Top Secret privileges that can be reviewed.
6.2.7 Password
For conversion purposes, decide whether you want to keep the same password across the
conversion or if you want to change passwords for all the users. Usually, keeping the
password as a non-expired password is the preferred option.
Broadcom Top Secret user passwords are stored in the Broadcom Top Secret database.
You must set a temporary password in RACF for all users. Retrieve the Broadcom Top
Secret passwords by using the Broadcom Top Secret TSSINSTX exit. Modify this exit so
that the passwords can be retrieved for each user on the system.
Define a password for ALL users. By default, the password is the same as the default group
name. If this is unacceptable, issue an ALTUSER PASSWORD command similar to the one
shown in the following example to provide a password of your choice:
ALU USER1 PASSWORD(PASSW1) NOEXPIRE
For each user with a password, you can issue the ALTUSER PASSWORD NOEXPIRE
command from a Systems Level SPECIAL user ID to set the password and have it not expire.
Password intervals must be set equal to or less than the system default interval defined in the
Systems Options (SETROPTS).
User attributes
The user attributes are converted to similar attributes in RACF.
AUDIT. Both products can AUDIT users of the system and both are called AUDIT. RACF
also has options for levels of Auditing in the Systems Options, such as SAUDIT,
OPERAUDIT, and LOGOPTIONS.
SUSPEND/ASUSPEND. Both the SUSPEND and ASUSPEND users can be converted as
REVOKED users in RACF. To continue ASUSPEND Function, several design
considerations are required.
BYPASSING. Broadcom Top Secret allows bypassing of security checking at granular
levels such as NOVOLCHK, NODSNCHK, NORESCHK and NOLCFCHK. z/OS allows
bypassing by use of the Program Property Table (PPT) and RACF allows bypassing for
some users, such as started task TRUSTED function. Otherwise, access will be checked
for resources.
The way RACF protects data sets (and all other resources) is sometimes referred to as
protection based On the resource. This means that, when deciding whether a user can access
a certain data set, RACF starts with the data set profile, and then checks the access list of
that profile for an appropriate user ID or group.
This difference can create an issue when trying to convert Broadcom Top Secret data set
protection and other resources to RACF. The following discussion illustrates the problem.
In Broadcom Top Secret, all three users have READ access to SYS1.LINKLIB. USER1 and
USER2 have UPDATE access to SYS1.LINKLIB. The fact that USER3 has an XA DATASET
rule that more closely matches the data set (SYS1.LINKLIB) being accessed has no bearing
on whether USER1 and USER2 can access SYS1.LINKLIB. This is because when Broadcom
Top Secret determines whether a user should be given access to a particular data set, it looks
only at the XA DATASET rules that are associated with that particular user. Also, different XA
DATASET rules can be used to access the same data set.
To convert the preceding rules to RACF on a 1-to-1 basis, use the following RACF
commands:
ADDSD 'SYS1.**'
PERMIT 'SYS1.**' ID(USER1) ACCESS(UPDATE)
ADDSD 'SYS1.LINK*.**'
PERMIT 'SYS1.LINK*.**' ID(USER2) ACCESS(UPDATE)
ADDSD 'SYS1.LINKLIB*.**'
PERMIT 'SYS1.LINKLIB*.**' ID(USER3) ACCESS(READ)
To match the Broadcom Top Secret protection, put USER1 on the access list of all other
profiles that start with SYS1. Also, put USER2 on the access list of all other profiles that start
with SYS1.LINK. To do that, use the following additional PERMIT commands:
PERMIT 'SYS1.LINK*.**' ID(USER1) ACCESS(UPDATE)
PERMIT 'SYS1.LINKLIB*.**' ID(USER1) ACCESS(UPDATE)
PERMIT 'SYS1.LINKLIB*.**' ID(USER2) ACCESS(UPDATE)
After the commands are issued, USER1 can access any data set starting with SYS1.
because they are on the access list of all the data set profiles that start with SYS1. Similarly,
USER2 can now access any data set starting with SYS1.LINK because they are on the
access list of both profiles that start with SYS1.LINK.
The process of allowing users access to the correct resources by putting all users on the
access list is called undercutting and is similar to the undercutting philosophy used in
Broadcom Top Secret.
When USER1 attempts to access a data set, the DSNAME of that data set is compared to XA
DATASET rules in the user ACID. If all the characters in the XA DATASET rule match the start
of the DSNAME in the exact order, then that rule is used to determine what access Level
USER1 has to the data set. If more than one XA DATASET rule could apply to the same data
set, then the rule with the largest number of matching characters is the one chosen. If no
rules apply in the user ACID, then Broadcom Top Secret checks for XA DATASET rules in any
profiles the user is associated with, which is usually in the profile order listed in the user ACID.
According to the previously stated rules, USER1 can access any of the following data sets:
Data sets starting with CICS.USER, with either UPDATE or CONTROL Authority
Data sets beginning with SYS1., with READ Authority
Data sets beginning with SYS1.PROCLIB, with UPDATE Authority
Note that in the previous example, both the second and third rule could apply when USER1
accesses SYS1.PROCLIB. The third rule is used because it has a larger number of matching
characters.
Issue PERMIT commands to add USER1 to the access list of the profiles protecting those
data sets. In addition, you must specify the access authority (READ, UPDATE) so that it
matches what USER1 had in Broadcom Top Secret, as follows:
PERMIT 'CICS.USER*.**' ID(USER1) ACCESS(CONTROL)
PERMIT 'SYS1.**' ID(USER1) ACCESS(READ)
PERMIT 'SYS1.PROCLIB*.**' ID(USER1) ACCESS(UPDATE)
RACF also requires the high-level qualifier for every data set to be fully qualified. Where you
have defined Broadcom Top Secret data set rules with generic characters or without a trailing
period, convert the rule to fully qualified rules for the actual data sets they are intended to
cover. Table 6-4 provides two examples of possible data sets in Broadcom Top Secret and
how they are converted as RACF rules. The period in the first rule limits the RACF rules to
any three alphanumeric characters preceded by ABC. The second rule restricts the first six
characters to XYZ111 but can have any number of alphanumeric characters after the first six.
Table 6-4 Broadcom Top Secret data sets converted to RACF rules
Broadcom Top Secret rule Matching RACF fully qualified rule
ABC+++.a ABCAAA
ABCBBB
ABC123
XYZ111b XYZ111
XYZ1112
XYZ11123
a. Generic characters, +++, if data sets exist
b. No period at the end
The exception to generics in the high-level qualifier is the Broadcom Top Secret rule in the
ACID to indicate the user has ALL access to their own data. This is the default in RACF, so a
rule is not needed.
XA DATASET = %.
ACCESS = ALL
If the access is not ALL, exits must be written to restrict user access to their own data.
Standard access
The access Level a user has to a data set in Broadcom Top Secret, such as READ or
UPDATE, is determined by checking the ACCESS subparameter that immediately follows the
XA DATASET rule. The RACF equivalent to this is the ACCESS subparameter of the PERMIT
command. A suggested mapping chart to use when converting access authority in Broadcom
Top Secret to RACF is shown in Table 6-5. The list is arranged in order from highest to lowest
access authority. Throughout this book, the terms access and access authority often mean the
same thing.
ALL ALTER
ALTER ALTER
SCRATCH ALTER
CREATE ALTER
CONTROL CONTROL
WRITE UPDATE
UPDATE UPDATE
READ READ
FETCH EXECUTE
NONE NONE
In Broadcom Top Secret, if more than one value is listed in the ACCESS subparameter, then
when converting to RACF, choose the value that is the highest among all the values listed for
that data set in Broadcom Top Secret. In the example in 6.3.2, “Data set conversion overview”
on page 67, USER1 had both UPDATE and CONTROL access authority in Broadcom Top
Secret. When converting to RACF, the CONTROL value was chosen because it was the
higher of the two values.
Ownership access
You must add the owner of the data set to the access list with ALTER access if the data set is
owned by an individual. In the following example, USER1 will need to be on the access list for
any data set beginning with the high-level qualifier of DEPART1.
ACCESSORID = USER1 NAME = AARON AARDVARK
TYPE = DCA SIZE = 512 BYTES
CREATED = 03/25/98 LAST MOD = 07/01/2116:42
LAST USED = 03/26/98 13:40 CPU(CPU1) FAC(TSO ) COUNT(00606)
DATASET = DEPART1.
XA DATASET = SYS3.LINK
ACCESS = READ
Universal access
The Universal access (UACC) for a data set is equivalent to the resources in the Broadcom
Top Secret ALL record. Generally, the UACC should be NONE and the special access of ID(*)
Because RACF uses only the most specific rule defined in the database for any given data
set, any user who can access the data set from their user ACID or any permitted profile ACID
must be on the RACF access list. The following are examples of the undercutting issue in the
authorization scenarios.
AUTH(OVERRIDE,ALLOVER)
This is the most common setting and the default. Consider the following example:.
PROF1 PROF2
XA DATASET = SYS1.LINK XA DATASET = SYS1.LINKLIB
ACCESS = READ ACCESS = UPDATE
USER1
PROFILES = PROF1 PROF2
USER2
PROFILES = PROF2 PROF1
In Broadcom Top Secret, USER1 has READ access to SYS1.LINKLIB because PROF1 is
first in the list of profiles. USER2 has UPDATE access to SYS1.LINKLIB because PROF2 is
first in the list of profiles.
In RACF, when the resources from the profiles are converted, they have both USER1 and
USER2 connected to group PROF1 and group PROF2. The following access lists are the
result after the correction for the undercutting process discussed previously:
SYS1.LINK*.** SYS1.LINKLIB.**
PROF1/READ PROF1/READ
PROF2/UPDATE
USER 2 has the same access in both Broadcom Top Secret and RACF. USER1 would be
incorrect because they have UPDATE and previously had READ access. The authorization
flow for RACF shown in Figure 3-2 on page 25 shows that any user on an access list is used
before any functional groups (profiles). Therefore, to resolve that access issue, USER1 is put
on the access list as an individual user. Note that not only USER1 is on the access list
individually, but also add ALL users with PROF1 in this order.
For conversion, any data sets with similar or partial names must be reviewed to determine
that they are not in PROFILE lists for users so that the preceding problem is not created. If
such a situation exists, it should be corrected on the Broadcom Top Secret database, or each
affected user must be put in the access list for all the affected resources in the PROFILEs.
In Broadcom Top Secret, USER1 has READ access to SYS1.LINKLIB because the access is
found by using the longest matching name in all the Merged PROFILEs.
In RACF, when the resources from the profiles are converted, they have USER1 Connected to
group PROF1 and group PROF2. The following access lists are the result after the correction
for the undercutting process discussed previously:
SYS1.LINK*.** SYS1.LINKLIB.**
PROF1/UPDATE PROF1/UPDATE
PROF2/READ
USER1 is incorrect because they now have UPDATE and previously had READ access. The
authorization flow for RACF shown in Figure 3-2 on page 25 shows that any user on an
access list is used before any functional groups (profiles). Therefore, to resolve that access
issue, USER1 must put on the access list as an individual user. Note that not only USER1 is
on the access list individually. All users with PROF2 must be added.
To convert, any data sets with similar or partial names must be reviewed to ensure that they
are not in PROFILE Lists that can cause the problem described previously. If such a situation
exists, correct it on the Broadcom Top Secret database, or each affected user must be put in
the access list for all the affected resources in the PROFILEs.
AUTH(MERGE,ALLMERGE)
This option is closest to the RACF philosophy. However, this authorization is like the
AUTH(MERGE,ALLOVER) except that the ALL record must be considered in the merge
process.
6.3.7 Other Broadcom Top Secret to RACF data set migration Issues
This section details data set migration issues not covered previously.
ALL record
Sometimes in Broadcom Top Secret a user tries to access a data set, and there is no
appropriate XA DATASET rule in either the user ACID or any of the PROFILE ACIDs. The ALL
record is used by Broadcom Top Secret for those situations. This record is a list of resource
rules for data set and others that is similar to a profile, except it is almost always the last place
Broadcom Top Secret looks for a resource rule to check against. If an appropriate rule cannot
be found in the ALL record, then access to the resource depends on the overall security mode
that Broadcom Top Secret is in (WARN, IMPLEMENT, and so on). The functions of the ALL
record in Broadcom Top Secret are handled by the UACC (Universal Access Authority) in
RACF. The UACCs are not stored in one central RACF list, but are defined separately (default
access=NONE) for each RACF profile.
In RACF, the ADDSD WARNING subparameter is also used for putting a data set in WARN
mode, but it applies to all accesses to that data set by everyone, and cannot be given
selectively to only certain users. By default, RACF rules are in FAIL or DENY equivalent
mode.
FAC
Any XA DATASET rules with the FAC must be evaluated for the access you want the user to
have in all conditions. Access to data sets is provided to the list of users regardless of the
application that they are using:
XA DATASET = SYS1.LINK
ACCESS = READ
FAC = TSO
XA DATASET = SYS1.LINK
ACCESS = UPDATE
FAC = BATCH
Broadcom Top Secret controls access through the data set rule by using the LIBRARY and/
PRIVPGM parameters.
RACF uses the PROGRAM class to define the controlled programs and libraries. On the data
set profile the additional statement WHEN(PROGRAM(xxx)) results in a conditional access
list which is used to restrict access only through this program.
An example of the Broadcom Top Secret access rule entry is provided in Example 6-7.
UNTIL
In Broadcom Top Secret, use the UNTIL parameter to create an XA DATASET rule that
expires on a specified date. In Example 6-8, USER1 has access to the SYS1.LINKLIB data
set with ALL authority Until 12/04/22, at which time the access is revoked.
In Example 6-9, USER1 is granted ALTER access to SYS1.LINKLIB because they are
connected to the group EXPIRE1. This connection to that group will be revoked on 12/04/22,
and with it, their access to SYS1.LINKLIB.
Note: Broadcom Top Secret ignores the DSCB protect bit if it is set and if the TSSPARM
specifies ADSP(NO). RACF always checks the discrete profiles, DSCB bit on, first. If it is
possible that any data sets were created with the DSCB protect bit set, you should run the
TSSPROT utility to find and reset the bits before conversion to RACF.
Erase-on-scratch
Use erase-on-scratch (EOS) for confidential data to ensure that residual data cannot be
accessed after deletion. Residual data is a potential security exposure for confidential data. In
Broadcom Top Secret, EOS is done on a system level, based on the TSSPARM AUTOERASE
and MODE options. In RACF, it can be done on a data set level, so it can be very selective
and used without causing performance problems.
FACILITY CLASS(APPL)
XA OTRAN CLASS(TCICSTRN/GCICSTRN) or
user-defined CICS or IMS Class
XA ACID CLASS(SURROGAT)
XA TERMINAL CLASS(TERMINAL)
XA PROGRAM CLASS(PROGRAM)
XA IBMGROUP GROUP
XA user-defined CLASS(user-defined)
You can then create the necessary algorithm to convert that particular resource rule.
6.4.1 FACILITIES
A FACILITY in Broadcom Top Secret usually becomes an application in RACF. The APPL
general resource class is used by RACF to provide this type of protection. There is not always
a 1-to-1 correspondence between facilities and applications. Having access to a FACILITY in
Broadcom Top Secret often allows you access to more than one application. Some
applications that are defined as a FACILITY in Broadcom Top Secret, such as BATCH and
TSO, are not protected by the APPL class in RACF unless there is a product or application
that requires it.
As an example, the FACILITY statements in Example 6-12 can be converted to the RACF
statements in
You can use the information from these XA VOLUME rules to create a very limited type of
volume protection in RACF. For example, the FACILITY class in RACF can be used to
determine who can allocate space on a volume when creating data sets (Example 6-15). An
appropriate IGGPRE00 exit must be installed as well.
Also, the DASDVOL class in RACF can be used to grant access to data sets by volume
instead of by checking data set profiles. However, access is granted only when the user is
performing a DASD maintenance function, such as backing up a pack. Access is not granted
if the user is trying to browse or update the file.
For volume protection of BLP, RACF has the FACILITY class of ICHBLP to provide the same
function.
USER1 can now use Bypass Label processing on volumes starting with TAPE
For volume protection of ALL or READ, a special action, possibly an exit, is required to
preserve the function.
Example 6-16 and Example 6-17 list the Broadcom Top Secret and equivalent RACF
commands.
LCF AUTH for other than transactions must be evaluated. Often the facility is a TSO
command, which, if needed, can be converted to program protection for the module that is
called for the TSO command. Other facilities probably require new resource classes or exits
to control.
LCF EXMP commands can add many users to the access list with ACCESS(NONE) due to
undercutting issues. As previously stated, each PROFILE is a RACF group on the access list,
and the common way to prevent the group access from being used is to put individuals on the
access list. This method works for transactions and program protection. Other methods might
be required for other protected facilities.
6.4.5 Db2
There are three areas in which control of Db2 resources can be protected. These controls can
be implemented in both Broadcom Top Secret and RACF:
1. Control of access to Db2 subsystems
2. Control of access to Db2 secondary authorization IDs
3. Control of access to Db2 objects by using external security
Secondary authorization
An IBMGROUP in Broadcom Top Secret converts to a group in RACF. Define each XA
IBMGROUP rule to RACF by using the ADDGROUP command. The subgroup of each
IBMGROUP is the owner that is listed next to each XA IBMGROUP rule. Connect the
users who have these resource rules in their ACIDs to the corresponding groups in RACF.
For example:
Note that DB2GRP might be both a profile ACID and an IBMGROUP. This is allowable in
Broadcom Top Secret. However, in RACF you can use DB2GRP as a group or a user but not
as both. For example, if the same name was used as a PROFILE ACID and an IBMGROUP,
two groups with the same name would be created, which is not allowed. The people on the
connect list might not need both the secondary group and the functional group. You might
have to rename some of the IBMGROUPs or some ACIDs as part of the conversion effort.
Controlling access to Db2 objects using external security and its implementation is different in
Broadcom Top Secret and RACF. Some of the Db2 privileges in the Broadcom Top Secret
external security subsystem do not directly translate on a one-to-one basis. Conversion and
careful attention to this is needed to ensure these privileges get mapped to the correct RACF
classes.
After the RACF command is entered, USER1 can access the system through terminal A11.
Terminal definitions in RACF are for TCP/IP or LU definitions. The following steps
describe how to define this for RACF:
1. Define the terminal ID (VTAM LU name or TCP/IP address) as a protected resource to
RACF in class TERMINAL.
2. Run the following command:.
RDEFINE TERMINAL profile-name UACC(NONE)
3. Permit each user that can log on from this terminal (terminal id) by using the following
command:
PERMIT profile-name CLASS(TERMINAL) ID(userid) ACCESS(READ)
6.4.7 Program
RACF uses the PROGRAM class to define controlled programs and libraries. On the data set
profile, the additional statement WHEN(PROGRAM(xxx)) results in a conditional access list,
which is used to restrict access only through this program.
Define the program PAYUPDT in library 'PROD.LOADLIB' to the PROGRAM class as in the
following example:
RDEFINE PROGRAM PAYUPDT -
ADDMEM('PROD.LOADLIB'/volser/NOPADCHK) UACC(READ)
After running the commands, USER1 can submit jobs with USER=USER2. Typically, XA
ACID rules convert in a straightforward manner.
Because the DEPT ACID group in the Broadcom Top Secret is DEPT1, the RACF conversion
typically starts with the following entry:
ADDUSER $USER3 DFLTGRP(DEPT1) OMVS(...
To instead assign the OMVSGRP as the default, use the following command:
ADDUSER $USER3 DFLTGRP(OMVSGRP) OWNER(OVMSGRP) OMVS(...
CO $USER3 GROUP(DEPT1) OWNER(DEPT1)
If the user is created by an automated process with all users, then the following command can
change the default group:
CO $USER3 GROUP(OMVSGRP) OWNER(OMVSGRP)
ALTUSER $USER3 DFLTGRP(OVMSGRP)
To retrieve the currently defined procedures and users that are associated with them, you can
use the Broadcom Top Secret command TSS LIST(STC). The output is listed in
Example 6-19
Note that there are some PROCs that use the same user ID as another PROC, and there are
some that are unique to the PROC. This is the same as in RACF. There might be more started
tasks required in RACF than are defined in Broadcom Top Secret because RACF is started
sooner in the IPL process than Broadcom Top Secret so that it can protect more system
functions.
RACF has two methods to support started tasks: Started Class and Started Table. The
recommended method is the started class. In both cases, RACF uses a class or table to
associate a user ID and group name with a started procedure. Normal access checking is
performed for all started procedures using the associated RACF user ID and group name
defined. It is important to have the user and group definitions match in the class or table. If
they do not, the entry is not used and the default or undefined user is used for the started
task.
You can indicate that selected started procedures are considered as TRUSTED similar to the
BYPASS option in Broadcom Top Secret. TRUSTED allows access to data sets without the
user being on the access List.
The class or table might include a generic entry similar to the *DEF* entry STC = *DEF* ACID
= *BYPASS* in Example 6-19 on page 82.
The generic entry applies to all started tasks not defined in the class or table. The following
example lists sample class entries:
RDEF STARTED CICSPRDA.* OWNER(xxxx)
STDATA(USER(CICSPRDA) GROUP(STCGROUP) TRUSTED(NO)
RDEF STARTED *.* OWNER(xxxx)
STDATA(USER(=MEMBER) GROUP(STCGROUP) TRUSTED(YES)
For more information, see z/OS RACF System Programmer’s Guide, SA23-2287.
Table 6-7 System-wide options common to Broadcom Top Secret and RACF
Broadcom Top Secret RACF
ADSP ADSP/NOADSPa
AUTH(xxx,yyy) GRPLIST
AUTOERASE(NO) ERASE/NOERASE
MODE(...) PROTECTALL(...)/NOPROTECTALL
INACTIVE(nn) INACTIVE(nn)
NEWPW PASSWORD(...)b
PWEXP(nn) PASSWORD(INTERVAL(nn))
TAPE TAPEDSN/NOTAPEDSN
TEMPDS(NO) TEMPDS
a. Be sure to review “Discrete versus generic profiles” on page 74.
b. See PASSWORD options in Appendix B.4.1, “Passwords” on page 101.
Passwords
Many of the password rules can be converted. Listed are some of the RACF options. The
PASSWORD parameter of Systems Options specifies the monitoring and checking of
passwords by indicating the following sub-operands.
HISTORY() Specifies that 1 to 32 previous passwords are saved and compared to
a new password if specified.
INTERVAL() Indicates the number of days that the current password is valid (1 to
254). This value is used as a default for new users added with the
You can use the ICHPWX01 exit to perform additional checks for password rules, such as the
password cannot be equal to the user ID.
The PROTECTALL parameter pertains only to data set protection. General resources are
covered only by their existing Resource profiles with specified Access Levels and an optional
WARNING parameter. Note that default protection of General resources can be controlled by
“catch-all” profiles, such as a profile definition of ‘*’ with UACC=NONE.
For more detailed information about RACF’s system-wide options, see z/OS Security Server
RACF Command Language Reference, SA23-2287.
RACF commands are normally used for the first three tasks in this list. There are a number of
ways to enter RACF commands, and these are discussed in the following sections.
There are many ways to address the fourth task, database quality maintenance. The use of
the RACF SEARCH command or the IRRRID00 utility is a starting point and might be all that
is required. In more demanding cases, you might need to write or obtain an application to
address this area.
The fifth task, monitoring audit records, involves listing selected SMF records. The RACF
report writer, which is no longer actively maintained by IBM, can be a starting point. There are
many SMF reporting programs including the SMF unload utility that is part of RACF, which
can be used with Db2 or DFSORT’s ICETOOL.
The sixth task, physical care of the database, involves several utilities that are supplied with
RACF and also involves normal z/OS tuning activities.
7.2 Commands
Broadcom Top Secret and RACF both have their own command sets. In each case, ISPF
panels are available to ease the use of the commands, but the underlying line commands are
central to understanding the use of the product. Both products have extensive documentation.
For more information about RACF commands and syntax, see z/OS Security Server RACF
Command Language Reference, SA23-2292.
Most commonly, TSO line commands and the ISPF panels are used for day-to-day
administration and batch jobs are useful for bulk updates.
RACF commands that are issued from a z/OS operator’s console are useful in critical
situations but are not intended for routine administration. The operator must perform a logon
function with password authentication before entering RACF commands.
Both products have many commands, and many of these are used by only the security
administrator or systems programmers. Only a small part of each command set is used daily
by other administrators, help desk personnel, and end users.
RACF has four general types of database entities (profiles): User, Group, Dataset, and
General Resources. Each of these types has associated commands to add, modify, delete,
and list profiles. Table 7-1 lists the basic commands for these operations. The table shows, for
example, that the ALTGROUP command is used to alter a group profile.
Table 7-1 RACF commands to add, modify, delete, and list resources
User Group Dataset General
resource
This table is not intended to convey any of the ramifications of the indicated functions. More
detailed information on the functionality of the RACF commands can be found in Chapter 3,
“IBM z/OS Security Server RACF overview” on page 21. For complete definitions and the
syntax of the commands, see z/OS security Server RACF Command Language Reference,
SA23-2292-30.
The various privilege levels of RACF commands are described in detail in previous chapters.
The following list is a brief summary about the use of RACF commands:
Someone with the SPECIAL privilege can issue any RACF command, except those
restricted to auditors. SPECIAL users can grant themselves the AUDITOR privilege, and
then issue those commands. This level is usually restricted to a few security
administrators. The SPECIAL User typically issues global RACF Commands, constructs
important generic data set profiles, defines groups, and delegates Group-SPECIAL
authority.
Someone with a Group-SPECIAL privilege can issue RACF commands that affect only a
designated group, or its subgroups. A group can own many subgroups, providing many
ways to structure and delegate authority. Distributed security administrators typically have
Group-SPECIAL Authority for their areas. Help desk personnel might have
Group-SPECIAL authority.
The owner of a profile can issue several RACF commands that affect only that profile. In
practice, this means that the owner of a data set profile can control which users can
access data sets protected by that profile and at what level. The primary command that is
involved is PERMIT.
In the PROTECTALL environment, a RACF profile exists for a user’s HLQ, which is created
when the user ID is added to RACF. A user can grant permission to other users to access
their files by using the PERMIT. The PERMIT command might be the only RACF command
that typical users issue. In a well-designed environment, with appropriate use of generic data
set profiles, most users never need to issue PERMIT commands.
When the basic command structure is understood, the use of RACF commands instead of
Broadcom Top Secret commands should not present any problems. The more important
migration issues are the organizational processes that occur before any commands are
issued.
In practice, Broadcom Top Secret and RACF commands are issued from ISPF panels or from
the TSO command line by more experienced administrators. In both cases, a good
understanding of the security policy in use and the use of consistent naming conventions and
Group conventions are key to understanding and using the security administrative
commands. In both cases, commands can be batched by using the PGM=IKJEFT01 method
of running TSO functions in batch jobs.
There are two levels of reporting for z/OS security subsystems, status monitoring and event
monitoring. Status monitoring reflects the contents of the security database and describes
what is protected and how it is protected. Event monitoring reflects the security events that
occurred during a particular period, for example, which users logged on to the system, or
what attempted security violations were detected.
For both Broadcom Top Secret and RACF, event monitoring uses SMF records. There are
many programs and products available for listing SMF records.
The usefulness of event monitoring depends on what is monitored and what causes an SMF
record to be written. Broadcom Top Secret and RACF have options to define which events
cause an SMF record to be written. RACF has an orderly structure of auditing controls.
Controls exist at both individual profile levels and at the global Level. Auditing controls can be
selective, and a profile can be used to protect a single data set or protect many data sets with
similar high-level qualifiers.
RACF controls can be set to write SMF records on either access failures in which data set
access was prevented by RACF, or on access successes in which data set access was
permitted by RACF. Typically, successful accesses are not recorded, partly because the
volume of SMF records becomes too large. However, successful access reporting might be
appropriate for a carefully selected set of application data sets. Access failure events are
typically used to create an SMF record, which the security administrator reviews.1
RACF can also log to SMF changes to the RACF database, and can create records that
indicate the changes to user profiles. Changes to user profiles with any of the high-level
authorities, such as SPECIAL, should always be reviewed. Some of the key global controls
of RACF are related to auditing:
Use SAUDIT to log all commands that need a SPECIAL User Privilege. Use the logs to
review activities by these privileged users. You can also use SAUDIT to re-create profiles
and commands from SMF data in an emergency.
Use OPERAUDIT to log all data accesses that are granted to a user with the
OPERATIONS privilege because of this privilege. Accesses through normal access rights
are not logged.
Use both SAUDIT and OPERAUDIT to enable auditing of privileged users and their
activities.
Use CMDVIOL to switch RACF command reporting on and off. CMDVIOL records all
attempts to use RACF commands outside of a user’s authority.
Use LOGOPTIONS to specify logging options for different resource classes from no
logging to full logging. Use LOGOPTIONS to globally force logging of resources in one
class to avoid specifying the AUDIT option on each profile.
1 There are many different approaches to this. Some installations want to review every access failure, and others
check only for substantial patterns of access failures. An access failure is not a security failure; it is simply an
indication that the security subsystem was doing its job. In practice, reviewing every access failure tends to be
impractical.
In addition to the global and class options, each resource profile can have its own audit
requirements defined through the AUDIT option, from no logging to full logging. This setting
does not lower the logging requirement set by the LOGOPTIONS value for that class. All
profiles have a default AUDIT setting. For example, for data sets the default setting is
AUDIT(FAILURES).
UAUDIT can be set on a user profile to cause all RACF activity for that particular user to be
logged. It is an effective way to trace all activities of a user, but must be used with some
restraint to avoid writing too many SMF records.
Status monitor involves listing control settings in the security database, and monitoring
changes to these controls. SMF records, which are written by RACF, are useful for detecting
changes. Static information must be extracted from the database itself. Several tools are
provided by RACF:
DSMON (Data security Monitor) is a program for reporting on several security settings,
user privileges and protection status of important system data sets. It should be run
regularly to monitor any changes to any of these security areas.
The RACF ISPF panels offer a number of options to display various control settings.
RACFRW (RACF Report Writer) is an ad hoc reporting program. The report writer is
stabilized, so new functions are not reported. The traditional RACF functions such as data
set and resource violations can be reported.
The IRRDBU00, the RACF database unload utility, produces a sequential file that can be
used in various ways:
– Viewed directly or by using locally written programs
– Loaded into Db2 and searched there
– Used by a standard report-writing software
The IRRADU00 the RACF SMF data unload utility, produces a sequential file of
security-related audit data, which can be used in a number of ways:
– Viewed directly or by using locally written programs
– Loaded into Db2 and searched there
– Used by a standard report-writing software
The RACFICE reporting tool uses the ICETOOL function of DFSORT to produce various
reports by using the output of IRRDBU00 or IRRADU00 or both.
In summary, log and audit functions are an important part of an organization’s security policy.
The security policy must clearly define what is expected for logging and audit and how it is
used. This requires some skill and experience because a balance is needed between what is
practical, the effects on performance, and the problems of generating too much data.
Although RACF performs all authentication and authorization checking against its primary
database, all updates are automatically duplicated onto the active backup database. If the
primary database is lost, a switch to the backup database can be performed without the need
for an IPL or other recovery procedures.
To avoid false alarms, this switching capability is secured by a password under the control of
the central security administration. This feature can be used to enforce procedures that
require the involvement of security management in any RACF status change.
Both Broadcom Top Secret and RACF provide options in all these categories. Some of these
are not only performance options. They affect the policy design of the security database and
should be considered part of your high-level design.
If not deflected by a trusted or privileged property, RACF checks the GAC before processing
an access request. The GAC is an in-storage table that is owned by RACF. It is copied into
storage when RACF is started, and is static during operation, unless updated by a security
administrator. It is usually a very small table. The most typical use is to grant permission to
access (in any manner) a data set with the same HLQ as the caller. That is, a user can work
with their own data sets (as identified by a matching HLQ) without any further checking by
RACF. The GAC can contain lists of exceptions to the General Rules it sets, causing the
normal profiles to be checked for these exceptions.
This process can provide excellent performance. The exposure is that no other RACF
controls are checked. If, for example, the GAC gives all users READ access to all SYS1 data
sets, then no SYS1 data sets can have a general access level of NONE because the profiles
that try to establish this condition are not checked. The use of a GAC entry bypassed them.
The installation can specify a certain amount of buffer space to be dedicated to a RACF
cache, which is known as in-storage buffers. This space is in protected common storage. It is
pageable, but for practical purposes can be regarded as fixed because it is referenced
frequently. The use of this cache is transparent to policy design, and is a pure tuning function.
The cache is limited to RACF elements that are normally read-only, or write-through cache
data. The RACF database, on disk, must always reflect current data to other z/OS systems
sharing the same database.
RACF can manage a backup database and its primary database. Practically every
installation elects to have a backup RACF database, which should not be deleted. In
addition to profile updates, RACF writes statistical data in its database, for example, the
date and time of a user’s most recent TSO logon. There is an option to bypass updating
the backup database with statistical data. Many installations select this option. In the rare
event of a database failure that requires the use of the backup RACF database, some
statistical data will be missing. This is usually considered a reasonable tradeoff.
Customers can use the virtual lookaside facility (VLF) of z/OS to cache accessor environment
elements (ACEEs) and information for z/OS UNIX. If RACF finds information in VLF, it avoids
I/O to the database.
The IRRUT400 Utility, which is supplied with RACF, can be used to reorganize the database.
Database performance might degrade slightly over time as updates and changes occur. The
effect is minor, unless large databases are involved or many profiles were added and deleted.
A typical installation might use this utility to reorganize the database every six months.
The RACF use of cache in-storage buffers is based on a design that avoids cache coherency
problems in the presence of shared-system operation.
The elements of RACF operation that affect shared-system performance are all automatic.
There is no user tuning involved. The tuning items that are discussed are effective in both
single-system and multi-system environments.
The coupling facility allows z/OS and other software to share data concurrently among
multiple systems in the sysplex with the goal of maintaining a single system image. A sysplex
with a coupling facility significantly changes the way systems can share data. Data sharing is
the ability of concurrent subsystems or application programs to directly access and change
the same data, while maintaining system integrity. RACF can take advantage of the coupling
facility in the sysplex to provide security for the resources of all systems in a comprehensive
and centralized way. RACF allows you to use the coupling facility and shared RACF data to
help manage the security of resources for all systems in a sysplex.
Performance elements that do not interact with policy design, such as in-storage buffers and
database splitting, can be managed independently from the migration process. If the basic
migration process, which is normally done by using specialized software tools, provides
acceptable performance, then it might be advisable to postpone tuning these elements until
the end of the migration project.
A CICS installation would certainly want to enable FASTAUTH checking for its own
applications or program products as part of the migration. This should provide a substantial
performance improvement and integrate CICS usage into normal RACF operation.
7.6.3 Summary
Tuning can make a major difference in security subsystem performance. RACF offers a
number of major tuning options. Some of these interact with the security policy goals of the
system, and this aspect must be considered in the overall design of the RACF
implementation. With reasonable designs, RACF can offer significant performance
improvements, especially for key areas such as CICS.
This appendix addresses general policies such as complete RACF control over Users and
Resources, naming conventions and resource ownership. It also includes discussions of
effective and efficient security administration policies and RACF resource usage.
This appendix does not address mandatory access control policies because they have not
been observed in commercial environments.
Techniques to prohibit undefined user IDs vary with the processing environments, as outlined
in the following sections.
B.1.1 Batch
SETROPTS BATCHALLRACF is a Global RACF option that enforces the requirements for all
batch jobs to have a valid RACF user ID, either through coding USER=user ID in the job
statement or through propagation (inheritance).
B.1.2 TSO
To prohibit undefined TSO users, all user IDs defined in SYS1.UADS must also be defined to
RACF. The recommended implementation is to use RACF TSO segments for all TSO Users
and to keep only a few emergency user IDs in SYS1.UADS. In any case, procedures must be
implemented to ensure that the RACF database and whatever entries remain in SYS1.UADS
are synchronized, and that user IDs deleted from RACF are also removed from the
SYS1.UADS data set.
Undefined user IDs for started procedures can be prohibited by coding a generic entry
containing a default ID such as */STCDEF/STCGRP and by ensuring that all entries in the
table are error-free.
User IDs that are assigned to started procedures should have the PROTECTED attribute.
Protected user IDs are user IDs that have both the NOPASSWORD and NOOIDCARD
attribute. Protected user IDs cannot be used to logon to the system, and are protected from
being revoked through incorrect password attempts.
A Started Procedure can gain access to RACF-Protected Resources in the following ways:
By the user ID or Group Name assigned, as for any other user of the system.
By having the Privileged Attribute, which allows the Started Procedure to pass all
authorization checking. No installation exits are called, no SMF records are generated,
and no statistics are updated. Use this option with extreme caution.
Policy enforcement for all environments can be complemented by monitoring SMF Audit Trails
and, if required, by coding a RACINIT exit that terminates all requests for establishing a RACF
environment for the default user ID.
Catch-all profiles can be useful because the logic that is applied by resource managers might
not always be known, and you might not want to change CDT entries for existing resource
classes.
B.4 Authentication
Policy to establish personal accountability must address user behavior as well as strong
technical authentication mechanisms. RACF standard user authentication is based on
user-selected passwords. Another supported technique is RACF passtickets.
B.4.1 Passwords
Two separate issues must be addressed for RACF passwords: the technique through which
passwords are secured when stored in the RACF database and password quality controls.
The recommended standard for password protection is DES encryption. Starting with RACF
release 2.1, DES encryption is the default. For earlier releases, the RACF exit ICHDEX01
must either be deleted or modified to select DES encryption instead of password hashing.
Password quality controls are SETROPTS PASSWORD options, which are described in the
following list with generally recommended settings:
B.4.2 Passtickets
RACF offers advanced authentication through Passtickets, which are generated by specific
products supporting this form of User authentication.
The enforcement of standards beyond the HLQ is possible but might not always be practical
because it limits the use of High-Level Generic Dataset Profiles (such as HLQ.**).
B.6 Ownership
The recommended policy is to assign resource ownership to business managers responsible
for an application or business area. RACF practice suggests group ownership of profiles and
offers an approximation to policy, provided that the group structure reflects applications and
business areas adequately and that the custodians are properly assigned as group
administrators.
B.7.1 Structure
Security administration tasks are typically performed within the following structures:
Central security administration
Group administration or functional delegation
Help desk
Mandatory central security administration uses the RACF system-level SPECIAL attribute to
define or alter all but a few profiles and options in RACF. To set or change some specific
audit-related settings requires the system-level AUDITOR attribute.
Typical help desk functions such as user ID RESUME and password RESET can be
implemented through the RACF FACILITY class, Group-SPECIAL, or organizations have
chosen other (limited) solutions through special programs that run authorized and use
authorization schemes other than Group-SPECIAL.
B.7.2 Effectiveness
Recommended policy requires security administration to be effective to minimize potential
risks through errors and omissions, particularly in the area of temporary access and
authorization. Typical precautions are automatic expiration dates on user IDs and
permissions. RACF provides the direct ability to expire user IDs automatically through coding
a REVOKE(date) in User definitions. For permissions, expiration dates can be established
indirectly through group connections.
B.7.3 Efficiency
Recommended policy also requires security administration to be efficient to ensure that
administration workload problems do not contribute to risks.
Efficient RACF administration uses two main elements: generic profiles and group
authorization on access lists. The use of generic profiles reduces, in comparison with discrete
ones, the number of profiles to be defined and maintained. Using groups instead of user IDs
on access lists dramatically simplifies the management of a changing user population.
Q. Can I prevent users from permitting access to files they own? How?
A. Yes. The most global way to do this is to remove access to the PERMIT command.
However, we recommend that you do not do this unless there is a particular, pressing
need. Experience has shown little need to hide the PERMIT command.
Q. How can I control the number of PERMITs created by a user? Should I worry about this?
A. Again, experience has shown that this is not normally a problem to worry about.
Q. Do I need to reorganize the RACF database? Also the backup database? How often?
A. The IRRUT400 utility can be used to reorganize the RACF database. Experience has
shown that this does not need to be done frequently. Some installations never reorganize
their database. Others do it every month or so. Reorganizing every six months seems to
be a medial position. The backup database is subject to the same reorganization process.
Q. Can I make simple backups of the RACF database without using IDCAMS?
A. IDCAMS is never needed with RACF. You can use the IRRUT200 utility that is provided
with RACF. You might use IEBGENER, although IEBGENER (or other similar utilities) do
not interlock with RACF to provide a self-consistent copy. IRRUT200 provides the proper
interlocks without effectively stopping RACF so that partly updated Profiles are not copied.
Q. How do I add a segment to an existing user ID? For example, add CICS to a TSO user?
A. The ALTUSER command provides this function.
Q. Someone gave me some interesting programs that use the RACF ICHEINTY set of
macros. Should I consider using these?
A. The ICHEINTY macro is the low-level interface to the RACF database. At this level,
RACF does not check updates for consistency. A poorly designed program issuing these
macros might destroy your database, or, worse, introduce subtle errors that grow over
time. We recommend not using this level of interface unless you trust the design of the
program issuing the commands, or have an unusual requirement. There are helpful and
trustworthy programs that use ICHEINTY, but there is no easy way to determine whether
your programs are in this trustworthy and useful group.
Q. I want to see my RACF database contents. The TSO commands and ISPF panels only
deal with a few elements at one time, and I cannot get an overall picture of what is in the
database. How can I do this?
A. You can use the RACF database unload utility. With it, you can see every profile in the
database in a printable format. For anything larger than a trivial database, this may not be
useful for direct human viewing. It can be used as input to other, locally written programs,
or be used to load Db2 or something similar. The RACF SEARCH command can be used
to find and display Profiles. The RACFICE reporting tool is available, which includes over
30 sample reports, and uses the DF/SORT ICETOOL Report Generator.
Q. After I install RACF, can I run my z/OS system without it? What if I make a change that
locks out users?
A. After it is installed, you can run without RACF. This is a special mode, awkward to use,
and suitable for only a single user on the system. In effect, z/OS issues a console
message for every data set allocation, and the z/OS operator must reply to each message
for the user to log on and repair the problem. In addition, the user ID used in this situation
must be defined in SYS1.UADS. This is so rarely used that many installations and
systems programmers have never experienced the situation.
The publications listed in this section are considered particularly suitable for a more detailed
discussion of the topics covered in this book.
Other publications
These publications are also relevant as further information sources:
z/OS Security Server RACF System Programmer's Guide, SA23-2287-30
z/OS Security Server RACF Security Administrator's Guide, SA23-2289-30
z/OS Security Server RACF Security Auditor’s Guide, SA23-2290-30
z/OS Security Server RACF Command Language Reference, SA23-2292-30
CA TopSecret to
z/OS Security Server
Migration Guide
Broadcom Top Secret and the IBM® z/OS® Security
Server (RACF®) are both Mainframe Security products. In INTERNATIONAL
some areas their designs are similar, and in other areas the TECHNICAL
designs are very different. Planning a migration from SUPPORT
Broadcom Top Secret to z/OS Security Server RACF, ORGANIZATION
without unduly disrupting an z/OS production environment,
requires considerable planning and understanding. With
proper planning, and perhaps with specially skilled people
to assist in certain areas, the migration can usually be
accomplished in an orderly way. BUILDING TECHNICAL
This IBM Redbooks® publication will assist in INFORMATION BASED ON
understanding the higher-level issues and differences PRACTICAL EXPERIENCE
between the two products as an important starting point.
IBM Redbooks are developed
by the IBM International
Technical Support
Organization. Experts from
IBM, Customers and Partners
from around the world create
timely technical information
based on realistic scenarios.
Specific recommendations
are provided to help you
implement IT solutions more
effectively in your
environment.