Skip to main content

1E 9.x (on-premises)

Preparation

What you will need to prepare in advance of implementing a 1E server in your network. Typically, these are tasks that may take some time to organize, depending on how your organization works.

Implementation Overview

Please review all tasks to decide how you wish to proceed, and record all configuration details.

Implementation of 1E can be extremely quick if all necessary preparations have taken place, and is typically performed in this order:

  1. Obtain the Tachyon License file - ensure it includes entries for the consumer applications you have purchased.

  2. Provision the 1E Web and SQL server hardware refer to Server Provisioning.

  3. Provision applications in the IdP

  4. Identify and create AD Accounts and Groups, refer to Active Directory.

  5. Review each of the requirements pages under Planning for 1E.

  6. Manually install clients on a few test devices, refer to Deploying 1E Client.

  7. Use the 1E Verification Instruction to verify the installation, refer to Verifying.

  8. Install other Instruction Definitions refer to Instruction sets page - from the 1E platform zip, and from https://exchange.1e.com/

  9. Add the Instruction Definitions to Instruction Sets to determine their permissions, refer to the Instruction sets page.

  10. Install 1E Consumers (documentation not provided here).

  11. Package the 1E client as required by your software deployment tool (see note).

  12. Deploy the client to more pilot devices.

  13. Pilot testing.

  14. Start rollout of clients.

  15. Use the SDK to begin developing your own instructions and testing your use-cases.

Note

If your organization requires the client to be packaged, then you can do this once you know the DNS Name(s). Then you can prepare for deploying the client in parallel to preparing and installing the server.

Details required when using 1E Server Setup to install a 1E server

The table below lists details required on each of the 1E Server Setup screens. You can review screens in the 1E Server Setup page. Items marked * can wait until after installation.

1E Setup

Documentation Reference

All components installed on a single server

Master Stack

Response Stack

DMZ Server

1E License file

License file

Code Signing Certificates

The license file is required to complete Setup and confirm internet access to the 1E licensing service.

The license file is required to complete Setup, and confirm internet access to the 1E licensing service.

The license file is required to complete Setup and to cross-check the number of devices supported by this server.

The license file is required to complete Setup and to cross-check the number of devices supported by this server.

Configuration

Decide which applications you want to install from the following list:

  • Experience Analytics

  • Content Distribution

  • Business Intelligence (required for Patch Success)

  • AppClarity

  • Application Migration.

Decide which applications you want to install from the following list:

  • Experience Analytics

  • Content Distribution

  • Business Intelligence (required for Patch Success)

  • AppClarity

  • Application Migration

Select Content Distribution if you are using, or plan to use Content Distribution.

Select Content Distribution if you are using, or plan to use Content Distribution.

Check prerequisites

Web Server Certificate

Windows Server roles and features

All prerequisites must be checked, including:

All prerequisites must be checked, including:

All prerequisites must be checked, including:

All prerequisites must be checked.

Server certificate

Web Server Certificate(server)

A web server certificate is required for:

  • Website (including Endpoint Troubleshooting, Consumer API, Core and Background Channel)

  • Switch(es)

A web server certificate is required for:

  • Website (including Endpoint Troubleshooting and Consumer API)

A web server certificate is required for:

  • Website (Core and Background Channel)

  • Switch(es)

A web server certificate is required for:

  • Website (Background Channel)

  • Switch(es)

Client certificates

Web Server Certificate (clients) *

Decide whether you will require certificates to be presented by the clients.

Import the certificates of any trust authorities used by devices and remote servers that do not match the trust authority used by the Server certificate.

Decide whether you will require certificates to be presented by the clients.

Import the certificates of any trust authorities used by devices and remote servers that do not match the trust authority used by the Server certificate.

Import the certificates of any trust authorities used by devices and remote servers that do not match the trust authority used by the Server certificate.

Import the certificates of any trust authorities used by devices and remote servers that do not match the trust authority used by the Server certificate.

Database servers

SQL Databases

Name of the SQL Server instance that will host the new TachyonMaster database.

Name of the SQL Server instance that will host the new TachyonResponses database.

Names of the SQL Server instances that will host the additional databases used by any bundled components that are selected for installation.

Keep old DB or not (n/a for new installation).

If using a remote SQL Server, please refer to Network interfaces.

Name of the SQL Server instance that will host the new TachyonMaster database.

Names of the SQL Server instances that will host the additional databases used by any bundled components that are selected for installation.

Keep old DB or not (n/a for new installation).

Name of the SQL Server instance that hosts the existing TachyonMaster database.

Name of the SQL Server instance that will host the new TachyonResponses database.

Keep old DB or not (n/a for new installation).

If using a remote SQL Server, please refer to Network interfaces.

This page is greyed out.

The DMZ Server does not have direct access to SQL Servers. Access to databases is via the Core API on the internal Response Stack.

Manual steps are required to configure access to the Core API, as described in Implementing a 1E DMZ Server.

SSAS servers

SSAS DatabasesSSAS Databases

BI SSAS user - only if the BI component is selected for installationSSAS Databases

Name of the SQL Server SSAS instance that will host the multidimensional data cube for BI (required by Patch Success).

Account credentials that will be used for the BI services.

Name of the SQL Server SSAS instance that will host the multidimensional data cube for BI (required by Patch Success).

Account credentials that will be used for the BI services.

n/a

n/a

Number of devices

Architectural requirements

Specify the number of devices supported by this server in order to calculate the number of Switches required, as well as the number of Workers and Slots used by the Switches.

The number is only used to cross-check against the number in the license file.

Specify the number of devices supported by this server in order to calculate the number of Switches required.

Specify the number of devices supported by this server in order to calculate the number of Switches required.

Switch configuration

Network interfaces

Select an IP Address for each Switch. All Switch IP Addresses will typically use the same DNS Name.

If the TachyonResponses database is remote from the server, and the number of devices is more than 500, provide an additional interface so that SQL traffic uses a different IP address to the Switch(es), and see and Configuring a persistent route for SQL traffic.

This page is greyed out.

The Master Stack does not require Switch configuration.

Select an IP Address for each Switch. All Switch IP Addresses will typically use the same DNS Name.

If the TachyonResponses database is remote from the server, and the number of devices is more than 500, provide an additional interface so that SQL traffic uses a different IP address to the Switch(es), and see and Configuring a persistent route for SQL traffic.

Select an IP Address for each Switch. All Switch IP Addresses will typically use the same DNS Name.

Provide an additional interface so that internal traffic uses a different IP address to the Switch(es), and see and Configuring a persistent route for SQL traffic.

Website configuration

Windows Server roles and features

Required for website.

Required for website.

Required for website.

Required for website.

Specify names for the internal facing network interface.

The HTTPS binding for the external facing network interlace is created manually after installation.

Active Directory and email

Email and 2FA requirements: SMTP server

Email and 2FA requirements: Two-factor Authentication requirements

Required for Master Stack components.

Required for Master Stack components.

n/a

(Uncheck Enable SMTP)

n/a

(Uncheck Enable SMTP)

Telemetry

Telemetry

Optional.

Optional.

n/a

n/a

SLA and 1E Catalog

1E Catalog

Confirm internet access to the 1E Catalog.

Confirm internet access to the 1E Catalog.

n/a

n/a

Content Distribution

Content Distribution

(Only if installing Content Distribution)

If Content Distribution is enabled:

  • Name of the Configuration Manager site server that will be queried to locate its SQL database

  • The synchronization interval in minutes

  • Client authentication certificate for the Background Channel to communicate with Content Distribution API.

If Content Distribution is enabled:

  • Name of the Configuration Manager site server that will be queried to locate its SQL database

  • The synchronization interval in minutes.

If Content Distribution is enabled:

  • Client authentication certificate for the Background Channel to communicate with Content Distribution API.

If Content Distribution is enabled:

  • Client authentication certificate for the Background Channel to communicate with Content Distribution API.

Other requirements:

Post-installation requirements:

License file

You will need to obtain a valid license file from 1E. For more details, please refer to License requirements.

Whitelisting for license activation and validation

Ensure the following URL is whitelisted:

This URL must be accessible from the 1E Server during the setup and running of 1E.

The 1E license must be validated on a regular basis via internet contact with the 1E license service. The regular validation period is set when the license is requested.

For whitelisting purposes, the 1E Server (specifically the Coordinator Workflow module in Master Stack) requires an Internet connection to the 1E license service, as defined in the license file itself. If activation fails, then the system will install but not be usable until the activation is completed.

Upgrading

