{"id":1877,"date":"2020-10-15T01:00:00","date_gmt":"2020-10-15T01:00:00","guid":{"rendered":"http:\/\/inswwdev.azurewebsites.net\/au\/insights\/uncategorized\/citrix-workspace-azure-ad-dsauthazureadnestedgroups\/"},"modified":"2020-10-15T01:00:00","modified_gmt":"2020-10-15T01:00:00","slug":"citrix-workspace-azure-ad-dsauthazureadnestedgroups","status":"publish","type":"post","link":"https:\/\/www.insentragroup.com\/us\/insights\/geek-speak\/cloud-and-modern-data-center\/citrix-workspace-azure-ad-dsauthazureadnestedgroups\/","title":{"rendered":"Citrix Workspace, Azure AD &amp; DSAuthAzureAdNestedGroups"},"content":{"rendered":"<p>Citrix Cloud and Azure Active Directory is a logical combination for many customers. The integration makes sense to provide a high level of security and access controls via the Microsoft Azure AD Conditional Access engine.<\/p>\n<p>There have been instances where integration with Azure Active Directory has not always consistently behaved as one might expect, in this post specifically, we are looking at a situation where users are intermittently (or in dire cases, never) displayed resources they are entitled to by either direct assignment in Citrix Studio or via subscriber access in the library. If the environment is switched back to use native Active Directory, the problem does not exist.<\/p>\n<p>Cheers to\u00a0<a rel=\"noopener nofollow\" href=\"https:\/\/twitter.com\/RobSheppard\" target=\"_blank\">Rob Sheppard<\/a>\u00a0for sticking with this and persisting over the months to get this sorted.<\/p>\n<p>The root problem is due to the way that SID based Groups are enumerated by Citrix Cloud for Azure Active Directory. A SID based group is defined as one which is created in Active Directory, not Azure Active Directory.<\/p>\n<p>In a scenario where nested group memberships are in play and the SID based groups are synchronized to AAD, the enumeration should work perfectly fine, however in the scenario where not all groups are synced, the DSAuth service can obtain group details through the Citrix Cloud Connector. The default mechanism for this lookup is an LDAP query for the groups defined in the\u00a0<strong><em>TokenGroupsGlobalAndUniversal <\/em><\/strong>attribute of the user object. The challenge with this behaviour is it does not expand nested Groups, and in some scenarios or Domain configurations, can lead to missing Group info and thus enumeration problems.<\/p>\n<p>Azure Active Directory was the first \u201cnon-Active Directory\u201d IDP which was introduced into Citrix Cloud and as such identified what works and what didn\u2019t. Lessons learned were included for additional IDP\u2019s. Enter\u00a0<strong><em>DSAuthAzureAdNestedGroups<\/em><\/strong>.<\/p>\n<p><strong><em>DSAuthAzureAdNestedGroups\u00a0<\/em><\/strong>fundamentally changes how the Group enumeration occurs. When enabled the feature effectively performs a Kerberos S4U login, in which Windows does almost the same process as a normal logon, where all the nested groups are retrieved and a more accurate determination of the group membership is made.<\/p>\n<p><strong><em>DSAuthAzureAdNestedGroups<\/em><\/strong>\u00a0is the default behaviour for all other IDP\u2019s onboarded onto the Citrix Cloud solution, however with Azure Active Directory, it was felt to be safer by Citrix to not fundamentally change what wasn\u2019t broken for everyone, and as such the feature is a toggle which needs to be applied on a per-customer basis.<\/p>\n<p>If you are experiencing problems with Azure AD group enumeration, you will need to lodge a ticket with Citrix support and reference the\u00a0<strong><em>DSAuthAzureAdNestedGroups<\/em><\/strong>\u00a0toggle for escalation purposes. Note that doing so may well alter existing group assignments in place, so it\u2019s worth planning, scheduling and testing this change accordingly to make sure that nothing unexpected occurs. Some basic good practices for Azure Active Directory integration with Citrix Cloud:<\/p>\n<ul>\n<li>Sync as many groups as you can and try to avoid nested Group scenarios where not all Groups are synchronised<\/li>\n<li>Make sure your Active Directory is well connected with your Cloud Connectors. Cloud Connectors are sensitive to Active Directory latency and any form of communication failure can have random effects and behaviours on operations<\/li>\n<\/ul>\n<p>Hopefully, this will assist when troubleshooting enumeration issues when using Azure Active Directory as your IdP of choice. As always, thank you to Oscar Day at Citrix for taking the time to review and assist in getting this communicated<\/p>\n<p>This blog was first published on <a rel=\"noopener nofollow\" href=\"https:\/\/jkindon.com\/2020\/10\/05\/citrix-workspace-azure-ad-dsauthazureadnestedgroups\/\" target=\"_blank\">jkindon.com<\/a> on 5\/10\/20 and republished with permission.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Citrix Cloud and Azure Active Directory is a logical combination for many customers. The integration makes sense to provide a high level of security and access controls via the Microsoft Azure AD Conditional Access engine. There have been instances where integration with Azure Active Directory has not always consistently behaved as one might expect, in&hellip; <a class=\"more-link\" href=\"https:\/\/www.insentragroup.com\/us\/insights\/geek-speak\/cloud-and-modern-data-center\/citrix-workspace-azure-ad-dsauthazureadnestedgroups\/\">Continue reading <span class=\"screen-reader-text\">Citrix Workspace, Azure AD &amp; DSAuthAzureAdNestedGroups<\/span><\/a><\/p>\n","protected":false},"author":86,"featured_media":1878,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"content-type":"","footnotes":""},"categories":[21],"tags":[],"class_list":["post-1877","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-and-modern-data-center","entry"],"_links":{"self":[{"href":"https:\/\/www.insentragroup.com\/us\/wp-json\/wp\/v2\/posts\/1877","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.insentragroup.com\/us\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.insentragroup.com\/us\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.insentragroup.com\/us\/wp-json\/wp\/v2\/users\/86"}],"replies":[{"embeddable":true,"href":"https:\/\/www.insentragroup.com\/us\/wp-json\/wp\/v2\/comments?post=1877"}],"version-history":[{"count":0,"href":"https:\/\/www.insentragroup.com\/us\/wp-json\/wp\/v2\/posts\/1877\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.insentragroup.com\/us\/wp-json\/wp\/v2\/media\/1878"}],"wp:attachment":[{"href":"https:\/\/www.insentragroup.com\/us\/wp-json\/wp\/v2\/media?parent=1877"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.insentragroup.com\/us\/wp-json\/wp\/v2\/categories?post=1877"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.insentragroup.com\/us\/wp-json\/wp\/v2\/tags?post=1877"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}