0
votes

I'm trying to Implement Section Access in OBIEE 12c . I referred a Blog and followed the steps to Implement Section Access . But the End Result is not as Expected .

Blog Link : http://bisimplified.blogspot.com/2014/06/obiee-11g-datarow-level-security.html

First I created "User_1" and Assigned that user to "BI Consumer" Application Role.

I want to display only certain data to the "User_1".

Created Initialization Block . This is the SQL Statement I used to define the Initialization Block ( Data Source ) :

select pc.category_name from dim_category ft , product_categories pc where ft.category_id=pc.category_id and lower(ft.username) = lower(':USER') .

enter image description here (Screenshot of Initialization Block created )

I assigned 'default' (String) to Default Initializer and Check in the " Row-Wise Initialization" and "Use Caching" ( Initialization Block (Block we are working on ) -> Edit Variable Target -> New ( Variable )) .

enter image description here (Screenshot of Session Variable created)

Else , an error prompted at the assigning the Section variable to the Application Role / User , if the Default Initializer is left empty . enter image description here

(Screenshot of Error Message if the Default Initializer left empty and try to assign that Section variable to the Application Role / User ).

Is there anything to be done with Session Variable ?

After that I assign this Session Variable to the "BI Consumer " Application Role .

enter image description here (Screenshot of Assigning Session Variable to "BI Consumer" Application Role )

I request to give suggestion on " Implementing Section Access " in OBIEE 12c or if there is anything you like to Add in the above steps please correct me.

1
Your question is quite unclear. You are asking about "section access" but aren't showing anyhting that you're doing with sections, just data. What it is that you really want to achieve?Chris
Hi Chris , Thank you for the reply . I'm try to restrict the data for the users based on the condition . For Example , User_1 should be able view data of category " CPU " and " Video Card " alone . The data to be filtered been given in the table "Dim_category" . So I have to Filter the data from "Product_Categories" . I hope now your clear on what scenario I'm trying to implement . If not could you please how to implement Section Access in OBIEE .saran k
That's row-level access and not "section control". And if you're after row-level access then why don't you post the screenshots of where and how you have tried to implement it?Chris
Thank you for the Reply , Chris . I wanted to implement Section Access based on the Table I have ie. to Restrict data for each and every user as given in Source . For Example , User_1 can view categories of "CPU" and "Storage" which will be given in the Source Table . Using that source table , I'm trying to dynamically restrict data for the Users. If I have misunderstood "Section Access" , please correct me .saran k
I did. Above. "Section control" has nothing to do with "row-level security". "Section control" controls Sections as the name clearly states. That means it controls displaying "sections" which are part of a dashboard. "row-level security" controls which rows get fetched for which user or application role. I take it you want the second, but please confirm precisely what you want because you keep using the wrong terms and that's not helpful.Chris

1 Answers

1
votes

Consolidated answer for general knowledge: "Section Access" is a misnomer. The intent is "row-level security".

The problem mentioned with the query above stems primarily from the usage of ':USER' which most likely is "weblogic" and who owns/has no data for that query. The query must be validated using a user account which actually brings back data.

Secondly, since the query is set to row-wise initialization it must bring back value pairs representing the variable name and an actual value. Section_Variable | CategoryA Section_Variable | CategoryB etc

So the SQL must pull

select 'Section_Variable', ft.category_name from .....