When upgrading, you are recommended to get a new license file and update your whitelist with the new URL. The old URL (https://license.1e.com) is suitable only for 8.0 and earlier. However, if you are upgrading and your license file has the old URL then you should also whitelist the old URL.

Note

Other URL must also be whitelisted, please refer to Whitelisting connections to 1E Cloud.

Code Signing Certificates

You will need your own code signing certificate, and have it registered in your 1E license, if you want to develop your own custom 1E instructions, or modify those of other authors. Instructions that are provided in the 1E platform or downloaded from the 1E Exchange have already been code signed using the Platform and Exchange certificates from 1E. Your license controls whether you can use these instructions.

Ideally, all of your instruction developers should share a single code signing certificate between them. Each code signing certificate must be registered in your license and associated with your organization's instruction name prefix. When you have chosen your prefix and have your code signing certificate(s) you then need to send details of these to 1E, who will update your license. This will then automatically activate on your 1E Server (assuming it has connection to the Internet).

Server Provisioning

An IIS Web Server should be provisioned. SQL Server can be installed on the same server or the databases can be hosted on remote SQL Server instance(s). Please refer to Server sizing requirements regarding hardware and software specifications for on-premises and cloud servers.

In addition, the 1E Server requires the following, which requires more thought and preparation:

Network interfaces

For the remote SQL Server requirement, please refer to Configuring a persistent route for SQL traffic. However, please ensure you also consult your server, firewall, and networking teams.

Cloud implementations have special configuration requirements for SQL Server and network interfaces described in Server sizing requirements.

Configuring a persistent route for SQL traffic

The following example steps can be used to configure IPv4 network routing so that a specific network interface is used for all traffic going to the specified SQL Server. The example is for a Response Stack and SQL Server on different subnets, but also works if both servers are on the same subnet.

Note

If you add a new interface for SQL traffic after installing 1E, then ensure the interface is not registered in DNS using the same DNS Name that devices use to connect to Switches or Background Channel. If you intend to use the new interface to support inbound HTTP traffic from remote Response Stacks then you will also need to configure the 1E website to include the IP Address of the new interface as described in Server installation issues.

In our example below we would add 10.0.10.31. Installation and upgrades will automatically configure IP Address and Domain restrictions.

  1. On the 1E Server (single-server or Response Stack) open a PowerShell command prompt

  2. The following command should resolve the name and IP Address of the SQL Server, and show the existing network route. In our example the 10.0.20.20.

    pathping ACME-SQL02
  3. If not already installed on the server, add a new interface. Configure its properties as follows:

    • Disable IPv6

    • Configure IPv4 properties and assign a static IP Address and subnet mask. In our example, these are 10.0.10.31 and 255.255.255.0.

    • You do not need to configure a default gateway. You can if required, but you will receive a warning later about multiple default gateways and redundancy. However, you do need to know the default gateway for the route to the SQL Server, in our example, this is 10.0.10.1.

    • Click Advanced... and click on the DNS tab. Uncheck Register this connection's addresses in DNS so that the interface IP Address is NOT registered in DNS.

    • Click OK twice to save, and then Close

    • You can give the interface a name to help distinguish it from Switch interfaces. In our example, this is Interface used for SQL

    Warning

    This interface must not be registered in DNS if the DNS Name of the server is a CNAME Alias for (A) Host records registered by Switch interfaces because clients need to use the DNS Name to connect to Switches. If you need this interface to be registered in DNS, then do this with a (A) Host record.

  4. Enter the following PowerShell command, which provides all the details you need to confirm interfaces have been configured correctly.

    Get-NetIPConfiguration              
  5. This provides output similar to the following and tells us the interface index for the new interface. In our example, this is 7.

    InterfaceAlias       : Interface used for SQL
    InterfaceIndex       : 7
    InterfaceDescription : Microsoft Hyper-V Network Adapter #4
    NetProfile.Name      : ACME.local
    IPv4Address          : 10.0.10.31
    IPv4DefaultGateway   : 10.0.10.1
    DNSServer            : 10.0.1.2
                           10.0.1.3
    
    InterfaceAlias       : Interface used for Switch 1
    InterfaceIndex       : 5
    InterfaceDescription : Microsoft Hyper-V Network Adapter #3
    NetProfile.Name      : ACME.local
    IPv4Address          : 10.0.10.32
    IPv4DefaultGateway   : 10.0.10.1
    DNSServer            : 10.0.1.2
                           10.0.1.3
  6. Use the route command to add a persistent route. The mask must be255.255.255.255and NOT the same as the interface mask configured earlier because the persistent route to the SQL Server is for its IP Address and not its subnet.

    route -p add <SQL Server IP Address> mask 255.255.255.255 <Interface used for SQL IPv4DefaultGateway> metric 1 if <Interface used for SQL InterfaceIndex>
    

    In our example:

    route -p add 10.0.20.20 mask 255.255.255.255 10.0.10.1 metric 1 if 7

    Note

    For networks with no routing, such as a lab, the default gateway is 0.0.0.0. Therefore, <Interface used for SQL IPv4DefaultGateway> must be specified as 0.0.0.0. In our example:

    route -p add 10.0.20.20 mask 255.255.255.255 0.0.0.0 metric 1 if 7

    If your lab has no routing then you should ensure other means for your 1E Server to connect to the 1E license service via the Internet.

  7. Enter the following command to confirm that the <SQL Server IP Address> has a persistent route with the details specified. In our example, this is 10.0.20.20.

    route print
  8. Enter the following command to verify the route works and uses the correct interface.

    pathping ACME-SQL02

    The first line (hop 0) must show the name of the 1E Server and the IP Address of the interface. This IP Address will then be selected as used for SQL in the Switch configuration screen of 1E Server Setup. In our example this would be:

    0  ACME-TCN01.ACME.local [10.0.10.31]
Computername

The computername of a 1E Server must comply with Microsoft NetBIOS naming standards, which includes having a length of 15 characters or less.

Microsoft's guidance can be found here: https://docs.microsoft.com/en-us/windows/desktop/SysInfo/computer-names.

DNS Names

Each server that has 1E platform components installed requires its own DNS Name. A DNS Name can be a DNS alias, CNAME or Host (A) record.

Master Stack

The Master Stack is used by the following, therefore it helps users if it has a recognizable and convenient DNS Name such as 1E - this is specified during installation of the 1E Server using 1E Server Setup.

  • 1E users, approvers and administrators connecting to the 1E portal and Consumer API

  • Remote tools and Consumer applications connecting to the Consumer API

  • Remote Response Stacks and DMZ Server connecting to the Coordinator service

Platform services also reside on Master Stack, which non-1E platform clients connect to, for example:

  • Application Migration, used by Windows Self-Service task sequences

  • AppClarity, used by AppClarity Software Reclaimer.

DMZ Server

The DMZ Server is a type of Response Stack used to provide 1E Real-time and Inventory services to Internet-based clients. It requires an external DNS Name - for example, tachyonext - this is specified during installation of the DMZ Server using 1E Server Setup.

The DNS Name is shared between the Switch network interfaces and Background Channel on the DMZ Server, and specified during installation of 1E clients, and stored in their configuration file.

Response Stack

A Response Stack is used to provide 1E Real-time and Inventory services to clients on the internal (corporate) network. The choice of DNS Name is discussed in the table below.

The DNS Name is shared between the Switch network interfaces and Background Channel on the Response Stack, specified during installation of 1E platform clients, and stored in their configuration file.

The number of DNS Names used by a system depends on the location of 1E and other Platform services. The table below describes the options.

Single DNS Name

A 1E system can have a single DNS Name if all components are installed on the same server, for example, tachyon - this is specified during installation of the 1E Server using 1E Server Setup.

If the server has multiple Switches, and therefore multiple network interfaces, then the same DNS Name can be shared by all Switches, the Background Channel, and Master Stack.

Multiple client-facing DNS Names

The following client-facing components can each have their own DNS Name:

  • 1E Switch and Background Channel on Response Stack servers, including DMZ Server

  • 1E platform services on Master Stack, used by clients of Application Migration and/or AppClarity software reclaim

  • 1E, and Consumer API, on the Master Stack, are used by administrators.

Note

Master and Response Stacks must have different DNS Names if they exist on different servers:

  • The Master Stack has its own DNS Name, for example, tachyon

  • Each Response Stack can have its own client-facing DNS Name, or they can share a common client-facing DNS Name, for example tachyonrs.

When a Response Stack is installed on the same server as Master Stack, it will normally share the same DNS Name as Master Stack as described under Single DNS Name. However, if you have multiple Response Stacks and want them to share the same DNS Name, then the Master Stack must use a different DNS Name. This approach of all Response Stacks sharing the same DNS Name simplifies adding further Response Stacks at a later date.

During installation - using Website configuration - you need to consider the following:

HTTP binding

Required for installation, but can be manually removed later - please refer to Removing the HTTP binding from the 1E website.

This binding is not used by clients or administrators, but can optionally be used for Application Migration and/or AppClarity reclaim clients. Example name acme-tcn01.

HTTPS binding

Required. This is the main binding.

On a Master Stack server (that has no Response Stack components) it is used by administrators to connect to the 1E portal. It can optionally be used for Application Migration and/or AppClarity reclaim clients. Example name tachyon .

On a Response Stack server, it is used by clients to connect to Switches and/or Background Channel. Example name tachyon or tachyonrs. See the panel above about making the right choice.

On a DMZ Server, it is used by Internet-based clients to connect to Switches and/or Background Channel. Example name tachyonext. See below.

Alternate HTTPS binding

Required, except in the simplest (single server) configurations, described above.

It is typically used by other 1E platform servers to connect to each other, but there are other scenarios.

  • Required on a Response Stack server if it will have a DMZ Server connected to it. Example name tachyonalt.

  • Required on a DMZ Server - used by internal servers to connect to the DMZ Server - see below. Example name tachyondmz. See below.

  • Required on a Master Stack if you have local and remote Response Stack(s) - used for inter-server communications. Example name tachyonalt.

  • Required on a Master Stack if the main HTTPS binding is used by client-facing components, and you want a different name for the Portal. Used by administrators to connect to the 1E portal. Example name tachyon.

  • Required on a Master Stack if you need a different HTTPS port for Application Migration and/or AppClarity reclaim clients. This can be by choice, or if you have upgraded from an original SLA Platform installation that used different ports.

Manual bindings

You can manually add further HTTP and HTTPS bindings after installation, to help differentiate the services which client devices and administrators connect to.

If you are upgrading ActiveEfficiency to 1E platform then you might have had an HTTPS binding described as aeserver in previous documentation.

If Master and Response Stacks are on the same server and you want them to have different DNS Names, then use the main binding for client connections to the Response Stack (because it is client-facing) and use the Alternate binding for other connections to Master Stack. A simpler option is to put the Response Stack on its own server. Remote Response Stacks are recommended if Master Stack is also hosting services AppClarity Software Reclaimer or Application Migration.

If you want to configure Switches on the same server to use multiple DNS Names, you will need to seek guidance from 1E. In most cases, this is not required or recommended.

Internal DNS Names

A DMZ Server is a special example of a Response Stack. The DMZ Server itself requires two DNS Names:

  • A client (external) facing DNS Name - for example, tachyonext - which is shared between the Switch network interfaces and Background Channel on the DMZ Server - is specified during 1E Setup as the main HTTPS binding

  • An internal facing DNS Name for the internal network - for example, tachyondmz - this is specified during 1E Setup as the alternate main HTTPS binding.

Note

Both DNS Names must be included in the web server certificate. You can manually replace the external/client facing certificate after installation, to comply with best practice not to expose internal names in an external facing certificate.

The internal Response Stack also requires an additional DNS Name - for example tachyonalt - for internal communications with the DMZ Server.

Please refer to Implementing a 1E DMZ Server for more detail about DMZ Servers.

Note

Note

1E Setup supports installation of one HTTP and up to two HTTPS bindings, but you can manually add more bindings after installation.

1E Setup currently supports only one Web server certificate, which must contain all the DNS Names used by the HTTPS bindings on that server. Each DNS Name must be included as a DNS Name in the Subject Alternate Name (SAN) entry of the web server certificate.

You can manually add more certificates, and change bindings. Please refer to Certificate requirements . Please note that 1E Setup helps maintain the main and alternate HTTPS bindings using one certificate.

Where possible the 1E Server DNS Name should be a CNAME Alias which references the (A) Host records for each of the Switch network interfaces registered in DNS.

Warning

Ensure network interfaces used for anything other than Switches, for example, the SQL interface, are not registered in DNS. If they are registered ensure the DNS Name used by Switches only has Switch IP Addresses assigned.

For multiple Switches to share the same DNS Name, the load balancing options include:

  • DNS round-robin. Create a CNAME record which references the (A) Host records for each of the Switch network interfaces registered in DNS.

  • Network Load Balance (NLB) and register the 1E Server's DNS Name as the NLB Name, and configure the NLB to forward to each of the Switch IP Addresses.

Note

DNS round-robin provides reasonable load balancing so that devices should be evenly spread across all Switches. Each device will cache the IP Address given to it by DNS and keep using that, even if the Switch using that IP Address is not available until the TTL expires or the DNS cache is flushed.

A Network Load Balancer (NLB) allows all the Switches to share the same DNS Name which is actually the IP Address of the NLB Cluster, which can then intelligently route the connection to a Switch interface.

Service Principal Names

1E platform and applications use underlying IIS and SQL Server technology, and only require HTTP or MSSQLSvc class SPNs if your company security policy has configured IIS or SQL Server to use Kerberos authentication.

If your IIS server is using Kerberos, then each DNS Name used to access a 1E Web Server requires an HTTP class Service Principal Name (SPN) to be registered against the relevant service account in Directory, which is computer$ by default. This allows 1E web applications to authenticate clients using Windows Authentication where Kerberos is an authentication provider (primary, fallback, or negotiated).

Note

If your IIS server is using Kerberos then HTTP SPNs are required for web applications that use Windows Authentication, and are created using:

  • The web application pool's service account, which is Network Service for all 1E application pools, and therefore is the computer$ account

  • Each (A) Host record used to access the web application. If the server is accessed using a CNAME record, then you need to register an SPN for each (A) Host record used by the CNAME. A CNAME will have multiple (A) Host records when using round-robin or NLB to access the web server.

SPNs are not required for DNS Names used to connect to Switches or Background Channel, because they do not use Windows Authentication. However, bear in mind the same DNS Name might be used to access other web applications.

If an SPN is not created, then you will see "401 Not authenticated" errors in the browser and/or log files.

Service Principal Names (SPN) are attributes of AD accounts. A domain administrator will need to create an HTTP class SPN for the 1E web server service account, by using one of the following methods:

  • By editing the ServicePrincipalName attribute of the web server's computer account

  • Using the following SETSPN commands, substituting your DNS Name, server and service account:

    setspn -l ACME\ACME-TCN01$
    setspn -s http/acme-tcn01.acme.local ACME\ACME-TCN01$
    setspn -s http/tachyon.acme.local ACME\ACME-TCN01$

Use each command as follows:

  1. List existing SPNs for the service account. Run this to record details before you request for any new SPN(s) to be created. Re-run this after creation, ensuring you wait sufficient time for AD replication to occur.

  2. Use this if tachyon.acme.local is a CNAME record and its (A) Host record is acme-tcn01.acme.local.

  3. Use this if tachyon.acme.local is a (A) Host record.

The above example assumes:

  • The service account for all 1E web application pools is Network Service

  • The 1E server name is ACME-TCN01 with a computer account in the ACME domain, which means the service account is ACME\ACME-TCN01$

  • The DNS Name for the server is tachyon.acme.local.

Tip

If in doubt, it does no harm to create an SPN for each DNS Name used to access the 1E Server, including its CNAMEs and (A) Host records using: setspn -s http/<DNS Name> ACME\ACME-TCN01$

To determine which type of record a DNS Name is, run the following command:

nslookup tachyon.acme.local
  • If the command returns Name: acme-tcn01.acme.local and alias tachyon.acme.local then tachyon.acme.local is a CNAME record

  • If the command returns Name: tachyon.acme.local and no aliases then tachyon.acme.local is a (A) Host record.

More complex scenarios can be configured which requires in-depth knowledge of IIS, SPN and DNS configuration and are beyond the scope of this documentation.

Web Server Certificate
What do I need to begin?

You will need to have requested a Web Server certificate from your Certificate Authority, using the specification below.

To get the certificate in your organization you will have either:

  • Submitted a CSR and received a password protected .pfx file

  • Used the Certificate Enrollment wizard to request a suitable Web Server certificate.

Note

In earlier versions of 1E the private key had to be exportable to create certificate files for 1E Switches, but this is no longer required for 1E 5.0 onwards.

Import the Web Server certificate

Once the Web Server certificate has been provided it must be imported into the 1E Server's local computer Personal Certificates store.

After importing, you should give the certificate a Friendly Name, so that you can easily identify it for the post-installation task 1E Server post-installation tasks.

  1. On the 1E Server, start certlm.msc (or start mmc and add the certificates snap-in for the local machine).

  2. Navigate to the Personal Certificates store.

  3. Locate the Web Server certificate you have just imported.

  4. Right-click on the certificate and select Properties.

  5. In the General tab enter a Friendly name, for example, 1E platform.

  6. Click OK to save.

Web Server certificate specification

Each server that has 1E Server components installed requires its own Web Server certificate (except for a remote SQL Server). This certificate is also used by the 1E Switch and the 1E Coordinator. Therefore, a single-server installation requires only one Web Server certificate. This certificate must be provided on the server prior to the installation of 1E.

The Web Server certificate requires the minimum of the following:

  1. Issued by a trusted Certificate Authority (CA)

    • The certificate for the Root CA in the Certification Path must exist in the Trusted Root CA store of the server

    • If the issuing CA is not the Root CA then the certificate for the issuing CA and any intermediate CA in the Certification Path must exist in the Intermediate CA store of the server

    • The above CA certificates must exist on the 1E Web Server and Windows client devices

    • Most organizations have automated distribution of these CA certificates to servers and clients, using Group Policy for example.

  2. Has at least the following Key Usage:

    • Digital signature

    • Key encipherment

  3. Has at least the following Enhanced Key Usages:

    • Server Authentication

  4. Revocation information is included

    • References at least one CRL Distribution point that uses HTTP - see DMZ Server note below

  5. Must have a private key available

Tip

The default template Web Server available with a Microsoft PKI is suitable for requesting a 1E Web Server certificate.

DMZ Server

Please ensure you note the additional certificate requirements described below, when installing any server in a system that also contains a DMZ Server. Internal Master and Response Stack servers, and DMZ Server, each requires two HTTPS bindings, as described in DNS Names. For details, please refer Implementing a 1E DMZ Server.

Also, note the requirement for server certificates to reference at least one CRL Distribution point that uses HTTP. These CRL DPs are likely to be in the internal network, and the firewall will need to allow the DMZ server to access these internal servers.

Web Server certificates used by 1E Servers must be issued with their fields set as follows. Example DNS Names are discussed in DNS Names.

Fields

Example Option 3 type certificate

Subject Common Name Field (subject:commonName)

Subject (CN) can be any valid name and is no longer mandatory as required by previous versions of Tachyon.

Subject Alternative Name Extension (extensions:subjectAltName), type dnsName

The Tachyon Server DNS Name FQDN (DNS Alias) of the server. This is mandatory, the same as required by previous versions of 1E.

On a Master Stack - example: DNS Name=TACHYON.ACME.LOCAL

On a Response Stack - example: DNS Name=TACHYONRS.ACME.LOCAL

On a DMZ Server - example: DNS Name=TACHYONEXT.ACME.COM

Subject Alternative Name Extension (extensions:subjectAltName), type dnsName

An Alternate DNS Name FQDN (DNS Alias) of the server. This is usually mandatory, for example if there is more than one server in your 1E system, as discussed in DNS Names.

On a Master Stack, example: DNS Name=TACHYONALT.ACME.LOCALorDNS Name=TACHYON.ACME.LOCAL

On a Response Stack - example: DNS Name=TACHYONALT.ACME.LOCAL

On a DMZ Server - example: DNS Name=TACHYONDMZ.ACME.LOCAL

Example

Certificate Properties Type 3

Note

Earlier versions of 1E required the certificate to have a CN and used SAN fields differently. If you are upgrading your 1E server from an earlier version, it may still be using this type of certificate. When upgrading 1E, you can issue a replacement certificate, or continue using the old style certificate (because the new-style certificate requires only a SAN DNS Name that matches the DNS Alias, which are provided by the old style certificates).

Switch certificate files

1E Switches use certificates in the Windows Certificate Store. From version 5.0 onwards they no longer use Switch Certificate files.

Windows Server roles and features

Note

1E Setup will create a website with the necessary bindings, therefore please do not pre-create a website of the same name.

The following PowerShell commands can be used to install relevant IIS roles and features and record the server configuration in a file.

Note

When you run 1E Server Setup, you may choose to let the Setup perform this operation for you instead of downloading and running the script manually. Just click on the Install missing prerequisites button after you have run the checks in the Check prerequisites page.

RolesInstall.ps1 - Configure IIS using PowerShell

Import-Module ServerManager

Get-WindowsFeature | Out-file $PSScriptRoot\ServerManager-1.txt -Append
Install-WindowsFeature Web-Server,
Web-Http-Redirect,
Web-Dyn-Compression,
Web-Basic-Auth,
Web-IP-Security,
Web-Windows-Auth,
Web-Asp-Net45,
Web-Mgmt-Console,
Net-Framework-45-Core,
Net-Framework-45-ASPNET,
Web-WebSockets
Uninstall-WindowsFeature Web-DAV-Publishing
   
Get-WindowsFeature | Out-file $PSScriptRoot\ServerManager-2.txt -Append

Note

When running the above command, if you receive an error that contains The source files could not be downloaded you will need to supply the source path to your Windows Server OS installation media \Sources\sxs folder.

Append -source X:\Sources\sxs or -source \\Server\Path\Source\sxs to the command line, adjusted for your drive letter or UNC path.

Note

PowerShell always uses 45 in the names of .NET Framework features, irrespective of the actual version of .NET Framework 4.X installed on the server, like:

  • 4.8 in Windows Server 2022 (note: from 1E 8.1 onwards, any 1E component that requires .NET Framework, requires version 4.8)

  • 4.7.2 in Windows Server 2019

  • 4.6.2 in Windows Server 2016

For details of .NET Framework versions, please refer to https://docs.microsoft.com/en-us/dotnet/framework/get-started/system-requirements#supported-server-operating-systems.

Tip

If you prefer to use the Add Roles and Features Wizard to manually enable features then you can use the Display Names listed in the table Windows Server roles and features.

Note

Web-Http-Redirect is only required to support legacy Content Distribution clients after an In-place upgrade of ActiveEfficiency Server for Nomad.In-place upgrade of ActiveEfficiency Server for Nomad

Web-Basic-Auth is only required if you will be installing 1E ITSM Connect or 1E Core for integrating ServiceNow and 1E.

ASP.NET Core Hosting Bundle,

Required on the 1E Master Stack server if you are installing Content Distribution features.

  • If it is not already installed, 1E Server Setup will attempt to automatically download and install version 6.0. However, this supposes your installation account and the server is whitelisted to allow its download.

  • You can download and install version 6.0 using a command similar to the following from https://dotnet.microsoft.com/download/dotnet.

    dotnet-hosting-6.0.x-win.exe OPT_NO_X86=1 /install

    The parameter OPT_NO_X86=1 causes the installer to only install the 64-bit version, which is required by 1E.

    You may experience an error if some bundle components are already installed. If this happens, then re-run using /repair instead of /install .

Note

You can run the following command to list the installed versions of .NET

%ProgramFiles%\dotnet\dotnet.exe --list-runtimes

If TLS1.0 is disabled
Web server registry settings

If TLS 1.0 is disabled on the Web server, you must add the following two registry entries, for the 1E Catalog Update Service to successfully connect to the 1E Cloud Catalog.

Import registry entries

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319]
"SystemDefaultTlsVersions"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]
"SystemDefaultTlsVersions"=dword:00000001
SQL BCP

