ULM Server Tools Guide
ULM Server Tools Guide
License Management
Unified License Manager (ULM)
The information in this file is subject to change over time. Honeywell may make changes to
the requirements described. Future revisions will incorporate changes, including corrections
of typographical errors and technical inaccuracies.
Honeywell
130 Dufferin Ave.
London, Ontario
N6A 5R2
Telephone: (519) 679-6570
Facsimile: (519) 679-3977
Prepared in Canada.
Table of Contents
1 Administrator Console .......................................... 1-1
1.1 Introduction .................................................... 1-2
1.2 Getting Started ................................................ 1-2
1.3 What Can Administrator Console be used for? ...... 1-2
1.4 The Current Users Tab ...................................... 1-4
1.5 Disconnecting Users from ULM ........................... 1-5
1.6 Installed Licenses ............................................. 1-6
1.7 Alerts Tab ....................................................... 1-7
1
2
Administrator Console 1-1
1 Administrator Console
1-1
1-2 Introduction
1.1 Introduction
The ULM offers two license administrator tools available from the ULM
Config Wizard, Server Tools page:
• Administrator Console (Admin Console)
• Limiting access to the Admin Console Tool
• Usage Monitor
To install Admin Console run the setup.exe found in the ULM Admin
Tools folder on the installation media.
Start > All Programs > Honeywell > ULM Admin Tools > Admin Console
1-2
Administrator Console 1-3
Figure 1.1
Begin by entering the server name in the Server field - you are now
ready to configure properties for that server. Commute Limits (days/
users), Forced Disconnect Timeout and Reporting Interval are available,
configurable fields for the server.
1-3
1-4 The Current Users Tab
Figure 1.2
1-4
Administrator Console 1-5
Figure 1.3
1-5
1-6 Installed Licenses
Figure 1.4
1-6
Administrator Console 1-7
To add an alert click the Add Alert button, enter a valid email address
and check Enable Alerts. Optionally, Start and End times may be
specified in the definition of an alert. License failures outside those
times will not trigger an alert. Note that Start and End times are not
required in order to configure an alert. The next time there is a license
failure due to the user limit being exceeded the license administrator
will be notified via email. A valid mail profile needs to be configured the
first time alerts are used by clicking the Setup e-mail for server…
button.
1-7
1-8 Alerts Tab
Once an email has been successfully sent, the Setup e-mail dialog can
be closed and all settings will be remembered.
Figure 1.5
The ULM Server Admin Console will automatically check for the need to
send "Usage Limits Exceeded" and "Commuted License" alert emails on
the same interval as the report generation - recall that the Reporting
Interval can be set on the Server Properties tab. All other alerts are
checked for and sent once daily or when Server is restarted.
1-8
Administrator Console 1-9
The Admin Console will not allow disabling of the Reporting Interval
while alerts are enabled. If the Reporting Interval is disabled, and then
alerts are enabled, Admin Console will automatically set the interval to
5 minutes so that alerts get reported.
Requests for these license(s) have failed due to exceeded user limits:
HoneywellProgram.Process
The Usage Alert Limits Exceeded alert only applies to licenses that have
an Alert Limit configured (see the Installed Licenses page). Note
that the Alert Limit will default to the Soft Limit if one has been
configured by Honeywell. The alert will be triggered once daily if any
license usage exceeds the configured Alert Limit over the previous day
(within the Start and End times if configured). The resulting email has
an attachment of each license file involved and details the high license
usage with the following message in the body of the email:
On license server:
<Server Machine Name> (Server IP address)
The following licenses have exceeded usage alert limits by the number
of users shown.
• ACME.aaa (2)
• ACME.bbb (1)
The Licenses Expire Within set of alerts can be configured for a 30, 60
or 90 day check into the future. Note that for these alerts the Start and
End times cannot be entered and are ignored. Soon to expire licenses
will checked for once daily and an alert is only triggered once for the
chosen time frame (although a server restart can cause these alerts to
be sent again). The resulting email has an attachment of each license
file involved and details the soon to expire licenses with the following
message in the body of the email:
On license server:
<Server Machine Name> (Server IP address)
1-9
1-10 Alerts Tab
01/23/2010 (expired):
ACME.aaa
The following licenses are active and will expire on the dates
shown.
05/27/2011:
ACME.bbb (valid for another 10 days)
On license server:
<Server Machine Name> (Server IP address)
by user:
<User Name>
1-10
Usage Monitor 2-1
2 Usage Monitor
2-1
2-2 Introduction
2.1 Introduction
The ULM offers two license administrator tools (ULM Admin Tools):
• Usage Monitor
Note: Admin Tools has
been renamed to Server • Administrator Console
Tools on the ULM Config • Limiting access to the Admin Console Tool
Wizard.
Admin Console is designed to enable license administrators to manage
the users of licenses on a live basis. Usage Monitor allows the license
administrator to analyze past license usage, which can be useful for
department usage billing or to determine the need for additional or
alternate licenses. For more information on limiting access to users of
this tool refer to Limiting access to the Admin Console Tool.
2-2
Usage Monitor 2-3
Figure 2.1
2-3
2-4 Analyzing Logged Data
The displayed date range may be configured using the Filter Date
Range options. The radio buttons at the top right control the time units
used to display the Usage above Soft Limit and Maxed out Duration
properties.
2-4
Usage Monitor 2-5
• Usage above Soft Limit – the total length of time when the
usage was over the configured (by Honeywell) Soft Limit.
• Failures – the number of failures, click the “…” button see failure
dates/times .
• Maxed out Duration – the total length of time when the usage
was at the usage limit (i.e. at the maximum allowed number of
licenses).
• Maxed out Dates – the number of days on which the usage was
at the usage limit, click the “…” button to see the dates.
Figure 2.2
2-5
2-6 Reporting from the Usage Monitor
Press Preview… to see the report. The report can be sent straight to a
printer (Print) or to a text file (Print to File)
2.8 Scripting
A script of all the actions taken (for example to generate a monthly
report) can be recorded (use Tools - Script - Record menu option) as a
text file with a "*.script" extension. Scripts can be replayed directly
from the Usage Monitor (Tools - Script - Play menu option) or from the
command line using the syntax /sx <script name> ("x" forces the
application to close after script hsa run).
Figure 2.4
2-6
Access Control Configuration 3-1
3 Access Control
Configuration
3.1 Summary ....................................................................................... 2
3.11 Troubleshooting..........................................................................14
3-1
3-2 Summary
3.1 Summary
The Honeywell Software License Management system, Unified License
Manager (ULM) features an Access Control capability which allows
network licenses or license buckets to be restricted to certain users
(logging into certain network domains) and/or certain machines
(operating in certain network domains).
Here the ULM Server is a machine running the ULM software, hosting
licenses which are accessible over the network to ULM client machines
which may be running software which is licensed using the ULM.
If there is an error when the access control file is read by the ULM a
message:
For a parsing error:
Message: Failed loading AccessControl.xml. <Specific reason
for parse failure>.
3.2.1 Examples
Listed below, in Example 1, is a very simple AccessControl.xml file
which illustrates the file structure.
Example 1
<?xml version="1.0" encoding="utf-8" ?>
3-2
Access Control Configuration 3-3
<AccessControl>
<License name="ACME.aaa" access="*@*.tudor.com"/>
<License name="ACME.ddd" deny="[email protected]"/>
</AccessControl>
Here User Principle Name (UPN) user names are used, with wildcards,
as well as the access and deny keywords. This access control file
means that any user who matches the UPN *@*.tudor.com, where *
can represent any single word (an * cannot contain any dots) can use
the ACME.aaa and the user [email protected] may not use the
ACME.ddd license, implicitly any other user may.
Example 2
<?xml version="1.0" encoding="utf-8" ?>
<AccessControl>
<License name="ACME.aaa" access="*.*.kings.com:*"/>
</AccessControl>
Here any user (signified by the * after the colon) may use the
ACME.aaa license when they are logged into a machine whose name
matches the *.*.kings.com string (for example
georgesPC.windsor.kings.com or jamesPC.stuart.kings.com) again the
* can represent any single word (an * cannot contain any dots) so a
user with the machine name elizabethsPC.queens.windsor.kings.com is
not allowed access.
Similarly, if the licenses on the server are grouped into buckets then
this syntax may be used; any access control will then apply to all
licenses within the bucket:
<Bucket name=[bucket name] access=[machine/user or group name(s)
semi-colon delimited] deny=[machine/user or group name(s) semi-
colon delimited]/>
3-3
3-4 Machine/User Definition
Comments may be included in the access control file using the syntax:
<!-- Anything inside is ignored -->
If no colon (:) is entered then the entry is assumed to be just the user
name:
A single asterisk (*) wildcard may be used to imply any machine or any
user:
3-4
Access Control Configuration 3-5
Asterisk wildcards (*) can only be used at the start of the machine
definition. Trailing wildcards are not supported; the ULM does not
check for an explicit machine on any domain such as: “machine.*” or
“machine.*.*” etc.
Here any user (signified by the * after the colon) may use the
ACME.aaa license when they are logged into a machine whose name
matches the *.*.kings.com string (for example
georgesPC.windsor.kings.com or jamesPC.stuart.kings.com). The *
can represent any single word (no dots within a *) so a user with the
machine name elizabethsPC.queens.windsor.kings.com is not allowed
access.
3-5
3-6 Group Definition
The UPN of any user will be reported in the usage.log file which may be
examined in the Usage Monitor, for example:
02/12/2010 9:00 License: ACME.aaa (Process1) +1 Referencer:
ACME @ henryspc.kings.com (1):[email protected]
If the use of the domain name is required as part of the access control
then the @ sign must be used in the user name specification. It is still
possible to make ‘old style’ non-UPN user specifications.
So both
and
are permissible.
In the first case above a user henry would match the user definition
regardless of the domain they were logging in to.
Asterisk wildcards (*) may be used within the UPN user name definition
subject to the same restrictions as described above for machine names:
• Asterisk wildcards can be used to replace any single words in the
[user]@[domain] string. (* wildcards cannot contain dots)
Asterisk wildcards can also be used only at the start of the domain
name only; trailing wildcards are not supported. (for example
“*@tudor.*” won’t work.)
3-6
Access Control Configuration 3-7
Example 3
<Group name="Group1" members="William;Henry"/>
<Group name="Group2">
<member name="Arthur"/>
<member name="Group1"/>
</Group>
<Group name="Group3" members="Elizabeth;Mary">
<member name="Victoria"/>
<member name="Group1"/>
</Group>
Group names must not match with any user names or use the special
group name of AllLicenses. Adding members to AllLicenses gives
them access to all licenses on the server.
Or:
<Group name=[unique name for group] ADQuery_OU=[canonical name
for AD OU]>
3-7
3-8 Precedence, Inheritance and
Examples:
<Group name="Group4"
ADQuery_Group="cn=group,ou=container,dc=domain,dc=com"/>
<Group name="Group5"
ADQuery_OU="ou=container,dc=domain,dc=com"/>
3-8
Access Control Configuration 3-9
Based on these rules the table below shows the order of precedence for
access (top of list has the highest precedence). A Deny statement at
any level will override access:
Table 1
Order of Precedence (for
Order of Precedence
exclusiveAccess)
3-9
3-10 Precedence, Inheritance and
Example 4
<?xml version="1.0" encoding="utf-8" ?>
<AccessControl>
<Groups>
<Group name="Tudors">
<member name="*@tudor.com"/>
</Group>
<Group name="Stuarts">
<member name="*@stuart.com "/>
</Group>
<Group name="Windsors">
<member name="*@windsor.com "/>
</Group>
</Groups>
<Bucket name="XXX" access="Windsors"/>
<Bucket name="Process1andProcess2" deny="Stuarts">
<License name="ACME.bbb" deny="Tudors"/>
<License name="ACME.eee" deny="Tudors"/>
</Bucket>
<Bucket name="Process1">
<License name="ACME.aaa" deny="Stuarts"/>
</Bucket>
</AccessControl>
Based on the access control file above these have the following access:
3-10
Access Control Configuration 3-11
Consider Example 5 below where groups are defined and the special
AllLicenses and exclusiveAccess keywords used.
Example 5
<?xml version="1.0" encoding="utf-8" ?>
<AccessControl>
<Groups>
<Group name="AllLicenses" members="Stephen;Richard"/>
<Group name="Group1" members="William;Henry"/>
<Group name="Group2" members="Arthur;Group1"/>
</Groups>
<License name="ACME.aaa" access="Group1"/>
<License name="ACME.ddd" exclusiveAccess="John"/>
<License name="ACME.ccc" access="Group2"/>
<License name="ACME.bbb" access="Group2" deny="Stephen"/>
</AccessControl>
Here Richard and Stephen are assigned to the special group AllLicenses
which means they can access all licenses (with exceptions noted
below). William and Henry (Group1) can access the ACME.aaa license.
Arthur, William and Henry (Group2) can access the ACME.ccc license.
Example 6
<?xml version="1.0" encoding="utf-8" ?>
<AccessControl>
<Groups>
<Group name="Group1" members="Charles;Henry"/>
<Group name="Group2" members="Arthur;Group1"/>
</Groups>
<AllLicenses access="Edward;Mary;Elizabeth"/>
<Bucket name="Bucket1" access="Group1;William">
<License name="ACME.aaa" access="Anne;George"/>
<License name="ACME.fff" access="Anne"/>
</Bucket>
3-11
3-12 ‘By Exception’ Partial Wildcards
Here the users Edward, Mary and Elizabeth have access to all licenses
in all buckets (using the new <AllLicenses …/> syntax) with the
exception of those licenses marked as exclusiveAccess below.
Similarly the user John has exclusive access to all the licenses in bucket
Special2 (this overrides the AllLicenses access for Edward, Mary and
Elizabeth).
Note that the example above has some "License name" definitions
outside the Bucket definitions. This means that the defined access is
applied to the named license(s) regardless of their containing bucket.
So ACME.SpecialLicense is only ever accessible by the user John
whatever bucket it appears in and ACME. ThisLicenseInAnyBucket is
always accessible by the members of Group2 whatever bucket it
appears in, unless access is prohibited by an exclusive Access keyword
for the bucket or license within the bucket.
3-12
Access Control Configuration 3-13
For example:
<Bucket name="Bucket1" access="*@kings.com;!abc*@kings.com +
[email protected];!xyz*@kings.com +
[email protected];!jkl*@kings.com"/>
means
BUT
For example:
<Bucket name="Bucket1" deny="!abc*@kings.com +
[email protected]"/>
means
BUT
3-13
3-14 Limiting access to the Admin
Example 7
<?xml version="1.0" encoding="utf-8" ?>
<AccessControl>
<Groups>
<Group name="Admin" members="William"/>
</Groups>
<License name="AdminConsole.Access" access="Admin"/>
</AccessControl>
3.11 Troubleshooting
The PrintAllowedLicenses command line tool, available in the
SimStation folder (typically C:\Program Files\Common
Files\Honeywell\SimStation) can be used to display all the licenses
available to the currently logged in user, and the bucket in which they
are contained (displayed in brackets). It can be run on the client or the
server. When run on the client it shows all the licenses available on all
the configured alternate hosts. When run with the /v (verbose) switch
PrintAllowedLicenses will display any access and deny lists for each
available license. PrintAllowedLicenses can also be supplied with a
machine/user name to display the licenses available for that machine/
user. For full details run PrintAllowedLicenses /?.
3-14
Access Control Configuration 3-15
If there is an error when the access control file is read by the ULM a
message:
After sufficient time for AD query to complete (likely no more than 1-11
minutes), the results of the last group with an AD reference in
AccessControl.xml will appear in this file. The contents of the file will
vary slightly depending on the type of query being done (group or OU).
ULM will only use full UPN members listed (i.e. only those containing
the '@' symbol). If the members list is not correct then either a
different AD group/OU is needed or possibly an additional group with
another AD group/OU could be used as well.
3-15