Skip navigation
Documentation

Duo Single Sign-On for Amazon WorkSpaces

Last Updated: February 22nd, 2023

Add two-factor authentication and flexible security policies to Amazon WorkSpaces SAML 2.0 logins with Duo Single-Sign On. Our cloud-hosted SSO identity provider offers inline user enrollment, self-service device management, and support for a variety of authentication methods — such as passkeys and security keys, Duo Push, or Verified Duo Push — in the Universal Prompt.

Overview

As business applications move from on-premises to cloud hosted solutions, users experience password fatigue due to disparate logons for different applications. Single sign-on (SSO) technologies seek to unify identities across systems and reduce the number of different credentials a user has to remember or input to gain access to resources.

While SSO is convenient for users, it presents new security challenges. If a user's primary password is compromised, attackers may be able to gain access to multiple resources. In addition, as sensitive information makes its way to cloud-hosted services it is even more important to secure access by implementing two-factor authentication and zero-trust policies.

About Duo Single Sign-On

Duo Single Sign-On is our cloud-hosted SSO product which layers Duo's strong authentication and flexible policy engine on top of Amazon WorkSpaces logins. Duo Single Sign-On acts as an identity provider (IdP), authenticating your users using existing on-premises Active Directory (AD) or another SSO IdP. Duo SSO prompts users for two-factor authentication and performs endpoint assessment and verification before permitting access to Amazon WorkSpaces.

Duo Single Sign-On is available in Duo Premier, Duo Advantage, and Duo Essentials plans, which also include the ability to define policies that enforce unique controls for each individual SSO application. For example, you can require that Salesforce users complete two-factor authentication at every login, but only once every seven days when accessing Amazon WorkSpaces. Duo checks the user, device, and network against an application's policy before allowing access to the application.

Configure Single Sign-On

Before configuring Amazon WorkSpaces with Duo SSO using Security Assertion Markup Language (SAML) 2.0 authentication you'll first need to enable Duo Single Sign-On for your Duo account and configure a working authentication source.

Once you have your SSO authentication source working, continue to the next step of creating the Amazon WorkSpaces application in Duo.

Create the Amazon WorkSpaces Application in Duo

  1. Log on to the Duo Admin Panel and navigate to Applications.

  2. Click Protect an Application and locate the entry for Amazon WorkSpaces with a protection type of "2FA with SSO hosted by Duo (Single Sign-On)" in the applications list. Click Protect to the far-right to start configuring Amazon WorkSpaces. See Protecting Applications for more information about protecting applications in Duo and additional application options. You'll need the information on the Amazon WorkSpaces page under Downloads later.

  3. Amazon WorkSpaces uses the Mail attribute and Username attribute when authenticating. We've mapped the bridge attributes to Duo Single Sign-On supported authentication source attributes as follows:

    Bridge Attribute Active Directory SAML IdP
    <Email Address> mail Email
    <Username> sAMAccountName Username

    If you are using non-standard attributes for your authentication source, check the Custom attributes box and enter the name of the attributes you wish to use instead.

  4. You can adjust additional settings for your new SAML application at this time — like changing the application's name from the default value, enabling self-service, or assigning a group policy.

  5. Keep the Duo Admin Panel tab open. You will come back to it later.

Duo Universal Prompt

The Duo Universal Prompt provides a simplified and accessible Duo login experience for web-based applications, offering a redesigned visual interface with security and usability enhancements.

Universal Prompt Traditional Prompt
 Duo Push in Universal Prompt  Duo Push in Traditional Prompt

We've already updated the Duo Amazon WorkSpaces application hosted in Duo's service to support the Universal Prompt, so there's no action required on your part to update the application itself. You can activate the Universal Prompt experience for users of new and existing Duo Amazon WorkSpaces applications from the Duo Admin Panel.

Before you activate the Universal Prompt for your application, it's a good idea to read the Universal Prompt Update Guide for more information about the update process and the new login experience for users.

Activate Universal Prompt

Activation of the Universal Prompt is a per-application change. Activating it for one application does not change the login experience for your other Duo applications.

