Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
711:user_groups_permissions_scim [2024/09/18 15:46] Nerlich, Axel711:user_groups_permissions_scim [2025/01/29 16:02] (current) – [Setting the Token secret] Nerlich, Axel
Line 1: Line 1:
 ====== SCIM provisioning ====== ====== SCIM provisioning ======
  
-SCIM, or System for Cross-domain Identity Management, is an open standard for the provisioning and deprovisioning of users and user groups to enterprise applications. It is able to significantly simplify the rollout of users and their permissions in Stages.+SCIM, or System for Cross-domain Identity Management, is an open standard for the provisioning and deprovisioning of users and user groups to enterprise applications. It is able to significantly simplify the rollout of users and their permission group assignments in Stages.
  
-Stages V7.11 implements the SCIM standard version 2.0, which is supported by most modern identity providers like Okta Lifecycle Management or Microsoft Entra ID. They provide the capability to configure the connection to the Stages application.+Stages V7.11 implements the SCIM standard version 2.0 (see https://scim.cloud), which is supported by most modern identity providers like Okta Lifecycle Management or Microsoft Entra ID. They provide the capability to configure the connection to the Stages application.
  
 Before connecting with Stages, an API token has to be created. This will then be used by the identity provider to authenticate against the Stages application. Before connecting with Stages, an API token has to be created. This will then be used by the identity provider to authenticate against the Stages application.
 +
  
 ===== Setting the Token secret ===== ===== Setting the Token secret =====
  
-Stages generates its API tokens on the basis of a unique secret that can only be set by the Stages administrator. This should be a random string value with at least 32 two characters. This value should be stored in the file conf/secret.properties like this:+Stages generates its API tokens on the basis of a unique secret that can only be set by the Stages administrator. This should be a random string value with at least 32 characters. This value should be stored in the file conf/secret.properties like this:
  
-''apitoken.secret = <value>''+<code -> 
 +apitoken.secret = <value> 
 +</code>
  
 In the conf/config.xml file the following configuration property needs to be declared: In the conf/config.xml file the following configuration property needs to be declared:
  
-''<property name="restapi.apitoken.secret" value="${apitoken.secret}"/>''+<code -> 
 +<property name="restapi.apitoken.secret" value="${apitoken.secret}"/> 
 +</code>
  
 After that, a service restart is necessary. After that, a service restart is necessary.
 +
  
 ===== Creating an API Token ===== ===== Creating an API Token =====
Line 25: Line 31:
 Each token is identified by a label that is defined upon generation. The resulting token values will not be stored at the server but the server is able to identify a valid token by its value. Tokens become invalid after explicitly being revoked by the Stages administrator or after their expiry date has been reached. Each token is identified by a label that is defined upon generation. The resulting token values will not be stored at the server but the server is able to identify a valid token by its value. Tokens become invalid after explicitly being revoked by the Stages administrator or after their expiry date has been reached.
  
-(image)+{{issue_apitoken.png}}
  
 Directly after creating the API Token, the token value can be copied from the Stages popup dialog and saved in a secure location. Once the dialog has been closed, it can not be retrieved anymore. Directly after creating the API Token, the token value can be copied from the Stages popup dialog and saved in a secure location. Once the dialog has been closed, it can not be retrieved anymore.
  
 Requests to the Stages REST endpoint must contain the value of a valid API token in the Authorization header in the following format: Bearer <token_value> Typically, the identity providers do this under the hood. All actions will be logged at the server in the scim.log and audit-json.log files with the respective API token label as a logging context identifier. Requests to the Stages REST endpoint must contain the value of a valid API token in the Authorization header in the following format: Bearer <token_value> Typically, the identity providers do this under the hood. All actions will be logged at the server in the scim.log and audit-json.log files with the respective API token label as a logging context identifier.
 +
  
 ===== Defining attribute mappings ===== ===== Defining attribute mappings =====
Line 67: Line 74:
 However, participants (defined under Administration > Process Release > Participants) are another powerful way to allocate permissions for specific workspace contexts to a specific set of users. However, participants (defined under Administration > Process Release > Participants) are another powerful way to allocate permissions for specific workspace contexts to a specific set of users.
  
-Participants are defined globally but user assignments are workspace-specific (under Management > Participants). Therefore every combination of participant and workspace can be seen as another user permission group. For such a combination, it is possible to declare it as user permission group with a custom name (see SCIM settings). When set to enabled for a participant and workspacethis is returned by the Stages SCIM API as user permission group with the given name and the prefix ''VG-<workspace-id>''.+Participants are defined globally but user assignments are workspace-specific (under Management > Participants). Therefore every combination of participant and workspace can be seen as another user permission group. Such combinations can be selectivly exposed as user groups via SCIM for managing user assignments. When SCIM exposure is enabled via the SCIM settings of workspace-specific participant a custom name needs to be setwhich will be visible by the SCIM client prefixed by ''VG-<workspace-id>''. 
 + 
 +{{scim_settings.png}}