OpenVPN® with SAML Client on Google IDP

Overview

This guide provides an example on how to configure Aviatrix to authenticate against a Google IDP. When SAML client is used, your Aviatrix controller acts as the Identity Service Provider (ISP) that redirects browser traffic from client to IDP (e.g., Google) for authentication.

Pre-Deployment Checklist

Before configuring SAML integration between Aviatrix and Google, make sure the following is completed:

  1. Aviatrix Controller is setup and running.
  2. Have a valid Google account with admin access.
  3. Download and install the Aviatrix SAML VPN client.

Aviatrix Controller

If you haven’t already deployed the Aviatrix controller, follow these detailed instructions.

Google Account

A Google account with admin access is required to configure the integration.

Aviatrix VPN Client

All users must use the Aviatrix VPN client to connect to the system. Download the client for your OS here.

Configuration Steps

Follow these steps to configure Aviatrix to authenticate against your Google IDP:

  1. Create a custom Google SAML App for Aviatrix
  2. Launch an Aviatrix Gateway
  3. Create Aviatrix SAML SP Endpoint
  4. Test the Integration is Set Up Correctly
  5. Create Aviatrix VPN User
  6. Validate

Create an Google SAML App for Aviatrix

Note

This step is usually done by the Google Admin.

  1. Login to the Google Admin portal

  2. Follow Google documentation to create a new custom application.

    Click on the Setup My Own Custom App

    imageStep1

    Scroll down to Option 2. Click the Download button next to the IDP metadata label.

    imageStep2

  3. Basic Information

    Field Value Description
    Application Name Aviatrix This can be any value. It will be displayed in Google only.
    Description   This can be any value.
    Upload logo

    Aviatrix logo:

    Aviatrix logo (optional)

    imageStep3

  4. Service Provider Details

    Field Value
    ACS URL https://[host]/flask/saml/sso/[SP Name]
    Entity ID https://[host]/
    Start URL https://[host]/flask/saml/sso/[SP Name]
    Signed Response Checked
    Name ID Basic Information / Primary Email (Default)
    Name ID Format UNSPECIFIED

    [host] is the hostname or IP of your Aviatrix controller. For example, https://controller.demo.aviatrix.live

    [SP Name] is an arbitrary identifier. This same value should be used when configuring SAML in the Aviatrix controller.

    imageStep4

  5. Attribute Mapping

    Attribute Category User field
    FirstName Basic First Name
    LastName Basic Last Name
    Email Basic Primary Email

    imageStep5

  6. Disable “Signed Response”

    1. Open the Service Provider Details for the SAML application just created. Uncheck Signed Response.
    2. Click Save

Launch Aviatrix VPN Gateway

Note

This step is usually completed by the Aviatrix admin.

Note

This step can be skipped if you already have created a SAML VPN Gateway

  1. Login to the Aviatrix controller

  2. Click Gateway in the left navigation menu

  3. Click the + New Gateway button

  4. Enter a Gateway Name

  5. Select the appropriate Account Name, Region, VPC ID, Public Subnet and Gateway Size

  6. Check VPN Access

  7. Check Enable SAML

    imageGwVPNSAML

  8. For information on the other settings, please refer to this document

  9. Click OK to create the Gateway

Create Aviatrix SAML Endpoint

Note

This step is usually completed by the Aviatrix admin.

  1. Login to the Aviatrix Controller

  2. Click OpenVPN® in the left navigation menu

  3. Select Advanced

  4. Click on the SAML tab

  5. Click + Add New button

    imageControllerNavOpenVPNAdvanced

    Field Value
    Endpoint Name SP Name (Use the same name you entered in the Google Application previously)
    IDP Metadata Type Text
    IDP Metadata Text Value Copied from Google (Paste the value from Google SAML configuration downloaded in a previous step.)
    Entity ID Hostname
  6. Click OK

Test the Integration

  1. Start the Aviatrix VPN Client

    Note

    If you don’t start the client, you will receive a warning from the browser in the last step of this process

  2. Login to the Aviatrix Controller

  3. Click OpenVPN® in the left navigation menu

  4. Select Advanced

  5. Click on the SAML tab

  6. Click the Test button next to the SP Name created in the previous step

    Tip

    You will need to assign the new Google application to a test user’s Google account before clicking Test.

  7. You should be redirected to Google. Login with your test user credentials.

    Important

    If everything is configured correctly, once you have authenticated you will be redirected back to the controller and the window will close.

Create a VPN User

  1. Login to the Aviatrix Controller
  2. Click OpenVPN® in the left navigation menu
  3. Select VPN Users
  4. Click + Add New
  5. Select the VPC ID and LB/Gateway Name for your SAML Gateway
  6. Enter the Google username in the User Name field
  7. Enter any valid email address in the User Email field (this is where the cert file will be sent). Alternatively, you can download the cert if you do not enter an email address.
  8. Select the SAML Endpoint
  9. Click OK

Validate

  1. Login to the Aviatrix Controller
  2. Click OpenVPN® in the left navigation menu
  3. Select VPN Users
  4. Download the configuration for your test user created in the previous step
  5. Open the Aviatrix VPN Client application
  6. Click Load Conf and select the file downloaded
  7. Click Connect

Note

SAML VPN only supports shared certificates. You can share the certificate among VPN users or create more VPN users

OpenVPN is a registered trademark of OpenVPN Inc.