2022 ImplGuide Security
2022 ImplGuide Security
Security
®2021 Dassault Systèmes. Apriso, 3DEXPERIENCE, the Compass logo and the 3DS logo, CATIA, SOLIDWORKS, ENOVIA, DELMIA, SIMULIA, GEOVIA, EXALEAD, 3D VIA, BIOVIA, NETVIBES, and 3DXCITE
are commercial trademarks or registered trademarks of Dassault Systèmes or its subsidiaries in the U.S. and/or other countries. All other trademarks are owned by their respective owners.
Use of any Dassault Systèmes or its subsidiaries trademarks is subject to their express written approval.
Security | DELMIA Apriso 2022 Implementation Guide 2
Contents
1 Overview 6
1.1 DELMIA Apriso Architecture 6
1.2 Common Security Threats 7
2 Web Server and Application Server 8
2.1 Securing Web Server 8
2.1.1 Securing IIS Server 8
2.1.2 Enabling HTTPS 8
2.1.3 Securing HTTP Cookies 20
2.1.4 Configuring SameSite Cookie 20
2.1.5 Configuring Cross-Origin Resource Sharing 21
2.1.6 Configuring Content Security Policy HTTP Response Headers 21
2.1.7 Configuring ReturnURL Parameter Allowlist 22
2.1.8 Displaying Exception Messages 22
2.2 Protecting Web Services and DELMIA Apriso Services 23
2.2.1 Security Overview of DELMIA Apriso Services 23
2.2.2 Securing DELMIA Apriso Services 24
2.3 Protecting Business Web Services 33
2.4 Disabling WSDL and MEX in DELMIA Apriso Services and Business Web Services 34
2.5 Protecting Configuration Files 36
2.5.1 Configuring the ConfigurationService.svc WCF Service 36
2.6 Setting Up Database Security 39
2.6.1 Database Users 39
2.6.2 Database Behind Firewall 40
2.7 Disabling IIS Request Validation 40
3 Password and Login Policy 41
3.1 Overview 41
3.2 Configuration 41
3.3 Configuring Password Encryption Strength 41
3.3.1 Overview 41
3.3.2 Configuration 42
3.4 Configuring Session Timeout 42
3.4.1 Overview 42
3.4.2 Configuration 42
4 User Authentication 44
4.1 Overview 44
4.2 User Authentication Modes 44
4.2.1 Rules of Authentication 46
4.2.2 Standard Authentication 47
4.2.3 LDAP Integrated Authentication 48
4.2.4 Windows Integrated Authentication 52
Security | DELMIA Apriso 2022 Implementation Guide 3
Figures
Figure 1 DELMIA Apriso architecture 6
Figure 2 Web Site Bindings screen 9
Figure 3 Add Site Bindings window 9
Figure 4 Configuring Site Bindings 9
Figure 5 Web Site SSL Settings 10
Figure 6 SSL Settings 10
Figure 7 Adding Registry Keys for Individual Security Protocols 11
Figure 8 Adding Client and Server Registry Keys for Security Protocols 12
Figure 9 Registry Keys for a Disabled Security Protocol 12
Figure 10 Adding Registry Key for TLS 1.2 Security Protocol 13
Figure 11 Adding Client and Server Registry Keys for TLS 1.2 Protocol 13
Figure 12 Registry Keys Enabling the TLS 1.2 Security Protocol 13
Figure 13 SSL Configuration Settings in Local Group Policy Editor 15
Figure 14 Enabling Custom SSL Cipher Suites 16
Figure 15 Default IIS settings 48
Figure 16 Configuring the LDAP account in Employee properties 51
Figure 17 Portal folder configuration 53
Figure 18 Kiosk folder configuration 53
Figure 19 Assignment of Roles to the user based on AD Group membership 68
Figure 20 Adding new groups and users 69
Figure 21 Adding a new group 70
Figure 22 Adding a new user 70
Figure 23 Assigning users to groups 71
Figure 24 Choosing a Role 71
Figure 25 Assigning an Active Directory Group to a DELMIA Apriso Role 72
Figure 26 Full Active Directory integration diagram 72
Figure 27 Access Control logic 75
Figure 28 DELMIA Apriso Server - Trusted Root Certification Authorities catalog 83
Figure 29 DELMIA Apriso Server - Intermediate Certification Authorities catalog 83
Figure 30 DELMIA Apriso Server - Personal catalog 84
Figure 31 DELMIA Apriso Client - Personal catalog 85
Figure 32 DELMIA Apriso Machine Integrator Connector - Personal catalog 86
Figure 33 Security Log screens 92
Figure 34 Access Control List data model 101
Figure 35 ACL Generator – building a list of Capabilities 102
Figure 36 ACL Generator – analyzing FlexParts 102
Figure 37 ACL Generator – analyzing FlexParts (continued) 103
Figure 38 ACL Generator – matching Capabilities with FlexParts 103
Figure 39 Adding Capabilities to a Role 104
Figure 40 Capabilities assigned to the Role 105
Security | DELMIA Apriso 2022 Implementation Guide 5
Security | DELMIA Apriso 2022 Implementation Guide 6
1 Overview
This document gives an overview of DELMIA Apriso Security, providing the background
information needed in order to effectively secure all instances of DELMIA Apriso. The contents
include a graphical representation of the DELMIA Apriso architecture, an explanation of the
most common security threats, details on DELMIA Apriso configuration for ensuring protection
against such threats, and additional guidelines and recommendations.
Prerequisites
Configure IIS
1. In IIS Manager, expand the local computer.
2. Click the website that you want to protect with SSL (or the website that contains the
application or file that you want to protect), and click Bindings in the Actions menu.
Security | DELMIA Apriso 2022 Implementation Guide 9
4. On the Add Site Bindings window, select https as the Type and select your certificate
from the SSL certificate list.
If port 443 is not set after choosing https, the prerequisites were not installed
correctly.
5. Go to SSL Settings for your website, and select the Require SSL check box.
Using FIPS mode is not recommended as it is not compatible with DELMIA Apriso
encryption functions.
1. Disable the support for SSL 2.0 and SSL 3.0 protocols. Those protocols are vulnerable to
attacks.
2. Disable the support for legacy protocols TLS 1.0, and TLS 1.1, to ensure that the most
secure protocol is used.
For more information, refer to:
Microsoft Docs article about Security Advisory.
Microsoft Docs article describing how to disable PCT 1.0, SSL 2.0, SSL 3.0, or TLS 1.0 in
Internet Information Services.
Disable SSL 2.0, SSL 3.0, TLS 1.0, and TLS 1.1
SSL 3.0, SSL 2.0, TLS 1.0, and TLS 1.1 protocols must be disabled on the DELMIA
AprisoServer machine.
To disable SSL 3.0, SSL 2.0, TLS 1.0, and TLS 1.1 protocols:
1. Open Registry Editor and locate the registry key/folder: HKey_Local_
Machine\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\
2. Add keys with names of the protocols that must be disabled using New > Key option from
the Edit menu.
3. For each of the protocols add “Client” and “Server” keys using New > Key option from the
Edit menu.
Security | DELMIA Apriso 2022 Implementation Guide 12
Figure 8 Adding Client and Server Registry Keys for Security Protocols
4. For each of the “Client” and “Server” keys, add the DWORD values using New > DWORD
(32bit) Value option from the Edit menu:
Enabled - (Value data set to 0x00000000 (0))
DisabledByDefault - (Value data set to 0x00000001 (1))
To apply the changes in registry, the server must be restarted. Restart it once all
configuration steps are completed.
TLS 1.2 must be enabled on both DELMIA Apriso Server machine and on every client
machine running Windows operating system.
To enable the TLS 1.2 protocol:
1. Open Registry Editor and locate the registry key/folder: HKey_Local_
Machine\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\
2. Add “TLS 1.2” key using New > Key option from the Edit menu.
3. Add “Client” and “Server” keys inside the “TLS 1.2” key using New > Key option from the Edit
menu.
Figure 11 Adding Client and Server Registry Keys for TLS 1.2 Protocol
4. For both “Client” and “Server” keys, add the DWORD values using New > DWORD (32bit)
Value option from the Edit menu:
Enabled - (Value data set to 0x00000001 (1))
DisabledByDefault - (Value data set to 0x00000000 (0))
When using TLS 1.2, make the following changes in the system registry on DELMIA Apriso
Server machine and on every client machine running Windows operating system:
1. Open Registry Editor and locate the registry keys/folders:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319
Depending on the version of Windows operating system used, not all of the keys
may be present.
2. For both keys, add the DWORD value using New > DWORD (32bit) Value option from the
Edit menu:
SchUseStrongCrypto - (Value data set to 0x00000001 (1))
The server must be restarted to apply the changes. Restart it once all configuration
steps are completed.
Using AEAD cipher suites is recommended, as they provide strong authentication and
key exchange, forward secrecy, and encryption of at least 128 bits.
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,
TLS_DHE_RSA_WITH_AES_128_CBC_SHA,
TLS_RSA_WITH_AES_256_GCM_SHA384,
TLS_RSA_WITH_AES_128_GCM_SHA256,
TLS_RSA_WITH_AES_256_CBC_SHA256,
TLS_RSA_WITH_AES_128_CBC_SHA256,
TLS_RSA_WITH_AES_256_CBC_SHA,
TLS_RSA_WITH_AES_128_CBC_SHA,
TLS_RSA_WITH_3DES_EDE_CBC_SHA,
TLS_DHE_DSS_WITH_AES_256_CBC_SHA256,
TLS_DHE_DSS_WITH_AES_128_CBC_SHA256,
TLS_DHE_DSS_WITH_AES_256_CBC_SHA,
TLS_DHE_DSS_WITH_AES_128_CBC_SHA,
TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
For more information on cipher suites, refer to Microsoft Docs article describing Cipher Suites
in TLS/SSL (Schannel SSP).
1. Replace the server name in the AppAddress, WebAddress, and Machine variables with full
domain server address.
2. Replace http with https in the Scheme variable.
3. Replace http with https in the WebRootURL variable.
4. Execute RunConfigUpdater.bat located in <drive>\Program Files\Dassault Systemes\DELMIA
Apriso 2022\Setup\Tools.
<wsHttpBinding>
<binding name="FlexNetConfiguration">
<readerQuotas maxStringContentLength="0" />
<security mode="Transport">
<transport clientCredentialType="None" />
<message clientCredentialType="None" algorithmSuite="Default" />
</security>
</binding>
</wsHttpBinding>
Comment the lines for HTTPS with the disabled Windows Authentication and for
HTTP.
<!--endpoint behaviorConfiguration="FlexNetEndPointBehaviorConfiguration"
binding="webHttpBinding" bindingConfiguration="StsBindingConf_WI"
contract="FlexNet.Portal.WebUI.Portal.Sts.ITokenController"></endpoint-->
Comment the lines for HTTPS with the enabled Windows Authentication and for
HTTP.
<!-- HTTP, Integrated Windows Authentication = disabled -->
<!--endpoint behaviorConfiguration="FlexNetEndPointBehaviorConfiguration"
binding="webHttpBinding" bindingConfiguration="StsBindingConf"
contract="FlexNet.Portal.WebUI.Portal.Sts.ITokenController"></endpoint-->
Trusted Sites
Add https://server.domain.com/* (replace the text in red with your server and domain names) to
the trusted sites in the Internet Options on the Security tab.
2. The requireSSLflag must be set to true in the <authentication mode="Forms"> element in the
<system.web> section of the same web.config file.
Example configuration:
For more information on securing HTTP cookies, refer to Microsoft Docs articles related to
httpCookies Element.
<authentication mode="Forms">
<forms loginUrl="http://<server_name>/Apriso/Portal/Kiosk/DefaultLogin.aspx"
cookieless="UseCookies" timeout="60" path="/" cookieSameSite="None" />
</authentication>
4. Set the value of SameSite to "None" for all other DELMIA Apriso cookies.
a. Add <httpCookies sameSite="None" /> if it does not exist.
b. Add sameSite="None" attribute to the existing <httpCookies/> element.
If you are using DELMIA Apriso in the HTTP mode, change the browser settings:
Security | DELMIA Apriso 2022 Implementation Guide 21
Using DELMIA Apriso in the HTTP mode is not recommended. The default and
recommended configuration uses the HTTPS mode with secure cookies.
For more information on Cross-Origin Resource Sharing, refer to the W3C Recommendation.
In a default DELMIA Apriso installation, the Content Security Policy settings specify the
domain used by DELMIA Apriso and 3ds.com as valid parents that may embed a page using
the <frame> and <iframe> elements:
<customHeaders>
<add name="Content-Security-Policy"
value="frame-ancestors 'self' *.3ds.com:*" />
<add name="X-Content-Security-Policy"
value="frame-ancestors 'self' *.3ds.com:*" />
</customHeaders>
A schema is required if DELMIA Apriso is configured in the HTTPS mode and is embedded in
a parent that is loaded from HTTP URL. For example:
For more information on available Content Security Policy directives, refer to Content Security
Policy (CSP) Quick Reference Guide
Security | DELMIA Apriso 2022 Implementation Guide 22
URL prefix with wildcard – partial URL with wildcard at the end, all URLs sharing the
same prefix are allowed. Only a single wildcard may be used in one prefix entry.
<add key="PortalReturnUrlAllowList" value="3ds.com/support/*" />
Do not include the schema (http://) in the values. Separate multiple values with a semicolon.
Example configuration:
<appSettings>
[…]
<add key="PortalReturnUrlAllowList" value="3ds.com/;3ds.com/support/*;SAMEORIGIN" />
</appSettings>
The configuration examples use the wsHttpBinding binding and HttpsSecurity binding
configuration.
<FlexNet.ServicesLocations>
<add key="StateService"
value="REMOTING:https://${AppAddress}:32606/stateservice" />
<add key="FrameworkServices"
value="REMOTING:https://${AppAddress}:32601/frameworkservice" />
<add key="ProcessDesignerServices"
value="REMOTING:https://${AppAddress}:32603/pb20service" />
<add key="ProcessBuilderServices"
value="REMOTING:https://${AppAddress}:32603/pb20service" />
<add key="MaintenanceServices"
value="REMOTING:https://${AppAddress}:32602/maintenanceservice" />
<add key="SequenceProviderServices"
value="REMOTING:https://${AppAddress}:32601/frameworkservice" />
<add key="SchedulingServices"
value="REMOTING:https://${AppAddress}:32607/JobSchedulerService" />
<add key="JobSchedulerService"
value="REMOTING:https://${AppAddress}:32607/JobSchedulerService" />
<add key="JobExecutorServices"
value="REMOTING:https://${AppAddress}:32612/jobexecutorservice" />
<add key="GlobalProcessManagerServices"
value="REMOTING:https://${AppAddress}:32709/gpmservice" />
<add key="TidUpdateManagerServices"
value="REMOTING:https://${AppAddress}:32601/frameworkservice" />
<add key="MachineIntegratorService"
value="REMOTING:https://${AppAddress}:32502/ConnectorRemoting" />
</FlexNet.ServicesLocations>
2. Edit the endpoint settings for all DELMIA Apriso Services listed in the <client> section of
the WcfClientConfiguration.xml client-side configuration file:
address – change “net.tcp” to “https” and provide full domain address of the DELMIA
Apriso server
binding – change “netTcpBinding” to “wsHttpBinding”
bindingConfiguration – change “TcpNoSecurity” to “HttpsSecurity”
<client>
[…]
<endpoint
address="https://SERVERNAME.DOMAIN.com:32603/pb20service"
binding="wsHttpBinding"
bindingConfiguration="HttpsSecurity"
name="ProcessBuilderServices"
contract="FlexNet.SystemServices.Services.IServiceFactory">
<identity>
<dns value="DELMIA Apriso Services" />
</identity>
</endpoint>
[…]
</client>
3. Edit the endpoint settings in the server-side configuration files for DELMIA Apriso Services:
address – change “net.tcp” to “https” and provide full domain address of the DELMIA
Apriso server
binding – change “netTcpBinding” to “wsHttpBinding”
bindingConfiguration – change “TcpNoSecurity” to “HttpsSecurity”
The server-side configuration files for DELMIA Apriso Services are located in the following
directories:
<drive>\Program Files\Dassault Systemes\DELMIA Apriso 2022\Services\[ServiceName]
The table lists the names of the configuration files and relevant sections in these
configuration files, which contain the endpoint settings for the given service:
State Services
Security | DELMIA Apriso 2022 Implementation Guide 27
<services>
<service
[…]
<endpoint
address="https://SERVERNAME.DOMAIN.com:32610/pb20service"
binding="wsHttpBinding"
bindingConfiguration="HttpsSecurity"
name="FlexNetEndpoint"
contract="FlexNet.SystemServices.Services.IServiceFacto
ry"
/>
</service>
</services>
<service>
[…]
<endpoint
address="https://SERVERNAME.DOMAIN.com:32709/gpmservice"
binding="wsHttpBinding"
bindingConfiguration="HttpsSecurityGPM"
name="FlexNetEndpoint"
contract="FlexNet.SystemServices.Services.IServiceFactor
y"
/>
</service>
4. Bind the SSL certificate of the DELMIA Apriso Server to the ports used by DELMIA Apriso
Services:
32601, 32602, 32603, 32606, 32607, 32612, 32709
where:
ipport parameter value is port used by the service (IP address should be 0.0.0.0).
certhash parameter value is the hash of the DELMIA Apriso server certificate.
appid parameter value is the GUID generated by the user that identifies the service.
For more information, refer to Microsoft Docs article about configuring a port with an SSL
certificate.
Additional configuration steps necessary when configuring x509 certificates for DELMIA
Apriso Services are described in 5.2.3 Using x509 Certificates to Validate Client Applications
and Services.
When securing DELMIA Apriso Services in a cluster environment, use certificates with
defined Subject Alternative Name (SAN) entries for virtual web cluster name, virtual
application cluster name, as well as names of all cluster nodes. All cluster nodes must
be in the same domain.
For examples of secure configurations of DELMIA Apriso services, see 9.1 Appendix
A: DELMIA Apriso Services - Example Secure Configurations.
Whenever the security settings of DELMIA Apriso Services are changed, delete the
WcfClientConfiguration.xml temporary file from <drive>\Temp\AprisoTemp\<server_name>\ on
the DELMIA Apriso server and restart DELMIA Apriso Services.
The configuration examples below use, the wsHttpBinding binding and HttpsSecurity
binding configuration.
Security | DELMIA Apriso 2022 Implementation Guide 29
When configuring an actual DELMIA Apriso deployment, the parameter values have to
correspond to the settings defined for other DELMIA Apriso Service.
2. In the same file, change net.tcp to https in the value of the MachineIntegratorService key in
the <FlexNet.ServicesLocations> section
<FlexNet.ServicesLocations>
<add key="MachineIntegratorService "
value="REMOTING:https://${AppAddress}:32502/ConnectorRemoting" />
</FlexNet.ServicesLocations>
3. If you are connecting using SSL, change net.tcp to https in the value of the
ExtendedRemotingAppenderServicePattern key in the FlexNet.MachineIntegrator section:
<FlexNet.MachineIntegrator>
<add key="ExtendedRemotingAppenderServicePattern"
value="https://localhost:32502/ConnectorRemoting" />
</FlexNet.MachineIntegrator>
<system.serviceModel>
[…]
<endpoint
address=https://SERVERNAME.DOMAIN.com:32502/ConnectorRemoting
binding="wsHttpBinding" bindingConfiguration="HttpsSecurity"
name="MachineIntegratorService"
contract="FlexNet.SystemServices.Services.IServiceFactory">
<identity>
<dns value="DELMIA Apriso Services" />
</identity>
</endpoint>
</client>
</system.serviceModel>
5. In the WCFServices.config file located on the DELMIA Apriso Server in the <drive>\Program
Files\Dassault Systemes\DELMIA Apriso 2022\Services\Machine Integrator Service folder, edit
Security | DELMIA Apriso 2022 Implementation Guide 30
<appSettings>
<add key="CentralConfigurationFile"
value="
https://SERVERNAME.DOMAIN.com/Apriso/CentralConfiguration/CentralConfiguration.xml" />
<add key="ClientSettingsProvider.ServiceUri" value="" />
</appSettings>
7. Bind an SSL certificate of the DELMIA Apriso Server to the Machine Integrator service ports
(32500, 32502).
The certificate can be bound to a service port with the command:
where:
ipport parameter value is port used by the service (IP address should be 0.0.0.0)
certhash parameter value is the hash of the server certificate
Security | DELMIA Apriso 2022 Implementation Guide 31
appid parameter value is the GUID generated by the user that will identify the Machine
Integrator service.
For more information, refer to Microsoft Docs article about configuring a port with an SSL
certificate.
Whenever the security settings of DELMIA Apriso Machine Integrator are changed, it is
necessary to delete the WcfClientConfiguration.xmltemporary file from the following
location on the DELMIA Apriso server: <drive>\Temp\AprisoTemp\<server_name>\ and
restart DELMIA Apriso Services.
<FlexNet.ServicesLocations>
<add key="MachineIntegratorService"
value="REMOTING:https://${AppAddress}:32502/ConnectorRemoting" />
</FlexNet.ServicesLocations>
2. If you are connecting using SSL, change net.tcp to https in the value of the
ExtendedRemotingAppenderServicePattern key in the FlexNet.MachineIntegrator section:
<FlexNet.MachineIntegrator>
<add key="ExtendedRemotingAppenderServicePattern"
value="https://localhost:32502/ConnectorRemoting" />
</FlexNet.MachineIntegrator>
<system.serviceModel>
[…]
<endpoint
address=https://SERVERNAME.DOMAIN.com:32502/ConnectorRemoting
binding="wsHttpBinding" bindingConfiguration="HttpsSecurity"
name="MachineIntegratorService"
contract="FlexNet.SystemServices.Services.IServiceFactory">
<identity>
<dns value="DELMIA Apriso Services" />
</identity>
</endpoint>
</client>
</system.serviceModel>
4. In the WCFServices.config file located on the machine hosting DELMIA Apriso Machine
Integrator Connector in the <drive>\Program Files (x86)\Dassault Systemes\DELMIA Apriso 2022
Client\Machine Integrator Connector folder, edit the address, binding, and binding
configuration parameters for the ConnectorRemoting endpoint key.
<service
behaviorConfiguration="default"
name="FlexNet.SystemServices.Services.ServiceFactoryImpl">
<clear />
<endpoint
address=http://localhost:32503/ConnectorRemoting/mex
binding="mexHttpBinding"
contract="IMetadataExchange" />
<endpoint
address=https://MI_CONNECTOR_HOST_NAME.DOMAIN:32502/ConnectorRemoting
binding="wsHttpBinding"
bindingConfiguration="HttpsSecurity"
name="FlexNetEndpoint"
contract="FlexNet.SystemServices.Services.IServiceFactory" />
</service>
Please note that the address value must contain the full domain address of the
machine hosting DELMIA Apriso Machine Integrator Connector.
<appSettings>
<add key="CentralConfigurationFile"
value="
https://SERVERNAME.DOMAIN.com/Apriso/CentralConfiguration/CentralConfiguration.xml" />
<add key="ClientSettingsProvider.ServiceUri" value="" />
Security | DELMIA Apriso 2022 Implementation Guide 33
</appSettings>
6. Bind an SSL certificate of the machine hosting DELMIA Apriso Machine Integrator
Connector to the Machine Integrator service ports (32500, 32502).
The certificate can be bound to a service port by executing the command:
where:
ipport parameter value is port used by the service (IP address should be 0.0.0.0).
certhash parameter value is the hash of the certificate of the machine hosting DELMIA
Apriso Machine Integrator Connector
appid parameter value is the GUID generated by the user that identifies the Machine
Integrator service.
For more information, refer to refer to Microsoft Docs article about configuring a port with an
SSL certificate.
Whenever the security settings of DELMIA Apriso Machine Integrator are changed,
delete the WcfClientConfiguration.xml temporary file from the following locations on the
machine hosting the DELMIA Apriso Machine Integrator Connector:
%USERPROFILE%\AppData\Local\Temp\<ServerName> and
%USERPROFILE%\AppData\Local\Temp\<Name of the Machine Hosting MI>, restart DELMIA
Apriso Services on the DELMIA Apriso Server, and restart Machine Integrator Service
on the machine hosting the DELMIA Apriso Machine Integrator Connector.
<security mode="Transport">
<transport clientCredentialType="None" />
</security>
The value must also be added to the bindings, in case the <security> key is not present
in the binding configuration.
<webServices>
<protocols>
<remove name="Documentation"/>
</protocols>
</webServices>
If the serviceMetadata and serviceDebug elements are not present in the Web.config
files, the default "false" value is applied to httpGetEnabled , httpsGetEnabled, and
includeExceptionDetailInFaults settings.
Changing any of the above settings for services that are used by your DELMIA Apriso
deployment may prevent the services from working correctly.
The access to the files via HTTP/HTTPS can be disabled in the web.config file in the
CentralConfiguration directory, by uncommenting the relevant values in the <hiddenSegments>
section.
For more information, refer to Microsoft Docs article related to hidden segments.
Request filtering in IIS must be enabled for this feature to work.
Once the direct access to configuration files via HTTP/HTTPS is turned off, enable the access
to those configuration files via the ConfigurationService.svc WCF service.
<!--The link to the Remoted Components file on the server. Should be readable by and
accessible to DELMIA Apriso M&M screens.-->
<add key="RemotedComponentConfiguration"
value="${WebRootURL}/CentralConfiguration/
ConfigurationService.svc?file=RemotedComponents.xml" />
<!--The link to the WCF Configuration file. Should be readable by and accessible to DELMIA
Apriso M&M screens.-->
<add key="WcfClientConfiguration"
value="${WebRootURL}/CentralConfiguration/
ConfigurationService.svc?file=WcfClientConfiguration.xml" />
<add key="ConfigurationLocation"
value="${WebRootURL}/CentralConfiguration/
ConfigurationService.svc?file=LoggingConfiguration.xml" />
<!-- Path to the file with the list of client applications and services that can utilize
server-side logic (e.g. FlexNet Maintenance Services). -->
<add key="ClientApplicationsConfiguration"
value="${WebRootURL}/CentralConfiguration/
ConfigurationService.svc?file=ClientApplications.xml" />
<!-- This key has been added at 2/8/2018 1:26 AM in Service Pack $[HotFixVersion].
Determines the location of Web Service Providers configuration file." -->
<add key="WebServiceProvidersConfiguration"
value="${WebRootURL}/CentralConfiguration/
ConfigurationService.svc?file=WebServiceProviders.xml" />
<!--These settings are for the configuration of the Component Factory framework.-->
<!--The default location of the logging configuration file.-->
<add key=" ComponentFactoryConfiguration "
value="${WebRootURL}/CentralConfiguration/ConfigurationService.svc?file=
ComponentFactoryConfiguration.xml"/>
When using Machine Integrator, update the CentralConfigurationFile key in the appSettings
section, and the ConfigurationLocation key in the FlexNet.SystemServices.LoggingConfig section of
the MachineIntegrator.exe.config file for each Machine Integrator instance:
Security | DELMIA Apriso 2022 Implementation Guide 38
<appSettings>
<add key="CentralConfigurationFile"
value="http://
<server name>
/Apriso/CentralConfiguration/ConfigurationService.svc?file=CentralConfiguration.xml" />
[…]
</appSettings>
<FlexNet.SystemServices.LoggingConfig>
<add key="ConfigurationLocation"
value="${WebRootURL}/CentralConfiguration/
ConfigurationService.svc?file=LoggingConfiguration.xml"/>
</FlexNet.SystemServices.LoggingConfig>
<services>
<service behaviorConfiguration="DefaultBehavior"
name"FlexNet.SystemServices.Configuration.ConfigurationService">
<endpoint binding="wsHttpBinding" bindingConfiguration="HttpsSecurity"
contract="FlexNet.SystemServices.Configuration.Common.IConfigurationService" //
</service>
</services>
Additional Settings
Configuration service can be configured to use both HTTPS and HTTP endpoints.
Example
<services>
<service behaviorConfiguration="DefaultBehavior"
name="FlexNet.SystemServices.Configuration.ConfigurationService">
<endpoint binding="wsHttpBinding" bindingConfiguration="HttpSecurity"
contract="FlexNet.SystemServices.Configuration.Common.IConfigurationService" />
<endpoint binding="wsHttpBinding" bindingConfiguration="HttpsSecurity"
contract="FlexNet.SystemServices.Configuration.Common.IConfigurationService" />
</service>
</services>
Security | DELMIA Apriso 2022 Implementation Guide 39
Configuration Service can be configured to not use Security Context Token (SCT):
1. Open the CentralConfiguration.xml found in <drive>\Program Files\Dassault Systemes\DELMIA
Apriso 2022\Website\CentralConfiguration
2. Set the value of EstablishSecurityContext to false.
3. Open the web.config file found in <drive>\Program Files\Dassault Systemes\DELMIA Apriso
2022\Website\CentralConfiguration.
4. Edit the proper bindingConfiguration and set the value of establishSecurityContext to false.
Example
Best Practice
If the service is on the same server as the DELMIA Apriso server, using the full path to the
configuration files on the hard drive is recommended. To avoid an unnecessary round trip for
the configuration file via IIS (HTTP protocol), override the settings in the application's
configuration file instead of using the ones from the centralconfiguration.xml file.
Administrator
FlxAdmin (SQL)/flxuser (Oracle) – a user with administrator rights who can manipulate the
database. FlxAdmin/flxuser is used by the following components:
DELMIA Apriso Archiving
DELMIA Apriso Database Upgrader
DELMIA Apriso Global Process Manager
Security | DELMIA Apriso 2022 Implementation Guide 40
Reader
FlxReader (SQL)/APP_READER_flxuser (Oracle) – a user who can only read data from the
database.
FlxReader is used by Monitoring and Maintenance grids.
Writer
FlxWriter (SQL)/APP_WRITER_flxuser (Oracle) – a user who can read data from and write
data to the database but cannot manipulate the schema of the database (alter, drop, etc.).
FlxWriter is used by the rest of DELMIA Apriso (Machine Integrator, Job Executor/Job
Scheduler, Process Builder, Function Interpreter, and Monitoring and Maintenance screens
except grids, etc.).
3.2 Configuration
The system-wide security settings for the DELMIA Apriso Portal are configured using the keys
located in the “SystemServices.Security” section of the Central Configuration:
AllowMultipleLogin
AccountLockoutThreshold
AccountLockoutResetDuration
AccountLockoutDuration
CodeAccountLockoutThreshold
PasswordExpirationNotification
MaximumPasswordAge
PasswordHistory
MinimumPasswordAge
MinimumPasswordLength
PasswordComplexityRule
PasswordCanIncludeUserData
LoginWithEmployeeNo
AllowRememberPassword
For detailed information on each key, refer to the Central Configuration Documentation.
Changing a password is allowed only when an employee is authenticated using a DELMIA
Apriso login/password. In other cases, DELMIA Apriso does not support the password
changing features.
algorithm encrypts the provided password on-the-fly and compares it with the one stored in the
database.
Depending on the hardware configuration, the computational complexity of the password
hashing process may present a significant load on the system resources. In effect, the login
procedure may take longer than expected.
The number of passes used by the password hashing algorithm can be adjusted for the best
compromise between performance and security.
3.3.2 Configuration
To configure the number of passes used by the password hashing algorithm:
1. Add the DatabaseEncryptedPasswordStrength key in the FlexNet.SystemServices.Security section
of the Central Configuration.xml.
<FlexNet.SystemServices.Security>
[...]
<add key="DatabaseEncryptedPasswordStrength" value="10" />
[...]
</FlexNet.SystemServices.Security>
The value parameter corresponds to the number of passes to be used. The default value is 10
and the accepted range is 4-31.
3.4.2 Configuration
The session timeout key is located in the FlexNet.SystemServices.Security section of the
CentralConfiguration.xml.
Security | DELMIA Apriso 2022 Implementation Guide 43
<FlexNet.SystemServices.Security>
<add key="PortalSessionTimeout" value="60" />
<add key="ProcessBuilderSessionTimeout" value="480" />
<add key="UserSessionCacheItemExpirationSpan" value="10" />
[...]
</FlexNet.SystemServices.Security>
4 User Authentication
4.1 Overview
The DELMIA Apriso Portal is protected from unauthorized access with one, application-wide
security mechanism. This mechanism enables authenticating legitimate users basing on
several possible identity storage policies.
Authentication Description
Type
Standard Authenticates employees using a login and password combination stored in
the DELMIA Apriso system. This is the default authentication method.
Swipe Authenticates employees using only their employee number (without the
need to provide a password). This can be used on hardware security devices
(like access card readers) that scan the user’s identity.
LDAP Authenticates employees using Lightweight Directory Access Protocol. The
login and password are stored in an external LDAP directory.
Windows Authenticates employees using their Windows Active Directory Domain
accounts. Users that are logged into a Windows Domain do not need to
provide a login or password, as they are automatically retrieved from the
system.
Custom Allows for employee authentication based on any custom scenario. This may
include utilizing other authentication engines or retrieving user contexts from
other systems (like company Portals). This feature requires the custom coding
of components that are responsible for user context retrieval or validation.
The DELMIA Apriso authentication configuration is done through the proper adjustment of
settings stored in the DELMIA Apriso Central Configuration file, which is by default located in:
<drive>\Program Files\Dassault Systemes\DELMIA Apriso
2022\Website\CentralConfiguration\CentralConfiguration.xml.
Swipe
Query String
3DPassport
Custom
Security | DELMIA Apriso 2022 Implementation Guide 46
LDAP authentication on tablets and smartphones is possible only with the use of the
dedicated DELMIA Apriso Mobile App. For details, refer to the Mobile Apps
Implementation Guide.
Windows and forms authentication modes cannot be used simultaneously due to IIS
limitations.
Windows authentication works only in combination with standard authorization. To use it, the
following conditions must be met:
The user logs in to the domain account that has access to the IIS folder to open the
standard login page.
If the browser does not support SSO, valid credentials must be provided in the pop-up
window that allows to access the standard login page.
Windows authentication may not work with mobile devices, or may require a double
entry of credentials.
Security | DELMIA Apriso 2022 Implementation Guide 47
Mobile clients (e.g., DELMIA Apriso for iOS) support only one authorization mode at a
time.
Configuration
To enable authentication based on DELMIA Apriso accounts, set the
StandardAuthenticationMode key to “Standard” in the FlexNet.SystemServices.Security section of
the CentralConfiguration.xml.
The standard and LDAP authentication modes are mutually exclusive. All other modes
are independent (can coexist with one another).
Prerequisites
A customer’s infrastructure must run a server with directory service accessible through the
LDAP protocol. Additionally, employees need to have their LDAP usernames mapped in the
DELMIA Apriso database (as described in Mapping LDAP Usernames).
Security | DELMIA Apriso 2022 Implementation Guide 49
Configuration
To enable LDAP authentication:
1. Modify entries in the FlexNet.SystemServices.Security section of the CentralConfiguration.xml
file.
2. Set StandardAuthenticationMode to "LDAP".
3. Provide path to the LDAP server that contains the directory of the users (by name or IP
adress). For example:
LDAP://ldapServer1
LDAP://192.168.0.255:389
4. Append the path to the LDAP server that contains the directory of the users with the port
number configured for SSL on the LDAP server to enable LDAP connection over SSL. The
default port vallue is 636. For example:
LDAP://ldapServer1:636
LDAP://192.168.0.255:636
5. Edit the LDAPDomain entry by adding the {username} macro where the actual user-entered
login name is to be inserted by the system.
This setting defines the LDAP query that will be executed to validate the login and
password provided by the user. The content of the query depends on the LDAP server type
and configuration and should be provided by the local LDAP Server Administrator. For
example:
DOMAIN\{username}
cn={username},o=OrganizationName
6. Set the authentication request type executed by DELMIA Apriso in
LDAPAuthenticationType entry. Possible values:
Secure (for Windows servers)
SecureSocketsLayer (for Novell servers)
Setting Description
LDAPApplicationUser The name of a generic user with the proper rights to access an
LDAP server in order to compare the user attempting login with
the users stored by LDAP.
LDAPApplicationPassword The password for the LDAPApplicationUser.
LDAPUserQuery The LDAP attribute used to match the user. For example: mail,
employeeID.
LDAPAuthorizationFilter Enables specifying a user group as additional authorization. To
do this, specify the group details:
cn=FlexNetUsers,ou=groups,ou=system
Security | DELMIA Apriso 2022 Implementation Guide 50
Custom Configuration
For using an authorization filter other than memberOf, use a different attribute supported by your
LDAP in addition to LDAPUserQuery, and the standard query will be overridden. For example:
(&(objectClass=user)(sAMAccountName={userName})(employeeType=FlexNetUser)
Security | DELMIA Apriso 2022 Implementation Guide 51
From now on, DELMIA Apriso will be able to authenticate the LDAP user as long as the
correct LDAP password is entered.
The DELMIA Apriso database can store information about only one external
login/username. Therefore, only one of the following methods can work at a given time:
LDAP or Windows Integrated.
In previous versions, bool was used instead of Outcome, so old components may need to
be modified.
Prerequisites
DELMIA Apriso must be installed in an environment where all the DELMIA Apriso users have
corresponding Windows accounts and are logged onto the Windows Domain when entering
DELMIA Apriso. Additionally, employees must have their domain usernames mapped in the
DELMIA Apriso database.
To link a Windows account to a DELMIA Apriso account:
1. Navigate to the Employee editor screen via Employee Maintenance in the
DELMIA Apriso Desktop Client.
2. Enter <COMPANYDOMAIN>\<username> for the Windows account in the External Login Name
field.
Replace all the values enclosed in angle brackets (“< >”) with real existing values.
Configuration
To set up Windows Integrated authentication:
1. In the Central Configuration file edit the "WindowsSSOAuthentication" key located in the
"FlexNet.SystemServices.Security" section to enable/disable Windows Integrated
authentication:
2. Go to IIS Manager.
Security | DELMIA Apriso 2022 Implementation Guide 53
5. In IIS Manager, expand the Portal Web folder, click Kiosk, and open Authentication.
6. In Authentication, disable the Anonymous Authentication option.
7. Ensure that Windows Authentication is enabled.
Make sure that all the files in the Kiosk directory have Anonymous Authentication
disabled when using Windows authentication.
8. Comment and uncomment proper sections in the web.config file found in <drive>\Program
Files\Dassault Systemes\DELMIA Apriso 2022\WebSite\Portal\Sts\ depending on the used
protocol.
For HTTP:
a. Uncomment the line for HTTP with the enabled Windows Authentication.
<endpoint
behaviorConfiguration="FlexNetEndPointBehaviorConfiguration"
binding="webHttpBinding"
bindingConfiguration="StsBindingConf_WI"
contract="FlexNet.Portal.WebUI.Portal.Sts.ITokenController">
Security | DELMIA Apriso 2022 Implementation Guide 54
</endpoint>
b. Comment the lines for HTTP with the disabled Windows Authentication and for HTTPS.
<!-- HTTP, Integrated Windows Authentication = disabled -->
<!--endpoint
behaviorConfiguration="FlexNetEndPointBehaviorConfiguration"
binding="webHttpBinding"
bindingConfiguration="StsBindingConf"
contract="FlexNet.Portal.WebUI.Portal.Sts.ITokenController">
</endpoint-->
<!--endpoint
behaviorConfiguration="FlexNetEndPointBehaviorConfiguration"
binding="webHttpBinding"
bindingConfiguration="StsBindingConf_SSL"
contract="FlexNet.Portal.WebUI.Portal.Sts.ITokenController">
</endpoint-->
<!--endpoint
behaviorConfiguration="FlexNetEndPointBehaviorConfiguration"
binding="webHttpBinding"
bindingConfiguration="StsBindingConf_SSL_WI"
contract="FlexNet.Portal.WebUI.Portal.Sts.ITokenController">
</endpoint-->
For HTTPS:
a. Uncomment the line for HTTPS with the enabled Windows Authentication.
<!-- HTTPS, Integrated Windows Authentication = enabled -->
<endpoint
behaviorConfiguration="FlexNetEndPointBehaviorConfiguration"
binding="webHttpBinding"
bindingConfiguration="StsBindingConf_SSL_WI"
contract="FlexNet.Portal.WebUI.Portal.Sts.ITokenController">
</endpoint>
b. Comment the lines for HTTPS with the disabled Windows Authentication and for HTTP.
Security | DELMIA Apriso 2022 Implementation Guide 55
<!--endpoint
behaviorConfiguration="FlexNetEndPointBehaviorConfiguration"
binding="webHttpBinding"
bindingConfiguration="StsBindingConf"
contract="FlexNet.Portal.WebUI.Portal.Sts.ITokenController">
</endpoint-->
<!--endpoint
behaviorConfiguration="FlexNetEndPointBehaviorConfiguration"
binding="webHttpBinding"
bindingConfiguration="StsBindingConf_WI"
contract="FlexNet.Portal.WebUI.Portal.Sts.ITokenController">
</endpoint-->
<!--endpoint
behaviorConfiguration="FlexNetEndPointBehaviorConfiguration"
binding="webHttpBinding"
bindingConfiguration="StsBindingConf_SSL"
contract="FlexNet.Portal.WebUI.Portal.Sts.ITokenController">
</endpoint-->
Internet Options
The DELMIA Apriso server should be placed in the Intranet or Trusted Sites zone in the
browser configuration settings on each client.
Security | DELMIA Apriso 2022 Implementation Guide 58
The browsers automatically apply the settings used in Internet Options. It is therefore
necessary to configure Internet Options as described above.
Mozilla Firefox
When the Negotiate option is disabled, the DELMIA Apriso mobile app for Android devices
will not function.
When logging in to the DELMIA Apriso Portal and Integrated Windows Authentication,
a sign in pop-up can appear as a result of a third-party issue. Cancel that pop-up.
Configuration
To enable Swipe Authentication:
1. Edit the CentralConfiguration.xml file.
2. Find the SwipeAuthentication key in the “SystemServices.Security” section.
3. Change the value of SwipeAuthentication key to Enabled.
LoginSwipeRequiredRole key can be used to restrict Swipe Authentication only to user Roles
indicated by the key. If no value is entered, then the functionality remains disabled.
The following login page is dedicated for swipe authentication:
http://<Server Name>/Apriso/Portal/Kiosk/LoginSwipe.aspx
To use External Login Name with Swipe authentication, add the ExternalLoginName parameter
to the logging page URL.
Before rendering content, DELMIA Apriso performs a request to the CAS server to get the
3DPassport user info, and then it tries to map the user to the DELMIA Apriso user (via the
External Login Name field). Following this, the user will have access to DELMIA Apriso.
The user is not yet authenticated by 3DPassport and wants to access DELMIA
Apriso by selecting a 3DPassport logon method
The browser makes an HTTP redirect to the 3DPassport login page. If the user provides
valid credentials, then he or she is mapped to the existing DELMIA Apriso user (via the
External Login Name field) or a new user is created. Following this, the user has access to
DELMIA Apriso.
In both scenarios, if the 3DPassport user cannot be mapped to an existing DELMIA Apriso
employee (via the External Login Name field), then DELMIA Apriso automatically creates a
new employee entry for the user. In such a case, the existing employee record is copied from
the employee (the 3DPassportTemplateEmployeeNo setting configured in the Central Configuration)
with all of the related settings (e.g., Roles, Work Centers, skills). The user does not have to
provide any additional information and is automatically granted access to DELMIA Apriso. As
DELMIA Apriso cannot get the list of Roles from 3DPassport, all of the Roles are the same
(taken from the template user).
Currently only DELMIA Apriso Portal, DELMIA Apriso Desktop Client, DELMIA Apriso
Process Builder, DELMIA Apriso MPI Excel Add-In, and DELMIA Apriso Mobile Apps
support authentication with 3DPassport. Other desktop applications such as DELMIA
Apriso Global Process Manager do not support 3DPassport and users need to use
other authentication modes to access them.
Prerequisites
3DPassport authentication requires HTTPS protocol to be enabled on DELMIA Apriso server.
Configuration
CentralConfiguration.xml
Key Description
3DPassportAuthentication Enables/disables 3DPassport authentication.
3DPassportTemplateEmployeeNo The EmployeeNo of the employee that will be used as a
template for a newly created user.
Web.config
Add the following sections to the Web.config file (<drive>\Program Files\Dassault Systemes\DELMIA
Apriso 2022\WebSite\Portal):
Define the CasClientConfig configuration (the name of the service to which you want to
connect):
Security | DELMIA Apriso 2022 Implementation Guide 62
<section name="casClientConfig"
type="DotNetCasClient.Configuration.CasClientConfiguration, DotNetCasClient" />
Setting Description
casServerLoginUrl The URL address of the CAS login form.
This parameter cannot be empty.
serverName The host name of the server hosting the application. This is used to
generate the URLs that will be sent to the CAS server for redirection.
The CAS server must be able to resolve the host name. The
serverName setting must be a Fully Qualified Domain Name.
ticketValidatorName The name of the ticket validator that validates CAS tickets using a
particular protocol. The valid values are Cas10, Cas20, and Saml11
(required).
gateway Enables the CAS gateway feature. If this parameter is set, CAS will
not ask the client for credentials. The default value is set to False
(optional).
renew Forces the user to reauthenticate to CAS before accessing the
application. This provides additional security at the cost of usability
since it disables SSO for this application. The default value is set to
False (optional).
singleSignOut Enables the application to receive CAS single sign-out messages
sent when the user's SSO session ends. The default value is set to
True (optional).
ticketTimeTolerance Adds the given amount of tolerance in milliseconds to the client
system time when evaluating the SAML assertion validity period.
This effectively allows a given amount of system clock drift between
the CAS client and server. This configuration parameter is only
meaningful in conjunction with ticketValidatorName="Sam11" (optional).
notAuthorizedUrl If this option is set, the user is redirected to the given URL address. If
it is not set, the user is redirected to the CAS login screen with a
Renew option in the URL (optional).
serviceTicketManager Used to store the tickets returned by the CAS server for validation,
revocation, and single sign-out support. The valid value is
CacheTicketManager (optional).
proxyTicketManager The proxy ticket manager used to maintain the state during proxy
ticket requests (optional).
gatewayStatusCookieName The name of the cookie used to store the Gateway status
(NotAttempted, Success, Failed). This cookie is used to prevent the
client from attempting to gateway authenticate every request. The
default value is CasGatewayStatus(optional).
cookiesRequiredUrl The URL address of the redirection when the client is not accepting
session cookies. This condition is detected only when the gateway is
enabled. It locks the users onto a specific page. Otherwise, every
request causes a silent round-trip to the CAS server, adding a
parameter to the URL (optional).
Security | DELMIA Apriso 2022 Implementation Guide 64
DeploymentInfo.xml
ClickOnce Manifests
Additionally, if the 3DPassport server uses an SSL certificate (or certificates comprising
the SSL certification path) that is not signed by a Trusted Certification Authority, install the
SSL certificate(s) on all machines (desktop as well as mobile devices) used to access
DELMIA Apriso with 3DPassport Authentication.
securely retrieve the user information passed by an external authorization engine and map
it to a DELMIA Apriso user account.
Detailed development instructions for implementing custom authentication components are
beyond the scope of this document. Please contact your DELMIA Apriso consultant for
assistance related to a specific scenario.
Features
Integrating AD with DELMIA Apriso security provides the following features:
User management (creating, modifying, deleting) is performed only in the AD
Any consequent entry of users in DELMIA Apriso is no longer necessary
Users of a selected Active Directory Group (for example, "DELMIA Apriso Users") gain
access to DELMIA Apriso via integrated login (passwords are stored only in the AD)
AD Group membership influences the permissions in DELMIA Apriso (e.g., members of
"DELMIA Apriso PB Users" can access Process Builder)
DELMIA Apriso Roles are linked with AD Groups
A "workstation" AD account can be created so that multiple users can log in to DELMIA
Apriso using the same account (it is not possible to identify who performed the operation)
It is possible to author a Process that requires the supervisor to manually provide his or her
AD username/password in selected places in order to confirm a given activity
The system verifies it against the AD and determines which person performed the
activity (e.g., in the Audit Log)
AD integration with DELMIA Apriso does not extend to the support of advanced AD
features such as child domains, trusts, or federations.
Principle
When full AD integration is enabled, the user logs in to DELMIA Apriso using AD credentials.
The credentials are taken from Windows automatically. Alternatively, the user can provide
them in the standard login screen. Next, DELMIA Apriso validates if the user belongs to the
DELMIA Apriso AD Group. If yes, DELMIA Apriso checks if the given AD user already has an
employee account in DELMIA Apriso. If not, then a new account is created based on a
predefined employee template. Next, DELMIA Apriso scans all the DELMIA Apriso Roles that
Security | DELMIA Apriso 2022 Implementation Guide 66
are mapped to the AD Groups and compares the list of AD Group memberships for the user.
All the matching roles are granted for the user in the DELMIA Apriso security configuration
table.
After making changes to the settings of an existing AD user account, log in to Windows
and to DELMIA Apriso again for synchronization to take place.
DELMIA Apriso automatically creates new DELMIA Apriso user accounts for AD users that
attempt to log in to DELMIA Apriso Portal. This is possible because of the DELMIA Apriso
global configuration setting that identifies the AD Group that grants access to DELMIA Apriso.
All members of this group can access DELMIA Apriso. When a user tries to access it the first
time, a new DELMIA Apriso account is created.
A new DELMIA Apriso user account requires additional DELMIA Apriso-specific parameters
(like default Facility, list of Work Centers, etc.), which are copied from a template user account
defined in DELMIA Apriso.
If full AD integration is used and automatic user creation is enabled, user accounts
must first be created using DELMIA Apriso Portal to allow users to log in to such tools
as Global Process Manager and Process Builder.
DELMIA Apriso authorization is based on DELMIA Apriso Roles. Roles can be assigned to
various activities, such as executing a given operation, accessing a given FlexPart, running
Process Builder, etc. This mechanism can be integrated with the AD by linking DELMIA
Apriso Roles with AD Groups. Each AD user belongs to multiple groups and has the
corresponding DELMIA Apriso Roles. During login, DELMIA Apriso must assign DELMIA
Apriso Roles to the user based on AD Group memberships. This automatically propagates the
security privileges defined in the AD into DELMIA Apriso.
DELMIA Apriso State Service must be run on domain accounts that have privileges to
validate the provided credentials against the AD. For details, refer to the
Miscellaneous/Troubleshooting section of the DELMIA Apriso Administration
Guide.
Security | DELMIA Apriso 2022 Implementation Guide 67
Each DELMIA Apriso Role requires a separate AD Group. Each AD Group can be
used only once.
4.3.2 Configuration
AD integration is configurable in the “SystemServices.Security” section of DELMIA Apriso
Central Configuration with the following keys:
WindowsSSOAuthentication
FullADIntegration
ADTemplateEmployeeNo
ADRootGroup
Security | DELMIA Apriso 2022 Implementation Guide 69
ADDomain
ADCustomizationOperationCode
Key Description
WindowsSSOAuthentication Must be set to enabled, as the AD uses this particular kind of
authentication.
ADTemplateEmployeeNo The ID of the employee used as a template when creating new
user accounts in DELMIA Apriso. The employee template
(which is a user account) can be configured using the Employee
Maintenance screen. Make sure that all attributes of the
employee are configured as required in the given
implementation, because the attributes will be copied to every
newly created user account.
ADCustomizationOperationCode Enables specifying a custom Operation for creating employee
templates. For more information, see User Creation Flow.
For detailed information on other keys, refer to the “SystemServices.Security” section of the
Central Configuration Documentation.
2. Go to the General tab in Role properties and enter the name of the desired AD Group in the
External role field.
3. After clicking Save, the specified Group will be assigned to the chosen Role.
The AD Administrator creates special groups in the AD and defines access to DELMIA Apriso
by creating a parent group ("DELMIA Apriso Users") containing all the AD users with DELMIA
Apriso access. The users are categorized in subgroups that define the specific privileges in
DELMIA Apriso and correspond to DELMIA Apriso Roles (e.g., the "DELMIA Apriso Admins"
group corresponds to the "Administrator" Role, and the "DELMIA Apriso PB Users" group
corresponds to the "Process Author" Role).
Security | DELMIA Apriso 2022 Implementation Guide 73
All DELMIA Apriso-specific AD Groups can contain existing standard AD Groups (e.g.,
"Contractors” and "Regular Workers") that include the actual users of the same type. The AD
Groups related to DELMIA Apriso must be set up only once and mapped to the DELMIA
Apriso Roles as needed in order to get appropriate access. All the remaining user
management (e.g., adding a new user account) takes place in a standard way: new account is
added to the regular groups, which automatically grants access to DELMIA Apriso and to the
required functionality.
Security | DELMIA Apriso 2022 Implementation Guide 74
5 User Authorization
5.1 Role-Based Security
For more information on configuring role-based security, refer to the Role and Skill
Configuration Help.
5.2.1 Overview
In a default DELMIA Apriso installation, the Server checks if the client application or service is
on the list of clients allowed to perform server-side operations.
For applications supporting the user session, Access Control validates the user session
before a remoting call is accepted.
Additionally, certificate-based validation of client applications and services that send the
remoting calls can be enabled. For details, refer to 5.2.3 Using x509 Certificates to Validate
Client Applications and Services.
The Access Control List (ACL) functionality is available for DELMIA Apriso Desktop Client. It
expands the Role-based security of M&M Screens. When enabled, the Server validates the
methods in remoting calls against a list of Capabilities (sets of server-side operations) used by
FlexParts of M&M Screen type assigned to the given Role. For details, refer to 5.2.4 Enabling
Access Control List .
The diagram below presents the logic used by the Access Control mechanism in DELMIA
Apriso in greater detail.
Security | DELMIA Apriso 2022 Implementation Guide 75
CentralConfiguration.xml
All Central Configuration keys related to Access Control configuration are located in the
<FlexNet.SystemServices.AccessControl> section of the CentralConfiguration.xml file and are listed
in the table:
Key Default Value Description
CertificatesEnabled false Server-side setting
which allows to use
x509 certificates to
authorize the Client
Applications or
Services.
For Client-side
configuration, refer to
WcfClientConfigurati
on.xml
CertificateSubjectField CN The name of
certificate subject
field used to store the
name of a client
application or
service, when
certificate-based
validation of client
applications and
services is enabled.
For details, refer to
5.2.3 Using x509
Certificates to
Validate Client
Applications and
Services.
ClientApplicationsConfig ${WebRootURL}/CentralConfiguration/ClientAppl Specifies the location
uration ications.xml
Security | DELMIA Apriso 2022 Implementation Guide 77
of the
ClientApplications.xml
file.
AssemblyResolutionPath ${WebSitePath}Downloads Path to the root folder
containing all client
assemblies used by
the Access Control
List Generator tool.
For details, refer to
9.2 Appendix B:
Access Control List
Generator Tool.
ClientApplications.xml
The ClientApplications.xml file contains the list of all the client applications and services that
can perform server-side operations on a DELMIA Apriso server. User Session Validation and
User Roles Validation (server-side operations validation – ACL) can be configured
individually for each of the listed WCF client applications or services.
Each ClientApplication key in the ClientApplications.xml file has four values:
1. name – the name of the client application or service
2. certificate – the name of the x509 certificate used to when authorizing the Client
Application or Service
3. userSessionValidation – the flag determining if the Access Control mechanism should
validate the user session for the given application or service
4. userRolesValidation – the flag determining if the remoting call sent by the given application
or service must be validated by the Access Control List functionality
5. trustedClient – the flag determining if the client is treated as a trusted client. Trusted clients
have access to DELMIA Apriso configuration when using configuration service.
An example of using multiple URIs is configuring SSL Termination for a Load Balancer where
a request can be made from more than one URL address.
Example configuration:
<RedirectUris>
<Uri>${WebRootURL}/Apriso/modules/oauth/oauth_callback.html</Uri>
<Uri>https://load_balancer_name.domainname/Apriso/Apriso/modules/oauth/oauth_
callback.html</Uri>
</RedirectUris>
WcfClientConfiguration.xml
The WcfClientConfiguration.xml file contains the client-side configuration settings for security
bindings and service behaviors.
The CertificatesEnabled key in the <appSettings> section enables the certificate-based
validation mechanism for Client Applications and Services.
For more information, refer to 2.2 Protecting Web Services and DELMIA Apriso Services.
Enabling this feature may reduce overall system performance. The network
infrastructure may have significant delays, due to additional server requests and more
data being sent.
Prerequisites
To ensure optimum security to performance ratio, using x509 certificates with the following
settings is recommended:
Signature algorithm – sha256RSA
Signature hash algorithm – sha256
Public key – RSA (4096 Bits)
Certificates that are required to enable validation of DELMIA Apriso client applications and
services:
Certificate Description
DELMIA Apriso CA.pem Root certificate issued by a Trusted Certification Authority.
Certificate The Root certificate contains the public key and is used to sign the
name for Intermediate Root Certificate.
demonstration
purposes only. Using a self-signed root certificate is not recommended.
DELMIA Apriso SubCA.pem Intermediate certificate, signed with the Root certificate.
Certificate The Intermediate certificate contains the public key and is used to
name for sign the DELMIA Apriso Server and Client certificates.
demonstration
purposes only.
DELMIA Apriso DELMIA Apriso Server certificate, signed with the Intermediate
Services.pfx certificate
The DELMIA Apriso Services.pfx certificate contains the private key
and is used to validate the DELMIA Apriso Server.
DELMIA Apriso Desktop DELMIA Apriso Client application or service certificates, signed
Client.pfx with the Intermediate certificate.
DELMIA Apriso Process
Each of these certificates contains the private key, and is used to
Builder.pfx
validate the specified client application or service.
DELMIA Apriso Global
Process Manager.pfx Each client application or service must have its own
DELMIA Apriso certificate.
Configuration
Manager.pfx Each certificate must contain the name of the application or
DELMIA Apriso MPI Excel service (as specified in the ClientApplications.xml) written in
Add-in.pfx the subject name field, as indicated in the
CertificateSubjectField key in Central Configuration (default
DELMIA Apriso Machine
Integrator.pfx field = CN).
Service.pfx
DELMIA Apriso PB
Service.pfx
DELMIA Apriso
WebServices.pfx
DELMIA Apriso
BusinessWebServices.pfx
DELMIA Apriso
WebApi.pfx
DELMIA Apriso
Dispatching Board.pfx
Installation
Once the required certificates are obtained, they must be installed into Local Machine
certificate store catalogs specified in the tables below:
DELMIA Apriso Server
DELMIA Apriso PB
Service.pfx
DELMIA Apriso
WebServices.pfx
DELMIA Apriso
BusinessWebServices.pfx
Additionally, full control and read private key permissions must be added to the IIS_IUSRS
user account for the following certificates:
DELMIA Apriso Services
DELMIA Apriso Classic Portal
DELMIA Apriso WebServices
DELMIA Apriso BusinessWebServices
DELMIA Apriso Web APIs
DELMIA Apriso WebApi
DELMIA Apriso iOS Api
DELMIA Apriso Dispatching Board
DELMIA Apriso Remoting Service
DELMIA Apriso Message Processor
DELMIA Apriso Incoming Message HTTP Receiver
When configuring a cluster environment, full control and read private key permissions must
be added to the user account that was used to create the cluster for the following
certificates:
DELMIA Apriso Machine Integrator
DELMIA Apriso Remoting Service
DELMIA Apriso Scheduler Service
DELMIA Apriso Executor Service
DELMIA Apriso PB Service
DELMIA Apriso GPM Service
DELMIA Apriso State Service
DELMIA Apriso Incoming Message Monitor
For details on DELMIA Apriso cluster configuration, refer to DELMIA Apriso High
Availability Configuration Installation Guide.
When GPM packages are exchanged between two DELMIA Apriso instances, and only
one of these instances is configured to use x509 certificates to validate client
applications and services, both DELMIA Apriso instances must have the certificates
installed.
Security | DELMIA Apriso 2022 Implementation Guide 83
The figures below show the required certificates installed in the proper locations on a DELMIA
Apriso Server.
Additionally, full control and read private key permissions must be added for the certificates
installed in the Personal catalog of the Local Machine Store, to every user account, which will
be used to launch DELMIA Apriso Client applications. Without these permissions, DELMIA
Apriso Client is not able to connect to DELMIA Apriso Server.
Security | DELMIA Apriso 2022 Implementation Guide 85
For DELMIA Apriso Reportign Services.pfx certificate, full control and read private key
permissions must be added to the user account that runs SQL Server Reporting Services
(SSRS).
Configuration
Before enabling the validation of client applications and services with the use of x509
certificates, refer to 2.2 Protecting Web Services and DELMIA Apriso Services for
detailed information on configuring the security settings of DELMIA Apriso services.
Once all of the required certificates are installed, enable the validation of client applications
and services:
1. Edit the CentralConfiguration.xml file, located on the DELMIA Apriso server in the
<drive>\Program Files\Dassault Systemes\DELMIA Apriso 2022\Website\CentralConfiguration
folder.
2. Change the value of the CertificatesEnabled key in the
<FlexNet.SystemServices.AccessControl> section to “true”.
3. In the server side configuration files for a particular service, located on the DELMIA Apriso
server in the <drive>\Program Files\Dassault Systemes\DELMIA Apriso 2022\Services\
[ServiceName] folder:
a. Edit the endpoint settings to use a binding supporting certificates.
For a list of supported bindings, refer to 2.2.1 Security Overview of DELMIA Apriso
Services.
b. Change the value of behaviorConfiguration parameter for the service from “default“ to
“SecurityBehaviorCert”.
Names of the configuration files and relevant sections in these configuration files, which
contain the endpoint settings for the given service:
Job Executor RemotingServices.config file for each of the DELMIA Apriso Services.
Services
The example below shows the settings for Process Builder Services
Job Scheduler
configured to use netTcpBinding with Certificates.
Service
Maintenance <services>
Services <service
behaviorConfiguration="SecurityBehaviorCert"
Process Builder [...]
Services <endpoint
address="https://SERVERNAME.DOMAIN.com:32610/pb20service"
State Services
binding="netTcpBinding"
bindingConfiguration="TcpSecurityCert"
name="FlexNetEndpoint"
contract="FlexNet.SystemServices.Services.IServiceFactory"
/>
</service>
</services>
Global Process The endpoint settings are in the <system.serviceModel> section of the
Manager Services FlexNetGlobalProcessManagerRemotingService.exe.config file.
The example below shows the settings for Global Process Manager
Service configured to use netTcpBinding with Certificates:
<service
behaviorConfiguration="SecurityBehaviorCert"
[...]
<endpoint
address="https://SERVERNAME.DOMAIN.com:32709/gpmservice"
binding="netTcpBinding"
bindingConfiguration="TcpSecurityCertGPM"
name="FlexNetEndpoint"
contract="FlexNet.SystemServices.Services.IServiceFactory"
/>
</service>
4. In the WcfClientConfiguration.xml client side configuration file, located on the DELMIA Apriso
server in the <drive>\Program Files\Dassault Systemes\DELMIA Apriso
2022\Website\CentralConfiguration folder:
Security | DELMIA Apriso 2022 Implementation Guide 88
a. Change the value of the CertificatesEnabled key in the <appSettings> section to “true”.
b. Edit all of the endpoint settings in the <client> section to use a binding supporting
certificates.
For a list of supported bindings, refer to 2.2.1 Security Overview of DELMIA Apriso
Services.
The example below shows the settings for Process Builder Services:
<appSettings>
<add key="CertificatesEnabled" value="true" />
</appSettings>
[...]
<client>
[...]
<endpoint
address="https://SERVERNAME.DOMAIN.com:32603/pb20service"
binding="netTcpBinding"
bindingConfiguration="TcpSecurityCert"
name="ProcessBuilderServices"
contract="FlexNet.SystemServices.Services.IServiceFactory">
<identity>
<dns value="DELMIA Apriso Services" />
</identity>
</endpoint>
[...]
</client>
When configuring DELMIA Apriso Machine Integrator Connector, the following configuration
changes are required:
1. Locate and edit the WCFServices.config file on:
The DELMIA Apriso server in the <drive>\Program Files\Dassault Systemes\DELMIA Apriso
2022\Services\Machine Integrator Service folder, or
The machine hosting Machine Integrator Connector in the <drive>\Program Files
(x86)\Dassault Systemes\DELMIA Apriso 2022 Client\Machine Integrator Connector folder.
2. Change the value of behaviorConfiguration parameter for the service from "default" to
“SecurityBehaviorCert”.
3. Edit the address, binding, and binding configuration parameters for the ConnectorRemoting
endpoint key to use a binding supporting certificates.
For a list of supported bindings, refer to 2.2.1 Security Overview of DELMIA Apriso
Services.
Example settings for Machine Integrator Connector configured to use netTcpBinding with
Certificates:
Security | DELMIA Apriso 2022 Implementation Guide 89
<service
behaviorConfiguration="SecurityBehaviorCert"
name="FlexNet.SystemServices.Services.ServiceFactoryImpl">
[...]
<endpoint
address=https://SERVERNAME.DOMAIN.com:32502/ConnectorRemoting
binding="netTcpBinding"
bindingConfiguration="TcpSecurityCert"
name="FlexNetEndpoint"
contract="FlexNet.SystemServices.Services.IServiceFactory" />
</service>
Whenever the security settings of DELMIA Apriso Machine Integrator are changed,
delete the WcfClientConfiguration.xmltemporary file from the following locations:
On the DELMIA Apriso server:
<drive>\Temp\AprisoTemp\<server_name>\ and
<drive>\Users\Apriso\AppData\Local\Temp\<server_name\
On the machine hosting the DELMIA Apriso Machine Integrator Connector:
%USERPROFILE%\AppData\Local\Temp\<ServerName> and
%USERPROFILE%\AppData\Local\Temp\<NameOfTheMachineHosting MI>.
Restart DELMIA Apriso Services on the DELMIA Apriso Server, and restart Machine
Integrator Service on the machine hosting the DELMIA Apriso Machine Integrator
Connector.
For an example configuration of a DELMIA Apriso service using certificates, see 9.1.3
Maintenance service using HTTPS security settings protected with certificates.
c. Creates messages in the system event log (using the standard DELMIA Apriso Logging
Framework).
d. Creates a job for the execution of a Standard Operation with a specific Operation code
and revision for Job Executor.
The information that is captured includes:
Employee no
Attempt date and time
Attempt result (success or failure)
Machine name/IP address
Access type (for Login, Signature, Authentication Business Control)
Additional information:
For the login type:
Information about the application that was accessed (e.g., for DELMIA Apriso Portal –
standard: with/without equipment, what equipment, NT domain/username, and
Operation name invoked through the URL)
For the signature type:
Signature type (single, double)
Signed action
For the Authentication Business Control:
The Process, Operation, and Step in which it was executed
The log of all events can be accessed by authorized personnel in the Security Log M&M
screen in the DELMIA Apriso Desktop Client (see Figure 33 Security Log screens) to view and
analyze all the security events captured by the system.
Security | DELMIA Apriso 2022 Implementation Guide 92
For detailed information on each key, refer to the Central Configuration Documentation.
Security | DELMIA Apriso 2022 Implementation Guide 93
<appender name="ACLValidatorAppender"
type="FlexNet.SystemServices.Logging.Appender.FileAppender">
<lockingModel type="FlexNet.SystemServices.Logging.Appender.FileAppender+MinimalLock"
/>
<param name="Threshold" value="DEBUG" />
<param name="File" value="C:\\Temp\\AprisoLogs\\AccessControlListValidator_
Debug.log" />
<param name="AppendToFile" value="true" />
<layout type="FlexNet.SystemServices.Logging.Layout.PatternLayout">
<param name="ConversionPattern" value="%AppName %Machine %n%date %level %thread
%logger %n %message%n%n" />
</layout>
<filter type="FlexNet.SystemServices.Logging.Filter.StringMatchFilter">
<param name="StringToMatch" value="Acl" />
</filter>
<filter type="FlexNet.SystemServices.Logging.Filter.DenyAllFilter" />
</appender>
<!-- Setup the root logger, add the appenders and set the default priority -->
<root>
<level value="DEBUG" />
</root>
3. Add a reference to the appender created in the first step in the <logger> key.
<logger name = "FlexNet">
<!-- <level value="DEBUG" /> -->
<!-- <appender-ref ref="DebugRollingFileAppender" /> -->
<appender-ref ref="ACLValidatorAppender" />
<appender-ref ref="InfoRollingFileAppender" />
<appender-ref ref="WarningRollingFileAppender" />
<appender-ref ref="ErrorRollingFileAppender" />
[...]
</logger>
Logging the ACL Validator activity for extended periods of time may result in reduced
system performance. Enable logging only when DELMIA Apriso is being configured by
the System Administrator or when troubleshooting the ACL functionality.
7 Guidelines
7.1 DELMIA Apriso Process Builder Security
This section presents several security guidelines and recommendations which should be
taken into consideration by the Process Author who creates Standard Operations in DELMIA
Apriso.
8 Best Practices
To ensure the correct and secure settings, the following order of configuration is
recommended:
1. Set up database security according to 2.6 Setting Up Database Security.
2. Install Windows updates recommended by Microsoft on Web, Application, Database
servers, and client machines as described in Other Prerequisites and Configurations to
be done before the Installation section of DELMIA Apriso Installation Guide.
3. Disable all TCP/IP ports, except those required by DELMIA Apriso as described in Other
Prerequisites and Configurations to be done before the Installation section of DELMIA
Apriso Installation Guide.
4. Enable HTTPS according to 2.1.2 Enabling HTTPS.
5. Enable TLS 1.2 on the server and client machines according to 2 Web Server and
Application Server.
6. Disable weak protocols (SSL 2.0, SSL 3.0, TLS 1.0, TLS 1.1) on the server and client
machines according to 2 Web Server and Application Server.
7. Secure HTTP Cookies according to 2.1.3 Securing HTTP Cookies.
8. Configure Cross-Origin Resource Sharing according to 2.1.5 Configuring Cross-Origin
Resource Sharing.
9. Configure Content Security Policy HTTP Response Headers according to 2.1.6
Configuring Content Security Policy HTTP Response Headers
10. Configure ReturnURL Parameter Whitelist according to 2.1.7 Configuring ReturnURL
Parameter Allowlist
11. Use the secret data transmission for DELMIA Apriso services according to 2.2 Protecting
Web Services and DELMIA Apriso Services
12. Configure a strong password and login policy according to 3 Password and Login Policy
13. Secure the configuration files by enabling Configuration Service as described in 2.5
Protecting Configuration Files
14. Disable WSDL and MEX in DELMIA Apriso Services and Business Web Services
according to 2 Web Server and Application Server
15. Make sure that all prerequisites listed in Verifying the Prerequsites for the Installation
section of the DELMIA Apriso Installation Guide are fulfilled.
Security | DELMIA Apriso 2022 Implementation Guide 98
9 Appendices
9.1 Appendix A: DELMIA Apriso Services - Example Secure
Configurations
Below are samples of the configuration files for the DELMIA Apriso services using HTTPS
security settings. Some sections of the configuration files, which are not directly related to
secure settings, were omitted for better legibility.
WcfClientConfiguration.xml:
<system.serviceModel>
[…]
<endpoint
address=https://SERVERNAME.DOMAIN.com:32602/maintenanceservice
binding="wsHttpBinding”
bindingConfiguration="HttpsSecurity"
name="MaintenanceServices"
contract="FlexNet.SystemServices.Services.IServiceFactory" />
</client>
</system.serviceModel>
CentralConfiguration.xml:
Security | DELMIA Apriso 2022 Implementation Guide 99
<FlexNet.ServicesLocations>
<add key="MaintenanceServices"
value="REMOTING:https://${AppAddress}:32602/maintenanceservice" />
</FlexNet.ServicesLocations>
WcfClientConfiguration.xml:
<system.serviceModel>
[…]
<endpoint
address=https://SERVERNAME.DOMAIN.com:32709/gpmservice
binding="wsHttpBinding"
bindingConfiguration="HttpsSecurityGPM"
name="GlobalProcessManagerServices"
contract="FlexNet.SystemServices.Services.IServiceFactory" />
</client>
</system.serviceModel>
CentralConfiguration.xml:
<FlexNet.ServicesLocations>
<add key="GlobalProcessManagerServices"
value="REMOTING:https://${AppAddress}:32709/gpmservice" />
</FlexNet.ServicesLocations>
Security | DELMIA Apriso 2022 Implementation Guide 100
WcfClientConfiguration.xml:
<system.serviceModel>
[…]
<endpoint
address=https://SERVERNAME.DOMAIN.com:32602/maintenanceservice
binding="wsHttpBinding”
bindingConfiguration="HttpsSecurityCert"
name="MaintenanceServices"
contract="FlexNet.SystemServices.Services.IServiceFactory" />
</client>
</system.serviceModel>
CentralConfiguration.xml:
<FlexNet.ServicesLocations>
<add key="MaintenanceServices"
value="REMOTING:https://${AppAddress}:32602/maintenanceservice" />
</FlexNet.ServicesLocations>
After ACL is enabled in Central Configuration, the ACL Generator must be run in the PUU to
build a list of Capabilities and a map of the Capabilities allowed for each FlexPart of the M&M
Screen type (which is used by the ACL Validator).
The ACL Validator can also be used with other client applications supporting
UserSession. However, the Capabilities and Roles must be configured manually for
these client applications (for instructions for the manual configuration of Capabilities,
refer to 9.2.4 Manual Configuration of Capabilities).
Analyzing FlexParts
1. ACL Generator reads the BUSINESS_OBJECT table to obtain a list of all the FlexParts of
the M&M Screen type.
2. ACL Generator reads the SCREEN table to obtain information on AssemblyNames and
ClassNames used in the Screens from the list obtained in the previous step.
For more information on using the Post-Upgrade Utility, refer to the Post-Upgrade Utility
Help.
2. Open the Roles screen and open the editor for one of the existing Roles or create a new
Role.
3. Navigate to the Capabilities tab.
4. Click (Link) to open the list of all the Capabilities defined in the system.
This list contains only the Capabilities that have not yet been assigned to the given
Role.
5. Select one or more items on the list. Use the filters for help in finding the required entries.
6. Click (Select) to add the selected Capabilities to the user Role.
7. The selected Capabilities are added to the list in the Capabilities tab.
Security | DELMIA Apriso 2022 Implementation Guide 105
10 Known Issues
10.0.1 Error while Logging out
When a user who was authenticated with 3DPassport login logs out, an error might be
recorded in the log file. Despite the error, the session ends and the user is logged out. The
error should not cause any problems and can be ignored.
Security | DELMIA Apriso 2022 Implementation Guide 107
11 Documentation Availability
All DELMIA Apriso documentation is available from <server name>/apriso/start and at 3DS
Support.
For more information, refer to the 3DS Support Knowledge Base.