Skip to main content
Versa Networks

Configure Versa SASE with Ivanti for IOS and MacOS

 Versa-logo-release-icon.pngFor supported software information, click here.

You can onboard Apple devices (macOS and iOS) to your Versa SASE tenant using Ivanti Neurons. This method uses a property list (.plist) configuration file to ensure consistent, automated deployment.

The Versa SASE agent requires specific configuration parameters to connect to your tenant. Instead of manually entering this information on each device, you can use Ivanti to push the configuration parameters in a .plist file. This file acts as a template, prepopulating the necessary fields for the agent and ensuring a zero-touch installation for end users. The process is broken down into four main tasks:

  • Obtain the configuration parameters
  • Create the configuration file
  • Upload the configuration to Ivanti
  • Deploy the Versa SASE agent

The following sections describe these tasks in detail. 

Obtain the Configuration Parameters

Before you begin in Ivanti, you must retrieve information for the configuration parameters from the Versa SASE tenant portal. You can typically find this information in the device onboarding section or agent configuration settings. 

The table below shows the configuration parameters that are needed to build the .plist configuration file. The Parameter column lists the keys that represent each parameter in the .plist file, and the Value column shows how the corresponding value should be added to the file. Values should be enclosed in <string> tags, unless otherwise noted. 

Some keys use Ivanti macros for the values, for example, ${deviceGUID} for the device_id key. Ivanti automatically replaces these placeholders with device- or user-specific data at deployment time. For other fields, enter the value specific to your environment.

Parameter  Description Value
device_id Unique hardware identifier ${deviceGUID} (Ivanti macro)
user_id User email or identity ${userEmailAddress} (Ivanti macro)
device_name Hostname of the device ${deviceName} (Ivanti macro)
fqdn Portal fully qualified domain name (FQDN) Replace with the portal FQDN 
enterprise_name Tenant name Replace with the enterprise name
managed_device Indicates whether the device is managed Use <true/> or <false/> tag
log-level Set the log level via MDM. Enter one of the following: Info, Debug, Error, Warning, or Verbose
default_browser Enables the default browser for authentication Use <true/> or <false/> tag
is_versa_root_ca_required Honors the Versa root certificate. Set to false to use a customer certificate. Use <true/> or <false/> tag
skip_onboarding_screens Skips the onboarding screens on first launch Use <true/> or <false/> tag
Parameters introduced in version 7.7.1 (macOS only)
ekuid  Enables extended key usage (EKU) identifier-based certificate selection Use <true/> or <false/> tag
eku_id_devicecert  EKU object identifier (OID) for device certificate authentication Example: 1.3.6.1.4.1.12345.21
eku_id_usercert  EKU OID for user certificate authentication Example: 1.3.6.1.4.1.12345.20
fetch_username_from_certificate  Fetches the username from the client certificate Use <true/> or <false/> tag
username_field  Certificate field to use as the username (CN or SAN) Enter CN or SAN
cert_issuer  Certificate issuer name Example: CN=ROOT CA2 Intermediate CA1
 Parameters introduced in version 7.7.3 (macOS only)
fail_close_allowed_ips  IP addresses or subnets allowed through the firewall in fail-close state Example: 192.168.1.0/24, 10.0.0.1
disable_dns_proxy  Set to true to skip DNS proxy activation. Set to false to enable the normal DNS proxy activation flow. Use <true/> or <false/> tag

Create the Configuration File

You create the configuration file for the Versa SASE agent as .plist file. The .plist file contains key-value pairs that define the configuration. Each configuration parameter is represented by a key. For each key, you provide a value based on the information obtained in Obtain the Configuration Parameters, above.

For some of the values, you use Ivanti macros. These are placeholders that Ivanti automatically resolves to the correct device or user data at deployment time. For example, for the device_id key, you use the ${deviceGUID} macro for the value. 

Note: For iOS, creating a .plist file is not required. Instead of uploading a file, you can manually enter the key-value pairs directly in the Ivanti interface. See Upload a PLIST File for App Configuration (IOS), below. 

Create a PLIST File

Create a file that contains the key-value pairs for your configuration. Use a plain text editor or a dedicated .plist editor to create this file. Save it with a .plist extension (for example, versa_sase_config.plist). 

For each configuration parameter, enter a key and corresponding value, as shown in the example below. Replace the variables with values with your actual environment. 