The Export all feature is described in Exporting data from Endpoint Troubleshooting. To enable 1E users with the appropriate permissions to use the Export all feature you must ensure that Microsoft Bulk Copy Program (BCP) is installed on each 1E Response Stack, specifically the Response server where the Core component is hosted.

  • If Microsoft SQL Server is installed on the same server as the 1E Response Stack, then BCP will normally be present.

  • If the TachyonResponses database is remote to the 1E Response Stack and there is no local copy of Microsoft SQL Server, then you will need to install BCP.

You can confirm BCP is installed by starting a command prompt and typing bcp and usage information is displayed. The command bcp -v displays the version.

Note

The information here applies regardless of which version of SQL Server is being used. This does not imply that 1E itself is supported under every possible version of SQL Server that falls within those ranges. See Windows Server requirements for the supported versions and required Service Packs.

Install the following components to get BCP working:

Installer file name

Product Name

Where to get it from

vc_redist.x64.exe

Visual C++ 2017 Redistributable

https://support.microsoft.com/en-gb/help/2977003/the-latest-supported-visual-c-downloads

msodbcsql.msi

Microsoft® ODBC Driver 13.1 for SQL Server®

https://www.microsoft.com/en-us/download/details.aspx?id=53339

This needs to be installed because of a known issue in the Microsoft Command Line Utilities 15 for SQL Server.

