Masking is used to group sets of resources whose names share similar characteristics. Masking is not restricted to prefixes. Similar characters can occur in the beginning, middle, or end of the resource name, with characters in between. Special characters are specified to represent variations between resource names.
A masked resource name is treated by CA Top Secret like a generic prefix. Any data set that begins with a pattern indicated by a mask is considered a match for it by the security validation algorithm, and the associated access authorizations are honored.
To determine if a resource supports masking
TSS LIST(RDT)
A floating pattern mask uses the hyphen (-) to represent a variable number of characters (including no characters). Resource names containing hyphens cannot be owned. They must match the ownership of resources defined by other characters and masks.
The hyphen:
The following resource masks are invalid:
|
Resource Mask |
Reason why invalid |
|---|---|
|
- |
The hyphen cannot be used at the beginning or end of a resource name. |
|
**-* |
The hyphen cannot be used in combination with any other masking character. |
|
a-bc |
The hyphen cannot be used before position three of a resource mask. |
A floating character mask can represent resource names with multiple qualifiers or indexes (cross-node resource names). These examples show how the hyphen mask can be used to cross partial and complete nodes of resource qualification:
|
Resource Mask |
Matches |
Does Not Match |
|---|---|---|
|
ACCT-VEND |
ACCTPAY.VENDOR ACCTVEND |
ACC.VEND AP.ACC.VEND |
|
PAYROLL.-.XMPT |
PAYROLL.@12W02.XMPT PAYROLL.Y2K.XMPT.BKUP |
PAYROLL.XMPT |
The explicit periods on either side of the mask in the second example prevent the collapse of the hyphen into a null-string, and prevents the inclusion of more than one initial qualifier.
Variable character substitution uses the asterisk (*) to represent a zero to eight character qualifier, optionally followed by a period(.). Resource masks containing asterisks can be owned.
If the first character of a mask is fixed, the second character cannot be an asterisk (for example, X*M100 is invalid, but ** is valid).
The following rules apply to masking:
The ownership of the masked resource consisting of multiple asterisks does not supply default protection to all resource names in the class. Protection is supplied by replacing the RDT entry for the resource class with ATTR(DEFPROT). For information, see the chapter “Maintaining Special Security Records”.
Ownership of resources is a pseudo ownership. This enables the administrator to permit global access to resources owned through other ownerships. Minimize the length of “total wild‑card” permissions so that the security algorithm will rank such maskings by “number of characters matched” as low as possible. For instance:
TSS PERMIT(user) DSN(%.)
ACC(ALL)
TSS PERMIT(user) DSN(*****)
ACC(READ)
The first permission ranks the data sets beginning with the user’s ACID as a higher match for the second permission (five characters) than the first (two characters)
Only READ access would be granted to such a data set.
Example: character substitution ranking
In this example, CA Top Secret ranks the first permission as taking precedence:
TSS PERMIT(user) DSN(%.) ACC(ALL)
TSS PERMIT(user) DSN(**) ACC(READ)
Examples: variable character substitution
Consider the following examples:
|
Resource Mask |
Matches |
Does Not Match |
|---|---|---|
|
ACCT*M.DATA |
ACCT.PAYM.DATA |
ACCTPAYD.DATA |
|
*LAB |
LAB |
NW.JERSEY.LAB |
|
SAL*M.MARCH. |
SALPAYM.MARCH SALM.MARCH SAL.C.M.MARCH |
SALPAYD.MARCH SAL.MARCH SAL.EXEMPTS.J.MARCH |
In the first mask, the asterisk matches the 4-character string .PAY with exact matches on the fixed characters in the mask. The non-matching suffix D.DATA does not match the mask’s fixed characters “M.DATA”.
In the second mask, the initial asterisk matches zero characters at the start of “LAB”. There are too many (10 + period) characters in “NEW.JERSEY.LAB” to be represented by a single asterisk.
The index mask is an extension of the variable mask. You can specify where index levels appear in a resource name. Index substitution masking uses (*.) to tell CA Top Secret to ignore an index (node) level. The masking characters:
Each asterisk appearing within the name can represent from zero to eight characters.
Examples: index substitution
This example specifies that .BALL must be prefixed by one to eight characters:
*.BALL
Matches:
BASKET.BALL
Does not match:
BALL.GAME
This example specifies that two indexes must appear between CICS. and .F:
CICS.*.*.F
Matches:
CICS.RUM.TSS.FIL
Does not match:
CICS.FEATURES
This example specifies a zero to eight character mask between SAL and BKUP:
SAL.*.BKUP
Matches:
SAL.PAY.BKUP.ABC SAL.XMPT.BKUP SAL.US.REC.BKUP
Does not match:
SAL.BKUP SAL.BKUP.PAY SAL.BKUPLIB.A.BKUP
Fixed position masking uses the plus character (+) to represent single positions within a resource name.
Examples: fixed position substitution
This example uses a single (+):
A123+.TSO
Matches:
A1234.TSO
Does not match:
A123.TSO
This examples uses multiple (+)s:
SAL+++.BKUP
Matches:
SALPAY.BKUP SALREC.BKUP
Does not match:
SALRECV.BKUP SALRE.BKUP
ACID substitution uses the percentage character (%) to represent all or part of the ACID. This gives users access to any data set whose prefix matches their ACID.
Example: ACID substitution
This example gives USER01 authorization to access data sets such as ACCT.USER01.LOAD and ACCT.USER01.LOAD.ABD, but not ACCT.USER02.LOAD:
TSS PERMIT(USER01) DSNAME(ACCT.%.LOAD)
This process authorizes full access to resources prefixed by their ACIDs for all TSO users at an installation:
TSS ADDTO(MSCA acid) DSNAME(%.)
TSS PERMIT(ALL) DSNAME(%.)
FACILITY(TSO)
ACCESS(ALL)
To specify a portion of the user ID to be used as a mask use the % character with values identifying the start and length of the user ID.
Example: partial ACID substitution
This example permits TUSER01 access to data set USER01:
TSS PERMIT(TUSER01) DSNAME(%26%)
Variable character, fixed position, index, and ACID substitution can be combined in any form. They cannot be combined with a floating mask.
Examples: combine masks
This example shows how masking characteristics can be combined:
MAR++.*.SUM
Matches:
MAR86.A.SUM MAR85.PERS.SUMM MAR++.*.SUM MAR86.WELFARE.SUMMER
Does not match:
MARCH.SUM MAR86.PERS.WELFARE.SUMM
To permit data sets masked with asterisks, plus signs, or percent signs in the initial position(s) of the data set, the MSCA must first be assigned ownership of the special prefix characters or their combinations:
TSS ADDTO(msca acid) DSNAME(++*.)
Then allow USER01 access to any data set with at least a two character prefix (and at least two qualifier levels).
TSS PERMIT(USER01) DSNAME(++*.)
The security validation algorithm only considers permissions that begin with one of the above special characters if it has not already encountered a data set match.
An administrator can PERMIT a user access to all protected resources within a class using a single command. For prefixed resources masking characters serve this function. For general resources, the special resource name *ALL* is used.
An administrator can PERMIT access to all owned resources within a NOMASK resource class by using the special resource name:
*ALL*
For resource classes with the MASK attribute, a similar PERMIT can be managed with the resource name:
*****
A permission using *ALL* only grants access to protected resources. Using ADD is a formality and has no effect on resources not already protected. PERMIT allows the administrator to allow access to all owned resources of a RESCLASS.
When DEFPROT is applied all resources are implicitly protected without the necessity of formal ownership. To grant access under DEFPROT the administrator must still own and permit the resources (which may include *ALL*).
Example: using *ALL*
This example gives USERA permission to all CICS transactions by assigning ownership of the special resource name *ALL* to the MSCA then issuing the PERMIT for USERA:
TSS ADDTO(MSCA) OTRAN(*ALL*)
TSS PERMIT(USERA) OTRAN(*ALL*)
FACILITY(CICSPROD)
This PERMIT allows USERA to access all transactions without having specific permissions for each one.
The ADDTO command does not protect all transactions; it only allows permission of the special name.
|
Copyright © 2014 CA Technologies.
All rights reserved.
|
|