Jump to content
Welcome to our new Citrix community!

PoC Guide: Configuring Non-Domain Joined Desktops in Citrix DaaS with Google IdP

  • Contributed By: Steve Beals Special Thanks To: Arnaud Pain

Overview

Google Cloud Identity is an Identity as a Service (IDaaS) solution that centrally manages users and groups. Google Cloud Identity can be configured to federate identities between Google and other identity providers, such as Active Directory and Azure Active Directory. However, many organizations need to support non-domain joined solutions (not managed through Active Directory), and with Citrix DaaS support for Google Cloud Identity authentication, this is achievable.

The following guide will provide the requirements, and step-by-step instructions to create and configure a Windows and Linux non-domain joined virtual machines, machine catalog, and delivery group using Citrix DaaS.

Requirements and Prerequisites

  • A current Citrix DaaS subscription.
  • Single session Windows 10/11 and supported Linux virtual machines.
  • Citrix VDA 2203 or later.
  • Rendezvous v2 must be enabled.
  • Cloud Connectors: Only required if you plan to provision machines on on-premises hypervisors.
  • Google Cloud Platform developer account.

Note

Service continuity is not supported for non-domain joined VDAs.

Connect Google as an Identity provider to Citrix Cloud

It is assumed that you already use Google Cloud and have users created in it.

Create a service account

To complete this task, you need a Google Cloud Platform developer account.

  1. Sign in to Google Cloud Console.
  2. From the Dashboard sidebar, select IAM & Admin and then choose Service Accounts.

    poc-guides_citrix-daas-google-chrome-identity_service1.png

    poc-guides_citrix-daas-google-chrome-identity_service2.png

    poc-guides_citrix-daas-google-chrome-identity_service3.png

  3. Select Create service account.

    poc-guides_citrix-daas-google-chrome-identity_service4.png

  4. Under Service account details, enter the service account name and service account ID.

    poc-guides_citrix-daas-google-chrome-identity_service5.png

  5. Select Done.

Create a service account key

  1. On the Service Accounts page, select the service account you created.
  2. Select the Keys tab, then select Add key > Create new key.

    poc-guides_citrix-daas-google-chrome-identity_key1.png

  3. Leave the default JSON key type option selected.
  4. Select Create. Save the key to a secure location that you can access later. You enter the private key in the Citrix Cloud console when you connect Google as an identity provider.

    poc-guides_citrix-daas-google-chrome-identity_key2.png

Configure domain-wide delegation

  1. Enable the Admin SDK API:
  2. Select APIs & Services > Enabled APIs & services from the Google Cloud Platform menu.

    poc-guides_citrix-daas-google-chrome-identity_delegation1.png

  3. Select Enable APIs and services near the top of the console. The API Library home page appears.

    poc-guides_citrix-daas-google-chrome-identity_delegation2.png

  4. Search for Admin SDK API and select it from the results list.

    poc-guides_citrix-daas-google-chrome-identity_delegation3.png

  5. Select Enable.

    poc-guides_citrix-daas-google-chrome-identity_delegation4.png

  6. Create an API client for the service account:
  7. Select IAM & Admin > Service Accounts from the Google Cloud Platform menu, and then select the service account you created earlier.

    poc-guides_citrix-daas-google-chrome-identity_delegation5.png

  8. From the service account's Details tab, expand Advanced settings.

    poc-guides_citrix-daas-google-chrome-identity_delegation6.png

  9. Under Domain-wide Delegation, copy the Client ID and select View Google Workspace Admin Console.

    poc-guides_citrix-daas-google-chrome-identity_delegation7.png

  10. If applicable, select the Google Workspace administrator account you want to use. The Google Admin console appears.
  11. Select Security > Access and data control > API controls from the Google Admin sidebar.

    poc-guides_citrix-daas-google-chrome-identity_delegation8.png

  12. Under Domain wide delegation, click Manage Domain Wide Delegation.

    poc-guides_citrix-daas-google-chrome-identity_delegation9.png

  13. Select Add new.

    poc-guides_citrix-daas-google-chrome-identity_delegation10.png

  14. In Client ID, paste the client ID for the service account you copied in Step C.

    poc-guides_citrix-daas-google-chrome-identity_delegation11.png

  15. In OAuth scopes, enter the following scopes in a single comma-delimited line: https://www.googleapis.com/auth/admin.directory.user.readonly,https://www.googleapis.com/auth/admin.directory.group.readonly,https://www.googleapis.com/auth/admin.directory.domain.readonly
  16. Select Authorize.

Add a read-only API user account

