Documentation
Introduction

Use this guide to enable 2-Factor Authentication and Single Sign-on access via SAML to Thycotic Secret Server.

Prerequisites

1. Have a Thycotic Secret Server Admin Account

2. Configure Thycotic Secret Server to use HTTPS

3. Create a New Realm for the Secret Server integration in the SecureAuth IdP Web Admin

4. Configure the following tabs in the Web Admin before configuring the Post Authentication tab:

  • Overview – the description of the realm and SMTP connections must be defined
  • Data – an enterprise directory must be integrated with SecureAuth IdP
  • Workflow – the way in which users will access this application must be defined
  • Registration Methods – the 2-Factor Authentication methods that will be used to access this page (if any) must be defined
SecureAuth IdP Configuration Steps
Data

 

1. In the Profile Fields section, map the userPrincipalName to a SecureAuth IdP Property

For example, add the userPrincipalName to the Email 2 Property if it is not already contained somewhere else

Click Save once the configurations have been completed and before leaving the Data page to avoid losing changes

Workflow

 

2. In the SAML 2.0 Service Provider section, provide the SP Start URL to enable SSO and to redirect users appropriately to access Secret Server

For example, the SP Start URL would be https://ss.company.com

Click Save once the configurations have been completed and before leaving the Workflow page to avoid losing changes

Post Authentication

 

3. Select SAML 2.0 (SP Initiated) Assertion Page from the Authenticated User Redirect dropdown in the Post Authentication tab in the Web Admin

4. An unalterable URL will be auto-populated in the Redirect To field, which will append to the domain name and realm number in the address bar (Authorized/SAML20SPInit.aspx)

5. A customized post authentication page can be uploaded, but it is not required

User ID Mapping

 

6. Select the SecureAuth IdP Property that corresponds to the directory field that contains the userPrincipalName (Email 2)

7. Select urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified from the Name ID Format dropdown (default)

Select a different option if Secret Server requires it, which the Service Provider (SP) will provide

8. Select False from the Encode to Base64 dropdown

SAML Assertion / WS Federation

 

9. Set the WSFed Reply To/SAML Target URL to Fully Qualified Domain Name (FQDN) of Secret Server, e.g. https://ss.company.com

10. Set the SAML Consumer URL to the FQDN of Secret Server, followed by /SAML/AssertionConsumerService.aspx, e.g. https://ss.company.com/SAML/AssertionConsumerService.aspx

11. Set the WSFed/SAML Issuer to the FQDN of the SecureAuth IdP appliance, followed by the SecureAuth IdP Secret Server-integrated realm, e.g. https://secureauth.company.com/secureauth2/

12. Set the SAML Recipient to the FQDN of Secret Server, followed by /SAML/AssertionConsumerService.aspx, e.g. https://ss.company.com/SAML/AssertionConsumerService.aspx 

13. Set the SAML Audience to urn:componentspace:SecretServerServiceProvider

14. Select True from the Sign SAML Assertion dropdown

15. Select True from the Sign SAML Message dropdown

16. Select False from the Encrypt SAML Assertion dropdown

 

17. Leave the Signing Cert Serial Number as the default value, unless there is a third-party certificate being used for the SAML assertion

If using a third-party certificate, click Select Certificate and choose the appropriate certificate

18. Download the Assertion Signing Certificate to be used in the Secret Server Configuration Steps

19. Provide the Domain in order to Download the Metadata File to send to Secret Server (if required)

Click Save once the configurations have been completed and before leaving the Post Authentication page to avoid losing changes

Forms Auth / SSO Token

 

20. Click View and Configure FormsAuth keys / SSO token to configure the token/cookie settings and to configure this realm for SSO

 

These are optional configurations


 To configure this realm's token/cookie settings, follow these steps:
Forms Authentication


1. If SSL is required to view the token, select True from the Require SSL dropdown

2. Choose whether SecureAuth IdP will deliver the token in a cookie to the user's browser or device:

  • UseCookies enables SecureAuth IdP to always deliver a cookie
  • UseUri disables SecureAuth IdP to deliver a cookie, and instead deliver the token in a query string
  • AutoDetect enables SecureAuth IdP to deliver a cookie if the user's settings allow it
  • UseDeviceProfile enables SecureAuth IdP to deliver a cookie if the browser's settings allow it, no matter the user's settings

3. Set the Sliding Expiration to True if the cookie remains valid as long as the user is interacting with the page

4. Set the Timeout length to determine for how many minutes a cookie is valid

No configuration is required for the Name, Login URL, or Domain fields

Machine Key

5. No changes are required in the Validation field, unless the default value does not match the company's requirement

If a different value is required, select it from the dropdown

6. No changes are required in the Decryption field, unless the default value does not match the company's requirement

If a different value is required, select it from the dropdown

No configuration is required for the Validation Key or Decryption Key fields

Authentication Cookies

 

7. Enable the cookie to be Persistent by selecting True - Expires after Timeout from the dropdown

Selecting False - Session Cookie enables the cookie to be valid as long as the session is open, and will expire once the browser is closed or the session expires

No configuration is required for the Pre-Auth Cookie, Post-Auth Cookie, or the Clean Up Pre-Auth Cookie fields

Click Save once the configurations have been completed and before leaving the Forms Auth / SSO Token page to avoid losing changes

To configure this realm for SSO, refer to SecureAuth IdP Single Sign-on Configuration

To configure this realm for Windows Desktop SSO, refer to Windows Desktop SSO Configuration Guide

Secret Server Configuration Steps

 

1. Log into the Secret Server Admin Console, and select Configuration from the ADMIN options

Configuration

 

2. Select the Login menu option

3. Check Enable SAML Integration

4. Leave the SAML Username Attribute field blank

5. Click Save

saml.config

6. Go to the root of the Secret Server web server in the file system and place the exported Assertion Signing Certificate from the SecureAuth IdP Web Admin (step 18) here

7. Open the saml.config file

8. Use the following code to create the saml.config file

Replace the SecureAuthIdPFQDN values with the actual FQDN of the SecureAuth IdP appliance (two instances)

Replace the # values with the actual SecureAuth IdP Secret Server-integrated realm number (realm configured in SecureAuth IdP Configuration Steps) (two instances)

These values must match the WSFed/SAML Issuer value supplied in the SecureAuth IdP Web Admin (step 11)

saml.config
<?xml version="1.0"?>
<SAMLConfiguration xmlns="urn:componentspace:SAML:2.0:configuration">
  <ServiceProvider Name="urn:componentspace:SecretServerServiceProvider"
                   AssertionConsumerServiceUrl="~/SAML/AssertionConsumerService.aspx"
                   CertificateFile="ExportedCertHere.crt" /> <!-- Replace with the name of certificate file -->
  <!-- SecureAuth -->
  <PartnerIdentityProvider Name="https://SecureAuthIdPFQDN/secureauth#/" <!-- Replace the # with the actual FQDN and Realm Number of the SecureAuth Realm that will be doing SAML to SecretServer -->
			   SignAuthnRequest="true" 
			   WantSAMLResponseSigned="true"
			   WantAssertionSigned="true"
			   WantAssertionEncrypted="false"
			   UseEmbeddedCertificate="true"
			   SingleSignOnServiceUrl="https://SecureAuthIdPFQDN/secureauth#/" /> <!-- Replace the # with the actual FQDN and Realm Number of the SecureAuth Realm that will be doing SAML to SecretServer -->
</SAMLConfiguration>

9. Save the saml.config file

After changing the saml.config file, Secret Server's application pool must be recycled

Use iireset or right-click the application pool in the UI and Recycle it