The "Universal Prompt" area of the application details page shows that this application is "Ready to activate", with these activation control options:

  • Show traditional prompt: (Default) Your users experience Duo's traditional prompt via redirect when logging in to this application.
  • Show new Universal Prompt: Your users experience the Universal Prompt via redirect when logging in to this application.

Universal Prompt Info - Application Ready for Universal Prompt

Enable the Universal Prompt experience by selecting Show new Universal Prompt, and then scrolling to the bottom of the page to click Save.

Once you activate the Universal Prompt, the application's Universal Prompt status shows "Activation complete" here and on the Universal Prompt Update Progress report.

Universal Prompt Info - Universal Prompt Activation Complete

Should you ever want to roll back to the traditional prompt, you can return to this setting and change it back to Show traditional prompt. However, this will still deliver the Duo prompt via redirect, not in an iframe.

Universal Update Progress

Click the See Update Progress link to view the Universal Prompt Update Progress report. This report shows the update availability and migration progress for all your Duo applications. You can also activate the new prompt experience for multiple supported applications from the report page instead of visiting the individual details pages for each application.

Enable Amazon WorkSpaces for SSO

To enable Amazon WorkSpaces for SSO, do the sections below in the order they appear.

Create an Identity Provider

  1. In your AWS console, type IAM into the Search bar at the top of the page.

  2. In the search results, click IAM. The "IAM Dashboard" opens.

  3. In the left menu sidebar, navigate to Access managementIdentity providers. The "Identity providers" page opens.

  4. In the upper right corner of the page, click Add provider. The "Add an Identity provider" page opens.

  5. In the "Configure provider" section, click the SAML radio button.

  6. Enter a unique name for your identity provider into the Provider name field.

  7. Return to the Duo Admin Panel. Under "Downloads", click Download XML.

  8. Return to the Amazon WorkSpaces "Add an Identity provider" page. Click Choose file and open the XML file you downloaded from the Duo Admin Panel earlier.

  9. Click Add provider.

Enable Directory Integration with SAML 2.0

  1. In your AWS console, type WorkSpaces into the Search bar at the top of the page.

  2. In the search results, click WorkSpaces. The "WorkSpaces" page opens.

  3. In the left menu sidebar, click Directories. The "Directories" page opens.

  4. In the Directory ID column, click your directory. Your directory page opens.

  5. Scroll down to the "Authentication" section and click Edit. The "Edit authentication" page opens.

  6. In the "SAML 2.0 Identity Provider" section, click Edit SAML 2.0 Identity Provider. The "Edit SAML 2.0" page opens.

  7. Click the Enable SAML 2.0 authentication checkbox.

  8. Return to the Duo Admin Panel. Under "Metadata", copy the User Access URL and paste it into the Amazon WorkSpaces User Access URL field on the "Edit SAML 2.0" page.

    Duo Amazon WorkSpaces Metadata URL
  9. On the Amazon WorkSpaces "Edit SAML 2.0" page, enter RelayState into the IdP deep link parameter name field. "RelayState" is case-sensitive.

  10. Optionally, click the Allow clients that do not support SAML 2.0 to login checkbox.

  11. Click Save.

  12. In the left menu sidebar, click Directories. The "Directories" page opens.

  13. In the Directory ID column, click your directory. Your directory page opens.

  14. In the "Summary" section, copy the Registration code and paste it into the Duo Admin Panel Registration Code field, under "Service Provider".

  15. Return to Amazon WorkSpaces. In the upper right corner of the page, click the region drop-down menu and copy your region code, as highlighted in the image below.

    Amazon WorkSpaces Region Code
  16. Paste your region code into the Duo Admin Panel Region ID field.

  17. Return to Amazon WorkSpaces. Type IAM into the Search bar at the top of the page.

  18. In the search results, click IAM. The "IAM Dashboard" opens.

  19. In the "AWS Account" section, copy the Account ID and paste it into the Duo Admin Panel Account number field.

  20. Return to the AWS "IAM Dashboard". In the left menu sidebar, click Identity providers. The "Identity providers" page opens.

  21. In the Provider column, copy your identity provider and paste it into the Duo Admin Panel Provider name field.

    Duo Amazon WorkSpaces Service Provider Fields
  22. In the Duo Admin Panel, scroll to the bottom of the page and click Save.

