Duo Single Sign-On is a cloud-hosted SAML identity provider (IdP) that adds two-factor authentication, complete with inline self-service enrollment and Duo Prompt, to popular cloud services like Salesforce and Amazon Web Services using SAML 2.0 federation.
Duo Federal customers or those looking for an on-premises SSO solution: try Duo Access Gateway.
Duo Single Sign-On is a cloud-hosted Security Assertion Markup Language (SAML) 2.0 identity provider that secures access to cloud applications with your users’ existing directory credentials (like Microsoft Active Directory or Google Apps accounts). SAML delegates authentication from a service provider to an identity provider, and is used for single sign-on solutions (SSO).
Duo provides SAML connectors for enterprise cloud applications like Amazon Web Services, Salesforce and Workday. Duo Single Sign-On also offers a generic connector with the ability to provide your own SAML “metadata” and connect to just about any app that supports the SAML 2.0 standard.
Protected cloud applications redirect your users to Duo Single Sign-On, authenticating your users using your existing primary authentication source for credential verification, and then prompting for two-factor authentication before permitting access to the SAML application.
Duo Single Sign-On is available in Duo Beyond, Duo Access, and Duo MFA plans.
Duo Single Sign-On supports on-premises Active Directory (AD) and cloud or on-premises SAML IdPs as identity sources.
Before you start using Duo Single Sign-on, make sure to meet all the requirements described below:
Role required: Owner
Log in to the Duo Admin Panel and click Single Sign-On in the navigation bar on the left.
Review the information on the "Single Sign-On" page. If you agree to the terms, check the box and then click Activate and Start Setup.
On the Customize your SSO subdomain page you can specify a subdomain you'd like your users to see when they are logging in with Duo Single Sign-On. For example, you can enter acme and users would see acme.login.duosecurity.com in the URL when logging into Duo Single Sign-On.
Click Save and continue to use the desired subdomain or click Complete later to skip this step for now.
On the Add Authentication Source page choose between using Active Directory or a SAML Identity Provider as your authentication source. Click the button at the bottom of the option you'd like to use to add that source type, and follow the instructions in the next section.
Duo Single Sign-On allows you to use Active Directory or a SAML Identity Provider as a first factor authentication source. You may configure one of each authentication source type, but only a single source may be active at a time.
Follow the steps below to first configure an on-premises Authentication Proxy to connect to Duo Single Sign-On. You'll then configure Duo Single Sign-On to talk to your Active Directory through the Authentication Proxy.
Duo Single Sign-On communicates with your Active Directory by having an Authentication Proxy installed and configured on-premises to connect Duo Single Sign-On and Active Directory together.
We recommend three authentication proxy servers for high availability. During authentication the order of which authentication proxy to use will be chosen at random.
Install Duo Authentication Proxy 5.0.0 or higher on a Windows or Linux server following the installation instructions.
Confirm that your Authentication Proxy can communicate with your Active Directory domain controllers over LDAP/LDAPS (commonly ports 389/636).
Confirm that your Authentication Proxy has outbound Internet access over port 443.
On the "Active Directory Configuration" under "1. Install the Authentication Proxy" click Add Authentication Proxy. You'll be redirected to a new page.
You can rename your Authentication Proxy by clicking Rename at the top of the screen to give it an easily identifiable name.
Select the "Windows" or "Linux" tab based on your Authentication Proxy install to be given specific instructions.
On your Authentication Proxy server locate and open the authproxy.cfg
file with elevated permissions.
OS | Path |
---|---|
Windows | C:\Program Files\Duo Security Authentication Proxy\conf |
Linux | /opt/duoauthproxy/conf |
Click Copy under "Add service account credentials to authproxy.cfg" and append this to your authproxy.cfg
file. A first time Authentication Proxy install may include an existing authproxy.cfg
with some example content. For the purposes of these instructions, however, you should overwrite the existing sample content and paste in the copied data.
If you plan to use NTLMv1, NTLMv2, or Plain authentication then uncomment and populate the service_account_username
and service_account_password
lines with the credentials for a service account in your Active Directory. You do not need these lines in your authproxy.cfg
if you plan to use Integrated authentication.
Any service account credentials specified in the config will be ignored during user authentication if you select Integrated authentication when completing Active Directory configuration.
Save and close the authproxy.cfg
file.
Follow the instructions in "2. Connect the Authentication Proxy to Duo" and run the command to connect your Authentication Proxy to Duo Single Sign-On.
Click Run test under "3. Verify the proxy is connected" to confirm your Authentication Proxy is connected to Duo. If you encounter any issues check the logs on the Authentication Proxy.
Once the Authentication Proxy is connected to Duo click Return to Configuration to return to the "Active Directory Configuration" page.
You can add additional Authentication Proxy servers by repeating steps 1 through 10.
On the "Active Directory Configuration" page scroll down to "2. Configure Active Directory" and fill out the form using the information below. Note that all information is required unless otherwise noted.
Duo Single Sign-On requires that you verify control of the email domains users will be logging in with by adding a DNS TXT record to the domain's DNS.
When a user attempts to log in with an email address that has not been verified by their organization, the authentication will be rejected and the user's credentials will not be sent to the authentication proxy for verification. This prevents your users from accidentally exposing their credentials to a Duo Single Sign-On not owned by your organization.
Under "3. Permitted Email Domains" find 1. Add Email Domain and type in the domain name of an email address that users from your organization will use to log in. Example: If your email address is username@example.com type example.com under step 1 and click Add.
A table appears showing the domain name you just added, along with additional information about the DNS TXT record that needs to be created.
Log into your DNS provider and create a DNS TXT record for the domain you just added in Record Name (eg. example.com) with the value in the corresponding DNS Text Record Value column.
You will be creating a DNS TXT record for your domain. Many domain registrators allow you to signify this by using the @ symbol.
See below about adding DNS records for popular domain registrars:
Once your DNS record has been created, return to the Duo Admin Panel and click the Verify button under the "Status" column. It can take time for DNS changes to propagate so if the verification fails, you may need to wait and try again later.
Once the record has been verified the "Status" column will change to "Verified". Users using the verified domain will now be able to log into Duo Single Sign-On.
Repeat steps 3.1 through 3.4 for all email domains that need to be verified. Subdomains must be individually verified.
You may delete the DNS TXT record after Duo verifies the domain. Don't remove it before your domain shows "Verified" status.
Under "4. Test Active Directory Configuration" click Run tests. This will test connections between Duo Single Sign-On, your Authentication Proxy server(s), and your Active Directory. It will only report the status of an individual connection if there is an error. If you encounter an error, make the appropriate changes and click Run tests again.
Click Save. You are now ready to start protecting applications with Duo Single Sign-On.
Follow the steps below to configure Duo Single Sign-On as a service provider inside of your SAML identity provider and configure Duo Single Sign-On to use your SAML identity provider for authentication. Keep the Duo Admin Panel open in your browser while you access your SAML IdP's administrative console in a new window or tab. You'll need to return to the Duo Single Sign-On page to complete the configuration steps.
Note: If you use Azure as your SAML IdP for Duo Single Sign-On you cannot also protect Office 365 with Duo Single Sign-On.
On the "Single Sign-On Configuration" page scroll down to 1. Configure your SAML Identity Provider. This is the Duo Single Sign-On metadata information you'll need to provide to your SAML identity provider to configure Duo Single Sign-On as a service provider.
Log into your Microsoft Azure administrative portal.
Click on the menu icon in the upper left-hand side of the page. Click on Azure Active Directory.
On the left-hand navigation bar click Enterprise Applications. Click + New application at the top of the screen.
Click the Non-gallery application tile in the "Add your own app" section.
On the "Add your own application" page type "Duo SSO" in the Name field and click Add at the very bottom of the page.
On the application "Overview" page under "Getting Started" click Assign users and groups.
Click + Add users and select the users and groups that should have access to log in with Azure to Duo Single Sign-On. Once the users and groups are selected click Assign at the bottom of the page.
On the left-hand navigation under "Manage" click Single sign-on. Select SAML on the "Select a single sign-on method" page.
On the "Set up Single Sign-On with SAML" page under "Basic SAML Configuration" click the Edit icon (a pencil).
While on the "Basic SAML Configuration" page copy the Entity ID from the Duo Admin Panel and paste it into the Identifier (Entity ID) field in Azure.
Example: https://sso-abc1def2.sso.duosecurity.com/saml2/idp/RI6WF1LHX9N8GBOEPGZR/metadata.
While on the "Basic SAML Configuration" page copy the Assertion Consumer Service URL from the Duo Admin Panel and paste it into the Reply URL (Assertion Consumer Service URL) field in Azure.
Example: https://sso-abc1def2.sso.duosecurity.com/saml2/idp/RI6WF1LHX9N8GBOEPGZR/acs.
Leave all other fields empty.
Click Save and close the "Basic SAML Configuration" editor.
Click the pencil icon next to "User Attributes & Claims".
Under "Additional Claims" click ... then Delete and confirm the action next to each row and delete the four default claims.
Click + Add new claim at the top of the page. Use the information in the table below to add a total of five additional claims.
Name | Namespace | Source | Source attribute |
---|---|---|---|
Leave Empty | Attribute | user.mail | |
Username | Leave Empty | Attribute | user.userprincipalname |
FirstName | Leave Empty | Attribute | user.givenname |
LastName | Leave Empty | Attribute | user.surname |
DisplayName | Leave Empty | Attribute | user.displayname |
Once all five claims have been added click the X icon at the top right-hand side to close the view.
Duo Single Sign-On does not support an identity provider sending it a request. Do not click "Test" under step 5 to test your setup as it will fail.
In the Azure Portal under "SAML Signing Certificate" click Download next to Certificate (Base64). You will need this later.
Under "Set up Duo SSO" you will find metadata information that needs to be provided to Duo Single Sign-On.
Return to the Duo Admin Panel and scroll down to 3. Configure Duo Single Sign-On. In the Name field type a name that will let you easily identify the provider.
Copy the Login URL value from Azure and paste it into the Single Sign-On URL field in the Duo Admin Panel.
Example: https://login.microsoftonline.com/a1b34567-890c-123d-456e-7890fg12h345/saml2
Copy the Azure AD Identifier value from Azure and paste it into the Entity ID field in the Duo Admin Panel.
Example: https://sts.windows.net/a1b34567-890c-123d-456e-7890fg12h345/
Leave Single Logout URL and Logout Redirect URL empty in the Duo Admin Panel.
Upload the certificate to the Certificate section in the Duo Admin Panel.
Username Normalization controls whether or not usernames entered for primary authentication should be altered before trying to match them to a Duo user account. When set to None, the usernames narroway
, EXAMPLE\narroway
, and narroway@example.com
would be three separate users in Duo. When set to Simple, any domain information is stripped from the username sent to Duo, so narroway
, EXAMPLE\narroway
, and narroway@example.com
would all resolve to a single "narroway" Duo user.
Default: Simple.
Click Save.
You are now ready to start protecting applications with Duo Single Sign-On.
Note: If you use G Suite as your SAML IdP for Duo Single Sign-On you cannot also protect G Suite with Duo Single Sign-On.
Log into your G Suite Admin page.
While in the Admin Console click on Apps and then click on Web and mobile apps.
At the top of the "Apps" table click the Add App dropdown and select Add custom SAML app. You'll be taken to a new page.
On the "Apps details" page type a name that will let you easily identify the provider. Click CONTINUE.
The "Google Identity Provider details" page contains the information needed to configure Duo Single Sign-On.
In another tab return to the Duo Admin Panel and scroll down to 3. Configure Duo Single Sign-On.
In the Name field type a name that will let you easily identify the provider.
Copy the Entity ID value from Google and paste it into the Entity ID field in the Duo Admin Panel.
Example: https://accounts.google.com/o/saml2?idpid=A01bcdefg
Copy the SSO URL value from Google and paste it into the Single Sign-On URL field in the Duo Admin Panel.
Example: https://accounts.google.com/o/saml2/idp?idpid=A01bcdefg
Leave Single Logout URL and Logout Redirect URL empty in the Duo Admin Panel.
Click the download icon button under the "Certificate" section on Google. Upload the certificate to the Certificate section in the Duo Admin Panel.
Username Normalization controls whether or not usernames entered for primary authentication should be altered before trying to match them to a Duo user account. When set to None, the usernames narroway
, EXAMPLE\narroway
, and narroway@example.com
would be three separate users in Duo. When set to Simple, any domain information is stripped from the username sent to Duo, so narroway
, EXAMPLE\narroway
, and narroway@example.com
would all resolve to a single "narroway" Duo user.
Default: Simple.
Click Save.
On the Duo Admin Panel scroll up to 1. Configure your SAML Identity Provider. This is the Duo Single Sign-On metadata information you'll need to provide to your SAML identity provider to configure Duo Single Sign-On as a service provider.
Return to Google and on the "Google Identity Provider details" page click CONTINUE.
On the "Service Provider Details" page copy the Assertion Consumer Service URL from the Duo Admin Panel and paste it into the ACS URL field.
Example: https://sso-abc1def2.sso.duosecurity.com/saml2/idp/RI6WF1LHX9N8GBOEPGZR/acs.
Copy the Entity ID from the Duo Admin Panel and paste it into the Entity ID field.
Example: https://sso-abc1def2.sso.duosecurity.com/saml2/idp/RI6WF1LHX9N8GBOEPGZR/metadata.
Leave Start URL empty.
Check the box next to Signed response
Set Name ID Format to UNSPECIFIED and click CONTINUE.
Set Name ID to an attribute in Google that matches your Duo usernames.
On the "Attribute Mapping" click ADD MAPPING five times. New rows will appear on the page.
Use the table below to add mappings onto the Google page from left to right for each row.
Google Directory attributes | App attributes |
---|---|
Primary email | |
Primary email | Username |
First name | FirstName |
Last name | LastName |
First name | DisplayName |
Click FINISH. You'll be taken to the application's page in "Web and mobile apps".
On the application page click the down arrow in the upper-right corner of "User access". You'll be taken to a new page.
Under "Service status" click ON for everyone and click SAVE.
You are now ready to start protecting applications with Duo Single Sign-On.
On the "Single Sign-On Configuration" page scroll down to 1. Configure your SAML Identity Provider. This is the Duo Single Sign-On metadata information you'll need to provide to your SAML identity provider to configure Duo Single Sign-On as a service provider.
Configure your SAML identity provider to:
Send a NameIDFormat of urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified.
Send a NameID attribute that matches your users' Duo usernames.
On the "Single Sign-On Configuration" page scroll down to 2. Configure SAML Identity Provider's Attributes. Configure your SAML identity provider to send the following required attribute values. Attribute names must be sent to Duo Single Sign-On corresponding to the "Attribute Name Sent" column below:
SAML IdP Attribute | Attribute Name Sent |
---|---|
Username | Username |
Email Address | |
Full Name | DisplayName |
First Name | FirstName |
Last Name | LastName |
You may configure additional attributes to send in addition to the required attributes
Once you've configured Duo Single Sign-On as a service provider within your SAML identity provider continue to the next section.
On the Duo Admin Panel "Single Sign-On Configuration" page scroll down to 3. Configure Duo Single Sign-on.
Fill out the fields listed below using information from your SAML identity provider:
Name | Description |
---|---|
Display Name | A name so that you can easily identify the provider. |
Entity ID | The global, unique name for your SAML identity provider. This is provided by your SAML identity provider and is sometimes referred to as "Issuer". |
Single Sign-On URL | The authentication URL for your identity provider. This is sometimes referred to as "SSO URL" or "Login URL". |
Single Logout URL | This field is optional and currently unused by Duo Single Sign-On. This field my be used in the future. The logout URL for your identity provider. This is sometimes referred to as "SLO URL" or "Logout Endpoint". |
Logout Redirect URL | This field is optional. When this field is populated, after logging a user out of Duo Single Sign-On they will be redirected to the URL in this field. |
Certificate | Download the signing certificate for your identity provider, and then click the Browse button to select the downloaded certificate. |
Username normalization | Controls whether or not usernames entered for primary authentication should be altered before trying to match them to a Duo user account. When set to None, the usernames narroway , EXAMPLE\narroway , and narroway@example.com would be three separate users in Duo. When set to Simple, any domain information is stripped from the username sent to Duo, so narroway , EXAMPLE\narroway , and narroway@example.com would all resolve to a single "narroway" Duo user. Default: Simple. |
Once all the required information is filled out click Save. You are now ready to start protecting applications with Duo Single Sign-On.
If the custom subdomain was not configured during initial setup, you can configure it from the main Single Sign-On page.
While on the Single Sign-On page, under "Custom Subdomain" click the Create a custom subdomain button.
The page will redirect to the Customize your SSO subdomain page. You can specify a subdomain you'd like your users to see when they are logging in with Duo Single Sign-On. For example, you can enter acme and users would see acme.login.duosecurity.com in the URL when logging into Duo Single Sign-On. Click Save and continue.
You'll be redirected back to the "Single Sign-On" page which will now display your custom subdomain.
You can create an additional authentication source but can only have one of each type.
While on the Single Sign-On page, under "Configured Authentication Sources" click Add source.
The page will redirect to the Add Authentication Source page. You can choose between using Active Directory or a SAML Identity Provider as your authentication source but can only have one of each type. Click the Add button at the bottom of the option to be taken to the configuration page for the new authentication source.
While on the Single Sign-On page, click on the name of authentication source you'd like to modify.
You'll be redirected to the authentication source page where changes can be made. At the top of each page, it will show the status of the authentication source. You can only have one active authentication source at a time. If it is inactive you can click the Edit button next to "Status" to switch it to the active authentication source. This immediately inactivates your other authentication source. Delete an inactive authentication source by clicking Delete Source.
When configuring an application to be protected with Duo Single Sign-On you'll need to send attributes from Duo Single Sign-On to the application. Active Directory will work with no additional setup, but if you used a SAML identity provider as your authentication source please verify that you configured it to send the correct SAML attributes.
Below you can see the Bridge Attribute name used that automatically maps certain attributes from your authentication source.
Bridge Attribute | Active Directory | SAML IdP |
---|---|---|
<Username> |
sAMAccountName | Username |
<Email Address> |
||
<Display Name> |
displayName | DisplayName |
<First Name> |
givenName | FirstName |
<Last Name> |
sn | LastName |
Duo has pre-configured SAML configurations for many popular cloud applications. Refer to the instructions for your named service provider:
You can also use Duo Single Sign-On with any SAML 2.0 service provider by configuring it as a generic service provider application in Duo.
Once you've configured Duo Single Sign-On, you're ready to enable Duo Central, a single location for your users to get access to all of their organization's applications and helpful links. Get started with Duo Central.
User goes to a SAML service provider they'd like to log into.
SAML Service Provider redirects user's browser to Duo Single Sign-On with a SAML request message.
User logs in with primary credentials.
Duo Single Sign-On sends the credentials to the Duo Authentication Proxy in the customer's network. The Authentication Proxy forwards this to Active Directory which returns a response back to Duo Single Sign-On.
Duo Single Sign-On requires the user to complete two-factor authentication.
User completes Duo two-factor authentication.
Duo Single Sign-On redirects user's browser to the SAML Service Provider with response message.
User goes to a SAML service provider they'd like to log into.
SAML Service Provider redirects user's browser to Duo Single Sign-On with a SAML request message.
Duo Single Sign-On redirects user's browser to the SAML identity provider with a SAML request message.
User logs in with primary credentials.
SAML identity provider redirects user's browser to Duo Single Sign-On with response message.
Duo Single Sign-On requires the user to complete two-factor authentication. User completes Duo two-factor authentication.
Duo Single Sign-On redirects user's browser to the SAML Service Provider with response message.