Nutanix Frame and Zscaler Private Access (ZPA)
Nutanix Frame™ Desktop as a Service (DaaS) solution supports multiple networking models. One of the more popular networking models for enterprises is the Frame Private networking model. This model allows the Frame workload VMs to have private IP addresses on the enterprise private network and access private networking resources and it is the simplest way to inherit existing network security processes.
![](https://cdn.prod.website-files.com/653fe79c68bb383bddf27e59/66166ff6fa4f87b1808e6c23_Group%20352-min.webp)
WRITTEN BY
TABLE OF CONTENT
However, remote users still need a way to connect to these private networks. The traditional way of implementing this access is to deploy a VPN, but that requires implementing and maintaining software on the user endpoint devices and VPN connections can overload security products like firewalls.
Frame offers a Streaming Gateway Appliance (SGA) to meet this need, but some enterprises may wish to take advantage of the “security as a service” model offered by Zscaler, Inc. Zscaler offers a “DMZ as a service” solution that can provide DMZ type functionality without the complication involved in many DMZ deployments. The Zscaler® service maintains many certifications required by government agencies and it meets the rigorous standards required by the most security conscious organizations.
In this blog you will learn how Zscaler Private Access (ZPA) and Frame DaaS can work together to provide a remote access solution to a private cloud with a simplified administrative model while maintaining a high level of security.
Architecture
Below is an example of a Frame Private networking architecture deployed with a Streaming Gateway Appliance (SGA).
![Figure 1. Frame with SGA Architecture](https://cdn.prod.website-files.com/653fe79c68bb383bddf27e84/6644cf0d09de497e6cfe45f3_img-zscaler-ref-1-2f00494b3b6b80dcba59cec176d4b96e.png)
In this Architecture, all the workload subnets only use private IP addressing. The Frame DAAS platform orchestrates the workloads via calls to the Cloud Provider's public API endpoint and communicates with the workloads via an internally initiated connection through an outbound only NAT GW (the green lines on the diagram). The end user authenticates with Frame (the blue line) and then is presented with the desktops and applications to which they have access. When they click on an icon a session is started and the user is redirected to the workload via the SGA appliance, which proxies the session into the appropriate workload (the red lines). In many enterprises, the SGA and the NAT GW sit in a Demilitarized Zone (DMZ) that has a high level of security and monitoring capabilities due to the need to connect directly to the internet.
The Zscaler architecture is similar, but does not require the enterprise to deploy a DMZ for the SGA. Instead, the inbound public connectivity is managed by Zscaler and the private network does not need to allow any inbound connectivity, which simplifies the security model. The Frame platform will still need to connect to the Cloud Providers API, but those endpoints are already public and managed by the cloud provider and some sort of outbound NAT GW will be needed to allow the workloads to talk to the frame platform.
![Figure 2. Frame with Zscaler Architecture](https://cdn.prod.website-files.com/653fe79c68bb383bddf27e84/6644cf0d43c91a29450abcb7_img-zscaler-ref-2-2e91b21cd1f4c163a816d27068e14f91.png)
Setup Frame Private Networking
For the Frame portion of this architecture, you will need to set up a Frame account with Private networking. This setup will use your existing cloud service to set up a private network for Frame workloads. The Zscaler AppConnector appliance will also need to be deployed in a VPC or subnet that has access (at least over TCP port 443) to the private subnets where the workloads will be deployed.
Zscaler Private Access setup
The high level steps for setting Zscaler Private Access (ZPA) to work with Frame are:
Define the Frame Application Segment
![Figure 3. Define the application segment](https://cdn.prod.website-files.com/653fe79c68bb383bddf27e84/6644cf0d67fee966be945e9d_img-zscaler-ref-3-48f6cffe6654217c9b74df79275e6282.png)
*.portal.sharkdemo.com is the application segment defined in this example – any requests matching this wildcard domain will be associated with the Nutanix Frame application and serviced by ZPA.
Browser Access mode is selected for this application segment and the X.509 Certificate wild-portal.sharkdemo.com was created and associated with this App Segment.
![Figure 4. Associate the certificate](https://cdn.prod.website-files.com/653fe79c68bb383bddf27e84/6644cf0d67fee966be945e99_img-zscaler-ref-4-da95a2b561f7dc1998363578b0565958.png)
Browser Access mode allows a client to use a generic web browser to access this Frame application without the need to install the Zscaler Client Connector on the endpoint. This means that a public DNS CNAME must be created to map *.portal.sharkdemo.com to the Zscaler Private Access cloud.
![Figure 5. Wildcard CNAME record](https://cdn.prod.website-files.com/653fe79c68bb383bddf27e84/6644cf0e840da8dd79c8a5b7_img-zscaler-ref-5-58e72b00cba2323f19cacd2f42ae83a8.png)
Next, we associate the server group (for load distribution and health monitoring) and application segment group (for policy) with this Application Segment. An AppConnector was previously created (outside the scope of this document) and associated with this server group.
![Figure 6. Server Group/Application Segment Group Association](https://cdn.prod.website-files.com/653fe79c68bb383bddf27e84/6644cf0d355f6ad2517c44a4_img-zscaler-ref-6-6a417e812be4c49ce0825e08414624b1.png)
Access Policy
An access policy was created to allow access to the Frame application. In this case, an allow policy was created that granted access to the Application Segment group (ZScalerDemo_AWS_VPC_Services) that the Frame application segment is associated with.
![Figure 7. Access Policy](https://cdn.prod.website-files.com/653fe79c68bb383bddf27e84/6644cf0d43c91a29450abcc6_img-zscaler-ref-7-6ade34044875407dc427f1a4f6794def.png)
Now, if a user opens a web browser and types in the URL .portal.sharkdemo.com it will resolve to the "exporter" component of the ZPA cloud service:
![Figure 8. Verify DNS](https://cdn.prod.website-files.com/653fe79c68bb383bddf27e84/6644cf0d2d09b53d079608f8_1bdaa46f.png)
User Portal
For ease of use, a user portal was created which will have a direct link to the Frame DaaS application. A user portal allows the actual Frame link to be private and allows for other associated applications to be made available to the user community.
![Figure 9. Define User Portal](https://cdn.prod.website-files.com/653fe79c68bb383bddf27e84/6644cf0d67fee966be945e99_img-zscaler-ref-4-da95a2b561f7dc1998363578b0565958.png)
The details of the Frame instance on the user portal is shown below...
![Figure 10. Frame instance details](https://cdn.prod.website-files.com/653fe79c68bb383bddf27e84/6644cf0d8fc247720364a1f4_img-zscaler-ref-10-3700cd103896d3cf8b77ed6d4841de85.png)
Additional configuration needed to support the Frame service from Browser Access Mode. (Will need to be configured by Zscaler Support)
POST: /zpn/api/v1/admin/configOverrides
Request Body:
{
"configKey": "config.feature.samesite_none",
"configValue": "enabled",
"configValueInt": 1,
"customerId": ***,
"targetGid": ***,
"targetType": "customer"
}
POST: /zpn/api/v1/admin/configOverrides
Request Body:
{
“configKey”: “config.feature.cors_enabled”,
“configValue”: “enabled”,
“configValueInt”: 1,
“customerId”: ,
“targetGid”: ,
“targetType”: “customer”
}
Private DNS
To make sure the connections get routed properly, the Zscaler AppConnector will need to be able to resolve the DNS names that Frame uses to the appropriate workload IP. To do this, create a host file on the AppConnector Virtual Appliance that has an entry for all possible private IP addresses that points to the workload VMs (e.g., 10-0-100-50.portal.sharkdemo.com needs a local host entry pointed to 10.0.100.50).
Finalize Frame Configuration
Now you will need to contact the Frame support team and indicate that you need to change your Frame account to support a "Custom base domain name". You will provide the Frame account name and the DNS domain you are using on your ZPA (in this example *.portal.sharkdemo.com). The Frame support team will be able to update your Frame account to use that domain. When your users launch a virtualized application or desktop, Frame will direct the users to the workloads using the custom domain.
End User Experience
To access their virtualized applications and/or desktops, the end user starts by connecting to the Zscaler portal https://portal.sharkdemo.com where they will need to logon with their Zscaler username.
![Figure 11. Portal Login](https://cdn.prod.website-files.com/653fe79c68bb383bddf27e84/6644cf0d7335bfacc58f008d_img-zscaler-ref-11-3375c9d9693c662a275d478fb33a09e4.png)
The user will be redirected the third-party identity provider configured within Zscaler.
![Figure 12. Identity provider login](https://cdn.prod.website-files.com/653fe79c68bb383bddf27e84/6644cf0e60e4c98466a040a0_img-zscaler-ref-12-7d62364fbe467a111a94325542c00ff1.png)
Once authenticated, you'll be redirected to the ZPA User Portal
![Figure 13. ZPA User Portal](https://cdn.prod.website-files.com/653fe79c68bb383bddf27e84/6644cf0d847c14342d157b4e_img-zscaler-ref-13-5348039f98d171829372de492845018e.png)
Select the Nutanix Frame application - Windows Desktop ABC
This will direct the user to the Nutanix Frame Launchpad. Nutanix Frame will redirect the user to the third-party identity provider configured for user authentication.
![Figure 14. Connect to Frame Launchpad](https://cdn.prod.website-files.com/653fe79c68bb383bddf27e84/6644cf0d507a926690a2fbd8_img-zscaler-ref-14-4ef96c488086dec49d37a46b47240ddf.png)
Once the user has authenticated to the identity provider and returned back to Frame, Frame will verify the user has authorization to access the desktop.
The user waits as the DaaS instance spins up on the backend (could take a minute).
![Figure 15. Loading Desktop](https://cdn.prod.website-files.com/653fe79c68bb383bddf27e84/6644cf0def2d8b8edbaee357_img-zscaler-ref-15-90bac806867b75e1cbf1675636fafdf0.png)
The user's Desktop as a Service instance will appear...
![Figure 16. Frame Session](https://cdn.prod.website-files.com/653fe79c68bb383bddf27e84/6644cf0d0b5e9c5be79165f7_img-zscaler-ref-16-30ca2b1461ce975ca63ce25edde4ba54.png)
Conclusion
Combining Zscaler's "security as a service" products with Frame DaaS allows enterprises to leverage leading "as a service" products to deliver a secure, performant, desktop experience to any user with a browser. By using a Zscaler AppConnector service, it does not require that the customer setup and maintain a DMZ or a Streaming Gateway Appliance, easing the overall administrative experience. Zscaler also provides additional protection of important corporate data resources by ensuring that the corporate data never leaves the private network except through approved security processes.
Subscribe to our newsletter
Register for our newsletter now to unlock the full potential of Dizzion's Resource Library. Don't miss out on the latest industry insights – sign up today!
![](https://cdn.prod.website-files.com/653fe79c68bb383bddf27e59/6618fa27a818a760b7a3bd84_%5Basset%5D%20Newsletter-min.webp)
Dizzion values your privacy. By clicking on the submit button, you agree to the processing of your personal data in the manner indicated in the Dizzion Privacy Policy and consent to receive communications from Dizzion about our products, services, and events.