Group Mapping

You have the option to map Duo groups to different roles in Amazon WorkSpaces. To map Duo groups, do the sections below in the order they appear.

Create a Role

  1. In your AWS console, type IAM into the Search bar at the top of the page.

  2. In the search results, click IAM. The "IAM Dashboard" opens.

  3. In the left menu sidebar, navigate to Access managementRoles. The "Roles" page opens.

  4. In the upper right corner of the page, click Create role. The "Select trusted entity" page opens.

  5. In the "Trusted entity type" section, click the SAML 2.0 federation radio button.

  6. In the "SAML 2.0 federation" section, click the SAML 2.0-based provider drop-down menu and select the identity provider you created earlier.

  7. Click the Allow programmatic access only radio button.

  8. Click the Attribute drop-down menu and select SAML:sub_type.

  9. Enter persistent into the Value field.

  10. Click Next. The "Add permissions" page opens.

  11. Scroll to the bottom of the page and click Next. The "Name, review, and create" page opens.

  12. In the "Role details" section, enter a unique name for your role in the Role name field.

  13. Scroll to the bottom of the page and click Create role. The "Roles" page opens.

Edit the Trust Policy

  1. On the "Roles" page, in the Role name column, click the role you created earlier. Your role page opens.

  2. Click the Trust relationships tab.

  3. In the "Trusted entities" section, click Edit trust policy. The "Edit trust policy" page opens.

  4. Open the AWS Setting up SAML 2.0 document. Scroll down to "Step 2: Create a SAML 2.0 federation IAM role".

  5. In "Step 2: Create a SAML 2.0 federation IAM role", copy the code block that follows step 14 and paste it into the field on the Amazon WorkSpaces "Edit trust policy" page.

    Amazon WorkSpaces Trust Policy Template
  6. In the upper left corner of the page, right-click the IAM link and select Open Link in New Tab. The "IAM Dashboard" opens in the new tab.

  7. Go to the "IAM Dashboard" tab. In the left menu sidebar, click Identity providers. The "Identity providers" page opens.

  8. In the Provider column, click the identity provider you created earlier. Your identity provider page opens.

  9. In the "Summary" section, copy the ARN and paste it onto line 7 of the "Edit trust policy" page, between the quotation marks, as highlighted in the image below.

  10. Remove the comma (,) at the end of line 12, and delete lines 13 to 17. The code block should now match the image below.

    Amazon WorkSpaces Edited Trust Policy
  11. Scroll to the bottom of the page and click Update policy. Your role page opens.

Add Permissions

  1. On your role page, click the Permissions tab.

  2. In the "Permissions policies" section, click the Add permissions drop-down menu and select Create inline policy. The "Specify permission" page opens.

  3. In the "Policy editor" section, click JSON.

  4. Open the AWS Setting up SAML 2.0 document. Scroll down to "Step 3: Embed an inline policy for the IAM role".

  5. In "Step 3: Embed an inline policy for the IAM role", copy the code block that follows step 3 and paste it into the Policy editor field on the Amazon WorkSpaces "Specify permissions" page.

    Amazon WorkSpaces Policy Editor Template
  6. Open your AWS console in a new tab. Type Workspaces into the Search bar at the top of the page.

  7. In the search results, click WorkSpaces. The "WorkSpaces" page opens.

  8. In the upper right corner of the "WorkSpaces" page, click the region drop-down menu and copy your region code, as highlighted in the image below. Keep the tab with the "WorkSpaces" page open. You will come back to it later.

    Amazon WorkSpaces Region Code
  9. Paste your region code over REGION-CODE text on line 7 of the Policy editor field on the Amazon WorkSpaces "Specify permissions" page, as shown in the image below.

  10. In the upper left corner of the "Specify permissions" page, right-click the IAM link and select Open Link in New Tab. The "IAM Dashboard" opens in the new tab.

  11. Go to the "IAM Dashboard" tab. In the "AWS Account" section, copy the Account ID and paste it over the ACCOUNT-ID-WITHOUT-HYPHENS text on line 7 of the Policy editor field on the Amazon WorkSpaces "Specify permissions" page, as shown in the image below.

  12. Click the tab with the "WorkSpaces" page. In the left menu sidebar, click Directories. The "Directories" page opens.

  13. In the Directory ID column, copy your directory ID and paste it over the DIRECTORY-ID text on line 7 of the Policy editor field on the Amazon WorkSpaces "Specify permissions" page, as shown in the image below.

    Amazon WorkSpaces Edited Policy
  14. Scroll to the bottom of the page and click Next. The "Review and create" page opens.

  15. In the "Policy details" section, enter a unique policy name into the Policy name field.

  16. Scroll to the bottom of the page and click Create policy. Your role page opens.

