Previous Topic: Using a WildcardNext Topic: Securing Global Resources


Efficiency Considerations

In security administration, you can perform your task more efficiently by making consistent use of groups, wildcards, and categories. This strategy will also produce runtime efficiency.

Using Groups

Your security strategy should isolate user roles that require similar types of privileges. You can then establish groups for each user role. This allows you to grant and revoke privileges at the group level, thus reducing the number of statements needed to administer the security scheme.

Note: Groups also enhance efficiency by improving runtime performance.

Comparison of Groups and No Groups

Using Wildcards

Your strategy should isolate resources that require similar types of security. You can then grant privileges on them using a wildcard. This allows you to implement your strategy at a higher level, thus eliminating the need to issue a GRANT statement for individual resources.

Wildcard Examples

Without wildcards, you must issue a separate statement for each table when you grant table access privileges:

Using categories

CA IDMS provides the category mechanism to help you to manage privileges on runtime resources efficiently.

Summary Example

This series of statements uses groups, wildcards, and categories to secure the resources available for two levels of use, as described in the definition of groups hrdisp and hrupd:

create group hrdisp
   description 'HR users who can display Employee'
   add user lsd, lhn, pxw, gsr, hxm, fbs;

create group hrupd
   description 'HR users who can update Employee'
   add user gsr, hxm, fbs;

create resource category benefits_display
   add access module appldict.prod.bendis
   add load module   appldict.v0001.benefits
   add program       cdmslib.bendisp
   add task          bendisp;


create resource category benefits_update
   add access module appldict.prod.benupd
   add program       cdmslib.benupd
   add task          benupd;

grant execute on category benefits_display to hrdisp;
grant execute on category benefits_* to hrupd;