Tell Me Glossary
 

Identity-Based Security

Previous previous|next Next Page

The SQL connector supports identity-based security. In earlier versions of the SQL connector, security of a document always had to be modeled using security attributes - which is called the user-defined security model. With this enhancement, database records secured by user/group ACL can also be modeled using the database connector.

To support identity based secure crawling, the connector supports the following additional attributes in the crawling query or view. The value in these columns for each record in the record set defined by the crawling the query or view specifies the user or group who are granted or denied access to the record.


EQ_GRANT_USER - User granted access to the record
EQ_GRANT_GROUP - Group granted access to the record
EQ_DENY_USER - User denied access to the record
EQ_DENY_GROUP - Group denied access to the record


Below is an example crawling query that includes EQ_GRANT_USER column:
SELECT T1.URL_ID KEY, URL, LANG, LAST_MODIFIED LASTMODIFIEDDATE, T2.USER_NAME EQ_GRANT_USER, TITLE CONTENT, DS_ID FROM SCH.CONTENT T1 LEFT OUTER JOIN SCH.USER_ACL T2 ON T1.URL_ID = T2.URL_ID


If there are more than one user or group in the grant/deny list, the sub-query feature of the database connector should be used. Subqueries specifying grant/deny user/group should be specified as attribute queries in the subquery file. Here is an example sub-query file content:

<?xml version="1.0" encoding="UTF-8" ?>
<sqlQueries xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/ses/sqlconnector/detail-attribute-queries detail-attribute-queries.xsd" xmlns="http://xmlns.oracle.com/ses/sqlconnector/detail-attribute-queries">
<attributeQueries>
<query>
<![CDATA[select group_name EQ_GRANT_GROUP from user_acl where url_id=##KEY##]]>
</query>
<query>
<![CDATA[select user_name EQ_DENY_USER from user_acl where url_id=##KEY##]]>
</query>
</attributeQueries>
</sqlQueries>