UMC_InstallationManual
UMC_InstallationManual
02/2018
A5E39179255-AD
Guidelines
This manual contains notes of varying importance that should be read with care; i.e.:
Important:
Highlights key information on handling the product, the product itself or to a particular part of the documentation.
Note: Provides supplementary information regarding handling the product, the product itself or a specific part of
the documentation.
Trademarks
The remaining trademarks in this publication may be trademarks whose use by third parties for their own purposes
could violate the rights of the owner.
Disclaimer of Liability
We have reviewed the contents of this publication to ensure consistency with the hardware and software
described. Since variance cannot be precluded entirely, we cannot guarantee full consistency. However, the
information in this publication is reviewed regularly and any necessary corrections are included in subsequent
editions.
Security information
Siemens provides products and solutions with industrial security functions that support the secure operation of
plants, systems, machines and networks. In order to protect plants, systems, machines and networks against
cyber threats, it is necessary to implement – and continuously maintain – a holistic, state-of-the-art industrial
security concept. Siemens’ products and solutions only form one element of such a concept.
Customer is responsible to prevent unauthorized access to its plants, systems, machines and networks. Systems,
machines and components should only be connected to the enterprise network or the internet if and to the extent
necessary and with appropriate security measures (e.g. use of firewalls and network segmentation) in place.
Additionally, Siemens’ guidance on appropriate security measures should be taken into account. For more
information about industrial security, please visit http://www.siemens.com/industrialsecurity.
Siemens’ products and solutions undergo continuous development to make them more secure. Siemens strongly
recommends to apply product updates as soon as available and to always use the latest product versions. Use of
product versions that are no longer supported, and failure to apply latest updates may increase customer’s
exposure to cyber threats.
To stay informed about product updates, subscribe to the Siemens Industrial Security RSS Feed under http://www.
siemens.com/industrialsecurity.
12 Appendix ............................................................................................................................. 74
12.1 Importing a Windows Local User on an Agent.............................................................. 74
12.2 Troubleshooting ............................................................................................................ 74
12.3 UMC Processes ............................................................................................................ 76
12.4 Event Logging ............................................................................................................... 77
12.5 Log Forwarding Service ................................................................................................ 79
12.5.1 IElLog.................................................................................................................... 79
12.5.2 Log Forwarding Service C++ Plug-in .................................................................... 80
12.6 Additional Provisioning Configuration ........................................................................... 82
Important:
UM domains are different entities with respect to Windows domains that are defined at
operating system level.
Custom attributes can be associated with UM users. Example of custom attributes are common user
properties such as phone number, department, and so on.
To apply Secure Application Data Support (SADS), access to encrypted application data can be
granted to authorized users to allow them to decrypt it using specific Subject Keys.
UM User Types
UM User Passwords
Users created within UMC have also an associated password. Empty passwords are not allowed.
Users imported from Windows authenticate against Windows and do not have a UMC password.
Imported Windows local users authenticate only locally against Windows on the machine where they
are present. They can be used only for configuration purposes, for instance to be associated with a
Windows service running on the machine.
Offline Users
When you create a UMC user you can flag the user as offline. UMC provisioning service checks if the
offline user exists in Active Directory:
• if the user is present, user data are synchronized and the user becomes online,
• otherwise the user remains offline.
Important:
Users created as offline are enabled by design: they can therefore perform the actions
allowed by their function rights.
The user name of offline users must follow the AD pattern <domainName>\<ADuserName>. They do
not have a UMC password, as they cannot authenticate until they become online. The User Security
Identifier (SID, see Microsoft Documentation on Security Identifiers for more details) property is set to a
default value (S-1-0-0) that is synchronized with the actual AD value by the UMC provisioning service.
Users are also flagged offline if they are deleted from AD. In this case users are permanently deleted
from UMC database after an amount of time that can be configured (default is12 hours). See the
additional provisioning configuration in the User Management Component Installation Manual for more
details.
To apply Secure Application Data Support (SADS), access to encrypted application data can be
granted to authorized groups to allow them to decrypt it using specific Subject Keys.
UM Group Types
Offline Groups
When creating a UMC group, you can flag the group as offline. UMC provisioning service checks if the
offline group exists in Active Directory:
• if the group is present, group data are synchronized, the AD users members of the groups are
imported into UMC and the group becomes online,
• otherwise the group remains offline.
The group name of offline users must follow the AD pattern <ADdomainName>\<ADgroupName>.
• UM ring server: the owner of the UM configuration, which is responsible for managing the
domain, and provides full implementation of authentication and user management features. The
priority ring server is the one which is configured first, running the umconf utility. If more than
one ring server is available, if you unjoin the priority ring server, the system dynamically elects a
new priority ring server.
• UM server: provides full implementation of authentication features, the UM server is in
degraded mode if it is not connected to any UM ring server.
• UM agent: works as a client of the UM server/UM ring server to which it is attached, which can
be used to run an application developed using the UMC API. See the User Management
Component API SDK Developer Manual for more details. In order to import Windows Local
Users, see Importing a Windows Local User on an Agent in the UMC Installation Manual.
Important:
Engineering operations are not allowed on the UM Agent except for encryption
enablement.
The main differences between the three aforementioned machine roles are listed in the table below.
The ring server to which the other ring servers send the request to write on the UMC database (the
candidate for writing) is called master ring server. Both the priority and secondary ring server can be
master.
If the priority server is master, writing is enabled and the machine can write on the UMC database.
In case of failure, the secondary ring server becomes a master ring server with no writing enabled
(safe mode on). If the safe mode is switched off using the appropriate umx command, the secondary
ring server becomes a master with writing enabled. Consider that some operations on the UMC system
configuration are not allowed in this case, e. g. modifying the whitelist (see UMCONF User Manual for
more details).
A machine role orthogonal to the previous ones is UMC station client. A UMC station client is a
machine where UMC station client software has been installed and that has been registered to be a
trusted machine. A UMC station client provides a claim in which certified logon station information are
included. These details can be used to associate authorization rights with a machine, which must not
be a ring server,server or agent, using the client product.
UMC installation includes UMC station client installation, thus, UM ring servers, UM servers and UM
agents need only to register to become UMC station clients, whereas a machine that is not part of the
UMC domain has to install the UMC station client software first and then has to register to become a
UMC station client.
CAUTION:
If you want to manage Active Directory users, the UM ring server and the UM server
machines have to be joined to the AD Windows domain.
The table below provides the functionality mapping against the machine roles. For each functionality:
Change password
Potential Master
Propagate UM configuration
Log Forwarding
Import AD Users/Group
• standalone scenario: one ring server where UMC and all its Web components are installed
and configured: Note that: a quick configuration guide is available for this scenario.
• redundant scenario:
– 2 UM ring server machines, one ring server is configured first and is called priority ring
server, the secondary one is added to the ring using the join command;
– up to 4 UM servers
– up to 25 UM agents.
Each UMC Web component can be installed and configured on any UM ring server and/or on any UM
server. If you install the UMC Web UI on a UM server, you cannot import AD users via UMC Web UI.
UMC allows you to prepare configuration data (users, groups and so on) in a standalone engineering
station, export this data in a UMC configuration package which can then be imported into a production
target system. The two commands involved are the umx export and import package commands. If you
want to overwrite the configuration of the target production system with that of the source engineering
machine the update command can be used instead of the import command. For more information on
these command and how they impact the target machine, see the UMX User Manual.
If the target system is not configured, you can import a package using the umconf import package
command. For more information see the UMCONF User Manual.
The following roles are automatically created by the system while configuring UMC:
• Administrator: built-in "root" role, can perform any operation. The user that has this role is a
root user that can perform any operation. This role cannot be associated with any group. It can
be associated with a user if the user performing the association has in turn the Administrator
role. The Administrator role cannot be deleted. Only users having the Administrator role can
modify other users having this role.
• UMC Admin: can manage users, groups and all the other UMC entities.
• UMC Viewer: can access the user management configuration without making modifications.
General Recommendations
• For security reasons, we suggest that you set the browser cookie policy management so that
cookies are not maintained after the browser is closed. In this way you can disable the
possibility that a user reopens a browser and is logged in without providing the credentials
again.
• The browser used to display the UMC Web UI must allow the pop-up display.
• While using the UMC Web UI do not select the option Prevent this page from creating
additional dialogs. The selection of this option causes Web UI malfunctions.
• Disable the Autocomplete option in your browser settings.
Identity Provider
• Internet Explorer 8
• Internet Explorer 9
• Internet Explorer 10
• Internet Explorer 11
• Chrome 32.0.1700.107 m or higher
• Firefox 31.0 or higher
• Microsoft Edge 25.10586.0.0 or higher
UMC Web UI
The Web UI is based on HTML5. For this reason it is supported only on:
• Internet Explorer 11
• Chrome 32.0.1700.107 m or higher
• Firefox 31.0 or higher
• Microsoft Edge 25.10586.0.0 or higher
Important:
• 1280x800
• 1920x1200
• General Recommendations
• Supported Operating Systems
• Prerequisites for Installing UMC
• Identity Provider Prerequisites
• IIS Configuration
General Recommendations
• Operating Systems: The operating system must be updated to the latest security patches in
order to improve system reliability and security,
The Windows Security Patch KB2532445 must be installed on the following OS:
– Windows Server 2008 R2 SP1(Professional, Enterprise, Datacenter Edition)
– Windows 7 SP1 (x86, x64)
• Computer Naming Conventions: The computer name of the machines on which you will install
UMC must only contain alphanumeric characters and not exceed 15 characters. See host name
limitations in Microsoft Support Documentation for more information.
In order to install UMC, the following redistributable packages have to be installed on Windows server
2008 R2, Windows 7, Windows 8.1, Windows server 2012 R2, Windows 10:
Important:
• For 32-bit operating system versions only the 32-bit redistributable packages have
to be installed, whereas for 64-bit operating system versions all the redistributable
packages have to be installed.
• In the BUNDLE and SIWA installers the redistributable packages are automatically
installed.
The following table lists the UMC components which can run on 32 or 64 bit machines.
UMCONF
UMX
Identity Provider
Web UI
Remote Authentication
API SDK
CAUTION:
UMC Web services use cookies to guarantee the correct functioning. We do not display
any warning related to cookie usage, as our application must not be used as an open
Web service, available, for instance, on the Internet.
In order to harden your system it is recommended you install the minimum set of IIS features possible,
see UMC Security Concept for more information on system hardening.
Verify the following features and roles are installed for Windows Server 2016.
– Performance (1 of 2)
- Static Content Compression
– Security (2 of 9 )
- Request Filtering
- Windows Authentication
7. Verify the following Roles are selected under Management Tools (3 of 7):
– IIS Management Console
– IIS Management Scripts and Tools
– Management Service
8. Click Next.
9. Verify the following Features are selected:
– .Net Framework 3.5 Features (1 of 3)
- .Net Framework 3.5 (includes .net 2.0 and 3.0)
– Windows PowerShell (3 of 5)
- Windows PowerShell 5.1
- Windows PowerShell 2.0 Engine
- Windows PowerShell ISE
Windows 10
Verify the following features and roles are installed for Windows 10.
1. Type "Turn Windows Features on and off" in the Search Windows search box.
2. Click Turn Windows Features on and off in the result pane, a windows is displayed.
3. Verify the following are installed under:
– Internet Information Services:
- Web Management Tools:
- IIS Management Console
- IIS Management Scripts and Tools
- IIS Services
- Performance Features
- Static Content Compression
- Security
- Request Filtering
- Windows Authentication
• manually;
• via script, you can use the quick configuration page if you only need to configure a simple
standalone scenario.
CAUTION:
• If HTTPS protocol has been configured HTTP cannot be used.
• The firewall configuration on UMC Servers and Ring Servers must be configured to
allow inbound access on either the port which is used for HTTP (by default 80)or,
the port that is used for HTTPS (by default 443).
• The underlying system must be correctly configured in order to guarantee that the
UMC Web Components will function correctly. For example, if a proxy is present, it
must be correctly configured.
HTTP configuration
CAUTION:
If IIS is not configured to work with https protocol, you can configure UMC both manually and via script,
but secure protocol is not enabled. In this scenario:
• SSO does not work. To enable SSO you have to edit the Identity Provider web.config file (e.g.
C:\Program Files\Siemens\UserManagement\WEB\IPSimatic-Logon\Web.config) and remove
the key requireSSL="true".
• If UMC Web UI does not work, verify that the value of the registry key
HKEY_LOCAL_MACHINE\SOFTWARE\Siemens\User Management\WebUI\Settings\secure is
set to 0.
• Windows Integrated Authentication does not work (see Known Issues in Release Notes).
• The antiforgery token has to be disabled setting the following entry <add key=
"UseAntiForgeryToken" value="false" /> in the web.config file.
• Smart card authentication does not work.
CAUTION:
If you perform any modification to the IIS configuration after launching the configuration
script IdP_WebUI_configurator.bat or you have configured UMC without using this
script, you have to reset the Web components configuration and, only afterwards,
configure the system again.
Prerequisites
Procedure
1. Right-click UMConf, which can be found in the subdirectory Wow\bin, for example; C:\
Program Files\Siemens\UserManagement\Wow\Bin, and select Run As Administrator.
2. Following the guided configuration in UMConf Interactive mode:
– Create a User Management Domain, by specifying a name using only alphanumeric
characters.
– Create a User Management user with administrator role, by specifying the username
using only alphanumeric characters, and password a password that complies with your
organization's password policy.
– Associate a Windows user who is either a member of UM Service Accounts group or who
has administrative rights to the UMCService, by inserting .\ username and the
corresponding password.
– (optional) To manage Active Directory users, specify a Windows user as described in
prerequisites, by inserting domain\username and password.
Additional Configurations
• Configure Firefox for Integrated Windows Authentication, this procedure is not required for other
browsers.
• Perform Additional Identity Provider Configuration.
• If SADS (secure application data support) is required, it must be enabled via the UMX utility, by
running the command: umx -AP -setakp, for more information see the UMX User Manual.
Prerequisites
A valid SSL certificate has been acquired from a Certification Authority or a self-signed SSL certificate
has been created.
Procedure
5. Insert the parameters as displayed in the previous image and click OK. The SSL certificate
parameter has to be the acquired certificate name.
6. Click OK and then Close.
General Recommendations
The Web components can be configured in any UM ring server and/or in any UM server. In order to
guarantee IdP high availability and reliability, we suggest that you install and configure it on more than
one machine and configure the IdP high availability/reliability.
Prerequisites
IIS has been previously configured to work with the HTTPS protocol.
Workflow
Note:
• If the user which is used to run the script is a Windows local user the FQDN cannot
be retrieved, this results in the registry key of the IDP being configured with only
the machine name and not the domain name.
• If you have a configured a site in IIS with a name which is not Default Web Site
you must open a command prompt as administrator from the installation folder of
the .bat file. and specify the name of the site as a parameter for example: C:\
Program Files\Siemens\UserManagement\BIN>IdP_WebUI_configurator.bat "your
web site name"
General Recommendations
The Web components can be configured in any UM ring server and/or in any UM server. In order to
guarantee IdP high availability and reliability, we suggest that you install and configure it on more than
one machine and configure the IdP high availability/reliability.
Prerequisites
• IIS has been previously configured to work with the HTTPS protocol.
• The operating system must be 64 bit
Workflow
Prerequisites
If you want to manage Active Directory users, the UM ring server and the UM server machines have to
be joined to the AD Windows domain.
Procedure
4. If you have elected one or more machines as agents, configure them as follows:
– using the umconf.exe program on the User Management, attach the agent to the domain.
Refer to the UMCONF User Manual for more details.
Important:
• the port TCP/4002 is open on all machines or disable firewall on um.Ris.exe, the
UM process responsible for UM machines communications;
• for localhost, the following TCP ports are open: 16, 32, 91, 1001, 2259, 4144.
Additional Operations
The following optional step can be performed on one of the previous machines:
Associate an administrative Role with a user, so that this user can run the umx.exe command or can
log in to the Web UI to manage UM users and groups.
This following steps must be performed using the umconf.exe which is distributed with UMC and
installed in the subdirectory \BIN(32bit) or Wow\Bin (64bit), for more information on UMCONF see the
UMCONF User Manual.
Prerequisites
• (only required to manage Active Directory users) the Windows user specified at step 5 must
have:
– Active Directory access rights;
– Write access on the UMC folder C:\ProgramData\Siemens\UserManagement\CONF or
alternatively they must belong to the Windows group UM Service Account.
Procedure
Using the umconf.exe program on the User Management (UM) ring server machine, perform the
following steps:
1. Execute umconf using a Windows user with administrative rights from a command prompt in
the subdirectory \BIN or WoW\BIN.
2. Create a User Management Domain.
3. Perform either of the following operations:
– if you want to configure the machine from scratch, create a User Management user with
administrator role and a password that complies with your organization's password policy,
see UMC Security Concepts for more information;
– if you want to import an existing configuration, import a UMC package.
4. Associate a Windows user who is either a member of UM Service Accounts group or who has
administrative rights to the UMCService, by inserting .\ username and the corresponding
password.
5. If you need to import Active Directory users and groups via the umx tool or via the Web UI,
associate a Windows user with Active Directory access rights to the UPService. See the
UMCONF User Manual and UMX User Manual for more details.
Note: If SADS (secure application data support) is required see the UMX User Manual.
Additional Operations
Procedure
Additional Operations
Prerequisites
Procedure
4. Insert the parameters as displayed in the previous image and click OK.
5. In the tree on the left select the Default Web Site node.
6. Right click on the node and select Add Application: the following dialog box opens.
7. Insert the parameters as displayed in the previous image and click OK. The path of the
application is C:\Program Files\Siemens\UserManagement\Web\IPSimatic-Logon.
8. Select the created application pool and click on Advanced Settings.
9. Set to 0 the field Regular Time Interval (minutes) and click OK.
10. To verify that the application works properly, in the tree on the left go to the IPSimatic-Logon
node.
11. Right click on the node and select Manage Application > Browse. The Identity Provider
application opens displaying the login page.
Insert the name of the file you want to use as log file in the key <add key="LogFileName" value="" />.
Examples
<add key="LogFileName" value="myFile.log" />
<add key="LogFileName" value="myFile.txt" />
This configuration is mandatory if you want to use the IdP with a reverse proxy.
Insert the IdP URL in the key <add key="ClaimIssuerAuthority" value="" />.
Example
<add key="ClaimIssuerAuthority" value="https://myMachine/IPSimatic-Logon" />
Modify the value in the key <add key="EnableWhitelistMembershipService" value="false" /> to true.
Modify the value in the key <add key="UseAntiForgeryToken" value="true" /> to true to avoid the
cross-site request forgery on the login and change password pages.
Note: If you have enabled the anti forgery token in the web.config file, problems may
arise for Web Single Sign On in case you have opened different tabs in the browser of the
UMC login page.
Modify the value in the key <add key="UseDisclaimerMessage" value="true" /> to false.
Modify the value of the key <add key="AutoLoginMode" value="" /> as follows:
• <add key="AutoLoginMode" value="iwa" /> to enable the automatic login with Windows
authentication;
• <add key="AutoLoginMode" value="pki" /> to enable the automatic login via smart card;
• <add key="AutoLoginMode" value="desktop|<plugin_id>" /> to enable automatic login via
desktop plugin.
• <add key="flexauth:<name_plugin>"/> to enable the automatic login via custom plugin by
specifying the name of the plugin.
To specify multiple plugins seperate the name of each plugin with two ||, for example, <add key=
flexauth:<name_plugin>||<name_plugin>/>
Modify the value of the key <add key="EnablePKI" value="false" /> to true.
Modify the value of the key <add key="EnableFlexAuth" value="false" /> to true.
Modify the value of the key <add key="EnableLogonStation" value="true" /> to false.
Note: If false the name of the machine from which the user has logged on is not retrieved
and therefore included in the claim. The information relative to the logon station is not
used by UMC but may be used other applications.
Internal Keys
The following keys are either for backward compatibility or internal use and as such they must not be
modified:
Important:
UMC contains two IIS 64 bit Native Modules: um.ra.dll and um.slvm64.dll
Prerequisites
Procedure
11. Insert the parameters as displayed in the previous image and click OK.
12. In the tree on the left go to the Default Web Site node.
13. Right click on the node and select Add Application: the following dialog opens.
14. Insert the parameters as displayed in the previous image and click OK. The path of the
application is C:\Program Files\Siemens\UserManagement\WEB\Umc.
15. To verify that the application works properly, in the tree on the left go to the UMC node.
16. Right click on the node and select Manage Application > Browse. The Web UI application
opens displaying the login page.
Prerequisites
Procedure
4. On the top right corner click on Configure Native Modules: the following dialog box opens.
6. Insert the parameters as displayed in the previous image and click OK.
If you want to use Firefox, you must also perform some manual browser configurations.
Prerequisites
5. Right click on the IPSimatic-Logon node and select Add Application to add the
WinAuthSite application, the path is for instance C:\Program Files\Siemens\
UserManagement\web\ipsimatic-logon\WinAuthSite. Then click OK.
6. In the tree on the left select the WinAuthSite node and set the following authentication
settings.
• equal to the computer name, if the machine on which the IdP is installed does not belong to an
Active Directory domain (example: myMachine);
• equal to a FQDN (Fully Qualified Domain Name) such as <computerName>.<domainName>.
<extension>, if the machine on which the IdP is installed belongs to an Active Directory domain
(example: myMachine.siemens.com).
Prerequisites
The configurations of IIS for the Integrated Windows Authentication have been performed.
Procedure
1. Navigate to the URL about:config in Firefox. Click the I'll be careful, I promise! button.
2. In the Search dialog box, search for the preference network.negotiate-auth.allow-non-fqdn.
3. Double click on the property to set the value to true and close the window.
Procedure
Server side
The Smart Card Authentication can only be configured on machines where the Identity Provider has
been configured. IIS authentication via certificate must be correctly configured in order for it to function.
Important:
Client side
The following steps are needed to configure client side Smart Card authentication:
This procedure is not needed if you have used the IdP_WebUI_configurator.bat script to configure
UMC.
Procedure
5. To verify that the smart card authentication application is correctly configured, open a browser
instance.
6. Insert a smart card in the smart card reader.
7. Open the page at the following address: https://<address>/ipsimatic-logon/pkiauthsite/info.
aspx; a json file opens displaying smart card information.
In case the json file is not correctly displayed, we suggest that you enable on IIS the detailed error
responses and carefully verify smart card authentication infrastructure configuration.
The smart card authentication mechanism is based on a matching between the user data stored on the
smart card and the data stored in UMC.
Procedure
1. To configure the data matching, go to the UMC Web UI account policy page with the proper
access rights.
2. Define the field to be retrieved from the smart card to identify the user in UMC.
3. Select either of the following authentication options:
– simple authentication (no alias): in this case the selected field, CN (Common Name),
Subject, Alternate Subject, is compared with the UMC user name; if they correspond the
user is authenticated.
– alias authentication: in this case you have to define an alias for a user in the user detail
dialog; the value stored in the field is compared with the UMC alias, if they correspond the
user is authenticated.
For more information see the account policy documentation in the User Management Component Web
User Interface Manual.
Alternative Operations
• You can also define an alias using the dedicated UMX command. See UMX User Manual for
more details.
• For AD users the alias can be set in the importing phase, for more information see Additional
Provisioning Configuration.
Example
Alias = [email protected]
For instance, the following two cases can occur depending on the account policy selection:
• Authenticate using CN: if value stored in the CN in the smart card is John_Brown (UMC user
name value), the user is authenticated; otherwise authentication fails;
• Alias Authentication using CN: if value stored in the CN in the smart card is john.
[email protected] (UMC alias value), the user is authenticated; otherwise authentication
fails.
CAUTION:
No checks are currently performed at setup level on the UMC station client installation.
Over-installation of the UMC station client causes serious system malfunctioning. In
particular you must not install the UMC station client on a machine where you have
already installed full UMC.
UMC Station Client can be configured in either of the two following ways:
Prerequisites
Result
The system registers the machine as a UMC station client machine that provides a claim in which
certified logon station details are included.
Prerequisites
A UMC Web component is installed and configured on your machine and IIS is not configured for
HTTPS.
UMC has been tested with Network Load Balancing service included in Microsoft Windows Server. For
more information about Microsoft Network Load Balancing concepts and installation procedures, see
documentation at Microsoft TechNet
(http://technet.microsoft.com).
UMC specific information on NLB configuration can be found in the following sections:
• NLB in Unicast mode, which ensures that it operates properly with all routers;
• Two network adapters for each cluster host, which is the minimum number of adapters to permit
communication among cluster hosts when NLB is operating in Unicast mode.
In order to reduce the impact on performances of the session sharing, UMC IdP grants the support of
the single client default affinity mode, which redirects all the requests coming from the same client (IP
adddress) to the same host. A custom session state provider is needed in order to manage the IdP
session properly.
UMC has been tested with NCache Open Source software. To guarantee the correct level of security
we suggest to use NCache with:
• an encrypted channel;
• enabled command authorization mechanism.
After having configured properly NCache, you need to uncomment the following sections of the Identity
Provider web.config file (e.g. C:\Program Files\Siemens\UserManagement\WEB\IPSimatic-Logon\
web.config). The name of the cache (cacheName) has to be equal to the one configured in NCache.
<assemblies>
<add assembly="Alachisoft.NCache.SessionStoreProvider, Version=4.4.0.0,
Culture=neutral, PublicKeyToken=1448E8D1123E9096" />
</assemblies>
• If you want to have the Integrated Windows Authentication mechanism working properly without
asking user credentials, you have to use Kerberos in order to authenticate against IIS. Kerberos
requires a specific configuration in an NLB scenario. Please refer to Microsoft Technical
documentation for more details (see for instance http://blogs.msdn.com/b/vivekkum/archive/
2008/06/15/step-by-step-kerberos-in-nlb-with-shared-content.aspx).
• If you configure a Reverse Proxy in order to use multiple web servers you must increase the
value of the query string length on all the web servers, via IIS Manager to the values specified in
The value of the health state is contained in the field status of the HTTP response header:
The health state information is derived from the one provided by the Health Check Service described in
UMC Release Notes.
Example URL
https://<host_name>/ipsimatic-logon/GetHealthState
Additional parameters
An additional parameter can be used in the request: mode=checkring. In this case the the value of
the field status is computed as follows:
• status = 404, if the machine is a UM ring server, is a master and is in safe mode; or the
machine is a UM server and is in degraded mode; else
• status = the one returned by the HTTP request http://<host name>/Idpsimatic_logon/
GetHealthState.
https://<host_name>/ipsimatic-logon/GetHealthState?mode=checkring
CAUTION:
The sample code is provided for illustrative purposes only. It has not been thoroughly
tested under all conditions. Therefore, we cannot guarantee or imply its reliability,
serviceability, or function.
In the example two machines VM-UMC-N1 and VM-UMC-N2 are configured in NLB and their status is
checked via the PowerShell function CheckNodeHS. According to the status, the node is stopped or
started.
CheckNodeHS
Function CheckNodeHS([string]$nodeToCheck)
{
$url="https://"+$nodeToCheck+"/IPSimatic-Logon/GetHealthState"
$r = [System.Net.WebRequest]::Create($url)
try
{
$resp = $r.GetResponse()
}
catch [Net.WebException]
{
#404 is handled with an exception
}
if($resp.StatusCode -match "OK")
{
#200 returned
Write-Host "Node "+$nodeToCheck+ " OK"
Start-NlbClusterNode $nodeToCheck
}
else
{
#any other value than 200
Write-Host "Node "+$nodeToCheck+ " NOT OK"
Stop-NlbClusterNode $nodeToCheck
}
}
Script
#MAIN
cls
Import-Module NetworkLoadBalancingClusters
$node1="VM-UMC-N1"
$node2="VM-UMC-N2"
$nodeStatus = Get-NlbClusterNode -hostname "VM-UMC-N1"
$status1 = $nodeStatus[0].State.ToString()
$status2 = $nodeStatus[1].State.ToString()
if ($status1 -match "converged" -and $status2 -match "converged")
{
Write-Host "NLB status is good"
}
else
{
Write-Host "NLB status is NOT good"
Write-Host "Node 1: status is" $status1
Write-Host "Node 2: status is" $status2
}
CheckNodeHS($node1)
CheckNodeHS($node2)
Prerequisites
• the server machine that is a master ring server; a master is a priority ring server or a secondary
ring server where safe mode has been disabled and that is promoted to be a master;
• the client machine is a registered UMC station client.
Procedure
Result
The plugin is listed on the login page of the client machine, it is also possible to use query strings to
automatically login, see the UMC Web User Interface manual for more information.
Depending on the plugin used two different methods can be used to provide the alias:
To configure this data matching using the UMC Web UI, you can define an alias for a user in the
account policy tab of the user detail dialog; the value stored in the field is compared with the loaded
identity and if they correspond the user is authenticated. For more information see the User
Management Component Web User Interface Manual.
To define an alias you can also use the dedicated UMX command. See UMX User Manual for more
details.
Example
Consider a user with the following value for the user alias:
Alias = [email protected]
• PluginDesign.dll,
• um.PluginDesign.dll
In what follows we document the abstract method that you have to implement and the two methods
that must be used to implement it.
Initialize
This is the abstract method in which you have to implement the plugin logic.
ChangeStatus
This method has to be called once the plugin changes the status.
LoadIdentity
This method must be called to load the identity. The string identity to be passed as input parameter
can be either the name or the user alias set for authentication.
Example
The following is a .Net example which returns the Windows identity of the current user.
using um.PluginDevice;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Principal;
using System.Text;
using System.Threading.Tasks;
using PluginDevice;
using System.Threading;
namespace WindowsPlugin
{
public class StatefulWindowsPlugin : StatefulPlugin
{
protected override void Initialize()
{
this.ChangeStatus(DeviceStatus.Connected);
var currentWindowsIdentity = WindowsIdentity.GetCurrent();
this.LoadIdentity(currentWindowsIdentity.User.Value);
}
}
}
• PluginDesign.dll,
• um.PluginDesign.dll
In what follows we document the two abstract methods that you have to implement and the method
that you have to use to implement it.
Initialize
This is the abstract method in which you have to implement the plugin logic.
ChangeStatus
This method must be called once the plugin changes the status.
RetrieveIdentity
This is the abstract method in which you have to implement the plugin logic to retrieve the identity. The
returned value must match either the user alias set for authentication or the username.
Example
The following example is a .Net example which returns the Windows identity of the current user.
using PluginDevice;
using um.PluginDevice;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Principal;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
namespace WindowsPlugin
{
public class StatelessWindowsPlugin : StatelessPlugin
{
protected override void Initialize()
{
this.ChangeStatus(DeviceStatus.Connected);
}
protected override string RetrieveIdentity()
{
var currentWindowsIdentity = WindowsIdentity.GetCurrent();
return currentWindowsIdentity.User.Value;
}
}
}
$plugin=@{
piuid = Read-Host -prompt '[plugin UID]'
path = Read-Host -prompt '[plugin path]'
name = Read-Host -prompt '[plugin class name]'
desc= 'not used'
type = Read-Host -prompt '[plugin type (stateful/stateless) ]'
adapter = '.net'
}
write-host $response
The adapter is a umc-cookie-adapter.zip file that can be found for instance in C:\Program Files\
Siemens\UserManagement\WEB\add-ons.
Prerequisites
• the UMC machine which is a master ring server; a master is a priority ring server or a secondary
ring server where safe mode has been disabled and that is promoted to be a master;
• the external authentication system machine, where Node.js is installed;
• the client machine which is a machine where you have authenticated at least once with the user
selected for authentication.
Procedure
1. Copy the file umc-cookie-adapter.zip from UMC machine to the external authentication
system machine and unzip it.
2. Generate a pair of private/public keys in the external authentication system machine.
3. Register the cookie adapter in the UMC machine using the dedicated umconf command; see
UMCONF User Manual for more details.
4. List the plugin to retrieve the fingerprint/keyid in the UMC machine using the dedicated
umconf command; see UMCONF User Manual for more details.
5. Enable login via cookie adapter in the UMC machine.
6. Define the user alias for the cookie adapter authentication via Web UI.
7. Edit the file default.json in the external authentication system machine.
8. Edit the script UMC_Cookie_Federation_Adapter_Start.bat in the external authentication
system machine to set the related local environment variable.
9. Launch UMC_Cookie_Federation_Adapter_Start.bat to start the application in the external
authentication system machine.
10. Open the Idp login page on a client machine, the cookie adapter plugin is listed in a drop-down
menu on the right together with the list of plugins activated for authentication.
11. If you select to authenticate via cookie adapter, you are authenticated with the user with whom
the alias corresponding to the identity retrieved from the cookie adapter is associated.
• to generate the private key: openssl genrsa -des3 -out private.pem 2048;
• to extract the public key: openssl rsa -in private.pem -outform PEM -pubout -out public.pem.
When generating the private key, you will be asked to insert a passphrase, which must be used to set
the local environment variable in UMC_SIGN_PASSPHRASE
UMC_Cookie_Federation_Adapter_Start.bat.
Public key is required during web adapter registration using the appropriate umconf command (see
UMCONF User Manual for more details).
The fingerprint associated in the public key (sha1) must be set in the appropriate property in the
configuration file default.json.
{
"app": {
"port": 1987,
"endPoint": "/cookie-adapter",
"cookieName": "x-login-user",
"rejectSelfSSL": false,
"testPage": "/testpage",
"debugMode": false,
"enableHttps": false
},
"bouncePage": {
"formName": "config/umc-cookie-adapter.html",
"formEncoding": "utf-8"
},
"keys": {
"privateKey": "config/key.pem",
"certKey": "",
"cert": ""
},
"token": {
"lifetime": 180,
"lifetimeUnit": "seconds",
"jwtHeader": {
"alg": "RS256",
"typ": "JWT",
"kid": "e670121515d18baead7cae858a0d1e8d0ba71db4"
},
"jwtPayload": {
"issuer": "UMC Flex Auth",
"typ": "PLG",
"plgId": "3d8203e3-8d5b-48eb-8522-44c30cc33cb0"
}
}
}
JSON description
app Object
rejectSelfSSL boolean true for rejecting self signed SSL, false otherwise.
debugMode boolean true for disabling form auto submit, false otherwise.
enableHttps boolean true to enable https between adapter and UMC, false otherwise.
bouncePage Object
keys Object
privateKey string Relative path of private key used to sign json web token. To be modified.
certKey string Cert key file required by https configuration. To be modified if enableHttps is
true.
cert string cert file with https server certificate. To be modified if enableHttps is true.
token Object
jwtHeader Object
jwtPayload Object
The following machines are involved in this configuration and must be configured in this order:
Note: The Web Server described in the following must be reachable by all Clients and the
UMC Server.
The following steps must be performed on the machine where Teamcenter Manufacturing is installed
and configured.
Prerequisites
Teamcenter 10.1.7 has been installed and configured along with Teamcenter Security Services.
Procedure
The Web server configuration consists in configuring the Web adapter that UMC provides for
integration with Teamcenter Manufacturing.
The adapter is a tcss-web-adapter.zip file that can be found for instance in C:\Program Files\
Siemens\UserManagement\WEB\add-ons.
Prerequisties
NodeJS 6.11.3 has been installed and binary path should be contained in PATH system environments.
Procedure
1. Copy the file tcss-web-adapter.zip from UMC machine and unzip it.
2. Generate a pair of private/public keys.
3. Edit the file default.json.
4. Edit the script tcss-web-adapter.bat to set the UMC_SIGN_PASSPHRASE local environment
variable.
5. Launch tcss-web-adapter.bat to start the application.
6. Take note of location of the Public Key file and the URL of the Web Plugin as they are required
for the next procedure.
The following steps must be performed on the UMC Server in order to integrate Teamcenter
manufacturing with UMC.
Prerequisities
• The TCSS Web Adapter has been launched on the Web Server.
• UMC full installation has been installed and configured.
• The user specified must have the functional right UM_Admin.
• If you are using HTTPS a valid SSL certificate must have been acquired from a Certification
Authority, or a self-signed SSL certificate must have been created.
Procedure
4. After running the powershell script, for each machine where the Identity Provider is installed, it
is necessary to perform the Recycle of the application pool of the Identity Provider
(SimaticLogonPool, for configuration via script) in IIS Manager.
CAUTION:
Performing the Recycle of the application pool can cause service interruption.
8.1 Generating Private and Public Keys for Teamcenter Web Integration
A pair of private/public keys must be generated which use RSA encoding of at least 2048 bits; we
highly recommend that the private key is encoded with an encryption cipher. To do so you can use, for
instance, OpenSSL tool with the following commands:
• to generate the private key: openssl genrsa -des3 -out private.pem 2048;
• to extract the public key: openssl rsa -in private.pem -outform PEM -pubout -out public.key.
When generating the private key, you will be asked to insert a passphrase, which must be used to set
the local environment variable in UMC_SIGN_PASSPHRASE, as described in the next steps of How
to Configure Teamcenter Manufacturing Web Integration.
The fingerprint associated in the public key (sha1) must be set in the appropriate property in the
configuration file default.json.
• ssoServiceURL
• ssoLoginURL
• domainName
• In the keys Object:
– privateKey
Note: If the IdP has been configured with HTTPS Protocol, and there is no reverse proxy
configured, enableHttps must be set to true and you must modify the keys Object:
• certKey
• cert
{
"app": {
"port": 1988,
"endPoint": "/tcss_web",
"endPointSetPluginId": "/tcss_web/setpluginid",
"responseEndPoint": "/tcss_web/getresponse",
"ssoServiceURL": "http://vmtc101b.swqa.tst:7001/tcssoservice",
"ssoLoginURL": "http://vmtc101b.swqa.tst:7001/tcssols",
"tcAppId": "UMC",
"tcAppUserId": "TCSSO_APP_USER_ID",
"tcAppSessionKeyToken": "TCSSO_SESSION_KEY",
"tcDisableApplet": "true",
"rejectSelfSSL": false,
"checkPage": "/checkpage",
"debugMode": false,
"enableHttps": false,
"domainName": "mydomain"
},
"bouncePage": {
"formName": "config/umc-tcss-adapter.html",
"formResponseName": "config/umc-tcss-adapter-response.html"
},
"keys": {
"privateKey": "config/private.key",
"certKey": "config/certKey.pem",
"cert": "config/cert.cer"
},
"token": {
"lifetime": 180,
"lifetimeUnit": "seconds",
"jwtHeader": {
"alg": "RS256",
"typ": "JWT",
"kid": "88FACEFCD6ED416BC6D516D10E09ABBBDA85FDC6"
},
"jwtPayload": {
"issuer": "UMC Flex Auth",
"typ": "PLG",
"plgId": "4c0c2e5c-6e95-4ed1-aa13-591da04c30f8"
}
}
}
JSON description
app Object
endPoint string The relative path of endpoint the TCSS Web adapter, if this
value is modified the values of: responseEndPoint and
endPointSetPlugin must also be modified.
endPointSetPlugin string The relative path of the plugin ID of the end point.
ssoServiceURL string The url of the Teamcenter Security Services identity service. To
be modified.
ssoLoginURL string The url of the Teamcenter Security Services login service. To
be modified.
debugMode boolean true for disabling form auto submit, false otherwise.
enableHttps boolean true to enable https between adapter and UMC, false
otherwise. Note that if the Identity Provider has been
configured with HTTPS this must be set to "true".
domainName string The name of the windows domain which is specified in the
Teamcenter Security Service.
tcAppUserId string For Internal use only, the default value is:
TCSSO_APP_USER_ID
tcAppSessionKeyToken string For internal use only, the default value is:
TCSSO_SESSION_KEY
tcDisableApplet boolean For internal use only us , the default value is: true
checkPluginId boolean For internal use only use, the default value is: true.
bouncePage Object
keys Object
privateKey string Relative path of private key used to sign json web token. To be modified.
certKey string Cert key file required by https configuration. To be modified if enableHttps is
true.
cert string cert file with https server certificate. To be modified if enableHttps is true.
token Object
jwtHeader Object
jwtPayload Object
The following machines are involved in this configuration and must be configured in this order:
The following steps must be performed on the machine where Teamcenter Manufacturing is installed
and configured.
Prerequisites
Teamcenter 10.1.7 has been installed and configured along with Teamcenter Security Services.
Procedure
The Web Server configuration consists in configuring the web adapter (TCSS Rac Web Adapter in
what follows) that UMC provides for integration with Teamcenter Manufacturing.
The adapter is a tcss-rac-adapter.zip file that can be found, for instance, in C:\Program Files\
Siemens\UserManagement\WEB\add-ons.
Prerequisties
• NodeJS 6.11.3 has been installed and binary path should be contained in PATH system
environments.
Procedure
1. Copy the file tcss-rac-adapter.zip from UMC machine and unzip it.
2. Generate a pair of private/public keys.
3. Edit the file default.json.
4. Edit the script tcss-rac-adapter.bat to set the UMC_SIGN_PASSPHRASE local environment
variable.
5. Launch tcss-rac-adapter.bat to start the application.
6. Take note of location of the Public Key file and the URL of the TCSS RAC Web Adapter as
they are required for the next procedure.
The following steps must be performed on the UMC Server in order to integrate Teamcenter
manufacturing with UMC.
Prerequisities
Procedure
4. After running the powershell script, for each machine where the Identity Provider is installed, it
is necessary to perform the Recycle of the application pool of the Identity Provider
(SimaticLogonPool, for configuration via script) in IIS Manager.
CAUTION:
Performing the Recycle of the application pool can cause service interruption.
The following steps must be performed on all the UMC Station Clients, which are the machines where
RAC is installed. The powershell script allows you to register a client, if it has not already been
registered, and to configure integration with Teamcenter.
Prerequisities
Procedure
9.1 Generating Private and Public Keys for Teamcenter RAC Integration
A pair of private/public keys must be generated which use RSA encoding of at least 2048 bits; we
highly recommend that the private key is encoded with an encryption cipher. To do so you can use, for
instance, OpenSSL tool with the following commands:
• to generate the private key: openssl genrsa -des3 -out private.pem 2048;
• to extract the public key: openssl rsa -in private.pem -outform PEM -pubout -out public.pem.
When generating the private key, you will be asked to insert a passphrase, which must be used to set
the local environment variable in UMC_SIGN_PASSPHRASE, as described in the next steps of How
to Configure Integration with RAC Teamcenter Manufacturing.
The fingerprint associated in the public key (sha1) must be set in the appropriate property in the
configuration file default.json.
• ssoServiceURL
• ssoLoginURL
• domainName
• In the keys Object:
– privateKey
Note: If the IdP has been configured with HTTPS Protocol, and there is no reverse proxy
configured, enableHttps must be set to true and you must modify the keys Object:
• certKey
• cert
{
"app": {
"port": 1987,
"endPoint": "/tcss_integration",
"endPointSetPluginId": "/tcss_integration/setpluginid",
"rejectSelfSSL": false,
"checkPage": "/checkpage",
"debugMode": false,
"enableHttps": false,
"domainName": "mydomain",
"ssoServiceURL": "http://vmtc101b.swqa.tst:7001/tcssoservice",
"ssoLoginURL": "http://vmtc101b.swqa.tst:7001/tcssols",
"tcAppId": "UMC",
"tcAppUserId": "TCSSO_APP_USER_ID",
"tcAppSessionKeyToken": "TCSSO_SESSION_KEY",
"tcDisableApplet": "true",
"checkPluginId": true
},
"bouncePage": {
"formName": "config/umc-cookie-adapter.html",
"formEncoding": "utf-8"
},
"keys": {
"privateKey": "config/private.key",
"certKey": "config/certKey.pem",
"cert": "config/cert.cer"
},
"token": {
"lifetime": 180,
"lifetimeUnit": "seconds",
"jwtHeader": {
"alg": "RS256",
"typ": "JWT",
"kid": "88FACEFCD6ED416BC6D516D10E09ABBBDA85FDC6"
},
"jwtPayload": {
"issuer": "UMC Flex Auth",
"typ": "PLG",
"plgId": "b82370af-c3b4-4f54-9007-c34b7233d005"
}
}
}
JSON description
app Object
endPoint string The relative path of endpoint the TCSS Rac adapter, if this
value is modified the values of endPointSetPlugin must also be
modified.
endPointSetPlugin string For internal use only, and depends on the value of the previous
property.
debugMode boolean true for disabling form auto submit, false otherwise.
enableHttps boolean true to enable https between adapter and UMC, false
otherwise. Note that if the Identity Provider has been
configured with HTTPS this must be set to "true".
domainName string The name of the windows domain which is specified in the
Teamcenter Security Service.
ssoServiceURL string The url of the Teamcenter Security Services identity service. To
be modified.
ssoLoginURL string The url of the Teamcenter Security Services login service. To
be modified.
tcAppUserId string For Internal use only, the default value is:
TCSSO_APP_USER_ID
tcAppSessionKeyToken string For internal use only, the default value is:
TCSSO_SESSION_KEY
tcDisableApplet boolean For internal use only, the default value is: true
checkPluginId boolean For internal use only, the default value is: true.
bouncePage Object
keys Object
privateKey string Relative path of private key used to sign json web token. To be modified.
certKey string Cert key file required by https configuration. To be modified if enableHttps is
true.
cert string cert file with https server certificate. To be modified if enableHttps is true.
token Object
jwtHeader Object
jwtPayload Object
Prerequisites
• A previous version of UMC is installed and configured for all the machines of the scenario you
need to upgrade.
• Follow the general recommendations for UMC upgrade.
Workflow
• If a previous version of UMC is only installed and NOT configured, you simply have to install
and configure UMC as if it were the first installation.
• If a previous version of UMC is installed in a directory different from the default one, you have to
uninstall the system according to the dedicated uninstall procedure (see the documentation
relative to the version) and reinstall it from scratch.
• During the upgrade procedure, no UMC command can be executed except the one that are part
of the procedure.
• If you have installed and configured UMC 1.0, you have first to upgrade to UMC 1.1 (see UMC
1.1 Release Notes) and then upgrade the system.
• If you have installed UMC 1.1 in a HTTP scenario, you have to convert the scenario from HTTP
to HTTPS after upgrading.
• Upto UMC 1.9, all the machines in a redundant scenario had to be upgraded, as of UMC 1.9,
we support long-term mixed scenarios. Thus, if you have a version which is older than 1.9 and
you want to have a mixed version scenario, first you have to upgrade all the UMC installations
you have to UMC 1.9.
• All the clients who access UMC Web applications must clean the browser cache in order to
correctly display UMC pages.
• To know the machine role you can use the umconf Show Status command. See the UMCONF
User Manual for more details.
• As of UMC 1.6, user name length of up to 100 characters is supported. In the case of a mixed
scenario, with machines where a version older than UMC 1.6 is installed, the management of
users with long user names (more than 30 characters) might cause problems. We strongly
suggest that you align all the machines to the most recent UMC version as soon as possible.
General Recommendations
• Before upgrading the system, in case you have performed customizations of the Identity
Provider on the web.config file (e.g. C:\Program Files\Siemens\UserManagement\WEB\
IPSimatic-Logon\Web.config), we strongly suggest that you save a local copy of this file.
Consider that running configuration scripts, e.g. IdP_WebUI_configurator.bat, can modify the
web.config file, e.g. to configure Http.
• During the upgrading procedure only the priority ring server is available; thus, for a minimum
amount of time, you do not have system redundancy support.
• During the upgrading procedure, session loss may occur.
Procedure
1. If NLB is configured, remove the secondary ring server from the NLB cluster.
2. If UMC Web components were configured on the machine, stop the application pools of the
UMC applications in IIS Manager.
3. Close all the running applications.
4. Launch the installer and select to upgrade the system. In case the installation asks you to
reboot the system, perform the system reboot. When the system reboots the installer
automatically starts.
5. Run the command umconf -U to upgrade the system. Refer to the UMCONF User Manual for
more details
6. If UMC Web components were configured on the machine:
– manually perform Identity Provider web.config customizations, if any,
– start the application pools of the UMC applications in IIS Manager.
General Recommendations
• Before upgrading the system, in case you have performed customizations of the Identity
Provider on the web.config file (e.g. C:\Program Files\Siemens\UserManagement\WEB\
IPSimatic-Logon\Web.config), we strongly suggest that you save a local copy of this file.
Consider that running configuration scripts, e.g. IdP_WebUI_configurator.bat, can modify the
web.config file, e.g. to configure Http.
• During the upgrading procedure only the secondary ring server is available; thus, for a minimum
amount of time, you do not have system redundancy support and UMC database modifications
are not possible.
• During the upgrading procedure, session loss may occur.
Procedure
1. If UMC Web components were configured on the machine, stop the application pools of the
UMC applications in IIS Manager.
2. Close all the running applications.
3. Launch the installer and select to upgrade the system. The system may ask you to reboot
before or after upgrading UMC, in which case you must perform the system reboot. If the
reboot is performed before upgrading the installer will automatically starts when the system
reboots.
4. Run the command umconf -U to upgrade the system. Refer to the UMCONF User Manual for
more details.
5. If UMC 1.1 is installed in a standalone scenario in HTTP and you want to enable HTTPS
upgrading to UMC 1.4, then you have to perform this additional procedure.
6. If UMC Web components were configured on the machine:
– manually perform Identity Provider web.config customizations, if any;
– start the application pools of the UMC applications in IIS Manager.
General Recommendations
• Before upgrading the system, in case you have performed customizations of the Identity
Provider on the web.config file (e.g. C:\Program Files\Siemens\UserManagement\WEB\
IPSimatic-Logon\Web.config), we strongly suggest that you save a local copy of this file.
Consider that running configuration scripts, e.g. IdP_WebUI_configurator.bat, can modify the
web.config file, e.g. to configure Http.
• During the upgrading procedure, session loss may occur.
Procedure
1. If UMC Web components were configured on the machine, stop the application pools of the
UMC applications in IIS Manager.
2. Close all the running applications.
3. Launch the installer and select to upgrade the system. In case the installation prompts you to
reboot the system, perform the system reboot. When the system reboots, the installer
automatically starts.
4. Run the command umconf -U to upgrade the system. Refer to the UMCONF User Manual for
more details.
5. If UMC Web components were configured on the machine:
– manually perform Identity Provider web.config customizations,
– start the application pools of the UMC applications in IIS Manager.
6. If the UM server was connected to NLB cluster, reconnect the machine to the cluster.
Procedure
Procedure
Result
CAUTION:
If UMC is also configured, the database files are not removed by the uninstallation
procedure. This procedure has to be performed on all the machines, UM ring servers, UM
servers and agents. We suggest that you perform the procedure on the UM agents first.
Procedure
1. If the machine is a 64 bit ring server where the Web Components have been configured,
launch the script REMOVE_IdP_WebUI_configurator.bat. The batch file can be found in C:\
Program Files\SIEMENS\UserManagement\BIN, if the default installation folder is selected.
Note that the script works on a 64 bit machine only.
2. Delete the database files, the registry entries and so on by executing the umconf -D -f
command. Please refer to the UMCONF User Manual for more details.
3. Open Program and Features from the Control Panel.
4. Select the UMC entry and right click.
5. Select Uninstall.
6. The uninstall setup is launched: proceed with the uninstallation steps.
Procedure
Example
12.2 Troubleshooting
General
Cannot Authenticate with unexpected Give access to the user that is launching the NA
problem. umtracer gpclib shows a command to the CONF directory of UMC (auth.
tentative to use pipes to open a users, for example).
connection to local machine.
IdP shows a compilation error and IIS_IUSRS has no access to windows TEMP NA
raises an error while trying to access folder.
a temp folder (windows temp or
temporary asp.net files)
Web UI: cannot enter a UMC web umc_pool application pool was configured to NA
application with error "Cannot run in 32 bit mode. Set the flag "Enable 32 bit"
connect to server" to FALSE in umc_pool configuration.
UMC Web UI shows the following IIS features missing: Basic authentication, NA
error Error on Login: An error Windows authentication, asp.net 4.5 was not
occurred during communication with installed.
the server.
Identity Provider Login pages shows IIS features missing: Basic authentication, NA
error related to unknown Keys or Windows authentication, asp.net 4.5 was not
security error related to webconfig. installed.
Relaunch Idp_webui_, and so on.
UMCONF error 4 while joining. The list of UMC rings is already full - check on NA
ring master with umconf -t and unjoin the
secondary ring.
SMART CARD: Error 403.7 forbidden Enable CRL (Client Revocation List), refer to NA
when trying to open info.aspx page your IT department for details.
and / or trying to authenticate.
Provisioning
You cannot configure the Verify that the ring server machine is joined NA
provisioning. to the Windows domain.
In the UMC Web UI you Verify that the ring server machine is joined NA
display undefined in the to the Windows domain, that you have
domain drop down list to configured the UMC Provisioning service
import users/groups. UPService.exe and that the Windows user
associated to the service has Active
Directory access rights.
The import buttons do not Verify that you have configured the UMC See the Basic Post
appear in the UMC Web UI. Provisioning service UPService.exe and Setup Instructions of
check that the value of the registry key the Release Notes, the
HKEY_LOCAL_MACHINE\SOFTWARE\ UMCONF User Manual
Siemens\User Management\WebUI\Settings\ and UMX User Manual
domains_support is set to yes. for the commands.
You perform the import of Verify that the Group scope is Universal. See the UMCONF
an AD group and the User Manual.
members are not imported.
The search to import AD You may have to modify the Active Directory See the Functional
users/groups returns 0 and administration limit MaxPageSize. Consider Limitations of the
you presume that your that the AD default is 1000, if your search Release Notes.
search criteria will return returns more that 1000 results you have to
many data. modify this value to a value higher then the
number of search results.
The import of an AD group You may have to modify the Active Directory See the Functional
having a high number of administration limit MaxValRange. Limitations of the
associated users is not Release Notes.
successful.
Event Logged
Authentication
Successful login
Unsuccessful Login
Change Password
Ticket Validation
Session
Management
Session Creation
Session Deletion
Configuration
Event Logged
Custom
operation
• In a redundant scenario, log files can potentially be generated from different servers.
Mechanisms to manage reconciliation of data produced by different servers are available.
• Internal APIs allows one to write UMC events and to search UMC events related to a given
date.
• A UMC Web UI page (with limited reading capabilities) has been created to display event data
and to search them according to an input date. The old value and the new value of UMC data
related to the event are displayed.
• The log forwarding allows one to forward the log files to another application (e.g. UAF or
SIMATIC IT Production Suite). It is based on an http(s) protocol in order to be platform
independent.
• A UMX command to list event log records is provided.
12.5.1 IElLog
This provider is used to decouple the implementation and to integrate a custom provider for log
forwarding.
Functions
• SaveLog: This function is used to save the log entry in the repository.
• Invalidate: This function is used to rollback an entry in case of failure.
According to this approach, the external application should implement a provider that exposes the
IElLog interface. The binary has to be built for x86 usage and without Unicode setting (character
encoding is not set).
The provider is public and cannot replace the one used internally in order to decouple the
implementation of ELG from the UMC Service functionalities.
Example
#include <string>
class IFMCProvider
{
public:
virtual void DisposeProvider() = 0;
};
//TO DO
return LF_E_UNSUPPORTED_FUNCTION;
//TO DO
return LF_E_UNSUPPORTED_FUNCTION;
}
delete this;
}
private:
};
IFMCProvider* OSAL_GetProvider(const char* providername, const char*
securityticket, unsigned short* res)
{
//Customize if necessary
return provider;
}
Configuration
Log forwarding via C++plug-in needs a configuration step. You have to add the following section in the
registry:
Security Measures
You have also to protect the folder where the library is stored and prevent library tampering using a
strong signature and an application whitelisting.
The editing of this file is optional. The following rules apply in computing the list of the domains from
which users and/or groups can be imported:
• if the property domains is not empty, this list is considered for import, otherwise
• the field query_for_domains defines the AD input query to compute the domain list.
• copy the file in each machine where the provisioning is configured and
• manually restart the UPService.
{
"add_alias_to": "",
"domains": [{
"name": "domain1"
}],
"purge_time": "720",
"query_for_domains": "(objectcategory=crossref)",
"query_for_groups": "",
"query_for_user": "",
"query_for_users": "",
"recycle_time":
"1440"
}
JSON description
add_alias_to string The name of the AD field that has to be used as alias.
domains string It is an array of domains where each domain object contains the
name. Formatted as follows: [{"name":"domain1"},{"name":"domain2"}]
}, note that the domain suffix must not be used. By default the array is
empty.
purge_time string If a user is deleted from AD, it is flag as offline. Offline users are
permanently deleted from UMC database, after a number of minutes
indicated in this field. The default is 24 hours (720 minutes). The
following constraint must be valid: purge_time<recycle_time.
query_for_domains string AD query, see Microsoft documentation for more details. The query "
(objectcategory=crossref)" is the default one. If the query in the file
contains an error, the default query is executed.
recycle_time string Number of minutes before provisioning server restart. The default is
24 hours (1440 minutes). The following constraint must be valid:
purge_time<recycle_time.