Deploying VMware Workspace ONE Tunnel: Workspace ONE Operational Tutorial
Overview
Introduction
VMware provides this operational tutorial to help you with your VMware Workspace ONE® environment. In this tutorial, explore how to configure and deploy the VMware Workspace ONE Tunnel app across iOS, Android, macOS, and Windows platforms to enable Per-App Tunnel on a managed device. Procedures include enable per-app tunneling on managed devices and SDK-enabled applications, configuration of Tunnel policies, deployment of the client and profiles to devices, and general lifecycle maintenance.
Audience
This operational tutorial is intended for IT professionals, network and security administrators, and Workspace ONE administrators of existing production environments. Both current and new administrators can benefit from using this tutorial. Familiarity with networking in a virtual environment, knowledge of Tunnel Service on VMware Unified Access Gateway™ or VMware Secure Access™, and VMware Workspace ONE® UEM is assumed.
Getting Started with Workspace ONE Tunnel
Introduction
Workspace ONE Tunnel enables secure access for mobile workers and devices. Users have a simple experience and need not enable or interact with Tunnel, and IT organizations may take a least-privilege approach to enterprise access, ensuring only defines apps and domains have access to the network.
Tunnel provides industry-best security and builds on TLS 1.2+ libraries, implements SSL Pinning to ensure no MITM attacks, and includes client certificates on the allowlist to ensure identity integrity. Combined with explicit definitions of managed applications and integration with Workspace ONE compliance engine, Tunnel can help customers attain Zero Trust goals for their workforce.
Prerequisites
Before you can perform the steps in this tutorial, you must install and configure the following components:
- Tunnel Service configured in VMware Unified Access Gateway or VMware Secure Access (latest release recommended)
- Workspace ONE UEM 2011 and later
- A device for the platform you plan to use (Windows 10, macOS, Android, or iOS)
Ensure the following settings are enabled in the Workspace ONE UEM Console:
- Organization Group created and set as Customer Type
- UEM REST API enabled and setting override
- Device Root Certificate issued
- VMware Tunnel configured
1. Confirm VMware Tunnel Service is Configured
The remainder of this section assumes that Tunnel Service is properly configured and running on the Unified Access Gateway or on the VMware Secure Access. For more details, see Configuring the VMware Tunnel Edge Service: VMware Workspace ONE Operational Tutorial.
1.1. Navigate to Configurations

In the Workspace ONE UEM Console:
- Click Groups & Settings.
- Click Configurations.
1.2. Select Tunnel Settings

- Scroll through the list of Configurations if necessary.
- Select Tunnel.
1.3. Select Test Connection

Select Test Connection.
1.4. Confirm Successful Test Connection

