OpenVPN® with SAML Authentication 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 set up 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 the Controller Startup Guide.

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 a Google SAML App for Aviatrix

Note

This step is usually done by the Google Admin.

  1. Log in to the Google Admin portal.

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

    Click Setup My Own Custom App.

    imageStep1

    Scroll down to Option 2. Click Download 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

    Mark this checkbox

    Name ID

    Basic Information / Primary Email (Default)

    Name ID | Basic Information / Primary Email (Default) |

    “[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. Unmark the Signed Response checkbox.

    2. Click Save.

Launching an 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. Log in to the Aviatrix Controller.

  2. Select Gateway on the left sidebar.

  3. Click the + New Gateway.

  4. Enter a Gateway Name.

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

  6. Mark the 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.

Creating an Aviatrix SAML Endpoint

Note

This step is usually completed by the Aviatrix admin.

  1. Log in to the Aviatrix Controller.

  2. Select OpenVPN® > Advanced on the left sidebar.

  3. Select the SAML tab.

  4. Click + Add New.

    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

  5. Click OK.

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

  1. Log in to the Aviatrix Controller.

  2. Select OpenVPN® > Advanced in the left navigation menu.

  3. Select the SAML tab.

  4. Click Test 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.

  5. You should be redirected to Google. Log in 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.

Creating a VPN User

  1. Log in to the Aviatrix Controller.

  2. Select OpenVPN® > VPN Users in the left navigation menu.

  3. Click + Add New.

  4. Select the VPC ID and LB/Gateway Name for your SAML Gateway.

  5. Enter the Google username in the User Name field.

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

  7. Select the SAML Endpoint.

  8. Click OK.

Validating

  1. Log in to the Aviatrix Controller.

  2. Select OpenVPN® > VPN Users in the left navigation menu.

  3. Download the configuration for your test user created in the previous step.

  4. Open the Aviatrix VPN Client application.

  5. Click Load Conf and select the file downloaded.

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