Configure Agentless Desktop SSO with Registry Keys (deprecated)
This topic applies to orgs that implemented the Early AccessEarly Access (EA) features are opt-in features that you can try out in your org by asking Okta Support to enable them. Additionally, the Features page in the Okta Admin Console (Settings > Features) allows Super Admins to enable and disable some EA features themselves. version of agentless Desktop Single Sign-on (DSSO) prior to the 2019.09.0 release (August 30th, 2019 or earlier). If you are implementing this feature for the first time after September 1, 2019 (after 2019.09.0), see Configure a new Agentless Desktop Single Sign-on implementation.
With Desktop Single Sign-on (DSSO), your users are automatically authenticated by Okta when they sign in to your Windows network. Following authentication, users can access applications through Okta without entering additional usernames or passwords. DSSO improves the user experience because users only need to sign in a single time and don’t need separate credentials for each application they access through Okta.
Traditionally, enabling Desktop SSOAn acronym for single sign-on. In a SSO system, a user logs in once to the system and can access multiple systems without being prompted to sign in for each one. Okta is a cloud-based SSO platform that allows users to enter one name and password to access multiple applications. Users can access all of their web applications, both behind the firewall and in the cloud, with a single sign in. Okta provides a seamless experience across PCs, laptops, tablets, and smartphones. required deploying IWA agents. Agentless desktop SSO eliminates the need to deploy IWA agents across Active DirectoryActive Directory (AD) is a directory service that Microsoft developed for the Windows domain networks. It is included in most Windows Server operating systems as a set of processes and services. Initially, Active Directory was only in charge of centralized domain management. domains to enable DSSO. This reduces your maintenance overhead and provides High Availability as Okta handles the KerberosKerberos is a computer-network authentication protocol that works on the basis of tickets to allow nodes communicating over a non-secure network to prove their identity to one another in a secure manner. validation. Diagram
You have an Active Directory domainA domain is an attribute of an Okta organization. Okta uses a fully-qualified domain name, meaning it always includes the top-level domain (.com, .eu, etc.), but does not include the protocol (https). (or multiple domains) integrated with your Okta orgThe Okta container that represents a real-world organization..
You have permissions in Active Directory to configure a Service Principal Name (SPN). For more info on permissions, see Delegating Authority to Modify SPNs at the following URL: https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/cc731241(v=ws.11).
- You will need to create a service account, as described below. For this service account:
- A domain user account is recommended, for the Okta tenant Kerberos service, instead of a domain adminAn abbreviation of administrator. This is the individual(s) who have access to the Okta Administrator Dashboard. They control the provisioning and deprovisioning of end users, the assigning of apps, the resetting of passwords, and the overall end user experience. Only administrators have the Administration button on the upper right side of the My Applications page. account as a security best practice.
- To further lock down the account, the logon to restriction can be turned on with a fictitious host name, and the account can be marked as Account is sensitive and cannot be delegated. This is also for security reasons.
- Custom URL —
If you are using a custom URL:
- Agents – Use the actual domain (example.okta.com) and not the custom domain (example.customname.com).
- IWA SSO – Modify the web.config file to include the custom url.
- Agentless DSSO – Make sure that all sign-in flows and browser bookmarks use the correct URL.
- Using AES128 or AES256 encryption — If you want to use AES128/256 with Agentless Desktop SSO or MS AppAn abbreviation of application. Essentially, it is a web-based site used to perform any number of specific tasks, and requires authentication from end users by signing in. silent activation, you must enable AES for both the AD domain as well as the service account for Okta DSSO. If it isn't enabled for the AD domain you will see a Kerberos error KDC_ERR_ETYPE_NOTSUPP in the Kerberos events.
For details on how to enable each of these, refer to Windows Configurations for Kerberos Supported Encryption Type.
- Agentless DSSO will not work if a single user has memberships to more than 600 security groupsGroups allow you to organize your end users and the apps they can access. Assigning apps to large sets of end users is made easier with groups. — If an end user tries to go through the Agentless DSSO flow and has more than 600 security groups, they will see a 400 response and be redirected to the regular sign in page.
- The following browsers are not supported:
- Firefox on Windows
- Chrome on macOS.
- MS Edge
- If you are using Windows functional level 2008 or below, be aware that it uses a less secure encryption RC4. We recommend that you upgrade to at least Windows functional level 2008 or above to use the most secure encryption algorithm.
When you implement on premises or agentless Desktop Single Sign-on (DSSO) in your environment, this is the process flow when users are imported using Just-in-Time (JIT) provisioning:
- For on premises DSSO, IWA sends Okta the Universal Principal Name (UPN). Okta uses the UPN to locate a user. Okta does not perform user authentication because Kerberos validation is done on the IIS side.
For agentless DSSO, the web browser sends the Kerberos ticket to Okta, and relies on the AD agentA software agent is a lightweight program that runs as a service outside of Okta. It is typically installed behind a firewall and allows Okta to tunnel communication between an on-premises service and Okta's cloud service. Okta employs several agent types: Active Directory, LDAP, RADIUS, RSA, Active Directory Password Sync, and IWA. For example, users can install multiple Active Directory agents to ensure that the integration is robust and highly available across geographic locations. to look up the UPN. Kerberos validation is done in the cloud in Okta.
When a user signs in using DSSO:
- If their information is already imported and active in Okta: Okta uses the UPN to look up the user. If Okta finds the user, the profile reloads from Active Directory (AD) and the user signs in successfully.
- If their information has been imported but is not yet active in Okta: Okta uses the UPN to look up the user. If Okta finds the user, the user profile loads from AD, the user is activated, and the user signs in successfully.
- If their information has not been imported into Okta and JIT is enabled: Okta can only validate the user by the UPN. So the Okta user name format must be the UPN in order for the user to be successfully imported with JIT enabled. If the user name format is something other than the UPN, for example the email address or SamAccountName, the search cannot locate the user.
- If the their information has not been imported into Okta and JIT is off: Sign in fails.
In order for Okta to negotiate Kerberos authentication for Agentless DSSO, you need to create a new service account and set a Service Principal Name (SPN) for that service account.
- Sign in to a server from which you can access Active Directory Users and Computers.
- Create a new account with the following properties. The service account itself does not need admin permissions, but you will need specific permissions to set an SPN as mentioned in Delegating Authority to Modify SPNs
User logon name: <username>
User logon name (pre-Windows 2000) : <username>
where <username> is any username of your choice.
Select a password and set to Password never expires.
In a command window configure an SPN for the service account using the following syntax:
Setspn -S HTTP/<myorg>.okta.com <username>
Where HTTP/<myorg>.okta.com is the SPN and <username> are the values specified in step 2. For example,
Setspn -S HTTP/atko.okta.com atkospnadmin
Agentless DSSO is supported on Windows using Chrome, Chromium versions of Microsoft Edge, and Internet Explorer. Firefox and previous versions of Microsoft Edge are not supported.
There are three main steps involved in configuring the browsers on Windows:
- Enabling IWA on the browsers.
- Adding Okta as a trusted site to the Local Intranet Zone in Internet Explorer (IE).
- Creating a GPO to apply these setting across all our clientEssentially, a client is anything that talks to the Okta service. Within the traditional client-server model, Okta is the server. The client might be an agent, an Okta mobile app, or a browser plugin. machines.
- Enable IWA on the browsers:
- In Internet Explorer select Tools > Internet Options.
- Click the Advanced tab, scroll down to the Security settings, and select Enable Integrated Windows AuthenticationAuthentication is distinct from authorization, which is the process of giving individuals access to system objects based on their identity. Authentication merely ensures that the individual is who he or she claims to be, but says nothing about the access rights of the individual. Authentication methods and protocols include direct auth, delegated auth, SAML, SWA, WS-Fed, and OpenID Connect..
- Click OK.
Note: Make sure that Internet Explorer can save session cookies (Internet Options > Privacy tab). If it cannot, neither SSO nor standard sign in can work.
- Configure the Local Intranet Zone to trust Okta:
- In IE, open Options > Security.
- Click Local Intranet > Sites > Advanced and add the URL for your Okta org as configured in earlier steps. For example, https://<myorg>.okta.com.
- Click Close and OK on the other configuration options.
- Create a GPO to roll this out to all client machines that will use Agentless DSSO.
Agentless DSSO is supported on Macs using Safari and Firefox. Chrome is not supported.
DSSO is enabled automatically in Safari on OS/X. Make sure that the macOS host is a Windows domain member. For how to add your Macintosh OS/X host to a Windows domain, see macOS Sierra: Join your Mac to a network account server.
Now that you’ve configured your SPN, and browsers, you will create a Group Policy Object to deploy registry keys.
Okta uses CNAME alias' to resolve to the Okta org. So when you make a request to <myorg>.okta.com, that subdomain is an alias to various load balancers. This is a modern Cloud infrastructure pattern to eliminate maintenance overhead. To support this architecture registry keys need to be deployed to tell any apps that rely on Kerberos to use CNAME and not ANAME.
You will need to add a registry key entry for each app that depends on Kerberos authentication for Agentless DSSO. This includes the Chrome and Internet Explorer browsers and any other thick clients that you may have. You can decide which apps to include based on whether you want Agentless DSSO functionality enabled for them. For example, if you have four native apps: MSWord, Excel, PowerPoint, and GoToMeeting and you only want Agentless DSSO on the GoToMeeting app then you'd need to add a registry key for the GoToMeeting app.
Important: Wildcards are NOT recommended as they could have unexpected consequences on other applications that rely on DNS.
By deploying these registry keys, the behavior of all web apps that depend on Kerberos for authentication will change to resolve to CNAME rather than ANAME
You need to check the SPN set for these applications and see whether that SPN is an ANAME or a CNAME and decide:
- If the SPN is an A name, change the SPN to a CNAME.
- If the SPN is a CNAME, leave it as is.
Okta recommends that you test the Agentless DSSO changes in a limited scopeA scope is an indication by the client that it wants to access some resource. before rolling out widespread changes to your org. This includes deploying the registry key changes on a small but representative selection of machines in your domain. For details, see Test Agentless DSSO
This section describes the deploying the registry keys on individual machines for test purposes and through Group Policy Objects when you are ready for production.
Before rolling out the registry key changes to all machines, you can test the implementation by applying the changes to individual machines.
To apply this on a single machine, create a .reg file on the machine with the following content inside of it:
Windows Registry Editor Version 5.00
Deploy registry keys through Group Policy
To deploy the registry key changes across your org, you will use Group Policies.
In order to create a group policy to apply broadly, do the following as a domain administrator from your domain controller:
- Launch Active Directory Users and Computers.
- Right click in the navigation structure and select New > Organizational Unit (OUAn acronym of Organizational Unit. Organizational units are Active Directory containers into which you can place users, groups, computers, and other organizational units. It is the smallest scope or unit to which you can assign Group Policy settings or delegate administrative authority.).
- Name the OU. This will be the computers OU used for this change
- From a domain controller run the command gpedit.msc to open the Group Policy Editor.
- In the Group Policy Management console, right-click Group Policy Objects.
- Select New, to create a new group policy object (GPO).
- Name the GPO and leave Source Starter GPO set to (none).
- Right-click the new GPO and select Edit
- Navigate to Computer Configuration > Preferences> Windows Settings > Registry
- Right-click Registry and select New Item, enter the following items values. Repeat the process for all of the below registry entries.
- For Internet Explorer:
Create Hive HKEY_LOCAL_MACHINE Keypath SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_USE_CNAME_FOR_SPN_KB911149 Value Name iexplore.exe Value Type REG_DWORD Value Data 1 Action Create Hive HKEY_LOCAL_MACHINE Keypath SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_USE_CNAME_FOR_SPN_KB911149 Value Name iexplore.exe Value Type REG_DWORD Value Data 1
- For Chrome:
Action Create Hive HKEY_LOCAL_MACHINE Keypath SOFTWARE\Policies\Google\Chrome Value Name DisableAuthNegotiateCnameLookup Value Type REG_DWORD Value Data 1
You can enable Agentless Desktop SSO for testing or for production.
- Test — allows you to test by signing in using the direct Agentless DSSO endpoint URL:
- On — allows end usersEnd users are people in your org without administrative control. They can authenticate into apps from the icons on their My Applications home page, but they are provisioned, deprovisioned, assigned, and managed by admins. to sign in from the default sign in endpoint, routing through the Agentless DSSO sign in endpoint. The end user doesn't need to explicitly type in the DSSO URL.
- In the Okta Admin dashboard, navigate to Security > Delegated Authentication.
- Scroll to Agentless Desktop SSO.
- Click Edit and select a Desktop SSO mode:
- Test — For testing in your Preview environment.
- On — For enabling SSO in Production.
- For Allowed network zones, add the zones that are associated with the machines from which you will be implementing Agentless SSO.
Note: If IdPAn acronym for Identity Provider. It is a service that manages end user accounts analogous to user directories such as LDAP and Active Directory, and can send SAML responses to SPs to authenticate end users. Within this scenario, the IdP is Okta. Discovery is turned on, the network zone options will not be available. When IdP Discovery and Agentless DSSO are both on, Agentless DSSO network zones are controlled through the IdP Routing Rules. You will update the default IdP routing rule in Create Identity Provider routing rule .
- In AD Instances, select the Active Directory instance on which you configured the SPN.
- Configure Agentless Desktop SSO for this Active Directory domain with the following information and then Save.
Desktop SSO — Select Enable or Disabled depending on whether you are enabling for production or testing.
Service account username — This is the AD sign-on name that you created in Create a service account and configure a Service Principal Name above, without any domain suffix or Netbios name prefix. It can be the sAMAccountName or the username part of the UPN. These two may be the same string unless the Org admin chose to use different values.
Service account password — Password for the account that you created in AD.
- Validate service account credential on Save — (Optional) Validates the service account credentials as an optional step in saving the Kerberos realm configuration. If it's checked, the service account will be authenticated by the AD agent. If the credentials cannot be validated, an error message appears. If you don't want to validate or can't because the AD agent isn't responsive, the box can be unchecked to skip the validation.
Once a domain has been configured and enabled users will be able to sign in with Agentless DSSO.
To complete this step you must already have an Identity Provider configuration.
After you turn on Desktop SSO, a default DSSO routing rule is created. You must configure the network information for this rule.
- On the Okta Admin Console, click Security > Identity Providers > Routing Rules.
- Select the Default Route to AgentlessDSSO rule. By default the network information is not configured and the rule is Inactive.
- Indicate your routing specifications.
- User's IP is: Select Anywhere to apply the rule to any user location, select In zone to apply the rule to a specific zone, or select Not in zone to apply the rule to users outside of a specific zone. For information on zones, see IP Zones.
- User's device platform is: Select Any device to apply the rule to users with any device type, or to apply the rule to users with specific devices, select Any of these devices and select specific devices.
- User is accessing: Select Any application to apply the rule when a user accesses any application, or to apply the rule when a user accesses specific applications, select Any of the following applications and enter an application name.
- User matches: Select the criteria to apply the rule to users with specific attributes such as log in, first name, or last name.
- Use this identity provider Select the identity provider to use when all rule criteria are met.
Activate the rule.
After configuring Agentless DSSO, you can verify that everything is correctly configured by doing the following:
- Sign in to a domain-joined, on-network device that is joined to the Active Directory environment on which you have enabled Agentless Desktop SSO. Ensure that you are logged in as a user that is already active in Okta.
- If you haven’t already, add your Okta environment to your Local Intranet settings.
- In a browser, open Options > Security.
- Click Local Intranet > Sites > Advanced and add the URL for your Okta org as configured in earlier steps. For example, https://<myorg>.okta.com.
- Click Close and OK on the other configuration options.
- On a Windows machine, sign into your Okta org. If Agentless DSSO is configured correctly, you will be automatically redirected to your end user apps dashboard without entering any credentials.
- Verify in the system log that the user authenticated through Agentless Desktop SSO. In your Okta org, you will see an entry for Authenticate user via IWA with no entries referring to an on-prem IWA server.
Okta recommends that you test the Agentless DSSO changes in a limited scope before implementing widespread changes to your org.
- Create a service account and configure a Service Principal Name
- Configure browsers for SSO on Windows or Configure browsers for SSO on Mac.
- Enable Agentless DSSO in test mode
- Optional. Enable Kerberos event logging. For more information, see https://support.microsoft.com/en-us/help/262177/how-to-enable-kerberos-event-logging.
- Validate Agentless DSSO
by signing in using the direct Agentless DSSO endpoint URL:
If Agentless DSSO is configured correctly, you will be able to sign in without being prompted for credentials. If you experience problems signing in, ensure you have completed all the steps listed above. You can check the Configure Agentless Desktop SSO with Registry Keys (deprecated) section for additional help.
You may want to have a back up plan in the event that Agentless DSSO fails. There are two fail over options:
- Okta will automatically fail over to the default sign-in page.
- You can use on-prem IWA DSSO as a backup.
Choosing to fail over to on-prem IWA DSSO, requires you to install and configure the on-prem IWA DSSO. If on-prem IWA DSSO is configured and enabled, it will automatically take over if Agentless DSSO stops working. For details, see Install and configure the Okta IWA Web agent for Desktop Single Sign-on.
If you have trouble after enabling the registry changes you can roll back the registry key changes you've made.
To roll back the registry settings using the GPO, edit the previously added registry keys changing the action item from Create to Delete.Top