This chapter provides an overview of roles and discusses how to:
Manage roles.
Define role options.
Create a NEWUSER role.
Using the PeopleSoft Administrator role.
Roles are an intermediate object that exist between permission lists and user profiles. Roles aggregate permission lists so that you can arrange permissions into meaningful collections.
Note. In previous releases, roles were associated with PeopleSoft Workflow. PeopleTools has expanded role definitions so that they are also a part of the security architecture. There is only one type of role definition, and you maintain it within Security.
Users inherit most of their permissions from the roles assigned to the user profile. However, you assign the following permission lists directly to a user profile:
Data permissions.
These are assigned through a primary permissions list or a row security permissions list.
PeopleSoft Navigator homepage permissions.
Process profile permissions.
When you assign roles to profiles manually, through the Security pages, these users are static role members.
Other users may obtain membership in a role programmatically. You can run a batch process that uses predefined role rules and assigns roles to user profiles according to these rules. Users who become members of a particular role programmatically are dynamic role members.
Use dynamic role assignment to make your security system scale to large user populations. If you have thousands of users and need to make every change to a user profile manually, the security administrator becomes a bottleneck. If you implement dynamic roles, you reduce administrative tasks.
This section discusses how to:
Copy roles.
Delete roles.
Remove users from roles.
To copy a role:
Select PeopleTools, Security, Permissions & Roles, Copy Roles.
On the search page, locate and select the role that you want to copy (clone).
The Role Save As page appears.
On the Role Save As page, enter a new name in the as: edit box.
Click Save.
To delete a role:
Select PeopleTools, Security, Permissions & Roles, Delete Roles.
On the search page, locate and select the role that to delete.
The Delete Permission List page appears.
Click Delete Permission List.
Click OK to confirm the deletion, or click Cancel to cancel the deletion.
Note. If you attempt to delete a role definition that is currently in use by one or more static or dynamic role users, you must confirm deletion of the role definition. When you confirm, you remove all references to the role.
To delete the users who are assigned dynamically, use the NO_USERS query to locate the users. You invoke this query using the query rule with dynamic roles.
See Also
Displaying Dynamic Role Members
This section discusses how to:
Assign permissions to roles.
Display static role members.
Display dynamic role members.
Set user routing options.
Decentralize role administration.
Display additional links for user profiles.
Run role queries.
View when a role was last updated.
Page Name |
Definition Name |
Navigation |
Usage |
General |
ROLEDEFN |
PeopleTools, Security, Permissions & Roles, Roles, General |
Describe the role. |
Permissions Lists |
ROLE_CLASS |
PeopleTools, Security, Permissions & Roles, Roles, Permission Lists |
Grant permissions to roles. |
Members |
ROLE_MEMBER |
PeopleTools, Security, Permissions & Roles, Roles, Members |
View the current list of static role members. |
Dynamic Members |
ROLE_DYNMEMBER |
PeopleTools, Security, Permissions & Roles, Roles, Dynamic Members |
View the current list of dynamic role members. If you aren't using the dynamic roles, this list isn't populated. |
Workflow |
ROLEWRKFLOW |
PeopleTools, Security, Permissions & Roles, Roles, Workflow |
Set user routing options. |
Role Grant |
ROLE_GRANT |
PeopleTools, Security, Permissions & Roles, Roles, Role Grant |
Decentralize role administration. |
Links |
ROLE_OTHER |
PeopleTools, Security, Permissions & Roles, Roles, Links |
View additional links for user profiles. |
Role Queries |
ROLE_QUERY |
PeopleTools, Security, Permissions & Roles, Roles, Role Queries |
Run queries about a role. |
Audit |
ROLE_AUDIT |
PeopleTools, Security, Permissions & Roles, Roles, Audit |
View when a permission list was last updated. |
Access the Permission Lists page (select PeopleTools, Security, Permissions and Roles, Roles and click the Permission Lists tab).
To add new permission lists to a role, add more rows. Remember that a user's access is determined by the sum of all the permission lists applied to each role to which the user belongs. For instance, suppose you add permission list X and permission list Y to a role. Permission list X has a sign-in time of 8 a.m. to 5 p.m. and permission list Y has a sign-in time of 1 p.m. to 9 p.m. In this scenario, the users assigned to this role can sign in to the system from 8 a.m. to 9 p.m. Always be aware of the contents of each permission list before adding it to a role.
View Definition |
Click to open the permission list definition, where you can view the options in the permission to ascertain whether it is suitable for a particular role. |
Access the Members page (select PeopleTools, Security, Permissions & Roles, Roles and click the Members tab).
If your database contains more than 1000 role members, this page initially retrieves only the first 1000. You can view the other chunks of 1000 members one chunk at a time, either by searching for a user ID or by using the navigation buttons above the Members grid. The navigation buttons enable you to display the first chunk, the previous chunk, the next chunk, or the last chunk.
User ID |
Enter part or all of a role member user ID for which to search. |
Search |
Click to search through the role members for the first chunk of rows that contains the user ID you entered. |
View Definition |
Click to view the user ID of the role member to ensure that you selected the appropriate definition for inclusion in the role. |
Access the Dynamic Members page (select PeopleTools, Security, Permissions & Roles, Roles and click the Dynamic Members tab).
Use this page to set the rule to invoke to assign roles. A dynamic role rule is defined or coded in PeopleSoft Query, PeopleCode, or your Lightweight Directory Access Protocol (LDAP) directory. A rule can use a combination of PeopleSoft Query and PeopleCode, or PeopleSoft Query and LDAP. For the rule to successfully assign a role to the appropriate users, you must select the rule type you have in place for a particular role and then specify the object that contains the rule you coded.
Note. You must define your role rules before you apply the options on this page. If you change the name of the rule, add a new rule, and so on, save all changes before you run the rule.
If your database contains more than 1000 dynamic role members, this page initially retrieves only the first 1000. You can view the other chunks of 1000 dynamic members one chunk at a time, either by searching for a user ID or by using the navigation buttons above the Dynamic Members grid. The navigation buttons enable you to display the first chunk, the previous chunk, the next chunk, or the last chunk.
User ID |
Enter part or all of a role member user ID for which to search. |
Search |
Click to search through the role members for the first chunk of rows that contains the user ID you entered. |
View Definition |
Click to view the user ID of the role member to ensure that you have selected the appropriate definition for inclusion in the role. |
Query Rule Enabled |
Select if you defined your rule with PeopleSoft Query. The Query Rule group box appears below the Rules group box. Use the Query drop-down list box to select the query that contains your role rule. |
PeopleCode Rule Enabled |
Select if your rule is a PeopleCode program. The PeopleCode Rule group box appears. Specify the record, field, event, and function associated with your PeopleCode role rule. |
Select if your role rule is based on information in your directory server. With a directory-based rule, you must assign directory groups. The PeopleCode Rule group box appears because directory rules are implemented using the DynRoleMembers PeopleCode program. This program uses the Directory business interlink to retrieve user and group information from the directory. To view the program, open the FUNCLIB_LDAP record in PeopleSoft Application Designer. Click Assign Directory Groups to select a particular directory group that exists in your LDAP server hierarchy. For example, if your LDAP server is grouped by geographic region, then your rule could assign a new self-service role to all users in the North America group. Use the Directory Group drop-down list box to select the appropriate directory group value. The values are derived from the LDAP data that you import using the Directory Group Import process. |
|
Execute on Server |
Select the appropriate PeopleSoft Process Scheduler server to run the rule. |
Refresh |
After you run a rule, click to repopulate the grid with updated information. |
Process Monitor |
Because the role rules are executed by an application engine program that runs through PeopleSoft Process Scheduler, click to view the status of the program run. |
Click to check the status of the role rule program. After the program runs, it publishes a message containing the list of users in the role, and then exits. The program does not update any tables; the message (subscription PeopleCode) performs the actual database updates. Note. The successful completion of the dynamic roles program does not ensure that your roles were updated; the associated message must also be delivered successfully. |
Note. To clear all dynamic users from the role, run the delivered NO_USERS query.
This section describes the process of creating a PeopleSoft Query rule that assigns dynamic role membership. This example should also help to illustrate similar techniques that you would use for a PeopleCode or LDAP rule.
Note. This example assumes a working knowledge of PeopleSoft Query.
In this example, you need to find all users who currently have job code KC012 (Human Resource Analyst) and add them to the appropriate role.
To create this rule:
Create a view.
Create the query.
Run the dynamic rule.
Note. The Dynamic Role functionality is not designed to resolve bind variables. When you select a query with a bind variable as a dynamic role rule, the system issues an error. Do not use queries with bind variables as a query rule for dynamic roles. Many of the delivered queries are intended to be used with PeopleSoft Workflow, and many of them contain bind variables. These queries are not designed to work as role rules, but you can modify them to do so.
Note. To create a role query based on PSOPRALIAS and avoid issues with row-level security, use PSOPRALIAS_VW instead. You must manually synchronize this view with PSOPRALIAS.
Note. If the query returns duplicate user IDs, dynamic roles will fail on the insert into PSROLEUSER and may have mixed results. You should add a DISTINCT clause to your query role rule to return unique IDs, especially when your query involves thousands of user IDs.
This example shows a possible view definition for the example role rule:
The associated SQL object is:
Note. The OPRID must not be a key in this view because PeopleTools appends AND OPRID = “<CURRENT_USER_OPRID>” in PeopleSoft Query Manager. This action occurs if you use the record OPRALIAS directly in the query.
The SQL is:
After you create the view, add it to the appropriate query tree. In this case, you add the new view to the QUERY_ TREE_HR:
After you create the view, you create a query. In this example, the properties assigned to the query enable it to assign a role to users who currently have the job code K03002, Human Resource Analyst. This example shows the query properties:
The query contains the following criteria:
The SQL for the query is:
Because the view does not have OPRID as a key, the resulting SQL does not contain the extra line AND B.OPRID = PS.
Note. When you save a query used for a dynamic role query, you should specify that it is a role query.
With the view and the query created, you then set up the query rule on the Roles - Dynamic Members page. Select Query Rule Enabled and select the query in the Query field.
After enabling the query rule, test the rule to make sure the system assigns the appropriate roles to the appropriate users. To populate the role membership table, click Execute Rule.
Access the Workflow page (select PeopleTools, Security, Permissions and Roles, Roles and click the Workflow tab).
Select to enable PeopleSoft Workflow notification. Users can notify others of data on a PeopleSoft page through email or worklists. When components are designed, developers can enable the Notify toolbar on the Component Properties dialog box in PeopleSoft Application Designer. If this option is set for a particular component, then this check box enables security administrators to enable the Notify feature per role. |
|
Select to enable role users to browse the database for the email addresses of other users in the PeopleSoft system, such as vendors, customers, employees, sales leads, and so on. This check box is available only if the Allow notification check box is selected. |
|
Use Query to Route Workflow |
Select to determine workflow routings by a workflow query. This value depends on your workflow scheme. |
You use the Role Grant page to assign limited security administration capability to specified users. You designate them as remote security administrators by defining roles that they can grant to other users. Because the settings on this page are part of the implementation of distributed user profiles, the page is documented along with the Distributed User Profiles component.
See Implementing Distributed User Profiles.
Access the Links page (select PeopleTools, Security, Permissions & Roles, Roles and click the Links tab).
Use this page to access links to other pages within your PeopleSoft system. For example, perhaps a PeopleSoft application requires a specific security setting to be associated with a role. If this application-specific setting appears on a page not in PeopleTools Security, add a link to the application page so that anyone updating the role can easily navigate to the page.
Note. The Links page is read-only. You create the inventory of links to pages that exist outside of PeopleTools Security by using the Security Links component.
If you have added any links for roles in the Security Links component, they appear on the Links page.
See Also
Administering Security from Applications
Access the Links page (select PeopleTools, Security, Permissions & Roles, Roles and click the Role Queries tab).
Use role queries to provide detailed information about a role, such as the user IDs and permission lists associated with the role. The available queries are documented on the Role Queries page.
To run a role query:
Click the link associated with the query that you want to run.
This action invokes a new browser window.
View the information the query returns or click a download results link.
Note. The size of the file appears in parentheses next to the download options.
The download options are:
Microsoft Excel spreadsheet
Downloads the query results as a Microsoft Excel spreadsheet (.xls) file.
CSV text file
Downloads the query results as a comma-separated values (.csv) file.
Access the Audit page (select PeopleTools, Security, Permissions & Roles, Roles and click the Audit tab).
View when a role was last updated and by whom. You can also view who has made changes to security tables by using the Database Level Auditing feature.
See Also
Understanding Database Level Auditing
When a new user enters the system and you have implemented dynamic role rules, the user does not belong to any roles until your role rules execute. When you enter a new user into the system, the user has access only to the public pages you authorize for the NEWUSER role. When the dynamic role rules execute, the new user becomes a member of the roles that apply based on the user's employee position.
Note. The NEWUSER role is not a PeopleSoft-delivered role. You can name the role to suit your requirements.
To implement a NEWUSER role:
Create your NEWUSER role.
Add permission lists to the role so that members of this role have access to the pages that are appropriate for all users within the system, like My Profile and any other areas that are not a threat to your system security.
Apply the appropriate roles.
If you use dynamic role assignment, then wait until the batch program runs; if you use static role assignment, then you must wait until an administrator manually applies the appropriate roles.
If the role rules run only one once in a 24-hour period, new employees may not have access to the system until the next day. If the rules run more frequently, they may have access within a couple of hours. If a new user cannot wait until the next run of the dynamic role rule, you can use one of the following options:
Add required pages to one of the permission lists used by the NEWUSER role.
Reduce the time between the dynamic rule executions.
Note. Reducing the execution interval of the dynamic rules may affect performance, depending on how the rules are implemented.
Add a Signon PeopleCode script that detects that the user needs access to a certain role.
To do this, run a query against LDAP, the database, or the location where the information resides. Use the User Profile component interface to add the appropriate roles to the user, according to the query results.
The PeopleSoft Administrator role gives full access to all menus and pages in the PSAUTHITEM table.
The PeopleSoft Administrator role cannot be viewed, edited, modified, or cloned because it is not defined as other roles are defined. The PeopleSoft Administrator role is hard-coded into every application. You will not find this role if you search for it in the roles component.
Note. The PeopleSoft Administrator role does not have access to data. Data security is granted through the Primary and Row level permission lists assigned directly to a user profile.