Squiz Search custom roles in Squiz DXP
Within the Squiz DXP ecosystem, you can govern search administration using a granular, custom-role model. This Role-Based Access Control (RBAC) framework partitions access with precision. This system ensures that search administration aligns with specific internal business processes.
Why use custom roles?
In complex enterprise environments, a uniform permission structure often leads to over-privileged users. Custom roles provide high-fidelity governance where users only have access to the necessary resources and tools.
Common scenarios for custom roles include:
- Divergent environment needs
-
Aligning access based on the development lifecycle, for example, different permissions for "Development" versus "Production".
- Sub-setting resource access
-
Restricting users to a specific subset of resources, such as search packages or data sources relevant only to their department.
- Fine-tuning responsibility levels
-
Adjusting the scope of a common persona to have more or less responsibility than the default DXP mappings allow.
- Separation of concerns
-
Governing access by separating the permission sets (what a user can do) from the resources (which collections they can access). This ensures that the same resource permissions can be assigned to multiple users while maintaining individual functional access levels.
Activation framework and tenancy impact
Squiz Customer Success manages the activation of custom roles at the DXP tenancy level.
|
Upon activation, all roles except for the DXP Owner lose default access to Search. You must activate Custom Roles in your tenancy before you can configure them in the Search Administration Dashboard. As a result, users (except Owners) will lose access while you configure the new roles. To minimize disruption, we recommend the following workflow:
Additionally, existing users will not appear in the search administration dashboard until they log in for the first time after activation. Read the Troubleshooting and known issues section for a manual synchronization workaround. |
Access state comparison
| Feature | Custom roles: Not activated | Custom roles: Activated |
|---|---|---|
Governance basis |
Governed strictly by the assigned DXP role. |
Governed by manual assignment within Search. |
DXP Owner access |
Full access. |
Full access, including user and role management. |
Other DXP roles |
Map to default search roles. |
No access until assigned a default or custom role. |
Configuration and onboarding workflow
User management utilizes a two-step authorization flow. Identity is managed in the DXP Console, while specific search authorization is handled within Search.
Onboarding process
-
Invite the user through the DXP Administration tile in the DXP Console and assign a base DXP role.
-
Access the search Administration Dashboard and select the Manage Users tab.
-
Locate the user:
-
Search by email if the user has been invited but has not yet accepted.
-
Search by name once the user has accepted the invite and logged in.
-
-
Assign the relevant custom or default roles within the search profile of the user.
Creating a custom role
To create a custom role within the search Administration Dashboard:
-
Navigate to .
-
Click Create role.
-
Enter a unique role name.
-
Select the granular permissions required for this role.
Use the DXP role toggles, for example, "DXP Content Editor", to inherit base permissions from standard DXP roles.
-
Specify which resources, such as search packages and collections, this role can access.
-
Click Save.
Role architecture and best practices
To simplify permission management and ensure a flexible governance model, follow these architectural best practices.
Separate permissions and resources
Assign at least two roles to each user to separate functional permissions from resource access:
- Resource role
-
Defines the set of resources available, such as specific search packages, collections, and data sources.
- Permissions role
-
Defines the functional capabilities, such as access to analytics, reporting, or configuration tools.
Layering these roles allows you to assign the same resource access to an entire department while fine-tuning individual functional responsibilities.
Use system roles
Leverage built-in system roles to streamline configuration:
client~primary-
Include this role in your application token configuration to enable it to inherit core system access.
client~owner-resources-
Assign this role to a custom role to grant access to all collections within the tenancy. This removes the need to manually maintain a list of collections in a custom resources role. Assign the custom role to any users who require this level of access.
Technical considerations and guardrails
To ensure server stability and consistent behavior in the Squiz DXP environment, adhere to the following technical guardrails.
Additive permission model
Search utilizes an additive permission model. Once a permission is granted through any assigned role, it cannot be revoked by another role.
If you need to create a role that is similar to an existing one but with fewer permissions, you cannot inherit from the existing role. Instead, you must create a new role and manually select only the required permissions.
Range restrictions
Certain roles, such as the default dxp~developer role, include range restrictions on configuration keys to prevent performance degradation or security issues.
If you are creating a custom role to replace a default developer role, ensure you replicate any necessary range restrictions to maintain server stability.
Technical guardrails and multi-tenant safety
In the shared Squiz DXP cloud environment, certain permissions and configurations are restricted to ensure server stability, data privacy, and alignment with DXP Console management.
Prohibited permissions
The following permissions are unavailable for selection when creating or editing custom roles.
- Security risks (Groovy scripts)
-
Scripts can execute arbitrary code on the server and are prohibited:
-
sec.custom-gather -
sec.delete.collection.disable-hook -
sec.hook-script -
sec.workflow-config
-
- Data privacy and exposure
-
Permissions that could expose cross-tenant data or internal server diagnostics:
-
cp.diagnostics -
sec.administer.read
-
- DXP Console-managed
-
Functions handled exclusively by the DXP Console for centralized administration:
-
cp.change.passwd -
sec.accounts.create-users -
sec.accounts.delete-users
-
- Deprecated or replaced
-
Legacy permissions replaced by native DXP tools or modern protocols:
-
plugin.show.fm.rules(replaced by WebDAV) -
sec.sched.cron(replaced by Task Scheduler) -
sec.queue.priority -
sec.service.mediator
-
Restricted configurations
The following configuration keys cannot be modified within search packages or result pages.
- Multi-tenant performance
-
Settings that impact server-wide resources or shared services:
-
auto-completion.source.extra -
crawler.frontier_*(includinghosts,port,num_top_level_dirs,use_ip_mapping) -
crawler.max_individual_frontier_size -
crawler.robotAgent -
index.target -
push.auto-start -
push.run -
push.initial-mode -
push.replication.(includingmaster.hostname,master.push-api.port,ignore.) -
push.commit.index.parallel.* -
push.merge.index.parallel.* -
push.replication.ignore.* -
push.scheduler.*
-
- Server-wide administration
-
Legacy internal settings or those managed at the DXP infrastructure level:
-
crawler.classes.*(includingFrontier,Policy,URLStore,statistics) -
crawler_binaries -
query_processor -
scheduler.paused -
ui_cache_link
-
- Performance and caching
-
Settings with significant impact on server stability and response times:
-
crawler.cache.*(includingDNSCache,LRUCache,URLCache) -
ui_cache_disabled -
filter.document_fixer.timeout_ms -
trim.filter_timeout -
trim.threads -
trim.request_delay -
trim.max_size -
trim.store_class -
trim.web_server_work_path -
ui.modern.external_num_ranks_limit
-
User lifecycle management
The Search user account is linked to the DXP user account. Actions performed on a DXP user account directly impact their Search access and profile.
Disabling DXP users
When you disable an active DXP user, their Search user account is automatically deleted. This ensures that access remains synchronized with the DXP account status.
Re-enabling DXP users
When you re-enable a DXP user, a new Search user account is automatically created. The access level of the re-enabled user depends on their DXP primary role:
- DXP Owner
-
Access to search capabilities is automatically applied.
- Other DXP roles
-
The user will have no access to search capabilities until an administrator adds them to a custom or default role in Search.
Collection creation behavior
When custom roles are enabled, the system manages access to newly created collections automatically but requires manual follow-up for broader distribution.
- Automatic assignment
-
When a user creates a collection, it is automatically added to:
-
The personal profile of the creator.
-
The system-level
owner-resourcesrole.
-
- Manual distribution
-
To grant other users or roles access to the new collection, a DXP Owner or a user with role management permissions must manually add the collection to the relevant custom resource roles.
Recommended role configurations
Use these configurations to streamline administration and enhance security in complex environments.
Restrict collection creation
In organizations with strict governance requirements, restrict the ability to create collections to a specific group of technical administrators. This ensures that new resources are created according to internal standards and properly assigned to resource roles immediately.
Squiz staff role
For Squiz personnel or high-level technical administrators, create a dedicated "Squiz-staff" role that combines comprehensive management capabilities. Configure the role to include:
-
The standard
dxp~developerrole for technical tools. -
The
client~owner-resourcesrole for full collection access. -
Explicit permissions for user and role management.
Administrative UI behavior
Understand these UI behaviors to correctly interpret the search administration interface.
Troubleshooting and known issues
- Visibility of invited users
-
Users appear in the Manage Users list as soon as they are invited in the DXP Console. If they have not accepted the invite, they appear by their email address. Once they accept, their full name details (as set by the user) will appear.
- Visibility of pre-activation users
-
Users who existed before custom roles will not appear in the search list until they log in to Search for the first time.
To force them to appear immediately, a DXP Owner can open the user’s record in the DXP Console and click Save without editing anything.
- Owner demotion
-
If you demote a user from the DXP Owner role, they lose all search access immediately and must be manually assigned a role.