XML
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>device_id</key>
        <string>${deviceGUID}</string>
        <key>fqdn</key>
        <string>replace with your portal FQDN</string>
        <key>enterprise_name</key>
        <string>replace with your enterprise name</string>
        <key>user_id</key>
        <string>${userEmailAddress}</string>
        <key>device_name</key>
        <string>${deviceName}</string>
        <key>managed_device</key>
        <true/>
        <key>default_browser</key>
        <false/>
        <key>is_versa_root_ca_required</key>
        <true/>
        <key>skip_onboarding_screens</key>
        <false/>
        <key>auto_logon</key>
        <true/>
        <key>fetch_username_from_certificate</key>
        <false/>
        <key>ekuid</key>
        <true/>
        <key>eku_id_devicecert</key>
        <string>{EKU Authentication ID to be matched}</string>
        <key>eku_id_usercert</key>
        <string>{EKU Authentication ID to be matched}</string>
</dict>
</plist> 

Upload the Configuration to Ivanti 

After you define the configuration in the .plist file, you upload the .plist file to Ivanti Neurons for MDM. The upload process differs depending on whether the settings apply to application behavior (app configuration) or system-level preferences (custom configuration). When onboarding the Versa SASE agent, you typically need to do both.

Upload a PLIST File for App Configuration (IOS)

Use app configuration for user-specific parameters, such as email address and tenant name, so the app is pre-configured when it launches.

Note: For iOS, Ivanti provides a UI to input keys directly. Instead of uploading a .plist file, you can use the Add+ option in Apple Managed App Configuration to enter each key-value pair manually. You can use the following procedure for both methods. 

To upload the .plist file for app configuration:

  1. In Ivanti Neurons for MDM, click Apps > App Catalog.
  2. Select the Versa SASE application (for iOS platform).
  3. Click the App Configurations tab.
  4. In the Apple Managed App Configuration section, click the + icon.

    ivanti App config.png
  5. Enter a Name for the Configuration Setup.
  6. In the Apple Managed App Settings section, upload the configuration using one of the following methods:
    • To upload a .plist file, click Use .plist. Ivanti parses the file and displays the keys in a table.
    • To manually enter each key-value pair, click + Add. For a full list of keys, see Obtain the Configuration Parameters.

      add app conf.png
  7. In Distribute this App Config, select one of the following options: Everyone with App, No One, or Custom.
  8. Click Save.

Upload a PLIST File for System Preferences (MacOS Custom Profile)

The following steps allow you to push the .plist file to the /Library/Preferences folder on the device. Use this configuration type for system-wide settings or extensions.

To upload a .plist file for system preferences: 

  1. In Ivanti Neurons for MDM, click Configurations > + Add.
  2. Search for and select Custom.
  3. In the Name field, enter macOS – Versa System Prefs.
  4. Under Choose OS, select macOS.
  5. In the Configuration Setup section, click Choose File and then upload your .plist file.

    custom configuration ivanti.png
  6. Click Next.
  7. In step 2, Distribute, click the Enable this Configuration checkbox.
  8. Select the appropriate channel for who the configuration applies to: 
    • Device Channel—Applies the profile at the system level, before any user logs in. Recommended for system extensions and VPN profiles.
    • User Channel—Applies the profile per logged-in user.

      custom configuration ivanti2.png
  9. Choose one of the following options to define distribution:
    • All Devices
    • No Devices
    • Custom
  10. Click Done.

Deploy the Versa SASE Agent 

After you upload the configuration parameters, you must deploy the Versa SASE agent application separately.

To deploy the Versa SASE macOS client, you do the following:

  • Upload the Versa SASE application package
  • Configure VPN
  • Approve system extensions
  • Configure application notifications
  • Enroll macOS devices

Upload the Versa SASE Application Package

  1. Log in to your Ivanti Neurons for MDM console.
  2. Select Apps > App Catalog.
  3. Click + Add.
  4. Select In-House as the app type.
  5. Drag and drop the Versa SASE .pkg file.

    ivanti upload.png
  6. Click Next.
  7. In the Package Apps section, select com.versa.systemextension as the primary application.

    ivanti URL.png
  8. Click Next.
  9. In step 3, Add Screenshots, you can upload images to add screenshots, or you can skip this step.

    Addclient.png
  10. Click Next.
  11. In step 4, Delegate, select Do not delegate this app.

    app delegation.png
  12. Click Next.
  13. In step 5, Distribute, select a distribution group.

    delegation.png
  14. Click Next.
  15. In step 6, Configure, click the + icon next to Install on device.

    ivanticonf.png
  16. In the Configuration Setup page, enter the following information:
     
    Field Description
    Name Enter the following value: Install Application configuration settings.
    Description (Optional) Click + Add to enter a description. This allows specifying install settings for an application.
    Device Installation Configurations Click the toggle to the On position, and then select Require installation on device.
    Set App Install Priority Select High.

    confsetup.png
  17. In Distribute this App Config section, select the same group used in step 5, Distribute.
  18. Click Done.

