How-to configure SSO with Azure AD for Netskope Cloud Exchange

  • 10 March 2022
  • 0 replies
  • 106 views

Badge +9

This article will cover how to configure Single-Sign-On (SSO) for the Netskope Cloud Exchange (CE) platform using Azure Active Directory (AAD). This will allow you to manage administrator access to CE from purely within AAD, rather than configuring administrators on the platform manually.

 

Cloud Exchange is different from the standard Netskope tenant you would have access to as a customer, and facilitates the exchange of information between your various security and operations platforms. For information on what Cloud Exchange is (including how to deploy it), please see here.

 

Create a new Enterprise Application

Log into the Azure AD portal, and go to “Enterprise Applications”. You may need to search for this at the top of the portal.

Click New application.

Click Create your own application and name the application Netskope Cloud Exchange.

 

Select the 3rd option to create a non-gallery app: Integrate any other application you don’t find in the gallery.

 

Click Create when you are done.

Note, that Azure can sometimes have a quirk where it returns a 404 error when you click the Create button. Your application has should have been created, even if you get this error. If you encounter this issue, return to the Enterprise Applications view and click the refresh button. You should see your Netskope Cloud Exchange app appear in the list, despite getting a 404.

 

Copy the Cloud Exchange SSO information

Log in to Cloud Exchange using the admin (super administrator) user, and navigate to Settings > Users (this settings area will only be visible to the admin user).

 

Select the SSO Configuration tab, and toggle the SSO toggle ON (make sure you save this configuration).

 

Note down the 3x “Service Provider” fields at the bottom of the screen. The image below maps which URL should be used for which SAML config field in Azure AD.

 

Create Roles in Azure AD

Users can be assigned Read/Write or just Read access to the CE UI based on one of two roles assigned to them: Admin (read/write access) and Read Only. We need to create these roles in Azure AD so that they can be assigned to users who use the CE application.

 

Note: If you don’t create and map these roles then SSO will fail!

 

Return to the main Azure Active Directory menu (ensure you are NOT within the Enterprise Applications sub-menu). Select App registrations from the left-side menu, click the All applications tab, then select the Netskope Cloud Exchange app from the list.

Next, click App Roles from the left-side menu, followed by Create app role. You will be creating two roles: One for the Admin user role and one for the Read-Only user role.

 

Create the Admin role as follows:

  • For Display name, enter CE-Admin (this can be whatever you like)
  • For Allowed member types, select the first option: Users/Groups
  • For Value, enter netskope-ce-write;netskope-ce-read <- Ensure you copy/paste this exactly!
  • For Description, enter Provide the user with read/write access to Cloud Exchange.
  • Ensure the Do you want to enable this app role? option is checked.

Create the Read-Only role as follows:

  • For Display name, enter CE-ReadOnly (this can be whatever you like)
  • For Allowed member types, select the first option: Users/Groups
  • For Value, enter netskope-ce-read <- Ensure you copy/paste this exactly!
  • For Description, enter Provide the user with read-only access to Cloud Exchange.
  • Ensure the Do you want to enable this app role? option is checked.

You’re now finished configuring the App Roles. Return to the main Azure AD menu to proceed.

 

Configure the Cloud Exchange Enterprise App in Azure AD

From the Azure AD main menu, return to the Enterprise Applications list and select Netskope Cloud Exchange to configure it.

From the left-side menu, click Single sign-on, and select SAML when prompted.

Provide the SAML Configuration

Under Basic SAML Configuration, click the Edit button.

 

Copy the “Service Provider” URLs from the Cloud Exchange SSO Configuration page to the appropriate Azure AD SAML config field. See the table below for mapping.

 

Azure AD SAML Field Cloud Exchange Field
Identifier (Entity ID) Service Provider Entity ID
Reply URL (Assertion Consumer Service URL) Service Provider ACS URL
Sign on URL Service Provider ACS URL
Relay State N/A - Leave Blank
Logout URL Service Provider SLS URL

 

The Reply URL and Sign-on URL in Azure AD both use the Service Provider ACS URL from the Cloud Exchange portal. The Relay State field in Azure AD should be left blank.

Save your configuration when done.

 

Add Claims for Username & Roles

