Tutorial: Azure Active Directory single sign-on (SSO) integration with AWS ClientVPN
In this tutorial, you'll learn how to integrate AWS ClientVPN with Azure Active Directory (Azure AD). When you integrate AWS ClientVPN with Azure AD, you can:
- Control in Azure AD who has access to AWS ClientVPN.
- Enable your users to be automatically signed-in to AWS ClientVPN with their Azure AD accounts.
- Manage your accounts in one central location - the Azure portal.
Prerequisites
To get started, you need the following items:
- An Azure AD subscription. If you don't have a subscription, you can get a free account.
- AWS ClientVPN single sign-on (SSO) enabled subscription.
Scenario description
In this tutorial, you configure and test Azure AD SSO in a test environment.
AWS ClientVPN supports SP initiated SSO.
AWS ClientVPN supports Just In Time user provisioning.
Note
Identifier of this application is a fixed string value so only one instance can be configured in one tenant.
Add AWS ClientVPN from the gallery
To configure the integration of AWS ClientVPN into Azure AD, you need to add AWS ClientVPN from the gallery to your list of managed SaaS apps.
- Sign in to the Azure portal using either a work or school account, or a personal Microsoft account.
- On the left navigation pane, select the Azure Active Directory service.
- Navigate to Enterprise Applications and then select All Applications.
- To add new application, select New application.
- In the Add from the gallery section, type AWS ClientVPN in the search box.
- Select AWS ClientVPN from results panel and then add the app. Wait a few seconds while the app is added to your tenant.
Alternatively, you can also use the Enterprise App Configuration Wizard. In this wizard, you can add an application to your tenant, add users/groups to the app, assign roles, as well as walk through the SSO configuration as well. Learn more about Microsoft 365 wizards.
Configure and test Azure AD SSO for AWS ClientVPN
Configure and test Azure AD SSO with AWS ClientVPN using a test user called B.Simon. For SSO to work, you need to establish a link relationship between an Azure AD user and the related user in AWS ClientVPN.
To configure and test Azure AD SSO with AWS ClientVPN, perform the following steps:
- Configure Azure AD SSO - to enable your users to use this feature.
- Create an Azure AD test user - to test Azure AD single sign-on with B.Simon.
- Assign the Azure AD test user - to enable B.Simon to use Azure AD single sign-on.
- Configure AWS ClientVPN SSO - to configure the single sign-on settings on application side.
- Create AWS ClientVPN test user - to have a counterpart of B.Simon in AWS ClientVPN that is linked to the Azure AD representation of user.
- Test SSO - to verify whether the configuration works.
Configure Azure AD SSO
Follow these steps to enable Azure AD SSO in the Azure portal.
In the Azure portal, on the AWS ClientVPN application integration page, find the Manage section and select single sign-on.
On the Select a single sign-on method page, select SAML.
On the Set up single sign-on with SAML page, click the pencil icon for Basic SAML Configuration to edit the settings.
On the Basic SAML Configuration section, perform the following steps:
a. In the Sign on URL text box, type a URL using the following pattern:
https://<LOCALHOST>
b. In the Reply URL text box, type a URL using one of the following patterns:
Reply URL http://<LOCALHOST>
https://self-service.clientvpn.amazonaws.com/api/auth/sso/saml
Note
These values are not real. Update these values with the actual Sign on URL and Reply URL. The Sign on URL and Reply URL can have the same value (
http://127.0.0.1:35001
). Refer to AWS Client VPN Documentation for details. You can also refer to the patterns shown in the Basic SAML Configuration section in the Azure portal. Contact AWS ClientVPN support team for any configuration issues.In the Azure Active Directory service, navigate to App registrations and then select All Applications.
Type AWS ClientVPN in the search box and select AWS ClientVPN from the search panel.
Click on Manifest and you need to keep the Reply URL as http instead of https to get the integration working, click on Save.
AWS ClientVPN application expects the SAML assertions in a specific format, which requires you to add custom attribute mappings to your SAML token attributes configuration. The following screenshot shows the list of default attributes.
In addition to above, AWS ClientVPN application expects few more attributes to be passed back in SAML response which are shown below. These attributes are also pre populated but you can review them as per your requirements.
Name Source Attribute memberOf user.groups FirstName user.givenname LastName user.surname On the Set up single sign-on with SAML page, in the SAML Signing Certificate section, find Federation Metadata XML and select Download to download the certificate and save it on your computer.
In the SAML Signing Certificate section, click the edit icon and change the Signing Option to Sign SAML response and assertion. Click Save.
On the Set up AWS ClientVPN section, copy the appropriate URL(s) based on your requirement.
Create an Azure AD test user
In this section, you'll create a test user in the Azure portal called B.Simon.
- From the left pane in the Azure portal, select Azure Active Directory, select Users, and then select All users.
- Select New user at the top of the screen.
- In the User properties, follow these steps:
- In the Name field, enter
B.Simon
. - In the User name field, enter the username@companydomain.extension. For example,
B.Simon@contoso.com
. - Select the Show password check box, and then write down the value that's displayed in the Password box.
- Click Create.
- In the Name field, enter
Assign the Azure AD test user
In this section, you'll enable B.Simon to use Azure single sign-on by granting access to AWS ClientVPN.
- In the Azure portal, select Enterprise Applications, and then select All applications.
- In the applications list, select AWS ClientVPN.
- In the app's overview page, find the Manage section and select Users and groups.
- Select Add user, then select Users and groups in the Add Assignment dialog.
- In the Users and groups dialog, select B.Simon from the Users list, then click the Select button at the bottom of the screen.
- If you are expecting a role to be assigned to the users, you can select it from the Select a role dropdown. If no role has been set up for this app, you see "Default Access" role selected.
- In the Add Assignment dialog, click the Assign button.
Configure AWS ClientVPN SSO
Follow the instructions given in the link to configure single sign-on on AWS ClientVPN side.
Create AWS ClientVPN test user
In this section, a user called Britta Simon is created in AWS ClientVPN. AWS ClientVPN supports just-in-time user provisioning, which is enabled by default. There is no action item for you in this section. If a user doesn't already exist in AWS ClientVPN, a new one is created after authentication.
Test SSO
In this section, you test your Azure AD single sign-on configuration with following options.
Click on Test this application in Azure portal. This will redirect to AWS ClientVPN Sign-on URL where you can initiate the login flow.
Go to AWS ClientVPN Sign-on URL directly and initiate the login flow from there.
You can use Microsoft My Apps. When you click the AWS ClientVPN tile in the My Apps, this will redirect to AWS ClientVPN Sign-on URL. For more information about the My Apps, see Introduction to the My Apps.
Next steps
Once you configure AWS ClientVPN you can enforce session control, which protects exfiltration and infiltration of your organization’s sensitive data in real time. Session control extends from Conditional Access. Learn how to enforce session control with Microsoft Defender for Cloud Apps.
Feedback
Submit and view feedback for