Overview
Each time a new copy of the access module is physically loaded by the runtime system, the privileges of the access module owner are checked.
The result of the security check performed on a new copy of an access module is the status of the access module. This information is cached in the PDE until a new copy is loaded (or until the system is recycled).
The status of the access module is one of the following:
Runtime checking is required because a grantable privilege needed to pass execution privilege to users could be removed from the owner. Revocation of a privilege occurs independently of both CA IDMS and CA IDMS inter security.
A detailed description of runtime procedures for access module security follows.
On a Load of an Access Module
On a load of any access module, the CA IDMS program load function issues two security check requests to verify that the user has execution privilege for the access module. The first security check is for load privilege on the access module. An access module is just like any other load module. When loaded, you need to check to see if the user has the authority to load the program. The second security check is issued to see if the requestor has authority to access the database using the SQL statements that are stored in the access module.
If a new copy of the access module is being loaded and the security check on the user succeeds, CA IDMS program load processing:
This information is cached.
On a CREATE or ALTER ACCESS MODULE Command
The access module compiler issues a security check to determine whether the user has the CREATE or ALTER privilege on the access module. If not, an error is issued and no further processing is done.
If the security check succeeds, the access module compiler creates the access module. It then calls the database routine used by the CA IDMS program loader function to check the access module owner's privileges. The owner of the access module is the owner of the associated schema. The user who submits the CREATE or ALTER ACCESS MODULE statement is notified if the access module owner lacks any required privileges.
Note: The access module is stored whether or not the owner holds all required privileges. If you subsequently grant the owner any missing privileges, the access module will be runnable.
On Dynamic Compilation of an SQL Statement
There are three situations that require dynamic compilation of SQL statements:
In these situations, the access module compiler checks privileges as the statements are being compiled. The result of this checking is based on the same criteria used for a load:
|
Copyright © 2014 CA.
All rights reserved.
|
|