Showing posts with label OBIEE 11g User Proxies setting up. Show all posts
Showing posts with label OBIEE 11g User Proxies setting up. Show all posts

Tuesday, August 11, 2015

Setting up User Proxies in OBIEE 11g

Step1 :  Create table in database .
CREATE
TABLE OBEE11G_PROXY_ACTAS
(
PROXY_USER_ID   VARCHAR2(30 BYTE) NOT NULL ,
PROXY_TARGET_ID VARCHAR2(30 BYTE) NOT NULL ,
PROXY_LEVEL     VARCHAR2(10 BYTE) NOT NULL ,
CONSTRAINT OBEE11G_PROXY_ACTAS_PK PRIMARY KEY ( PROXY_USER_ID , PROXY_TARGET_ID )
ENABLE
) ;
PROXY_USER_ID   : ID of the proxy user
PROXY_TARGET_ID : ID of the target user
PROXY_LEVEL     : Proxy level (either full or restricted).
Note : Create all PROXY_TRGET_ID users in weblogic console
Step2 :(Create a Session Variables for Proxy Functionality)
2.1 : Import OBEE11G_PROXY_ACTAS table into physical layer.

2.2: There are two system session variables along with their associated initialization blocks that you create to authenticate proxy users:
PROXY :
SELECT
PROXY_TARGET_ID
FROM
OBEE11G_PROXY_ACTAS
WHERE
UPPER(PROXY_USER_ID)     = UPPER( ‘:USER’)
AND UPPER(PROXY_TARGET_ID) = UPPER(‘VALUEOF(NQ_SESSION.RUNAS)’)
PROXYLEVEL :
SELECT
PROXY_LEVEL
FROM
OBEE11G_PROXY_ACTAS
WHERE
UPPER(PROXY_USER_ID)     = UPPER(‘:USER’)
AND UPPER(PROXY_TARGET_ID) = UPPER(‘VALUEOF(NQ_SESSION.RUNAS)’)
http://prasadmadhasi.files.wordpress.com/2012/02/4.jpg?w=300&h=269
Step3:(Creating a Custom Message Template for Proxy Functionality)
In this step create “LogonParamSQLTemplate.xml” file and place it under “<Middleware Home>\Oracle_BI1\bifoundation\web\msgdb\customMessages”
Note : If you dont find the folder ‘customMessages’ , then create create folder with the name ‘customMessages’ and place the ‘LogonParamSQLTemplate.xml’ file .
In my case the content of ‘LogonParamSQLTemplate.xml is’
<?xml version=”1.0″ encoding=”utf-8″ ?>
<WebMessageTables xmlns:sawm=”com.siebel.analytics.web.messageSystem”>
<WebMessageTable system=”SecurityTemplates” table=”Messages”>
<WebMessage name=”LogonParamSQLTemplate”>
<XML>
<logonParam name=”RUNAS”>
<!– for EXECUTE PHYSICAL CONNECTION POOL, “SECURITYANDPROXY”.”Connection Pool” =  –>
<!– SAS Repository physical_dbname.conn_pool_name –>
<getValues>EXECUTE PHYSICAL CONNECTION POOL “SECURITYANDPROXY”.”Connection Pool”
select PROXY_TARGET_ID from OBEE11G_PROXY_ACTAS where PROXY_USER_ID=’@{USERID}’
</getValues>
<verifyValue> EXECUTE PHYSICAL CONNECTION POOL “SECURITYANDPROXY”.”Connection Pool”
select PROXY_TARGET_ID from OBEE11G_PROXY_ACTAS where PROXY_USER_ID=’@{USERID}’ and PROXY_TARGET_ID=’@{VALUE}’
</verifyValue>
<getDelegateUsers>EXECUTE PHYSICAL CONNECTION POOL “SECURITYANDPROXY”.”Connection Pool”
select PROXY_TARGET_ID, PROXY_LEVEL from OBEE11G_PROXY_ACTAS where PROXY_TARGET_ID=’@{USERID}’
</getDelegateUsers>
</logonParam>
</XML>
</WebMessage>
</WebMessageTable>
</WebMessageTables>
http://prasadmadhasi.files.wordpress.com/2012/02/5.jpg?w=300&h=114
Step4:(Modifying the instanceconfig.xml File for Proxy Functionality)
You can modify the Oracle BI Presentation Services configuration file (instanceconfig.xml) to specify the following information for proxy functionality:
For example between the <ServerInstance> node, you can insert:
<LogonParam>
<TemplateMessageName>LogonParamSQLTemplate</TemplateMessageName>
<MaxValues>100</MaxValues>
</LogonParam>
The name that you specify in the <TemplateMessageName> element must match the name that you specify in the <WebMessage> element in the custom message file.
http://prasadmadhasi.files.wordpress.com/2012/02/7.jpg?w=300&h=54
Restart Services
Step5: (Assigning the privilege and restarting the BI Presentation Service)
Login to Presentation services http://localhost:9704/analytics
http://prasadmadhasi.files.wordpress.com/2012/02/8.jpg?w=530
5.2:Click in Administration
http://prasadmadhasi.files.wordpress.com/2012/02/9.jpg?w=530
Click on Manage Privileges
http://prasadmadhasi.files.wordpress.com/2012/02/101.jpg?w=300&h=131
Give Act As Proxy permission to the user ‘weblogic’
http://prasadmadhasi.files.wordpress.com/2012/02/111.jpg?w=300&h=15
Now the user should be able to act as the users (PROXY_TARGET_ID) .