You create a Google Workspace user account with read-only API access for Citrix Cloud in this task. This account is not used for any other purpose and has no other privileges.

  1. From the Google Admin menu, select Directory > Users.

    poc-guides_citrix-daas-google-chrome-identity_gapi1.png

  2. Select Add new user and enter the appropriate user information.

    poc-guides_citrix-daas-google-chrome-identity_gapi2.png

  3. Select Add new user to save the account information.

    poc-guides_citrix-daas-google-chrome-identity_gapi3.png

  4. Create a custom role for the read-only user account:
  5. From the Google Admin menu, select Account > Admin roles.

    poc-guides_citrix-daas-google-chrome-identity_gapi4.png

  6. Select Create new role.

    poc-guides_citrix-daas-google-chrome-identity_gapi5.png

  7. Enter a name for the new role. Example: API-ReadOnly

    poc-guides_citrix-daas-google-chrome-identity_gapi6.png

  8. Select Continue.
  9. Under Admin API privileges, select the following privileges:

    • Users > Read
    • Groups > Read
    • Domain Management

    poc-guides_citrix-daas-google-chrome-identity_gapi7.png

  10. Select Continue and then select Create role.

    poc-guides_citrix-daas-google-chrome-identity_gapi8.png

  11. Assign the custom role to the read-only user account that you created earlier:
  12. From the custom role details page, in the Admins pane, select Assign users.

    poc-guides_citrix-daas-google-chrome-identity_gapi9.png

  13. Start typing the name of the read-only user account and select it from the user list.

    poc-guides_citrix-daas-google-chrome-identity_gapi10.png

  14. Select Assign role.

    poc-guides_citrix-daas-google-chrome-identity_gapi11.png

  15. Return to the Users page (Directory > Users) to verify the role assignment and select the read-only user account. The custom role assignment is displayed under Admin roles and privileges.

Connect Google to Citrix Cloud

The next step is configuring Citrix DaaS to use Google Cloud as Identity Provider. The first step is to configure Google Cloud Identity globally.

  1. Sign in to Citrix Cloud.
  2. From the Citrix Cloud menu, select Identity and Access Management.

    poc-guides_citrix-daas-google-chrome-identity_gconnect1.png

  3. Locate Google and select Connect from the ellipsis menu.

    poc-guides_citrix-daas-google-chrome-identity_gconnect2.png

  4. Select Import File and then select the JSON file you saved when you created the key for the service account. This action imports your private key and the email address for the Google Cloud service account that you created.

    poc-guides_citrix-daas-google-chrome-identity_gconnect3.png

  5. In Impersonated User, enter the name of the read-only API user account.
  6. Select Next. Citrix Cloud verifies your Google account details and tests the connection.

    poc-guides_citrix-daas-google-chrome-identity_gconnect4.png

  7. Review the associated domains that are listed. If they're correct, select Confirm to save your configuration.

Enable Google for workspace authentication

Now that Google Cloud Identity is configured switch the Workspace configuration to use it.

  1. From the Citrix Cloud menu, select Workspace Configuration > Authentication.

    poc-guides_citrix-daas-google-chrome-identity_gworkspace1.png

  2. Select Google. When prompted, select I understand the impact on the subscriber experience, then click Save.

    poc-guides_citrix-daas-google-chrome-identity_gworkspace2.png

Create Windows Virtual Machine

Create the Windows virtual machine on any hypervisor or hyperscaler supported by Citrix DaaS. In this case, Google Cloud is being used. Once your virtual machine is created, follow these steps:

  1. RDP into your virtual machine

  2. Download the latest and correct OS type release of the Citrix Virtual Delivery Agent

  3. Run the VDA setup

    poc-guides_citrix-daas-ndj-gcp_vda2.png

  4. Select Create a master MCS image, then click Next.

    poc-guides_citrix-daas-ndj-gcp_vda3.png

  5. Click Next.

    poc-guides_citrix-daas-ndj-gcp_vda4.png

  6. Select any Additional Components your deployment requires, click Next.

    poc-guides_citrix-daas-ndj-gcp_vda5.png

  7. Select Let Machine Creation Services do it automatically, then Click Next.

    poc-guides_citrix-daas-ndj-gcp_vda6.png

  8. Click Next.

    poc-guides_citrix-daas-ndj-gcp_vda7.png

  9. Select Automatically, then click Next.

    poc-guides_citrix-daas-ndj-gcp_vda8.png

  10. Review the summary page, then click Install.

    poc-guides_citrix-daas-ndj-gcp_vda9.png

  11. When the installation is complete, click Finish and let the machine restart.

    poc-guides_citrix-daas-ndj-gcp_vda10.png

  12. Once the machine restarts, edit the following registry value: HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\VirtualDesktopAgent

    poc-guides_citrix-daas-ndj-gcp_vda11.png

Create Linux Virtual Machine

In this step, the Linux virtual machine VDA is installed. The virtual machine can be created on any hypervisor or hyperscaler supported by Citrix DaaS. In this case, Google Cloud is being used. During this process, the Citrix VDA will also be installed. Please refer to the following Citrix blog post for assistance during this process.

