Section - 3
Section - 3
Section - 3
Contents
Section 3: Roles, Tasks, Rules and Custom Reports .................................................................................................. 4
Exercise #1: Defining a Role Model ................................................................................................................................. 5
Objective:................................................................................................................................................................................ 5
Overview ................................................................................................................................................................................ 5
Create Role Container ....................................................................................................................................................... 5
Run a Business Role Mining Task to generate Region Roles ............................................................................ 6
Run an IT Role Mining Task to create TRAKK Roles ............................................................................................ 9
Create an IT Role with Direct Entitlements ........................................................................................................... 13
Load a Role Model for the PRISM Application ...................................................................................................... 14
Exercise #2: Assign and Detect Roles ........................................................................................................................... 15
Objective ............................................................................................................................................................................... 15
Overview .............................................................................................................................................................................. 15
Assign Business Roles and Detect IT Roles ............................................................................................................ 15
Exercise #3: Using Roles to Provision Access to the PRISM Application ....................................................... 19
Objective ............................................................................................................................................................................... 19
Overview .............................................................................................................................................................................. 19
Modify Business Roles to have Assignment Logic............................................................................................... 19
Create a new Refresh Task that will Provision Access ...................................................................................... 20
Exercise #4: Using Rules to Learn the API .................................................................................................................. 22
Objectives ............................................................................................................................................................................. 22
Overview .............................................................................................................................................................................. 22
Terminology Check .......................................................................................................................................................... 22
Load and Run the Walk Identity Rule....................................................................................................................... 22
Load and Run the Uncorrelated Identities Rule................................................................................................... 24
Load and Run the Certification Walker Rule ......................................................................................................... 25
Exercise #5: Running Tasks Sequentially and Running Rules on a Schedule .............................................. 26
Objective ............................................................................................................................................................................... 26
Overview .............................................................................................................................................................................. 26
Create and Schedule a Set of Tasks ........................................................................................................................... 26
Run a Rule on a Schedule............................................................................................................................................... 27
• used analytics, populations and groups to help us to organize and make sense of the data
• Configure, schedule, and run sequential tasks and a rule runner task
Overview:
In our case, we are going to set up some roles for the following:
• Region Roles driven off of Identity Attributes (i.e. a role for users in Americas, Europe and
Asia-Pacific).
• Application Roles (TRAKK Application) to define roles for the TRAKK Time Sheet
application
• Application Roles (PRISM Application) to define roles for the PRISM application.
After configuring roles, we will learn how to update identities so that roles get assigned and
detected and stored in the Identity Cubes.
b. Name: TRAKK
d. Type: Organizational
f. Click: Submit
b. Name: Regions
d. Type: Organizational
f. Click: Submit
c. Navigate back to the Role Viewer tab and refresh by selecting Refresh and see the
roles defined.
_________________________________________________________________________________________________
4. Enable each of the three Region roles by repeating the following steps for each role
d. In the role, find and list the Assignment Rule for each Region role:
_________________________________________________________________________________________________
_________________________________________________________________________________________________
_________________________________________________________________________________________________
i. Notice that the Identity Attributes listed are a subset of those available on
the Identity Cube. What is special about these identity attributes such that
they’re included in this list?
________________________________________________________________________________________
d. Inactive: False
c. From the results, we will create an IT-Role for all users with the Input entitlement.
To do this, right click Group1 and select Create Role.
a. Select the Role Viewer tab, click Refresh, expand TRAKK and select the TRAKK -
Basic Role
d. Select Search
e. From these results, we can see that all Managers that have TRAKK access have the
same set of entitlements, which include the ability to approve and reject
entitlements.
f. We will create a new role from the entitlement analysis that will include these two
entitlements. Select the checkboxes next to approve and reject and click Create
Role
h. Go back to the Role Viewer tab and Refresh. You should see the TRAKK -
Manager Access role in the role hierarchy.
k. Enter TRAKK in the Search Box and select TRAKK - Basic and then select Add and
Save
m. Once again, go to the Role Viewer tab, Refresh and take a look at the changes to the
role hierarchy.
n. Note that we have made the Manager role inherit from the Basic role. This is so that
our hierarchy reflects the following:
ii. Some users have Basic access plus additional Manager access to TRAKK
(capability = approve and capability = reject)
iii. A user with the Manager access to TRAKK will inherit the Basic access as
well since it’s defined in its inheritance path.
2. Click Add
c. Type: IT
i. Application: TRAKK
iv. Save
1. Navigate to Global Settings Import from File and load the following file:
/home/spadmin/ImplementerTraining/config/PRISM/Roles-PRISM.xml
2. Confirm that six total roles were loaded (three IT Roles and three Business Roles):
3. View the PRISM roles to complete the following chart of the PRISM role model. The PRISM
Super and the PRISM Super-IT entries have been completed as examples.
PRISM User
PRISM User-IT
Overview
In this section we will run a task that will do the following:
1. Navigate to Setup Tasks and open the task called: Refresh Entitlement Correlation
_________________________________________________________________________________________________
2. Navigate to Identities Identity Warehouse and confirm that Business Roles have been
assigned, and that the IT Roles have been detected.
3. Click Aaron.Nichols and look at his Entitlements and notice that he now has an assigned
Business Role based on his Region, and a few detected IT Roles based on his access to the
TRAKK application.
a. Expand the TRAKK – Manager Access and confirm that it consists of the approve
and reject capability.
4. Scroll down to the Entitlements section and click the TRAKK capabilities input and reject to
see the meta information that we are storing with regards to each entitlement. Note that
these entitlements are granted by a role as the role definition includes these entitlements:
5. Click the Show only additional entitlements option to hide those entitlements that are
included in a role.
6. Run a Manager certification to confirm that Roles are now part of the certification:
a. Recipient: Catherine.Simmons
e. Login as Catherine.Simmons/xyzzy and verify in the Access Review that Roles are
part of the certification now.
Overview
The PRISM application is a new application and only has two current user accounts on the system:
• PRISM ADMIN – An Out of the Box Account that came with the software
• Walter.Henderson – The owner of the application and the only user to create an account on
the system
As part of this exercise, we will assign the “PRISM Manager” Business Role to all users that are
managers at the company. We will do this by modifying the “PRISM Manager” Role to have
assignment logic that defines that managers will be assigned to this role. We will then assign this
role to everyone and this will cause provisioning to occur.
3. This rule will return true if an Identity is a manager. When we refresh assigned and
detected roles, this rule will assign the PRISM Manager role to each identity that is a
manager. In turn, this will cause the required IT Role, PRISM Manager-IT to get
provisioned as part of the refresh processing. This will create an account and add the user
to the Manager group on the PRISM application.
d. Wait until the task finishes, as it will take a while since it will look at all 200+
identities. While the task is running you can observe the progress, by clicking on the
Pending… task in the Task Results window and watching the progress as it runs.
e. Once the task has successfully finished, go to a terminal window, and login to
MySQL:
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights
reserved.
Type 'help;' or '\h' for help. Type '\c' to clear the current input
statement.
Database changed
mysql> select * from users;
In your results, you should see that several managers were provisioned with access
to the PRISM application:
…
| A | N | NULL |
| Sara.Berry | NULL | Sara | Berry | Manager
| A | N | NULL |
| Stephanie.Coleman | NULL | Stephanie | Coleman | Manager
| A | N | NULL |
| Susan.Martin | NULL | Susan | Martin | Manager
| A | N | NULL |
| Victor.Pierce | NULL | Victor | Pierce | Manager
| A | N | NULL |
| whenderson | NULL | Walter | Henderson | User,
Manager, Super | A | Y | 2012-01-01 |
| William.Moore | NULL | William | Moore | Manager
| A | N | NULL |
+-------------------+-------------+-----------+------------+-------------
---------+--------+--------+------------+
49 rows in set (0.00 sec)
Overview
We will load each rule and investigate the rule in debug. For each rule, a set of questions introduces
you to the SailPoint API and provides understanding as to the purpose of each rule.
Non-programmers: Do your best to answer the programming questions, but don’t spend too much
time on them. Do load and run each rule.
Terminology Check
1. Match the following internal (programming) and user interface terminology. Check your
answers against the Common IdentityIQ Synonyms chart in the appendix.
/home/spadmin/ImplementerTraining/config/Rule-Example-WalkIdentity.xml
2. Navigate to the Debug Pages, select the Rule object, view the rule Example - Walk
Identities, and answer the following questions.
________________________________________________________________________________________
ii. What is the name of the class passed to the method identified above?
________________________________________________________________________________________
c. Why do we use the getEmail method to retrieve the email attribute, but the
getAttribute method to retrieve the status, location, and region attributes?
_________________________________________________________________________________________________
d. What is the name of the method used to retrieve the following information?
i. Accounts _____________________________________________________________
4. When a rule runs in the Debug Page, print statements are listed in the standard out for the
application server (in our instance, Tomcat). Use the desktop shortcut Tail Tomcat
Standard Out to view the print statements.
Note: If you see an error in the logfile regarding CSRF validation failed, this could be
because you have multiple IdentityIQ windows open in your browser. CSRF validation is a
security measure.
/home/spadmin/ImplementerTraining/config/Rule-Example-
ReportUncorrelatedIdentities.xml
_________________________________________________________________________________________________________
3. On the debug page, view the rule and answer the following questions:
a. What is the name of the method being used to query the system for all uncorrelated
identity objects?
_________________________________________________________________________________________________
_________________________________________________________________________________________________
4. Use the rule command in the IdentityIQ console to run the rule. The print statements will be
printed to the console screen.
/home/spadmin/ImplementerTraining/config/Rule-Example-
CertificationWalker.xml
_________________________________________________________________________________________________
b. What is the name of the method that provides the name of the certification?
_________________________________________________________________________________________________
_________________________________________________________________________________________________
_________________________________________________________________________________________________
3. Run the rule using either method (from debug or from the IdentityIQ Console).
_________________________________________________________________________________________________
Overview
In this exercise, we will define a single task that will run nightly to aggregate our authoritative
applications followed by a refresh. We will use the run rule task to run a rule every 5 minutes.
a. In the list of tasks, right click on Aggregate Authoritative Apps and Refresh, and
select Schedule
b. Configure as shown:
c. Schedule
1. Navigate to Global Settings Import from File and import the following file:
/home/spadmin/ImplementerTraining/config/Rule-Example-RuleRunnerTest.xml
a. This rule simply determines the date and prints it to the log file.
4. Configure as shown:
a. View the task results. All we’re returning is the status, so there is no other
information listed.
b. View the output from the Tomcat Standard Out log to see that a time stamp gets
printed when the task runs:
6. On the Tasks tab, right click the Rule Runner Test task and select Schedule
d. Select Schedule
This will run the task immediately and then every hour.
8. To run this task more frequently than hourly, edit the TaskSchedule through the Debug
page and adjust the schedule parameters to run it more often. In order to do this, change the
TaskSchedule cron expression as shown.
Note: Detailed information about the cron expressions used in IdentityIQ can be found at
www.quartz-scheduler.org.
Original Task Schedule (the task runs every hour at 58 minutes past the hour):
9. Check back periodically to the Tomcat Standard Out log to see that the task continues to run
and execute the rule that writes test messages to the log file.
Overview
In this exercise, we will compile and deploy a task that will allow the user to enter a search term
and an object type and run a search for the term against all objects of that type.
2. Your training VM includes a build environment for building a custom task. The build tool we
will use is called Ant.
a. The source file for the task is under the ImplementerTraining/src directory. If
you are interested, view the sample code.
c. This will build the sample task, jar it up and deploy it into the App Server directory
and bounce the application server.
2. Navigate to Global Settings Import from File and import the following file:
/home/spadmin/ImplementerTraining/config/TaskDefinition-SearchTask.xml
This is the Task Definition file that defines the Task within IdentityIQ. This XML Task
Definition points to the Java class that we just compiled and deployed into the Application
Server.
3. To test the task, from within IdentityIQ, navigate to Setup Tasks and create a new task of
type Search Task
Bonus Question
1. Why might you need to identify applications that contain the phrase “spadmin”?
_________________________________________________________________________________________________________
_________________________________________________________________________________________________________
Overview
For this exercise, we will load a custom report and observe how it functions within IdentityIQ. We
will configure the report using the GUI. Then we will investigate the report XML using debug. Next
we will extend the report by adding more columns. This section ends with three optional
extensions.
/home/spadmin/ImplementerTraining/config/Report-CustomCapabilities.xml
e. Page through the report and check to see that the user spadmin has the
SystemAdministrator capability.
3. Click Refine Report (top, right) and click the Report Layout section.
4. Change the report so that Username is displayed first, followed by Capability and omit
First Name and Last Name from this report.
6. Navigate to the Debug Pages and search for TaskDefinition objects and look for the
Capabilities Report that we just loaded. Click the Capabilities Report and view the report
XML.
7. Observe the XML to see what is causing the report to generate the information in the report.
a. Notice that the DataSource defines the base object (in our case Identity) and the
default sort order.
b. Notice that the ReportColumnConfigs drives the columns shown in the report.
<Columns>
<ReportColumnConfig field="identity"
header="rept_user_details_col_identity" property="name"
sortable="true" width="110"/>
<ReportColumnConfig field="lastName"
header="rept_user_details_col_lastname" property="lastname"
sortable="true" width="110"/>
<ReportColumnConfig field="firstName"
header="rept_user_details_col_firstname"
property="firstname" sortable="true" width="110"/>
<ReportColumnConfig field="capability"
header="Capability" property="capabilities.name"
sortable="true" width="110"/>
</Columns>
c. Effectively, this report retrieves all the identities in the system and lists the four
columns (name, lastname, firstname, capabilities.name) defined.
8. Still on the Debug Page, search again for TaskDefinition objects and this time look for the
My Capabilities Report that we just created and view the report XML.
a. Observe that this definition includes the specific configuration for My Capabilities
Report.
i. Notice the entry key for reportColumnOrder. Why are only two columns
listed?
________________________________________________________________________________________
________________________________________________________________________________________
b. Observe that the My Capabilities Report XML references the report template from
which it was configured.
<Reference class="sailpoint.object.TaskDefinition"
id="ff80808140569e2201407d0889211672" name="Capabilities
Report"/>
2. Extend the Columns in the Capabilities Report to add the user’s region and location.
Note: Enter each ReportColumnConfig as one line of text. There is no “enter” before
property, only a space.
b. Click Save
5. Click Save and Preview and confirm that the Region and Location columns are now
displayed.
6. From the dropdown menu next to Last Name, click Columns and remove Last Name and
First Name from the report.
7. From the Select an action menu (top, left), select Run Now, and when the report is
complete click View Report Results.
_________________________________ _________________________________
a. Extend the report using Query Parameters and a Signature to allow users to filter
the results.
Run the report and notice that the new Report Options section allows the user to
filter the report based on the values specified in the Signature. The Report Options
section uses the default form for display and lists item in a single column.
b. Extend the report using the previously created Signature and a Form to control the
display. Load the XML for the form from:
/home/spadmin/ImplementerTraining/config/Report-CapabilitiesForm.xml.
Run the report and notice that now the middle section is called Capabilities Filters
(from the form) and the section uses the specified form to list items in two columns.