{"id":1674,"date":"2011-09-02T22:49:09","date_gmt":"2011-09-02T22:49:09","guid":{"rendered":"https:\/\/www.wapshere.com\/missmiis\/?p=1674"},"modified":"2011-09-02T22:49:09","modified_gmt":"2011-09-02T22:49:09","slug":"office-365-and-multi-forest","status":"publish","type":"post","link":"https:\/\/www.wapshere.com\/missmiis\/office-365-and-multi-forest","title":{"rendered":"Office 365 and multi forest"},"content":{"rendered":"<p>I had numerous great chats at TechEd Australia about enterprise identity management and Office 365. This is a particular subject of interest to me, after the big, complex BPOS project I worked on for the last 18 months. I don&#8217;t believe there&#8217;s any official guidance on how to prepare identities for Office 365 in a complex enterprise environment that includes multiple AD forests, or multiple non-AD directories for that matter\u00c2\u00a0&#8211; so here&#8217;s the way I approach it.<\/p>\n<p><!--more--><\/p>\n<h3>Use FIM Sync to populate a dedicated &#8220;DirSync domain&#8221;<\/h3>\n<p>DirSync, despite\u00c2\u00a0it&#8217;s faults, is still the best way for enterprises to\u00c2\u00a0provision,\u00c2\u00a0update and delete user accounts, contacts and groups in Office 365. While we have more alternatives now than we did with BPOS (in particular the vastly improved powershell coverage)\u00c2\u00a0DirSync is an official prerequisite for ADFS &#8211; so if you think you may be using ADFS for O365, you should plan to use DirSync.<\/p>\n<p>However DirSync only works with a single forest. As well as that, it replicates <em>everything it finds in the forest<\/em>\u00c2\u00a0 &#8211; including service, test and contractor accounts, and all your groups. They are then given a default email address in O365 (even if they didn&#8217;t have one locally) and they will <em>appear in your GAL<\/em> unless you explicitly, and individually, hide them.<\/p>\n<p>So my recommendation, and what I have implemented in the past, is to create a <strong>dedicated DirSync domain<\/strong> and use the FIM 2010 Synchronization Service to populate this domain based on objects sourced from your other directories. You can then produce a nice, clean data source for DirSync, with only the objects you actually want to see in O365.<\/p>\n<p><a href=\"https:\/\/www.wapshere.com\/missmiis\/wp-content\/uploads\/2011\/09\/multiforest-O365.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1675\" title=\"multiforest O365\" src=\"https:\/\/www.wapshere.com\/missmiis\/wp-content\/uploads\/2011\/09\/multiforest-O365.jpg\" alt=\"\" width=\"788\" height=\"351\" srcset=\"https:\/\/www.wapshere.com\/missmiis\/wp-content\/uploads\/2011\/09\/multiforest-O365.jpg 788w, https:\/\/www.wapshere.com\/missmiis\/wp-content\/uploads\/2011\/09\/multiforest-O365-300x133.jpg 300w\" sizes=\"auto, (max-width: 788px) 100vw, 788px\" \/><\/a><\/p>\n<h3>But what about ADFS?<\/h3>\n<p>At the moment ADFS\u00c2\u00a0with O365 is also single forest only. Plus, if you have multiple user principal name domain suffixes in use, you need a seperate ADFS infrastructure for each one.<\/p>\n<p>However you could attach ADFS to your DirSync domain. You <em>may<\/em> just need one ADFS infrastructure in this case -it depends on how many UPN domains you&#8217;re using. While users won&#8217;t be logging in with their actual working account, you still get the advantages of being able to control password complexity, or implement two-factor authentication, or use Forefront UAG.<\/p>\n<p>You&#8217;d probably still want to implement internal password sync between the DirSync domain and the various home forests (or other directories), so it&#8217;s good to know that the FIM Sync service also supports password sync, including to non-AD domains.<\/p>\n<h3>The full solution<\/h3>\n<p>In my big BPOS project I added a few more pieces to the solution:<\/p>\n<ul>\n<li>In any identity management project it is ideal to get a direct data feed from HR so we know who&#8217;s coming and who&#8217;s leaving. This allows new starter accounts to be created in time for their start day, leavers&#8217; accounts to be correctly handled (important for security but also when you&#8217;re paying by the account!), and for the GAL to be kept up to date with cortect names, job titles, locations etc.<\/li>\n<li>DirSync\u00c2\u00a0is one way only &#8211; to the cloud. So if you want to get info back for reporting purposes &#8211; such as activation status and which licenses are being used &#8211; you can use the O365 powershell interface to pull all sorts of great data back into FIM Sync.<\/li>\n<li>I also use the FIM Portal as a management console for Office 365. Any changes that can be made through powershell can be triggered from FIM Portal workflows, while all the user has to do is tick a box or select something from a drop-down. Some advantages of this approach:<\/li>\n<ul>\n<li>Portal users don&#8217;t need access to the 0365 admin site, and they don&#8217;t need to know how to use powershell,<\/li>\n<li>I can set my permissions structure in a very targeted and detailed way. In O365 someone with password reset rights can\u00c2\u00a0change <em>everyone&#8217;s <\/em>password. Using the FIM Portal in this way allows me to restrict their password reset abilities to, say, just their department.<\/li>\n<li>I can offer some self-service options &#8211; like allowing a user to control, or at least view,\u00c2\u00a0their own mailbox delegations.<\/li>\n<li>I can log and report on all actions &#8211; something else you don get in O365.<\/li>\n<li>I can add extra business requirements such as &#8220;no activation without a cost code&#8221;.<\/li>\n<\/ul>\n<\/ul>\n<p><a href=\"https:\/\/www.wapshere.com\/missmiis\/wp-content\/uploads\/2011\/09\/multiforest-O365-full-solution.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1676\" title=\"multiforest O365 full solution\" src=\"https:\/\/www.wapshere.com\/missmiis\/wp-content\/uploads\/2011\/09\/multiforest-O365-full-solution.jpg\" alt=\"\" width=\"788\" height=\"493\" srcset=\"https:\/\/www.wapshere.com\/missmiis\/wp-content\/uploads\/2011\/09\/multiforest-O365-full-solution.jpg 788w, https:\/\/www.wapshere.com\/missmiis\/wp-content\/uploads\/2011\/09\/multiforest-O365-full-solution-300x187.jpg 300w\" sizes=\"auto, (max-width: 788px) 100vw, 788px\" \/><\/a><\/p>\n<h3>Future<\/h3>\n<p>Microsoft are promising a management agent for FIM Sync as the eventual solution for multi-directory environments that want to move to O365. All this really does is remove the need for the DirSync domain and allows a direct connection to O365. The management agent should also support direct password sync to O365, so that&#8217;s a possible\u00c2\u00a0alternative to ADFS.<\/p>\n<p>My understanding is that it will be possible to migrate from DirSync to the direct connection via the management agent. If we already have FIM Sync in place as pictured above then we&#8217;re just replacing once connector with another.<\/p>\n<p><a href=\"https:\/\/www.wapshere.com\/missmiis\/wp-content\/uploads\/2011\/09\/multiforest-O365-MA.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1677\" title=\"multiforest O365 MA\" src=\"https:\/\/www.wapshere.com\/missmiis\/wp-content\/uploads\/2011\/09\/multiforest-O365-MA.jpg\" alt=\"\" width=\"701\" height=\"192\" srcset=\"https:\/\/www.wapshere.com\/missmiis\/wp-content\/uploads\/2011\/09\/multiforest-O365-MA.jpg 701w, https:\/\/www.wapshere.com\/missmiis\/wp-content\/uploads\/2011\/09\/multiforest-O365-MA-300x82.jpg 300w\" sizes=\"auto, (max-width: 701px) 100vw, 701px\" \/><\/a><\/p>\n<h3>Sounds nice &#8211; but how much work is it?<\/h3>\n<p>I&#8217;m not going to tell you this type of solution is easy to set up, because it&#8217;s not easy, though it is definitely both achievable and supportable.<\/p>\n<ul>\n<li>In multi-directory environments you&#8217;ll often find different naming conventions (or a complete lack of them), people who have accounts in more than one place, and conflicts on mail aliases and distribution list names. Identification and data cleanup can be trickier and more time consuming than you expect.<\/li>\n<li>Taking data from multiple sources, filtering, matching and applying rules to it, before finally provisioning it to the DirSync domain will require extension code to be developed for the FIM Sync service. This is the standard and supported approach with FIM Sync, but should not be attempted without training or the help of experienced consultants.<\/li>\n<li>If you want to use the FIM Portal then you will definitely need to go through a proper design process with good quality assistance on the policies, forms and custom workflows required.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>I had numerous great chats at TechEd Australia about enterprise identity management and Office 365. This is a particular subject of interest to me, after the big, complex BPOS project I worked on for the last 18 months. I don&#8217;t believe there&#8217;s any official guidance on how to prepare identities for Office 365 in a&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":[]},"categories":[47,44,42,58,56],"tags":[],"class_list":["post-1674","post","type-post","status-publish","format-standard","hentry","category-bpos","category-cloud","category-fim-2010","category-fim-sync-service","category-office-365"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pkp1o-r0","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/1674","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/comments?post=1674"}],"version-history":[{"count":6,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/1674\/revisions"}],"predecessor-version":[{"id":1683,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/1674\/revisions\/1683"}],"wp:attachment":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/media?parent=1674"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/categories?post=1674"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/tags?post=1674"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}