Ensure that both the Console to AWCM and Tunnel to API tests report Success and the Tunnel server reports service status UP.
This status confirms that the Tunnel Service is up and running on the server-side, and properly communicating with Workspace ONE UEM.
Tunnel Mode (Per-App vs Full Device Tunnel)
VMware Tunnel provides two modes for tunneling traffic; Per-Application or Full Device. Each mode is configured as part of the Device Traffic Rules and assigned to a device based on the Profile configuration. A device cannot perform Per-App and Device Tunnel at the same time.
Per-App Tunnel
Per-App Tunnel restricts tunnel traffic only to authorized applications and destinations (domain) specified by the UEM administrator when configuring the Device Traffic Rules.
Full Device Tunnel
On Full Device Tunnel configuration, traffic is restricted based on the authorized destinations (domains or IPs), regardless of the application. Full Device mode requires Workspace ONE UEM 2102+, Workspace ONE Desktop Tunnel 2.1+, and it is available only on Windows 10.
Supported Platforms
Workspace ONE Tunnel app is available for managed and unmanaged devices providing Per-App and Full Device Tunnel across multiple platforms. Only TCP and UCP traffic will be routed to the Workspace ONE Tunnel App; ICMP-based traffic used by ping utilities is not supported. The Workspace ONE Tunnel app on Windows and macOS platforms now supports Standalone enrollment without Workspace ONE Intelligent Hub or any device management.
Tunnel Mode (Per-App and Full Device) is available based on the device platform and how it is managed as described in the following table.
Feature availability based on Management Mode and Device Platform
*Requires use of the Tunnel module available on Workspace ONE SDK.
Standalone method doesn’t require Intelligent Hub, enrollment is done through the Workspace ONE Tunnel App.
For more information, see Supported Platforms for VMware Workspace ONE Tunnel.
For more information on Standalone requirements, see Configuring VMware Tunnel Client for Standalone enrollment.
Per-App Tunnel Support for MAM mode Workflow
Many organizations do not need to manage devices for their mobile fleets for various reasons, including possible privacy or legal issues. However, they might need to distribute mobile applications to access internal resources, so Workspace ONE UEM offers the flexibility of using a standalone catalog through Intelligent Hub that works independently of the MDM feature.
Applications that leverage the Workspace ONE SDK, such as Workspace ONE Web, can be configured to access internal web applications through Per-App Tunnel. The Workspace ONE Tunnel app is not required for this scenario. Also, organizations that develop mobile internal apps can be integrated with Workspace ONE SDK to enable access from unmanaged devices. Workspace ONE SDK is available on iOS and Android platforms.
In a MAM mode scenario, users do not have to enroll the device as UEM Managed and the Workspace ONE Tunnel app is not required, but rather they can:
- Use SDK-Enabled apps like Boxer or Web that will manage the registration of the device and be identified as App Level registration on UEM.
- Use the Intelligent Hub app in registered mode to access the Intelligent Hub catalog part of Workspace ONE UEM. This catalog distributes all application types; public, purchased, internal, and Web. Although end-user devices are not enrolled in MDM, you can access a device record in the Workspace ONE UEM console.
In both cases, the device record is for auditing purposes and the status of these devices in the UEM console displays as App Level (#1) or Hub Registered (#2).
Configuration Requirements for MAM

To enable Tunnel for SDK-based apps, navigate to Groups and Settings > Apps > Settings and Policies > Security Policies in the Workspace ONE UEM Console.
- Select Enabled to enable the AirWatch App Tunnel.
- Select VMware Tunnel for the App Tunnel Mode.
After that, define the Device Traffic Rules for the iOS and Android SDK-enabled applications which will be covered later as part of this tutorial.
As a reminder, when using the MAM workflow and registered mode using the Workspace ONE Intelligent Hub, the SDK-enabled apps must be deployed through the Intelligent Hub catalog, and the Workspace ONE Tunnel app is not required.
Workspace ONE Tunnel app can be deployed as standalone app and perform enrollment without Workspace ONE Intelligent Hub or any device management. In this scenario Workspace ONE UEM will only contain the device record.
Understanding Device Traffic Rules
What are Device Traffic Rules?
Network traffic rules allow you to set granular control over how the VMware Tunnel Service directs traffic from devices.
Workspace ONE UEM defines two types of network traffic rules in support of Workspace ONE Tunnel:
- Server Traffic Rules
- Device Traffic Rules
You can create device traffic rules to control how devices handle traffic on the device Per-Application or Full Device.
1. Server Traffic Rules
The Server Traffic Rules enable you to manage how application traffic is routed throughout your network after traversing the Tunnel Service on Unified Access Gateway infrastructure. Specifically, if you require the use of proxies in your network or for external access, these proxies can be defined and configured as part of Server Traffic Rules.
Configuration of Service Traffic Rules will not be covered in this tutorial. For additional information, see Configure Server Traffic Rules in VMware Docs.
2. Device Traffic Rules
The Device Traffic Rules define how traffic from specified applications (Per Application) or devices (Full Device) is routed by the Workspace ONE Tunnel application. The device traffic rules serve as a locally enforced Access Control List, defining which apps and destinations should be blocked, tunneled, proxied, or bypass the tunnel completely.
Under Manage Traffic Assignments, administrators can create multiple Device Traffic Rule sets to segment traffic to internal resources, such as rules for employees' devices that are less restricted than access to contractor devices.
- Each traffic assignment (Device Traffic Rule Set) contains multiple rules.
- A profile can only have a single traffic assignment (Device Traffic Rule Set).
- A device can only apply a single VPN profile at any one time.
Manage Traffic Assignments requires Workspace ONE UEM 2011, otherwise, a single Device Traffic Rule set can be created.

For each device traffic rule, you must set a Tunnel Mode to determine if traffic will be tunneled Per-Application or Full Device, then defined rules are ranked in order of execution. Multiple device traffic rules can be created and assigned to a profile that uses smart groups to determine the device assignment of the rules.
As an example in device traffic rules set for Per-Application tunnel mode, every time a specified application is opened, the Tunnel client evaluates the Device Traffic Rule assigned to it before making any routing decisions. If no set rules match the situation, the Tunnel applies the default action. The default action behavior can vary per platform:
- On the iOS platform, the default action set for all managed applications with tunnel profile associated except for Safari and applies to domains not mentioned in a rule. If no rules are specified, the default action applies to all domains and all managed applications associated with VPN Profile.
- On the macOS platform, the default action set for all macOS applications specified on the DTR rules applies to domains not mentioned in a rule. At least one rule must be defined and when it doesn’t match any rule the default action applies to all domains and all macOS applications mentioned above in the Rank.
- On the Windows 10 platform, the default action set for all Windows applications specified on the DTR rules applies to domains not mentioned in a rule. At least one rule must be defined and when it doesn't match any rule the default action applies to all domains and all Windows applications mentioned above in the Rank.
- On the Android platform, the default action set for all Android managed applications with tunnel profile associated and applies to domains not mentioned in a rule. If no rules are specified, the default action applies to all domains and all managed applications associated with VPN Profile.
More information about the specifics of device traffic rules per platform will be covered as part of this tutorial in the following chapters.
The device traffic rules help to separate personal and corporate traffic. Think of a scenario where the end-user can check their personal email, visit social media, and so on, without having their personal traffic inspected. We provide privacy where a traditional VPN cannot.
2.1. Per-Application Traffic Rules
When configuring the Device Traffic Rules and setting Tunel Mode to Per Application, the administrator is required to configure the rules per application and domain. These rules will be used by the Workspace ONE Tunnel application to restrict the tunnel traffic only to authorized applications and domains.
Note the following:
- Tunnel Mode for the Device Traffic Rules Set.
- Per-Application Rules.
- Default Action Rule that will be performed when the client traffic doesn't match rules 1 and 2.
2.2. Full Device Traffic Rules
When the Tunnel Mode is set to Full Device, traffic is restricted based on the domains specified in the rules. Note: You cannot configure applications as part of this rule.
Full Device mode requires Workspace ONE UEM 2102+, Workspace ONE Desktop Tunnel 2.1+, and it is available only on Windows 10.
Note the following:
- Tunnel Mode for the Device Traffic Rules Set.
- Full Device Rules.
- Default Action Rule that will be performed when the client traffic doesn't match rules 1 and 2.
Device Traffic Rules Wildcard Guidelines and use of asterisk (*)
When defining the Device Traffic Rules destination, the administrator can enter a list of domains to allow, block, or bypass traffic.
The wildcard is supported for the hostnames and multiple entries must be separated by comma (,).
Supported wildcard and use of asterisk (*)
You can use wildcard characters for your hostnames. Wildcards must follow the format:
- *.<domain>.*
- *<domain>.*
- Includes primary domain and subdomains - for example, www.example.com, example.com, store.example.com
- *.* — You cannot use this wildcard for Safari domain rules (iOS and macOS specific)
- * — You cannot use this wildcard for Safari domain rules (iOS and macOS specific)
IP and Port Ranges Format Support on Device Traffic Rules
Use of IPs and port ranges are only supported for Device Traffic Rules on Windows 10 devices. The following list contains supported formats for the IPv4 & Port range when applying the Device Traffic Rules (DTR).
- Single IP
- 10.10.0.1 or 10.10.10.1/32
- IP range or subnet
- 10.10.10.1/24
- 10.10.0.0/16
- Single Port
- *.example.com:80, 10.10.10.1:80,10.10.11.1/32:80
- *.example.com:[443], 10.10.11.1/24:[443]
- Port Range
- *.example.com:[80-443], 10.10.10.1:[80-443],10.10.11.1/32:[80-443]
- 10.10.11.1/24:[80-443]
- List of Ports
- *.example.com:[80,443], 10.10.10.1:[80,443],10.10.11.1/32:[80,443]
- 10.10.11.1/24:[80,443]
- List of Ports and Ranges
- *.example.com:[80,443, 8080-8085], 10.10.10.1:[80,443,8080-8085],10.10.11.1/32:[80,443,8080-8085]
- 10.10.11.1/24:[80,443,8080-8085]
Publishing Device Traffic Rules
When making changes to the Device Traffic Rules those need to be sent to the device to take effect, this process requires synchronization between device and UEM, and can be applied to existing managed devices or only new enrolled devices. This chapter describes the difference between "Save" and "Save and Publish" device traffic rules set, in addition to how the changes will be sent to the device.
Save and Publish Device Traffic Rules Flow
When the administrator changes the Device Traffic Rules and clicks Save and Publish, an updated version of the VPN profile mapped to the Device Traffic Rules will be created and queued for all the assigned devices. That process will reissue the client certificate as part of the profile to the device with a new thumbprint.
The Tunnel client app might not be able to establish a connection with Tunnel Service until the new VPN profile gets installed on the device. Forcing a sync on the device can speed up the profile installation but in environments with a large number of devices, this process can take additional time.
The Save and Publish option is only available on the default Device Traffic Rules set.
Save Device Traffic Rules Flow
When the administrator changes the Device Traffic Rules set and clicks Save, the Device Traffic Rules get mapped to the profile, but the updated Device Traffic Rules are not replaced for the devices where the VPN profile is already installed. Device Traffic Rules are only updated for the newly enrolled devices or for the devices that have the VPN profile reinstalled.
Save is the only option available for a non-default Device Traffic Rules set - this means that after you change the device traffic rule set and hit save, you must push a new version of the VPN profile to current devices where the profile was already deployed.
Identify the VPN Profile status (Installed, Not Installed, Pending Install, and Assigned)
As mentioned previously, publishing a device traffic rule or changes on the VPN Profile will create a new profile version and queue it to all assigned devices. The tunnel client might not be able to establish a connection with the Tunnel Service until the new profile comes down to the device. The administrator can monitor the deployment status of the new VPN profile with the following steps:
Locate the VPN profile under the Resources / Profiles & Base Lines / Profiles and click the View link to identify the total number of profiles not installed, installed and assigned. Click the Not Installed hyperlink to push the profile manually.
Locate the device under the Devices / List View, select the Profile page and point to the Profile Status. Selecting the profile allows you to send a command to remove or install the profile on the respective device.
New Device Traffic Rules Sync Process
A new process to sync Device Traffic Rules (DTR) will be implemented on the Workspace ONE Tunnel App to minimize the push of the Tunnel profile to the device every time the DTR changes. This new process, as of today, is only available for Android and requires Workspace ONE UEM 2111+ and Workspace ONE Tunnel version 2203.
The new process requires you to enable the Workspace ONE Tunnel client to request the DTR from a Tunnel API endpoint (hosted on UEM) automatically on every launch or every 4 hours (default). The new Tunnel API endpoint is identified as http://ws1-api-server/DevicesGateway/devices/{deviceuuid}/tunnel/{tunnelconfiguuid}/configuration?device-traffic-rule-set-uuid={dtr-set-uuid} (TunnelConfigurationSyncEndpointUrl) and is invoked by the Workspace ONE Tunnel client to obtain the new DTR.
- By default, the client syncs DTR every 4 hours.
- This value can be changed via the client_sync_interval key in Custom Settings on the Tunnel Configuration Page. The value is specified in minutes.

Workspace ONE Tunnel client would reach the TunnelConfigurationSyncEndpointUrl
on every launch, so modifying the client_sync_interval
is not recommended unless you have a critical use case. The following table provides the sync interval recommendation based on the number of devices enrolled.
Number of devices on the environment | Sync Interval |
---|---|
1 - 50,000 | 15 minutes |
50,000 - 100,000 | 30 minutes |
100,000 - 200,000 | 60 minutes |
200,000 - 500,000 | 120 minutes |
500,000 - 1,000,000 | 240 minutes |
To verify if the tunnel client can sync with the endpoint, open the Diagnostics UI.
Tunnel Client Codes in the UI:
- 200 - DTR was modified in UEM and successfully synced.
- 304 - sync triggered but no changes in DTR.
- 204 - sync triggered but admin has possibly disabled FF and has not republished the profile to remove sync settings.

To ensure that the client received the settings, the Diagnostics UI displays the Sync Interval and Sync URL as well.

Trusted Network Detection
What is Trusted Network Detection?
Trusted Network Detection is a mechanism in the Workspace ONE Tunnel app that determines whether to establish a connection with the Tunnel Service to tunnel access to corporate applications. If the device is connected to the corporate network and trusted network detection is configured, the Workspace ONE Tunnel app does not tunnel traffic to the corporate applications.
When setting up a Trusted Network Detection in UEM Tunnel Configuration, routing is dependent on DNS and will ignore HOSTS file entries.
Currently, Trust Network Detection is supported on Windows 10 and Android platforms.
Trusted Network Detection on Windows 10
For Windows 10 devices, Trusted Network Detection is configured as part of the Per-App VPN payload, and can be configured leveraging DNS suffix or internal URL (probe URL).
Trusted Network Detection based on DNS Suffix
When using DNS suffix, Workspace ONE Tunnel compares the DNS suffix defined on the device against the list of trusted networks configured on the Trusted Network Detection field to determine if the device is on the trusted network or not.
Administrators can add a list of domains separated by a comma into the Trusted Network Detection field (see the following screenshot) and that will leverage DNS suffix. Workspace ONE Tunnel fails to connect when the device is on a trusted network.

Trusted Network Detection based on Probe URL
When using Probe URL (recommend method), Workspace ONE Tunnel will make HTTP calls against the list of private URLs defined in the custom configuration probe URLs to determine if the device is on the trusted network or not.
Administrators can add a list of domains separated by a comma into the Custom Configuration XML field (see the following screenshot) using the TrustedNetworkProbeUrl XML tag. Workspace ONE Tunnel fails to connect when the device is on a trusted network.

Trusted Network Detection on Android
For Android devices, Trusted Network Detection is configured on the Workspace ONE Tunnel app through App Config, using the TrustedNetworkProbeUrl
key, and the value is a list of URLs separated by a comma that can optionally have http/https scheme and an assigned port.
Format examples:
- <internal-site>
- <internal-site>:<port>
- http://<internal-site>
- http://<internal-site>:80
- https://<internal-site>
- https://<internal-site>:443
Workspace ONE Tunnel app for Android determines if the device is on the internal network based on the device's ability to reach the private URLs defined as part of the TrustedNetworkProbeUrl.

Next Steps
The procedures in this tutorial consist of the following:
- Device Traffic Rule configuration
- Deployment of Per-App VPN Profile
- Deployment of Workspace ONE Tunnel Client
- Testing configurations on the chosen device
The procedures are almost the same for each platform. To ensure you understand any existing particularity and stay focused on the platform of your choice, the following steps in this tutorial are organized per platform. Select one of the following:
Deploying Workspace ONE Tunnel for iOS
Introduction
Per-App Tunneling helps users to access critical information using applications on their devices from their devices. Mobile flows help users perform business-critical tasks from a single app — streamlining the user experience.
Leveraging Per-App Tunnel allows you to control which applications are on a device and what internal resources the applications have access to by automatically activating or deactivating Per-App VPN access, based on which applications are active. By enabling remote access, you no longer need to provide a device-wide VPN on your devices, which can allow unintended or unauthorized apps or processes to access your VPN. In this tutorial, you configure and deploy VMware Workspace ONE Tunnel to enable the Per-App Tunnel component on managed devices.
These exercises involve the following components:
- Workspace ONE Tunnel – The app used on the device to securely connect to the Unified Access Gateway to provide Per-App Tunnel functionality, also referred to as Tunnel Client.
- Unified Access Gateway – The virtual appliance where the VMware Tunnel edge service is installed, and to which the tunnel client connects.
- Per-App Tunnel – Component of VMware Tunnel edge service for connecting to a secure tunnel channel on a per-application basis, which is controlled and configured by the VPN profile payload and Device Traffic Rules.
- Per-App VPN Profile and Device Traffic Rules – The Workspace ONE UEM configuration is pushed to the device that contains the Per-App Tunnel configurations. Every time a specified application is opened, the Workspace ONE Tunnel client evaluates the Device Traffic Rules assigned to it before making any routing decisions and establishes a Per-App tunnel connection with the Unified Access Gateway based on the Per-App VPN Profile configuration.
High-Level Architecture

The device contains the applications required by the end-user to perform their daily job. Some applications require access to internal resources to function. Those applications, based on Per-App VPN configuration, use Workspace ONE Tunnel which communicates with the Tunnel Service on Unified Access Gateway hosted on the DMZ, to validate if the device requesting access is in compliance or not before authorizing access through the internal resource.
Prerequisites
Before you can configure the Per-App Tunnel component for iOS, you must have the following components installed and configured:
- Workspace ONE UEM version 2011 and later
- iOS 7.0+ device enrolled in Workspace ONE UEM
- VPN Tunnel must be configured before you can add it as an application
- Workspace ONE Tunnel application for iOS
- Deploy Workspace ONE Tunnel using volume purchased licenses from Apple Business Manager or Apple School Manager.
- Workspace ONE Administrators must upload the Location token from Apple Business Manager to sync licenses to Workspace ONE UEM for managed distribution. See Upload VPP sTokens to Retrieve Managed Distribution Licenses and Content.
Configuring Device Traffic Rules for iOS
First, because Apple's Mail, Calendar, and Contacts applications may contain both corporate and personal data, administrators must take an extra step to define corporate-owned domains which should be marked for Per-App Tunnel.
Device traffic rules provide a centralized location to configure which domain traffic uses per-app tunneling. When a Workspace ONE administrator configures devices for Safari on iOS, Workspace ONE automatically merges these parameters into the VPN payload sent to iOS devices. These parameters allow the VMware Tunnel edge service to apply the appropriate device traffic rules for those specific domains.
Second, Safari is another app that may be used for personal use on a corporate device. As such, Safari cannot be configured to tunnel all traffic. Device traffic rules for Safari must specify the domain and top-level domain component (for example, vmware.com
) although an asterisk (*) may be used to wildcard subdomains (for example, *.vmware.com
).
Note: Domain values used in this section are examples only. Your values will differ.
1. Access Configurations

In the Workspace ONE UEM Console:
- Click Groups & Settings.
- Click Configurations.
2. Select Tunnel Settings

- Scroll through the list of Configurations if necessary.
- Select Tunnel.
3. Edit Device Traffic Rules

From within the Device Traffic Rules information block on the Tunnel Configuration page, click Edit.
4. Add Device Assignment Device Traffic Rule

Administrators can create multiple Device Traffic Rules that will be assigned to the Per-APP VPN profile and will deploy to the devices based on the smart group assigned to the Profile. The first device traffic rule assignment created will be set as default.
1. Click Add or the Default assignment to manage the device traffic rules.
5. Observe Default Device Traffic Rule
- Update the Assignment Name with the name you want to.
- Observe (and optionally modify) the default action which applies to all iOS applications selected to use Per-App VPN except Safari:
- Tunnel – All apps, except Safari, on the device configured for Per-App Tunnel send network traffic through the tunnel. For example, set the Default Action to Tunnel to ensure all configured apps without a defined traffic rule use the Workspace ONE Tunnel for internal communications.
- Block – Blocks all apps, except Safari, on the device configured for Per-App Tunnel from sending network traffic. For example, set the Default Action to Block to ensure that all configured apps without a defined traffic rule cannot send any network traffic regardless of destination.
- Bypass – All apps, except Safari, on the device configured for Per-App Tunnel bypass the tunnel and connect to the Internet directly. For example, set the Default Action to Bypass to ensure all configured apps without a defined traffic rule bypass the Workspace ONE Tunnel to access their destination directly.
- Proxy – Redirect traffic to the specified HTTPS proxy for the listed domains. The proxy must be HTTPS and must follow the correct format:
https://example.com:port
.
- Click ADD RULE.
6. Build Device Traffic Rule
- Click the drop-down for the Applications list. Alternatively, on the drop-down select All Applications to apply the rule to all iOS applications listed in the drop-down, which are the ones that you assigned the Per-App VPN profile.
- Select one or more iOS apps for which this rule applies.
- Enter one or more destinations to control via Workspace ONE Tunnel.
- Select the Action to apply for the selected apps when they attempt to access the specified destinations.
For more information on the formats (wildcards, IP, ports) allowed into the Destination field, see the Device Traffic Rules Destination formats supported chapter.
Tip: iOS apps are automatically added to the Applications selection list after you enable an application for Per-App Tunnel when creating assignments in Apps and Books.
Note: Wildcards must follow one of these formats:
- *.<domain>.*
- *<domain>.*
- *.* — You cannot use this wildcard for Safari rules.
- * — You cannot use this wildcard for Safari rules.
7. Add Additional Rules and Publish
- Click Add Rule and repeat Build Device Traffic Rule for any additional required rules.
- Drag the rules to adjust your Device Traffic Rules priority.
- After the Device Traffic Rules are configured as necessary, click Save and Publish.
Distributing Workspace ONE Tunnel for iOS
Workspace ONE Tunnel is an iOS application available for free on the App Store. It is also available for managed distribution volume licensing through Apple Business Manager and Apple School Manager. In both cases, the Workspace ONE Tunnel app can be deployed over-the-air through Workspace ONE UEM as a:
- Public App - this method pushes the application to the device from App Store and is recommended when your organization doesn't use Apple VPP program.
- Purchased App - Workspace ONE Tunnel app is free, however, it is also available for managed distribution volume licensing through Apple Business Manager and Apple School Manager. Use device-based licensing to distribute Workspace ONE Tunnel to corporate-managed iOS devices. If your organization has access to Apple Business Manager and you want to manage the license distribution, use this method.
This section demonstrates how to obtain Workspace ONE Tunnel and assign it to devices as Public or Purchased App.
Note: The VPN tunnel profile should already be configured as part of the Prerequisites.
1. Distribute Workspace ONE Tunnel as Public app (Apple Store)
1.1. Add Workspace ONE Tunnel as Public App
In Workspace ONE UEM Console:
- Click Resources.
- Click Native under Apps.
- Click Public.
- Click Add Application.
1.2. Search for Workspace ONE Tunnel on Apple Store

- Select Apple iOS as Platform.
- Select Search App Store for Source.
- Enter Workspace ONE Tunnel.
- Click Next.
1.4. Save & Add Assignment

- Select Business (System) for the Categories; this is not required, however it will show the Tunnel app under the specific category in the Intelligence Hub Catalog.
- Click Save & Assign.
1.5. Defining Assignment
- Enter All Devices for Name.
- Select All Devices for Assignment Groups or a specific group of devices that you want to target for the tunnel deployment.
- Select Auto for App Delivery Method.
- Click Restrictions.
- Turn ON the Make App MDM Managed if User Installed.
- Click Create.
2. Distribute Workspace ONE Tunnel as Purchased App (Apple Business Manager)
2.1. Get Workspace ONE Tunnel Licenses

In Apple Business Manager (or Apple School Manager):
- Click Apps and Books.
- Search for workspace tunnel in the search text box.
- Select Tunnel - Workspace ONE for iOS.
- Select the location for which you have uploaded the sToken into Workspace ONE UEM.
- Enter the quantity of licenses you want to purchase.
- Click Get. The button changes to Purchasing and when the purchase is complete changes back to Get.
2.2. Sync Assets in Workspace ONE UEM

In the Workspace ONE UEM console:
- Click Apps & Books.
- Expand Applications and click Native.
- Select Purchased.
- Click Sync Assets.
- Click OK on the dialog box.
- Wait a few moments and click Refresh to update the app list.
- Click the Workspace ONE Tunnel app for iOS in the app list.
2.3. Enable Device Assignment

- Click Enable Device Assignment.
- Click OK to confirm device-based licensing.
- Click Save & Assign.
2.4. Add Assignment

Click Add Assignment.
2.5. Edit Assignment

- Click Add Assignment.
- Select an Assignment Group (or alternatively, create a new smart group containing the targeted devices).
- Enter a number of licenses to allocate. Allocate up to the total number of unallocated licenses.
- Select Auto.
- Select Save.
2.6. Save Assignment

- If more assignments are necessary, click Add Assignment and repeat the steps in Edit Assignment.
- Click Save and Publish, then click Publish when all assignments have been added.
Creating Per-App VPN Profile for iOS
For iOS 7+ devices and Android Enterprise devices, you can force selected applications to connect through your corporate VPN. Your VPN provider must support this feature, and you must publish the applications as managed applications.
In this activity, you configure the iOS profile which configures the tunnel client on the device to allow only designated applications to access content on internal servers.
1. Add a New Profile

- Click Add.
- Click Profile.
2. Select the OS for the Profile

Select Apple iOS.
3. Select the Context to Deploy the Profile

Select Device Profile.
4. Configure the General Properties of the Profile

- Enter the name, such as
Per-App VPN
in this example screenshot. - Select the name of your device's smart group, and select that group. For example, select All Devices (your@group.shown.here) as the assigned Smart Group.
- Click VPN then click Configure.
5. Configure the VPN Payload

- Select Workspace ONE Tunnel from the Connection Type drop-down menu.
- Select Default as the Device Traffic Rules that will be assigned to this profile.
- Ensure the Enable VMware Tunnel is selected.
- Add any Mail, Contacts, and Calendar Domains. Do not configure Safari Domains - these are configured in the VMware Tunnel Configuration later in this guide.
- Click Save & Publish then click Publish.
Note: Safari Domains should be configured in the Device Traffic Rules for Workspace ONE Tunnel.
Configuring Workspace ONE Web for Per-App Tunnel
Workspace ONE Web is part of the secure productivity app suite from VMware. Administrators can deploy Workspace ONE Web when data loss and copy/paste restrictions are critical to the business use case. In this activity, you distribute and configure Workspace ONE Web for Per-App Tunnel on iOS.
This section demonstrates how to obtain Workspace ONE Web and assign it to devices as Purchased App using the integration of Workspace ONE UEM and Apple Business Manager.
Workspace ONE Web is available for free on App Store. To deploy as a Public App managed by Workspace ONE UEM, follow the same steps described in the previous chapter to deploy Workspace ONE Tunnel.
1. Get Workspace ONE Web Licenses

In Apple Business Manager (or Apple School Manager):
- Click Apps and Books.
- Search for Workspace ONE Web in the search text box.
- Select Web - Workspace ONE for iOS.
- Choose the location for which you have uploaded the sToken into Workspace ONE UEM.
- Enter the quantity of licenses you want to purchase.
- Click Get. The button changes to Purchasing and when the purchase is complete, it changes back to Get.
2. Sync Assets in Workspace ONE UEM

In the Workspace ONE UEM console:
- Click Apps & Books.
- Expand Applications and click Native.
- Click Purchased.
- Click Sync Assets.
- Click OK on the dialog box.
- Wait a few moments and click Refresh to update the app list.
- Click the Web - Workspace ONE app for iOS in the app list.
3. Enable Device Assignment

- Click Enable Device Assignment.
- Click OK to confirm device-based licensing.
- Click Save & Assign.
4. Add Assignment

Click Add Assignment.
5. Edit Assignment

- Click Add Assignment.
- Select an Assignment Group (or alternatively, create a new smart group containing the targeted devices).
- Enter a number of licenses to allocate. Allocate up to the total number of unallocated licenses.
- Select Auto for Assignment Type.
- Select Enabled for Remove on Unenroll.
- Select Enabled for Prevent Application Backup.
- Select Enabled for Make App MDM Managed if User Installed.
- Select Enabled and then select the Per-App VPN profile created in Creating Per-App VPN Profile for iOS.
- Click Save.
6. Save Assignment

- If more assignments are necessary, click Add Assignment and repeat the steps in Edit Assignment.
- Click Save and Publish, then click Publish when all assignments have been added.
Testing Safari Domains with Per-App Tunnel
Now that the VPN profile includes a domain in the Safari Domains list, you can confirm that these settings have updated on the device and test the settings in the native Safari application.
1. Open Device Settings

Tap Settings.
2. Open VPN Settings

- Tap General.
- Scroll down to find the VPN section.
- Tap VPN.
3. Select Your VPN Configuration

Tap VPN Configuration from your Per-App VPN profile.
4. Verify Included Per-App VPN Apps

All managed applications from the Workspace ONE UEM Console that are enabled to use Per-App VPN and have an associated Device Traffic Rule appear in this list. Note that Safari is displayed to show that domains are configured for tunneling in Safari.
5. Open Safari

Return to the Launchpad by pressing the Home button on your device.
Tap the Safari icon. The VPN icon should not be displayed in the toolbar.
6. Browse to the Internal URL

- Enter the URL for a website that is accessible only through VPN.
- Confirm that the VPN indicator is displayed when iOS launches the VPN and connects.
- Confirm that the internal page loads.
Testing Per-App Tunnel on iOS
Now that the enrolled device has received the settings configured in the Workspace ONE UEM Console, you are ready to begin testing the Per-App Tunnel functionality. The applications assigned in the previous exercises should push down during enrollment. The VMware Tunnel and Workspace ONE Web applications should be installed on your device.
In this activity, launch Workspace ONE Web and access the internal website. Then verify that, although the VPN connection is active, other applications on the device cannot access the tunnel or internal resources.
1. Launch Workspace ONE Web

Press the Home button on your device to return to the Launchpad. Swipe right to see the downloaded applications, if needed.
Tap the Workspace ONE Web icon to launch the application. If prompted, select OK to allow the Web to send your device push notifications.
2. Create and Confirm Password

- If prompted, create a passcode for Workspace ONE Web.
- Click Next.
- Confirm the passcode by entering it again.
- Click Confirm.
3. Accept the Privacy Prompt

Tap I understand to accept the Privacy prompt.
4. Agree to the Data Sharing Prompt

Tap I agree to accept the Data Sharing Prompt.
5. Access the Internal Website with Workspace ONE Web
- When the application launches, enter the URL for your intranet website.
- Confirm that the VPN icon appears, indicating the connection is active. The application now connects to Workspace ONE UEM and retrieves the settings for your Organization Group.
- Confirm that the website loads. In this example, it displays a Welcome message.
Note: Depending on the Workspace ONE Web and SDK settings configured at your particular organization group level, the address bar may not be editable. This configuration is called Kiosk Mode. To work around this, there are two options which can be configured at Groups & Settings > Configurations > Workspace ONE Web:
- Click the Bookmarks tab, click Override (if necessary), click Add Bookmark, enter a name and URL for the testing URL, and click Save.
- Scroll the settings to Kiosk Mode and click Disabled. Click Save.
These changes affect the Default settings for Workspace ONE Web in this Organization Group and all inherited organization groups unless otherwise configured.
Troubleshooting Workspace ONE Tunnel Tunnel on iOS
This section contains some basic steps to troubleshooting Per-App Tunnel on iOS.
1. Open Workspace ONE Tunnel

On an enrolled iOS device, tap Tunnel.
2. Continue to Tunnel Status

Tap Continue.
3. Accept the Privacy Prompt

Tap I understand to accept the Privacy prompt.
4. Agree to the Data Sharing Prompt

Tap I agree to accept the Data Sharing Prompt.
5. Validate Device Connectivity

- Ensure the device and Internet connectivity are OK (showing a green checkmark symbol).
- Tap the logging icon.
6. Enable Debug Logging

Adjust the slider to Enable Debug.
Tip: With Enable Debug turned on, Workspace ONE administrators can view logging information for the iOS device as follows:
- Plug the iOS device into a device running macOS.
- Ensure the iOS device trusts the connection to macOS.
- Connect to Console, by either:
- Open Apple Configurator 2 and double-click the test iOS device. Click Console to view the output from the device.
- Open Console.app and select the iOS device from the left side.
- Search for tunnel or iOSAppProxyProvider.
Deploying Workspace ONE Tunnel for macOS
Introduction
Per-App Tunneling helps users to access critical information using applications on their devices from their devices. Mobile flows help users perform business-critical tasks from a single app — streamlining the user experience.
Leveraging Per-App Tunnel allows you to control which applications are on a device and what internal resources the applications have access to by automatically activating or deactivating Per-App VPN access, based on which applications are active. By enabling remote access, you no longer need to provide a device-wide VPN on your devices, which can allow unintended or unauthorized apps or processes to access your VPN. In this tutorial, you configure and deploy VMware Workspace ONE Tunnel to enable the Per-App Tunnel component on managed devices.
These exercises involve the following components:
- Workspace ONE Tunnel – The app used on the device to securely connect to the Unified Access Gateway to provide Per-App Tunnel functionality, also referred to as Tunnel Client.
- Unified Access Gateway – The virtual appliance where the VMware Tunnel edge service is installed, and to which the tunnel client connects.
- Per-App Tunnel – Component of VMware Tunnel edge service for connecting to a secure tunnel channel on a per-application basis, which is controlled and configured by the VPN profile payload and Device Traffic Rules.
- Per-App VPN Profile and Device Traffic Rules – The Workspace ONE UEM configuration is pushed to the device that contains the Per-App Tunnel configurations. Every time a specified application is opened, the Workspace ONE Tunnel client evaluates the Device Traffic Rules assigned to it before making any routing decisions and establishes a Per-App tunnel connection with the Unified Access Gateway based on the Per-App VPN Profile configuration.
High-Level Architecture
The device contains the applications required by the end-user to perform their daily job. Some applications require access to internal resources to function. Those applications, based on Per-App VPN configuration, use Workspace ONE Tunnel which communicates with the Tunnel Service on Unified Access Gateway hosted on the DMZ, to validate if the device requesting access is in compliance or not before authorizing access through the internal resource.
Prerequisites
Before you can perform the steps in this exercise, you must have the following components installed and configured:
- Workspace ONE UEM version 2011 and later
- macOS Mojave and later enrolled in Workspace ONE UEM
- The latest version of macOS Tunnel from Apple macOS App Store
- Deploy Workspace ONE Tunnel using volume purchased licenses from Apple Business Manager or Apple School Manager.
- Workspace ONE Administrators must upload the Location token from Apple Business Manager to sync licenses to Workspace ONE UEM for managed distribution. See Upload VPP sTokens to Retrieve Managed Distribution Licenses and Content.
Configuring Device Traffic Rules for macOS
First, because the Apple Mail, Calendar, and Contacts applications might contain both corporate and personal data, administrators must take an extra step to define corporate-owned domains, which should be marked for Per-App VPN. The Mail, Calendar, and Contacts apps do not automatically adhere to device traffic rules. Administrators must specify which domains are corporate-owned by enabling the Mail, Contacts, and Calendar domains parameters in the VPN profile payload. Enabling these parameters in the VPN payload allows VMware Tunnel edge service to apply the appropriate device traffic rules for those specific domains.
Second, Safari is another app that might be used for personal use on a corporate device. As such, Safari cannot be configured to tunnel all traffic. Device traffic rules for Safari must specify the domain and top-level domain component (for example, vmware.com
), although an asterisk (*) may be used to wildcard subdomains (for example, *.vmware.com
).
Note: Domain values used in this section are examples only. Your values will differ.
1. Access Configurations

In the Workspace ONE UEM Console:
- Click Groups & Settings.
- Click Configurations.
2. Select Tunnel Settings

- Scroll through the list of Configurations if necessary.
- Select Tunnel.
3. Edit Device Traffic Rule Sets

From within the Device Traffic Rules information block on the Tunnel Configuration page, click Edit.
4. Add or Modify Device Traffic Rule Set

Introduced in Workspace ONE UEM 2011, Device Traffic Rule Sets expand the functionality of device traffic rules allowing for granular assignment of rule sets to different groups of users and devices. Device Traffic Rule Sets are assigned when creating the per-app VPN profile in a later step.
To get started with Device Traffic Rule Sets, perform the following in the Manage Traffic Assignments screen:
- If no other Device Traffic Rule Sets exist (or a new rule set is required), click Add to create a new Device Traffic Rule Set.
- If modifications to an existing rule set are required, click the Device Traffic Rule Set name.
5. Set or Modify Device Traffic Rule Set Name

Enter a name for the Device Traffic Rule Set (or if necessary, modify the name of an existing rule set).
6. Manage Applications for Rule Builder

Click Manage Applications.
7. Add New Application for Device Traffic Rules

Click Add.
8. Define the Application

- Select macOS for Platform.
- Enter the friendly name of the application, for example,
Firefox Browser
. The friendly name is displayed in the Device Traffic Rule. - Enter the application's package id, which is the Identifier value displayed by running the command:
codesign -dv --entitlements - /path/to.app
- Enter the application's designated requirement, which is displayed to the right of the => sign of the following command:
codesign -d -r- /path/to.app
- For macOS 10.15 (Catalina) and later, enter a path if creating a device traffic rule for a binary or command-line utility bundled within an application. For example, the executable
vmware-remotemks
must be allowlisted with path details along with the VMware Horizon Client application. - Click Save.
Using Firefox as an example, a Workspace ONE administrator would see the commands and values as follows:
techzone@testmac ~ % codesign -dv --entitlements - /Applications/Firefox.app
Executable=/Applications/Firefox.app/Contents/MacOS/firefox
Identifier=org.mozilla.firefox
Format=app bundle with Mach-O thin (x86_64)
CodeDirectory v=20500 size=415 flags=0x10000(runtime) hashes=4+5 location=embedded
Signature size=9018
Timestamp=Oct 1, 2019 at 9:08:41 PM
Info.plist entries=26
TeamIdentifier=43AQ936H96
Runtime Version=10.11.0
<<< trimmed for length >>>
techzone@testmac ~ % codesign -d -r- /Applications/Firefox.app
Executable=/Applications/Firefox.app/Contents/MacOS/firefox
designated => anchor apple generic and certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists */ or anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = "43AQ936H96"
As highlighted in the terminal output, the necessary information is as follows:
- Package ID: org.mozilla.firefox
- Designated Requirement: anchor apple generic and certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists */ or anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = "43AQ936H96"
Caution: Some apps spawn helper applications to assist with background tasks. One particular example of this is Google Chrome, which performs network functions outside the Google Chrome.app
process in a Google Chrome Helper process. In this case, the helper application must be added to the Device Traffic Rule, otherwise, specific settings must be changed client-side.
In the case of Google Chrome, perform the following:
- In the URL field, type chrome://flags
- Search for network in the Search Flags text box.
- Set Runs network service in-process to Enabled and relaunch Google Chrome before proceeding with testing.
9. Add New Application for Device Traffic Rules

- If more applications are needed for the rule set, click Add and repeat starting at Define the Application.
- If all the required applications have been defined, click the [X] to close the Manage Applications window.
10. Add Device Traffic Rule

- Observe (and optionally modify) the default action which applies to all macOS applications except Safari:
- Tunnel – All apps, except Safari, on the device configured for Per-App Tunnel send network traffic through the tunnel. For example, set the Default Action to Tunnel to ensure all configured apps without a defined traffic rule use the Workspace ONE Tunnel for internal communications.
- Block – Blocks all apps except Safari, on the device configured for Per-App Tunnel from sending network traffic. For example, set the Default Action to Block to ensure that all configured apps without a defined traffic rule cannot send any network traffic regardless of destination.
- Bypass – All apps, except Safari, on the device configured for Per-App Tunnel bypass the tunnel and connect to the Internet directly. For example, set the Default Action to Bypass to ensure all configured apps without a defined traffic rule bypass the Workspace ONE Tunnel to access their destination directly.
- Proxy - Redirect traffic to the specified HTTPS proxy for the listed domains. The proxy must be HTTPS and must follow the correct format: https://example.com:port.
- Click Add Rule.
11. Build Device Traffic Rule

In the newly created Device Traffic Rule:
- Click the down arrow to display the Application list.
- Select one or more triggering applications to control with this rule. In case you select All Applications, the rule will be applied only to Safari and macOS applications selected in additional rules defined as part of the Device Traffic Rules.
- Enter one or more comma-separated fully qualified domain names as destinations to which Workspace ONE Tunnel should apply the Device Traffic Rule. A single asterisk (*) can be used as a wildcard for subdomains.
- Select the Appropriate Action for Workspace ONE Tunnel to perform on traffic from the selected apps:
- Tunnel – Sends app network traffic for specified domains through the tunnel to your internal network.
- Block – Blocks all traffic sent to specified domains.
- Bypass – Bypasses the Workspace ONE Tunnel so the application accesses specified domains directly.
- Proxy – Redirect traffic to the specified HTTPS proxy for the listed domains. The proxy must be HTTPS and must follow the correct format:
https://example.com:port
.
- If necessary, adjust the Device Traffic Rules rank in the list. Lower-numbered rank is the highest priority.
- If necessary, click Add Rule and repeat Build Device Traffic Rule until you have added all the necessary Device Traffic Rules for your organization.
- Click Save and Publish to send the updated DTR's to all devices to which the DTR is assigned.
For more information on the formats (wildcards, IP, ports) allowed into the Destination field, see the Device Traffic Rules Destination formats supported chapter.
Distributing Workspace ONE Tunnel for macOS
Workspace ONE Tunnel is a macOS application available for free on the Mac App Store. It is also available for managed distribution volume licensing through Apple Business Manager and Apple School Manager. Use device-based licensing to distribute Workspace ONE Tunnel to managed macOS devices. This section demonstrates how to purchase Workspace ONE Tunnel and assign it to devices.
Note: The VPN tunnel should already be configured as part of the Prerequisites.
1. Get Workspace ONE Tunnel Licenses

In Apple Business Manager (or Apple School Manager):
- Click Apps and Books.
- Search for workspace tunnel in the search text box.
- Select Tunnel - Workspace ONE for macOS.
- Choose the location for which you have uploaded the
sToken
into Workspace ONE UEM. - Enter the quantity of licenses you want to purchase.
- Click Get. The button changes to Purchasing and when the purchase is complete changes back to Get.
2. Sync Assets in Workspace ONE UEM

In the Workspace ONE UEM console:
- Click Resources.
- Expand Applications and click Native.
- Click Purchased.
- Click Sync Assets.
- Click OK on the dialog box.
- Wait a few moments and click Refresh to update the app list.
- Click the Workspace ONE Tunnel app in the app list.
3. Enable Device Assignment

- Click Enable Device Assignment and click OK for the
Are you sure?
prompt. - Click Save & Assign.
4. Add Assignment

Click Add Assignment.
5. Edit Assignment

- Enter a name for the Distribution
- Select an Assignment Group (or alternatively, create a new smart group containing the targeted devices).
- Enter a number of licenses to allocate. Allocate up to the total number of unallocated licenses.
- Select Auto for Assignment Type.
- Click Create.
6. Save Assignment

- If more assignments are necessary, click Add Assignment and repeat the steps in Edit Assignment.
- Click Save and then Publish when all assignments have been added.
Creating Per-App VPN Profile for macOS
Before device traffic rules take effect on macOS, Workspace ONE administrators must deploy a VPN profile payload that configures macOS to leverage Workspace ONE Tunnel. In this activity, you create the macOS profile which configures the tunnel client on the device to allow only designated applications to access content on internal servers.
1. Add Profile

- Click Add.
- Click Profile.
2. Select Platform

Select macOS.
3. Select Context

Select User Profile.
4. Complete General Profile Details
- Enter a name for the profile, for example,
Per-App VPN
. - Select Auto as the assignment type.
- Select one or more Smart Groups to assign the VPN profile (or create a new smart group).
- Click the VPN payload.
5. Configure Payload

Click Configure.
6. Edit Profile Payload Details

- Enter a name for the Per-App VPN Connection, for example,
VMware Per-App VPN
. - Select Workspace ONE Tunnel as the Connection Type.
- Choose the Device Traffic Rule Set (as configured in Configuring Device Traffic Rules for macOS) to be assigned via this Profile Payload.
- If required, select the check boxes for Enable Mail Domains, Enable Contacts Domains, and Enable Calendar Domains.
- For each check box, enter a domain that should be tunneled.
- If multiple domains are required, click Add to enter an additional domain. Repeat as necessary.
- Click Save and Publish.
7. Publish Profile

Click Publish.
Testing Per-App Tunnel on macOS
With the settings configured in the Workspace ONE UEM Console, administrators can test the Per-App Tunnel functionality on an enrolled device. The Workspace ONE Tunnel assigned in the previous exercises should install automatically during enrollment. As part of testing, the applications defined in the Device Traffic Rules should be deployed as described in Deploying Third-Party macOS Applications: VMware Workspace ONE Operational Tutorial.
As a reminder, the prerequisites for testing Per-App Tunnel on macOS include the following:
- Tunnel Edge Service configured on Unified Access Gateway
- Device Traffic Rules configured in Workspace ONE UEM
- Workspace ONE Tunnel and additional apps defined in Define Traffic Rules deployed to an enrolled device running macOS
- A valid endpoint that is not accessible to the apps on the device except via per-app Tunnel
Validate Per-App Tunnel based on Device Traffic Rules

- Open an app specified in a Device Traffic Rule and ensure the application attempts to connect to the mapped domain name(s).
- Open an app that is not specified in a Device Traffic Rule, such as Safari (which will not adhere to the default Device Traffic Rule due to the wildcard mapping). Ensure the same mapped domain name does not work.
In the section of this tutorial where device traffic rules were created for macOS, Firefox was the allowed application. In the screenshot, note that Firefox is launched and attempted connection to an approved (wildcard) destination (#1). Also, observe that Safari (which was not granted access to the tunnel) cannot connect to the endpoint.
Extending Tunnel Configuration for Kerberos SSO Extension in macOS
With macOS Catalina, Apple introduced a new single sign-on (SSO) extension framework and included a built-in Kerberos SSO extension. The Kerberos SSO extension syncs passwords between a user's account in Active Directory and the local macOS account. It also brings Kerberos SSO functionality directly into the OS via MDM-manageable payloads. This tutorial aims to help experienced Workspace ONE administrators to configure the Kerberos SSO extension for macOS Catalina, and enable off-network access for the extension through per-app tunneling.
IMPORTANT: This document is provided as a courtesy to aid anyone wishing to test the functionality. This document was created around the time macOS Catalina was released. Kerberos Ticketing worked as expected at that time, but the Kerberos SSO Extension had a known bug that prevented AD password sync and change over per-app tunnel. Since then, the Kerberos SSO Extension has continued to work for network-connected devices.
However, Kerberos SSO over per-app tunneling has been in varying states of functioning depending on major, minor, and development builds of the OS. We encourage customers interested in this functionality to test and file feedback with Apple (using Apple's Feedback Assistant) and also with VMware.
Software Prerequisites | Configuration Prerequisites |
---|---|
Before using this section of the tutorial, Workspace ONE administrators must ensure the following software version prerequisites are met:
Optionally, if configuring the SSO Extension to use Per-App Tunnel, administrators should meet these additional prerequisites:
|
Before using this section of the tutorial, Workspace ONE administrators must complete the following types of configurations within their environment:
|
1. Validate No Pre-Existing Kerberos Tickets

- Press CMD+SpaceBar (⌘+Space) and enter
terminal
into the Finder window. - Select Terminal to open
Terminal.app
. - Enter
klist
and press Return on the keyboard. - Ensure that there are no Kerberos Tickets and the command returns No credentials cache file found.
2. Validate Kerberos Application or Website Fails

- Launch an application which should be Kerberos-enabled. If using a website, browse to the Kerberos-enabled website.
- Note that authentication either fails (as there are no Kerberos tickets) or reverts to a non-Kerberos authentication type (such as certificate authentication or username/password).
3. Define the Kerberos Extension in Device Traffic Rules
To connect the SSO Kerberos Extension over Per-App Tunnel, you must add the appropriate device traffic rules to the Tunnel configuration to support this. This section covers how to add the appropriate device traffic rules.
3.1. Access Configurations

In the Workspace ONE UEM Console:
- Click Groups & Settings.
- Click Configurations.
3.2. Select Tunnel Settings

- Scroll through the list of Configurations if necessary.
- Select Tunnel.
3.3. Edit Device Traffic Rules

From within the Device Traffic Rules information block on the Tunnel Configuration page, click Edit.
3.4. Add or Modify Device Traffic Rule Set

Introduced in Workspace ONE UEM 2011, Device Traffic Rule Sets expand the functionality of device traffic rules allowing for granular assignment of rule sets to different groups of users and devices. Device Traffic Rule Sets are assigned when creating the per-app VPN profile in a later step.
To get started with Device Traffic Rule Sets, perform the following in the Manage Traffic Assignments screen:
- If no other Device Traffic Rule Sets exist (or a new rule set is required), click Add to create a new Device Traffic Rule Set
- If modifications to an existing rule set are required, click the Device Traffic Rule Set name.
3.5. Set or Modify Device Traffic Rule Set Name

Enter a name for the Device Traffic Rule Set (or if necessary, modify the name of an existing rule set).
3.6. Manage Applications for Rule Builder

Click Manage Applications.
3.7. Add New Application for Device Traffic Rules

Click Add.
3.8. Define the Application

- Select macOS for Platform.
- Enter the friendly name of the application, for example,
Kerberos SSO Extension
. - Enter the application's Package ID (
com.apple.AppSSOKerberos.KerberosExtension
), which is the Identifier value displayed by running the command:
codesign -dv --entitlements - /System/Library/PrivateFrameworks/AppSSOKerberos.framework/PlugIns/KerberosExtension.appex/Contents/MacOS/KerberosExtension
- Enter the application's Designated Requirement (
identifier "com.apple.AppSSOKerberos.KerberosExtension" and anchor apple
), which is displayed to the right of the => sign of the following command:
codesign -d -r - /System/Library/PrivateFrameworks/AppSSOKerberos.framework/PlugIns/KerberosExtension.appex/Contents/MacOS/KerberosExtension
- Enter the following Path:
/System/Library/PrivateFrameworks/AppSSOKerberos.framework/PlugIns/KerberosExtension.appex/Contents/MacOS/KerberosExtension
- Click Save.
3.9. Define Additional Applications (macOS Big Sur and later)
For macOS Big Sur and later, follow the same process defined in Add macOS Application to Rule Builder and Define the Application, configure these additional applications. These additional configurations allow the full functionality of the Kerberos SSO Extension with regards to Active Directory password sync and change.
AppSSOAgent:
- Platform:
macOS
- Friendly Name:
Kerberos SSO AppSSOAgent
- Package ID:
com.apple.AppSSOAgent
- Designated Requirement:
identifier "com.apple.AppSSOAgent" and anchor apple
- Path:
/System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSOAgent.app/Contents/MacOS/AppSSOAgent
KerberosMenuExtra:
- Platform:
macOS
- Friendly Name:
Kerberos SSO KerberosMenuExtra
- Package ID:
com.apple.KerberosMenuExtra
- Designated Requirement:
identifier "com.apple.KerberosMenuExtra" and anchor apple
- <No Path Required>
3.10. Add Device Traffic Rule

- Click Add Rule.
- Click the down arrow in the Application column of the new device traffic rule.
- Select the three Kerberos SSO Extension apps you defined in the previous steps:
com.apple.AppSSOKerberos.KerberosExtension
com.apple.AppSSOAgent
com.apple.KerberosMenuExtra
- Select Tunnel as the action.
- Configure destination domain names (include wildcards if needed) that match your domain controllers.
- Click Save and Publish.
4. Configure Kerberos Profile Payload
Next, create the Kerberos profile and configure the SSO extension payload.
4.1. Add Profile

- Click Add.
- Click Profile.
4.2. Select Platform

Select macOS.
4.3. Select Context

Select User Profile.
Note: The SSO Extension payload is available in both the User and Device context as of Workspace ONE UEM 2011 and later. The choice to use User Profile versus Device Profile will primarily be driven by the certificate used in the payload. In most cases, the certificate/credential should be used from the login keychain, and the Workspace ONE UEM administrator should use a User profile. Otherwise, choose Device Profile to use a certificate/credential from the system keychain.
4.4. Complete General Profile Details

- Enter a name for the profile, for example,
Kerberos SSO Extension
. - Select Auto as the Assignment Type.
- Select one or more Smart Groups to assign the SSO Extension profile (or create a new smart group).
4.5. Configure SSO Extension Payload

- Search for the SSO payload.
- Click SSO Extension.
- Click Configure.
4.6. Modify and Save SSO Extension Payload

- Select Kerberos for Extension Type.
- Enter the Active Directory Realm (in capital letters) where the user logs in. For example,
AAPP.BETAVMWEUC.COM
. - Enter the Active Directory hosts and domains that can be authenticated through the extension. For example,
aapp.betavmweuc.com
. - Select whether the extension should use active directory and DNS to discover its AD site.
- Select whether the extension should save passwords to the keychain.
- Select whether the user should be required to use biometrics or a password to use the keychain.
- Select the Certificate Credential that should be used for authenticating in the SSO Extension.
- Enter a list of application Bundle IDs allowed to use the Kerberos Ticket Granting Ticket. If more than one app is allowed, click Add to add additional bundle IDs.
- Select whether to allow users to initiate directory password changes from the extension.
- Select whether to keep the local macOS user account password synchronized with the Active Directory account password.
- Select whether passwords must meet Active Directory's definition of complex.
- Optionally, scroll down to configure additional parameters with regards to password settings.
- Click Save and Publish.
4.7. Publish SSO Extension Profile

Click Publish.
5. Validate Kerberos Tickets
Finally, log in to Kerberos and confirm that the Kerberos credentials are obtained over Per-App VPN by the Kerberos SSO Extension.
5.1. Log In to Kerberos Extension

- Click the extension (key icon) in the menu bar.
- Click Sign In.
- Enter a user's username and password.
- Click Sign In.
5.2. Accept Automatic Sign-In

Click Yes.
5.3. Re-run Klist Command

- In
Terminal.app
, enterklist
and press return. - Observe the Kerberos Credential obtained over Per-App VPN by the built-in macOS Catalina Kerberos SSO Extension.
5.4. Validate Kerberos-enabled Application or Website

- Launch an application which is Kerberos-enabled. If using a website, browse to the Kerberos-enabled website.
- Note the application or website is authenticated without any intervention from the user (no certificate chooser or username/password prompt).
Note: Some applications may require additional configuration to enable Kerberos Authentication. Google Chrome and Firefox also require additional configuration to enable Kerberos Authentication.
For Firefox:
- Open Firefox and enter about:config in the address bar.
- Search for negotiate and then double-click network.negotiate-auth.trust-uris.
- Enter a comma-separated list of domain names that should be enabled for Kerberos Authentication and click Ok.
- Open a new tab and re-try the Kerberos-enabled website.
For Google Chrome:
- Create a Custom Settings payload in a User Profile for the device, targeting com.google.Chrome as the PayloadType.
- Include the following keys in your settings:
<key>AuthServerWhitelist</key>
<string>*.domain.name</string>
<key>AuthNegotiateDelegateWhitelist</key>
<string>*.domain.name</string>
Caution: Some apps spawn helper applications to assist with background tasks. In these cases, the helper apps may be making DNS calls or performing other network tasks requiring the Per-App Tunnel but may not be part of a device traffic rule. One particular example of this is Google Chrome, which performs network functions outside the Google Chrome.app
process. In this case, the helper application must be added to the device traffic rule, otherwise, specific settings are required to be changed client-side within the application.
As an example, to validate Kerberos-enabled websites in Google Chrome using Per-App Tunnel, perform the following:
- In the URL field, enter chrome://flags
- Search for
network
in the Search flags text box. - Set Runs network service in-process to Enabled and relaunch Google Chrome before proceeding with testing.
This small change allows Google Chrome to leverage the Per-App Tunnel for connectivity required to query DNS and obtain Kerberos tickets. At the time of writing, the ForceNetworkInProcess key was not available in Chrome for macOS and must be enabled by the individual user.
Troubleshooting Workspace ONE Tunnel on macOS
If a Per-App Tunnel problem occurs on macOS, there are a number of places to troubleshoot. This section of the tutorial covers where to troubleshoot on macOS at a high level. Depending on the problem, there might be steps that should be performed on the Unified Access Gateway. However, troubleshooting the Unified Access Gateway is outside the scope of this tutorial. Workspace ONE UEM administrators should contact VMware Support for assistance when troubleshooting Per-App Tunnel, Workspace ONE Tunnel, or the Unified Access Gateway.
This section covers a high-level set of initial troubleshooting steps.
1. Open Workspace ONE Tunnel

- Click the Launchpad on the Dock.
- Click VMware Tunnel.
2. Ensure Tunnel is Configured

- Ensure that the Device Configured status shows
Configured
. This indicates that Workspace ONE Tunnel has received configuration data from Workspace ONE UEM. If the status is not configured, try one of the following:- Check the Device Traffic Rules and Save and Publish the rules again.
- Check the last seen value for the device in the Workspace ONE UEM console. Is the device communicating with Workspace ONE UEM?
- Validate that other MDM commands are being sent to the device. Create an assignment (smart) group containing the single device and attempt to send it a new profile payload.
- Ensure that the Internet status shows
Connected
. If Tunnel cannot connect to the Internet, it probably cannot connect to the Unified Access Gateway.- Validate that the device has a working Ethernet or Wi-Fi connection (IP address, subnet mask, gateway, and DNS addresses are present).
- Validate DNS resolution: Open Terminal and enter
nslookup uag.fully.qualified.domain
to ensure that an IP address is resolved. - Validate Connectivity to UAG: Within Terminal, enter
nc -vz uag.fully.qualified.domain uagport
(such asnc -vz uag.company.com 443
).
- Ensure that the Enterprise Network status shows
Connected
. If Workspace ONE Tunnel is disconnected from the Enterprise network, apps cannot use Per-App Tunnel. This might indicate an issue with Workspace ONE Tunnel connecting to the Unified Access Gateway or an issue with Device Traffic Rules.- The remainder of this section details how to troubleshoot Tunnel connectivity.
3. Validate Per-App VPN Profile

- Click System Preferences.
- Double-click Profiles.
- Scroll through the left panel.
- Click the Per-App VPN profile that was created.
- Ensure that the VPN App Layer Service details are correct, especially the VPN Remote Address and the OnDemand Enabled value.
- If the profile is missing or misconfigured, check the profile configuration and re-push the profile to the device from within the UEM Console Device Details view (on the Profiles tab).
4. Validate Advanced Tunnel Information

- Open the Workspace ONE Tunnel client and click the VMware Tunnel menu.
- Click Whitelisted Applications.
- Verify that the list of allowlisted applications matches the settings configured in the Device Traffic Rules.
- From the VMware Tunnel menu (#1), click Diagnostics.
- Click Enable Debug to get verbose information.
- Review Diagnostics information.
- Click Disable Debug when troubleshooting is complete.
6. General VPN Network Extension Troubleshooting
Per Apple's Developer Website (requires login), you can use the following commands to gather additional data from the VPN (Network Extension):
sudo defaults write /Library/Preferences/com.apple.networkextension.control.plist LogToFile -boolean true
sudo defaults write /Library/Preferences/com.apple.networkextension.control.plist LogLevel -int 7
Reproduce the issue and then enter this command in Terminal.app:
/System/Library/Frameworks/SystemConfiguration.framework/Resources/get-mobility-info
You should find additional information in the resulting get-mobility-info output file.
You can later deactivate the logging by issuing the following commands:
sudo defaults delete /Library/Preferences/com.apple.networkextension.control.plist LogToFile
sudo defaults delete /Library/Preferences/com.apple.networkextension.control.plist LogLevel
Deploying Workspace ONE Tunnel for Windows Desktop
Introduction
Per-App Tunneling helps users to access critical information using applications on their devices from their devices. Mobile flows help users perform business-critical tasks from a single app — streamlining the user experience.
Leveraging Per-App Tunnel allows you to control which applications are on a device and what internal resources the applications have access to by automatically activating or deactivating Per-App VPN access, based on which applications are active. By enabling remote access, you no longer need to provide a device-wide VPN on your devices, which can allow unintended or unauthorized apps or processes to access your VPN. In this tutorial, you configure and deploy VMware Workspace ONE Tunnel to enable the Per-App Tunnel component on managed devices.
These exercises involve the following components:
- Workspace ONE Tunnel – The app used on the device to securely connect to the Unified Access Gateway to provide Per-App Tunnel functionality, also referred to as Tunnel Client.
- Unified Access Gateway – The virtual appliance where the VMware Tunnel edge service is installed, and to which the tunnel client connects.
- Per-App Tunnel – Component of VMware Tunnel edge service for connecting to a secure tunnel channel on a per-application basis, which is controlled and configured by the VPN profile payload and Device Traffic Rules.
- Per-App VPN Profile and Device Traffic Rules – The Workspace ONE UEM configuration is pushed to the device that contains the Per-App Tunnel configurations. Every time a specified application is opened, the Workspace ONE Tunnel client evaluates the Device Traffic Rules assigned to it before making any routing decisions and establishes a Per-App tunnel connection with the Unified Access Gateway based on the Per-App VPN Profile configuration.
High-Level Architecture

The device contains the applications required by the end-user to perform their daily job. Some applications require access to internal resources to function. Those applications, based on Per-App VPN configuration, use Workspace ONE Tunnel which communicates with the Tunnel Service on Unified Access Gateway hosted on the DMZ, to validate if the device requesting access is in compliance or not before authorizing access through the internal resource.
Prerequisites
Before you can perform the steps in this exercise, you must have the following components installed and configured:
- Workspace ONE UEM 2203+
- Windows 10 1704+ or Windows 11+ enrolled in Workspace ONE UEM
- This tutorial was created using Windows 10, but the basic principles and tasks outlined also apply to your deployment of Windows 11
- Latest version of the Workspace ONE Tunnel Desktop Application
- Download the installer file: Workspace ONE Tunnel
- For more information, see Supported Platforms for VMware Workspace ONE Tunnel
- VPN tunnel must be configured before you can add it as an application
Note: See VMware Workspace ONE Tunnel for Windows Release Notes for updates to the client.
Configuring Device Traffic Rules for Windows
This activity outlines how to configure device traffic rules for Windows. Before you start this section, read the Device Traffic Rules chapter for a better understanding of how device traffic rules are managed by Workspace ONE Tunnel.
For this example, the user must access internal websites, internal network file shares, and a remote desktop session. To allow secure access, you configure Workspace ONE Tunnel to allow only the applications required.
In this activity, you configure the following:
- Internal web browser access - defining Chrome as the application
- Internal network file shares - allowing system access
- Remote Desktop Session Connection - defining Microsoft Remote Desktop client as the application
Note: Domain values used in this section are examples only. Your values will differ.
1. Access Configurations

In the Workspace ONE UEM Console:
- Click Groups & Settings.
- Click Configurations.
2. Select Tunnel Settings

- Scroll through the list of Configurations if necessary.
- Select Tunnel.
3. Edit Device Traffic Rules

From within the Device Traffic Rules information block on the Tunnel Configuration page, click Edit.
4. Add or Modify Device Traffic Rule Set

Introduced in Workspace ONE UEM 2011, Device Traffic Rule Sets expand the functionality of device traffic rules allowing for granular assignment of rule sets to different groups of users and devices. Device Traffic Rule Sets are assigned when creating the per-app VPN profile in a later step.
To get started with Device Traffic Rule Sets, perform the following in the Manage Traffic Assignments screen:
- If no other Device Traffic Rule Sets exist (or a new rule set is required), click Add to create a new Device Traffic Rule Set
- If modifications to an existing rule set are required, click the Device Traffic Rule Set name.
5. Set or Modify Device Traffic Rule Name and Tunnel Mode

- Enter a name for the Device Traffic Rule Set (or if necessary, modify the name of an existing rule set).
- Set the Tunnel Mode to Per Application.
This first tutorial on Windows shows you how to configure device traffic rules based on Per-Application Tunnel Mode. After completing the Windows tutorial return and switch the Tunnel Mode for this rule to Full Device. The Application fields will be removed and you will be required to specify only the actions and destination domains.
6. Manage Applications for Rule Builder

Click Manage Applications.
7. Add New Application for Device Traffic Rules

Click Add.
8. Define the Application
- Select Windows as the Platform.
- Enter the friendly name of the application. The friendly name is displayed in the Device Traffic Rule.
- Select the App Type, for example, Desktop App. The App Type can be a traditional Windows application or a Windows Store application.
- Enter the App Identifier. For traditional Windows applications, use the File Path. For Store applications, you must enter the Package Family Name or PFN. You can use the PowerShell command
Get-AppxPackage
to find the PFN. For more information, see Microsoft Docs: Find a package family name (PFN) for per-app VPN.
8.1. Add Chrome Web Browser Access
In this example, the Chrome application is defined under the Program Files (x86) path. The App Identifier value should contain the full path where the EXE file is located on the Windows machine.
The screenshot shows that the App Identifier used for Chrome is C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
After you have entered the application details, click Save.
8.2. Steps for adding the Remote Desktop (RDP) client

Next, add the Remote Desktop client. This allows end users to connect to Remote Desktop Hosts located behind the corporate firewall.
As the Remote Desktop Client is built into the Windows Operating system, the file path of the executable is different.
For example, in this screenshot, the App Identifier used for the RDP client is C:\Windows\System32\mstsc.exe
After you have entered the application details, click Save.
8.3. Add SMB for Network Drive and Printer Support

Next, add support for tunneling SMB traffic from the system to allow users to map network shares and network printers. This allows end users to connect to file shares and printers that are located behind the corporate firewall.
As the SMB protocol is built into the Windows Operating system, the App Identifier is not an executable, instead, you define System
as the App Identifier.
After you have entered the application details, click Save.
9. Add More Applications to Device Traffic Rules (If Required)

- If more applications are needed for the ruleset, click Add and repeat starting at Define the Application.
- If all the required applications have been defined, click X to close the Manage Applications window.
10. Add Device Traffic Rule

- Observe (and optionally modify) the default action which applies to all Windows applications.
- Tunnel – All apps on the device configured for Per-App Tunnel send network traffic through the tunnel. For example, set the Default Action to Tunnel to ensure all configured apps without a defined traffic rule use the Workspace ONE Tunnel for internal communications.
- Block – Blocks all apps on the device configured for Per-App Tunnel from sending network traffic. For example, set the Default Action to Block to ensure that all configured apps without a defined traffic rule cannot send any network traffic regardless of destination.
- Bypass – All apps on the device configured for Per-App Tunnel bypass the tunnel and connect to the Internet directly. For example, set the Default Action to Bypass to ensure all configured apps without a defined traffic rule bypass the Workspace ONE Tunnel to access their destination directly.
- Click Add Device Traffic Rule.
11. Build Device Traffic Rule

In the newly created Device Traffic Rule:
- Click the down arrow to display the Application list.
- Select one or more triggering applications to control with this rule. All Applications not applicable to Windows.
- Select the Appropriate Action for Workspace ONE Tunnel to perform on traffic from the selected apps - For this exercise, select Tunnel.
- Tunnel – Sends app network traffic for specified domains through the tunnel to your internal network.
- Block – Blocks all traffic sent to specified domains.
- Bypass – Bypasses the Workspace ONE Tunnel so the application accesses specified domains directly.
- Proxy – Redirect traffic to the specified HTTPS proxy for the listed domains. The proxy must be HTTPS and must follow the correct format:
https://example.com:port
. - Note: Proxy is not yet supported using the Workspace ONE Tunnel Desktop Application.
- Enter one or more comma-separated fully qualified domain names as destinations to which Workspace ONE Tunnel should apply the Device Traffic Rule. A single asterisk (*) can be used as a wild card for subdomains.
- If necessary, adjust the Device Traffic Rules rank in the list. Lower-numbered rank is the highest priority.
- If necessary, click Add Rule and repeat Build Device Traffic Rule until you have added all the necessary Device Traffic Rules for your organization.
- Click Save.
For more information on the formats (wildcards, IP, ports) allowed into the Destination field, see the Device Traffic Rules Destination formats supported chapter.
Note: For Windows Desktop devices, if Enhanced Domain Resolution is not enabled on the Per-App VPN profile, the domains added to the destination must also be added to the list of domains part of the DNS Resolution via Tunnel Gateway.
12. Review Configurations

Review the summary of the Device Traffic Rule configurations:
- The Application list contains triggering applications Chrome, Remote Desktop, and System.
- The applications appear in the following format: Application Friendly Name - UEM Organization Group - Platform
- Google Chrome - ACME Corp - WinRT
- RDP - ACME Corp - WinRT
- System - ACME Corp - WinRT
- The applications appear in the following format: Application Friendly Name - UEM Organization Group - Platform
- The Appropriate Action for Workspace ONE Tunnel to perform is Tunnel.
- Tunnel – Sends app network traffic for specified domains through the tunnel to your internal network
- Destination - For this example, the domains are
*.corp.local
and*.airwlab.com
- Optional - You can also configure Device Traffic Rules to Block.
- In this example, Chrome is set to block domains
*.cnn.com
,*.facebook.com
, and*.match.com
.
- In this example, Chrome is set to block domains
Distributing Workspace ONE Tunnel for Windows
In this activity, you deploy the Workspace ONE Tunnel Desktop Application on Windows 10 devices.
Note: The Per-App VPN profile should already be configured as part of the Prerequisites.
1. Download the Workspace ONE Tunnel Desktop Installer

To download the Workspace ONE Tunnel for Windows 10 EXE Installer file:
- Navigate to https://my.workspaceone.com/ and log in with your MyVMware credentials.
- Navigate to Products.
- Click All Products.
Tip: You can also navigate directly to https://my.workspaceone.com/products.
1.1. Select Workspace ONE Tunnel

- Scroll down to the bottom of the page.
- Select Workspace ONE Tunnel.
1.2. Select Platform and Version

- Select Windows as the platform.
- Select the Latest version for the Workspace ONE Tunnel Desktop Application.
- Filter by console version.
- Select Install and Upgrades tab for a link to the download.
After you have Accepted the Terms of Use, the download should begin immediately.
Tip: It is helpful to have all Installation files pre-downloaded on your local machine, ready to upload into Workspace ONE UEM.
To improve user experience, have the application icons and screenshots of the application ready for the Application catalog.
2. Upload Tunnel Application into Workspace ONE UEM

In the Workspace ONE UEM Console:
- Click Apps and Books.
- Select Internal Application.
- Click Add Application and Upload.
- Browse for the Workspace ONE Tunnel EXE installer file and click Save.
- Select No for Is this a dependency app?.
- Click Continue.
3. Configure the Details Tab
- Ensure the Details tab is selected.
- Enter a Name, for example,
Workspace ONE Tunnel
.
4. Configure the Files Tab
- Navigate to the Files tab.
- Scroll down to find the App Uninstall Process section. For VMware Tunnel, enter in
VMware Workspace ONE Tunnel 1.2 for Win10_Desktop.exe /uninstall /Passive
as the Uninstall Command.
5. Configure the Deployment Options Tab
In this section, define settings in the Deployment Options tab.
5.1. Define When to Install
- Select the Deployment Options tab.
- Locate the When to Install section.
- Configure any minimum requirements for the following:
- Data Contingencies - Use where criteria type needs to check for existing/non-existing Applications, Files or Registry Keys.
- Disk Space Required - Which specifies the amount of disk space the device must have available to install the application.
- Device Power Required - Which specifies the battery power, in percentage, that the device must have to install the application.
- RAM Required - Which specifies the amount of RAM the device must have to install the application.
5.2. Find the Install Command Options
Some application installers may contain help options. Find help options by running the application file and adding /help
or /?
to the end of the file.
The following steps demonstrate how to run these commands.

- Find the installer file.
- Hold SHIFT + Right-click the installer file.
- Hold Select Copy As Path.

- Open Command Prompt.
- Paste in the installer file location, adding
/help
or/?
to the end. - This should show a dialog box to show supported installation commands.

The results of running the command are shown in the screenshot. This example shows the supported Workspace ONE Tunnel Desktop Application Install parameters.
5.3. Define How to Install
- Under Deployment Options Tab.
- Scroll down to find the How To Install section.
- For the Install Command, enter
VMware Workspace ONE Tunnel 1.2 for Win10_Desktop.exe /Install /Passive
. - Ensure Admin Privileges is set to Yes.
- Change Device Restart if required. This example uses User Engaged Restart. This allows the user to reboot the machine to complete the install when the user is ready.
- For Installer Reboot Exit Code, the supported values are
3010
and1641
. - For Installer Success Exit Code, the supported values are
0
and3010
.
Error code | Value | Description |
---|---|---|
ERROR_SUCCESS | 0 | The action completed successfully |
ERROR_SUCCESS_REBOOT_INITIATED | 1641 | The installer has initiated a restart. This message is indicative of a success. |
ERROR_SUCCESS_REBOOT_REQUIRED | 3010 | A restart is required to complete the install. This message is indicative of a success. This does not include installs where the ForceReboot action is run. |
For more information on Installer codes, see Microsoft Docs: MsiExec.exe and InstMsi.exe Error Messages.
6. Add the Application Icon
You can download the icon to use in your environment.


- Select the Images tab.
- Select the Icon tab.
- Click the area labeled Click or drag files here.
- Navigate to the folder containing the Application logo, or download the provided image to use.
Your icon should now be uploaded.
7. Set Terms of Use

- Select the Terms of Use tab.
- If you decide to have a Terms of Use that your users must accept before installing applications, you can configure that here. For this exercise, select None.
- Click Save & Assign.
8. Add Assignment

- Select Assignments.
- Click Add Assignment.
9. Configure Assignment
In this section, create and configure the application assignment.
9.1. Create Application Assignment

- Select Add Assignment
9.2. Configure Application Distribution Settings

- Give the application assignment a name.
- Select the Select Assignment Groups search box and select an assignment group, for example, (Acme Corp).
- Select On-Demand for the App Delivery Method.
- Select Show for Display in App Catalog.
- Navigate to the Restrictions Tab.
9.3. Application Restriction Settings

- Enable for Make App MDM Managed if User Installed.
- Select Save then click Save and Publish.
Confirm the Application Appears in the List View

On the Internal applications List View, confirm that the Workspace ONE Tunnel Desktop Application is displayed.
You have successfully added the Workspace ONE Tunnel Desktop Application to Workspace ONE UEM for deployment.
Creating Per-App VPN Profile for Windows Desktop
On Windows Desktop, VMware Tunnel can force selected applications to connect through your corporate VPN.
In this activity, you configure the Windows Desktop profile which configures the tunnel client on the device to allow only designated applications to access content on internal servers.
Log in to the Workspace ONE UEM Console to perform the next steps.
1. Add a New Profile

- Click Add.
- Click Profile.
3. Select Device Type

Select Windows Desktop.
4. Select Context

Select Device Profile.
5. Configure the General Properties of the Profile

- Select the General tab.
- Enter a Name, for example,
Per App VPN
. - Select Assignment type. This example uses Auto, so devices automatically receive the policy.
- Assign the policy to a Smart Group(s).
6. Add a VPN Payload

- Click VPN from the Payload menu.
- Click Configure to access the VPN payload settings.
7. Configure the VPN Payload
- Enter a Connection Name for the policy, for example,
Corp VPN
. - Select Workspace ONE Tunnel from the Connection Type drop-down menu.
- Choose the Device Traffic Rule Set (as configured in Configuring Device Traffic Rules for Windows 10) to be assigned via this Profile Payload.
- Select Enable for Desktop Client - This enables the Workspace ONE Tunnel Desktop Application, otherwise it will use the Windows UWP client, no longer recommended.
- Configure Custom Configuration XML as needed. Refer to Custom Configuration XML for Windows Desktop Client for additional details on the list of Custom Configuration parameters available.
- Select Enable for the Enhanced Domain Resolution located under DNS Resolution via Tunnel Gateway.
- Click Save & Publish.
8. Publish the VPN Profile

Click Publish.
Custom Configuration XML for Windows Desktop
Custom Configuration allows the administrator to determine the behavior of the Tunnel Client on the device, from initialization process, UI elements and network behaviour.
As example, the following XML configuration allows the end user to turn on/off (ToggleTunnelFeature) the Tunnel from the tray icon, and change the Tunnel connection (OnDemand) from an on-demand basis to always connected.
<?xml version="1.0" encoding="utf-16"?>
<CustomConfiguration>
<ToggleTunnelFeature>true</ToggleTunnelFeature>
<OnDemand>false</OnDemand>
</CustomConfiguration>
The result of this XML configuration reflects on the UI of the Tunnel Windows Client showing a option to enable/disable the Tunnel Client, and for the OnDemand connection it determine the Tunnel internal behaviour as always be connected.

Several other parameters that can be customized to change the Tunnel behavior, the following table list the custom configuration parameters supported and their respective Tunnel Mode. For additional information visit the Configure Tunnel Profile for Windows Desktop Client on the VMWare Tunnel documentation.
Custom Configuration XML tag syntax | Description | Tunnel Mode |
---|---|---|
Format <ServerCertSN>
For Wildcard Certificate <ServerCertSN> For SAN Certificates mention the complete Subject Alternate Name <ServerCertSN> |
Required when using Third-Party SSL certificate for the Tunnel Server Certificate. This applies only to SAN Certificate and Wildcard certificate. To retrieve the subject CN name: 1. Open the certificate on a Windows machine. 2. Select the Details tab. 3.The Subject row contains the CN of the cert. |
Per-App and Full Device |
<DnsSearchDomain> |
List of DNS search domains in comma-separated values |
Per-App and Full Device |
<TrustedNetworkProbeUrl> |
List of probe URLs used by the Desktop client to consider if it is connected to a trusted network based on the reachability. Supported schemes: http:// & https:// or IP Addresses http://10.0.0.1 |
Per-App and Full Device |
<ExcludeFQDN> |
Comma separated list of hostnames whose resolution should not be tunneled |
Per-App |
<ToggleTunnelFeature> |
Default is false
When set to true, users will be given an option to Enable and Disable tunnel client service OnDemand from the system tray icon. The Tunnel Client Service will be up when the user deactivates from the tray icon, but the Tunnel client will not intercept any traffic. When the user enables the Tunnel Client from the tray icon the tunnel client will be ready to intercept the traffic and tunnel the requests. |
Per-App and Full Device |
<OnDemand> |
Default is true. When set to true, Tunnel Client will connect when required based on incoming requests from the apps, like user trying to browser. If there is not traffic for 5 minutes, Tunnel Client will disconnect automatically. When set to false, Tunnel Client will be always connected. |
Per-App and Full Device |
<StartTunnelPreLogon>true/false </StartTunnelPreLogon> |
Default is false
Use this attribute to enable the Tunnel service to start before you login. This paameter is useful for specific domain authentication scenarios, such as dropship provision where Tunnel needs to start before the user logon. |
Per-App and Full Device |
<PreferExternalDNS>true/false</PreferExternalDNS> | Use this attribute to prefer external DNS response over internal DNS response when DNS response is received from both. | Per-App and Full Device
NOTE: Use the PreferInternalDNS or PreferExternalDNS XML code in the Configuration XML. If both the XML codes are used in the Configuration XML, then the PreferInternalDNS XML code takes precedence. |
<PreferInternalDNS>true/false</PreferInternalDNS> | Use this attribute to prefer internal DNS response over external DNS response when DNS response is received from both. |
Testing Per-App Tunnel on Windows
Now that the enrolled device has received the settings configured in the Workspace ONE UEM Console, you are ready to begin testing the Per-App VPN functionality. The Workspace ONE Tunnel Desktop Application should be installed on your device.
In this activity, you learn how to:
- Launch an internal website with an authorized application.
- Launch an internal website with an unauthorized application.
- Launch a defined application and demonstrate Blocked domains.
- Launch an RDP session and connect to the machine on the internal network.
- Connect to an SMB share to access file shares inside the corporate network.
1. Launch Internal Website with an Authorized Application

- Launch Chrome as a browser. Chrome was the application specified to Tunnel traffic.
- The Workspace ONE Tunnel Desktop Application is connected and an internal web page is displayed.
- The address used –
atl-intranet-corp.airwlab.com
– is specified in the Device Traffic Rules in the previous exercise.
This web page is accessible only to applications (in this use case, Chrome) defined in the policy.
2. Launch Internal Website with an Un-authorized Application

Next, open another web browser, such as Microsoft Edge, and navigate to an internal web page. For example, atl-intranet-corp.airwlab.com
.
- Launch Chrome - this is the authorized application.
- Launch another browser - for example, Microsoft Edge.
- The Workspace ONE Tunnel Desktop Application is connected and an internal web page is displayed.
- The address
atl-intranet-corp.airwlab.com
can be resolved in Chrome, but not in Microsoft Edge.
3. Launch a Defined Application to Demonstrate Blocked Domains

- In the Application access rules, certain websites are blocked. These were listed in the Device Traffic Rules.
- Websites blocked are
cnn.com
,facebook.com
, andmatch.com
.
- Websites blocked are
- Open Chrome and navigate to one of these websites. This example uses
facebook.com
.- When trying to resolve the DNS name, the browser displays an error as this website is blocked.
- Launch another browser, in this case, Microsoft Edge. Facebook.com is accessible, as the policy is configured for Chrome only.
4. Test RDP Connections

Sometimes, you may need to RDP into desktop sessions that are located back in the office.
- In the Application access rules, confirm the domain configuration for Remote Desktop Client access.
Note: The RDP application is not from the Windows Store. - Launch the RDP application and enter the machine name. In this example, you connect to the machine atl-intranet-corp on the domain airwlab.com.
- Workspace ONE Tunnel Desktop Application resolves this address, and you should be prompted for authentication.
6. Review Summary
In this section, you have successfully:
- Launched an internal website with an authorized application to confirm it works.
- Launched an internal website with an unauthorized application to confirm Tunnel access.
- Launched a defined application and confirmed blocked domains.
- Launched an RDP session and connected to a machine on the internal network.
- Connected to an SMB share to access file shares inside the corporate network.
Troubleshooting Workspace ONE Tunnel on Windows
If a Per-App Tunnel problem occurs on Windows Desktop, you can check a number of places to troubleshoot. This section of the operational tutorial covers where to troubleshoot on Windows Desktop at a high level. Depending on the problem, there may be steps that should be performed on the Unified Access Gateway. However, troubleshooting the Unified Access Gateway is outside the scope of this tutorial. Workspace ONE UEM administrators should contact VMware Support for assistance when troubleshooting Per-App Tunnel, Workspace ONE Tunnel, or the Unified Access Gateway.
This section is divided into two and covers the following high-level set of initial troubleshooting steps.
- Workspace ONE Tunnel Desktop Application Installation Troubleshooting.
- Checking Workspace ONE UEM console for application install status.
- Locating Workspace ONE Tunnel desktop application installer logs.
- Checking device registry for Workspace ONE Tunnel desktop application install status.
- Checking Workspace ONE UEM console for Policy install status.
- Checking device registry for Per-App VPN Profile.
- Workspace ONE Tunnel Desktop Application Connectivity Troubleshooting.
- Confirming the Workspace ONE Tunnel status when Tunnel is connected.
- Confirming the Workspace ONE Tunnel status when Profile is not installed.
- Confirming Application Access and Tunnel Service.
- Checking the Workspace ONE Tunnel certificate.
- Enabling Workspace ONE Tunnel debug logging.
- Locating Workspace ONE Tunnel logs.
- Confirming Workspace ONE Tunnel DNS Resolution.
1. Troubleshoot Workspace ONE Tunnel Installation
In this section, check issues that may arise from the Workspace ONE Tunnel desktop client application installation.
1.1. Check Workspace ONE UEM Console for Application Install Status

- In the Workspace ONE UEM console, navigate to the Details View of that device.
- Select the Apps tab.
- Confirm that the App Status for the Tunnel Installer is Installed.
- Confirm that the App Status for Workspace ONE Tunnel shows the correct version. In this example, Workspace ONE Tunnel 1.2.0.18 is installed.
1.2. Locate Workspace ONE Tunnel Desktop Application Installer logs

By default, the Workspace ONE Tunnel Desktop Application Installer logs are found in %TEMP%.
Two logs should exist:
- Workspace_ONE_Tunnel_<date>.log
- This is the Bootstrapper log which usually does not yield very important errors unless any dependency programs fail on install, for example, .NET.
- Workspace_ONE_Tunnel_<date>_000_VMwareTunnelClientInstaller.log
- This is the Tunnel Installer log which shows any failures during the Workspace ONE Tunnel desktop application installation.
1.3. Check Device Registry for Workspace ONE Tunnel Install Status

Check the location of the registry installation settings for the Workspace ONE Tunnel desktop application. These values should match the values in the Workspace ONE UEM console.
On the computer that should have the Workspace ONE Tunnel desktop application installed, open the Windows Registry or run regedit.msc
.
- Click Computer.
- Click HKEY_LOCAL_MACHINE.
- Click SOFTWARE.
- Click AirWatchMDM.
- Click AppDeploymentAgent.
- Click S-1-5-18.
- Click the GUID of the application. For example, {3A7FE2DB-8AE4-4DBA-A9D3-042C88F53A50}.
- Click the Registry key to show IsInstalled.
Tip: The Application GUID should match the value in the Workspace ONE UEM Console.
1.4. Confirm Application ID in the Workspace ONE UEM Console

- In the Workspace ONE UEM console, navigate to Apps and Books and select the Workspace ONE Tunnel Application.
- In the App Details View, the Application ID (GUID) should match the registry value in the previous screenshot.
For more information on troubleshooting Windows Applications, see Troubleshooting Windows Devices: Workspace ONE Operational Tutorial.
1.5. Check Workspace ONE UEM Console for Policy Install Status

After you have confirmed that the application is installed, make sure the policy is installed on the device.
- In the Workspace ONE UEM console, navigate to the Details View of that device.
- Select the Profiles tab.
- Confirm that the Status of the Per App VPN Profile is successful.
1.6. Check Device Registry for Per-App VPN Profile

On the computer that should have the Tunnel policy installed, open the Windows Registry or run regedit.msc
. Then navigate to Computer\HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.\VMware Tunnel
.
- Click Computer.
- Click HKEY_LOCAL_MACHINE.
- Click SOFTWARE.
- Click VMware, Inc.
- Click VMware Tunnel.
- Click TunnelConfiguration.
- This displays the Tunnel Policy applied to that machine.
Tip: If no policy is shown in the registry, re-push the policy from the Workspace ONE UEM console and perform a Device Query on that device from the Workspace ONE UEM console.
2. Troubleshoot Workspace ONE Tunnel Client Connectivity
After you have successfully installed the Workspace ONE Tunnel, the next step is to test the Per-App Tunnel connectivity by attempting to access one of the internal resources through the domains defined on the Device Traffic Rules.
2.1. Confirm the Workspace ONE Tunnel Status When Tunnel is Connected

When the Tunnel Client has reached a successful connection, the tunnel client UI displays Connected
as per the screenshot.
2.2. Confirm Workspace ONE Tunnel Status When Profile is Not Installed

If the Workspace ONE Tunnel Client has installed, but the configuration settings have not, the Tunnel client status is Not Configured
.
Tip: To resolve, ensure the Per-App VPN profile is assigned to the device, and ensure it is successfully installed.
2.3. Confirm Application Access and Tunnel Service

Problem: The Workspace ONE Tunnel Client status is Disconnected
.
Solution: Confirm that the Application is defined in Application Access and that the application is running.
Problem: The Workspace ONE Tunnel Client status is Disconnected
.
Solution: Confirm that the VMware Workspace ONE Tunnel Service is running in Windows Services. If the service is not started, start the service.

- On the Windows machine, open Services and locate the VMware Workspace ONE Tunnel Service.
- Ensure that the Startup type is set to Automatic.
- Ensure that the Service is running.
2.4. Check the Workspace ONE Tunnel Desktop Application Certificate

Authentication for the Tunnel Client can be configured to use Enterprise Certificates or internally-signed certificates. If no certificate is present, the Tunnel UI status displays Not Configured - Authentication Certificates are not present
.
If there is no certificate present, you may want to re-push the policy again to the device. By re-pushing the policy, the Tunnel certificate should be installed.
To check the certificates:
- On the Windows machine, search MMC, and open the Certificates snap in.
- Navigate to Local Computer > Personal > Certificates.
- Confirm that the certificate for certificate authentication to the Tunnel service is listed.

Retrieve the device UDID from the Workspace ONE UEM console.
Navigate to Devices > List View > Summary and confirm that the device UDID matches the Certificate request as shown in the previous screenshot.
2.5. Enable Workspace ONE Tunnel Debug Logging

- On the Windows machine, navigate to the system tray. You should see the Tunnel icon.
- Right-click the Tunnel client.
- Select Enable debug logging.
Debug logging levels are from 0-4 - Enabling debug logging will set the log level to 4.

You can also check the Workspace ONE Tunnel log level in the device registry.
On the computer that should have the Tunnel installed, open the Windows Registry or run regedit.msc
.
- Navigate to Computer\HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.\VMware Tunnel.
- Under the LogLevel entry, you should see a value from 0-4. In this example, the value is 0.
You cannot change the value in the registry. You must follow the steps to Enable Workspace ONE Tunnel Debug Logging.
2.6. Locate Workspace ONE Tunnel Logs

By default, the Workspace ONE Tunnel Client Installer logs are located in C:\ProgramData\VMware\VMware Tunnel
.
Two logs should exist:
- win_tunnel – This log file shows connectivity issues with the Workspace ONE Tunnel desktop application.
- win_tunnelui – This log file shows User Interface changes within the Workspace ONE Tunnel desktop application.

This screenshot depicts a sample log file for the win_tunnel log.

This screenshot depicts a sample log file for the win_tunnelui log.
2.7. Confirm Workspace ONE Tunnel Desktop Application DNS Resolution

After you have confirmed Tunnel connectivity, check the DNS resolution.
Sometimes, the Workspace ONE Tunnel Client may be in good working order. For example, the profile is installed, the application is installed, the service is running, and the status is Connected
. But the DNS resolution is still failing. In this case, general networking troubleshooting can assist greatly.
You can check the Name Resolution Policy Table (NRPT).
On the Windows machine, open PowerShell and enter Get-DnsClientNrptRule
. This command retrieves the Name Resolution Policy Table (NRPT) for the device.
For more information, see Microsoft PowerShell Docs - Get-DnsClientNrptRule.
Deploying Workspace ONE Tunnel for Android
Introduction
Per-App Tunneling helps users to access critical information using applications on their devices from their devices. Mobile flows help users perform business-critical tasks from a single app — streamlining the user experience.
Leveraging Per-App Tunnel allows you to control which applications are on a device and what internal resources the applications have access to by automatically activating or deactivating Per-App VPN access, based on which applications are active. By enabling remote access, you no longer need to provide a device-wide VPN on your devices, which can allow unintended or unauthorized apps or processes to access your VPN. In this tutorial, you configure and deploy VMware Workspace ONE Tunnel to enable the Per-App Tunnel component on managed devices.
These exercises involve the following components:
- Workspace ONE Tunnel – The app used on the device to securely connect to the Unified Access Gateway to provide Per-App Tunnel functionality, also referred to as Tunnel Client.
- Unified Access Gateway – The virtual appliance where the VMware Tunnel edge service is installed, and to which the tunnel client connects.
- Per-App Tunnel – Component of VMware Tunnel edge service for connecting to a secure tunnel channel on a per-application basis, which is controlled and configured by the VPN profile payload and Device Traffic Rules.
- Per-App VPN Profile and Device Traffic Rules – The Workspace ONE UEM configuration is pushed to the device that contains the Per-App Tunnel configurations. Every time a specified application is opened, the Workspace ONE Tunnel client evaluates the Device Traffic Rules assigned to it before making any routing decisions and establishes a Per-App tunnel connection with the Unified Access Gateway based on the Per-App VPN Profile configuration.
High-Level Architecture

The device contains the applications required by the end-user to perform their daily job. Some applications require access to internal resources to function. Those applications, based on Per-App VPN configuration, use Workspace ONE Tunnel which communicates with the Tunnel Service on Unified Access Gateway hosted on the DMZ, to validate if the device requesting access is in compliance or not before authorizing access through the internal resource.
Prerequisites
Before you can perform the steps in this exercise, you must have the following components installed and configured:
- Workspace ONE UEM version 1909 and later
- Android 8.0+ enrolled in Workspace ONE UEM
- The latest version of Workspace ONE Tunnel app from Google Play Store
- Deploy Workspace ONE Tunnel using Android Enterprise.
Configuring Device Traffic Rules for Android
In this activity, you configure Device Traffic Rules for Android.
Note: Domain values used in this section are examples only. Your values will differ.
1. Access Configurations

In the Workspace ONE UEM Console:
- Click Groups & Settings.
- Click Configurations.
2. Select Tunnel Settings

- Scroll through the list of Configurations if necessary.
- Select Tunnel.
3. Edit Device Traffic Rules

From within the Device Traffic Rules information block on the Tunnel Configuration page, click Edit.
4. Add Device Assignment Device Traffic Rule

Administrators can create multiple Device Traffic Rules that will be assigned to the Per-App VPN profile. This profile is deployed to devices based on the smart group assigned to the profile. The first device traffic rule assignment created is set as the default.
Click Add to create a new assignment or clicking on the hyperlink for the Assignment Name to edit and manage the respective device traffic rules.
5. Add Device Traffic Rule
- Observe (and optionally modify) the default action which applies to all Android applications:
- Tunnel – All apps on the device configured for Per-App Tunnel send network traffic through the tunnel. For example, set the Default Action to Tunnel to ensure all configured apps without a defined traffic rule use the Workspace ONE Tunnel for internal communications.
- Block – Blocks all apps on the device configured for Per-App Tunnel from sending network traffic. For example, set the Default Action to Block to ensure that all configured apps without a defined traffic rule cannot send any network traffic regardless of destination.
- Bypass – All apps on the device configured for Per-App Tunnel bypass the tunnel and connect to the Internet directly. For example, set the Default Action to Bypass to ensure all configured apps without a defined traffic rule bypass the Workspace ONE Tunnel to access their destination directly.
- Click Add Device Traffic Rule.
6. Build Device Traffic Rule
In the newly created Device Traffic Rule:
- Click ADD RULE.
- Click the down arrow to display the Application list.
- Select one or more triggering applications to control with this rule. Alternatively, on the drop-down select All Applications to apply the rule to all Android applications listed in the drop-down, which are the ones that you assigned the Per-App VPN profile.
- Enter one or more comma-separated fully qualified domain names as destinations to which Workspace ONE Tunnel should apply the Device Traffic Rule. A single asterisk (*) can be used as a wildcard for subdomains.
- Select the Appropriate Action for Workspace ONE Tunnel to perform on traffic from the selected apps:
- Tunnel – Sends app network traffic for specified domains through the tunnel to your internal network.
- Block – Blocks all traffic sent to specified domains.
- Bypass – Bypasses the Workspace ONE Tunnel so the application accesses specified domains directly.
- Proxy – Redirect traffic to the specified HTTPS proxy for the listed domains. The proxy must be HTTPS and must follow the correct format:
https://example.com:port
.
- If necessary, adjust the Device Traffic Rules rank in the list. Lower-numbered rank is the highest priority.
- Click Save.
The example shown blocks access to Facebook, Tinder, and Utorrent domains for all applications available on the Android device.
For more information on the formats (wildcards, IP, ports) allowed into the Destination field, see the Device Traffic Rules Destination formats supported chapter.
7. Add Additional Rules and Publish
- Click ADD RULE and repeat Build Device Traffic Rule for any additional required rules.
- Drag the rules to adjust your Device Traffic Rules priority.
- When the Device Traffic Rules are configured as necessary, click Save and Publish.
The example shown defines a traffic rule that will enable access to the internal server atl-intranet-corp.airwlab.com
through the Workspace ONE Web app.
Distributing Workspace ONE Tunnel for Android
In this activity, you deploy an application configured to use the Per-App VPN tunnel on Android.
1. Add Workspace ONE Tunnel as a Public App

- Click Add.
- Click Public Application.
2. Search for Workspace ONE Tunnel

- Select Android for the Platform.
- Enter an application Name. For example,
Workspace ONE Tunnel
. - Click Next.
4. Approve Workspace ONE Tunnel
Click Approve for Tunnel - Workspace ONE app.
Select Approve for any following requests.
5. Save and Assign Workspace ONE Tunnel

Click Save & Assign.
6. Add Assignment for Workspace ONE Tunnel

Click Add Assignment.
7. Configure Workspace ONE Tunnel Assignment Settings
- Click the Selected Assignment Groups field to display the list of created Assignment Groups. Enter
All Devices
, and select the All Devices (your@email.shown.here) group. - Select Auto for the App Delivery Method.
8. Configure Policies for Workspace ONE Tunnel

- Scroll down to find the Policies section.
- Select Enabled for Managed Access.
- Click Add.
9. Confirm Assignment and Save

- Verify that the assignment you created is displayed.
- Click Save & Publish.
10. Preview Assigned Devices and Publish

Click Publish.
Android Considerations
Note the following for Workspace ONE Tunnel on Android:
- After installing VMware Workspace ONE Tunnel for Android, end users must run the application at least once and accept the connection request.
- The key icon in the notification center displays on the device because there is an application installed that uses the Per-App Tunnel functionality. This icon does not indicate an active connection or session with the VMware Tunnel Service. The key icon displays even if you are not actively browsing.
- Certain Android devices allow end users to disable the VPN on an OS level. This prevents the VMware Tunnel from working on the device.
Creating Per-App VPN Profile for Android
Per-App VPN profile allows you to force selected applications to connect through your corporate VPN. Your VPN provider must support this feature, and you must publish the applications as managed applications.
In this activity, you create the Android profile which configures the Workspace ONE Tunnel client on the device to allow only designated applications to access content on internal servers.
1. Add a New Profile

- Click Add.
- Click Profile.
2. Select the OS for the Profile

Select Android.
3. Configure the General Properties of the Profile

- Enter the Name, for example,
Per-App VPN
. - Select the name of your device's assignment group, and select that group. For example, select All MDM Enrolled Devices (ACME Corp) as the Assigned Smart Group.
4. Add a VPN Payload

- Click VPN from the Payload menu.
- Click Configure to access the VPN payload settings.
5. Configure the VPN Payload
- Select Workspace ONE Tunnel from the Connection Type drop-down menu.
- Select the Default traffic rule previously created for Device Traffic Rule Sets.
- Click Save & Publish.
6. Publish the VPN Profile

Click Publish.
Configuring Workspace ONE Web for Per-App Tunnel
Workspace ONE Web is part of the secure productivity app suite from VMware. Administrators can deploy Workspace ONE Web when data loss and copy/paste restrictions are critical to the business use case.
In this activity, you distribute and configure Workspace ONE Web for Per-App Tunnel on Android.
1. Adding Application

- Select on App & Books.
- Select Native under Applications.
- Click Add Applicaton.
1.1. Searching for Workspace ONE Web on Google Play Store

- Select Android.
- Add Workspace ONE Web on Name.
- Click Next.
1.2. Select Workspace ONE Web

Select Workspace ONE Web App, and approve.
1.3. Save & Assign the App

Click Save & Assign.
1.4. Add Assignments

Click Add Assignment.
1.5. Assign Per-App VPN profile to Workspace ONE Web

- Select All Devices on Assignment Groups.
- Select Auto for App Delivery Method.
- Enable Managed Access.
- Enable App Tunneling
- On Android select the Per-App VPN Profile that you previous create.
- Click Add.
1.6. Save and Publish the Assignment

Click Save and Publish.
Testing Per-App Tunnel on Android
Now that the enrolled device has received the settings configured in the Workspace ONE UEM Console, you are ready to begin testing the Per-App Tunnel functionality. The applications assigned in the previous exercises should push down during enrollment. The VMware Tunnel and Workspace ONE Web applications should be installed on your device.
In this activity, launch Workspace ONE Web and access the internal website. Then verify that, although the VPN connection is active, other applications on the device are not able to access the tunnel or internal resources.
1. Open Workspace ONE Tunnel

Press the Home button on your device to return to the Launchpad. Swipe right to see the downloaded applications, if needed.
Tap the Workspace ONE Tunnel icon to launch the application. If prompted, select OK to allow Workspace ONE Web to send your device push notifications.
Note: On Android, the Workspace ONE Tunnel Client must be launched once to silently route traffic for future occurrences.

After the application has been opened, accept the privacy prompts and tap Continue.
2. Accept the Privacy Prompt

Tap I understand to accept the Privacy prompt.
3. Agree to the Data Sharing Prompt

Tap I agree to accept the Data Sharing Prompt.
4. Confirm Tunnel Connectivity

After the Tunnel Client has been opened, you can see three areas.
- Device VPN Configuration
- The Profile or Policy that is delivered from Workspace ONE UEM. It shows a list of apps that will use the VPN Tunnel.
- Internet
- Displays whether the device has internet connectivity or not.
- Enterprise Server
- Displays whether the device has connectivity to the VMware Tunnel edge service.
5. Launch Workspace ONE Web

Press the Home button on your device to return to the Launchpad. Swipe right to see the downloaded applications, if needed.
Tap the Workspace ONE Web icon to launch the application. If prompted, tap OK to allow the Web to send your device push notifications.
6. Access the Internal Website with Workspace ONE Web

- After the application launches, enter the URL for your intranet website, such as
https://atl-intranet-corp.airwlab.com
. - Confirm that the VPN icon appears, indicating the connection is active. The application now connects to Workspace ONE UEM and retrieves the settings for your Organization Group.
- The website should load. In this example, it displays a Welcome message.
- Select and copy the internal URL. In the next step, you test entering this URL into another browser.
7. Paste the URL In to Another Browser

- Open another browser, such as Chrome.
- Copy and paste the URL from the previous step.
- Confirm that only the defined applications can access internal resources.
Note: This example used a Work Managed Device. Work Managed devices provide separation from personal and corporate data. With Per-App Tunnel, you can isolate traffic to only those applications that need it rather than all corporate resources. This example shows Chrome inside the Work Profile attempting to access internal resources.
Troubleshooting Workspace ONE Tunnel on Android
If a Per-App Tunnel problem occurs on Android, you can check a number of places to troubleshoot. This section of the operational tutorial covers where to troubleshoot the Workspace ONE Tunnel client for Android at a high level.
Depending on the problem, there may be steps that should be performed on the Unified Access Gateway. However, troubleshooting the Unified Access Gateway is outside the scope of this tutorial.
Workspace ONE UEM administrators should contact VMware Support for assistance when troubleshooting Per-App VPN, Workspace ONE Tunnel, or the Unified Access Gateway.
This section is divided into three parts and guides you through high-level steps to troubleshoot the Workspace ONE Tunnel installation and connectivity.
- Troubleshooting Device Connectivity
- This section displays where to search for Tunnel Client connectivity issues.
- Collecting logs automatically
- This step is useful for recreating issues and retrieving the Workspace ONE Tunnel Client log file.
- Advanced: Collecting logs manually on an Android Device
- This step is for advanced cases where you may need to see how the devices VPN stack is behaving. This step should be used only for test devices; it is not recommended to leave Developer Options turned on.
1. Troubleshoot Device Connectivity

Open the Tunnel Application and tap the Diagnostics menu option.

- Any issues related to connectivity issues with the Tunnel server or a Proxy server are shown on the UI.
- Tap the email option in the upper-right corner to send these logs to your administrator.
2. Collect Logs Automatically

Open the Tunnel Application and tap the Diagnostics menu option.

- Toggle the Enable debug logs switch to enable.
- After the issue is reproduced, go to your internal storage and open the AirWatchLogs folder.
- This folder contains a set of log files that, if required, can be shared with the Workspace ONE support teams.
3. Advanced: Collect Logs Manually on an Android Device
- To collect logs manually, you must enable developer options on the mobile device.
- Navigate to Settings > About page on the device and tap the build number more than 7 times to enable developer options.
- Enable USB debugging in the Settings > Developer Options.
- Connect the device via USB cable to a laptop and install the device drivers.
- Check whether the device is getting detected in the laptop by running
adb devices
in the command prompt. The device should be listed with a Unique id. - adb is a tool part of the
android-sdk
which you must download fromhttp://developer.android.com
.
- Check whether the device is getting detected in the laptop by running
- After the device is detected (keep the device connected) run
adb logcat –v threadtime > TunnelLogs.log
. Logs will continuously dump to the file. - After the issue is reproduced, logging can be stopped either by disconnecting the device or using Ctrl + c command.
- If required, share the
TunnelLogs.log
with the Workspace ONE support teams.
Summary and Additional Resources
Conclusion
This operational tutorial provided steps to leverage native Per-App Tunnel capabilities across mobile platforms, Android and iOS, and desktop platforms, macOS and Windows.
By publishing Per-App VPN profiles to your devices, you can ensure that only authorized apps are accessing authorized applications through the Tunnel. This eliminates the user requirement to manually start and end a network connection like traditional VPN solutions based on the apps they are accessing.
It also provides an extra layer of security to your corporate resources by ensuring that non-authorized apps are unable to connect to your VPN, creating the beginnings of a Zero Trust model for application access.
Additional Resources
For more information about Workspace ONE, explore the VMware Workspace ONE Activity Path. The activity path provides step-by-step guidance to help you level-up in your Workspace ONE knowledge. You will find everything from beginner to advanced curated assets in the form of articles, videos, and labs.
Additionally, you can check out the VMware Workspace ONE and VMware Horizon Reference Architecture which provides a framework and guidance for architecting an integrated digital workspace using VMware Workspace ONE and VMware Horizon.
Change Log
The following updates were made to this guide.
Date | Description of Changes |
---|---|
2023-03-28 |
|
2022-12-05 |
|
2021-07-09 |
|
2021-06-30 |
|
2020-11-13 |
|
2020-03-26 |
|
About the Authors
This tutorial was written by:
- Andreano Lanusse, End-User-Computing Staff Architect, Technical Marketing, VMware.
- Darren Weatherly, End-User-Computing Senior Architect, Technical Marketing, VMware.
- Robert Terakedis, VMware alumni.
Feedback
The purpose of this tutorial is to assist you. Your feedback is valuable. To comment on this tutorial, contact VMware End-User-Computing Technical Marketing at euc_tech_content_feedback@vmware.com.