Defining Role Options

This section discusses how to:

  • Assign permissions to roles.

  • Display static role members.

  • Display dynamic role members.

  • Execute dynamic role rules.

  • Set user routing options.

  • Decentralize role administration.

  • Display additional links for user profiles.

  • Run role queries.

  • View when a role was last updated.

Access the Roles - Permission Lists page (select PeopleTools > Security > Permissions & Roles > Roles and click the Permission Lists tab).

Image: Roles - Permission Lists page

This example illustrates the fields and controls on the Roles - Permission Lists page.

Roles - Permission Lists page

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-on time of 8 a.m. to 5 p.m. and permission list Y has a sign-on 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.

Field or Control

Definition

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).

Image: Roles - Members page

This example illustrates the fields and controls on the Roles - Members page.

Roles - Members page

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.

Field or Control

Definition

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 Roles - Dynamic Members page (select PeopleTools > Security > Permissions & Roles > Roles and click the Dynamic Members tab).

Image: Roles - Dynamic Members page

This example illustrates the fields and controls on the Roles - Dynamic Members page.

Roles - Dynamic Members page

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.

Field or Control

Definition

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.

Directory Rule Enabled

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 directory 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.

Execute Rule (s)

The Execute Dynamic Role Rules button on this page launches the DYNROLE_PUBL application engine program which executes the rule(s). The application engine program runs through PeopleSoft Process Scheduler.

After the DYNROLE_PUBL application engine program runs the rule, it publishes a message, ROLESYNCHEXT_MSG, that contains a list of users in the role.

Note: The successful completion of the dynamic roles program does not ensure that your roles were updated; the associated message must also be published successfully.

Use the Process Monitor link on the page to view the status of the application engine program. Use the Service Monitor link on the page to view the status of the message publication.

You can also execute dynamic role rules for all roles and users.

See Executing Dynamic Role Rules.

Refresh

After you run a rule, click to repopulate the grid with updated information.

Process Monitor

Click to view the status of the DYNROLE_PUBL application engine program in the Process Scheduler Monitor.

Service Monitor

After the DYNROLE_PUBL application engine program runs, it publishes a message, ROLESYNCHEXT_MSG, that contains a list of users in the role.

Click the link access the Service Operations Monitor and to view the publication status of the ROLESYNCHEXT_MSG message.

Note: To clear all dynamic users from the role, run the delivered NO_USERS query.

Query Rule Example

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:

  1. Create a view.

  2. Create the query.

  3. 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.

Image: Example of dynamic role rule, SQL view

This example shows a possible view definition for the example role rule:

Example of dynamic role rule, SQL view

The associated SQL object is:

Image: Dynamic role rule, SQL definition

This example illustrates the associated SQL definition.

Dynamic role rule, SQL definition

Note: The OPRID field must not be a key in this view because PeopleTools appends AND OPRID = “<CURRENT_USER_ID>” in PeopleSoft Query Manager. This action occurs if you use the record OPRALIAS directly in the query.

The SQL is:

Image: Query view SQL

This example illustrates the Query view SQL.

Query view SQL

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:

Image: Adding the view to a query tree

This example illustrates adding the view to a query tree.

Adding the view to a query tree

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.

Image: Example of Query page

This example shows the query properties.

Example of Query page

The query contains the following criteria:

Image: Example of Criteria page

This example illustrates a sample Criteria page.

Example of Criteria page

The SQL for the query is:

Image: Query SQL

This example illustrates the query SQL.

Query SQL

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 Roles - Workflow page (select PeopleTools > Security > Permissions & Roles > Roles and click the Workflow tab).

Image: Roles - Workflow page

This example illustrates the fields and controls on the Roles - Workflow page.

Roles - Workflow page

Field or Control

Definition

Allow notification

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.

Allow Recipient Lookup

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 and Query Name

Select to determine workflow routings by a workflow query. This value depends on your workflow scheme. If this option is selected, the Query Name field appears, where you specify the query to use.

You use the Roles – 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 Roles - Links page (select PeopleTools > Security > Permissions & Roles > Roles and click the Links tab).

Image: Roles - Links page

This example illustrates the fields and controls on the Roles - Links page.

Roles - Links page

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.

Access the Roles -Role Queries page (select PeopleTools > Security > Permissions & Roles > Roles and click the Role Queries tab).

Image: Roles - Role Queries page

This example illustrates the fields and controls on the Roles - Role Queries page.

Roles - Role Queries page

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 Roles -Role Queries page.

To run a role query:

  1. Click the link associated with the query that you want to run.

    This action invokes a new browser window.

  2. 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.

    • XML file

      Downloads the query results as a xml (.xml) file.

Access the Roles - Audit page (select PeopleTools > Security > Permissions & Roles > Roles and click the Audit tab).

Image: Roles - Audit page

This example illustrates the fields and controls on the Roles - Audit page.

Roles - Audit page

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.