Configure VPN (Silent VPN Adapter)

A silent VPN adapter establishes a VPN tunnel in the background without requiring user interaction or approval prompts. The Versa SASE system extension functions as a packet tunnel provider, which macOS registers as a network interface and manages automatically.

To configure a packet tunnel provider for the Versa SASE system extension, you must use a Custom VPN setup in Ivanti Neurons for MDM. Use the provider bundle identifier com.versa.systemextension to support both SSL and IPsec-based tunnels. This ensures macOS treats the extension as a network interface.

Create Custom VPN Configuration

  1. In Ivanti Neurons for MDM, click Configurations, and then click + Add.
  2. Search for and select VPN.
  3. In the Configuration Setup section, enter the following information:
     
    Field Description
    Name Enter the following value: Versa SASE - VPN Configuration.
    Connection Type Select Custom SSL.
    Identifier Enter the following value: com.versa.systemextension.
    Server Enter your Versa gateway FQDN. For example, acme.poc.versanow.net.

    ivanti VPN2.png
  4. Click Next, and then define the distribution.
  5. Click Done.

Approve System Extension

You can prevent system extension blocked prompts from displaying. To do this, approve the Versa SASE system extension in Ivanti Neurons for MDM.

To approve system extension:

  1. In Ivanti Neurons for MDM, click Configurations > Add.
  2. Search for and select macOS System Extension.
  3. In the Name field, enter Versa SASE - System Extension Approval.
  4. In the Configuration Setup section, enter information for the following fields.

    macOS System Extension_ivanti.png
     
    Field Description
    Allowed System Extensions (Group of fields) Click + Add to activate the fields below.
    • Allowed Team Identifiers
    Enter the following value: 47J4JTFE29.
    • Allowed System Extensions
    Enter the following value: com.versa.systemextension.sslse.
    Allowed System Extension Types (Group of fields) Click + Add to activate the fields below.
    • Allowed Team Identifiers
    Enter the following value: 47J4JTFE29.
    • Allowed System Extensions Types
    Enter the following value: Network extension.
  5. Click Next.
  6. In Distribution, select the target macOS device group.
  7. Click Done.

Configure App Notifications

You can ensure critical security alerts are visible and prevent Allow Notifications prompts from displaying. To do this, you deploy an app notifications configuration for the Versa SASE client.

To configure app notifications:

  1. In Ivanti Neurons for MDM, click Configurations > Add.
  2. Search for and select App Notifications.
  3. In the Name field, enter the following value: macOS - Versa Notifications.
  4. In the Configuration Setup section, click Add Apps, and then click the Add Manually tab.

    ivanti App notification2.png
  5. In the Bundle Id / Package Id field, enter the following value: com.versa.systemextension. Then, click Add To List.
  6. Repeat the previous step to add com.versa.versasase (required if using the standard GUI app).
  7. Enter information for the following fields.
     
    Field Description
    Notification Settings (Group of fields)

    Select the following options:

    • Allow Notifications
      • Show in Notification Center
      • Sounds
      • Badge App Icon
      • Show on Lock Screen
      • Show the critical alert when using CarPlay

     

    • Unlock Alert Style
    Click the drop-down list and select Banners.
    • Grouping Type
    Click the drop-down list and select Automatic.
    • Preview Type
    Click the drop-down list and select User Controlled.
  8. Click  Next.
  9. In Distribution, assign the configuration to your macOS device group.
  10. Click Done.

Enroll MacOS Devices

To enroll MacOS devices, you must create a distribution in Ivanti Neurons for MDM.

