Evan Ross Principal Automating Security in IBM Cognos 8 Transformer.

Post on 20-Jan-2016

218 views 0 download

transcript

Evan RossPrincipal

Automating Security in

IBMCognos 8

Transformer

IBM Services Partner Expertise in the BI platform for more

than 12 years Cognos BI

Dashboarding

Reporting

Analysis

Scorecarding

Data Manager

Some of our Cognos Clients

Cognos security Great Active Directory integration for

Framework Manager Functionality added in Transformer 8.3

for Custom Views

The problem: Hospital ERP system Complex security by department Security table available in SQL Framework Manager can easily connect

to the SQL table Hard to maintain in Transformer

Security Concerns Timeliness

Standard hierarchies are easy…

…Complex Hierarchies are not!

Transformer views Exclude

Not in cube Cloak

In totals, not visible Suppress

Hide level Summarize

Hide lower levels Apex

Hide upper levels

The manual method

What does the user see? Two options:

Supress all categories at the lowest level and then unsuppress applicable categories

Apex on applicable categories

What is the difference?

The solution Cognos 8.3 and higher allows for OLE

automation of Transformer Model Read SQL database and create User

Views for each class Tools needed:

Transformer Visual Studio – free Express version is fine Does NOT need Cognos SDK!

The next problem – Active Directory names! Security tables uses login

name RossE

Cognos expects full name Ross, Evan

The answer – link directly to Active Directory

Connecting to Active Directory SQL Server supports linking directly to

AD

Once connected, it’s a simple query…Insert Into L_activedirectory Select Cn, Samaccountname From Openquery(adsi, 'Select Cn, Samaccountname From ''Ldap:// Dc1'' Where Objectclass = ''User'' And Objectcategory = ''Person'‘ Order By Givenname') End

Process model to update security

VB.NET code – what does it do?For intX = 1 To dimension.DrillDowns.Item(1). Categories.Count

Dim category As Category = dimension.DrillDowns.Item(1).Categories(intX)

If category.Name = deptName Then

view.SetViewStatus(category,xtrViewStatus.trViewStatusApexAncestor)

End If

Next intX

The end result No manual maintenance of Transformer

security Security preserved in all Cognos tools –

relational, dimensionally modeled relational (DRM), and cubes

No more headaches for BI team!

Questions? Evan Ross eross@dstrat.com 416-987-5793