Transcript Document

Automating
Security in
IBM
Cognos 8
Transformer
Evan Ross
Principal
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…
Corporate
Canada
East
USA
West
South
…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?
Division
Division
Business
Business
Unit
Unit
Location
Location
[Text]
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
name

RossE
 Cognos

tables uses login
expects full name
Ross, Evan
 The
answer – link directly
to Active Directory
Connecting to Active
Directory
 SQL
AD
Server supports linking directly to
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
Clear
Add
• Deletes all existing user views
• Reads database
• Creates new views
• Build cubes from batch file
Build • Copy and deploy cubes
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.t
rViewStatusApexAncestor)
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
 [email protected]
 416-987-5793