Documentation
Introduction

Use this guide to enable 2-Factor Authentication and Single Sign-on (SSO) access via SAML to Asana.

Prerequisites

1. Have an Asana account and access to the admin console

A Premium Organization account is required to enable SAML

2. Create a New Realm for the Asana integration in the SecureAuth IdP Web Admin

3. 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 directory field that contains the user's email address to the SecureAuth IdP Email 1 Property

For Active Directory (AD) integrations, this is typically the mail attribute

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 Asana

For example, the SP Start URL would be https://app.asana.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)

User ID Mapping

 

5. Select Email 1 (which corresponds to the directory field that contains the email address) from the User ID Mapping dropdown

6. Select urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress from the Name ID Format dropdown

7. Select False from the Encode to Base64 dropdown

SAML Assertion / WS Federation

 

8. Set the WSFed/SAML Issuer to a Unique Name that will be shared with Asana

The WSFed/SAML Issuer must match exactly on the SecureAuth IdP side and the Asana side

9. Set the SAML Recipient to https://app.asana.com/-/saml/consume

10. Set the SAML Audience to https://app.asana.com/

11. Set the SAML Offset Minutes to make up for time differences between devices

12. Set the SAML Valid Hours to limit for how long the SAML assertion is valid

No configuration is required for the WSFed Reply To/SAML Target URL or SAML Consumer URL fields

 

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

14. Download the Assertion Signing Certificate, which is used in the Asana Configuration Steps

SAML Attributes / WS Federation

 

15. Set the Name of Attribute 1 to email

16. Select Email 1 from the Value dropdown

The SecureAuth IdP Property selected here is the same as the Property selected from the User ID Mapping dropdown (step 5), which corresponds to the user's email address

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

Forms Auth / SSO Token

 

17. 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

Asana Configuration Steps

 

1. Log into the Asana Premium Organization admin console, and select the profile photo in the top right corner

2. Select Organization Settings, and open the Administration tab

3. Select Members must log in via SAML from the Authentication options

4. Set the Sign-in page URL to the Fully Qualified Domain Name (FQDN) of the SecureAuth IdP appliance, followed by the Asana-integrated realm, e.g. https://secureauth.company.com/secureauth2

5. Copy the contents of the Assertion Signing Certificate downloaded from the SecureAuth IdP Web Admin (step 14) and paste them into the X.509 Certificate field

These configuration steps were taken from the Asana Guide

Asana Mobile Realm Configuration Steps

To create a SecureAuth IdP realm that is specific to mobile Asana users (i.e. different authentication methods or workflow), follow these instructions (optional):

1. Create a New Realm in the SecureAuth IdP Web Admin for the mobile integration by selecting Create New From Existing under Create Realms on the Home Page, and select the realm created for the non-mobile Asana integration (configured above)

2. Make any modifications to the Workflow or Registration Methods tabs (or others) as preferred

3. Install the IIS Rewrite Module to the SecureAuth IdP server (may require reboot)

4. In the IIS 8.0 console, right-click the sub-website for the primary Asana realm, and click URL Rewrite

5. Click Add Rule(s) and select Blank Rule under Inbound Rules

6. Set the Name to External IP Restriction

7. In the Match URL section, set the Requested URL to Matches the Pattern

8. Set Using to Wildcards

9. Set Pattern to *

10. In the Conditions section, set Logical Grouping to Match All

11. Click Add to add the conditions (as often as necessary) with the following settings:

  • Condition Input: {REMOTE_ADDR}
  • Check if input string: Does Not Match the Pattern
  • Pattern: Set to the Internal IP Address Block, e.g. 8.4.*.*

12. In the Action section, set Action Type to Redirect

13. Set the Rewrite URL to the IIS sub-website name, e.g. /asanaext

The slash / at the beginning is required

14. Set the Redirect Type to Temporary (307)

  • No labels