Prerequisites

  • A supported Linux desktop installed.
  • Microsoft .NET Runtime 6.0 installed
  • Supported Linux VDA available to be installed.
  1. Install the Linux VDA via SSH

    poc-guides_citrix-daas-ndj-gcp_linux1.png

    poc-guides_citrix-daas-ndj-gcp_linux2.png

  2. Installation errors are expected. When the install completes, run the following command: sudo apt --fix-broken install

  3. Create the MCS base image with the following command: sudo /opt/Citrix/VDA/sbin/deploymcs.sh

  4. Shut down the virtual machine and create a snapshot. Use the snapshot when you create the Linux Machine Catalog.

Create Machine Catalogs

  1. Click Machine Catalogs, then click Create Machine Catalog.

    poc-guides_citrix-daas-ndj-gcp_mc1.png

  2. Select Machine Type, click Next.

    poc-guides_citrix-daas-ndj-gcp_mc2.png

  3. Select the Machine Management options, and click Next.

    poc-guides_citrix-daas-ndj-gcp_mc3.png

  4. Select the Desktop Experience type and if desktop is dedicated, then click Next.

    poc-guides_citrix-daas-ndj-gcp_mc4.png

  5. Select the Master Image, VDA functional level, then click Next.

    poc-guides_citrix-daas-ndj-gcp_mc5.png

  6. Select storage type, then click Next.

    poc-guides_citrix-daas-ndj-gcp_mc6.png

  7. Choose the number of virtual machines to create, select zones, then click Next.

    poc-guides_citrix-daas-ndj-gcp_mc7.png

  8. Choose non-domain-joined for the Identity type, provide a name for desktops, then click Next.

    poc-guides_citrix-daas-ndj-gcp_mc8.png

  9. On the summary page, provide a name for the Machine Catalog, then click Finish.

    poc-guides_citrix-daas-ndj-gcp_mc9.png

  10. The Machine Catalog is now being created. Once complete, move on to creating the Delivery Group.

    poc-guides_citrix-daas-ndj-gcp_mc10.png

  11. Repeat the steps to create the Linux Machine Catalog.

Create Delivery Groups

  1. Select Delivery Groups, then click Create Delivery Group.

    poc-guides_citrix-daas-ndj-gcp_dg1.png

  2. Select the desktops and number of machines to add, then click Next.

    poc-guides_citrix-daas-ndj-gcp_dg2.png

  3. Choose your user assignment type, then click Next.

    poc-guides_citrix-daas-ndj-gcp_dg3.png

  4. Select your license type, then click Next.

    poc-guides_citrix-daas-ndj-gcp_dg4.png

  5. Review the summary, give the Delivery Group, and display a name, then click Finish.

    poc-guides_citrix-daas-ndj-gcp_dg5.png

  6. Repeat the steps to create the Linux Delivery Group.

Create Rendezvous Citrix Policy

  1. Click Manage to open Citrix DaaS web studio.

    poc-guides_citrix-daas-ndj-gcp_rendezvous1.png

  2. Click Policies

    poc-guides_citrix-daas-ndj-gcp_rendezvous2.png

  3. Click Create Policy

    poc-guides_citrix-daas-ndj-gcp_rendezvous3.png

  4. Find the Rendezvous Protocol settings and click Select.

    poc-guides_citrix-daas-ndj-gcp_rendezvous4.png

  5. Select Allowed, then click Save.

    poc-guides_citrix-daas-ndj-gcp_rendezvous5.png

  6. Click Next

    poc-guides_citrix-daas-ndj-gcp_rendezvous6.png

  7. Choose the policy assignment method by Delivery Group.

    poc-guides_citrix-daas-ndj-gcp_rendezvous7.png

  8. Select the delivery group in the drop-down, ensure Enable is selected, then click Save.

    poc-guides_citrix-daas-ndj-gcp_rendezvous8.png

  9. Click Next.

    poc-guides_citrix-daas-ndj-gcp_rendezvous9.png

  10. Select Enable policy, name the policy, and then click Finish.

    poc-guides_citrix-daas-ndj-gcp_rendezvous10.png

  11. The rendezvous protocol policy is now enabled.

    poc-guides_citrix-daas-ndj-gcp_rendezvous11.png

Assign Desktops

  1. On the Citrix Cloud home page, click View Library.

    poc-guides_citrix-daas-ndj-gcp_library1.png

  2. Click the ellipsis for the Non-domain Joined GCP desktop and select Manage Subscribers

    poc-guides_citrix-daas-ndj-gcp_library2.png

  3. Begin to type the name of the user, then select the user.

    poc-guides_citrix-daas-ndj-gcp_library3.png

  4. Once the user has been Subscribed, close the screen.

    poc-guides_citrix-daas-ndj-gcp_library4.png

  5. Repeat the process for the Non-domain Joined Linux desktop.

    poc-guides_citrix-daas-ndj-gcp_library5.png

Launch Desktops

  1. Connect to your Workspace URL, where you will be directed to Google Authentication. Provide your email address and password, then click Next.

    poc-guides_citrix-daas-ndj-gcp_launch1.png

  2. Select the desktop to launch.

    poc-guides_citrix-daas-ndj-gcp_launch2.png


User Feedback


There are no comments to display.



Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...