{"id":1218,"date":"2012-06-21T13:08:02","date_gmt":"2012-06-21T21:08:02","guid":{"rendered":"\/?p=1218"},"modified":"2012-06-21T13:44:30","modified_gmt":"2012-06-21T21:44:30","slug":"making-good-on-the-promise-of-idmaas","status":"publish","type":"post","link":"https:\/\/www.identityblog.com\/?p=1218","title":{"rendered":"Making Good on the Promise of IdMaaS"},"content":{"rendered":"<p>The second part of <a href=\"https:\/\/twitter.com\/#!\/search\/%40johnshew\">John Shewchuk&#39;s <\/a>blog on Windows Azure Active Directory has been published <a href=\"http:\/\/blogs.msdn.com\/b\/windowsazure\/archive\/2012\/06\/19\/reimagining-active-directory-for-the-social-enterprise-part-2.aspx\" class=\"broken_link\">here<\/a>.\u00a0 John goes into more detail about a number of things,\u00a0focusing on the\u00a0way it allows\u00a0customers to hook their\u00a0Cloud AD into the <a href=\"https:\/\/www.kuppingercole.com\/report\/cb_apieconomy16122011\" class=\"broken_link\">API Economy<\/a> in a controlled and secure way.\u00a0\u00a0<\/p>\n<p>Rather than describe\u00a0John&#39;s blog\u00a0myself I&#39;m going to\u00a0parrot <a href=\"http:\/\/blogs.kuppingercole.com\/burton\/2012\/06\/21\/making-good-on-the-promise-of-idmaas\/\" class=\"broken_link\">the blog post<\/a> that\u00a0<a href=\"http:\/\/blogs.kuppingercole.com\/burton\" class=\"broken_link\">analyst Craig Burton <\/a>put up just a few hours ago.\u00a0 I find it really encouraging to see\u00a0his excitement:\u00a0 it&#39;s the way I feel too, since I also think this is going to open up so many opportunities for innovation,\u00a0make\u00a0developing services simpler\u00a0and make\u00a0the services themselves more secure and respectful of privacy.\u00a0 Here&#39;s <a href=\"http:\/\/blogs.kuppingercole.com\/burton\/2012\/06\/21\/making-good-on-the-promise-of-idmaas\/\" class=\"broken_link\">Craig&#39;s post<\/a>:<\/p>\n<blockquote><p>As a follow up to Microsoft\u2019s announcement of IdMaaS, the company announced the \u2014 to be soon delivered \u2014 <a href=\"http:\/\/blogs.msdn.com\/b\/windowsazure\/archive\/2012\/06\/19\/reimagining-active-directory-for-the-social-enterprise-part-2.aspx\" class=\"broken_link\">developer preview for Windows Azure Active Directory (WAzAD). <\/a>As John Shewchuk puts it:<\/p>\n<blockquote><p>The developer preview, which will be available soon, builds on capabilities that Windows Azure Active Directory is already providing to customers. These include support for integration with consumer-oriented Internet identity providers such as Google and Facebook, and the ability to support Active Directory in deployments that span the cloud and enterprise through synchronization technology.<\/p>\n<p>Together, the existing and new capabilities mean a developer can easily create applications that offer an experience that is connected with other directory-integrated applications. Users get SSO across third-party and Microsoft applications, and information such as organizational contacts, groups, and roles is shared across the applications. From an administrative perspective, Windows Azure Active Directory provides a foundation to manage the life cycle of identities and policy across applications.<\/p>\n<p>In the Windows Azure Active Directory developer preview, we added a new way for applications to easily connect to the directory through the use of REST\/HTTP interfaces.<\/p>\n<p>An authorized application can operate on information in Windows Azure Active Directory through a URL such as:<\/p>\n<p style=\"padding-left: 30px;\">https:\/\/directory.windows.net\/contoso.com\/Users(<a href=\"mailto:\u2018Ed@Contoso.com\u2019\">\u2018Ed@Contoso.com\u2019<\/a>)<\/p>\n<p>Such a URL provides direct access to objects in the directory. For example, an HTTP GET to this URL will provide the following JSON response (abbreviated for readability):<\/p>\n<p>{ \u201cd\u201d: {<br \/>\n&#8220;Manager&#8221;: { &#8220;uri&#8221;:&#8221;https:\/\/directory.windows.net\/contoso.com\/Users(&#8216;User&#8230;&#8217;)\/Manager&#8221; },<br \/>\n&#8220;MemberOf&#8221;: { &#8220;uri&#8221;:&#8221;https:\/\/directory.windows.net\/contoso.com\/Users(&#8216;User&#8230;&#8217;)\/MemberOf&#8221; },<br \/>\n&#8220;ObjectId&#8221;: &#8220;90ef7131-9d01-4177-b5c6-fa2eb873ef19&#8221;,<br \/>\n&#8220;ObjectReference&#8221;: &#8220;User_90ef7131-9d01-4177-b5c6-fa2eb873ef19&#8221;,<br \/>\n&#8220;ObjectType&#8221;: &#8220;User&#8221;,<br \/>\n&#8220;AccountEnabled&#8221;: true,<br \/>\n&#8220;DisplayName&#8221;: &#8220;Ed Blanton&#8221;,<br \/>\n&#8220;GivenName&#8221;: &#8220;Ed&#8221;,<br \/>\n&#8220;Surname&#8221;: &#8220;Blanton&#8221;,<br \/>\n&#8220;UserPrincipalName&#8221;: Ed@contoso.com,<br \/>\n&#8220;Mail&#8221;: Ed@contoso.com,<br \/>\n&#8220;JobTitle&#8221;: &#8220;Vice President&#8221;,<br \/>\n&#8220;Department&#8221;: &#8220;Operations&#8221;,<br \/>\n&#8220;TelephoneNumber&#8221;: &#8220;4258828080&#8221;,<br \/>\n&#8220;Mobile&#8221;: &#8220;2069417891&#8221;,<br \/>\n&#8220;StreetAddress&#8221;: &#8220;One Main Street&#8221;,<br \/>\n&#8220;PhysicalDeliveryOfficeName&#8221;: &#8220;Building 2&#8221;,<br \/>\n&#8220;City&#8221;: &#8220;Redmond&#8221;,<br \/>\n&#8220;State&#8221;: &#8220;WA&#8221;,<br \/>\n&#8220;Country&#8221;: &#8220;US&#8221;,<br \/>\n&#8220;PostalCode&#8221;: &#8220;98007&#8221; }<br \/>\n}<\/p>\n<p>Having a shared directory that enables this integration provides many benefits to developers, administrators, and users. If an application integrates with a shared directory just once\u2014for one corporate customer, for example\u2014in most respects no additional work needs to be done to have that integration apply to other organizations that use Windows Azure Active Directory. For an independent software vendor (ISV), this is a big change from the situation where each time a new customer acquires an application a custom integration needs to be done with the customer\u2019s directory. With the addition of Facebook, Google, and the Microsoft account services, that one integration potentially brings a billion or more identities into the mix. <span style=\"background-color: #ffff00;\">The increase in the scope of applicability is profound<\/span>. (Highlighting is mine &#8211; Craig).<\/p><\/blockquote>\n<p><strong>Now that\u2019s What I\u2019m Talking About<\/strong><\/p>\n<p>There is still a lot to consider in what an IdMaaS system should actually do, but my position is that just the little bit of code reference shown here is a huge leap for usability and simplicity for all of us. I am very encouraged. This would be a major indicator that Microsoft is on the right leadership track to not only providing a specification for an industry design for IdMaaS, but also is on well on its way to delivering a product that will show us all how this is supposed to work.<\/p>\n<p>Bravo!<\/p>\n<p>The article goes on to make commitments on support for OAuth, Open ID Connect, and SAML\/P. No mention of JSON Path support but I will get back to you about that. My guess is that if Microsoft is supporting JSON, JSON Path is also going to be supported. Otherwise it just wouldn\u2019t make sense.<\/p>\n<p><strong>JSON and JSON Path<\/strong><\/p>\n<p><a href=\"https:\/\/www.kuppingercole.com\/report\/cb_apieconomy16122011\" class=\"broken_link\">The API Economy<\/a> is being fueled by the huge trend of accessibility of organization\u2019s core competence through APIs. Almost all of the API development occurring in this trend are based of a RESTful API design with data being encoded in JSON (JavaScript Object Notation). While JSON is not a new specification by any means, it is only in the last 5 years that JSON has emerged as the preferred \u2014 in lieu of XML \u2014 data format. We see this trend only becoming stronger.<\/p>\n<p>[Craig presents a table comparing XPath to XML &#8211; look at it <a href=\"http:\/\/blogs.kuppingercole.com\/burton\/2012\/06\/21\/making-good-on-the-promise-of-idmaas\/\" class=\"broken_link\">here<\/a>.]<\/p>\n<p><strong>Summary<\/strong><\/p>\n<p>As an industry, we are completely underwater in getting our arms around a workable \u2014 distributed and multi-centered identity management metasystem \u2014 that can even come close to addressing the issues that are already upon us. This includes the Consumerization of IT and its subsequent Identity explosion. Let alone the rise of the API Economy. No other vendor has come close to articulating a vision that can get us out of the predicament we are already in. There is no turning back.<\/p>\n<p>Because of the lack leadership (the crew that killed off Information Cards) in the past at Microsoft about its future in Identity Management, I had completely written Microsoft off as being relevant. I would have never expected Microsoft to gain its footing, do an about face, and head in the right direction. Clearly the new leadership has a vision that is ambitious and in alignment with what is needed. Shifting with this much spot on thinking in the time frame we are talking about (a little over 18 months) is tantamount to turning an aircraft carrier 180 degrees in a swimming pool.<\/p>\n<p>I am stunned, pleased and can\u2019t wait to see what happens next.<br \/>\n\u00a0<\/p><\/blockquote>\n<p>I think it goes without saying that &#8220;turning an aircraft carrier 180 degrees in a swimming pool&#8221; is a fractal mixed metaphor of colossal and recursive proportions that boggles the mind &#8211; yet there is more than a little truth to it.\u00a0 In fact that&#39;s really one of the things the cloud demands of us all.<\/p>\n<p>Craig&#39;s question about JSON Path is a good one.\u00a0 The answer is that JSON Path is essentially a way of navigating and extracting information from a JSON document.\u00a0 WAzAD&#39;s Graph API returns JSON documents and if they are complex documents we expect programmers will use JSON Path &#8211; which they already know &#8211; to extract specific information.\u00a0 It will be part of their local programming environment on whatever device or platform they are issuing a query from.<\/p>\n<p>On the other hand, one can imagine supporting JSON Path queries in the RESTful interface itself.\u00a0 Suppose you have a JSON document with many links to other JSON documents.\u00a0 Do you then support &#8220;chaining&#8221; on the server so it follows the links for you and returns the distributed JSON Path result?\u00a0 The problem with this approach is that\u00a0a programming model we want to be ultra-simple and transparent for the programmer turns into something opaque that can have many side effects, become unpredictable\u00a0and exhibit\u00a0performance issues.\u00a0 As far as I know, the social network APIs that are most sophisticated in their use of links don&#39;t support this.\u00a0 They just get the programmer to chase the links that are of interest.<\/p>\n<p>So for these reasons\u00a0server support\u00a0is something we have\u00a0talked about\u00a0but don&#39;t yet have a position on.\u00a0 This is exactly the kind of thing we&#39;d like to explore by collaborating with developers and getting their input.\u00a0 I&#39;d also like to hear what other people have experienced in this regard.<\/p>\n<p>\u00a0<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Craig is stunned, pleased and can\u2019t wait to see what happens next<\/p>\n","protected":false},"author":68,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[2],"tags":[],"_links":{"self":[{"href":"https:\/\/www.identityblog.com\/index.php?rest_route=\/wp\/v2\/posts\/1218"}],"collection":[{"href":"https:\/\/www.identityblog.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.identityblog.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.identityblog.com\/index.php?rest_route=\/wp\/v2\/users\/68"}],"replies":[{"embeddable":true,"href":"https:\/\/www.identityblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1218"}],"version-history":[{"count":0,"href":"https:\/\/www.identityblog.com\/index.php?rest_route=\/wp\/v2\/posts\/1218\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.identityblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1218"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.identityblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1218"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.identityblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1218"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}