The audit features are found in Shared Services. First, auditing has to be enabled in order to capture any auditing information. This can be accomplished by entering Shared Services and selecting Administration -> configure auditing. Select "Enable Auditing". Most of the auditing for the various products are simply LCM. In other words, you will see only LCM operations being audited. However, under Shared Services there is a little more detail:
First, let's look at the Shared Services Auditing user interface. This is found in Administration -> Audit Reports -> Security Reports.
The default report shows 30 days of history. It can be confined to a specific date range too. You can search by "performed by". However, if you are unsure who performed the action, this field may not be very useful. Finally, you can narrow down by product name. In this case the product is Shared Services for checking provisioning information.
One of the first challenges becomes sifting through the interface. It is impossible to sort or narrow
down by Task, which is the operation being audited. Consequently, the display is overwhelmed with "authenticate" requests from users using the system. Secondly, only 50 items can be displayed on the page at a time. Let's say you want to review audit information over a range of 10 days. Now the pagination ("1of x") comes into play. One has to sort though multiple pages of info, most of which is irrelevant authentication information. What about finding when a user was provisioned over the last year? Forget about it.
Assuming you do find a particular item of interest. In this case, the admin user provisioned "testuser1" to an application. Notice anything missing? What application? For this information you have to click the checkmark in the options for "Detailed View".
The detailed view shows the full detail. This now tells us that testuser1 was provisioned by admin to the PLANDEMO application as role Administrator.
This display is perfectly fine, but it is difficult to search around repeatedly for looking for specific information.
One way to get at the data is to tear off the clunky user interface and head to the database, targeting exactly the info you want. A rough, basic query can be put together quickly. From there it is possible to do much more powerful querying. Additionally, the audit information accumulates very quickly. Keeping this data around can grow to huge sums of data. Using a query over the user interface can help sift through millions of rows quickly.
select STARTTIME, USER_NAME, ARTIFACT_NAME, ATTRIBUTE_NAME, attribute_curr_value from
SMA_AUDIT_FACT NATURAL JOIN SMA_TASK_DIM
NATURAL JOIN SMA_AUDIT_ATTRIBUTE_FACT
where artifact_name like '%testuser1%' and
TASK_NAME like '%Provision User%'
ORDER BY STARTTIME, AUDIT_FACT_ID, ARTIFACT_NAME;
Results of query:
Again we find that testuser1 was provisioned by admin to the PLANDEMO application as role Administrator.
Thanks for taking this opportunity to discuss this,
ReplyDeleteAudit Reporting
Hi Nicholas, just want to ask what is the default audit log retention of HFM? I have set the Purge Data older that XX days to 365 but after restarting the services it's still blank.
ReplyDeleteIs it possible to view security changes done to MSAD groups or users in audit report
ReplyDeleteHi, thanks for sharing your experience...
ReplyDelete