Secure Your Content Using the Advanced Security Module
- See the Elasticsearch or Azure Cognitive Search topic in How to Configure Your Target.
About
- ASM = Advanced Security Module
- ASM is used by:
- SmartHub
- Connectivity Hub
- For a video walk-thru of the ASM see BA Insight ASM walk-thru.
Overview
For a high-level conceptual explanation of the Advanced Security Module, with graphics, see Security Trimming in SmartHub and Connectivity Hub.
Configuration Options
Any combination of the following authentication modes are valid:
- SmartHub Authentication Modes:
- Azure AD
- Windows authentication
- Connectivity Hub Target Directories:
- Azure AD
- Active Directory
- Must be on-premise AD if you use a connector with no security sync, such as FileShare
Configuration Examples
Option 1: Azure AD in SmartHub and Connectivity Hub
Configuration:
- UPN is the default value for
userPrincipalNameProperty
.- For
userPrincipalNameProperty
, specify:upn, id,
or leave it empty
- For
-
- No domain remapping required
User claims in SmartHub
- SmartHub extracts only the On-Premise ID and UPN for the current user
- The user property
id
is not be present by default. - To retrieve it use the Graph Claims Provider Stage, shown below.
-
- Graph Claims Provider Stage
- Use to extract any user property from graph, such as
id
- Use to extract any user property from graph, such as
- Graph Claims Provider Stage
Option 2: Azure AD in SmartHub/Local AD in Connectivity Hub
- Configuration:
- UPN is the default value for
userPrincipalNameProperty
.- For
userPrincipalNameProperty
, specify:upn, onprem_sid,
or leave it empty
- For
- Domain remapping required
- MyDomain.com=MyOtherDomain.local
(SmartHub)=(ConnectivityHub)
- MyDomain.com=MyOtherDomain.local
- UPN is the default value for
Option 3: Windows Authentication in SmartHub*/Local AD in Connectivity Hub
- *Windows Authentication in SmartHub uses local AD
- Configuration:
- This option works out-of-the-box.
- UPN is the default value for
userPrincipalNameProperty
.- For
userPrincipalNameProperty
, specify:upn, onprem_sid,
or leave it empty
- For
- UPN is the default value for
- No domain remapping required if SmartHub and Connectivity Hub are connected to the same domain
- This option works out-of-the-box.
Option 4: Windows Authentication in SmartHub*/Azure AD in Connectivity Hub
- *Windows Authentication in SmartHub uses local AD
- Configuration:
- For
userPrincipalNameProperty
, specify:upn, onprem_sid,
or leave it empty
- Domain remapping required
- MyDomain.com=MyOtherDomain.local
(SmartHub)=(ConnectivityHub)
- MyDomain.com=MyOtherDomain.local
- For
ASM User Format, Based on Connectivity Hub Target Directory
Azure AD Target Directory
- UPN:
- user@domain
- domain\user: Somesite.local\a_sharepoint_user
- ID: ########-####-####-####-############
Active Directory Target Directory
- Distinguished name:
- full_domain\user
- UPN: user@full_domain
- SID: S-1-5-32-573
To find out the user format, check the SmartHub log for these entries and make sure the requirements listed above are met:
DEBUG - GetGroupInfo Started DEBUG - User: a_sharepoint_user@azuredomain.com DEBUG - Complete list of users, including domain remapping DEBUG - Remapped user: a_sharepoint_user@azuredomain.com DEBUG - Remapped user: a_sharepoint_user@localdomain.local DEBUG - Retrieving Security Map DEBUG - GetGroupsList Started
Add the Advanced Security Module Tuning Stage
To use the Advanced Security Module, you must add a Tuning stage.
Use the following steps to add the ASM Tuning stage.
Caution: This stage must be the first stage executed among your search engine tuning stages.
You can change the order of the stages by using the up and down arrows.
- If you're using Advanced Security Module to secure content from a Connector which relies on Active Directory for users and groups, such as (FileShare, FileNet, SharePoint), you must set "enableSidSecurity" to "true".
- See more details in the configuration table below.
- Navigate to the SmartHub Administration page at http(s)://[web-app-url]/_admin.
- For example: http://smarthub.azurewebsites.net/_admin
- For example: http://smarthub.azurewebsites.net/_admin
- Click on the search engine which should be secured.
- Click ADD QUERY TUNING.
- User Experience Tuning: Use the down arrow to select Advanced Security Module.
- Name: Complete a name for your stage.
-
Parameters: Copy and paste the following code, replacing the sample values with the appropriate values.
Copy<config>
<userPrincipalNameProperty>upn</userPrincipalNameProperty>
<domainRemapping>domain=domain.local</domainRemapping>
<groupCacheTimeout>10</groupCacheTimeout>
<additionalSecurityLevels>0</additionalSecurityLevels>
<enableSidSecurity>true</enableSidSecurity>
<includeResultSources>ASM</includeResultSources>
<excludeResultSources>XYZ</excludeResultSources>
<impersonateUser>domain\uA=domain\uB</impersonateUser>
<debug>false</debug>
<showErrorWhenCHNotAvailable>true</showErrorWhenCHNotAvailable>
</config>
Parameter |
Required |
Description and Value |
---|---|---|
|
(optional) |
|
|
(optional) |
|
|
(optional) |
|
|
(optional) |
|
|
(optional) |
|
|
(optional) |
|
|
(optional) |
In the first example, the security level for this user is applied to all users.
|
|
(optional) |
|
showErrorWhenCHNotAvailable
|
X |
|
userPrincipalNameProperty
|
(optional) |
Note: Security validation using SID is supported
|