{"id":347,"date":"2009-02-24T09:14:54","date_gmt":"2009-02-24T09:14:54","guid":{"rendered":"https:\/\/www.wapshere.com\/missmiis\/?p=347"},"modified":"2009-11-18T08:34:49","modified_gmt":"2009-11-18T08:34:49","slug":"ilm2-rc0-codeless-provisioning-step-by-step","status":"publish","type":"post","link":"https:\/\/www.wapshere.com\/missmiis\/ilm2-rc0-codeless-provisioning-step-by-step","title":{"rendered":"ILM2 RC0 &#8211; Codeless Provisioning Step by Step"},"content":{"rendered":"<p>This post did start with a rant about how much trouble I had getting the codeless provisioning to work &#8211; but I&#8217;ve been working with it a bit more now, and have sufficiently got the hang of it, so I have rewritten the introduction to this post. This is not an attenpt to change history &#8211; I expect most readers come at my blog through google searches, and really, they don&#8217;t need my soap-boxing.<\/p>\n<p>This post goes through the steps I took to provision user accounts into AD. For the extra configuration need to add Exchange 2007 mailboxes to those users accounts see <a href=\"https:\/\/www.wapshere.com\/missmiis\/?p=356\">this post<\/a>.<!--more--><\/p>\n<h2>All the objects you have to create<\/h2>\n<p><strong>Synchronization Rule<\/strong><\/p>\n<p>I will say that I do like the <a href=\"https:\/\/www.wapshere.com\/missmiis\/?p=309\">codeless flow rules<\/a>. All you have to do to get those working is create a <em>Synchronization Rule<\/em> in the portal, import it into MIIS and you&#8217;re away.<\/p>\n<p>To get the Synchronization Rule to also do\u00c2\u00a0provisioning you need a few more bits and pieces.<\/p>\n<p><strong>Set<\/strong><\/p>\n<p>You\u00c2\u00a0must create a <em>Set<\/em> which will contain only those users which will exist in your target directory. (A tip on naming: start it with an underscore &#8220;_&#8221; so that it appears at the top of the list.)<\/p>\n<p>Don&#8217;t do what I did and use &#8220;All People&#8221; because then it tries to create the Administrator and Built-In Synchronization accounts in your target directory.<\/p>\n<p><strong>Workflow<\/strong><\/p>\n<p>Next you create a <em>Workflow<\/em> of type &#8220;Action&#8221; which has, as its action, the Synchronisation Rule you created above.<\/p>\n<p><strong>Management Policy<\/strong><\/p>\n<p>Finally you create a <em>Management Policy<\/em>. I am still a little vague on all the things these objects can do, but in terms of provisioning, this is where you tie your Set and your Workflow together.<\/p>\n<p><strong>ILM MA<\/strong><\/p>\n<p>You also have to make sure you are flowing your data into the metaverse through the ILM MA, so that it will be there ready to be used by your synchronization rule. For unfathomable reasons the ILM MA still relies wholy on &#8220;classic&#8221; flow rules.<\/p>\n<p>\u00c2\u00a0<\/p>\n<h2>And now with pictures<\/h2>\n<h3>Create the Synchronization Rule<\/h3>\n<p>In the portal, click on <strong>Administration -&gt;<\/strong>\u00c2\u00a0<strong>Synchronization Rules<\/strong> -&gt; <strong>New<\/strong>. The following pictures show how I configured my rule.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wapshere.com\/images\/ilm2-prov-syncrule1.jpg\" border=\"1\" alt=\"\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wapshere.com\/images\/ilm2-prov-syncrule2.jpg\" border=\"1\" alt=\"\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wapshere.com\/images\/ilm2-prov-syncrule3.jpg\" border=\"1\" alt=\"\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wapshere.com\/images\/ilm2-prov-syncrule4.jpg\" border=\"1\" alt=\"\" \/><\/p>\n<p>When creating your attribute flows make sure you include an &#8220;Inital Only&#8221; that sets the DN.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wapshere.com\/images\/ilm2-prov-syncrule5.jpg\" border=\"1\" alt=\"\" \/><\/p>\n<p>\u00c2\u00a0<\/p>\n<h3>Create the Set<\/h3>\n<p>Click on <strong>All Sets<\/strong> -&gt; <strong>New<\/strong>.<\/p>\n<p>I created a set called &#8220;_All Users&#8221; with the following dynamic rule. Note the cheat on the employee ID &#8211; at the moment there is no &#8220;Is Present&#8221; test, again an inexplicable oversight. As I&#8217;m in a test environment at the moment I&#8217;m just ensuring all my employeeID values have a &#8220;1&#8221; in them. (Note that &#8220;employeeID is *&#8221; does not work.)<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wapshere.com\/images\/ilm2-prov-set.jpg\" border=\"1\" alt=\"\" \/><\/p>\n<p>\u00c2\u00a0<\/p>\n<h3>Create the Workflow<\/h3>\n<p>Click on <strong>Workflows<\/strong> -&gt; <strong>New<\/strong>.<\/p>\n<p>The following pictures show how I created the Workflow &#8220;_AD Create Users&#8221;.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wapshere.com\/images\/ilm2-prov-workflow1.jpg\" border=\"1\" alt=\"\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wapshere.com\/images\/ilm2-prov-workflow2.jpg\" border=\"1\" alt=\"\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wapshere.com\/images\/ilm2-prov-workflow3.jpg\" border=\"1\" alt=\"\" \/><\/p>\n<blockquote><p>Later note: I think maybe &#8220;Add&#8221; was not the right choice here because I had some trouble with not being able to remove ERLs later on. Perhaps I should have chosen &#8220;Based on Attribute Value&#8221; -\u00c2\u00a0more testing obviously needed.<\/p><\/blockquote>\n<h3>Create the Management Policy<\/h3>\n<p>Click on <strong>Management Policies<\/strong> -&gt; <strong>New<\/strong>.<\/p>\n<p>The following pictures show how I created the Management Policy &#8220;_AD Create Users&#8221;. As I said above, I&#8217;m still learning about these objects, so I do not claim this is the right way to configure it &#8211; this just shows what I did to get provisioning working, after a fashion.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wapshere.com\/images\/ilm2-prov-mpr1.jpg\" border=\"1\" alt=\"\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wapshere.com\/images\/ilm2-prov-mpr2.jpg\" border=\"1\" alt=\"\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wapshere.com\/images\/ilm2-prov-mpr3.jpg\" border=\"1\" alt=\"\" \/><\/p>\n<p>\u00c2\u00a0<\/p>\n<h3>Configure the ILM MA<\/h3>\n<p>You now need to create Import flow rules on the ILM MA to flow all the attributes required by your Synchronization Rule into the metaverse.<\/p>\n<p>Also you must add a flow rule for <strong>expected rules list<\/strong>. I never would have figured this out without help from people on the Connect news group.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wapshere.com\/images\/ilm2-prov-ilmma.jpg\" alt=\"\" \/><\/p>\n<p>\u00c2\u00a0<\/p>\n<h2>Testing<\/h2>\n<p>Start by creating a user directly in the Portal. Make sure you populate whatever you need to so they are eligible for the Set you created above. You also need to populate the <strong>Start Date<\/strong>, so that it is either today, or a day in the past.<\/p>\n<p>After creating the user, check their Provisioning tab &#8211; and if you&#8217;re really luck you should see that they have an expected rules list with a status of &#8220;Pending&#8221;.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wapshere.com\/images\/ilm2-prov-erl-pending.jpg\" border=\"1\" alt=\"\" \/><\/p>\n<p>You can also check the <strong>Search Requests<\/strong> page for information about what has (or has not) been going on in the background.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wapshere.com\/images\/ilm2-prov-searchreqs.jpg\" border=\"1\" alt=\"\" \/><\/p>\n<p>\u00c2\u00a0<\/p>\n<p>Once you&#8217;ve got that pending ERL in place, you should no be ready to run a Full Import and Full Sync of you ILM MA.<\/p>\n<p>Was a new object created in your target MA?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This post did start with a rant about how much trouble I had getting the codeless provisioning to work &#8211; but I&#8217;ve been working with it a bit more now, and have sufficiently got the hang of it, so I have rewritten the introduction to this post. This is not an attenpt to change history&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","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":[25],"tags":[],"class_list":["post-347","post","type-post","status-publish","format-standard","hentry","category-ilm-2"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pkp1o-5B","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/347","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=347"}],"version-history":[{"count":10,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/347\/revisions"}],"predecessor-version":[{"id":353,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/347\/revisions\/353"}],"wp:attachment":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/media?parent=347"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/categories?post=347"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/tags?post=347"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}