Map Duo Groups

  1. On your role page, in the left menu sidebar, click Identity providers.

  2. In the Provider column, copy your identity provider and paste it into the Duo Admin Panel AWS role field, under "Service Provider".

  3. In the Duo Admin Panel, click the Duo groups drop-down menu and select the applicable Duo group.

    Duo Amazon WorkSpaces Role Attributes
  4. Scroll to the bottom of the page and click Save.

Learn more about Amazon WorkSpaces SSO at AWS Documentation.

Using SSO

Open the Amazon WorkSpaces app and click Continue to sign in to WorkSpaces to be redirected to Duo Single Sign-On to begin authentication. After you have been authenticated by Duo, the Amazon WorkSpaces app opens again. Enter your Amazon WorkSpaces password and click Sign In.

Active Directory Login

With Active Directory as the Duo SSO authentication source, enter the primary username (email address) on the Duo SSO login page and click or tap Next.

Duo Single Sign-On Login

Enter the AD primary password and click or tap Log in to continue.

Duo Single Sign-On Password

Enable Duo Passwordless to log in to Duo SSO backed by Active Directory authentication without entering a password in the future.

SAML Login

With another SAML identity provider as the Duo SSO authentication source, Duo SSO immediately redirects the login attempt to that SAML IdP for primary authentication. Users do not see the Duo SSO primary login screen.

Duo Authentication

Successful verification of your primary credentials by Active Directory or a SAML IdP redirects back to Duo. Complete Duo two-factor authentication when prompted and then you'll return to Amazon WorkSpaces to complete the login process.

Duo Universal Prompt

* Universal Prompt experience shown.

You can also log into Amazon WorkSpaces using Duo Central, our cloud-hosted portal which allows users to access all of their applications in one spot. Link to Amazon WorkSpaces in Duo Central by adding it as an application tile. Once the tile has been added, log into Duo Central and click the tile for IdP-initiated authentication to Amazon WorkSpaces.

Congratulations! Your Amazon WorkSpaces users now authenticate using Duo Single Sign-On.

See the full user login experience, including expired password reset (available for Active Directory authentication sources) in the Duo End User Guide for SSO.

Enforce SSO

You can require that all users sign into Amazon WorkSpaces using Duo Single Sign-On.

  1. In your AWS console, type WorkSpaces into the Search bar at the top of the page.

  2. In the search results, click WorkSpaces. The "WorkSpaces" page opens.

  3. In the left menu sidebar, click Directories. The "Directories" page opens.

  4. In the Directory ID column, click the directory ID you want to configure for SSO. Your directory page opens.

  5. Scroll down to the "Authentication" section and click Edit. The "Edit authentication" page opens.

  6. In the "SAML 2.0 Identity Provider" section, click Edit SAML 2.0 Identity Provider. The "Edit SAML 2.0" page opens.

  7. Uncheck the Allow clients that do not support SAML 2.0 to login checkbox.

  8. Click Save.

Enable Remembered Devices

To minimize additional Duo two-factor prompts when switching between Amazon WorkSpaces and your other Duo Single Sign-On SAML applications, be sure to apply a shared "Remembered Devices" policy to your SAML applications.

Troubleshooting

Need some help? Try searching our Knowledge Base articles or Community discussions. For further assistance, contact Support.