To create a distribution:

  1. In Ivanti Neurons for MDM, click Apps> App Catalog.
  2. Click Versa SASE, and then click Distribution.
  3. Click Edit.
  4. In Distribution, select the target user group or device group — for example, Everyone.

    distribution_Ivanti.png
  5. Click Save.
  6. Click Configurations, click your Versa SASE configuration, and then click Edit.
  7. In Distribution, select the same group used for the application.
  8. Click Save.

IOS-Specific Deployment Using Ivanti Neurons MDM

This section outlines the steps required to deploy the Versa SASE iOS client (IPA) on iPhone and iPad devices using Ivanti Neurons MDM. The iOS deployment differs from macOS. The app is distributed as an IPA file through the App Catalog, and app configuration is applied as Apple Managed App Configuration, not as a custom profile.

Before you can deploy the Versa SASE iOS client, you need the following:

  • IPA file—The iOS application package for Versa SASE.
  • Configuration parameters—These can be in a .plist file, or you can use manual key entry.

Create a User and Enroll the Device

  1. Log in to the Ivanti Admin Portal with your admin credentials.

    ivanti_neurons.png
  2. Click Users, and then click + Add.

    user_Add.png
  3. Fill in the user credentials (username and password). Note these for later steps.

    assign2.png
  4. The enrolled user receives an invitation email from Ivanti with a link to download the MDM enrollment profile. Alternatively, the user can download the Ivanti Go app directly from the App Store.
  5. On the target iPhone or iPad, open the enrollment link or launch the Ivanti Go app and sign in with the credentials created in Step 3.
  6. Complete the enrollment process on the device. The device is now managed under Ivanti Neurons MDM.

Upload and Distribute the Versa SASE IOS Application

  1. Return to the Ivanti Admin Portal.
  2. Click Apps > App Catalog.

    11.png
  3. Click + Add.
  4. Select In-House to upload the IPA application package.

    13.png
  5. Click Choose File and upload the Versa SASE .ipa file.
  6. Select the appropriate Category for the application and add an optional description.
  7. Upload screenshots of the application if required.
  8. Select Do not delegate this app.
  9. Select Custom and choose Devices / Specific Devices to deploy to selected devices only.

    18.png
  10. Under Apple Managed App Configuration, click the + icon.

    19.png
  11. Enter a configuration name.
  12. Upload the configuration parameters using one of the following methods:
    • Select Use .plist, click Choose File, and upload your .plist file. 
    • Alternatively, click Add+ to manually enter each key-value pair. For a list of keys and their corresponding values, see Obtain the Configuration Parameters.
  13. Click Done.
  14. Go to Apps > App Catalog, and select the newly-added Versa SASE application.

    23.png
  15. Click the three-dot menu and select Send Install/Update Request.
  16. Select the checkboxes for both Install and Update requests.
  17. Choose the target devices, and then click Send.

    25.png
  18. The enrolled device displays a popup notification prompting the user to install the application.

    27.png

    The following screen displays when you open the application for the first time.

    29.png

Sample PLIST File for IOS App Configuration

The following is a sample .plist for iOS app configuration:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>device_id</key>
    <string>${deviceGUID}</string>
    <key>fqdn</key>
    <string>Replace with your portal FQDN</string>
    <key>enterprise_name</key>
    <string>Replace with your Enterprise Name</string>
    <key>user_id</key>
    <string>${userEmailAddress}</string>
    <key>device_name</key>
    <string>${deviceName}</string>
    <key>managed_device</key>
    <true/>
    <key>PayloadRemovalDisallowed</key>
    <true/>
    <key>is_versa_root_ca_required</key>
    <true/>
</dict>
</plist>

Verification

After the deployment policies have run, verify that the onboarding is successful:

  • In Ivanti:
    • Go to Devices.
    • Select a test device, and then click Configurations. 
    • Confirm that the status displays Applied.
  • On the device:
    • Open the Versa SASE app.
    • Check that auto_logon is set to true, and the FQDN and Username fields are pre-populated. The app may attempt to establish a tunnel immediately.
  • In the Versa SASE Tenant Portal:
    • Go to Monitor > Remote Access.
    • Confirm that the device is listed with the device ID assigned by Ivanti.

Supported Software Information 

SASE Client releases 7.6.7 and later support all parameters described in this article, except:

  • Release 7.7.1 introduces the macOS parameters listed under Parameters introduced in version 7.7.1 (macOS Only).
  • Release 7.7.3 introduces the macOS parameters listed under Parameters introduced in version 7.7.3 (macOS Only).
  • Was this article helpful?