msodbcsql.msi

Microsoft® ODBC Driver 17 for SQL Server®

https://docs.microsoft.com/en-us/sql/connect/odbc/download-odbc-driver-for-sql-server

Use version 17 (x64).

MsSqlCmdLnUtils.msi

Microsoft Command Line Utilities 15 for SQL Server

https://docs.microsoft.com/en-us/sql/tools/bcp-utility

The msi includes BCP and SQLCMD.

To verify the components have been installed, you can use AppWiz.cpl and check for the Product Name.

Services and NTFS Security

1E and SLA Platform services, including web application pools, use built-in accounts Local System (SYSTEM) and Network Service (NETWORK SERVICE) by default, and 1E recommends this configuration.

You must ensure these built-in accounts have the necessary NTFS security permissions on the 1E and SLA Platform installation and log folders.

If you are using default installation settings for the 1E server on a default configuration of Windows Server, then Local System has the necessary permissions by default, but Network Service requires some additional steps. The simplest method is to add Network Service to the Administrators localgroup, which allows the default installation and logs folders to be created during installation.

However, adding Network Service to the Administrators localgroup is not considered best practice, therefore alternative methods are described below.

The table below lists the 1E services and their default service accounts.

1E service

Service account name

Description

SID

1E Switch Host service

NT AUTHORITY\SYSTEM

Local System

S-1-5-18

1E Catalog Update Service

1E SLA Platform services (3)

1E Tachyon Coordinator service

Web application pools:

  • Catalog (1)

  • SLAPlatform (3)

  • Tachyon (5)

NT AUTHORITY\NETWORK SERVICE

Network Service

S-1-5-20

The table below lists the default folder locations which must have NTFS security permissions configured for all service accounts.

The 1E installation process does not modify permissions, except for the %ProgramData%\1E\Licensing\ folder which does receive full permissions for Network Service.

Folder

Default location

Service account

NTFS security

Installation folders

%ProgramFiles%\1E\Catalog\

%ProgramFiles%\1E\SLA Platform\

%ProgramFiles%\1E\Tachyon\

Network Service

SYSTEM

Minimum of read & execute permission (folder, subfolders and files).

Logs folders

%ProgramData%\1E\Catalog\

%ProgramData%\1E\DatabaseUpgrade\

%ProgramData%\1E\Licensing\

%ProgramData%\1E\Platform Consumer\

%ProgramData%\1E\SLA Platform\

%ProgramData%\1E\Tachyon\

Network Service

SYSTEM

Minimum of Full Control permission (folder, subfolders and files).

For a default installation of 1E on a default configuration of Windows Server, Local System (SYSTEM) has the necessary permissions by default, but Network Service requires some additional steps.

You have a choice of how to configure NTFS security for Network Service, using one of the following options, according to your organization's policies.

You can pre-create the 1E installation and logs folders prior to installation and apply NTFS permissions on these instead of their parent folders.

Choice

Method

Administrators localgroup

Add NETWORK SERVICE to the Administrators localgroup (this is the simplest method but not best practice).

Users localgroup

Add NETWORK SERVICE to the Users localgroup, and grant this group permissions on the folders.

  • Default INSTALLDIR does not need to be modified because Users localgroup has inherited read & execute permission

  • Default LOGPATH requires the inherited Users localgroup to be modified to give Full Control permission

Direct permissions

As above, but grant NETWORK SERVICE direct rights on the folders

Note

The 1E Server Installation Account should be a member of the Administrators localgroup, so that it has full rights on the server.

Using a non-default location for the Installation Folder

If you are installing in a non-default installation folder, or the default installation folder has non-standard NTFS security, then before installation, you must ensure the installation folder is pre-created with suitable NTFS security applied. If this is not done, some services will fail to start, or users will not be able to access the website.

The NTFS security for the service accounts described above must be explicitly applied.

In addition, the Users or Authenticated Users localgroup must have a minimum of read & execute permission on each of the Web application folders (folder, subfolders and files). This is simplest to achieve by granting permission on the INSTALLDIR folder.

The example screenshot shows:

  • A non-default installation INSTALLDIR=D:\Program Files\1E\Tachyon\

  • RX permissions for the Users group is applied to the 1E folder

  • Other permissions are inherited from the root of the D: drive

  • INSTALLDIR permissions are inherited from the 1E folder

  • NETWORK SERVICE is a member of the Users localgroup

    NTFS Advanced Security Settings 1
Using a non-default location for the Logs Folder