Click Edit next the Attributes & Claims section (section #2)

Click the button to Add new claim. Add a new claim as follows:

  • For the Name field, enter roles <– Enter this exactly!
  • Leave Namespace blank.
  • For Source, ensure Attribute is selected (default).
  • For Source attribute, select user.assignedroles from the dropdown.

Click Save to add the claim.

Repeat the process to add a recond role:

  • For the Name field, enter username <– Enter this exactly!
  • Leave Namespace blank.
  • For Source, ensure Attribute is selected (default).
  • For Source attribute, select user.mail from the dropdown.

Click Save to add the claim.

Once you’ve added the two new claims, your Attributes & Roles should look as follows:

Download the SAML Signing Certificate

Back on the SAML configuration page, scroll down to Section 3 - SAML Signing Certificate, and click to download the Base64 certificate (see the image below).

 

Copy the Azure AD Application URLs

Next, under Section 4 - Set up Netskope Cloud Exchange, copy the Login URL, Logout URL, and Azure AD Identifier URL. You will need to paste these into the Cloud Exchange UI in the next section.

 

Add Users & Groups to the Enterprise Application

The last step we need to perform in Azure AD is to assign users and/or groups to the Cloud Exchange app to provide them with access. We will also assign either the Read-Only or Admin roles we created earlier to these users/groups to grant them the appropriate permissions within CE.

 

From the left-side menu within the Cloud Exchange Enterprise Application, select Users and groups, then click Add user/group.

Select the users and/or groups that are permitted to use the Cloud Exchange application. You MUST also assign a role to the selected users/groups; ie: CE-Admin (read/write), or CE-ReadOnly (read-only).

WARNING: If you do not assign a role, SSO will fail when the user attempts to sign in. Also, DO NOT assign the default User role you see in the list: this will also cause SSO to fail. You must only use the roles that you explicitly created in Azure AD yourself.

After assigning users/groups and applicable roles, your user/group list should look similar to the below:

 

Finish the SSO Configuration in Cloud Exchange

Return to the SSO Configuration section of the Cloud Exchange UI (Settings > Users > SSO Configuration).

Copy the Azure app URLs

For the 3 Identity Provider URL fields in the Cloud Exchange SSO configuration, paste the corresponding Azure AD Application URLs you copied when configuring SAML on the Azure AD side. See the table below for mapping:

 

Cloud Exchange Field Azure AD SAML Config Field
Identity Provider Issuer URL Azure AD Identifier URL
Identity provider SSO URL Login URL
Identity provider SLO URL Logout URL

 

 

 

Copy the SAML Signing Certificate

Open the Base64 SAML Signing Certificate you downloaded from Azure AD earlier in a text editor such as Notepad or TextEdit. Don’t use MS Word. The certificate will have a .cer extension.

 

Copy the contents of the certificate file into the Public x509 Certificate field in the Cloud Exchange SSO config (see the image above).

 

Save your SSO Configuration when done.

 

Testing the SSO Configuration

Open a new Incognito window (to avoid any potential issues with caching) and point your browser to the URL of your Cloud Exchange deployment.

 

If you enabled the “SSO” checkbox as instructed at the beginning of this guide, you will two options when reaching Cloud Exchange:

  1. Login with SSO
  2. Login with Username/Password

Option #2 is used for local login (ie: the default admin user, or any user manually added to the user list in CE).

Select Login with SSO. You should be redirected to Azure AD to sign in.

Upon entering your user credentials, you should be authenticated and redirected to the Cloud Exchange interface.

 

In the example below, the Adele user was assigned the CE-ReadOnly role, so almost all of the Settings menu is hidden.

 


Troubleshooting

If you are having issues signing in, first, look at which platform is giving you an error: Azure AD, or Cloud Exchange?

 

If the error you are presented with is from Azure AD, then there is likely an issue with your config on the Azure AD side. Double-check your URLs and/or whether the user you are attempting to sign in as is assigned to the application (or present in the group assigned to the app).

 

In the image below, my nathan@lightwave.cloud user was unable to sign in, as they were not assigned to the application in Azure AD.

If you are getting an error from Cloud Exchange, then you have likely stuffed up the URLs entered into either CE or Azure AD, not added the custom username and roles claims in Azure AD, or not assigned any roles to the user you are signing in as.

If you get the error {"detail":"Method Not Allowed"}, check that the URLs copied into both Azure AD and Cloud Exchange are correct and in the right place.

 

If you get the error {"detail":"Could not authenticate. username/roles attribute not set."}, then check that you added the username and roles claims in the SAML config, AND assigned roles correctly to users when you added them to the Enterprise Application in Azure AD.

If you pass SSO fine but receive a red Error while fetching data message in CE, then there is a problem with the role you have assigned to the user. Ensure you entered netskope-ce-write;netskope-ce-read as the attribute for the Admin role (CE-Admin) and netskope-ce-read as the attribute for the Read-Only role (CE-ReadOnly). Additionally, check that you have assigned one of these roles to your impacted user: You may also get this error if the default User role is assigned.


0 replies

Be the first to reply!

Reply