Asana Enterprise offers a Web and mobile application that offers a work management platform that provides powerful admin controls and advanced data protection. (see https://asana.com/). This integration provides instructions to integrate Asana with Identity as a Service. Once integrated, users can use single sign-on to log in to their Asana account using Identity as a Service.
Note: This integration was tested using Identity as a Service version 5.15 and the Asana Enterprise Service as of March 2021. Other versions of the Asana Enterprise service may require integration and configuration steps that differ from those documented in this procedure. For Asana versions other than the March 2021 service, this integration guide may be used as an initial approach for integrating the Asana Enterprise service. In the event of other issues, contact support@entrust.com for assistance.
Note: The Asana SAML service does not support SAML SSO logout and does not provide a logout URL to input into the IDP SAML configuration. Consequently, Identity as a Service performs a session logout based on the Authentication Session Lifetime (see Manage General settings). The default value for this setting is 15 minutes. Set this parameter to an appropriate value according to your site security policy.
This procedure creates a user for SAML integration testing. However, the Asana product documentation indicates that you can bulk load users or create new user on-boarding pages with the Asana on-boarding features. See the following documentation for more information:
● https://asana.com/guide/help/fundamentals/about-asana
● https://asana.com/guide/help/fundamentals/accounts
● https://asana.com/guide/examples/hr/onboarding
Create a user in Asana Enterprise
You must input a valid email address for the new user. Also, the domain in the email address must be part of the organization's email domain.
1. Log in to your Asana administrative account using URL:
https://app.asana.com/login
The Login page appears.
2. Enter your email address and your password and then click Login. The Asana Home page appears.
3. In the upper right corner, click on the pink profile circle icon and select Admin Console from the drop-down list. The Asana Administration portal appears.
4. In the menu pane, click Members. The Members page appears.
5. Click Invite Members.
6. Click Invite with Email.
7. In the Email Addresses field, enter a valid email address for the new user.
8. Click Send. The new user receives a Welcome to Asana email from Asana.
Create a new Asana user
1. Open the Welcome to Asana email and click the Accept Invite link in the email.
2. Click Continue Signing Up. The Let's Setup Your Profile page appears.
3. Enter your Full Name.
4. Enter a Password.
5. Click Continue. The Who's on your team? page appears.
6. Enter the Email Address of at least one team member.
7. Click Continue to your first project. The Asana Dashboard page appears.
Create a corresponding user in Identity as a Service
1. Click
> Members > Users.
The Users List page appears.
2. Click
. The Add
User page appears.
Note: If you have a directory
synced to your Entrust Identity as a Service account, a drop-down
list appears prompting you to Create a local user
or Sync a user. If you do not have a directory
synced to your account, you will not see the drop-down list.
To add the user manually, select Create local user.
3. Enter the following attributes, as required:
a. Enter the First Name of the user.
b. Enter the Last Name of the user.
c. Enter the Email address of the user. The email address is used to send authenticator and account information emails. The email address for the new user in Identity as a Service must match the email address that was set for the same new user in Asana Enterprise.
d. Enter the Mobile number of the user. The mobile device number is used to send SMS one-time passwords to the user. It can also be used to send VOICE one-time passwords to the user if the user does not have a phone number.
e. Enter the Phone number of the user. The phone number is used to send a voice message of one-time passwords to the user.
Note: By default, First Name, Last Name, and Email are set as mandatory. For information on changing them, see "Edit a system attribute" in the section, Create and manage user attributes.
4. Enter the User ID of the user. This system attribute is mandatory.
5. From the Language Preference drop-down list, select the language of the user.
Note: Selecting
Account Default sets the user's
language preference to the account language setting. The account language
setting is defined at >
Theme. If the account language setting
changes, the user's language also changes.
6. If applicable, under Required Attributes, on the line below each required attribute, enter the value for the attribute. For more information on attributes, see Create and manage user attributes .
7. Optional. Add a user alias to allow the user to log in using their User ID or an alias.
Note the following when adding aliases:
● All aliases must be unique in the system.
● An alias must not be the same as a User ID in the system.
● You can add up to 10 aliases.
Add an alias as follows:
a. Under Aliases, click Add. The Add Alias dialog box appears.
b. In the Add Alias field, enter the alias.
c. Click OK.
d. Repeat steps a to c to add another alias.
8. From the Select Group to add drop-down list, assign the user to the required group. You can add a user to multiple groups.
Note: If no groups are selected, the user is assigned to the All Identity as a Service Users group by default.
9. From the Select Role drop-down list, select the user role. The role determines which features the user can access in Entrust Identity as a Service. The default setting is No Role Assigned. For more information, see Create, assign, and manage roles.
Note: Be sure to add an email address for the new user. The email address must match the email address that was set in Asana Enterprise for the user.
Create a SAML signing certificate
Identity as a Service provides a default self-signed certificate. You can also create your own certificate. This might be necessary if your certificate is about to expire or you want to create a certificate and replace the self-signed certificate with a certificate signed by a Certificate Authority (CA).
1. Log in to your Identity as a Service administrator account.
2. Click
> Security
> Applications. The Applications List page
appears.
3. Under SAML Cloud Integrations, click SAML Signing Certificates. The SAML Signing Certificates page appears.
4. Click
. The Create Signing Certificate
dialog box appears.
5. Enter a Name for the certificate.
6. Select the expiry date from the pop-up calendar and click OK.
7. Click Add. The certificate appears on the Signing Certificates page.
Export a SAML signing certificate
1. Log in to your Identity as a Service administrator account.
1. Click
> Security > Applications.
The Applications List page appears.
2. Under SAML Cloud Integrations, click SAML Signing Certificates. The SAML Signing Certificates page appears.
3. Click
next to the certificate to export the certificate
you want to import into your SAML service provider application. The Export Certificate dialog box appears.
a. If the certificate has been issued by a CA, do one of the following:
– Click Certificate to export the self-signed certificate.
– Click Root CA Certificate to export a certificate issued from a CA.
– Click Certificate Chain to export the SAML signing certificate and its CA certificates.
b. Click Export.
Step 4: Copy
the SAML Configuration from Identity as a Service
Copy the SAML Configuration from Identity as a Service
1. Log into your Identity as a Service administrator account.
2. Click
> Security
> Applications. The Applications Lists page appears.
3. Under SAML Cloud Integrations, click SAML Configuration. The SAML Configuration dialog box appears.
This dialog box contains information you need to configure your SAML application for Identity as a Service authentication.
4. Do one of the following:
● Leave this dialog box open to reference later in this procedure.
● Copy the Entity ID, Single Sign-on URL, and Single Logout URL to a text file and save it to reference later in this procedure.
Note: Depending on the integration you are performing, you may not need all three of these SAML configuration values.
1. Log in to your Asana administrator account. The Asana Home page appears.
2. Click the user profile button on the top-right of the Home page and select Admin Console from the drop-down list. The Asana Admin portal appears.
3. Click Security. The Security page appears.
4. Click SAML authentication. The SAML authentication dialog box appears.
5. Optional as the SAML option.
Note: Once you have tested your SAML integration and verified it is correct, you can change this to Required for all members, except guest accounts. Please be advised that once Required for all members, except guest accounts is enabled, Asana administrator accounts will log in using SAML SSO only.
6. In the Sign-in page URL field, paste the Single Sign-On URL you copied in Step 4: Copy the SAML Configuration from Identity as a Service.
7. Open the certificate you exported in Step 3: Export the signing certificate from Identity as a Service in a text editor such as Notepad.
8. Copy the contents of the certificate and paste them in to the X.509 certificate field.
9. Click Save Configuration.
10. Close the SAML Options Updated message box.
Add Asana as an application to Identity as a Service
1. Log into your Identity as a Service administrator account.
2. Click
> Security > Applications. The Applications
Lists page appears.
3. Click Add. The Select an Application Template page appears.
4. Under SAML Cloud Integrations, click Asana. The Add Asana page appears.
5. Enter an Application Name.
6. Enter an Application Description.
7. Optional. Add a custom application logo.
a. Click next to Application Logo. The
Upload Logo dialog box appears.
b. Click to
select an image file to upload.
c. Browse to select your file and click Open. The Upload Logo dialog box reappears showing your image.
d. If required, resize your image.
e. Click OK.
8. Select the Authentication Flow that appears to users during login.
9. Click Next. The General page appears.
10. In the Default Assertion Consumer Service URL field, enter:
https://app/asana.com/-/saml/consume
11. In the Service Provider Entity ID field, enter
https://app.asana.com
12. Leave the Single Logout Service URL field empty.
13. Enter the SAML Session Timeout to the time when the SAML Assertion times out. The maximum is 720 minutes.
14. Enter the Max Authentication Age (seconds) to set the maximum amount of time that can elapse before a user is required to reauthenticate during a new login attempt. This applies for both SP-initiated and IDP-initiated login. Set this field to -1 to disable this feature.
15. From the SAML NameID Attribute drop-down list, select Email.
16. From the SAML NameID Encoding Format drop-down list, select Email.
17. From the SAML Signing Certificate drop-down list, select the signing certificate you copied into Asana in Step 5: Configure Asana for single sign-on with Identity as a Service.
18. Optional: Select Respond Immediately for Unsuccessful Responses to return to the application immediately after a login failure, rather than allow user to try again with a different userID.
19. Deselect Enable Go Back Button if you do not want users to be able to go back to the Asana Enterprise login page to log in.
20. Select Show Default Assertion Consumer URL Service in the My Profile. When selected, the Default Assertion Consumer URL appears in a user's My Profile page in addition to relay states and Alternative Assertion Consumer URLs.
21. Optional. Add Alternative Assertion Consumer Service URLs, as follows:
a. Click Add.
b. Enter a Name.
c. Enter a URL Value.
d. Select Show in My Profile to display the Alternative Consumer Service URL in a user's My profile page.
e. Optional. Add an Application Logo.
f. Click Add.
g. Repeat these steps to add more Alternative Assertion Consumer Service URLs.
22. Leave the remaining settings at the default values.
23. Click Submit.
Create a resource rule to protect access to a SAML application
1. Log in to your Identity as a Service administrator account.
2. Click
> Security
> Resource Rules. The Resource Rules List
page appears.
3. Click + next to the application you want to protect with a resource rule. The Add Resource Rules page appears.
4. Enter a Rule Name and Rule Description for the resource rule.
5. In the Groups list, select the group or groups of users restricted by the resource rule.
These are the groups to which the resource rule applies. If you do not select any groups, by default the resource rule applies to all groups.
6. Click Next. The Authentication Conditions Settings page appears.
7. Optional: Select Disable Single Sign-On for Application to force a user to re-authenticate whenever they attempt a new login.
8. If you do not Enable Advanced Risk Factors, do the following:
a. Select the Authentication Flow from the drop-down list. The Authentication Flow flowchart updates based on the selection.
b. Click Submit to save the Resource Rule.
9. If you want to Enable Advanced Risk Factors, complete the remaining steps in this procedure.
10. Select Enable Advanced Risk Factors to add additional risk factors to the resource rule.
11. Select Enable Strict Access for Application to set the resource rule to deny access regardless of the outcome from other resource rules. If this option is disabled for any resource rule that denies access, the user is allowed access if at least one resource rule allows access.
12. For each Advanced Risk Factor, click the Deny option to deny access to the application if the risk factor fails regardless of the results of the other risk factors.
13. Click Date/Time to set the conditions as follows:
a. Select one of the following:
– Allow Date/Time to set when a user can access the application.
– Deny Date/Time to set when the user cannot access the application.
The Date/Time Context Condition Settings appear.
b. Select the Condition Type:
– Specific Date Range Condition—Allows or denies access to the application during a select period of days.
– Time-of-day and/or Day of Week Recurring Conditions—Allows or denies access to the application on a specific time of day, day of the week, or both. Recurring times selected only apply to days not denied.
– Clear Selection—Clears existing Date and Time conditions.
c. Set the Condition Type settings, as follows:
i) Select Use local time zone to use the local time zone or deselect Use local time zone to use the local time zone and begin typing the time zone in the Begin Typing Timezone name field and select the time zone from the drop-down list.
ii) If you selected Specific Date Range Condition, click Start Date to select a start date from the pop-up calendar. Optionally, select the End Date.
iii) If you selected Time-of-Day and/or Day-of-Week, click Start Time and select the start time from the pop-up clock. Optionally set the End Time. You must also select the days of the week for the condition.
d. Click Save to return to the Authentication Conditions Settings page.
14. Click Geolocation to set the Location Condition Settings, as follows:
a. Select Allow or Deny to create an allowed or denied country list.
b. From the Selected Countries drop-down list, select the countries to add or deny access to the application. Repeat until you have added all the desired countries to the list.
c. Select Allow Anonymous IP Address to increase the risk of users authenticating from an anonymous IP.
d. Click Save to save to return to the Authentication Conditions Settings page.
15. Click Source IP Address. The IP Address Risk Setting dialog box appears. Do one of the following:
a. Select Custom and add the required IP Allowed Addresses and IP Denied Addresses.
b. Select IP List Address and select the IP List to allow or deny.
c. Select None to not restrict any IP addresses.
d. Click OK to return to the Authentication Conditions Settings.
16. Click Machine Authentication to set the Machine Authentication Condition Settings, as follows:
a. Set the Machine Authentication Risk is less than or equal to the value that the machine authenticator's total risk score must be less than during authentication to pass this condition.
The risk score is based on the attribute differences
between a user's Machine Authentication information and that recorded
on Identity as a Service before the condition fails. If an attribute does
not match, the attribute incurs the number of risk points shown in Non-Matching Risk Points for that attribute. The
Non-Matching Risk Points values of each non-matching
attribute are added together, resulting in a total risk score. This score
is normalized to be out of 100 as follows:
Total Risk Score = (Total Risk Points
of Failing Attributes / Maximum Risk Points of All Enabled Attributes)
* 100
The resource rule condition fails when the number of non-matching risk
points exceeds the Machine Authentication Risk value defined in this step.
A value of 0 means that a single attribute
difference causes the Device Fingerprint
condition to fail. The default value is 3.
The value between 0-50 can be entered.
The default value is defined by the Machine Risk Limit.
See Modify machine authenticator settings.
b. Click Save.
17. Define the Location History / Known Locations and Travel Velocity conditions. The Risk-Based Authentication (RBA) settings of your Identity as a Service account define the location history and travel velocity conditions. See Manage risk-based authentication settings for more information.
18. Set the Device Certificates risk factor to require the client to perform client-authenticated SSL with a certificate issued from a trusted CA to pass.
19. Set the risk score for application conditions to set the risk percentage a user receives if they fail to meet the condition, as follows:
● Click the dot next to the condition setting and slide the risk scale to the risk percentage
-or-
● Click the 0% and enter the risk points and then click OK.
The default setting is 0%. The Risk percentage determines the authentication requirements as set by the Authentication Decision. When a user attempts to authenticate to an application, the final risk percentage is the sum of all failed conditions.
20. Set the Authentication Decision risk level for Medium Risk and High Risk as follows:
a. Click the risk threshold percentage to the right of Medium Risk or High Risk. The Risk Threshold dialog box appears.
b. Enter the risk percentage.
c. Click OK.
21. Select the Authentication Flows for Low Risk, Medium Risk, and High Risk from the drop-down lists. The Authentication Flows flowchart updates based on your selections.
22. Click Submit to create the resource rule.
Testing Service Provider Login
1. Open a Web browser and enter the URL for your Asana account. You are directed to Identity as a Service.
For SP-initiated login, use the Asana SP URL with your domain appended to it
Example: https://app.asana.com/a/<domain> where if your domain is mycompany.com, use URL https://app.asana.com/a/mycompany.com.
2. Enter your Asana account User ID and click Next.
3. Respond to the second-factor authentication challenge. If you respond successfully, you are logged in to Asana.
Testing Identity as a Service redirect log in
1. Log in to your Identity as a Service account.
2. Go to your My Profile page if you are not already there.
3. Under Applications, click Asana.
4. Respond to the second-factor authentication challenge. If you respond successfully, you are logged into Asana.