The accounts used by 1E services and application pools must have a minimum of Full Control permission on the logs folder (folder, subfolders and files.

The example screenshot shows a default installation. For a default installation, the only permissions necessary are SYSTEM and Administrators, both Full Control.

NTFS Advanced Security Settings 2
SQL Databases

1E platform databases can be installed on one or more SQL Server database instances. These SQL Server instances can be on the 1E application server (local) or remote. You can allow the 1E Server Setup to create the databases in their default locations, or you can pre-create them with appropriate permissions before installation if you want to select the location and sizes of the databases. For a new installation, and for upgrades, the Installation Accounts requires a SQL Login with appropriate permissions.

Please refer to High Availability options for SQL Server.

1E platform supports the following High Availability (HA) options for SQL Server:

  • AlwaysOn Availability Group (AG) using an AG Listener

  • Failover Cluster Instance (FCI).

The following is a list of databases used by 1E platform. In the Database servers screen, you can select the name of the SQL Server instance, but it does not let you change the database names.

  • 1ECatalog

  • SLA databases must be installed on the same instance:

    • SLA-Data

    • SLA-Shared

    • SLA-Integrate.

  • ContentDistribution (required for Content Distribution)

  • SLA-BI (this is the Business Intelligence database required for Patch Success)

  • TachyonMaster

  • TachyonResponses (required for a Response Stack)

  • TachyonExperience (required for Experience).

The following is a list of database cubes used by 1E platform. In the SSAS servers screen, you can select the name of the SQL Server instance, but it does not let you change the database names.SSAS servers

  • SLA-BI (this is the Business Intelligence cube required for Patch Success).

Default configuration of databases

If you allow the installer to create new databases, they each have the following default settings. Databases will grow automatically to the sizes estimated in Server sizing requirements.

Property

Value

Owner

If the Installer is used to create the databases, this will be the 1E Server Installation Account .

The best practice is to change the owner to 'sa' as shown in, Example SQL scripts for creating a SQL Login and granting roles.

Collation

SQL_Latin1_General_CP1_CI_AS

Path

Default SQL location

Initial Size MDF

128MB

Autogrowth MDF

By 128MB

Initial Size LDF

128MB

Autogrowth LDF

10%

Recovery Model

Simple

Note

If the model system database has been changed to have a larger size than the values specified in the table above, then the 1E Server installer may report an error executing 'Bootstrap.sql' on MasterDatabase. Rebooting the SQL Server may cure the error.

Creating your own databases

You may be required to create databases by hand before installation. This is also known as pre-creating databases. Below are some of the reasons why your SQL administrator may require you to do this:

  • 1E Server Installation Account is only allowed rights on existing databases and not allowed rights to create them

  • Locations of the database files need to be different from the defaults used on the SQL Server instance(s)

  • The initial size of the database files needs to be set to their estimated full size given in Server sizing requirements.

SQL Login for the server installation account

The server installation account requires SQL permissions during installation and upgrade, which can be temporary or permanent. The level of SQL permissions required by the installation account depends on which 1E components it is installing.

Master Stacks

For master stacks sysadmin is required as follows, to:

  • Install 1E Catalog

  • Create Linked Servers for SLA, which requires sysadmin for the SQL database instances for both SLA and 1E Catalog databases

  • Create Linked Servers for BI, which requires sysadmin for the SQL database instances for both SLA and BI databases, and the SSAS instance for the BI cube (required only by Patch Success).

Response Stacks

Sysadmin availability on SQL instance(s)

SQL Login permissions

sysadmin SQL Server role is permitted

The server installation account requires the sysadmin SQL Server role on the SQL Server instance(s) that host the TachyonMaster and/or TachyonResponses database(s).

This can be used for a new installation, or for an upgrade.

sysadmin SQL Server role is not permitted

The SQL Login permissions required by the server installation account vary depending on which choice is implemented, as described in the following table:

Choice implemented

Role required for the installation account's SQL Login

Database(s) created by the Tachyon Server installer during installation.

dbcreator SQL Server role on the SQL instance

Database(s) created before installation - a common scenario if you want to select database location and size.

Also required when upgrading 1E.

db_owner database role on the pre-created databases:

  • TachyonResponses

Note

In addition to the permissions given in the table above, the server installation account also needs to ALTER ANY LOGIN Securables permission in order to allow the creation of the Example SQL scripts for creating a SQL Login and granting roles, used by the 1E Server web applications and services.

Example scripts are provided below to create a SQL Login and grant roles.

During installation, the 1E Server installer will always attempt to grant db_owner permission to the server installation account on each of the 1E databases.

Note

Databases must be configured in multi-user mode.

Example SQL scripts for creating a SQL Login and granting roles

The following examples assume ACME\TCNinstaller01 is the 1E Server Installation Account.

When the account is not permitted to have the sysadmin SQL Server role, then a sysadmin can use the following script to create a SQL Login and grant it rights.

Create SQL Login and grant ALTER ANY LOGIN Expand source

USE [master]
GO
CREATE LOGIN [ACME\TCNinstaller01] FROM WINDOWS
GO
GRANT ALTER ANY LOGIN TO [ACME\TCNinstaller01]
GO

If the 1E Server Installation Account is permitted to create the databases, then a sysadmin can use the following script to add the SQL Login to the dbcreator role.

Grant dbcreator Expand source

USE [master]
GO
ALTER SERVER ROLE [dbcreator] ADD MEMBER [ACME\TCNinstaller01]
GO

If the databases have been pre-created, then a sysadmin can use the following script to add the SQL Login to the db_owner role on each pre-created database.

Grant db_owner Expand source

USE [TachyonMaster]
GO
CREATE USER [ACME\TCNinstaller01] FOR LOGIN [ACME\TCNinstaller01];
ALTER ROLE [db_owner] ADD member [ACME\TCNinstaller01];
GO
USE [TachyonResponses]
GO
CREATE USER [ACME\TCNinstaller01] FOR LOGIN [ACME\TCNinstaller01];
ALTER ROLE [db_owner] ADD member [ACME\TCNinstaller01];
GO

After the databases have been created, best practice is to change the owner of each database to sa, to avoid issues if the owner's Windows account is deleted in future.

The following script can be used to change the owner of each 1E database to sa. This will work even if the sa login has been disabled, which is also best practice.

Change owner to 'sa' Expand source.

ALTER AUTHORIZATION ON DATABASE::TachyonMaster To "sa"
GO
ALTER AUTHORIZATION ON DATABASE::TachyonResponses To "sa"
GO

Note

Ensure the 1E Server Installation Account retains the db_owner role on the database to support re-configuration and upgrades. If the account is removed from being owner, then it will also be removed from the db_owner role and will need to be re-assigned, for example by using the Grant db_owner SQL script.

The owner user and db_owner role are both mapped to the database dbo user. It is preferable for the account to be a member of the db_owner role, instead of being the owner user.

SQL Login for the 1E service account

The SQL Login that is used by the 1E Server web applications and services depends on whether the SQL Server is remote from the 1E Server or is local, as described in the following table:

Installation scenario

Service account SQL Login

1E Server is remote from SQL

The computer account of the remote 1E Server. For example ACME\ACME-TCN01$

1E Server and SQL are local

The local network service account, NT AUTHORITY\NETWORK SERVICE

Note

Before upgrading 1E, or installing or upgrading Consumer applications like Application Migration or AppClarity, the SQL Login must be granted the following rights to support Database Snapshot of the 1E Catalog and SLA databases, to restore them if an error occurs:

  • dbcreator rights on the SQL database instance hosting the 1E Catalog database.

  • dbcreator rights on the SQL database instance hosting the SLA databases.

During installation, the 1E Server Setup will always:

  • Attempt to create the SQL Login

  • Grant it db_owner permission on each of the 1E databases

  • Remove the db_owner permissions when installation is completed.

Keeping databases during re-installation and upgrade

If re-installing or upgrading 1E, you need to decide if you will keep the existing databases or create new ones.

Note

Before doing a re-installation or upgrade of the 1E Platform, make a backup of the following (but first see the note below about automatic backups):

  • 1E Master database

    Note

    Backing up the 1E Responses database is not usually needed, unless there are instruction responses that you need to keep. 1E responses are not permanently held data and will naturally expire according to the settings specified when an instruction was run, typically in hours or possibly days. If in doubt, there is no harm in backing up the 1E Responses database as well.

  • 1E Server installation directory.

    • including the config files, which may have been manually updated in the previous installation.

    • Switch certificate files.

  • Earlier versions of Product Packs that have been modified.

Note

1E Setup will automatically perform a backup of the following items:

  • 1E Server installation directory. This is backed up to a subfolder named Tachyon.bak under the root installation folder for 1E . All files, including the .config files and certificate files, will be copied.

  • IIS configuration. This is done by taking a copy of the applicationhost.config file from the Windows system folders. The backup file is placed at the same location and is named like the original file with a suffix that indicates the date and time when the copy was taken.

  • The following databases are backed up to the default location for backups that is configured in the database server. By default, this points to a subfolder named "Backups" under the folder where the executable for SQL Server is installed. Unless you are installing a small lab or proof-of-concept, this is usually not a good location for the backups, so make sure that you configure the backup location in SQL Server to an adequate folder before starting the 1E upgrade:

    • 1ECatalog

    • ContentDistribution (optional, required by Content Distribution )

    • SLA-Data

    • SLA-Shared

    • SLA-Integrate

    • TachyonMaster

    • TachyonResponses

    • TachyonExperience (optional, required for Experience Analytics ).

The Product packs are not copied by themselves, but they are kept in a table within the TachyonMaster database, which is backed up.

Email

1E users and approvers require AD accounts with email addresses to support approval workflow and notifications.

Mail Server

For details about mail server requirements, please refer to SMTP server.

AAD Applications

A reference to create and configure the Azure AD applications required for on-premises 1E 9.0.

Note

Third-party screenshots and options are correct at time of release, but are subject to change outside of 1E control.

AAD - 1E Client Assertion
Certificate requirements

You will need three certificates will, although the third certificate is only required if you are using features that use non-interactive logins.

  • 1E Platform Token - used to sign requests between 1E components. All 1E servers must share the same certificate. This means the certificate needs to be created with its private key exportable, and then imported on each server

  • 1E Client Assertion - used by the platform server to sign authentication requests to your IdP, and Directory Searches. The public key of this certificate must be exported (for example as a Base-64 encoded X.509 CER file, without private key) and uploaded to the IdP client assertion application configured for Directory Searches discussed later.

  • 1E Integrations - only required if you integrate any external applications such as ServiceNow, the 1E Authentication Proxy (Feature deprecated in 1E platform v9.1), unattended scripts, integration by Shopping or NightWatchman Enterprise. The public key of the certificate must be exported (for example as a Base-64 encoded X.509 CER file, without private key).

You can leave out the 1E Integrations certificate if you do not intend to integrate any external applications.

Note

This page outlines how to create the certificates needed to configure AAD applications for your on-premises installation of 1E. For full documentation on 1E certificate requirements refer to Certificate requirements.Certificate requirements

Create required certificates

The certificates you create have no specific requirements other than they must be CNG. These certificates can also be issued by a PKI if you prefer, they do not have to be self-signed.

Unlike certificates used for web servers, where there is a requirement there is a trust chain to a root CA certificate, CNG certificates can be self-signed. This is because the trust relationship is defined either between:

  • Platform components.

  • A platform service and the identity provider.

  • Integration features and the identity provider.

Both parties in each relationship have local access to their certificate and can prove their identities using standard cryptography sign/verify procedures.

Important

Do not directly run the following commands on a 1E server, it is more secure that each of these certificates is stored with its private key not exportable.

  1. On a server other than a 1E server, from an Admin PowerShell prompt create the three required certificates. Only the first two are needed for on-premise v9.0 of 1E platform.

    New-SelfSignedCertificate -Subject "CN=1EPlatformToken" -CertStoreLocation "Cert:\LocalMachine\My\" -KeyAlgorithm "RSA" -KeyLength 2048 -Provider "Microsoft Software Key Storage Provider" -KeyExportPolicy Exportable
    
    New-SelfSignedCertificate -Subject "CN=1EClientAssertion" -CertStoreLocation "Cert:\LocalMachine\My\" -KeyAlgorithm "RSA" -KeyLength 2048 -Provider "Microsoft Software Key Storage Provider" -KeyExportPolicy Exportable
    New-SelfSignedCertificate -Subject "CN=1EIntegration" -CertStoreLocation "Cert:\LocalMachine\My\" -KeyAlgorithm "RSA" -KeyLength 2048 -Provider "Microsoft Software Key Storage Provider" -KeyExportPolicy Exportable
    AAD_-_Certificate_requirements_PShell.png

    The three certificates will be in the local computer certificate store:

    AAD_-_Certificate_requirements_cert_store.png
  2. Export all three certificates as individual .pfx files ensuring you select Yes, export the private key.

    AAD_-_Certificate_requirements_export_wizard_1.png
    AAD_-_Certificate_requirements_export_wizard_2.png
  3. Once all three certificates have been exported the certificates can be deleted from the local computer certificate store.

  4. Copy the three .pfx files to the 1E server.

    AAD_-_Certificate_requirements_pfx_files.png
  5. Import each certificate into the local computer certificate store on the 1E server making sure not to enable the Mark this key as exportable option.

    AAD_-_Certificate_requirements_import_wiz.png
    AAD_-_Certificate_requirements_import_wiz_2.png
  6. Export all three certificates again but this time as a Base-64 encoded X.509 CER file, without private key.

    AAD_-_Certificate_requirements_export_wizard_base-64_1.png
    AAD_-_Certificate_requirements_export_wizard_base-64_2.png
Setting up the Client Assertion

This Client Assertion Application is used by 1E to perform directory searches in your IdP.  This allows a 1E Administrator to add users to the platform and give them assignments for roles and management groups.

  1. In the Azure admin portal navigate to Azure Active Directory > App registrations > New registration.

    On-prem_-_AAD_New_Registration.png
  2. On the Register an application screen, enter 1E Client Assertion as the name, then click Register.

    Although there are no strict requirements on the actual name, the application will be used by 1E for client assertion. All the other settings on the page can be left at their default values.

    On-prem_-_AAD_Register_an_applciation.png
  3. Select Certificates & secrets.

    On-prem_-_AAD_Certificates_and_secrets.png
  4. Select the Certificates tab, click Upload certificate.

    Upload the Signing certificate for IdP requests CER file you exported in Request-signing certificates.

    On-prem_-_AAD_Upload_certificate.png
  5. Select the .cer file for the Client Assertion certificate and click Open.

    On-prem_-_AAD_Upload_certificate_2.png
  6. Enter a description and click Add.

    On-prem_-_AAD_name_certificate_.png
  7. Once the certificate is added, click API Permissions.

    On-prem_-_AAD_API_Permissions.png
  8. Select Microsoft Graph and then Application permissions on the resulting popup.

    On-prem_-_AAD_Request_API_permissions.png
  9. Scroll down the list of permissions, expand GroupMember and add the following permissions.

    GroupMember.Read.All

    User.Read.All

    If these application permissions are not applied, you will not be able to add users to the 1E Platform. The Client assertion uses app permissions, there is no user as the authentication flow uses a certificate.

    On-prem_-_AAD_GroupMember_Read_All.png
    On-prem_-_AAD_User_Read_All.png

    Note

    The application also needs the following Delegated permissions User.Read. This permission is granted by default and does not need to be changed.

  10. Click on Grant admin consent for….

    On-prem_-_AAD_Grant_Admin_consent_for.png
  11. Confirm you wish to grant consent, you should see something similar to the following, with a green check next to the application entries.

    On-prem_-_AAD_Consent_granted.png
AAD - 1E PKCE

This application is used to read the credentials for each account that logs into the 1E portal.

  1. In the Azure admin portal navigate to Azure Active Directory > App registrations > New registration.

    On-prem_-_AAD_New_Registration.png
  2. Type in the name 1E PKCE, although there are no strict requirements on the actual name, the application will be used by 1E to validate the user that is logging in.

    In the Redirect URI (optional) field type in your URI value.

    Make sure it is set to Single-page application (SPA) and enter the URI in this format:

    https://<TachyonFQDN>/Tachyon/api/Authentication/IdentityProviderRedirect then click Register.

    On-prem_-_PKCE_Register_an_application.png

    Note

    The Redirect field is case-sensitive.

  3. Select Authentication.

    On-prem_-_PKCE_Authentication.png
  4. This application needs to have Allow public client flows set to disabled. Scroll down to the bottom, make sure the slider is set to No and click Save.

    On-prem_-_PKCE_Allow_public_client_flows.png
  5. Select API permissions.

    This application needs Microsoft Graph delegated API permissions of User.Read. This permission is granted by default and does not need changing. Click on Grant admin consent for….

    On-prem_-_PKCE_Grant_admin_consent_for.png

    Note

    If these application permissions are not applied for the 1E PKCE app users will not be able to log in to the system.

    The 1E PKCE app uses delegated permissions as the User.Read.All permission relates to the user logging on.

  6. Select Yes in the Grant admin consent confirmation popup.

    Grant_Admin_Consent_Confirmation.png
  7. To confirm admin consent has been granted, look for a green check in the Status column.

    On-prem_-_PKCE_Grant_consent_successful.png
AAD - 1E Integrations

The 1E Integration app is optional and only required when using non-interactive logons, however you will need to create it if you want to integrate things like:

  • 1E Authentication Proxy (This feature is deprecated from 1E platform v9.1).

  • 1E Shopping.

  • 1E NightWatchman Enterprise.

  • External applications like ServiceNow integration.

  • Unattended scripts.

Note

The Integration apps uses app permissions, there is no user as the authentication flow uses a certificate.

  1. Select App registrations and choose New Registration.

    Capture1.PNG
  2. Enter 1E Integrations for the name, then click Register.

    On-prem_-_Integration_Register_an_application.png

    Note

    In the Overview menu make a note of the Application (client) ID, you will need to send this to your 1E Account Team as part of the overall provisioning process.

  3. Select Certificates & secrets.

    On-prem_-_Integration_Certificates_and_secrets.png
  4. Select the Certificates tab and then click upload certificate.

    On-prem_-_Integration_upload_certificate.png
  5. Select the .cer file for the 1E Integrations certificate and click Open.

    On-prem_-_Integration_select_the_cer_file.png
  6. Enter a description and click Add.

    On-prem_-_Integration_add_certificate.png
  7. You will then see a thumbprint of the certificate.

    On-prem_-_Integration_certificate_added.png
Gathering the AAD information needed

Once you have configured your applications, you will need to capture the following information for use on the Identity Provider screen in 1E Server Setup.

  • Tenant Metadata – this can be copied from Azure Active Directory > App registrations then selecting Endpoints.

    On-prem_Gathering_tenant_metadata.png

    On the displayed panel on the right hand side of the screen, copy the value for OpenID Connect metadata document.

    On-prem_Gathering_OpenID_metadata_document.png
  • Tenant ID – this can be copied from the Azure Active Directory Overview page.

    On-prem_Gathering_Tenant_ID.png
  • Application (client) ID - for your applications, you can copy these from the Overview menu of each application.

    On-prem_Gathering_Application_ID.png
  • Note

    An Azure Active Directory user account will be used as the Setup user during this installation of 1E .

Information needed during installation

Use the following table to help you complete the Identity Provider section of the 1E platform setup installer.

Note

Where the Metadata endpoint is specified it MUST exactly match in case the URI defined for the platform.

Table 15. Identity Provider installer screen

Identity Provider

Item required

Provider-specific Application Identifiers

  • PKCE App Id

    • Application Id for directory search operations by platform (PKCE App Id)

  • Client Assertion App Id

    • Application Id for interactive authentication (Client Assertion App Id).

Metadata endpoint

OpenId connect metadata endpoint.

Setup User

Setup user who should be granted full administrator rights during install.

Signing certificate for platform tokens

PKCE certificate - 1E Platform Token certificate thumbprint.

Signing certificate for IdP requests

1E Client Assertion - (Directory search) signing certificate thumbprint.



On-_prem__Identity__Provider__panel.png
Okta Applications

Okta - 1E Client Assertion

The Client Assertion Application will be used to perform directory searches in 1E. This will allow a 1E Administrator to add users to the platform and give them assignments for roles and management groups. These instructions show how to register the Client Assertion Application in Okta.

  1. In the Okta admin portal navigate to Applications and select Create App Integration.

    Application_Creation_for_Client_Assertion_1.PNG
  2. Once that opens select API Services and then click Next.

    Client_Assertion_2.PNG
  3. In the New API Services App Integration section, fill in the App integration name field. We suggest you name this 1E Client Assertion and then click on Save.

    Client_Assertion_3.PNG
  4. In the Client Credentials section, under Client authentication, select Public key/Private key, and in the PUBLIC KEYS section select the Save keys in Okta option.

    Client_Assertion_4.PNG
  5. Select Add key, in the black field displayed paste the entire certificate file that you created in Certificate requirements, and then click Done.

    Note

    For Okta this needs to be presented in JSON Web Key (JWK) format.

    Client_Assertion_5.PNG
  6. In General Settings the Require Demonstrating Proof of possession (DPoP) header in token requests option is selected by default.

    You must deselect this option, as DPoP is not currently supported by 1E for authentication.

    Click Edit, deselect Require Demonstrating Proof of possession (DPoP) header in token requests and then click Save.

    okta_-_DPoP.png
Okta - 1E PKCE

This application will be used to read the credentials for each account that logs into the 1E portal. These instructions show how to register the PKCE Application.

  1. In the Okta admin portal, navigate to Applications and select Create App Integration.

    Application_Creation_for_Client_Assertion_1.PNG
  2. In the new screen displayed, select OIDC - OpenID Connect in Sign-in method, and select Single-Page Application in Application type, then click Next.

    App_for_PKCE.PNG
  3. In the App integration name field set the name for the application, we recommend calling this 1E PKCE.

    1. In Grant type, check the Authorization Code and Refresh Token checkboxes.

    2. In Sign-in redirect URIs input your URI value into the field.

      For example, the URI will be in the form of https://<TachyonFQDN>/Tachyon/api/Authentication/IdentityProviderRedirect

      Note

      The Redirect field is case-sensitive.

      PKCE_2.PNG
    3. Choose Skip group assignment for now in Controlled access.

      PKCE_3.PNG
    4. Click on Save

Okta assign permissions to the applications

When the applications have been created you then need to grant the following permissions.

Note

If you are an early adopter, you may experience an issue where authenticating interactively to the platform fails. You are successfully issued a token from Okta, but the platform fails to list your groups.

For the additional permissions you will need, refer to the KB article: Okta instances may not permit group searches on https://support.1e.com/.

  1. Navigate to the 1E PKCE Application and click on Okta API Scopes.

    Permissions_1.PNG
  2. Grant okta.users.read. Click on Grant for this permission, you will see Granted in the Consent column.

    Permission_2.png
  3. Perform the same steps to add the following permissions for the 1E Client Assertion Application.

    • okta.groups.read

    • okta.users.read

    Permission_3.PNG
Okta assign users to the applications

To use the applications and allow users to be added to 1E you also need to first assign those users to the applications you just created in Okta. We recommend that you create a group for this purpose and add the group to the applications. That way user assignment can be via the group.

  1. Navigate to the Applications and click on Assign Users to App.

    Assign_Apps_to_Users_1.PNG
  2. Select each application and assign the group you want to use.

  3. Subsequently you will only need to modify the group membership to assign or remove users from the applications.

Okta - 1E Integrations

This Client Assertion Application is used for non-interactive logins.

  1. You will need to get a certificate from your Certificate Authority to use for your non-interactive logins, for Okta this needs to be presented in JSON Web Key (JWK) format.

    Note

    To get the certificate in this format you can use the 1E Toolkit available from https://support.1e.com/.

    On the device where the certificate is installed, run PowerShell as an administrator. Then navigate to the 1E PowerShell toolkit directory and run the following cmdlet, replacing <subjectname> with the name of your certificate.

    Import-Module 'C:\Program Files\1E\PSToolkit\ps1etoolkit.psd1'
    
    Get-1EJwkFromCertificate -certsubject CN=<subjectname> 
  2. In the Okta admin portal navigate to Applications and select Create App Integration.

    Application_Creation_for_Client_Assertion_1.PNG
  3. Once that opens, select API Services and then click Next.

    Client_Assertion_2.PNG
  4. In the New API Services App Integration section, fill in the App integration name field. We suggest you name this 1E PKCE Non-Interactive and then click on Save.

    1E_PKCE_Non-interactive_name.png
  5. In the Client Credentials section, under Client authentication, select Public key/Private key, and in the PUBLIC KEYS section select the Save keys in Okta option. Take a note of the Client ID, you will need to send this to your 1E Account Team as part of the overall provisioning process.

    1E_PKCE_Non-interactive_Id.png
  6. Select Add key, in the black field displayed paste the JWK file you obtained in step 1 and then click Done.

    Client_Assertion_5.PNG
  7. The new Okta application will need the following permissions:

    Application_Permissions.png
Gathering the Okta information

Once you have your applications configured, you will need to capture the following information to be used on the Identity Provider screen in 1E Server Setup.

  • Tenant Metadata – this can be found by navigating to the metadata endpoint. The URL has the form:

    https://<okta instance URL>/.well-known/openid-configuration

    Selecting this displays the Okta OpenID MetaData:

    Okta_Open_ID_MetaData.PNG
  • Tenant ID – this can be found at the top-right of the Okta portal

    Tenant_ID.PNG
  • Application (client) ID for both of your provisioning applications. These can be copied from the General tab of each application:

    • 1E Client Assertion (Directory Search)

    • 1E PKCE (PKCE Grant Flow App for Interactive Logins)

    • 1E Client Assertion Non-Interactive (Client Grant Flow App for Non-Interactive Logins).

  • An Okta user account that will be used as the Setup user during this installation of 1E .

Windows Active Directory as an Identity Provider

This article describes how to configure Windows Active Directory as an Identity Provider in 1E platform.

Important

This feature is only available in 1E platform v9.1.

Prerequisites
  • A certificate that will be used by the 1E platform to sign platform tokens. This certificate must be a CNG-compliant certificate, be present in the local certificate store, and have an accessible private key.

  • If you want to use JSON Web Tokens (JWTs) for non-interactive authentication, use any suitable certificates (5).

Configuration

To set up Windows AD as an identity provider, you will need to change your tenant configuration. You can do this when you install 1E 9.1 or directly in the tenantconfig.json

1E Server Setup v9.1

The following settings are mandatory:

  • A certificate for platform tokens. You can select this using the […] button (4), the certificate's thumbprint will then be visible in the text box (3).

  • Click Add permissions for private key for the certificate (5).

  • Specify a user that will be added as a Principal and granted permissions for your initial configuration (1). You can optionally promote that user to Full Administrator (2).

You can also specify addresses of any GC or LDAP server(s) you wish to use (6). By default, Setup will choose GC:// but you can use a different value. multiple GC and LDAP servers can be added if separated by a semicolon.

obraz.png
Available settings in tenantconfig.json

While you are not required to make any changes to tenantconfig.json after the installation, any settings entered in 1E Setup, along with other settings that are created for you, can be viewed and amended using tenantconfig.json located at "%PROGRAMDATA%\1E\Tachyon\".

Tenantconfig.json settings: 

Setting

Description

Value

Required

IdPType

Must be set to “Windows”

Windows

Yes

AppId

Can be any string value. A GUID is a good choice. Setup will set this to 1E1E1E1E-1E1E-1E1E-1E1E-1E1E1E1E1E1E.

1E1E1E1E-1E1E-1E1E-1E1E-1E1E1E1E1E1E

Yes

DirectoryAppId

Can be any string value. A GUID is a good choice. Setup will set this to 1E1E1E1E-1E1E-1E1E-1E1E-1E1E1E1E1E1E.

1E1E1E1E-1E1E-1E1E-1E1E-1E1E1E1E1E1E

Yes

ClientAssertionAppId

Can be any string value. A GUID is a good choice. Setup will set this to 1E1E1E1E-1E1E-1E1E-1E1E-1E1E1E1E1E1E.

1E1E1E1E-1E1E-1E1E-1E1E-1E1E1E1E1E1E

Yes

MetadataEndpoint

Should be set to an appropriate portal URL pointing to the metadata endpoint inside the IdP proxy API hosted in the Portal. This setting is not strictly required by the emulator, but it is required by the Authentication Service’s provider that will talk to the emulator.

It will look something like:

https://your.server.url/Tachyon/Api/NonStandardIdPProxy/Metadata

Note

This setting is automatically configured by 1E Setup during installation so it will not need to be set manually.

Yes

ActiveDirectoryServer

Can be configured with a list of GC and/or LDAP servers that should be used for directory operations. Entries on this list should be separated with a semicolon.

Note

If this value is not provided the system will use GC:// as a default, which should be suitable for most installations. 1E Setup allows you to enter this value on screen and defaults it to GC://.

No

The following is an excerpt from an example tenantconfig.json

"AuthenticationConfiguration": [
	{
		"IdPType": "Windows",
		"MaximumSessionRefresh": 4,
		"MaximumSessionTimeSeconds": 3600,
		"Configuration": {
			"AppId": "1E1E1E1E-1E1E-1E1E-1E1E-1E1E1E1E1E1E",
			"MetadataEndpoint": "http://your.server.com/tachyon/api/NonStandardIdPProxy/Metadata",
			"DirectoryAppId": "1E1E1E1E-1E1E-1E1E-1E1E-1E1E1E1E1E1E",
			"ClientAssertionAppId": "1E1E1E1E-1E1E-1E1E-1E1E-1E1E1E1E1E1E"
		}
	}
]
Setting up non-interactive authentication (JWT)

Authentication using JWTs requires some extra steps before you can use it and are in addition to the usual Kid to UPN mappings you would have with any other identity provider.

You need to do this because 1E platform wraps Active Directory in an OAuth layer, and we need to cryptographically verify any JWTs an external system would use. With a web-based IdP like Azure or Okta the IdP performs the verification. Because Active Directory does not posses that ability, the 1E platform must do it.

You can store certificates either in the local certificate store on the server where 1E platform is running, or you can upload them directly into the platform. You can do this using either 1E Powershell Toolkit or by directly accessing the APIs.

Using the PowerShell Toolkit

The following cmdlets have been added to the toolkit to support non-interactive authentication.

Cmdlets

Description

Get-1EWindowsAdCertificateInfo

Returns metadata for all certificates that have been configured for signing JWTs when Windows is configured to be the IdP.

Get-1EWindowsAdCertificate [ -Id <Id> ]|[ -Thumbprint <Thumbprint> ] -File <File>

Downloads a certificate specified by ID or thumbprint. -File parameter expects file name with path. The downloaded certificate will be saved at the specified location with the specified file name.

Remove-1EWindowsAdCertificate [ -Id <ld> ]|[ -Thumbprint <Thumbprint> ]

Deletes a certificate specified by ID or thumbprint.

Set-1EWindowsAdCertificate -File <File>

Adds a new, or updates an existing certificate that can then be used for signing JWTs when Windows is configured to be the IdP. -File parameter takes path to the certificate file.

Note

You can download the toolkit at https://support.1e.com/.

Using the API

Verb 

URL 

Payload 

Description 

GET

https://your.server.address/Tachyon/api/WindowsAdCertificates

None.

Returns metadata for all certificates that exist in the platform.

GET

https://your.server.address/Tachyon/api/WindowsAdCertificates/Id/{id}

{id} should be the Id of the certificate you wish to download.

Allows download of a given certificate after locating it by its id.

GET

https://your.server.address/Tachyon/api/WindowsAdCertificates/thumbprint/{thumbprint}

{thumbprint} should be the thumbprint of the certificate you wish to download.

Allows download of a given certificate after locating it by its thumbprint.

POST

https://your.server.address/Tachyon/api/WindowsAdCertificates

Certificate file should be attached as form-data payload.

Allows upload of a certificate. If another certificate with the same thumbprint already exists, it will be overridden.

DELETE

https://your.server.address/Tachyon/api/WindowsAdCertificates/Id/{id}

{id} should be the Id of the certificate you wish to delete.

Deletes given certificate after locating it by its id.

DELETE

https://your.server.address/Tachyon/api/WindowsAdCertificates/thumbprint/{thumbprint}

{thumbprint} should be the thumbprint of the certificate you wish to delete.

Deletes given certificate after locating it by its thumbprint.

Active Directory

1E Server must be installed on a domain-joined server, except for a DMZ Server, where this is optional. Clients do not have to be installed on domain-joined devices but must have a certificate.

Installation Accounts
1E Server Installation Account

The server installation account has the following requirements on the server.

  • Local admin rights on the 1E Server. It must be an Active Directory domain user account that is a direct or indirect member of the Administrators local group on the server where 1E Server will be installed.

  • Can be disabled (not deleted) in Active Directory after additional 1E admin users have been created in 1E , and installation has been verified.

In addition, the server installation account requires SQL rights as described in SQL Databases above.

1E client Windows Installation Account

The 1E Client installer installs a service as local system, therefore the installation account for Windows clients must be capable of being elevated in order to run the installer. The simplest way of achieving this is for the account to have full local administrator rights (as a member of the localgroup administrators, either directly or indirectly).

1E client Non-Windows Installation Account

To install the 1E Client on a non-Windows client the installation account must have privileges to run the sudo command.

1E Users Accounts

Each 1E user requires an account in the Identity Provider used. All accounts must have their userPrincipalName (UPN) attribute populated, which is normal, but may be missing if users accounts have been created using scripts.

1E users and approvers should have email addresses to support approval workflow and notifications. Email addresses are mandatory if Two-factor Authentication is enabled.

Groups that are setup in the Identity Provider are recommended for role-based access control (RBAC) within 1E but are not mandatory. Groups can be assigned to 1E roles after installation, they are not required during installation. They are added as 1E groups and configured in the same way as user accounts. A 1E user can therefore be a user account or in a group within the Identity Provider. Groups are not mandatory because users can be assigned to roles and managed within 1E instead of the Identity Provider, or a combination.

1E Server Setup assigns a limited set of permissions to the Setup user account (specified during installation/updates), as described on the Roles page which cannot be edited. It is possible to increase this user account to have Full Administrator access during installation/upgrade, 1E recommend that this user account is viewed as a service account and kept with the minimum permission.

A group is also useful to configure access to the CatalogWeb Admin page, as described in Rebuilding the 1E Catalog .

Note

AD distribution groups are not supported.

If AD security groups are nested (groups within groups), they can slow down the performance of the 1E Portal for administrators. Therefore, we recommend nesting is not used, and each administrator and approver account is a member of a group used in 1E . You can improve performance further by disabling the recursive search used by 1E , bearing in mind this will not support nested groups. Please refer to the Post Installation page.

Domain Local security groups are not supported.

Service accounts

1E platform uses either Network Service or Local system for all its services and web application pools.

Please refer to the following sections regarding any rights these accounts may require:

Microsoft Endpoint Configuration Manager preparation

1E platform requires permission to access various features of Configuration Manager when you implement any of the following optional features:

Configuring SQL rights in the Configuration Manager database

The Network Service account of the 1E Master Stack server requires a SQL Login, with all the following rights in the Configuration Manager site database.

  • db_datareader database role

  • Explicit Execute permissions to the scalar value function fn_GetAppState

  • Explicit Execute permissions to the scalar value function fnGetSiteNumber.

  • If the connector is using Windows Authentication, then you can use one of the following:

    1. Create a SQL Login for the 1E server's computer$ account, and explicitly grant it the above rights.

    2. Add the 1E server's computer$ account to the ConfigMgr_DViewAccess localgroup on the Configuration Manager database server - this is the preferred method.

      Note

      You may already be familiar with configuring ConfigMgr_DViewAccess if you have previously set up Configuration Manager access for older versions of Content Distribution Dashboard which used ActiveEfficiency Server, or the ActiveEfficiency Scout, as used for AppClarity 5.x or Shopping 5.x and 6.0

      The existence of the ConfigMgr_DViewAccess localgroup depends on the version of Configuration Manager. It should exist for a Primary Site, but may not exist for a CAS. If it does not already exist, it is safe for you to manually create the localgroup on the SQL Server used by the Configuration Manager database. If it already exists, you will need to confirm it has a SQL Login and all the necessary rights, as the Configuration Manager setup does not always configure this group correctly.

      The following SQL script can be used to create a SQL Login for ConfigMgr_DViewAccess and grant it permissions on the Configuration Manager database. Before you run the SQL script, you must first:

      • Manually create the localgroup on the SQL Server

      • Add the Tachyon server's computer$ account to the localgroup.

      Click here to download - ConfigMgr_DViewAccess_permissions.SQL

      When you run 1E Server Setup, the Content Distribution screen will attempt to validate the existence of the ConfigMgr_DViewAccess localgroup and membership of the Content Distribution server's computer$ account. The validation test will fail if the installation account does not have sysadmin rights on the SQL Server instance used by Configuration Manager. This is not a fatal error as long as you are sure the computer$ account is a member of the ConfigMgr_DViewAccess localgroup.

If you opt to use a specific SQL Login:

  • If the connector is using a SQL Login, then create the login on the Configuration Manager database and grant it the above rights.

To install Content Distribution features, 1E Server Setup requires your server installation account to have the following rights. Please refer to 1E Server Setup.

  • Read-only Analyst rights in Configuration Manager Console - so that Setup can query the Site Server for details of the Configuration Manager database.

  • SQL Login (with public role) on the SQL database instance that hosts the Configuration Manager database - so that Setup can run a SQL query to validate that the machine account is a member of the ConfigMgr_DViewAccess localgroup on the SQL Server.

Note

If either of the above rights are not provided then Setup will issue a warning to say it was not possible to verify the machine account is a member of the ConfigMgr_DViewAccess localgroup.

Configuring Site Settings in Configuration Manager

You must enable certain Configuration Manager site settings if you plan to use the System Center Configuration Manager connector to populate Inventory.

1E client devices preparation

Please ensure devices that will be used to validate and test the 1E installation has the following.

1E integration with Content Distribution on Windows devices
Configuration Manager present

You do not need to make any configuration changes to Content Distribution for it to integrate with 1E. Please refer Introducing Content Distribution for guidance on designing and deploying Content Distribution.

Configuration Manager not present

You can deploy Content Distribution to Windows devices where the Configuration Manager client is not present. You will need to enable the following bits in relevant installer properties:

  • CompatibilityFlags bit 1 - enable long hashes

  • SpecialNetShare bit 13 - enable HTTP(S)

These are enabled by default in the Content Distribution client module of the 1E Client.

1E client certificate requirements

If you have configured 1E Server to require client certificates (Client certificates) then each device requires a certificate with the following properties, so the client can be authenticated by the 1E Switch.

  1. Issued by a trusted Certificate Authority (CA)

    • The certificate for the Root CA in the Certification Path must exist in the Trusted Root CA store of the client.

    • If the issuing CA is not the Root CA then the certificate for the issuing CA and any intermediate CA in the Certification Path must exist in the Intermediate CA store of the client.

    • If either of these CA certificates is different from those used by the 1E Web Server, they will need to be exported and imported on the 1E Web Server.

    • Most organizations have automated distribution of these CA certificates to clients and servers, using Group Policy for example.

  2. Has at least the following Enhanced Key Usage.

    • Client Authentication.

  3. Has at least the following Key Usage.

    • Digital Signature

    • Key encipherment.

  4. Has a private key.

    • For workgroup and non-Windows devices, the private key must be exportable.

  5. Revocation information is included.

    • References at least one CRL Distribution point that uses HTTP.

  6. Has a Subject Name of type Common Name (CN=<computername>) or Subject Alternative Name (DNS Name=<computername>) where <computername> depends on the type of device:

    • On domain-joined Windows PCs this must be the computername FQDN of the computer, for example W701.ACME.LOCAL.

    • On workgroup Windows PCs and non-Windows devices, this must be the computername of the computer - as returned by the hostname command, for example on Windows PC this could be W701, and on a Mac this could be MAC01.local.

Note

1E clients and Switches use OpenSSL and its validation process to verify certificates.

In organizations that have an established PKI, the client devices will probably have a suitable certificate already, along with relevant Trusted Root CA certificates.

For non-Windows devices, the certificate files must be included in the 1E Client installation folder structure, as described below in Configuring the Non-Windows 1E certificate using OpenSSL.

Certificate Authority (CA) public keys

1E clients need to authenticate Switches and Switches need to authenticate 1E clients. In each case, one end of a secure connection requires the public key for each CA in the other end's certificate certification path (trust chain).

The 1E client needs the public key of each CA in the Switch's certification path. These public keys are stored differently on the client device depending on the type of OS.

  • For Windows devices, CA public keys are normally stored in the Windows Trusted Root Certification Authorities store.

  • For non-Windows devices, CA public keys are stored in a cacert.pem located in the 1E Client installation folder.

  • For macOS devices, you have a choice of storing CA public keys in the macOS KeyStore or using the cacert.pem file approach required by other non-Windows devices.

The following points should be noted for Windows devices:

  • If each client device has an identical certification path as the Switch, then its CA certificates (public keys) will probably already exist in the Windows Trusted Root Certification Authorities store. This is a typical situation in a small-scale lab with a simple PKI.

  • If any client device has a different certification path then the certificates (public keys) of the different CAs will need to be added to the corresponding certificate store on Windows devices, either Trusted Root Certification Authorities or Intermediate Certification Authorities.

  • In each of the above cases, the CA certificates (public keys) may have been deployed by Group Policy.

Note

If any of these CAs has its certificate renewed or re-issued then:

  • The appropriate Certification Authorities store will need to be updated on the 1E Server and Windows devices. Most organizations have automated processes for this task.

  • An updated cacert.pem file must be distributed to non-Windows devices. This should include old and new keys to aid with the transition.

Configuring the Non-Windows 1E certificate using OpenSSL

Each non-Windows device requires its own certificate. Below is a guide for using a Microsoft CA to issue a certificate (which is the same for Windows computers), then exporting it and using OpenSSL to prepare it before installing it on a non-Windows device.

First, you will need to have created a new Certificate template on your Certificate Authority by making a duplicate of either the Computer or Workstation template and configuring it with at least the following properties:

  • General - use a suitable name such as 1E Devices and validity period

  • Request Handling - Allow private keys to be exported

  • Subject Name - Allow information to be supplied in the certificate request, rather than being built from Active Directory information

  • Extensions - Application Policies should contain only Client Authentication

  • Security - ensure relevant users and computers will be able to request certificates.

Once the new template is created on the CA, issue it.

Using the issued template, request a certificate for a target device, export it in .pfx form and remember the password.

The target device requires a copy of the basic cacert.pem and the .pfx file with its password removed. You can do this using the following steps. Use the relevant OpenSSL version for the OS. OpenSSL is normally available by default on Linux and Mac devices. If you want to follow these steps on Windows, you will need to download the open-source version appropriate to your OS.

  1. First, extract the certificate:

    openssl pkcs12 -clcerts -nokeys -in <YourPKCSFile>.pfx -out certificate.crt
  2. Second, the CA key:

    openssl pkcs12 -cacerts -nokeys -in <YourPKCSFile>.pfx -out ca-cert.ca
  3. Now, the private key:

    openssl pkcs12 -nocerts -in <YourPKCSFile>.pfx -out private.key -passout pass:TemporaryPassword
  4. Remove the passphrase:

    openssl rsa -in private.key -out new.key -passin pass:TemporaryPassword
  5. Put things together for the new PKCS-File (on Windows, type can be used instead of cat):

    cat new.key > PEM.pem
    cat certificate.crt >> PEM.pem
    cat ca-cert.ca >> PEM.pem
  6. And create the new .pfx file, when prompted for a password ensure that you enter an empty password (that is press enter when prompted for the password and confirmation without entering any text):

    openssl pkcs12 -export -nodes -CAfile ca-cert.ca -in PEM.pem -out Tachyon.pfx

Now you have a new PKCS12 key file without a passphrase on the private key part. This Tachyon.pfx file and the cacert.pem file, must be placed in one of the following locations - depending on the OS. These are hidden folders.

On Linux and Solaris:

/etc/1E/Client/.sslcerts

On Mac:

/Library/Application Support/1E/Client/.sslcerts
Configuring the 1E certificate for macOS

The 1E Client for macOS devices supports the Configuring the Non-Windows 1E certificate using OpenSSL approach described above. Alternatively, the 1E Client for macOS also supports certificates stored within the macOS Key Store.

1E Catalog

1E Server Setup will install 1E Catalog on the 1E server and ensure the server meets the requirements for installation.

Ensure the following URL is whitelisted:

  • https://catalog.1e.com

This URL must be accessible from the 1E Server during the setup and running of 1E 1E Catalog. This enables the Catalog Update service to connect to the 1E Cloud Catalog and download the latest catalog entries.

Note

1E Catalog may need additional configuration to support proxy servers, but this depends on the configuration you have in your current environment. Please contact 1E Support if you need help doing this.