Installation and administration guide
Access control

Security roles

Introduction

This guide provides information about access control for Sciamus Catalogue Driven Order Management system (SCDOM).

Roles

In order to perform action on a system, specific roles need to be granted for a user. Backend will validate OAuth2 token and extract roles from it. Presence of a single role allows performing actions.

Because there are 2 types of users (manual operators and automatic order capture), roles were divided in 2 groups:

User actions

role nameRO/RWdomaindescription (what does this role allow?)
audit_log_queryROaudit logsbrowse audit logs
order_queryROordersbrowse orders
cancel_orders_batchRWorderscancel multiple orders in a batch
fulfillment_errors_queryROfulfillmentsbrowse fulfilment errors
update_order_payloadRWordersupdate the payload of an order
update_service_order_payloadRWordersupdate the payload of an service order
update_order_future_dateRWordersupdate the order future date
resume_orderRWordersresume order processing
pause_orderRWorderspause order processing
error_actionRWerrorsperform actions on errors
product_catalogue_deployRWproduct cataloguedeploy product catalogue
product_catalogue_importRWproduct catalogueimport product catalogue
product_catalogue_versions_queryROproduct cataloguequery product catalogue versions
product_catalogue_queryROproduct catalogueexport product catalogue file
rerun_execution_plan_stepRWfulfillmentsrerun a step in the execution plan
force_finish_execution_plan_stepRWfulfillmentsforce finish a step in the execution plan
force_execution_step_into_errorRWfulfillmentsforce a step into error in the execution plan
user_queryROerrorsquery user list
assign_user_to_errorRWerrorsassign a user to an error
rule_queryROerrorsquery rules
rule_evaluateROerrorstest expresstion on error context
rule_manageRWerrorsmanage rules
dynamic_mapper_domains_queryROdynamic_mapperquery possible domains
dynamic_mapper_set_importRWdynamic_mapperimport set to specific domain
dynamic_mapper_set_exportROdynamic_mapperexport set from specific domain
dynamic_mapper_set_copyRWdynamic_mappercopy set inside domain
dynamic_mapper_set_deployRWdynamic_mapperdeploy set in domain
dynamic_mapper_parameters_queryROdynamic_mapperquery parameters from specific set from domain
dynamic_mapper_parameter_modifyRWdynamic_mappermodify parameters from specific set from domain
business_operations_queryRObusiness_operationsquery possible business operations
business_operations_executeRWbusiness_operationsexecute business operation

North system actions

role nameRO/RWdomaindescription (what does this role allow?)
orders_uploadRWordersupload orders
order_queryROordersquery orders
order_cancelRWorderscancel orders
order_alterRWordersalter orders

How to add roles

SCDOM integrates with Keycloak by default. There are several ways to add a role to a user. We can add a role directly to a user or we can add a user to a group from which they inherit the corresponding roles.

To add a role directly to a user, follow these steps:

  • Create a client from the realm level for the example we will call it bff. img.png

  • Then, from within the new client, give it the appropriate roles e.g. fulfillment_errors_query img.png

  • Now you can switch to the user view and go to the roles view img.png

  • From this level, you can assign the role you created earlier img.png

The situation is similar with groups. You just need to add the role to the group not directly to the user. You then need to assign the user to a particular group. img.png