1 2 3 4 5 OASIS Service Provisioning Markup Language (SPML) Roadmap Committee Working Draft 0.1 14 May 2003 7 Document identifier: draft-pstcroadmap-01.doc 8 Location: http://www.oasis-open.org/committees/provision/docs/ 9 Send comments to: pstc-comment@lists.oasis-open.org 6 10 11 12 13 Editor: Rami Elron, BMC Contributors: 14 15 16 17 Doron Cohen, BMC Darran Rolls, Waveset Technologies Abstract: 18 19 This document portrays concepts, objectives and major milestones of the SPML roadmap plan. 20 21 Status: 22 23 This version of the specification is a working draft of the committee. As such, it is expected to change prior to adoption as an OASIS standard. 24 25 26 27 If you are on the provision list for committee members, send comments there. If you are not on that list, subscribe to the provision-comment@lists.oasis-open.org list and send comments there. To subscribe, send an email message to provision-commentrequest@lists.oasis-open.org with the word "subscribe" as the body of the message. draft-pstc-roadmap01.doc 1 28 29 Copyright (C) OASIS Open 2002. All Rights Reserved. draft-pstc-roadmap01.doc 2 30 Table of contents 31 1. Introduction 4 32 2. Provisioning – so far 4 33 3. A vision for provisioning 4 34 4. More on SPML data and verb mapping 9 35 Appendix A. References 12 36 Appendix B. Acknowledgments 13 37 Appendix C. Revision history 14 38 Appendix D. Notices 15 39 draft-pstc-roadmap01.doc 3 40 41 1. Introduction 42 43 44 45 46 47 48 49 50 51 Over the last couple of years, we have witnessed a steady and significant increase in the importance of provisioning. The term known by very few not too long ago is by now an important piece in the enterprise IT jigsaw, and provisioning software proves to be an indispensable tool for supporting and monitoring daily business operations in the burgeoning marketplace. Having said that, the utilization of provisioning applications in organizations is merely a first step towards realizing the enormous potential provisioning promises. Its importance is mostly evidenced in managing internal company data, but we approach the point where provisioning services are required on a much broader scale. The significance attributed to global digital identity, web services and secured access to such services is a testament to this trend and an additional proof that the key success factor for a provisioning vision lies in two things: standards and interoperability. 52 53 2. Provisioning – so far 54 55 56 57 58 59 60 61 62 63 64 Provisioning may be roughly described as the definition, management and automation of processes, which govern the lifecycle of computer-stored identities. These identities consist generally of users, but various implementations include resource identities as well. Implementation of provisioning solutions varies from one company to another, but most share a common objective – to address issues concerning administrative overhead and security risks inherent with management of multiple account repositories. Hiring a new employee often necessitates the creation of multiple user accounts in various applications and operating systems, according to the relevant job description. During the course of employment, account properties need to be changed occasionally to accommodate new job descriptions and new responsibilities. Upon job termination, it is required to immediately revoke (and possibly remove totally) relevant user accounts to block further access to restricted company data and resources. 65 66 67 68 69 70 These needs and more have spawned a long list of provisioning vendors and solutions. However, lacking hitherto any standard definition and clear scope, provisioning has evolved to encompass today many aspects of the ‘Identity Management’ space, including password management, access management, and more. Add to that a proprietary service API for each vendor’s offering and it comes to no surprise that even minimal interoperability between implementations is questionable at best. 71 72 3. A vision for provisioning 73 74 75 76 77 Today provisioning is generally associated with ‘User provisioning’ or ‘Account Provisioning’. In the future though, it is not inconceivable that provisioning will be used in the broader context of ‘Service Provisioning’. One could likely envision an information world with service requestors, service providers and service brokers (constituting a hierarchy of service) – all identifiable, and exploiting a common, standard, effective, secure and scalable framework to exchange provisioning requests. draft-pstc-roadmap01.doc 4 78 79 80 81 82 83 84 85 86 SPML stands for Service Provisioning Markup Language – a specification created by the OASIS Provisioning Services Technical Committee (PSTC). The SPML initiative was born to answer an urging business need – to offer a standard, expressive way to convey and exchange provisioning data and operations between communicating parties. In light of the previous paragraphs though, it is much more than a mere dialect. The specification is designed to play a vital part in stimulating adoption of provisioning best practices. Thus, it comes to no surprise that SPML should be regarded as nothing less than a standard framework to manage provisioning services in the future marketplace. This becomes more apparent as one considers the impact provisioning has had on businesses so far. 87 88 89 90 91 Current provisioning implementations often do not have much in common, even from the standpoint of objectives. Whereas one company uses provisioning software to enable central management of identity-based data, another might require such a solution for development purposes or even auditing. Much of this stem of the fact that provisioning is neither a trivial term nor an easy concept to grasp and it suffers from proliferation of ‘meanings’. 92 93 94 The current SPML specification is the first step in a path to establish a comprehensive provisioning framework for global interoperable services. The SPML committee members made every effort to ensure that even in its first version, the specification supports the following: 95 96 Ability to build effective solutions for client practical needs 97 98 Flexibility to incorporate changes necessary to accommodate changing market requirements 99 Optimal utilization of existing and proven standards wherever possible 100 101 Freedom for service providers to offer extended functionality without breaching the standard specification 102 Interoperability among service providers 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 Interoperability may mean different things to different people, but in the context of a provision-esque language specification it probably translates best to letting requestors submit requests to a service point with minimal (or no) concern with the particular provider’s service implementation. One approach for a solution is to standardize on an appropriate set of verbs that mirror real world provisioning requests. This approach has much appeal since it theoretically allows a requestor to use a single format to request a given service from multiple service providers. A different approach is to restrict provisioning verbs to a set of ‘core’ operations that act on a standard schema where specific object classes and attributes mirror common provisioning scenario objects. So in essence one approach favors the mirroring of provisioning ‘verbs’ whilst another favors mirroring of provisioning objects. Alas, both ‘pure’ approaches do not lend themselves easily to accommodate every imaginable provisioning scenario - at least not without necessitating some sort of extension mechanism to be included in the model. Such an extension could allow any provider to still offer requestors with access to non-standardized functionality. Of course – there is no interoperability in this solution – bringing us back to square one. But there IS a solution. By combining the best of the aforementioned approaches and introducing some necessary mapping functionality it is quite possible to cover all the aspects needed to solve the interoperability challenge. These pieces include (1) a data schema specifying PSTC-approved provisioning object classes and relevant attributes; (2) a core set of generic operations (e.g. add, modify, delete), which can be used independently, or sequenced to form complex workflows acting on the data schema objects; (3) an ability to let providers extend both data schema and operation ‘verbs’ to offer clients with nonstandard proprietary provisioning services; (4) sequencing functionality to link several ‘core’ draft-pstc-roadmap01.doc 5 125 126 127 128 commands together to form complex commands, without resorting to proprietary, non-interoperable verbs; (5) discovery mechanism to enable providers to expose the details of their service options so requestors can learn about them and utilize them accordingly; (6) mapping specifications to link proprietary verbs with standard verbs, proprietary objects/attributes to standard objects/attributes. 129 130 131 The PSTC decided to pursue the vision for interoperable provisioning in a phased approach, starting with the implementation of a core operations model in which provisioning operations are manifested by applying generic operations on a standard data schema. 132 133 The committee has devised a work plan focusing on the achievement of the following objectives: 134 135 136 Reach accepted definition of “provisioning”; preparation of a mission statement for the provisioning service markup language (SPML) 137 Scope provisioning solution to be addressed by the specification 138 Define roadmap for achieving the goals set in the vision statement 139 Define deliverables of first phase major milestone – SPML version 1.0 140 o Identify business scenarios where provisioning play a recognizable role 141 o Identify roles and operations in provisioning scenarios 142 o Typify provisioning scenarios 143 o Identify services pertinent to provisioning scenarios 144 o Define logic model for provisioning solution 145 o Identify and review relevant existing standards 146 o Define functions to support elementary provisioning services 147 148 o Define protocol for submittal and reception of provisioning requests/responses 149 o Review protocol 150 o Build prototype for feasibility/validity testing and demonstration 151 o Submit version 1.0 for approval 152 Initiate work on roadmap phase 2 draft-pstc-roadmap01.doc 6 SPML SPML Named Named Command Command sets sets Provider Provider Named Named Command Command Sets Sets Client Client Virtual Virtual Commands Commands SPML SPML Mapping Mapping Schema Schema SPML SPML Standard Standard Requests Requests SPML SPML Extended Extended Fields Fields Provider Provider Extended Extended Requests Requests SPML SPML Standard Standard Fields Fields Provider Provider Extended Extended Fields Fields SPML Version 1.0 SPML Version 1.1 SPML Version 2.0 153 154 Figure 1: SPML functional blocks 155 156 Inception 0 Phase 1:SPML v1.0 1 Interim Phase:SPML v1.1 1.1 1.1 Standard Standard language language for for Add, Add, Modify, Modify, Search Search and and Delete Delete request request types types XML XML Schema Schema protocol protocol Query Query model model for for element element discovery discovery Bindings Bindings for for SOAP/HTTP SOAP/HTTP and and file file Ordered Ordered batches batches of of requests requests Synchronous Synchronous and and Asynchronous Asynchronous execution execution Provider Provider defines defines Extended Extended Requests Requests Core Core data data model model (standard (standard fields) fields) –– v.1.1 v.1.1 Phase 2:SPML v2.0 2 Extended Extended data data model model Extended Extended verbs verbs Integration Integration with with business business process process languages languages Named Named Command Command Sets Sets Mapping Mapping Schema Schema Virtual Virtual Routines Routines 157 158 Figure 2: SPML roadmap 159 draft-pstc-roadmap01.doc 7 160 161 162 163 164 165 166 167 The functional specification of SPML v1.0 lays the foundation for realizing the provisioning vision by defining a provisioning lingua franca. This offers clients and service providers with the means to express provisioning directives and pertinent information in a standard fashion, using straightforward verbs. While it borrows various aspects from proven standards, SPML is a genuine protocol sporting features intentionally designed to support provisioning scenarios as befits a provisioning-oriented standard. While planned to be addressed fully in the next version, interoperability is maintained to an extent thanks to the core standard schema included in the SPML specification. 168 169 The SPML version 1.0 specification features the following: 170 171 172 XML schema-based protocol for exchanging provisioning messages between a client and a service provider. 173 174 Core provisioning operations for realization of elementary ‘micro-provisioning’ data services – addition, modification, deletion and search 175 176 177 Query model providing a service-requestor (client) with an ability to discover details about provisioning data and operations he is authorized to request with respect to a given service provider 178 179 180 Ability for a service provider to define and implement Extended Requests – specially constructed verbs for operations not covered by the SPML specification, still conforming to standard rules. 181 182 Definition of batch requests – collection of operations requested to be handled as a single entity of operation 183 Support for synchronous and asynchronous requests 184 File and SOAP/HTTP bindings 185 Core data model for maintaining an accepted level of interoperability 186 187 188 189 190 191 192 193 194 195 196 The SPML version 2.0 specification will improve on its predecessor in two main areas – the data model and verb model. Focusing chiefly on interoperability, the version 2.0 specification will feature a broader core data model for enabling a higher degree of interoperability than possible before. To abet this, SPML 2.0 will specify two mapping protocols – one for data and one for verbs. The data mapping protocol will enable service providers to support standard SPML field arguments while implementing a different proprietary data model. The verb mapping protocol shall enable a proprietary request verb to be used in lieu of a corresponding standard request. Coupled with a new functionality to support naming of command sets, it will be possible to create complex ‘macro-like’ commands consisting of (ergo – mapped to) ordinary ‘core’ commands. The core set of commands defined in v1.0 will be enhanced as well. 197 198 In addition, SPML v2.0 will be revised to accommodate new emerging standards available by then (e.g. BPEL). 199 200 draft-pstc-roadmap01.doc 8 201 The functional specification of SPML version 2.0 will address the following: 202 203 204 205 206 207 208 209 210 211 Extended and expanded data model scheme – new and revised fields SPML 2.0 will build on the framework presented in SPML 1.0 and 1.1 while adding new functionality to support creation, management, discovery and mapping of “field namespaces” – named definition sets of fields relating to a particular market segment. Such functionality could allow separate parties to agree on a standard ‘field set’ and refer to it in a standard manner, without necessitating the involvement of a standards body to incorporate the specific data into a common schema. The role of SPML is to specify a standard for the creation, format, publication, discovery and usage of such data. 212 213 214 215 216 217 218 219 220 221 222 223 224 225 Extended scheme for standard verbs SPML 1.0 provides a powerful way to express provisioning requests. However, its interoperability chiefly depends on the adoption of a standard schema specifying common and accepted objectclasses. It is reasonable to assume that in order to facilitate scalability and still ensure interoperability, some sort of federation or distributed scheme should be used. SPML will address these cardinal issues in two aspects. From the data perspective, SPML 2.0 will specify a standard model for schema hierarchies and relations. From the operation side, SPML 2.0 will specify an extended set of standard verbs (in addition to the existing ‘core’ add, modify, search, delete), which will be in fact mapped sequences (see named command sets) of core verbs with ‘pre-configured’ attributes, albeit with options to let an implementer add (but not remove!) additional commands to the sequence. This way, there will be a common understanding of what basically constitutes a command, while still enabling extensions by service providers. 226 Support for field and verb mapping 227 228 229 230 231 Support for named command sets SPML 2.0 will support the creation of core verb sequencing – i.e. the chaining of add, modify, delete, search verbs acting on specified objectclasses, and using specified attributes – under a given name. This named request will be referenced in the schema and could be referred similarly to ordinary core verbs. 232 233 234 235 Expanded discovery mechanism for provider capabilities SPML 2.0 will expand on the discovery specification of version 1.0 to enable requesting authorities to discover functional enhancements introduced in any new version of SPML in addition to the capabilities already supported before. 236 Accommodation of new relevant standards 237 238 4. More on SPML data and verb mapping 239 240 241 What is SPML data and verb mapping? Simply put, it is a means for enabling translation between any two SPML-supporting providers’ proprietary (i.e. extended) provisioning dialects (PD) - using the standard SPML schema as a common denominator ‘bridge’. 242 243 As the SPML schema is still in its infancy and evolving, it obviously does not address yet every possible provisioning scenario, and it is arguable whether ANY schema could ultimately provide draft-pstc-roadmap01.doc 9 244 245 246 247 such capability along with unanimous concurrence of all provisioning services to adopt it AS IS. In reality, service providers and vendors alike will each continue to strive to offer a smorgasbord of new features along with enhanced functionality that requires the addition of new, non-standard objectclasses or the use of extended requests, thus impeding the vision of interoperability. 248 249 250 There are compelling reasons to implement mapping. First and foremost is interoperability. Within the SPML provisioning vision, interoperability ultimately translates to two things: 251 252 253 1. Letting any SPML-compliant requestor (SR) use a single un-modified PD to request provisioning services from any SPML-compliant provider (SP) (e.g. submitting a single format revoke request for an account.). 254 255 2. Letting any given SP construct a single un-modified PD to communicate with any SR (e.g. responding uniformly to a revoke request submitted by non-uniform PDs). 256 257 Why is all this needed? Here are just a few examples: 258 259 260 1. An SR needs to access multiple SPs for a similar service, however each of the SPs has a different implementation of objectclasses and verbs. The SR does not want to implement multiple request dialects. 261 2. An SR wishes to replace the SP, sans modifying PD code. 262 263 264 3. An SR employs a complex request model and favors submittal of high-level requests that mirror this model over submittal of simpler ‘atomic’ requests. Moreover, the SR wants to receive responses correlating to such requests. 265 266 4. An SR wishes to use the services of a specific SP, but not at the expense of using proprietary requests and losing interoperability. 267 268 5. An SP wishes to implement extended functionality that is not covered in the SPML standard spec – but without resorting to non-interoperable Extended Requests. 269 270 6. An SP wishes to use a different term for specific objectclasses and verbs without breaching compliance to SPML standards. 271 272 273 To facilitate such capabilities, translation services are required, providing some sort of mapping between specific PD elements and SPML standard schema elements. 274 275 The following is a non-exhaustive list of questions that arise with respect to dialects: 276 277 278 1. Who is entitled to define a PD? Is every SR entitled to do so or is the ‘creation’ of a PD a prerogative given to specific parties? If yes – who is involved here? Who authorizes the PD? Who maintains the PD? 279 280 2. What kinds of verbs and data are allowed to be mapped? Are there exceptions, or is everything map-able? 281 3. How (if at all) is dialect mapping related to the SPML support for internationality? draft-pstc-roadmap01.doc 10 282 4. Who provides the dictionary for a PD? 283 284 5. How is the dictionary constructed? What does it include? Who is responsible for the dictionary spec? 285 286 6. Who is responsible for performing the mapping (the Mapper) – is it the SR, the SP or a 3rd party specialized service? 287 7. How is the Mapper referenced in a provisioning message? 288 8. How does one discover Mapper services? 289 9. How are Mapper services described and accessed? 290 10. What is required from SPs to support PDs? What is required from SRs? 291 292 293 294 295 296 Obviously, finding an optimal solution to all those questions is not trivial, yet not necessarily a staggering undertaking either. Given the aforementioned issues, it is reasonable to regard the SPML schema not as THE provisioning sole dialect but as a core foundation for constructing provisioning dialects, furnishing service providers with the proper building blocks to express any complex sequence of requests and responses deemed necessary. 297 298 299 Such a mechanism would allow providers to construct their own custom dialect based on the SPML core building blocks. By having providers support a common standard mapping scheme, it is possible for customers to converse with any SPML-compliant provider. 300 301 draft-pstc-roadmap01.doc 11 302 Appendix A. References 303 304 305 306 draft-pstc-roadmap01.doc 12 307 Appendix B. Acknowledgments 308 309 The following individuals were voting members of the Provisioning Services committee at the time that this version of the specification was issued: 310 List Members Here: draft-pstc-roadmap01.doc 13 311 Appendix C. Revision history Rev Date By whom What D-01 14 May 2003 Editor 1.0 SPML Roadmap 312 draft-pstc-roadmap01.doc 14 313 Appendix D. Notices 314 315 316 317 318 319 320 321 322 OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS's procedures with respect to rights in OASIS specifications can be found at the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification, can be obtained from the OASIS Executive Director. 323 324 OASIS has been notified of intellectual property rights claimed in regard to some or all of the contents of this specification. For more information consult the online list of claimed rights. 325 326 327 OASIS invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to implement this specification. Please address the information to the OASIS Executive Director. 328 Copyright (C) OASIS Open 2002. All Rights Reserved. 329 330 331 332 333 334 335 336 This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to OASIS, except as needed for the purpose of developing OASIS specifications, in which case the procedures for copyrights defined in the OASIS Intellectual Property Rights document must be followed, or as required to translate it into languages other than English. 337 338 The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns. 339 340 341 342 343 This document and the information contained herein is provided on an “AS IS” basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. draft-pstc-roadmap01.doc 15