Gateway User’s Guide

Setting Up Security for Oracle TMA TCP Gateway

The Tuxedo Mainframe Adapter for TCP Gateway (hereafter referenced as TMA TCP Gateway) component supports security features that allows a requester from Tuxedo to pass a user ID requirement through the OTMA or CICS server interfaces for verification through system security, such as RACF.

Security Checking from Tuxedo to Mainframe

The following figure illustrates the process flow for security verifications from TMA TCP Gateway to a mainframe.

Figure 4-1 Security Checking for Tuxedo to Mainframe Transactions

When the client program performs a tpinit(), the user’s Tuxedo identity is validated against the tpusr file.

When the client program issues a tpcall() or tpacall(), Tuxedo verifies (against the tpacl file) that the user is authorized to invoke the gateway service.

When the gateway establishes the initial connection, connection security information (specified as RMTNAME and PASSWORD in the GWICONFIG file) is passed from the TMA TCP Gateway to the remote gateway. If the RMTNAME and PASSWORD values match the values configured on the remote gateway, the connection is established.

With each request, the TMA TCP Gateway passes the user’s Tuxedo identity to the remote gateway.

Setting Up Security

Tuxedo Security Plug-in

The Tuxedo security plug-in enables the customization of the security functions, including the use of alternate implementations. The Tuxedo security plug-in is set up during Tuxedo plug-in configuration. Refer to the Tuxedo documentation for specific information about this feature.

Built-in Tuxedo Security

Built-in Tuxedo security is used when custom security plug-ins are not implemented.

To enable the built-in Tuxedo security feature, complete the following tasks.

Code SECURITY in the Oracle Tuxedo UBBCONFIG file. Refer to the Oracle Tuxedo Administration Guide for more information.

Set up user, group, and ACL files. Refer to the Oracle Tuxedo Administrator’s Guide for more information.

Note:

The user information in these files must match in the Oracle Tuxedo and the mainframe environments or a security violation occurs.

Lines that begin with the pound sign (#) are users that have been changed or deleted by tpusrmod or tpusrdel.

Group File

The following sample is a group file that specifies the names and indexes of groups.

Note:

The tpgrp file is only necessary when specifying ACL or MANDATORY_ACL modes for security. If you specify USER_AUTH for security, you can assign users to groups, but they do not correlate to the groups used for security by the remote system.

Listing 4-2 Sample Group (tpgrp) File

good::1:bad::2:

ACL File

The tpacl file correlates a group and the services to which that group has access. In the tpacl file, the first field specifies what is protected, the second field specifies the type of object being protected (specified in the first field), and the third field specifies the group that has access to the object.

In the following example, only users in group 1 (john, jim, richard) can access TOLOWER, and only users in group 2 can access TOUPPER.

Note:

The tpacl file is only necessary when specifying ACL or MANDATORY_ACL modes for security.

Listing 4-3 Sample ACL (tpacl) File

TOLOWER:SERVICE:1:TOUPPER:SERVICE:2:

Data Area Security

The TMA TCP Gateway provides data area security which is a specialized security protocol for the following cases:

In these cases, a client’s user ID, group name, and LTERM can be specified in the data area of a request. For Tuxedo clients, user information specified in the data area is verified by the remote gateway in the usual manner. For remote clients, remote user information is placed in the data area fields by the local gateway to be used by Tuxedo services. In this case, the remote client does not have to populate these fields, but must allocate space for them in the data area.

Enabling Data Area Security

Complete the following tasks to enable data area security.

Add fields to the user’s data area on the local and remote hosts. These fields are passed to and from the mainframe host. For the field formats, refer to
Listing 4-4.

Populate the data area with the user information before sending a request to a remote service.

The remote user’s information is populated into the data area when a request is received for a local service.

Note:

If using a VIEW data format, allocate the extra fields before the application data as defined in
Listing 4-4. If using the STRING data format, allocate 24 additional bytes at the beginning of the string to be used for the security fields.