Home > Data Center Tips > CICS Newsletter > Securing a CICS screen
Data Center Tips:
EMAIL THIS
 TIPS & NEWSLETTERS TOPICS 

CICS NEWSLETTER

Securing a CICS screen


Phil Emrich
08.24.2006
Rating: -4.50- (out of 5)


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   


Can you secure a CICS screen that is called by the application program? Phil Emrich, our CICS expert, explores this question in this tip.

Most CICS transactions are designed such that they process a particular set of input data, where the format of the screen or panel was generated by a BMS map. A response is created which may also use a BMS map, either the same one from which they processed the input data or a different map, and then the transaction would terminate.

A new transaction would then be initiated to process any subsequent input and the process would be repeated. Most transactions are designed to create only one set of output, typically using a single BMS map or a set of maps to construct the screen or panel displayed. There are a number of techniques for a CICS transaction to generate an output screen or panel. Using a BMS map is only one of the techniques, though probably the most common. In this environment the security check for the transaction code is typically sufficient to "protect" any information that the transaction might process on input or display on output.

CICS will call the external security manager, either RACF or an equivalent product, for every CICS transaction that is initiated. RACF will determine whether the user initiating the transaction is authorized to do so referring to the profiles you have defined in the TCICSTRN and GCICSTRN general resource classes. This authorization check is based on the 4-character transaction code used to initiate the transaction.

CICS also provides the option to perform additional security checks during the execution of CICS transaction when it requests access to some CICS resources via EXEC CICS API commands. The types of resources for which CICS will perform this additional authorization, if the RESSEC option is specified in the CICS TRANSACTION definition, include the names of programs, VSAM files, temporary storage queues and transient data destinations, but does not include BMS MAPSET names.

If you have one or more cases where a single transaction has been designed such that it may display one of several possible output screens or panels of information then you may be able to use the resource security (RESSEC) capability if each of the possible screens that may be produced happens to be produced by a separate application program. In this case you could utilize RACF profiles defined in the MCICSPPT and NCICSPPT general resource classes and allow any particular screen to be produced only for those groups of users who were authorized for the program that produces that screen.

If this option doesn't fit the design of some or all of the transactions that are capable of producing more than one different output screens or panels there is another technique that could be employed to control which particular screens a given user could cause to be displayed.

This technique, unlike the previous one, would require some change to the application program producing the screen or screens. This approach would involve issuing the EXEC CICS QUERY SECURITY command within the program to determine whether the user had the authority to have the transaction generate a particular output screen. The particular screen might be explicitly requested via some information entered by the user or the program may simply generate one of several versions of the output based simply on the authority of the user. In either case the program would need to issue an EXEC CICS QUERY SECURITY command specifying some resource name that corresponds to the authority of users to have the transaction generate specific output screens or panels.

If a particular output screen is requested explicitly, then you might choose to use a series of resource names that correspond to each screen that may be requested.

The EXEC CICS QUERY SECURITY command will allow the program to determine whether any given user has authority to request the corresponding screen. The EXEC CICS QUERY SECURITY command will cause CICS to call the external security manager in the same manner as CICS does for transaction or resource security and will return to the program the level of access the user has to the resource specified.

In addition to the resource name on the EXEC CICS QUERY SECURITY command you must also specify a CICS resource type or a RACF resource class. If you can adopt a resource naming convention that is consistent with the resource name length limitations of one or more of the CICS resource types then you can use one of the CICS resource types rather than an explicit RACF resource class.

If for example you can limit you resource names to eight characters you could choose to use either the PROGRAM, FILE or PSB types. If you were to use either the PROGRAM or FILE types and you used CICS resource security for either of these resource types in any of you transactions you would want to ensure that the resource names you chose did not conflict with an program or file names in use. If you were to use BMS MAPSET names, for example, you could choose to specify RESTYPE(PROGRAM) as CICS requires that any BMS MAPSET name be different from that of any program. You would then define RACF profiles in the MCICSPPT and/or NCICSPPT general resource classes to correspond to the screens you wished to control

There are any number of variations on the manner in which the EXEC CICS QUERY SECURITY command can be used to address a variety of security related requirements within CIC transactions depending on how the transaction happens to have been designed and the specific type of control you wish to impose. Hopefully, the explanation I've provided will be sufficient to at least clarify the basic options you have for imposing security controls on the screens or panels produced by CICS transactions.

Rate this Tip
To rate tips, you must be a member of SearchDataCenter.com.
Register now to start rating these tips. Log in if you are already a member.


Submit a Tip




Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   


RELATED CONTENT
CICS Newsletter
Using CICS event monitoring points (EMPs) for tuning and debugging
Implementing CICS managed data tables
Taking advantage of the CICS workload dispatch ratio
CICS 3270 bridge tutorial, part 3: How to start and end a conversation
CICS 3270 bridge tutorial, part 2: Using DFHL3270
Mainframe applications never die: Using the 3270 bridge
Hash table how-tos for mainframe programmers
Can a program use IXLLIST macros in CICS?
CICS socket interface
How to use CPSM's PNEWCOPY command

Mainframe operating systems and management
IBM mainframe Share user group special report 2008
IBM z10 mainframe will consolidate z/VM workloads on a single LPAR
Saving money on the mainframe in tough economic times
Using CICS event monitoring points (EMPs) for tuning and debugging
Assembler math shortcuts: Quit counting bytes
Time to commoditize mainframe software costs
IBM buys former adversary and mainframe startup PSI
Implementing CICS managed data tables
Linux on the mainframe: Analyze thy workloads
BMC tool optimizes zIIP and zAAP use by IBM mainframe

Mainframe security and disaster recovery
Mainframe vulnerabilities: Be proactive rather than reactive
Disaster recovery on the mainframe: New options for site recovery
Mainframers need to focus on process not piecemeal disaster recovery
Legacy protocol puts IBM mainframes at risk
CICS command security
How to authenticate users accessing CICS legacy transactions?
Calling RACROUTE from a CICS program
Securing CICS for newbies
Need help turning on security for CICS Transaction Server
Remote backup for network disaster recovery

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
epoch  (SearchDataCenter.com)
ISPF  (SearchDataCenter.com)
job  (SearchDataCenter.com)
Job Entry Subsystem  (SearchDataCenter.com)
job scheduler  (SearchDataCenter.com)
job step  (SearchDataCenter.com)
MVS  (SearchDataCenter.com)
P/390  (SearchDataCenter.com)
Remote Job Entry  (SearchDataCenter.com)
z/OS  (SearchDataCenter.com)

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary

DISCLAIMER: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.

HomeNewsTopicsITKnowledge ExchangeTipsBlogsMultimediaWhite PapersEvents
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides enterprise IT professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective IT purchase decisions and managing their organizations' IT projects - with its network of technology-specific Web sites, events and magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Reprints  |  Site Map




All Rights Reserved, Copyright 2005 - 2008, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts