SSO Using Unsupported IdP
Since v6.2.5/2
This section describes the steps you can attempt to set up Single Sign-On (SSO) for HVR using an IdP not supported by HVR with SAML authentication.
The setup procedure involves configuring the HVR, setting up a SAML application in IdP, and completing the configuration on the HVR.
Prerequisites
Before setting up SSO for HVR using a IdP, ensure you have the following:
- HVR Hub installed with HTTPS enabled
- HVR Hub initial setup is completed
- IdP and HVR accounts with administrative access
Setup instructions
Set Up HVR
Prepare the HVR environment for Single Sign-On (SSO) by configuring essential settings and generating metadata.
Configure Public Hostname
Set the fully qualified domain name (FQDN) for the HVR Hub Server to ensure it is publicly accessible for SAML-based authentication.
To set the public hostname, use the command hvrhubserverconfig:
hvrhubserverconfig Public_Host=fully-qualified-hostname
(Optional) Configure SP Key Pair
By default, the HVR Hub Server automatically generates and configures the Service Provider (SP) key pair and X.509 certificate required to establish secure communication between the SP and the Identity Provider (IdP). This automatic generation is done when downloading the SP metadata or when the user tries to authenticate using SAML for the first time.
Perform this step only if you want to manually configure the SP key pair instead of using the automatically generated one.
Instructions to manually configure the SP key pair for SAML
You can configure the HVR Hub Server to use your own key pair and X.509 certificate or generate a new one.
Configure using your own key pair (e.g.,
saml-sp.pub_cert
,saml-sp.priv_key
) and certificate using the hvrhubserverconfig command:Configure without password:
hvrhubserverconfig Saml_SP_Public_Certificate=@saml-sp.pub_cert Saml_SP_Private_Key=@saml-sp.priv_key
Optionally, you can set a password for the key pair.
Configure with password:
hvrhubserverconfig Saml_SP_Public_Certificate=@saml-sp.pub_cert Saml_SP_Private_Key=@saml-sp.priv_key Saml_SP_Private_Key_Password=password
Configure using a new key pair and certificate:
Generate a new key pair and certificate using the hvrsslgen command:
hvrsslgen saml-sp hvrhubserver-saml
Sample output:
hvrsslgen saml-sp hvrhubserver-saml hvrsslgen: Fivetran HVR 6.2.6/0 (linux_glibc2.17-x64-64bit) hvrsslgen: Generating SSL key pair... hvrsslgen: Generating SSL key pair completed. hvrsslgen: Certificate subject: 'HVR hvrhubserver-saml' hvrsslgen: Certificate contains 2048 bit RSA Public Key. hvrsslgen: Certificate valid from Jan 6 18:03:18 2025 GMT hvrsslgen: Certificate valid until Jan 1 18:03:18 2045 GMT hvrsslgen: Public Certificate written to 'saml-sp.pub_cert'. hvrsslgen: Private key written to 'saml-sp.priv_key'. hvrsslgen: Private key password: rEscC7Lo3GihLb4HODNhX9xIJPR3yD6RCQU+JsJ/ hvrsslgen: Example to configure High Volume Agent: hvragentconfig Agent_Server_Public_Certificate=@saml-sp.pub_cert Agent_Server_Private_Key=@saml-sp.priv_key Agent_Server_Private_Key_Password=rEscC7Lo3GihLb4HODNhX9xIJPR3yD6RCQU+JsJ/ hvrsslgen: Example to configure Hub Server: hvrreposconfig Agent_Client_Public_Certificate=@saml-sp.pub_cert Agent_Client_Private_Key=@saml-sp.priv_key Agent_Client_Private_Key_Password=rEscC7Lo3GihLb4HODNhX9xIJPR3yD6RCQU+JsJ/ hvrsslgen: Example to configure SAML to Hub Server: hvrhubserverconfig Saml_SP_Public_Certificate=@saml-sp.pub_cert Saml_SP_Private_Key=@saml-sp.priv_key Saml_SP_Private_Key_Password=rEscC7Lo3GihLb4HODNhX9xIJPR3yD6RCQU+JsJ/ hvrsslgen: Finished. (elapsed=0.238508s)
From the hvrsslgen command's output, copy the example command line after
Example to configure SAML to Hub Server
and execute it:hvrhubserverconfig Saml_SP_Public_Certificate=@saml-sp.pub_cert Saml_SP_Private_Key=@saml-sp.priv_key Saml_SP_Private_Key_Password=password
Download SP Metadata
Retrieve the SP metadata file, which contains essential configuration details, to use in IdP SAML setup.
To download the SP metadata file, use the URL - https://fully-qualified-hostname:https_port/auth/latest/saml/metadata
Enter the URL https://fully-qualified-hostname:https_port/auth/latest/saml/metadata
in the address bar of your browser.
Get Entity ID and ACS URL
Extract key identifiers from the SP metadata file, such as the Entity ID and Assertion Consumer Service (ACS) URL, which might be required for configuring the SAML application in the IdP.
Open the downloaded SP metadata file in a text viewer.
Make a note of the following values, they are required for setting Up SAML Configurations in the IdP (step 2.1):
The entityID attribute of the EntityDescriptor element. This is the Entity ID that you might need while setting up SAML in the IdP.
The Location attribute of the AssertionConsumerService element with Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST". This is the ASC URL that you might need while setting up SAML in the IdP.
Set Up SAML Configurations in the IdP
Create and configure a custom SAML application in the IdP to integrate with HVR.
In the SAML configuration, set the Entity ID and ACS URL that you had noted down in step 1.4. Certain IdPs allow you to upload the SP metadata to automatically populate these fields.
Setup mapping with the username of the HVR user.
An HVR username can be mapped with the Subject Name-ID or with an Attribute of the SAML user in the IdP.
Ensure that the Subject Name-ID matches your HVR username, or that the SAML user has an Attribute matching your HVR username.
It's recommended to map the email address of the IdP user with the username of the HVR user.
Download the IdP metadata file. This file will be needed in step 3.1 to configure the HVR hub server.
Ensure that IdP users are allowed to log in to the HVR hub server.
Complete HVR Configuration
Finalize SAML authentication on the HVR Hub Server by uploading IdP metadata, enabling authentication methods, and adding SAML users.
Upload IdP Metadata
Upload the metadata file downloaded from IdP to the HVR server to establish trust with the Identity Provide (IdP).
Copy the IdP metadata that you downloaded (in step 2.4) to the server running the HVR Hub Server and name it saml-idp-metadata.xml.
Configure the IdP metadata using the hvrhubserverconfig command:
hvrhubserverconfig Saml_IDP_Metadata=@saml-idp-metadata.xml
Configure User Claim
An HVR user can be mapped with the Subject Name-ID or with an Attribute of the SAML user in the IdP.
If in step 2.2, you mapped the HVR user with an attribute, you need to set the name of that attribute to the Saml_IDP_User_Claim property.
To configure the User Claim from CLI, use the command hvrhubserverconfig:
hvrhubserverconfig Saml_IDP_User_Claim=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
(Optional) Rename IdP Name
Configure the IdP Name using the command hvrhubserverconfig:
hvrhubserverconfig Saml_IDP_Name="My IdP"
The default text for the SAML login button in the HVR UI is Sign in with SSO. The above command with the Saml_IDP_Name hub server property changes it to Sign in with My IdP.
Enable SAML Authentication
Enable SAML as the authentication method on the HVR Hub Server using the command hvrhubserverconfig:
hvrhubserverconfig Authentication_Method.saml=true
This explicitly enables the SAML authentication. By default, password authentication is the only method implicitly enabled. When you explicitly enable any (e.g, SAML) authentication method, all others will be disabled unless explicitly re-enabled.
To explicitly re-enable password authentication, run:
hvrhubserverconfig Authentication_Method.password=true
Few more commands related to enabling/disabling the authentication methods
To disable SAML authentication, run:
hvrhubserverconfig Authentication_Method.saml=false
To restore the default authentication method (i.e., password authentication), run:
hvrhubserverconfig Authentication_Method=
Create SAML Users
Add SAML-based user in HVR to grant access via Single Sign-On.
Login into the HVR UI using an administrator account.
On the left sidebar, click System.
On the System page, go to the Users tab.
Click Add User.
In the New User dialog, choose SAML user as AUTHENTICATION.
Specify the USERNAME and FULL NAME.
Click Save.