RDEFINE (Define general resource profile)
Purpose
- Define to RACF® all resources belonging to classes specified in the class descriptor table.
- Create entries in the global access checking table.
- Define security categories and security levels.
- Define classes (as profiles in the RACGLIST class) for which RACF saves RACLISTed results on the RACF database.
- Define the attributes of classes in the dynamic class descriptor table.
- Define a custom field and its attributes.
The RDEFINE command adds a profile for the resource to the RACF database in order to control access to the resource. It also places your user ID on the access list and gives you ALTER authority to the resource unless SETROPTS NOADDCREATOR is in effect.
You cannot use the RDEFINE command to define users, groups, data sets, certificates, certificate key rings, or certificate mappings.
- The security administrator issues the SETROPTS command:
See the SETROPTS command for authorization requirements.SETROPTS GENERIC(class-name) REFRESH
- The user of the resource logs off and logs on again.
SETROPTS RACLIST(class-name) REFRESH
For more information, refer to z/OS Security Server RACF Security Administrator's Guide.
- When the RDEFINE command is issued from ISPF, the TSO command buffer (including SESSKEY and SSIGNON) is written to the ISPLOG data set. As a result, you should not issue this command from ISPF or you must control the ISPLOG data set carefully.
- If the RDEFINE command is issued as a RACF operator command, the command and all data is written to the system log. Therefore, use of RDEFINE as a RACF operator command should either be controlled or you should issue the command as a TSO command.
Issuing options
The following table identifies the eligible options for issuing the RDEFINE command:
As a RACF TSO command? | As a RACF operator command? | With command direction? | With automatic command direction? | From the RACF parameter library? |
---|---|---|---|---|
Yes | Yes | Yes | Yes | Yes |
For information on issuing this command as a RACF TSO command, refer to RACF TSO commands.
For information on issuing this command as a RACF operator command, refer to RACF operator commands.
You must be logged on to the console to issue this command as a RACF operator command.
Related commands
- To create a group profile, see ADDGROUP (Add group profile).
- To create a data set profile, see ADDSD (Add data set profile).
- To create a user profile, see ADDUSER (Add user profile).
- To permit or deny access to a general resource profile, see PERMIT (Maintain resource access lists).
- To change a general resource profile, see RALTER (Alter general resource profile).
- To delete a general resource profile, see RDELETE (Delete general resource profile).
- To obtain a list of general resource profiles, see SEARCH (Search RACF database).
- To list a general resource profile, see RLIST (List general resource profile).
Authorization required
When issuing this command as a RACF operator command, you might require sufficient authority to the proper resource in the OPERCMDS class. For details about OPERCMDS resources, see Controlling the use of operator commands in z/OS Security Server RACF Security Administrator's Guide.
To use the RDEFINE command, you must have either the SPECIAL attribute or minimally the CLAUTH authority for the class.
- If you have CLAUTH authority for the GLOBAL class, and group-SPECIAL authority in a group, you can add members whose high-level qualifier is the group name or a user ID in the scope of the group. This applies only to classes that are sensitive to high-level qualifiers, such as DATASET.
- If the resource to be defined is a discrete name already defined to RACF as a member of a resource group, you can define it as a resource to RACF if you have ALTER authority, or if the resource group profile is within the scope of a group in which you have the group-SPECIAL attribute, or if you are the owner of the resource group profile. If authority conflicts arise because the resource is a member of more than one group and the user's authority in those groups differs, RACF resolves the conflict by using the least restrictive authority (unless modified by the installation).
- If the member-class profile to be defined is a generic name already defined to RACF as a member of a resource group, you can define the profile if the resource group profile is within the scope of a group in which you have the group-SPECIAL attribute, or if you are the owner of the resource group profile. If multiple grouping class profiles contain the generic name being defined, and these profiles have different owners, the owner used in authority checking is undefined.
- If you do not have the SPECIAL attribute and the SETROPTS GENERICOWNER option is in effect, and
if an existing generic profile protects the profile name you are defining, you need to own the
less specific profile.
- If the less specific profile is within the scope of a group in which you have group-SPECIAL, you are considered to own the profile.
- GENERICOWNER does not apply to the PROGRAM general resource class.
- For additional information on the GENERICOWNER option and restricting the creation of general resource profiles, see z/OS Security Server RACF Security Administrator's Guide.
- To assign a security category to a profile, you must have the category in your user profile.
- To assign a security level to a profile, your own profile must have a security level that is equal to or greater than the security level you are defining.
- To use the ADDMEM operand, see the description of the ADDMEM operand for information on the authority required to use the operand.
- To specify the AT keyword, you must have READ authority to the DIRECT.node resource in the RRSFDATA class and a user ID association must be established between the specified node.userid pair(s).
- To specify the ONLYAT keyword you must have the SPECIAL attribute, the userid specified on the ONLYAT keyword must have the SPECIAL attribute, and a user ID association must be established between the specified node.userid pair(s) if the user IDs are not identical.
- To define segments other than the base segment, such as DLFDATA, you must have the SPECIAL attribute or your installation must permit you to do so through field-level access checking.
- To assign a security label to a profile, you must have READ access to the security label profile. However, the security administrator can limit the ability to assign security labels to only users with the SPECIAL attribute.
- Only a SPECIAL user can define a delegated resource (by specifying the
RACF-DELEGATED
string in the APPLDATA of the profile protecting the resource) when the resource has a SECLABEL and SETROPTS SECLABELCONTROL is in effect.
- The second qualifier of the profile name must match your user ID.
- You must have the SPECIAL attribute.
- The profile name must be within the scope of a group in which you have the group-SPECIAL attribute.
- You have the SPECIAL attribute.
- The from profile is within the scope of a group in which you have the group-SPECIAL attribute.
- You are the owner of the from profile.
- If the FCLASS operand is DATASET, the high-level qualifier of the profile name (or the qualifier supplied by the naming conventions routine or a command installation exit) is your user ID.
- For a discrete profile, you are on the access list in the from profile with ALTER authority. (If you have any lower level of authority, you cannot use the profile as a model.)
- For a discrete profile, your current connect group (or, if list-of-groups checking is active, any group to which you are connected) is in the access list in the from profile with ALTER authority.
- For a discrete profile, the universal access authority (UACC) is ALTER.
Syntax
For the key to the symbols used in the command syntax diagrams, see Syntax of RACF commands and operands. The complete syntax of the RDEFINE command is:
[subsystem-prefix]{RDEFINE | RDEF} |
class-name
|
(profile-name-1 ...)
|
[ ADDCATEGORY(category-name ...) ]
|
[ ADDMEM(member ...) ]
|
[ APPLDATA('application-data') ]
|
[ AT([node].userid ...) | ONLYAT([node].userid ...) ]
|
[ AUDIT( access-attempt[(audit-access-level)] ...) ]
|
[ CDTINFO( [ CASE( UPPER | ASIS ) ] [ DEFAULTRC( 0 | 4 | 8 ) ] [ DEFAULTUACC( ACEE | ALTER | CONTROL | UPDATE | READ | NONE ) ] [ FIRST( characters-allowed ... ) ] [ GENERIC( ALLOWED | DISALLOWED ) ] [ GENLIST( ALLOWED | DISALLOWED ) ] [ GROUP( grouping-class-name ) ] [ KEYQUALIFIERS( 0 | nnn ) ] [ MACPROCESSING( NORMAL | REVERSE | EQUAL ) ] [ MAXLENGTH( 8 | nnn ) ] [ MAXLENX( nnn ) ] [ MEMBER( member-class-name ) ] [ OPERATIONS( YES | NO ) ] [ OTHER( characters-allowed ...) ] [ POSIT( nnn ) ] [ PROFILESALLOWED( YES | NO ) ] [ RACLIST( ALLOWED | DISALLOWED | REQUIRED ) ] [ SECLABELSREQUIRED( YES | NO ) ] [ SIGNAL( YES | NO ) ] ) ] |
[ CFDEF( [ TYPE( CHAR | FLAG | HEX | NUM ) ] [ FIRST( ALPHA | ALPHANUM | ANY | NONATABC | NONATNUM | NUMERIC ) ] [ HELP( help-text ) ] [ LISTHEAD( list-heading-text ) ] [ MAXLENGTH( maximum-field-length ) ] [ MAXVALUE( maximum-numeric-value ) ] [ MINVALUE( minimum-numeric-value ) ] [ MIXED( YES | NO ) ] [ OTHER( ALPHA | ALPHANUM | ANY | NONATABC | NONATNUM | NUMERIC ) ] [ VALREXX( REXX-exec-name ) ] ) ] |
[ CSDATA( [ custom-field-name(custom-field-value) | NOcustom-field-name ] ... ) | NOCSDATA ] |
[ DATA('installation-defined-data') ] |
[ DLFDATA( [ RETAIN( YES | NO ) ] [ JOBNAMES(jobname-1 ...) ] ) ] |
[ EIM( [ DOMAINDN(eim_domain_dn) ] [ OPTIONS( ENABLE | DISABLE ) ] [ LOCALREGISTRY(registry_name) ] [ KERBREGISTRY(registry_name) ] [ X509REGISTRY(registry_name) ] ) ] |
[ FCLASS(profile-name-2-class) ] |
[ FGENERIC ]
|
[ FROM(profile-name-2) ]
|
[ FVOLUME(profile-name-2-serial) ]
|
[ ICSF( [ ASYMUSAGE( [ HANDSHAKE | NOHANDSHAKE ] [ SECUREEXPORT | NOSECUREEXPORT ] ) ] [ SYMEXPORTABLE(BYANY | BYLIST | BYNONE) ] [ SYMEXPORTCERTS([qualifier]/label-name ... | *) ] [ SYMEXPORTKEYS(ICSF-key-label ... | *) ] [ SYMCPACFWRAP( YES | NO ) ] [ SYMCPACFRET( YES | NO ) ] ) ] |
[ ICTX( [ USEMAP( YES | NO ) ] [ DOMAP( YES | NO ) ] [ MAPREQUIRED( YES | NO ) ] [ MAPPINGTIMEOUT(nnnn) ] ) ] |
[ IDTPARMS( [ SIGTOKEN( pkcs11-token-name ) ] [ SIGSEQNUM( pkcs11-sequence-number ) ] [ SIGCAT( pkcs11-category ) ] [ SIGALG(HS256 | HS384 | HS512) ] [ ANYAPPL(YES | NO) ] [ IDTTIMEOUT(timeout-minutes) ] ) ] |
[ JES( [ KEYLABEL(key-label) ] ) ] |
[ KERB( [ CHECKADDRS( YES | NO ) ] [ DEFTKTLFE(def-ticket-life) ] [ ENCRYPT( [ DES | NODES ] [ DES3 | NODES3 ] [ DESD | NODESD ] [ AES128 | NOAES128 ] [ AES256 | NOAES256 ] [ AES128SHA2 | NOAES128SHA2 ] [ AES256SHA2 | NOAES256SHA2 ] ) ] [ KERBNAME(kerberos-realm-name) ] [ MAXTKTLFE(max-ticket-life) ] [ MINTKTLFE(min-ticket-life) ] [ PASSWORD(kerberos-password) ] ) ] |
[ LEVEL(nn) ] |
[ MFA ] |
[ MFPOLICY( [ FACTORS(factor-name...) ] [ TOKENTIMEOUT(timeout-seconds) ] [ REUSE(YES|NO)]) ) ] |
[ NOTIFY(userid) ] |
[ OWNER(userid or group-name) ] |
[ PROXY( [ LDAPHOST(ldap_url) ] [ BINDDN(bind_distinguished_name) ] [ BINDPW(bind_password) ] ) ] |
[ SECLABEL(seclabel-name) ] |
[ SECLEVEL(seclevel-name) ] |
[ SESSION( [ CONVSEC( NONE | CONV | ALREADYV | PERSISTV | AVPV ) ] [ INTERVAL(n) ] [ LOCK ] [ SESSKEY(session-key) ] ) ] |
[ SIGVER( [ SIGREQUIRED( YES | NO ) ] [ FAILLOAD( ANYBAD | BADSIGONLY | NEVER ) ] [ SIGAUDIT( ALL | SUCCESS | ANYBAD | BADSIGONLY | NONE ) ] ) ] |
[ SINGLEDSN ] |
[ SSIGNON( [ KEYMASKED(legacy-passticket-key-value) | KEYENCRYPTED(legacy-passticket-key-value) | KEYLABEL(legacy-passticket-label-value) ] [ EPTKEYLABEL(enhanced-passticket-label-value) ] [ TYPE(UPPER | MIXED) ] [ TIMEOUT(timeout-seconds) ] [ REPLAY( YES | NO ) ] ) ] |
[ STDATA( [ USER(userid | =MEMBER) ] [ GROUP(group-name | =MEMBER) ] [ PRIVILEGED( YES | NO ) ] [ TRACE( YES | NO ) ] [ TRUSTED( YES | NO ) ] ) ] |
[ SVFMR( [ SCRIPTNAME(script-name) ] [ PARMNAME(parm-name) ] ) ] |
[ TIMEZONE( {E | W} hh[.mm]) ] |
[ TME( [ CHILDREN(profile-name ...) ] [ GROUPS(group-name ...) ] [ PARENT(profile-name) ] [ RESOURCE(resource-access-specification ...) ] [ ROLES(role-access-specification ...) ] ) ] |
[ TVTOC ] |
[ UACC(access-authority) ] |
[ WARNING ] |
[ WHEN( [DAYS(day-info) ] [TIME(time-info) ] ) ] |
For information on issuing this command as a RACF TSO command, refer to RACF TSO commands.
For information on issuing this command as a RACF operator command, refer to RACF operator commands.
Parameters
- subsystem-prefix
- Specifies that the RACF subsystem
is the processing environment of the command. The subsystem
prefix can be either the installation-defined prefix for RACF (1 - 8 characters)
or, if no prefix has been defined, the RACF subsystem
name followed by a blank. If the command prefix was registered with
CPF, you can use the MVS command D OPDATA to display it or you can
contact your RACF security
administrator.
Only specify the subsystem prefix when issuing this command as a RACF operator command. The subsystem prefix is required when issuing RACF operator commands.
- class-name
- Specifies the name of the class to which the resource
belongs. The valid class names are those defined in the class descriptor table. For a list of general resource classes defined in the class
descriptor table supplied by IBM®, see Supplied RACF resource classes.
This operand is required and must be the first operand following RDEFINE.
This command is not intended to be used for profiles in the following classes:- DCEUUIDS
- DIGTCERT
- DIGTNMAP
- DIGTRING
- IDIDMAP
- NDSLINK
- NOTELINK
- ROLE
- UNIXMAP
Note: If you have the CLAUTH attribute (class authority) to a member or grouping class, the member or grouping class must be active in order for you to define profiles in that class. - profile-name-1
- Specifies
the name of the discrete or generic profile you want to add to the specified class. RACF uses the class descriptor table to determine if the class is defined to
RACF, the syntax of resource names within the class, and
whether the resource is a group resource. For more information, see Naming considerations for resource profiles and in z/OS Security Server RACF Security Administrator's Guide.
Mixed-case profile names are accepted and preserved when class-name refers to a class defined in the static class descriptor table with CASE=ASIS or in the dynamic class descriptor table with CASE(ASIS).
This operand is required and must be the second operand following RDEFINE.- If you specify more than one profile name, you must enclose the list of names in parentheses.
- In general, you should not specify profile names within single quotation marks because most classes will not allow this, and the RDEFINE command will fail. Classes such as FACILITY (or others whose class definition allows any character as the first character) will allow RDEFINE to work, but this will result in defining a profile whose name contains the single quotation mark. As a result, during authorization checking, the profile might not protect the resources intended to be protected. In fact, such a profile can only work if you also have a resource manager that encloses its resource names in single quotation marks, but most resource managers do not.
- If you specify class-name as GLOBAL, profile-name-1 must be either DATASET or a valid class name (other than a resource group class) as specified in the class descriptor table. If you specify class-name as GLOBAL or SECDATA and also specify ADDMEM, you can specify only one profile name.
- If you want RACF to store the results from a SETROPTS
RACLIST or a RACROUTE REQUEST=LIST,GLOBAL=YES in the RACGLIST class, define the base profile for the
class by issuing the following RDEFINE command, where profile-name-1 is a
valid class in the class descriptor table:
If the RACGLIST class is active when the class profile-name-1 is RACLISTed, RACF stores the RACLISTed results as profile-name-1_nnnnn profiles on the RACF database. For example, the following RDEFINE command creates a base profile DASDVOL:RDEFINE RACGLIST profile-name-1
Example:The following SETROPTS command stores the RACLIST results as profilesRDEFINE RACGLIST DASDVOL
DASDVOL_00001
,DASDVOL_00002
, and so on, in the RACGLIST class.Example:SETROPTS RACLIST(DASDVOL)
Restrictions: The following classes can not be specified as profile names for RACGLIST:- The CDT, GLOBAL, RACGLIST, USER, CONNECT, GROUP, and DATASET classes
- Any class noted in Supplied RACF resource classes as not allowing profiles in the class (for example, the DIRAUTH class)
- Any class noted in Supplied RACF resource classes as not intended for use with any RACF command (for example, the SCDMBR class)
- Any resource grouping class, other than the NODES and RACFVARS grouping classes which are allowed.
- If class-name is a resource grouping class (other than NODES or RACFVARS), you cannot specify a generic profile-name-1. If class-name is DLFCLASS, you should not specify a generic profile-name-1 as it is ignored by DLF processing.
- If you specify class-name as PROGRAM, you can specify only one profile name, and you must specify the ADDMEM operand.
- If you specify class-name as PROGRAM,
profile-name must be the name of a load module. If you specify the full
name of the load module, the profile applies only to that module. If you specify the last character
of the name as an asterisk (
*
), the profile applies to all load modules that match the preceding part of the name, and these load modules must all reside in the same library. For example,IKF*
identifies all load module names that begin withIKF
. If you specify profile-name as an asterisk (*
), the profile applies to all load modules that reside in the library you identify on the ADDMEM operand. - If you are activating field-level access checking, you must specify class-name as FIELD. To define a profile (profile-name-1) in the FIELD class, you must follow the profile naming conventions described in Field-level access checking in z/OS Security Server RACF Security Administrator's Guide.
- If you specify class-name as STARTED, you must specify two qualifiers for the profile name. Follow the profile naming conventions described in Specifying STARTED class profile names in z/OS Security Server RACF Security Administrator's Guide.
- If you specify class-name as CFIELD, you must follow the profile naming conventions described in Profiles in the CFIELD class in z/OS Security Server RACF Security Administrator's Guide.
Note:- Do not specify a generic character unless SETROPTS GENERIC (or SETROPTS GENCMD) is in effect.
- RACF processes each resource you specify independently, and all operands you specify apply to each named resource. If an error occurs while it is processing a resource, RACF issues a message and continues processing with the next resource.
- ADDCATEGORY(category-name ...)
- Specifies one or more names of
installation-defined security categories. The names you specify must be defined as members of the
CATEGORY profile in the SECDATA class. (For information on defining security categories, see z/OS Security Server RACF Security Administrator's Guide.)
When the SECDATA class is active and you specify ADDCATEGORY, RACF performs security category checking in addition to its other authorization checking. If a user requests access to a resource, RACF compares the list of security categories in the user's profile with the list of security categories in the resource profile. If RACF finds any security category in the resource profile that is not in the user's profile, RACF denies access to the resource. If the user's profile contains all the required security categories, RACF continues with other authorization checking.
Note: RACF does not perform security category checking for a started task with the RACF privileged or trusted attribute. The RACF privileged or trusted attribute can be assigned to a started task through the RACF started procedures table or STARTED class. Also, RACF does not enforce security category information specified on profiles in the PROGRAM class. - ADDMEM(member ...)
- Specifies the member names that RACF is to add to the profile indicated by profile-name-1. The
meaning of member varies, depending on the class.
You can use the ADDMEM operand to perform tasks such as defining security categories and security levels, entries in the global access checking table, and entries for program control, or to implement security labels on a system basis, as described in the following sections.
When you specify ADDMEM to add multiple members, they are added to the RACFVARS profile in the same order that you specify them with the ADDMEM operand of the RDEFINE command. For example, if you specify ADDMEM(A B) with the RDEFINE command, the members are stored in the RACFVARS profile as A B.
Mixed-case member names are accepted and preserved when class-name refers to a class defined in the static class descriptor table with CASE=ASIS or in the dynamic class descriptor table with CASE(ASIS). When class-name is GLOBAL and profile-name is the name of a class defined in the static class descriptor table with CASE=ASIS or in the dynamic class descriptor table with CASE(ASIS), the name part of a member entry in the GLOBAL access table is preserved as entered.
If you define a profile and use generic characters such as (*
) to add members to the profile, RLIST RESGROUP will not return any of the matching profiles in its output because it does not support generic matches. For example, you have:
and you are looking for a specific member, so you enter:RDEF GIMS GIMSGRP ADDMEM(ABC*)
RLIST TIMS ABCD RESGROUP
The GIMS profile GIMSGRP will not appear in the output.
Note: When considering this example, if you are unable to define the profile ABCD, it might be due to a generic definition somewhere in GIMS.For ADDMEM with the GLOBAL DATASET class, no characters including generic characters, such as the asterisk (
*
) and the percent sign (%
), can be combined with the value&RACUID
to form a single qualifier level of the member name. This restriction does not exist for ADDMEM with classes other than GLOBAL DATASET.For ADDMEM with the RACFVARS class, the following rules apply:- Do not specify generic characters, such as the ampersand (
&
), the asterisk (*
) and the percent sign (%
) in a member name. - Issue the SETROPTS RACLIST(RACFVARS) REFRESH command to activate your member change.
- If your member change affects profiles in a class with in-storage profiles processed by RACLIST or GENLIST, you must also refresh that class to activate your change.
For important guidelines, see How RACF uses the RACFVARS member list in z/OS Security Server RACF Security Administrator's Guide.
In addition to the authority needed to issue the RDEFINE command, you need one of the following authorities to add members using the RDEFINE command:- For classes other than SECLABEL, PROGRAM, SECDATA, GLOBAL, RACFVARS, and NODES, if the member
resources are already RACF-protected by a member class profile or as a member of a profile in the
same grouping class, one of the following must be true:
- You have ALTER access authority to the member.
- You are the owner of the member resource.
- The member resource is within the scope of a group in which you have the group-SPECIAL attribute.
- You have the SPECIAL attribute.
- For classes other than SECLABEL, PROGRAM, SECDATA, GLOBAL, RACFVARS, and NODES, if the member
resources are not RACF-protected (that is, there is no profile defined for that member), one of the
following must be true:
- You have CLAUTH authority to define resources in the member resource class.
- You have the SPECIAL attribute.
- To add a member to a profile in the RACFVARS or NODES class, one of the following must be true:
- You have CLAUTH authority to define resources in the specified class (for example, RACFVARS or NODES).
- You have the SPECIAL attribute.
- You are the owner of the profile indicated by profile-name-1.
- You have ALTER access authority to the profile indicated by profile-name-1.
- To add a member to a profile in the SECLABEL, PROGRAM or SECDATA class, one of the following
must be true:
- You have CLAUTH authority to define resources in the specified class (for example, PROGRAM or SECDATA).
- You have the SPECIAL attribute.
- To add a member to a profile in the GLOBAL class (other than the GLOBAL DATASET, GLOBAL
DIRECTRY, or GLOBAL FILE profile) using the following syntax:
RDEF GLOBAL class-name ADDMEM(resource-name/access-level)
- If the profile resource-name is already RACF-protected by a profile in class
class-name, one of the following must be true:
- You have ALTER access authority to the profile resource-name in class class-name.
- You are the OWNER of the profile resource-name.
- The profile resource-name in class class-name is within the scope of a group in which you have the group-SPECIAL attribute.
- You have the SPECIAL attribute.
- If the profile resource-name is not already RACF-protected (that is, there is
no profile defined for that member in class class-name):
- You have CLAUTH authority to define resources in the class class-name.
- You have the SPECIAL attribute.
- If the profile resource-name is already RACF-protected by a profile in class
class-name, one of the following must be true:
- To add a member to the GLOBAL DATASET profile, one of the following must be true:
- The member is within the scope of a group in which you have the group-SPECIAL attribute, or the high-level qualifier of the member name is your user ID.
- You have the SPECIAL attribute.
- To add a member to the GLOBAL DIRECTRY or GLOBAL FILE profile, you must have the SPECIAL attribute.
RACF ignores the ADDMEM operand if the class name you specify is not a resource grouping class, SECLABEL, GLOBAL, SECDATA, NODES, or PROGRAM.
Specifying member on the ADDMEM operand:
The following sections describe how to specify members for each of the following classes:- Resource grouping classes
- SECLABEL
- GLOBAL
- SECDATA
- NODES
- PROGRAM.
The descriptions for these classes follow.- When a resource grouping class is the class name
- Resource Grouping Class: If the class name is a resource grouping class, the
members you specify through the ADDMEM operand protects the resources in the related member
class.
If generic profile checking is active for the related member class, you can include a generic character (
*
,**
,&
, or%
only) in the member to protect multiple resources.For more information on resource grouping classes and their related member classes, see z/OS Security Server RACF Security Administrator's Guide.
- When SECLABEL is the class name
- Security Label By System: You can define a security label for use on specific systems.
Issue the RDEFINE command specifying the system identifier (SMFID) of the system on which the
security label can be used. Note that RACF-defined SECLABELs (SYSHIGH, SYSLOW, SYSNONE, and
SYSMULTI) are not affected by SECLABEL by System.The format of this command is as follows:
RDEFINE SECLABEL profile-name ADDMEM(system-identifier)
The system-identifier is the 4-character value specified for the SID parameter of the SMFPRMxx member of SYS1.PARMLIB. See z/OS MVS Initialization and Tuning Reference for additional information on SMFPRMxx. RACF does not check that the specified system-identifier actually exists in SMFPRMxx.
The security label will only be restricted to the systems specified by ADDMEM if the SETR SECLBYSYSTEM option is active. If this option is not active, or ADDMEM is not specified, the security label can be used on all systems. Changes to profiles in the SECLABEL class are activated by issuing SETR RACLIST(SECLABEL) REFRESH.
- When GLOBAL is the class name
- Global Access Checking: You can define an entry in the global access checking
table by issuing the RDEFINE command with the following operands:
- GLOBAL as the class-name
- The appropriate resource class name as profile-name
- ADDMEM with the name of the entry you are defining (as member). (If
the name you specify as member contains a generic character
(
*
or%
), generic profile checking (SETROPTS command with the GENERIC operand) must be active for the resource class you specify as profile-name.) - The access level you are assigning to the entry (member) using the following format:
member[/{ALTER|CONTROL|NONE|READ|UPDATE}]
The format of this command is as follows:
Each entry you define controls global access checking for the resources matching that entry name.RDEFINE GLOBAL profile-name ADDMEM(member/access-level)
Important: Because RACF performs global access checking before security classification processing, an entry in the global access checking table might allow access to a resource you are protecting with a security category, security level, or both. To avoid a security exposure to a sensitive resource, do not define an entry in the global access checking table for a resource you are protecting with security classification processing.When you define an entry in the global access checking table, specify member on the ADDMEM operand as described in the following sections.- Global access checking for data sets
- When you define an entry in the global access checking table for a data set, enclose the entry
name in single quotation marks if you do not want your TSO prefix (which might be your user ID) used
as the high-level qualifier of the entry name.For example, assume that your user ID is SMITH. If you issue the following command, you define the entry SMITH.ABC in the global access table.
RDEFINE GLOBAL DATASET ADDMEM('SMITH.ABC'/READ)
If you do not enclose the entry name in single quotation marks, your TSO prefix is used as the high-level qualifier of the entry name. For example, if you issue the following command, you define the entry SMITH.ABC in the global access table.RDEFINE GLOBAL DATASET ADDMEM(ABC/READ)
If the entry name you specify contains*
as the high-level qualifier and you do not enclose the name in single quotation marks, RACF creates the entry exactly as you specify it (your TSO prefix is not used as the high-level qualifier of the entry name). For example, if you issue the following command, you define the entry*.
ABC in the global access table. If you enclose*.
ABC in single quotation marks, you define the same entry (*.
ABC) in the global access table.RDEFINE GLOBAL DATASET ADDMEM(*.ABC/READ)
- Global access checking for general resources
- To define an entry in the global access checking table for a general resource,
specify any valid class name in the class descriptor table as a profile name. (For a list of general resource classes defined in the class descriptor table
supplied by IBM, see Supplied RACF resource classes.)
The member name you specify with the ADDMEM operand can contain one or more generic characters
(
%
,*
, or**
). For information on using generic characters, see Naming considerations for resource profilesz/OS Security Server RACF Command Language Reference.
- When SECDATA is the class name
- Security Classification of Users and Data: To define a security category or security
level for your installation, specify class-name as SECDATA and
profile-name as one of the following:
- CATEGORY when defining a security category
- SECLEVEL when defining a security level.
If you specify SECDATA CATEGORY, the ADDMEM operand specifies the name of an installation-defined category of users.
For example, to define three categories of users named CODE, TEST, and DOC, issue:RDEFINE SECDATA CATEGORY ADDMEM(CODE TEST DOC)
If you specify SECDATA SECLEVEL, the ADDMEM operand specifies both the name of an installation-defined security level and the number you assign to that level, in the form:seclevel-name/seclevel-number
You must separate the two items by a forward slash character (/
). The seclevel-name can contain 1 - 44 characters and must not contain a blank, comma, semicolon, or right parenthesis. The seclevel-number can be any number 1 - 254. The higher the number, the higher the security level. For example, to define three security levels, where CONFIDENTIAL is the most restrictive, enter:RDEFINE SECDATA SECLEVEL ADDMEM(GENERAL/10 EXPERIMENTAL/75 CONFIDENTIAL/150)
Because RACF keeps track of security levels by number, replacing an existing security level name does not affect the protection that the security level number provides. If you had defined the security levels shown in the preceding example and then replaced
GENERAL/10
withINTERNAL/10
, a listing of a user or resource profile that included security level10
would show the new name. Because the security level number is the same, there is no need to change any resource or user profiles.When you actually change an existing CATEGORY profile or SECLEVEL profile, however, RACF issues a warning message to remind you that the change is not reflected in existing resource or user profiles. In this case, you can use the SEARCH command to locate the profiles you must modify.
- When NODES is the class name
- Specify only one value with the ADDMEM operand. If you specify multiple values, RACF stores them in the NODES profile but translates using only the last one
specified. Restriction: Specify only one value with the ADDMEM operand. If you specify multiple values, RACF stores them in the NODES profile but translates using only the last one specified.Guideline: If one or more values are already defined in a NODES profile, use the DELMEM operand to remove them before specifying the new value.
For information on setting up NODES profiles, see z/OS Security Server RACF Security Administrator's Guide.
Translation of User IDs, Group Name, or Security Labels on Inbound Jobs or SYSOUT:
If the class name is NODES, you can specify how user IDs, group names, and security labels are translated. The translation depends on the second and third qualifiers of the profile name, as follows:If the second qualifier is... The ADDMEM value specifies... RUSER The user ID to be used on this system for the jobs originating from NJE nodes to which the profile applies USERJ The user ID to be used on this system for the inbound jobs to which the profile applies USERS The user ID to be used on this system for the inbound SYSOUT to which the profile applies GROUPJ The group name to be used on this system for the inbound jobs to which the profile applies GROUPS The group name to be used on this system for the inbound SYSOUT to which the profile applies SECLJ The security label to be used on this system for the inbound jobs to which the profile applies SECLS The security label to be used on this system for the inbound SYSOUT to which the profile applies - When PROGRAM is the class name
-
Program Control: If you specify class-name as PROGRAM,
profile-name must identify one or more controlled programs (load modules
or program objects), and member identifies the library containing the programs, the volume
serial of that library, and a processing option. Additionally, APPLDATA may contain information that
RACF will process. You specify the member entry in the
following format:
library-name/volume-serial/PADCHK
orNOPADCHK
- library-name
- Specifies the
name of the library in which the controlled programs reside. If
profile-name is
*
or**
, RACF treats all load modules in the specified library as controlled programs.If it is necessary to define a program that resides in the system's LPA or dynamic LPA as a controlled program (for example: to give it the
MAIN
orBASIC
attribute), define the program with a profile-name that does not end in*
, specify'LPALST'
as the library name, and omit the volume serial.When it is necessary to define a specific profile for a program in the LPA,
'LPALST'
should be used as the library name and the volume serial should be omitted.The following represent valid ADDMEM values for program XYZ which exists in one of the LPA libraries or in the dynamic LPA:'LPALST'
'LPALST'//PADCHK
'LPALST'//NOPADCHK
- volume-serial (optional)
- Specifies the serial number of the volume on which the library
resides. You can use six asterisks within single quotation marks to specify the current SYSRES
volume:
library-name/'******'/PADCHK
orNOPADCHK
.Note:- The
'******'
value works when the SYSRES resides on more than one volume, but it applies only when the data set lives on the IPL volume - If volume-serial is not specified, the specified library can exist on any volume. The
alternate formats are:
library-name//NOPADCHK
or
library-name
- The
- PADCHK | NOPADCHK
- Specifies that RACF is to make
(PADCHK) or not to make (NOPADCHK) the checks for program-accessed data sets when a user is
executing the controlled programs. If you specify PADCHK, RACF verifies that (1) the conditional access list in the profile for a program-accessed data
set allows the access and (2) no task in the user's address space has previously loaded a
non-controlled program.
If you specify NOPADCHK, RACF does not perform this extra checking to verify that a non-controlled program cannot access a program-accessed data set. NOPADCHK allows you, for example, to define entire libraries of modules (such as ISPF) as controlled programs without then having to grant each of these modules access to many program-accessed data sets.Examples show two ways to define controlled programs. Before defining or modifying PROGRAM profiles, see the program control sections of z/OS Security Server RACF Security Administrator's Guide.
- Do not specify generic characters, such as the ampersand (
- APPLDATA('application-data')
- Specifies a text string that is associated with each of the named
resources. The text string can contain a maximum of 255 characters and must be enclosed in single
quotation marks. It can also contain double-byte character set (DBCS) data. Rules:
- For profiles in the PROGRAM class, RACF will examine the
APPLDATA value (if any) and perform special processing if you have specified
MAIN
orBASIC
(optionally followed by blanks).- This processing will occur only for profiles whose names do not end in
*
, and only when you have enabled enhanced PGMSECURITY mode. - For details of this processing, see z/OS Security Server RACF Security Administrator's Guide.
- This processing will occur only for profiles whose names do not end in
- For the FACILITY class, RACF examines the APPLDATA value
of the following profiles:
- BPX.UNIQUE.USER
The APPLDATA value specifies the name of a user profile from which RACF can copy OMVS segment information (other than UID) when assigning unique UIDs through a callable service.
- BPX.DEFAULT.USER
The APPLDATA value specifies a user ID and group name from which RACF can retrieve default OMVS segment information. Beginning with z/OS® Version 1 Release 11, the BPX.DEFAULT.USER profile is ignored when the BPX.UNIQUE.USER profile is defined. Beginning with z/OS Version 2 Release 1, the BPX.DEFAULT.USER profile is no longer supported.
- BPX.NEXT.USER
The APPLDATA value specifies information that RACF will use for the automatic assignment of OMVS UIDs and GIDs.
- IRR.PGMSECURITY
The APPLDATA value specifies whether RACF will operate in basic, enhanced, or enhanced-warning PGMSECURITY mode.
- If the APPLDATA value contains the string
ENHANCED
, then RACF will run in enhanced PGMSECURITY mode. - If the APPLDATA value contains the string
BASIC
, then RACF will run in basic PGMSECURITY mode. - If the APPLDATA is empty or contains any other value, RACF will run in enhanced PGMSECURITY mode but in warning mode rather than failure mode.
- If the APPLDATA value contains the string
- IRR.PROGRAM.SIGNING.group.userid
- IRR.PROGRAM.SIGNING.userid
- IRR.PROGRAM.SIGNING.group
- IRR.PROGRAM.SIGNING
For any of the IRR.PROGRAM.SIGNING profiles, the APPLDATA value specifies the signing hash algorithm, and the SAF key ring to use when signing a program.
- IRR.PROGRAM.SIGNATURE.VERIFICATION
The APPLDATA value specifies the SAF key ring to use when verifying the signature of a signed program.
- IRR.IDIDMAP.PROFILE.CODEPAGE
The APPLDATA value specifies the code page which is to be used when processing the USERDIDFILTER NAME and REGISTRY values with the RACMAP command. The code page is specified in the form:
APPLDATA(CCSID(nnnnn))
The valid values for the code page nnnnn are:- 00037
- EBCDIC US 037
- 00870
- EBCDIC LATIN 2
- 00875
- EBCDIC GREEK
- 00924
- EBCDIC US 1047 with the Euro sign
- 01047
- EBCDIC US 1047
- 01140
- EBCDIC US 037 with the Euro sign
- 01153
- EBCDIC LATIN 2 with the Euro sign #2
- 04971
- EBCDIC GREEK with the Euro sign
Note:- If the IRR.IDIDMAP.PROFILE.CODEPAGE profile does not exist, then RACF uses code page IBM-1047.
- If the IRR.IDIDMAP.PROFILE.CODEPAGE profile does exist, but contains no APPLDATA or the APPLDATA references a code page other than one of the supported code pages, then RACF uses code page IBM-1047
- BPX.UNIQUE.USER
- For the TIMS and GIMS class, specify application-data as REVERIFY to force the user to reenter his password whenever the transaction or transactions listed in the profile-name or ADDMEM operands are used.
- For the PTKTDATA class, the application data field can be used to control the replay protection
function of legacy PassTicket support. This setting applies only to legacy PassTickets and does not
control the replay behavior of enhanced PassTickets.
- PassTicket replay protection prevents the use of user IDs to be shared among multiple users. However, in some events it is desirable to bypass this replay protection function.
- Specifying
no replay protection
in the application data field indicates that replay protection is to be bypassed. For example, the following command would successfully result in replay protection being bypassed.RDEFINE PTKTDATA profile-name APPLDATA('NO REPLAY PROTECTION')
Note the following:- There must be a single space between the words
no
andreplay
, and betweenreplay
andprotection
. Lack of spaces, or additional spaces or characters, will make the command ineffective. For example, entering the following command would not result in replay protection being bypassed.RDEFINE PTKTDATA profile-name APPLDATA('NOREPLAY PROTECTION')
- The text string
no replay protection
will always be translated to uppercase. - The text string
no replay protection
can appear anywhere in the APPLDATA field.
- There must be a single space between the words
- See z/OS Security Server RACF Security Administrator's Guide for more information on the PassTicket function.
- For the APPL class, when the APPLDATA value contains the
RACF-INITSTATS(DAILY)
string, RACF records statistics only for the first user verification of the day for the applications protected by this profile. TheRACF-INITSTATS(DAILY)
string is reserved text and may appear anywhere in the APPLDATA field. For more information about statistics collection, see z/OS Security Server RACF Security Administrator's Guide. - Specifying the
RACF-DELEGATED
string in the APPLDATA designates the resources protected by the profile as delegated, meaning that RACROUTE REQUEST=FASTAUTH should honor a nested ACEE during access checking to this resource. TheRACF-DELEGATED
string is reserved text and may appear anywhere in the APPLDATA field. For more information on nested ACEEs and delegated resources, see z/OS Security Server RACF Security Administrator's Guide.
RACF does not validate the APPLDATA value during RALTER. Depending on the function, RACF might or might not issue any messages during subsequent processing if it finds an unexpected value.
The APPLDATA value, if present, can be displayed with the RLIST command.
For detailed information about each APPLDATA value, see z/OS Security Server RACF Security Administrator's Guide.
- For profiles in the PROGRAM class, RACF will examine the
APPLDATA value (if any) and perform special processing if you have specified
- AT | ONLYAT
- The AT and ONLYAT keywords are only valid when the command is
issued as a RACF TSO command.
- AT([node].userid ...)
- Specifies
that the command is to be directed to the node specified by node,
where it runs under the authority of the user specified by userid in
the RACF subsystem address
space.
If node is not specified, the command is directed to the local node.
- ONLYAT([node].userid ...)
- Specifies
that the command is to be directed only to the node specified by node where
it runs under the authority of the user specified by userid in
the RACF subsystem address
space.
If node is not specified, the command is directed only to the local node.
- AUDIT(access-attempt[(audit-access-level)])
- Specifies which access attempts and access
levels you want logged to the SMF data set.
- access-attempt
- Specifies which access attempts you want logged to the SMF data set. The following options are
available:
- ALL
- Specifies that you want to log both authorized accesses and detected unauthorized access attempts.
- FAILURES
- Specifies that you want to log detected unauthorized access attempts. This is the default value if you do not specify access-attempt.
- NONE
- Specifies that you do not want any logging to be done.
- SUCCESS
- Specifies that you want to log authorized accesses to the resource.
- audit-access-level
- Specifies which access levels you want logged to the SMF data set.
The levels you can specify are:
- ALTER
- Logs ALTER access-level attempts only.
- CONTROL
- Logs access attempts at the CONTROL and ALTER levels.
- READ
- Logs access attempts at any level. This is the default value if no access level is specified.
- UPDATE
- Logs access attempts at the UPDATE, CONTROL, and ALTER levels.
FAILURES(READ) is the default value if the AUDIT operand is omitted from the command.
You cannot audit access attempts for the EXECUTE level.
- CDTINFO
- Specifies information used in the definition of an installation-defined class in
the dynamic class descriptor table (CDT). For details about defining classes in the dynamic CDT, see
Administering the Dynamic Class Descriptor Table (CDT) in z/OS Security Server RACF Security Administrator's Guide. Note: CDTINFO should only be specified for profiles in the CDT class.
- CASE ( UPPER | ASIS )
- Specifies whether mixed-case profile names are allowed for the class.
- ASIS
- When ASIS is specified, RACF commands preserve the case of profile names for the specified class. Lowercase characters are allowed in any position of the profile name where alphabetic characters are allowed, based on the character restrictions in the FIRST and OTHER keywords.
- UPPER
- When UPPER is specified, RACF translates the profile names for the specified class to uppercase. If CASE is not specified, CASE(UPPER) is the default.
- DEFAULTRC
- Specifies the return code that RACF will provide from
RACROUTE REQUEST=AUTH or REQUEST=FASTAUTH when both RACF and
the class are active and (if required) the class has been processed using SETROPTS RACLIST, but RACF doesn't find a profile to protect the resource specified on
the AUTH or FASTAUTH request. The return codes are interpreted as follows:
- 0
- The access request was accepted.
- 4
- No profile exists.
- 8
- The access request was denied.
If DEFAULTRC is not specified, DEFAULTRC(4) is the default.
- DEFAULTUACC
-
- DEFAULTUACC ( ALTER | CONTROL | UPDATE | READ | NONE )
- Specifies the minimum access allowed if the access level is not set when a resource profile is defined in the class.
- DEFAULTUACC ( ACEE )
- If no universal access level is specified at the time the profile is created, RACF uses the default universal access authority from the command issuer's ACEE, as specified on the UACC operand of the ADDUSER, ALTUSER or CONNECT command.
If DEFAULTUACC is not specified, DEFAULTUACC(NONE) is the default.
- FIRST (characters-allowed ...)
- Specifies a character type restriction for the first character of the profile name. One or more
of the following may be specified.
- ALPHA - Allows
an alphabetic character (
A - Z
) - NUMERIC - Allows a digit (
0 - 9
) - NATIONAL - Allows characters
#
(X'7B'),@
(X'7C'), and$
(X'5B') - SPECIAL - Allows any character except the following:
- a blank
- a comma
- a parenthesis
- a semicolon
- those characters in ALPHA, NUMERIC, or NATIONAL.
Note: This option includes the period ('.') and is needed if you intend to use it as a delimiter.If FIRST is not specified, FIRST(ALPHA, NATIONAL) is the default.
- ALPHA - Allows
an alphabetic character (
- GENERIC ( ALLOWED | DISALLOWED )
- Specifies whether or not SETROPTS GENERIC and SETROPTS GENCMD are allowed for the class. The
SETROPTS GENERIC command activates generic profile checking for a class. The SETROPTS GENCMD command
activates generic profile command processing.
If GENERIC is not specified, GENERIC(ALLOWED) is the default. If GENERIC(DISALLOWED) is specified, GENLIST(ALLOWED) cannot also be specified.
Because generic processing is not allowed for grouping classes, GENERIC(DISALLOWED) should be specified if MEMBER(member-class-name) is also specified. If GENERIC(ALLOWED) is specified or defaulted for a grouping class, a warning message is issued. Subsequent processing for the dynamic class being defined and for profiles in that class will be treated as if GENERIC(DISALLOWED) was specified.
Rule: If the dynamic class you are defining shares a POSIT number with other classes, all classes with the shared POSIT number must have the same GENERIC keyword value. This is because the SETROPTS GENERIC and SETROPTS GENCMD commands process all classes that share a POSIT number. If at least one class specifies GENERIC(DISALLOWED) and at least one class specifies GENERIC(ALLOWED), RACF issues a warning message. When you subsequently add this class to the dynamic class descriptor table using the SETROPTS RACLIST(CDT) command, RACF might change the value of the GENERIC keyword to match the GENERIC keyword value of the other classes sharing the POSIT number.- If this dynamic class shares a POSIT number with an IBM-supplied class, RACF changes the value of the GENERIC keyword in the dynamic class to match the IBM class. (The class attribute in the IBM-supplied class takes precedence).
- If this dynamic class shares a POSIT number with an installation-defined class (static or dynamic), RACF determines the least restrictive attribute - GENERIC(ALLOWED) is less restrictive than GENERIC(DISALLOWED) - and changes the GENERIC(DISALLOWED) class attribute to GENERIC(ALLOWED).
Exception: A grouping class and member class can share a POSIT number although their GENERIC keyword values need not match. You must specify GENERIC(DISALLOWED) for the grouping class. However, you can specify either ALLOWED or DISALLOWED for the member class.
- GENLIST ( ALLOWED | DISALLOWED )
- Specifies whether SETROPTS GENLIST is to be allowed for the class. If you GENLIST the class on
the SETROPTS command and a user then requests access to a resource protected by a generic profile, a
copy of that profile will be brought into the common storage area rather than into the user's
address space. RACF uses those generic profiles in common
storage to check the authorization of any users who want to access the resource. The profiles remain
in common storage until a REFRESH occurs.
If GENLIST is not specified, GENLIST(DISALLOWED) is the default.
- GROUP ( grouping-class-name )
- Specifies the name of the class that groups the resources within the specified class. If GROUP
is not specified, RACF does not allow resource grouping for
the class. The grouping-class-name must be 1 - 8 characters.
When GROUP is specified, the class being defined is a member class.
If GROUP is specified, then grouping-class-name must also be defined in the CDT class and its MEMBER keyword should refer to the class being defined. The GROUP and MEMBER keywords must have matching class entries before SETROPTS RACLIST(CDT) is issued to build or refresh the dynamic CDT or before the system is restarted; otherwise, the class in error will not be added to the dynamic class descriptor table.
- KEYQUALIFIERS ( 0 | nnn )
- Specifies the number of matching qualifiers RACF uses
when loading generic profilenames to satisfy an authorization request if a discrete
profile does not exist for a resource. For example, if you specify two for the class, all generic
profile names whose highest level qualifiers match the two highest qualifiers of the entity name are
loaded into the user's storage when the user requests access to a resource. The
nnn value must be a number 0 - 123.
If KEYQUALIFIERS is not specified, the default is 0 and profile names for the entire class are loaded and searched.
The maximum value you can specify is 123, which is the maximum number of qualifiers in a name 246 characters long.
When KEYQUALIFIERS(nnn) is specified, generic profiles created in that class may not contain generic characters in the first nnn qualifiers of the profile name.
When KEYQUALIFIERS(nnn) is greater than 0 for a class, all discrete and generic profiles in that class must have at least nnn+1 qualifiers in each profile name. The number of qualifiers a profile name is determined by counting the number of period characters in the profile and adding one; the first character is not examined.
Examples of valid profile names for KEYQUALIFIERS(2
) are:A.B.C A.B.** A.B.C.D*
Guideline: Specify KEYQUALIFIERS(nnn) greater than 0 for classes that have the following characteristics:- The class is not usually RACLISTed or GENLISTed.
- Profile names in the class follow a naming convention where many generic profiles have the same nnn qualifiers at the beginning of the profile name.
In this example, you might define your installation class using KEYQUALIFIERS(REPORTS.USER1.TERMUSE.* REPORTS.USER1.TERMUSE.DEPT60.* REPORTS.USER1.TERMUSE.2006.JAN.* REPORTS.USER1.TERMUSE.2006.FEB.* REPORTS.USER1.TERMUSE.2006.MAR.* REPORTS.USER1.TERMUSE.2006.APR.* REPORTS.USER1.TERMUSE.2006.MAY.* REPORTS.USER1.TERMUSE.2006.JUN.* REPORTS.USER1.TERMUSE.2006.JUL.* REPORTS.USER1.TERMUSE.2006.AUG.* REPORTS.USER1.TERMUSE.2006.SEP.* REPORTS.USER1.TERMUSE.2006.OCT.* REPORTS.USER1.TERMUSE.2006.NOV.* REPORTS.USER1.TERMUSE.2006.DEC.*
3
) so that when RACF checks authorization checks for resources in your class, only generic profile names that match the first three qualifiers of your report are loaded into storage for RACF to check.Restriction: Different rules apply for the FILE and DIRECTRY classes. For the syntax required for profile names in the DIRECTRY and FILE classes, see the appropriate RACF Command Language Reference for your VM system.
- MACPROCESSING ( NORMAL | REVERSE | EQUAL)
- Specifies which type of mandatory access control (MAC) processing is required for the class.
If MACPROCESSING is not specified, MACPROCESSING(NORMAL) is the default.
- NORMAL - specifies normal MAC processing is required. If and when a MAC check is performed, the user's SECLABEL must dominate that of the resource.
- REVERSE - specifies reverse MAC processing is required. If and when a MAC check is performed, the SECLABEL of the resource must dominate that of the user.
- EQUAL - specifies equal MAC processing is required. If and when a MAC check is performed, the SECLABEL of the user must be equivalent to that of the resource. MACPROCESSING(EQUAL) should be used for classes where two-way communication is expected. Writedown (SETROPTS MLS) does not apply to classes where MACPROCESSING(EQUAL) is specified.
- MAXLENGTH ( 8 | nnn )
- Specifies the maximum length of resource and profile names for the specified class when MAXLENX
is not specified. When MAXLENX is also specified, MAXLENGTH represents the maximum length of a
resource name only when a RACROUTE macro is invoked with the ENTITY keyword. The value of
nnn must be 1 - 246.
If MAXLENGTH is not specified, the default is 8.
- MAXLENX ( nnn )
- Specifies the maximum length of resource and profile names for the specified class when a
RACROUTE macro is invoked with the ENTITYX keyword, or when a profile is added or changed using a
RACF command processor. The value of
nnn value must be 1 - 246.
If MAXLENX is not specified before SETROPTS RACLIST(CDT) is issued to build or refresh the dynamic CDT or before the system is restarted, the value specified for MAXLENGTH is used for MAXLENX in subsequent processing for the dynamic class.
- MEMBER ( member-class-name )
- Specifies the name of the class grouped by the resources within the specified class. The
member-class-name must be 1 - 8 characters.
When MEMBER is specified, the class being defined is a resource group.
If MEMBER is specified, then member-class-name must also be defined in the CDT class and its GROUP keyword should refer to the class being defined. The GROUP and MEMBER keywords must have matching class entries before SETROPTS RACLIST(CDT) is issued to build or refresh the dynamic CDT or before the system is restarted; otherwise, the class in error will not be added to the dynamic class descriptor table.
- OPERATIONS ( YES | NO )
- Specifies whether RACF is to take the OPERATIONS
attribute into account when it performs authorization checking. If YES is specified, RACF considers the OPERATIONS attribute; if NO is specified, RACF ignores the OPERATIONS attribute.
If OPERATIONS is not specified, OPERATIONS(NO) is the default.
- OTHER ( characters-allowed ...)
- Specifies a character type restriction for the characters of the profile name other than the
first character. One or more of the following may be specified:
- ALPHA - Allows
an alphabetic character (
A - Z
) - NUMERIC - Allows a digit (
0 - 9
) - NATIONAL - Allows characters
#
(X'7B'),@
(X'7C'), and$
(X'5B') - SPECIAL - Allows any character except the following:
- a blank
- a comma
- a parenthesis
- a semicolon
- those characters in ALPHA, NUMERIC, or NATIONAL.
Note: This option includes the period ('.') and is needed if you intend to use it as a delimiter.If OTHER is not specified, OTHER(ALPHA, NATIONAL) is the default.
- ALPHA - Allows
an alphabetic character (
- POSIT ( nnn )
- Specifies the POSIT number associated with the class. Each class in the class descriptor table
has a POSIT number specified which identifies a set of option flags that control the following RACF processing options:
- Whether authorization checking should take place for the class (SETROPTS CLASSACT).
- Whether auditing should take place for resources within the class (SETROPTS AUDIT).
- Whether statistics should be kept for resources within the class (SETROPTS STATISTICS).
- Whether generic profile access checking is active for the class (SETROPTS GENERIC).
- Whether generic command processing is active for the class (SETROPTS GENCMD).
- Whether global access checking is active for the class (SETROPTS GLOBAL).
- Whether the user has CLAUTH to a resource class.
- Whether special resource access auditing applies to the class (SETROPTS LOGOPTIONS).
- Whether SETROPTS RACLIST will occur for this class (when RACLIST(ALLOWED) or RACLIST(REQUIRED) is also specified).
- For all classes that have the same POSIT number specified, these options are identical. If you change an option for one class, this change will also affect all other classes that share the same POSIT number.
Before you issue SETROPTS RACLIST(CDT) to build or refresh the dynamic class descriptor table, you must decide whether to use a unique set of option flags for each RACF class or whether to have two or more RACF classes share the same set of option flags. If you choose to use a unique set of option flags for a class, assign the class a unique POSIT number. If you choose to share the same set of option flags among several classes, assign those classes the same POSIT number.
Before you issue SETROPTS RACLIST(CDT), the POSIT keyword must specify a valid value on the RDEFINE command. Otherwise, the new class will not be added to the dynamic class descriptor table.
Once you issue SETROPTS RACLIST(CDT) to build or refresh the dynamic class descriptor table, you can activate the classes that comprise it and their respective set of option flags by using the appropriate keywords on the SETROPTS command.
There are 1024 POSIT numbers that can identify 1024 sets of option flags. Installations can specify POSIT numbers 19 - 56 and 128 - 527. POSIT numbers 0 - 18, 57 - 127 and 528 - 1023 are reserved for IBM use and should not be specified for installation-defined classes unless an installation intends that one of its classes share SETROPTS options with an IBM-defined class.
Guideline: A RACF class that has a default return code
8
should not share a POSIT value with a RACF class having a different default return code. If a class with a default return code8
is activated but no profiles are defined, user activity that requires access in that class will be prevented. - PROFILESALLOWED ( YES | NO )
- Specifies whether you want RACF to allow profiles to be
defined for this RACF class. If you specify
PROFILESALLOWED(NO), RACF will not allow profiles to be
defined to this RACF class; if a user attempts to define a
profile to that class, the RDEFINE command responds with an appropriate message.
If PROFILESALLOWED is not specified, PROFILESALLOWED(YES) is the default.
- RACLIST
- Specifies whether SETROPTS RACLIST is to be allowed, disallowed or required for the specified
class. If you process this class using SETROPTS RACLIST, RACF
brings copies of all discrete and generic profiles within that class into storage in a data space.
RACF uses those profiles in storage to check the
authorization of any users who want to access the resources. The profiles remain in storage until
removed by SETROPTS NORACLIST.
- ALLOWED
- Specifies that SETROPTS RACLIST may be used for the class, but is not required for authorization checking.
- DISALLOWED
- Specifies that SETROPTS RACLIST may not be used for the class.
- REQUIRED
- Specifies that you must process the class using SETROPTS RACLIST in order to use RACROUTE
REQUEST=AUTH. The purpose of this keyword is to allow routines that cannot tolerate I/O to invoke
RACF. When this keyword is specified and the class is not
processed by SETROPTS RACLIST and a RACROUTE REQUEST=AUTH is attempted, the return code is 4.
If RACLIST is not specified, RACLIST(DISALLOWED) is the default.
- SECLABELSREQUIRED ( YES | NO )
- Specifies whether a SECLABEL is required for the profiles of the specified class when SETROPTS
MLACTIVE is on.
SECLABELSREQUIRED(NO) means that RACF will not require a SECLABEL for profiles in this class; however, if a SECLABEL exists for this profile and the SECLABEL class is active, RACF will use it during authorization checking. SECLABELSREQUIRED(NO) applies to general resource classes that have no profiles, such as DIRAUTH, or for classes that contain no data, such as OPERCMDS and SECLABEL.
SECLABELSREQUIRED(YES) means that RACF will require a SECLABEL for profiles in this class when SETROPTS MLACTIVE is on.
If SECLABELSREQUIRED is not specified, SECLABELSREQUIRED(NO) is the default.
- SIGNAL ( YES | NO )
- Specifies whether an ENF signal should be sent to listeners when RACLISTed profiles are created,
updated or deleted for authorization checking.
When SIGNAL(YES) is specified, RACF will send an ENF signal to listeners when a SETROPTS RACLIST, SETROPTS NORACLIST or a SETROPTS RACLIST REFRESH is issued for the class to activate, deactivate or update the profiles used for authorization checking. For more information, see ENF signals in z/OS Security Server RACF System Programmer's Guide.
When SIGNAL(NO) is specified, no ENF signal is sent.
SIGNAL(YES) is not valid if RACLIST(DISALLOWED) is specified.
If SIGNAL is not specified, SIGNAL(NO) is the default.
- CFDEF
- Defines a custom field for profiles in the CFIELD class, and
specifies the name and attributes for the custom field. The custom fields you define with the CFDEF
operand can be used in the CSDATA segment of RACF profiles. For more information about custom
fields, including the profile name format, see z/OS Security Server RACF Security Administrator's Guide.
New custom fields are not effective until the system programmer rebuilds the dynamic parse table using the IRRDPI00 UPDATE command. For information about using the IRRDPI00 command, see z/OS Security Server RACF System Programmer's Guide.
Rule: Specify CFDEF only for profiles in the CFIELD class.
- TYPE
- Specifies the data type of the custom field. If you do not specify TYPE, CHAR is the default.
For each data type, you can restrict the content of the custom field using the attributes shown in Table 1. For each attribute shown, the default values based on data type, are as follows.Rule: For each data type, do not specify attributes noted in Table 1 with a dash (-).
Table 1. Default values for attributes that restrict the content of a custom field, based on data type. AttributeDefault value based on the TYPE attribute CHAR FLAG HEX NUM FIRST ALPHA NONATABC NONATNUM NUMERIC MAXLENGTH 1100 3 512 10 MAXVALUE - - - (See Note.) MINVALUE - - - 0 MIXED NO - - - OTHER ALPHA NONATABC NONATNUM NUMERIC Note: If you do not specify MAXVALUE with TYPE(NUM), it defaults to the length of the highest value based on the MAXLENGTH value.- CHAR
- Specifies that the custom field is a character field. Guidelines:
- When you specify TYPE(CHAR), specify values for the following attributes:
- FIRST: The default value is ALPHA.
- MAXLENGTH: The default value is 1100.
- MIXED: The default value is NO.
- OTHER: The default value is ALPHA.
- To allow a custom field value to be specified as a quoted string, specify FIRST(ANY) and OTHER(ANY).
Rule: Do not specify MAXVALUE or MINVALUE with TYPE(CHAR).
- When you specify TYPE(CHAR), specify values for the following attributes:
- FLAG
- Specifies that the custom field is a flag field.
Rule: Do not specify any attributes with TYPE(FLAG). The default values are sufficient and required. The default values are FIRST(NONATABC), OTHER(NONATABC), and MAXLENGTH(3).
- HEX
- Specifies that the custom field is a hexadecimal field.
Guideline: When you specify TYPE(HEX), specify a value for the MAXLENGTH attribute. The default value is 512. Specify an even number because hexadecimal data is stored and displayed as an even number of characters.
Rule: Do not specify FIRST, OTHER, MAXVALUE, MINVALUE, or MIXED with TYPE(HEX).
- NUM
- Specifies that the custom field is a numeric field. Guidelines:
- When you specify TYPE(NUM), specify values for the MAXVALUE and MINVALUE attributes.
- You need not specify MAXLENGTH with TYPE(NUM) because MAXVALUE limits the numeric value.
Rule: Do not specify FIRST, OTHER, or MIXED with TYPE(NUM).
- FIRST
- Specifies a character restriction for the first character in the custom field.
Guideline: Do not specify FIRST for custom fields with FLAG, HEX, or NUM data type. If you incorrectly specify the FIRST value for the data type, the custom field might be unusable.
Rules: The valid options for the FIRST attribute apply as follows, based on TYPE value (data type).
Valid
optionsData type based on TYPE attribute CHAR FLAG HEX NUM ALPHA Allowed. ALPHANUM Allowed. ANY Allowed. NONATABC Allowed. Allowed. NONATNUM Allowed. Allowed. NUMERIC Allowed. Allowed. For each option of the FIRST attribute, the characters allowed in the custom field are as follows:
Valid
optionsCharacters allowed Alphabetic
characters
(A - Z
)National
characters
#
(X'7B'),
@
(X'7C'),
and$
(X'5B')Numeric
characters
(0 - 9)
Any
other
characterALPHA Allowed. Allowed. ALPHANUM Allowed. Allowed. Allowed. ANY Allowed. Allowed. Allowed. Allowed. NONATABC Allowed. NONATNUM Allowed. Allowed. NUMERIC Allowed. - ALPHA
- Allows alphabetic characters (
A - Z
) and national characters#
(X'7B'),@
(X'7C'), and$
(X'5B'). - ALPHANUM
- Allows alphabetic characters (
A - Z
), numbers (0 - 9
), and national characters#
(X'7B'),@
(X'7C'), and$
(X'5B'). - ANY
- Allows alphabetic characters (
A - Z
), numbers (0 - 9
), national characters#
(X'7B'),@
(X'7C'), and$
(X'5B'), and any other character. When you specify both FIRST(ANY) and OTHER(ANY), also allows quoted strings. - NONATABC
- Allows alphabetic characters, and excludes numbers and national
characters
#
(X'7B'),@
(X'7C'), and$
(X'5B'). - NONATNUM
- Allows alphabetic characters and numbers, but excludes national
characters
#
(X'7B'),@
(X'7C'), and$
(X'5B'). - NUMERIC
- Allows numbers (
0 - 9
).
If you do not specify FIRST, the values default as follows, based on TYPE value (data type).
- Data type
- Default value
- CHAR
- ALPHA
- FLAG
- NONATABC
- HEX
- NONATNUM
- NUM
- NUMERIC
- HELP( help-text )
- Specifies the help text for this custom field. The help text is displayed when the user is in
TSO PROMPT mode and presses the PF1 key or enters a question mark (
?
). Lowercase alphabetic characters in the help-text value are translated to uppercase.Rules:- Length: 1 - 255 characters.
- If the help text contains parentheses, commas, blanks, or semicolons, enclose the entire text string in single quotation marks.
- If a single quotation mark is intended to be part of the help text, use two single quotation
marks together for each single quotation mark within the string, and enclose the entire string in
single quotation marks. Example: To define help text for a customer's address and indicate that the field can be up to 100 characters, you might specify the following value:
HELP('CUSTOMER''S ADDRESS. SPECIFY UP TO 100 CHARACTERS')
If you do not specify HELP, the value defaults to the custom field name defined in CFIELD profile name.
- LISTHEAD( list-heading-text )
- Specifies the heading to display in the output for the LISTUSER or LISTGRP command whenever the
CSDATA segment is listed. Lowercase alphabetic characters in the
list-heading-text value are translated to uppercase. Rules:
- Length: 1 - 40 characters.
- If the heading text contains parentheses, commas, blanks, or semicolons, enclose the entire text string in single quotation marks.
- If a single quotation mark is intended to be part of the help text, use two single quotation
marks together for each single quotation mark within the string, and enclose the entire string in
single quotation marks. Example:
LISTHEAD('CUSTOMER''S ADDRESS =')
Guidelines: If you specify a LISTHEAD value, avoid confusion for users who use the LISTUSER or LISTGRP command to list custom field values by following these guidelines:
- Ensure that each custom field has a unique heading.
- Append an equal sign (
=
) or other delimiter to your LISTHEAD value to indicate in the list output where the heading ends and the data begins.
If you do not specify LISTHEAD, the value defaults to the custom field name defined in CFIELD profile name and an equal sign (
=
) is appended to the end of the value. - MAXLENGTH( maximum-field-length )
- Specifies the maximum length of the custom field. You can specify MAXLENGTH with any TYPE value
(data type).
Guideline: Do not specify with TYPE(FLAG) because
3
is the default value and the only valid value.Rules: The valid values or value ranges shown in Table 2 apply based on data type.If you do not specify MAXLENGTH, the default values shown in Table 2 apply based on data type.Table 2. Valid values or value range and default values for the MAXLENGTH attribute, based on data type Data type Valid value or range Default value CHAR 1 - 1100 1100 FLAG 3 3 HEX 1 - 512 512 NUM 1 - 10 10 - MAXVALUE( maximum-numeric-value )
- Specifies the maximum numeric value for a custom field with TYPE(NUM). Rules:
- Valid range: 0 - 2 147 483 647
- Do not specify a MAXVALUE value for custom fields with CHAR, FLAG, or HEX data type.
- Do not specify a MAXVALUE value less than the MINVALUE value.
- Do not specify a MAXVALUE value longer than the highest value based on MAXLENGTH value.
MAXLENGTH(4)
, the default MAXVALUE is 9999. - MINVALUE( minimum-numeric-value )
- Specifies the minimum numeric value for a custom field with TYPE(NUM). Rules:
- Valid range: 0 - 2 147 483 647
- Do not specify a MINVALUE value for fields with CHAR, FLAG, or HEX data type.
- Do not specify a MINVALUE value higher than the MAXVALUE value.
- Do not specify a MINVALUE value longer than the highest value based on MAXLENGTH value.
- MIXED( YES | NO )
- Specifies whether mixed-case alphabetic characters are allowed for a custom field with
TYPE(CHAR).
- YES
- Lowercase characters are allowed in any position of the custom field where alphabetic characters
are allowed, based on the character restrictions specified with the FIRST and OTHER attributes. RACF commands, such as ADDUSER, do not translate lowercase
alphabetic characters in the field to uppercase.
Rule: Do not specify MIXED(YES) for custom fields with FLAG, HEX, or NUM data type.
- NO
- RACF commands translate lowercase alphabetic characters in the field to uppercase.
If you do not specify MIXED, the value defaults to NO.
- OTHER
- Specifies a character restriction for characters in the custom field other than the first
character.
Guideline: Do not specify OTHER for custom fields with FLAG, HEX, or NUM data type. If you incorrectly specify the OTHER value for the data type, the custom field might be unusable.
For each option of the OTHER attribute, the characters allowed in the custom field are as follows:
Valid
optionsCharacters allowed Alphabetic
characters
(A - Z
)National
characters
#
(X'7B'),
@
(X'7C'),
and$
(X'5B')Numeric
characters
(0 - 9)
Any
other
characterALPHA Allowed. Allowed. ALPHANUM Allowed. Allowed. Allowed. ANY Allowed. Allowed. Allowed. Allowed. NONATABC Allowed. NONATNUM Allowed. Allowed. NUMERIC Allowed. - ALPHA
- Allows alphabetic characters (
A - Z
) and national characters#
(X'7B'),@
(X'7C'), and$
(X'5B'). - ALPHANUM
- Allows alphabetic characters (
A - Z
), numbers (0 - 9
), and national characters#
(X'7B'),@
(X'7C'), and$
(X'5B'). - ANY
- Allows alphabetic characters (
A - Z
), numbers (0 - 9
), national characters#
(X'7B'),@
(X'7C'), and$
(X'5B'), and any other character. When you specify both FIRST(ANY) and OTHER(ANY), also allows quoted strings. - NONATABC
- Allows alphabetic characters, and excludes numbers and national
characters
#
(X'7B'),@
(X'7C'), and$
(X'5B'). - NONATNUM
- Allows alphabetic characters and numbers, but excludes national
characters
#
(X'7B'),@
(X'7C'), and$
(X'5B'). - NUMERIC
- Allows numbers (
0 - 9
).
Rules: The valid options for the OTHER attribute apply as follows, based on TYPE value (data type).
Valid
optionsData type based on TYPE attribute CHAR FLAG HEX NUM ALPHA Allowed. ALPHANUM Allowed. ANY Allowed. NONATABC Allowed. Allowed. NONATNUM Allowed. Allowed. NUMERIC Allowed. Allowed. If you do not specify OTHER, the values default as follows, based on TYPE value (data type).
- Data type
- Default value
- CHAR
- ALPHA
- FLAG
- NONATABC
- HEX
- NONATNUM
- NUM
- NUMERIC
- VALREXX( REXX-exec-name )
- Specifies the name of a REXX exec that RACF will call to perform validation on the value of the custom field as it is being assigned. The REXX exec must reside in the system rexx concatenations.
- CSDATA | NOCSDATA
-
- CSDATA
- Specifies information to add, change, or remove a custom
field for this general resource.
- custom-field-name ... | NOcustom-field-name ...
-
- custom-field-name(custom-field-value) ...
- Specifies the name and value of a custom field for this general resource. You can specify values
for multiple custom fields with a single RDEFINE command.
Usage for each custom field is defined using the CFDEF operand of the RDEFINE command for resource profiles in the CFIELD class. Contact your security administrator to see how custom fields are used at your installation. For more information about custom fields, see z/OS Security Server RACF Security Administrator's Guide.
Rules:- You must use the same custom-field-name as defined by the CFIELD profile named GENERAL.CSDATA.custom-field-name. (The CFIELD profile is defined using the CFDEF operand of the RDEFINE command.)
- You must specify a custom-field-value that is valid for the attributes of this custom field. (The attributes, such as data type, are defined in the CFDEF segment of the CFIELD profile.)
- NOcustom-field-name ...
- Removes the custom field information for this general
resource. You can remove values for multiple custom fields with a single RDEFINE command.
When you append the prefix NO to the name of the custom field, you delete the value for that custom field from the user's profile. For example, if your installation has defined a custom field named ADDRESS and you want to remove the ADDRESS field from the profile of the user SHANNON, you might issue the following command:
Example:GENERAL SHANNON CSDATA(NOADDRESS)
- NOCSDATA
- Deletes the CSDATA segment from the general resource profile.
- DATA('installation-defined-data')
- Specifies
up to 255 characters of installation-defined data to be stored in
the profile for the resource and the data must be enclosed in single
quotation marks. It can also contain double-byte character set (DBCS)
data.
This information is listed by the RLIST command.
- DLFDATA
- Specifies information
used in the control of DLF objects in profiles in the DLFCLASS.
- RETAIN(YES | NO)
- Specifies whether the DLF object can be retained after use.
- JOBNAMES(jobname-1 ...)
- Specifies
the list of objects which can access the DLF objects protected by
this profile.
You can specify any job name valid on your system. You can also specify generic job names with an asterisk (*) as the last character of the job name. For example, JOBNAMES(ABC) allows only job ABC to access the DLF objects protected by the profile. JOBNAMES(ABC
*
) allows any job whose name begins with ABC (such as ABC, ABC1, or ABCDEF and so forth) to access the DLF objects.
If DLFDATA is not specified, or is specified without the RETAIN suboperand, RETAIN(NO) is defaulted.
- EIM
- The
EIM and PROXY segment keywords and subkeywords combine to define the
EIM domain, the LDAP host it resides on, and the bind information
required by the EIM services to establish a connection with an EIM
domain. The EIM services will attempt to retrieve this information
when it is not explicitly supplied with the invocation parameters.
- DOMAINDN(eim_domain_dn)
- Specifies the distinguished name of the EIM domain. A valid EIM domain distinguished name begins
with
ibm-eimDomainName=
. Uppercase and lowercase characters are accepted and maintained in the case in which they are entered. The EIM domain distinguished name is one component of an EIM domain name.An EIM domain name identifies the LDAP server that stores the EIM domain information. The EIM domain name begins with the ldap_url from the LDAPHOST suboperand of the PROXY keyword, followed by
/
and ends with the eim_domain_dn from the DOMAINDN suboperand. The length of a valid EIM domain name is determined by the combination of those factors. RACF allows the input of 1023 characters for the domain distinguished name. RACF does not ensure that an EIM domain name created from the LDAP URL and EIM domain distinguished name forms a valid EIM domain name.For more information about LDAP distinguished names, see z/OS IBM Tivoli Directory Server Administration and Use for z/OS.
- OPTIONS
- Specifies options that control the EIM configuration.
- ENABLE | DISABLE
-
- ENABLE
- Specifies that new connections may be established with the specified EIM domain. This is the default.
- DISABLE
- Specifies that new connections may not be established with the specified EIM domain.
- LOCALREGISTRY(registry_name)
- Specifies the name of the local RACF registry
in EIM domains. This operand is valid only with the following profiles
and is ignored for all others:
- The IRR.PROXY.DEFAULTS profile in the FACILITY class
- The IRR.ICTX.DEFAULTS.sysid profile in the LDAPBIND class
- The IRR.ICTX.DEFAULTS profile in the LDAPBIND class.
EIM uses the registry_name value defined in the IRR.PROXY.DEFAULTS profile. The ICTX identity cache registry_name uses the value defined in the IRR.ICTX.DEFAULTS.sysid or IRR.ICTX.DEFAULTS profile.
The registry_name value is 1 - 255 characters in length. It can consist of any characters and can be entered with or without single quotation marks. The following rules apply:- If parentheses, commas, blanks, or semicolons are intended as part of the registry_name, you must enclose the entire character string in single quotation marks.
- If a single quotation mark is intended as part of the registry_name, use two single quotation marks together for each single quotation mark within the string, and enclose the entire string within single quotation marks.
- Both uppercase and lowercase characters are accepted and maintained in the case in which they are entered.
- KERBREGISTRY(registry_name)
- Specifies the name of the Kerberos registry in the EIM domain
that the system is configured to use. This operand is only valid for
the IRR.PROXY.DEFAULTS FACILITY class profile. The value is ignored
when used on other profiles.
The Kerberos registry_name may be 1 - 255 characters long. Uppercase and lowercase characters are allowed, but are not significant because the Kerberos registry name is stored in the RACF database in uppercase.
- X509REGISTRY(registry_name)
- Specifies the name of the X.509 registry in the EIM domain that
the system is configured to use. This operand is only valid for the
IRR.PROXY.DEFAULTS FACILITY class profile. The value is ignored when
used on other profiles.
The X.509 registry_name may be 1 - 255 characters long. Uppercase and lowercase characters are allowed, but are not significant because the X.509 registry name is stored in the RACF database in uppercase.
- FCLASS(profile-name-2-class)
- Specifies the name of
the class to which profile-name-2 belongs. The valid class names are
DATASET and those classes defined in the class descriptor table. For a list of general resource classes defined in the class descriptor table
supplied by IBM, see Supplied RACF resource classes.
If you omit this operand, RACF assumes that profile-name-2 belongs to the same class as profile-name-1. This operand is valid only when you also specify the FROM operand; otherwise, RACF ignores it.
- FGENERIC
- Specifies that RACF is to treat profile-name-2 as a generic name, even if it is fully qualified (meaning that it does not contain any generic characters). This operand is needed only if profile-name-2 is a DATASET profile.
- FROM(profile-name-2)
- Specifies the name of an existing discrete or
generic profile that RACF is to use as a model for the new
profile. The model profile name you specify on the FROM operand overrides any model name specified
in your user or group profile. If you specify FROM and omit FCLASS, RACF assumes that profile-name-2 is the name of a
profile in the same class as profile-name-1.
Mixed-case profile names are accepted and preserved when FCLASS refers to a class defined in the static class descriptor table with CASE=ASIS or in the dynamic class descriptor table with CASE(ASIS).
To specify FROM, you must have sufficient authority to both profile-name-1 and profile-name-2, as described under
Authorization Required
.Possible Changes to Copied Profiles When Modeling Occurs: When a profile is copied during profile modeling, the new profile might differ from the model in the following ways:- Certain conditional access list conditions are valid only for specific classes. For example, WHEN(SYSID) is only valid for the PROGRAM class and WHEN(PROGRAM) is only valid for data sets and the SERVAUTH class. PROGRAM and SYSID entries in the conditional access list of profile-name-2 will be copied to the conditional access list of profile-name-1 only if the condition is valid for the class of profile-name-1.
- RACF places the user's ID on the access list with ALTER access authority or, if the user's ID is already on the access list, RACF changes the user's access authority to ALTER. However, if NOADDCREATOR is in effect, RACF copies the access list authorities exactly as they appear in the model's access list.
- If the model profile contains members (specified with the ADDMEM operand), the members are not copied into the new profile.
- If the SETROPTS MLS option is in effect, the security label (if specified in the model profile)
is not copied. Instead, the user's current security label is used.
Exception: When SETROPTS MLS and MLSTABLE are both in effect and the user has the SPECIAL attribute, the security label specified in the model profile is copied to the new profile.
- For TAPEVOL profiles, TVTOC information is not copied to the new profile.
- Information in the non-BASE segments (for example, the SESSION or DLFDATA segment) is not copied.
For information about automatic profile modeling, refer to z/OS Security Server RACF Security Administrator's Guide.
- FVOLUME(volume-serial)
- Specifies
the volume RACF is to use to
locate the model profile (profile-name-2).
If you specify FVOLUME and RACF does not find profile-name-2 associated with that volume, the command fails. If you omit this operand and profile-name-2 appears more than once in the RACF data set, the command fails.
FVOLUME is valid only when FCLASS either specifies or defaults to DATASET and when profile-name-2 specifies a discrete profile. Otherwise, RACF ignores FVOLUME.
- ICSF
- Specifies ICSF attributes
for the keys that are controlled by this profile. ICSF attributes
are valid only for profiles in the CSFKEYS, GCSFKEYS, XCSFKEY, and
GXCSFKEY classes.
- ASYMUSAGE
- Specifies how an asymmetric key that is controlled by this profile
is eligible to be used. If you do not specify ASYMUSAGE, the key is
eligible for all uses.
- SECUREEXPORT | NOSECUREEXPORT
- Specifies whether the key is eligible to be used to export or import symmetric keys.
- HANDSHAKE | NOHANDSHAKE
- Specifies whether the key is eligible to be used to protect communication channels.
- SYMEXPORTABLE
- Specifies which public keys, if any, are eligible for use to export
a symmetric key that is controlled by this profile. If you do not
specify SYMEXPORTABLE, any public key is eligible.
- BYANY
- Any public key is eligible. The SYMEXPORTCERTS and SYMEXPORTKEYS settings are ignored. This option is the default setting.
- BYLIST
- Only public keys specified with the SYMEXPORTCERTS or SYMEXPORTKEYS option are eligible. If neither option is set for this symmetric key, no public key is eligible (as if BYNONE were specified).
- BYNONE
- No public key is eligible. The SYMEXPORTCERTS and SYMEXPORTKEYS settings are ignored.
- SYMEXPORTCERTS([qualifier]/label-name ... | *)
- Specifies a list of the labels of digital certificates that are eligible to be used to
export the symmetric keys controlled by this profile.
Each listed certificate must exist in the ICSF key store (the SAF key ring or PKCS #11 token specified by an ICSF configuration setting). For information about the ICSF key store, see z/OS Cryptographic Services ICSF Administrator's Guide.
Specify an asterisk (*) to indicate that any certificate in the ICSF key store is eligible to be used to export the symmetric keys controlled by this profile. Specifying an asterisk (*) overrides any listed labels.
Specify each certificate label using a certificate label string in the form of qualifier/label-name.- qualifier
- Specifies an optional qualifier in the certificate label string when multiple certificates have
the same label. If specified, RACF translates the qualifier
value to uppercase characters before storing it in the profile. The meaning of the qualifier value
depends on where the certificate resides.
When the certificate resides in a ... The qualifier value is ... SAF key ring The RACF user ID of the certificate owner. PKCS #11 token The value of the CKA_ID
attribute of the certificate. TheCKA_ID
value consists of up to 64 hexadecimal characters. Valid characters are0 - 9
andA - F
. - /label-name
- Specifies the certificate label assigned when the certificate was created. You must specify the
forward slash character (
/
) followed by the certificate label.If the certificate label contains blanks, or special characters that cause problems with TSO/E, such as the comma, parenthesis, or comment delimiter (
/*
), the entire certificate label string must be enclosed in single quotation marks.Any leading or trailing blanks specified in label-name are removed from this value before storing it in the profile.
Examples of certificate label strings:DENICE/CertForDenice
'ROGERS/Cert for Rogers'
'/DLR cert'
- SYMEXPORTKEYS(ICSF-key-label ... | *)
- Specifies a list of the ICSF key labels of public keys that are
eligible to be used to export the symmetric keys controlled by this
profile. Each listed public key must reside in the ICSF PKA key data
set (PKDS).
Specify an asterisk (*) to indicate that any public key in the ICSF PKDS is eligible to be used to export the symmetric keys controlled by this profile. Specifying an asterisk (*) overrides any listed labels.
- ICSF-key-label
- Specifies the ICSF key label for the public key. The label name
cannot exceed 64 characters. The first character must be an alphabetic
character or a national character (
#
,@
, or$
). Subsequent characters can be a period character (.
) or any alphanumeric or national character.
- SYMCPACFWRAP
- Specifies whether the encrypted symmetric keys that are controlled
by this profile are eligible to be rewrapped by CP Assist for Cryptographic
Function (CPACF). If you do not specify SYMCPACFWRAP, the keys are
ineligible.
- YES
- Specifies that the encrypted symmetric keys that are controlled by this profile are eligible to be rewrapped by CPACF.
- NO
- Specifies that the encrypted symmetric keys that are controlled by this profile are ineligible to be rewrapped by CPACF. This option is the default setting.
- SYMCPACFRET
- Specifies whether the encrypted symmetric keys that are controlled by this profile and are
rewrapped by CP Assist for Cryptographic Function (CPACF) are eligible to be returned to an
authorized caller.
If you specify the ICSF operand to create a new ICSF segment and omit the SYMCPACFRET option, NO is the default setting.
- YES
- Specifies that the encrypted symmetric keys that are controlled by this profile and are rewrapped by CP Assist for Cryptographic Function (CPACF) are eligible to be returned to an authorized caller.
- NO
- Specifies that the encrypted symmetric keys that are controlled by this profile and are rewrapped by CP Assist For Cryptographic Function (CPACF) are ineligible to be returned to an authorized caller.
- ICTX
- Specifies the ICTX configuration options that
control the ICTX identity cache.
The ICTX identity cache uses an in-storage copy of the configuration options. Use SETROPTS RACLIST processing for the LDAPBIND class to activate these options. (See the z/OS Security Server RACF Security Administrator's Guide for more information about SETROPTS RACLIST processing.)
For details about the ICTX configuration options, see z/OS Integrated Security Services EIM Guide and Reference.
The following operands are used only for the following profiles in the LDAPBIND class and are ignored for other profiles:- IRR.ICTX.DEFAULTS.sysid
- IRR.ICTX.DEFAULTS
- USEMAP (YES | NO)
- Specifies whether the ICTX identity cache stores a valid identity mapping to a z/OS user ID when provided by the application. If you do not specify this,
USEMAP(YES) is the default.
- YES
- When the application provides a valid mapping to a local z/OS user ID, the ICTX identity cache stores it. (This is the default value.)
- NO
- Identity mappings provided by the application are not stored.
- DOMAP (YES | NO)
- Specifies whether the ICTX identity cache uses Enterprise Identity Mapping (EIM) services to
find a mapping to a z/OS user ID for an authenticated user,
and then stores the mapping. If you do not specify this, DOMAP(NO) is the default.
- YES
- When EIM finds a mapping to a z/OS user ID for an authenticated user, the ICTX identity cache stores it.
- NO
- The ICTX identity cache will not use EIM to find an identity mapping. (This is the default value.)
- MAPREQUIRED(YES | NO)
- Specifies whether the ICTX identity cache requires identity mapping to a z/OS user ID for an authenticated user. If you do not specify this,
MAPREQUIRED(NO) is the default.
- YES
- The ICTX identity cache fails the request when no valid mapping is provided by the application or found using EIM.
- NO
- The ICTX identity cache does not fail the request when no valid mapping is provided by the application or found using EIM.
- MAPPINGTIMEOUT(1 - 3600)
- Specifies how long (one second to one hour) the ICTX identity cache stores an identity mapping
to a z/OS user ID for an authenticated user. If you do not
specify this, MAPPINGTIMEOUT(3600) is the default.
Guideline: If you frequently modify your EIM mappings, consider a low MAPPINGTIMEOUT value. A shorter timeout period causes the ICTX identity cache to invoke EIM more frequently. This allows your cached mappings to be refreshed more frequently and improves their currency.
- IDTPARMS
-
Specifies information for the IDTDATA class profile being changed.
- SIGTOKEN(pkcs11-token-name)
- Specifies the name of an ICSF PKCS#11 token name for the generation and validation of Identity
Token (IDT) signatures associated with this profile.
The token name may consist of alphanumeric characters, national characters (@, #, $) and the period symbol. The token name is not case sensitive.
The minimum token name length is 1. The maximum token name length is 32.
There is no default value.
- SIGSEQNUM(pkcs11-sequence-number)
- Specifies the ICSF PKCS#11 sequence number of the key for the generation and validation of
Identity Token (IDT) signatures associated with this profile.
The sequence number must be a hexadecimal number.
The minimum sequence number is 1. The maximum sequence number length is 8 hexadecimal digits. The default value is 1.
- SIGCAT(pkcs11-categor)
- Specifies the ICSF PKCS#11 category of the key for the generation and validation of Identity
Token (IDT) signatures associated with this profile.The category must be one of the following values:
- T - Specifies a clear token object.
- Y - Specifies a secure token object.
The default value is T.
- SIGALG(HS256 | HS384 | HS512)
- Specifies the signature algorithm for the generation of Identity Token (IDT) signatures
associated with this profile. The default value is HS256.
- HS256
- Specifies the signature algorithm as HMAC with SHA256.
- HS384
- Specifies the signature algorithm as HMAC with SHA-384.
- HS512
- Specifies the signature algorithm as HMAC with SHA-512.
- ANYAPPL(YES | NO)
- Specifies whether the IDT that RACROUTE generates can be used for any application name or only
for the application name that performed authentication. The default value is YES.
When ANYAPPL(YES) is specified, RACROUTE will generate the IDT so it can be used for any application name.
When ANYAPPL(NO) is specified, RACROUTE will generate IDT so that it can only be used by the application name that performed authentication.
When an IDT is generated by RACROUTE, which is not for an end user, by specifying the IDTA parameter field with IDTA_End_User_IDT set to off, RACROUTE will ignore this setting and generate the IDT so that it can be used with any application name.
- IDTTIMEOUT(timeout-minutes)
- Specifies the number of minutes that the Identity Token (IDT) associated with the profile is
active.
The value of timeout-minutes can be between 1 and 1440. The default value is 5.
- JES
- Specifies the JES
information for the profile being added.
- KEYLABEL(key-label)
- Specifies the name of an ICSF key label to be used when encrypting spool data for resources that are covered by the profile.
- KERB
- Specifies z/OS Integrated Security Services Network Authentication
Service information for a REALM class profile.
- CHECKADDRS
- Specifies whether
the Kerberos server validates addresses in tickets as part of ticket validation processing.
This keyword is only applicable when defining the KERBDFLT REALM profile for the local realm.
- YES
- The server validates addresses in tickets.
- NO
- The server ignores addresses in tickets. This is the default value.
- DEFTKTLFE(def-ticket-life)
- Specifies the default ticket lifetime for the local z/OS Network Authentication Service in seconds. The value of DEFTKTLFE is 1 - 2 147 483 647. Note that 0 is
not a valid value.
This keyword is only applicable when defining the KERBDFLT REALM profile for the local realm.
If DEFTKTLFE is specified, MAXTKTLFE and MINTKTLFE must also be specified.
- ENCRYPT
- Specifies which keys
can be used by the z/OS Network Authentication Service realm you are
defining.
ENCRYPT is the default value when you specify KERB. The default values for ENCRYPT are DES, DES3, DESD, AES128, AES256, AES128SHA2, and AES256SHA2.
- DES | NODES
- Whether DES encrypted keys can be used.
- DES3 | NODES3
- Whether DES3 encrypted keys can be used.
- DESD | NODESD
- Whether DESD encrypted keys can be used.
- AES128 | NOAES128
- Whether AES128 encrypted keys can be used.
- AES256 | NOAES256
- Whether AES256 encrypted keys can be used.
- AES128SHA2 | NOAES128SHA2
- AES128 SHA2 encryption keys can be used.
- AES256SHA2 | NOAES256SHA2
- AES256 SHA2 encryption keys can be used.
When a realm's password changes, a key of each type is generated and stored in the principal's user profile. The use of each key is based on the z/OS Network Authentication Service configuration.
See z/OS Integrated Security Services Network Authentication Service Administration for information about how z/OS Network Authentication Service uses keys and how to customize environment variables related to keys.
- KERBNAME(kerberos-realm-name)
- Specifies the local
realm name or a trust relationship for z/OS Network Authentication Service.
The maximum length of this field is 117 characters.
- When you specify the local realm name for the KERBDFLT realm, you must specify KERBNAME using
the unqualified form of the local realm name. For example:
RDEFINE REALM KERBDFLT KERB(KERBNAME(KRB2000.IBM.COM)
- When you specify a trust relationship, you must specify the fully qualified principal
name using the following form:
For more information about defining trust relationships, see z/OS Integrated Security Services Network Authentication Service Administration./.../kerberos_realm_name_1/krbtgt/kerberos_realm_name_2
Syntax rules for naming your local realm:
The local realm name that you define to RACF can consist of any character, except the/
(X'61') character. You can enter the name with or without single quotation marks, depending on the following:- If parentheses, commas, blanks, or semicolons are entered as part of the name, the character string must be enclosed in single quotation marks.
- If a single quotation mark is intended to be part of the name and the entire character string is enclosed in single quotation marks, you must use two single quotation marks together to represent each single quotation mark within the string.
- If the first character of the name is a single quotation mark, you must enter the string within single quotation marks, with two single quotation marks entered for the single quotation mark.
Guidelines for naming your local realm:- Avoid using EBCDIC variant characters to prevent problems with different code pages.
- Carefully consider the length of the local realm name. Its length limits the length of local
principal names because fully qualified local principal names use the following form and cannot
exceed 240 characters:
The length of the fully qualified local principal name is checked by RACF only when a local kerberos-principal-name is added or altered. Therefore, plan ahead to ensure that the maximum length of your principal names is sufficient and help you avoid renaming the local realm. If you rename your local realm (using the RALTER command), the keys for existing principals become unusable./.../kerberos_realm_name/principal_name
- When you specify the local realm name for the KERBDFLT realm, you must specify KERBNAME using
the unqualified form of the local realm name. For example:
- MAXTKTLFE(max-ticket-life)
- Specifies the
max-ticket-life for the local z/OS Network Authentication Service in seconds. The value of MAXTKTLFE is 1 - 2 147 483 647. Note that 0 is
not a valid value.
This keyword is only applicable when defining the KERBDFLT REALM profile for the local z/OS Network Authentication Service realm.
If MAXTKTLFE is specified, DEFTKTLFE and MINTKTLFE must also be specified.
- MINTKTLFE(min-ticket-life)
- Specifies the
min-ticket-life for the z/OS Network Authentication Service in seconds. The value of MINTKTLFE is 1 - 2 147 483 647. Note that 0 is
not a valid value.
This keyword is only applicable when defining the KERBDFLT REALM profile for the local Kerberos realm.
If MINTKTLFE is specified, DEFTKTLFE and MAXTKTLFE must also be specified.
- PASSWORD(kerberos-password)
- Specifies the value
of the kerberos-password. The maximum length of this value is 128
characters. The PASSWORD keyword is applicable to all REALM class profile definitions. A
password must be associated with the definition of a trust relationship or else the definition is
incomplete.
Guideline: Avoid using EBCDIC variant characters to prevent problems with different code pages.
The password that you define to RACF can consist of any character. You can enter a password with or without single quotation marks, depending on the following:- If parentheses, commas, blanks, or semicolons are entered as part of the password, the character string must be enclosed in single quotation marks.
- If a single quotation mark is intended to be part of the password and the entire character string is enclosed in single quotation marks, you must use two single quotation marks together for each single quotation mark within the string.
- If the first character of the password is a single quotation mark, you must enter the string within single quotation marks, with two single quotation marks entered for the character.
Both uppercase and lowercase characters are accepted and maintained in the case in which they are entered.
Note: This keyword is intended for administrators to be able to associate a kerberos-password with the definition of a realm. It is not the same as a RACF user password and is not constrained by the SETROPTS password rules or change interval values that might be established for RACF user passwords. ICSF must be available prior to changing the password as the encryption keys for the REALM class profile are generated using ICSF services.
- LEVEL(nn)
- Specifies
a level indicator, where nn is an integer
from 0 - 99.
The default is 0.
Your installation assigns the meaning of the value. It is included on all records that log resource accesses and is listed by the RLIST command.
- MFA
- Specifies that RACF create an MFA segment in the MFADEF class profile. The MFA segment is intended to be updated only by IBM Multi-Factor Authentication for z/OS.
- MFPOLICY
- Specifies multi-factor authentication policy information for the MFADEF class profile being changed.
- FACTORS(factor-name1 ...)
- Specifies the list of factor names that are required in order to satisfy the authentication policy.
- TOKENTIMEOUT(timeout-seconds)
- Specifies the number of seconds for which out-of-band authentication with the policy is valid.
That is, after having authenticated out-of-band with the policy to IBM MFA, the user must logon to a
z/OS application within this number of seconds or the out-of-band authentication record will time
out. When an out-of-band authentication record times out, a user must authenticate out-of-band again
on IBM MFA in order to logon.
The value of timeout-seconds can be between 1 and 86,400 (the number of seconds in a day).
The default value is 300 (5 minutes).
- REUSE(YES|NO)
- Specifies whether this out-of-band authentication policy allows multiple z/OS logons using the
out-of-band token within the TOKENTIMEOUT setting. When REUSE(NO) is specified the user must
authenticate out-of-band with the policy prior to every z/OS logon.
REUSE(NO) is the default.
- NOTIFY[(userid)]
- Specifies
the user ID of a user to be notified whenever RACF uses this profile to deny access to a resource.
If you specify NOTIFY without specifying a user ID, RACF takes your user ID as the default; you
are notified whenever the profile denies access to a resource.
A user who is to receive NOTIFY messages should log on frequently to take action in response to the unauthorized access attempt described in each message. RACF sends NOTIFY messages to the SYS1.BRODCAST data set. When the resource profile also includes WARNING, RACF might have granted access to the resource to the user identified in the message.
When RACF denies access to a resource, it does not notify a user:- When the resource is in the PROGRAM class
- When the resource is in a class for which an application has built in-storage profiles using
RACROUTE REQUEST=LIST
Some applications, such as IMS and CICS®, load all the profiles for a given class into storage. After these profiles are in storage, the applications can do a fast authorization check using RACROUTE REQUEST=FASTAUTH. One difference is that, in some cases, fast authorization checking does not issue warning messages, notification messages, or support auditing. In cases where it does not, return and reason codes are returned to the application to allow support of these functions. Return and reason codes are returned to the application to allow support of these functions. The application can examine the return and reason codes and use RACROUTE REQUEST=AUTH to create the messages and audit records. If the application uses RACROUTE REQUEST=AUTH to support auditing, the specified user is notified. Otherwise, notification, warning, and such does not occur.
For details on using RACF with IMS, visit IMS in IBM Documentation.
For details on using RACF with CICS, visit CICS Transaction Server for z/OS.
- When the profile is used to disallow the creation or deletion
of a data set
NOTIFY is used only for resource access checking, not for resource creation or deletion.
- OWNER(userid or group-name)
- Specifies a RACF-defined user or group to be assigned as the owner of the resource you are defining. If you omit this operand, you are defined as the owner. The user specified as the owner does not automatically have access to the resource. Use the PERMIT command to add the owner to the access list as desired.
- PROXY
- Specifies
information which the z/OS LDAP
server will use when acting as a proxy on behalf of a requester. The
R_proxyserv
(IRRSPY00) SAF callable service will attempt to retrieve this information when it is not explicitly supplied with the invocation parameters. Applications or other services which use theR_proxyserv
callable service, such as IBM Policy Director Authorization Services for z/OS and OS/390, may instruct their invokers to define PROXY segment information.- LDAPHOST(ldap_url)
- Specifies the URL of the LDAP server which
the z/OS LDAP server will contact when acting as a proxy on
behalf of a requester. An LDAP URL has a format such as
ldap://123.45.6:389
orldaps://123.45.6:636
, whereldaps
indicates that an SSL connection is desired for a higher level of security. LDAP will also allow you to specify the host name portion of the URL using either the text form (BIGHOST.POK.IBM.COM) or the dotted decimal address (123.45.6). The port number is appended to the host name, separated by a colon:
(X'7A').For more information about LDAP URLs and how to enable LDAP servers for SSL connections, see z/OS IBM Tivoli Directory Server Administration and Use for z/OS.
The LDAP URL that you define to RACF can consist of 10 - 1023 characters. A valid URL must start with either
ldap://
orldaps://
. RACF will allow any characters to be entered for the remaining portion of the URL, but you should ensure that the URL conforms to TCP/IP conventions. For example, parentheses, commas, blanks, semicolons, and single quotation marks are not typically allowed in a host name. The LDAP URL can be entered with or without single quotation marks, however, in both cases, it will be translated to uppercase.RACF does not ensure that a valid LDAP URL has been specified.
- BINDDN(bind_distinguished_name)
- Specifies the distinguished name (DN)
which the z/OS LDAP server will use when acting as a proxy on
behalf of a requester. This DN will be used in conjunction with the BIND password, if the z/OS LDAP server needs to supply an administrator or user
identity to BIND with another LDAP server. A DN is made up of attribute value pairs, separated by
commas. For example:
cn=Ben Gray,ou=editing,o=New York Times,c=US cn=Lucille White,ou=editing,o=New York Times,c=US cn=Tom Brown,ou=reporting,o=New York Times,c=US
When you define a BIND DN to RACF, it can contain 1 - 1023 characters. The BIND DN can consist of any characters and can be entered with or without single quotation marks. The following rules apply:- If parentheses, commas, blanks, or semicolons are to be entered as part of the BIND DN, the character string must be enclosed in single quotation marks.
- If a single quotation mark is intended to be part of the BIND DN, use two single quotation marks together for each single quotation mark within the string, and enclose the entire string within single quotation marks.
Both uppercase and lowercase characters are accepted and maintained in the case in which they are entered. For more information about LDAP distinguished names, see z/OS IBM Tivoli Directory Server Administration and Use for z/OS.
If you issue the RDEFINE command as a RACF operator command and you specify the BIND DN in lowercase, you must include the BIND DN within single quotations.
RACF does not ensure that a valid BIND DN has been specified.
- BINDPW
- Specifies the password which the z/OS LDAP server will use when acting as a proxy on behalf of a
requester. When you define a BIND password to RACF, it can contain 1 - 128 characters. The BIND password can consist of any characters (see exception that follows) and can be entered with or without single quotation marks. The following rules apply:
- The BIND password cannot start with a left brace
{
character (X'8B'). - If parentheses, commas, blanks, or semicolons are to be entered as part of the BIND password, the character string must be enclosed in single quotation marks.
- If a single quotation mark is intended to be part of the BIND password, use two single quotation marks together for each single quotation mark within the string, and enclose the entire string within single quotation marks.
Both uppercase and lowercase characters are accepted and maintained in the case in which they are entered. For more information about LDAP passwords, see z/OS IBM Tivoli Directory Server Administration and Use for z/OS.
If you issue the RDEFINE command as a RACF operator command and you specify the BIND password in lowercase, you must include the BIND password within single quotations.
RACF does not ensure that a valid BIND password has been specified.
Attention:- When the command is issued from ISPF, the TSO command buffer (including possible BINDPW password data) is written to the ISPLOG data set. As a result, you should not issue this command from ISPF or you must control the ISPLOG data set carefully.
- When the command is issued as a RACF operator command, the command and the possible BINDPW password data is written to the system log. Therefore, use of RDEFINE as a RACF operator command should either be controlled or you should issue the command as a TSO command.
- The BIND password cannot start with a left brace
- SECLABEL(seclabel-name)
- Specifies
the installation-defined security label for this profile.
A security label corresponds to a particular security level (such as CONFIDENTIAL) with a set of zero or more security categories (such as PAYROLL or PERSONNEL).
RACF stores the name of the security label you specify in the resource profile if you are authorized to use that SECLABEL.
If you are not authorized to the SECLABEL or if the name you had specified is not defined as a SECLABEL profile in the SECLABEL class, the resource profile is not created.
If SECLABEL is not specified, the created profile will not have a SECLABEL associated with the resource, unless the SETROPTS MLACTIVE option is turned on. In this case, the user's current logon SECLABEL will automatically be assigned to the profile.
- SECLEVEL(seclevel-name)
- Specifies
the name of an installation-defined security level. The name corresponds
to the number that is the minimum security level that a user must
have to access the resource. The seclevel-name must
be a member of the SECLEVEL profile in the SECDATA class.
When you specify SECLEVEL and the SECDATA class is active, RACF adds security level checking to its other authorization checking. If global access checking grants access, RACF compares the security level allowed in the user profile with the security level required in the resource profile. If the security level in the user profile is less than the security level in the resource profile, RACF denies the access. If the security level in the user profile is equal to or greater than the security level in the resource profile, RACF continues with other authorization checking. The SECLEVEL operand is required for the SECLABEL class.
Note: RACF does not perform security level checking for a started task that has the RACF privileged or trusted attribute. The RACF privileged or trusted attribute can be assigned to a started task through the RACF started procedures table or STARTED class. Also, RACF does not enforce security level information specified on profiles in the PROGRAM class.If the SECDATA class is not active, RACF stores the name you specify in the resource profile. When the SECDATA class is activated and the name you specified is defined as a SECLEVEL profile, RACF can perform security level access checking for the resource profile. If the name you specify is not defined as a SECLEVEL profile, you are prompted to provide a valid SECLEVEL name.
- SESSION
- Is
only valid for the APPCLU resource class. It specifies that when changing
an APPCLU class profile, the following suboperands add, change, or
delete SESSION segment field values. The SESSION segment is used to
control the establishment of sessions between logical units under
LU6.2.
- CONVSEC
- Specifies the level or levels of security checking performed when
conversations are established with the LU protected by this profile.
Guideline: Specify a CONVSEC option for each APPCLU profile.
- ALREADYV
- APPC/MVS RACF does not verify the user ID and password for any inbound allocate requests. If you specify ALREADYV, you assume that user IDs and passwords have already been verified by the partner LU. You must specify this only if the partner LU is trustworthy.
- AVPV
- The user ID/password is already verified and persistent verification is requested.
- CONV
- APPC/MVS issues a RACROUTE REQUEST=VERIFY to verify the user ID and password for all inbound allocate requests.
- NONE
- All inbound allocate requests pass without RACF checking for a valid user ID. No RACROUTE REQUEST=VERIFY is issued.
- PERSISTV
- Specifies persistent verification.
- INTERVAL(n)
- Sets the maximum number of days the session key is valid. The n value
can be 1 - 32767.
If the key interval is longer than the installation maximum (set with
SETROPTS SESSIONINTERVAL), then the profile is created.
If the key interval is not specified and there is a SETROPTS SESSIONINTERVAL value, the profile is created with that value. If there is no SETROPTS SESSIONINTERVAL value, there is no limit to the number of days the session key is valid.
- LOCK
- Mark the profile as locked. This prevents all session establishment from succeeding.
- SESSKEY(session-key)
- Change the key for this profile. The session-key value
can be expressed in two ways:
- X'y' where y is a hexadecimal number of 1 - 16 digits
- z or 'z' where z is a string of 1 - 8 characters
If the entire 16 digits or 8 characters are not used, the field is padded to the right with binary zeros.
Note: Session keys are 64-bit Data Encryption Standard (DES) keys. With DES, 8 of the 64 bits are reserved for use as parity bits, so those 8 bits are not part of the 56-bit key. In hexadecimal notation, the DES parity bits are:X'0101 0101 0101 0101'
. Any two 64-bit keys are equivalent DES keys if their only difference is in one or more of these parity bits. For instance, the following SESSKEY values, although appearing to be quite different, are equivalent because they differ only in the last bit of each byte:BDF0KM4Q
, which isX'C2C4 C6F0 D2D4 F4D8'
CEG1LN5R
, which isX'C3C5 C7F1 D3D5 F5D9'
- SIGVER
- Specifies the options for verifying the
signatures of programs that are protected by this general resource profile.
Rule: Specify SIGVER only for profiles in the PROGRAM class. Any options specified with the SIGVER operand are ignored for profiles in a class other than the PROGRAM class.
Restriction: Digital signature verification is supported only for program objects that are stored as members of a partitioned data set extended (PDSE) library. Digital signature verification is not supported for programs that are stored as members of a partitioned data set (PDS) library.
Any options specified with the SIGVER operand are ignored for unsupported programs.
Note: Regardless of the SIGREQUIRED setting, specifying FAILLOAD(NEVER) and SIGAUDIT(NONE) is equivalent to having no SIGVER segment.
For detailed information, see Program signing and verification in z/OS Security Server RACF Security Administrator's Guide.
- SIGREQUIRED
- Specifies whether programs that are protected by this profile must be digitally signed.
- YES
- Specifies that programs must be digitally signed. When you specify SIGREQUIRED(YES), the following conditions apply to any program that is protected by this general resource profile:
- If the program has a digital signature:
- Signature verification processing occurs.
- The program continues to load according to the FAILLOAD setting.
- Logging occurs according to the SIGAUDIT setting.
- If the program has no digital signature:
- Signature verification processing occurs, resulting in a signature verification failure.
- The program continues to load according to the FAILLOAD setting.
- Logging occurs according to the SIGAUDIT setting.
- If the program has a digital signature:
- NO
- Specifies that programs need not be digitally signed. When you specify SIGREQUIRED(NO), the following conditions apply to any program that is protected by this general resource profile:
- If the program has a digital signature:
- Signature verification processing occurs.
- The program continues to load according to the FAILLOAD setting.
- Logging occurs according to the SIGAUDIT options.
- If the program has no digital signature:
- No signature verification occurs.
- The program continues to load. The FAILLOAD setting is ignored.
- No logging occurs. The SIGAUDIT setting is ignored.
- If the program has a digital signature:
- FAILLOAD
- Specifies the conditions under which the program fails to load in the event that a signature
verification failure occurs.
- ANYBAD
- Specifies that the program fails to load when a signature verification failure occurs,
regardless of the cause. Such failures include those resulting from an incorrect signature, or an
error establishing the trust of the signer. This setting includes failures related to administrative
errors, such as a missing or incorrectly defined key ring.
The ANYBAD setting includes the failures covered by the BADSIGONLY setting, and also includes errors establishing the trust of the signer.
- BADSIGONLY
- Specifies that the program fails to load only when the signature verification failure is caused
by an incorrect digital signature. Such failures include only those resulting from a signature that
fails verification or a signature structure that is missing or improperly formatted.
In contrast to ANYBAD, the BADSIGONLY setting does not cause a program to fail to load when the program has a valid signature originating from an untrusted signer.
- NEVER
- Specifies that the program never fails to load when a signature verification failure is detected.
If FAILLOAD is not specified, FAILLOAD(NEVER) is the default value.
- SIGAUDIT
- Specifies which signature verification events are logged. Messages are issued to the console
only for signature verification failures that are logged.
- ALL
- Logs all signature verifications, whether successful or not.
- SUCCESS
- Logs only signature verification successes. In other words, the digital signature is valid and the root CA certificate is trusted.
- ANYBAD
- Logs all signature verification failures, regardless of the cause of the failure. Such failures
include those resulting from an incorrect signature, or an error establishing the trust of the
signer. This setting includes failures related to administrative errors, such as a missing or
incorrectly defined key ring.
The ANYBAD setting logs the failures covered by the BADSIGONLY setting, and also logs errors encountered when establishing the trust of the signer.
- BADSIGONLY
- Logs only signature verification failures caused by an incorrect digital signature. Such
failures include only those resulting from a signature that fails verification or a signature
structure that is missing or improperly formatted.
In contrast to ANYBAD, the BADSIGONLY setting does not log a signature verification failure when the program has a valid signature originating from an untrusted signer.
- NONE
- Logs no digital signature verification events.
If SIGAUDIT is not specified, SIGAUDIT(NONE) is the default value.
- SINGLEDSN
- Specifies that the tape volume can contain only one data set. SINGLEDSN is valid only for a TAPEVOL profile. If the volume already contains more than one data set, RACF issues a message and ignores the operand.
- SSIGNON
- Defines PassTicket keys and associated configuration settings.RACF PassTickets can be configured with two different algorithms:
- The legacy PassTicket algorithm
- The enhanced PassTicket algorithm
The legacy PassTicket algorithm is the original PassTicket implementation and uses a DES secret key. The enhanced PassTicket algorithm is an updated version of the PassTicket algorithm and uses an HMAC secret key. RACF supports generation and evaluation of PassTickets with either the legacy PassTicket algorithm or the enhanced PassTicket algorithm based on the SSIGNON segment keywords.
The KEYMASKED, KEYENCRYPTED, ENCRYPTKEY and KEYLABEL keywords control the key to be used for the generation and evaluation of legacy PassTickets. These keywords indicate the method you want to use to protect the legacy PassTicket key value within the RACF database on the host. You can mask or encrypt the key. The key-value represents a 64-bit (8-byte) key that must be represented as 16 hexadecimal characters. The valid characters are
0 - 9
andA - F
.The EPTKEYLABEL, TYPE, TIMEOUT and REPLAY keywords control the key and settings to be used for the generation and evaluation of enhanced PassTickets.
Note:- Before defining PassTicket keys, please read and understand the PassTicket documentation in the z/OS Security Server RACF Security Administrator's Guide, specifically, the topic Protecting PassTicket keys. That documentation contains important information on setup and authorization issues, especially pertaining to the use of ICSF with encrypted keys.
- As with RACF passwords, the database unload facility does not unload application keys or PassTicket keys. It will, however, indicate the method of protection of the key, and if the key is encrypted, the key label name.
- The RLIST command does not list the value of the application key or the PassTicket key. Therefore, when you define the keys, you should note the value and keep it in a secure place. Note that RLIST will, however, indicate the method of protection of the key, and if the key is encrypted, the key label name.
- The KEYMASKED, KEYENCRYPTED, ENCRYPTKEY and KEYLABEL legacy PassTicket keywords all work against the same field in the RACF database. Use of any of these RALTER keywords replaces the previous legacy PassTicket key (or its label) in the RACF database.
- KEYMASKED(legacy-passticket-key-value)
- Specifies that you want to mask the legacy PassTicket key value using the masking algorithm. Note:
- IBM STRONGLY recommends that masked PassTicket keys are not used outside of a test environment.
- You can specify this operand only once for each application key.
- If you mask a key, you cannot encrypt it. These are mutually exclusive.
- KEYENCRYPTED(legacy-passticket-key-value)
- Specifies that you want to encrypt the legacy PassTicket key value. Note:
- Before using the KEYENCRYPTED keyword, please read and understand the documentation describing Encrypting the PassTicket key in the z/OS Security Server RACF Security Administrator's Guide.
- You can specify this operand only once for each application key.
- If you encrypt a key, you cannot mask it. These are mutually exclusive.
- ICSF must be installed and active on the system.
You can use the RLIST command to verify that the key is protected.
- KEYLABEL(legacy-passticket-label-value)
- Specifies the name of an ICSF key label to be used when generating or
evaluating a legacy PassTicket.
ICSF must be installed and active, and the key must be defined in the ICSF CKDS at the time of use. However, this is not checked when the EPTKEYLABEL keyword is specified.
When using KEYLABEL, RACF does not make any calls to ICSF. The key label is saved in the RACF database, and it is up to the installation to ensure that the key is added to the CKDS before any PassTicket operations occur which need it. The key must refer to a DES key with a type of DATA and a length of 8 bytes.
Note:The KEYLABEL operand cannot be used to override the key label generated by RACF when KEYENCRYPTED is specified.
- EPTKEYLABEL(enhanced-passticket-label-value)
- Specifies the name of an ICSF key label to be used when generating or
evaluating an enhanced PassTicket.
ICSF must be installed and active, and the key must be defined in the ICSF CKDS at the time of use. However, this is not checked when the KEYLABEL keyword is specified.
When using EPTKEYLABEL, RACF does not make any calls to ICSF. The key label is saved in the RACF database, and it is up to the installation to ensure that the key is added to the ICSF CKDS before any enhanced PassTicket operations occur which need it.
The key label must refer to an ICSF HMAC key with a key algorithm of HMAC, a key type of MAC and the key usage fields must indicate GENERATE. The supported HMAC key size range is from 32 to 256 bytes. The recommended minimum key size is 64 bytes.
The RACF enhanced PassTicket support uses ICSF HMAC keys which require that the ICSF CKDS is defined in either the variable length record format or common record format (KDSR). For more information on ICSF CKDS formats, please refer to Introduction to z/OS ICSF in z/OS Cryptographic Services ICSF System Programmer's Guide.
The label name cannot exceed 64 characters. The first character must be an alphabetic character or a national character (#, @, or $). Subsequent characters can be a period character (.) or any alphanumeric or national character.
- TYPE(UPPER | MIXED)
- Specifies the character set to use for generating and evaluating an
enhanced PassTicket. The type must be one of the following values:
-
UPPER – The enhanced PassTicket will be generated and evaluated with only uppercase characters
A - Z
and digits0 - 9
. -
MIXED – The enhanced PassTicket will be generated and evaluated with only uppercase characters
A - Z
, lowercase charactersa - z
, digits0 - 9
and the symbols dash ( – ) and underscore ( _ ).
Using type MIXED is recommended as it provides a larger set of possible PassTicket values and is therefore more secure. Type UPPER may be required when an application does not yet support mixed case passwords.
The default value is MIXED.
-
- TIMEOUT(timeout-seconds)
- Specifies the number of seconds that the enhanced PassTicket is
active.
The value of timeout-seconds can be between 1 and 600 seconds (10 minutes).
The default value is 60 seconds.
- REPLAY(YES | NO)
- Specifies whether an enhanced PassTicket is allowed to be replayed
within the TIMEOUT value.
The default value is NO.
This setting only applies to enhanced PassTickets and does not apply to legacy PassTickets.
The replay protection setting in the APPLDATA field only applies to legacy PassTickets and does not apply to enhanced PassTickets.
- STDATA
- Used
to control security for started tasks. STDATA should only be specified
for profiles in the STARTED class.
- USER
-
- USER(userid)
- Specifies the user ID to
be associated with this entry.
RACF issues a warning message if the specified userid does not exist, or if the USER operand is not specified, but data is placed into the STDATA segment. If the error is not corrected, RACF uses the started procedures table to process START requests that would have used this STARTED profile.
- USER(=MEMBER)
- Specifies that the procedure name should be used as the user ID. If
=MEMBER
is specified for USER, a group-name value should be specified for the GROUP operand. If=MEMBER
is specified for both USER and GROUP, a warning message is issued and problems might result when the profile is used. For information, see z/OS Security Server RACF System Programmer's Guide.
- GROUP
-
- GROUP(group-name)
- Specifies the group name to be associated with this entry.
RACF issues a warning message if the specified group-name does not exist. If userid and group-name are specified, RACF verifies that the user is connected to the group. If GROUP is specified incorrectly, the started task runs as an undefined user.
- GROUP(=MEMBER)
- Specifies that the procedure name should be used as the group name. If
=MEMBER
is specified for GROUP, a userid value must be specified for the USER operand or RACF uses the started procedures table to assign an identity for this started task. If=MEMBER
is specified for both USER and GROUP, a warning message is issued and problems might result when the profile is used. For information, see z/OS Security Server RACF System Programmer's Guide.
If GROUP is not specified the started task runs with the default group of the specified user ID.
- PRIVILEGED( YES | NO )
- Specifies whether the started task should run with the RACF PRIVILEGED attribute. The PRIVILEGED attribute allows the started task to pass most
authorization checking. No installation exits are called, no SMF records are generated, and no
statistics are updated. (Note that bypassing authorization checking includes bypassing the checks
for security classification of users and data.) For more information, see Associating started procedures and jobs with user IDs
in z/OS Security Server RACF System Programmer's Guide.
If PRIVILEGED(NO) is specified, the started tasks runs without the RACF PRIVILEGED attribute.
If PRIVILEGED is not specified PRIVILEGED(NO) is defaulted.
- TRACE( YES | NO )
- Specifies whether a message should be issued to the operator when
this entry is used to assign an ID to the started task.
If TRACE(YES) is specified, RACF issues an informational message to the operator to record the use of this entry when it is used to assign an ID to a started task. This record can be useful in finding started tasks that do not have a specific entry defined and in diagnosing problems with the user IDs assigned for started tasks.
If TRACE(NO) is specified, RACF does not issue an informational message when this entry is used.
If TRACE is not specified, TRACE(NO) is defaulted.
- TRUSTED( YES | NO )
- Specifies whether the started task should run with the RACF TRUSTED attribute. The TRUSTED attribute is similar to the PRIVILEGED attribute except
that auditing can be requested using the SETROPTS LOGOPTIONS command. For more information about the
TRUSTED attribute, see Associating started procedures and jobs with user IDs in z/OS Security Server RACF System Programmer's Guide.
If TRUSTED(NO) is specified, the started tasks runs without the RACF TRUSTED attribute.
If TRUSTED is not specified, TRUSTED(NO) is defaulted.
- SVFMR
- Defines
profiles associated with a particular SystemView for MVS application.
- SCRIPTNAME(script-name)
- Specifies the name of the list of default logon scripts associated
with this application. This operand is optional. If this operand is
omitted, no scripts are associated with the application.
The script-name is a 1 - 8 character alphanumeric name of a member of an MVS partitioned data set (PDS). RACF accepts both uppercase and lowercase characters for script-name, but lowercase characters are translated to uppercase.
The PDS member specified by the script-name contains a list of other PDS members that contain the scripts associated with this application's profile. The PDS and members, including the member that contains the list of other members, are created by the SystemView for MVS administrator.
- PARMNAME(parm-name)
- Specifies the name of the parameter list associated with this
application. If this operand is omitted, no parameters are associated
with the application.
The parm-name is a 1 - 8 character alphanumeric name of a member of an MVS partitioned data set (PDS). RACF accepts both uppercase and lowercase characters for parm-name, but lowercase characters are translated to uppercase.
The PDS member specified by parm-name contains a list of other PDS members that contain the parameters associated with this application's profile. The PDS and members, including the list of other members, are created by System View for the MVS administrator.
- TIMEZONE({E | W} hh[.mm])
- Specifies the time zone in which a terminal
resides. TIMEZONE is valid only for resources in the TERMINAL class; RACF ignores it for all other resources.
Specify TIMEZONE only when the terminal is not in the same time zone as the processor on which RACF is running and you are also specifying WHEN to limit access to the terminal to specific time periods. In this situation, TIMEZONE provides the information RACF needs to calculate the time values correctly. If you identify more than one terminal in the profile-name-1 operand, all the terminals must be in the same time zone.
On TIMEZONE, you specify whether the terminal is east (E) or west (W) of the system and by how many hours (hh) and, optionally, minutes (mm) that the terminal time zone is different from the processor time zone. Valid hour values are 0 - 11, and valid minute values are 00 - 59.
For example, if the processor is in New York and the terminal is in Los Angeles, specify TIMEZONE(W 3). If the processor is in Houston and the terminal is in New York, specify TIMEZONE(E 1).
If you change the local time on the processor (to accommodate daylight saving time, for instance), RACF adjusts its time calculations accordingly. However, if the processor time zone and the terminal time zone do not change in the same way, you must adjust the terminal time zones yourself, as described earlier for the WHEN(TIME) operand.
- TME
- Specifies
that information for the Tivoli® Security
Management Application be added. Note: The TME segment fields are intended to be updated only by the Tivoli Security Management Application, which manages updates, permissions, and cross references. A security administrator should only directly update Tivoli Security Management fields on an exception basis.
All TME suboperands, with the exception of those for ROLES, can be specified when changing a resource profile in the ROLE class. Conversely, only the ROLES suboperands can be specified when changing a resource profile in any other class.
- CHILDREN(profile-name ...)
- Specifies the complete list of roles that inherit attributes from this role. A role is a discrete general resource profile defined in the ROLE class.
- GROUPS(group-name ...)
- Specifies the complete list of groups that should be permitted to resources defined in this role profile.
- PARENT(profile-name)
- Specifies the name of a role from which this role inherits attributes. A role is a discrete general resource profile defined in the ROLE class.
- RESOURCE(resource-access-specification ...)
- Specifies the complete list of resources and associated access
levels for groups defined in this role profile. One or more resource-access-specification values can be specified, each separated by blanks. Each value should contain no imbedded blanks and should have the following format:
where origin-role is the name of the role profile from which the resource access is inherited. The class-name value is an existing resource class name and profile-name is a resource profile defined in that class. The authority is the access authority (NONE, EXECUTE, READ, UPDATE, CONTROL, or ALTER) with which groups in the role definition should be permitted to the resource.origin-role:class-name:profile-name:authority [:conditional-class:conditional-profile]
The conditional-class is a class name (APPCPORT, CONSOLE, JESINPUT, PROGRAM, TERMINAL, or SYSID) for conditional access permission, and is followed by the conditional-profile value, a resource profile defined in the conditional class.
- ROLES(role-access-specification ...)
- Specifies a list of roles and associated access levels related
to this profile. One or more role-access-specification values can be specified, each separated by blanks. Each value should contain no imbedded blanks and should have the following format:
where role-name is a discrete general resource profile defined in the ROLE class. The authority is the access authority (NONE, EXECUTE, READ, UPDATE, CONTROL, or ALTER) with which groups in the role definition should be permitted to the resource.role-name:authority[:conditional-class:conditional-profile]
The conditional-class is a class name (APPCPORT, CONSOLE, JESINPUT, PROGRAM, TERMINAL, or SYSID) for conditional access permission, and is followed by the conditional-profile value, a resource profile defined in the conditional class.
- TVTOC
- Specifies, for a TAPEVOL profile, that
RACF is to create a TVTOC in the TAPEVOL profile when a user
creates the first output data set on the volume. The RDEFINE command creates a nonautomatic TAPEVOL
profile; RACF
creates and
maintains the TVTOC for data sets residing on tape. Specifying TVTOC also affects the access list for the TAPEVOL profile:
- When RACF processes the RDEFINE command with the TVTOC operand, it places the user ID of the command issuer (perhaps the tape librarian) in the access list with ALTER authority.
- When the first output data set is created on the volume, RACF adds the user ID associated with the job or task to the access list with ALTER authority.
See z/OS Security Server RACF Security Administrator's Guide for further information.
The TVTOC operand is valid only for a discrete profile in the TAPEVOL class.
- UACC(access-authority)
- Specifies
the universal access authority to be associated with this resource.
The universal access authorities are ALTER, CONTROL, UPDATE, READ,
EXECUTE (for controlled programs only), and NONE. If UACC is not specified, RACF uses the value in the ACEE
or the class descriptor table. If UACC is specified without access-authority, RACF uses the value in the current
connect group. For tape volumes and DASD volumes, RACF treats CONTROL authority as UPDATE authority.
For all other resources listed in the class descriptor table and for
applications, RACF treats CONTROL
and UPDATE authority as READ authority.
If the user ID accessing the general resource has the RESTRICTED attribute, RACF treats the access authority as NONE.
- WARNING
- Specifies that even if access authority is
insufficient, RACF is to issue a warning message and allow
access to the resource. RACF also records the access attempt
in the SMF record if logging is specified in the profile. Restriction: RACF does not issue a warning message for a resource when the resource is:
- In the PROGRAM or NODES class
- In a class for which an application has built in-storage profiles using RACROUTE REQUEST=LIST.
When SETROPTS MLACTIVE(FAILURES) is in effect: A user or task can access a resource that is in WARNING mode and has no security label even when MLACTIVE(FAILURES) is in effect and the class requires security labels. The user or task receives a warning message and gains access.
Applications that use REQUEST=LIST: Some applications, such as IMS and CICS, load all the profiles for a given class into storage. After these profiles are in storage, the applications can do a fast authorization check using RACROUTE REQUEST=FASTAUTH. Fast authorization checking is different from normal authorization checking in several ways. One difference is that, in some cases, fast authorization checking does not issue warning messages, notification messages or support auditing. In cases where it does not, return and reason codes are returned to the application to allow support of these functions. The application can examine the return and reason codes and use RACROUTE REQUEST=AUTH to create the messages and audit records. If the application uses RACROUTE REQUEST=AUTH to support auditing or specifies LOG=ASIS on the RACROUTE REQUEST=FASTAUTH, the specified user is notified. Otherwise, notification, warning, and so on does not occur.
For details on using RACF with IMS, visit IMS in IBM Documentation.
For details on using RACF with CICS, visit CICS Transaction Server for z/OS.
- WHEN
- Specifies, for a resource
in the TERMINAL class, the days of the week or the hours in the day
when a user can access the system from the terminal. The day-of-week
and time restrictions apply only when a user logs on to the system;
that is, RACF does not force
the user off the system if the end-time occurs while the user is logged
on.
If you omit the WHEN operand, a user can access the system from the terminal at any time. If you specify the WHEN operand, you can restrict the use of the terminal to certain days of the week or to a certain time period on each day. Or, you can restrict access to both certain days of the week and to a certain time period within each day.
- DAYS(day-info)
- Specifies days of the week when the terminal can be used. The day-info value
can be any one of the following:
- ANYDAY
- RACF allows use of the terminal on any day. If you omit DAYS, ANYDAY is the default.
- WEEKDAYS
- RACF allows use of the terminal only on weekdays (Monday through Friday).
- day ...
- RACF allows use of the terminal only on the days specified, where day can be MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, or SUNDAY. You can specify the days in any order.
- TIME(time-info)
- Specifies the time period each day when the terminal can be used.
The time-info value can be any one of the
following:
- ANYTIME
- RACF allows use of the terminal at any time. If you omit TIME, ANYTIME is the default.
- start-time:end-time
- RACF allows use of the
terminal only during the specified time period. The format of both start-time and end-time is hhmm,
where hh is the hour in 24-hour notation
(00 - 24)
and mm is the minutes (00 - 59) within
the range 0001 - 2400.
Note that
2400
indicates 12:00 a.m. (midnight).If start-time is greater than end-time, the interval spans midnight and extends into the following day.
Specifying start-time and end-time is straightforward when the processor on which RACF is running and the terminal are in the same time zone; you specify the time values in local time.
However, if the terminal is in a different time zone from the processor and you want to restrict access to certain time periods, you have two choices. You can specify the TIMEZONE operand to allow RACF to calculate the time and day values correctly. Otherwise, you can adjust the time values yourself, by translating the start-time and end-time for the terminal to the equivalent local time for the processor.
For example, assume that the processor is in New York and the terminal is in Los Angeles, and you want to allow access to the terminal from 8:00 A.M. to 5:00 P.M. in Los Angeles. In this situation, you would specify
TIME(1100:2000)
. If the processor is in Houston and the terminal is in New York, you would specifyTIME(0900:1800)
.
If you omit DAYS and specify TIME, the time restriction applies to all seven days of the week. If you specify both DAYS and TIME, RACF allows use of the terminal only during the specified time period and only on the specified days.
Examples
Example | Activity label | Description |
---|---|---|
1 | Operation | User TBK20 wants to define resource GIMS600 in class GIMS which is a resource group class. He also wants to define TIMS200, TIMS111, TIMS300, and TIMS333 as members of the resource group (GIMS600). |
Known | User TBK20 has the CLAUTH attribute for the GIMS and TIMS classes. GIMS is a resource group class, and TIMS is its associated resource member class. TIMS200 and TIMS111 are members of another resource group. The user has ALTER authority to the other resource group. User TBK20 wants to issue the command as a RACF TSO command. | |
Command | RDEFINE GIMS GIMS600 ADDMEM(TIMS200 TIMS111
TIMS300 TIMS333) |
|
Defaults | OWNER (TBK20) LEVEL(0) AUDIT(FAILURES(READ)) UACC(NONE) | |
2 | Operation | User ADM1 wants to define a generic profile for
all resources starting with a T belonging to the
TIMS class, and to require that users must reenter their passwords
whenever they enter any IMS transaction
starting with a T . |
Known | User ADM1 has the SPECIAL attribute. User ADM1 wants to issue the command as a RACF TSO command. | |
Command | RDEFINE TIMS T* APPL('REVERIFY') |
|
Defaults | UACC(NONE) OWNER(ADM1) LEVEL(0) AUDIT(FAILURES(READ)) | |
3 | Operation | User ADM1 wants to define AMASPZAP as a controlled program with program-accessed data set checking. |
Known | User ADM1 has the SPECIAL attribute. AMASPZAP resides in SYS1.LINKLIB on the SYSRES volume. RACF program control is active. User ADM1 wants to issue the command as a RACF TSO command. | |
Command | RDEFINE PROGRAM AMASPZAP ADDMEM('SYS1.LINKLIB'/SYSRES/PADCHK) |
|
Defaults | UACC(NONE) OWNER(ADM1) LEVEL(0) AUDIT(FAILURES(READ)) | |
4 | Operation | User ADM1 wants to define all load modules that
start with IKF as controlled programs that do not
require program-accessed data set checking. |
Known | User ADM1 has the SPECIAL attribute. All load
modules whose names begin with IKF reside in SYS1.COBLIB
on the SYSRES volume. User ADM1 wants to issue the command as a RACF operator command, and the RACF subsystem prefix is @ . |
|
Command | @RDEFINE PROGRAM IKF* ADDMEM('SYS1.COBLIB'/SYSRES/NOPADCHK) |
|
Defaults | UACC(NONE) OWNER(ADM1) LEVEL(0) AUDIT(FAILURES(READ)) | |
5 | Operation | User JPQ12 wants to define a tape volume labeled DP0123 and allow it to hold a TVTOC. The tape volume is assigned a UACC of NONE. |
Known | User JPQ12 has the SPECIAL attribute. User JPQ12 wants to issue the command as a RACF TSO command. | |
Command | RDEFINE TAPEVOL DP0123 TVTOC UACC(NONE) |
|
Defaults | OWNER (JPQ12) LEVEL(0) AUDIT(FAILURES(READ)) | |
6 | Operation | User ADM1 wants to prepare the TCICSTRN class to be used for RACGLIST processing. |
Known | User ADM1 has the SPECIAL attribute User ADM1 wants to issue the command as a RACF TSO command. | |
Command | RDEFINE RACGLIST TCICSTRN UACC(NONE) |
|
Defaults | OWNER(ADM1) LEVEL(0) AUDIT(FAILURES(READ)) | |
7 | Operation | The security administrator wants to define a profile for TSO in the PTKTDATA class. The security administrator wants to direct the command to run under the authority of user OJC11 at node NYTSO. |
Known | ELVIS1 is the user ID of the security administrator.
OJC11 has the SPECIAL attribute on node NYTSO. The profile name is TSOR001. The key-value is The security administrator and OJC11 at NYTSO have an already established user ID association. |
|
Command | RDEFINE PTKTDATA TSOR001 SSIGNON(KEYMASKED(e001193519561977))
AT(NYTSO.OJC11) |
|
Defaults | UACC(NONE) | |
8 | Operation | The security administrator wants to create an entry in the dynamic started procedures table for the OMVS started procedure by defining a generic profile in the STARTED class. |
Known | The administrator wants to use the procedure name
as the user ID. The group name is STCGRP. SETROPTS GENERIC(STARTED) has been issued to allow generic profiles to be created in this class. The security administrator wants to issue the command as a RACF TSO command. |
|
Command | RDEFINE STARTED OMVS.* STDATA(USER(=MEMBER)
GROUP(STCGRP)) |
|
Defaults | PRIVILEGED(NO) TRACE(NO) TRUSTED(NO) UACC(NONE) | |
9 | Operation | User ADM1 wants to define the following:
|
Known | User ADM1 has CLAUTH authority for the SYSMVIEW class. | |
Command |
|
|
Defaults | UACC(NONE) | |
10 | Operation | Local realm KRB2000.IBM.COM is
being defined with a minimum ticket lifetime of 5 minutes, a default
ticket lifetime of 10 hours, a maximum ticket lifetime of 24 hours,
and a password of 744275. All of the ticket lifetime values are specified
in seconds. |
Known | The administrator has access to the KERBDFLT profile in the REALM class. | |
Command |
|
|
Defaults | CHECKADDRS(NO) ENCRYPT(DES DES3 DESD AES128 AES256 AES128SHA2 AES256SHA2) |
|
11 | Operation | A trust relationship is being defined between
the kerb390.endicott.ibm.com realm and the realm
at ker2000.endicott.ibm.com . |
Known | The administrator has access to the /.../KERB390.ENDICOTT.IBM.COM/KERBTGT/KER2000.ENDICOTT.IBM.COM profile
in the REALM class. |
|
Command | RDEFINE REALM /.../KERB390.ENDICOTT.IBM.COM/KRBTGT/KER2000.ENDICOTT.IBM.COM
KERB(PASSWORD(12345678)) |
|
Defaults | CHECKADDRS(NO) ENCRYPT(DES DES3 DESD AES128 AES256 AES128SHA2 AES256SHA2) |
|
12 | Operation | The administrator wants to create a profile (TSOIM13) in the PTKTDATA class with replay protection bypassed. |
Known | The administrator has the SPECIAL attribute. | |
Command |
|
|
Defaults | None. | |
13 | Operation | The administrator is defining the system wide defaults for Enterprise Identity Mapping (EIM) applications. One of the applications uses the default name given to RACF. |
Known | The EIM domain's distinguished name is ibm-eimDomainName=Pok
EIM Domain,o=IBM,c=US . The domain resides in LDAP at http://some.big.host/ .
The bind distinguished name has authority to retrieve lookup information.
The name given to the local RACF registry
is RACFSYS2 . |
|
Command |
|
|
Defaults | None. | |
14 | Operation | The administrator wants to define the SAFDFLT profile in the REALM class using the APPLDATA field to define the RACF realm name. |
Known | The administrator has the SPECIAL attribute.
The realm name racf.winmvs2c is selected by the security
administrator to give a name to the set of user ids and other user
information held in the security manager database. If Kerberos is
in use in the installation, the Kerberos realm name would be expected
to be different than the SAFDFLT realm name. |
|
Command |
|
|
Defaults | None. | |
15 | Operation | The security administrator with user ID ADMIN1 wants to add a new class to the class descriptor table (CDT) named TSTCLAS8. |
Known | The administrator has the SPECIAL attribute. | |
Command |
|
|
Note | The dynamic CDT must be built or refreshed to make this change effective. Use the SETROPTS RACLIST(CDT) or the SETROPTS RACLIST(CDT) REFRESH command. | |
Defaults |
|
|
16 | Operation | The security administrator Rui wants to specify that the identity cache should never store a mapping to a local z/OS user ID when it is provided by an application. The identity cache must always use EIM to find a mapping and it must always reject a store request if it cannot find a mapping. |
Known | At Rui's installation, identity mappings in EIM are not changed frequently so the default MAPPINGTIMEOUT value of 3600 seconds (one hour) is acceptable. | |
Command |
|
|
Defaults | MAPPINGTIMEOUT defaults to 3600 seconds. | |
17 | Operation | Rui wants to protect a Db2 table owned by ZHAOHUI by defining a general resource called DSN.ZHAOHUI.TABLE.ALTER in the MDSNTB class. |
Known | Rui's user ID ADMRUI has the SPECIAL attribute. The installation uses the Db2 RACF access control module (ACM) and the ACM is configured for multiple-subsystem scope. | |
Command |
|
|
Defaults | OWNER(ADMRUI) LEVEL(0) AUDIT(FAILURES(READ)) |
|
18 | Operation | User SECADM wants to define a custom field to store employee home addresses in the CSDATA segment of her user profiles. The custom field will be named ADDRESS. It will be a character field and will contain a quoted string. |
Known | The user has the SPECIAL attribute. The new custom field is not effective until the system programmer rebuilds the dynamic parse table using the IRRDPI00 UPDATE command. | |
Command |
|
|
Defaults | AUDIT(FAILURES(READ)) OWNER(SECADM) LEVEL(0) | |
19 | Operation | User SECADM wants to control the XYZLIB64 program and specify that it must be digitally signed before it can be loaded, that the program should fail to load if its digital signature cannot be verified for any reason, and that logging of signature verification events should occur for only failures. The XYZLIB64 program does not require program-accessed data set checking. |
Known | The user has the SPECIAL attribute. The XYZLIB64 program is a program object that resides in a partitioned data set extended (PDSE) library named SYS1.XYZ.LOADDLL. | |
Command |
|
|
Defaults | AUDIT(FAILURES(READ)) OWNER(SECADM) LEVEL(0) |