Äcdocutils.nodes document q)Åq}q(U nametypesq}q(X ���use case 15 - account managementqNX���uc15qàX���historyqàuUsubstitution_defsq }q Uparse_messagesq]qUcurrent_sourceq NU decorationqNUautofootnote_startqKUnameidsq}q(hUuse-case-15-account-managementqhUuc15qhUhistoryquUchildrenq]q(cdocutils.nodes target q)Åq}q(U rawsourceqX ���.. _UC15:UparentqhUsourceqXj���/var/lib/jenkins/jobs/API_Documentation_trunk/workspace/api-documentation/source/design/UseCases/15_uc.txtqUtagnameqUtargetqU attributesq }q!(Uidsq"]Ubackrefsq#]Udupnamesq$]Uclassesq%]Unamesq&]Urefidq'huUlineq(KUdocumentq)hh]ubcdocutils.nodes section q*)Åq+}q,(hU�hhhhUexpect_referenced_by_nameq-}q.hhshUsectionq/h }q0(h$]h%]h#]h"]q1(hheh&]q2(hheuh(Kh)hUexpect_referenced_by_idq3}q4hhsh]q5(cdocutils.nodes title q6)Åq7}q8(hX ���Use Case 15 - Account Managementq9hh+hhhUtitleq:h }q;(h$]h%]h#]h"]h&]uh(Kh)hh]q<cdocutils.nodes Text q=X ���Use Case 15 - Account Managementq>ÖÅq?}q@(hh9hh7ubaubcsphinx.addnodes index qA)ÅqB}qC(hU�hh+hhhUindexqDh }qE(h"]h#]h$]h%]h&]UentriesqF]qG((UsingleqHX���Use Case 15Uindex-0qIU�NtqJ(hHX���UC15hIU�NtqK(hHX���Manage AccountshIU�NtqL(hHX���userhIU�NtqM(hHX���accounthIU�NtqN(hHX���identityhIU�NtqOeUinlineqPâuh(Kh)hh]ubh)ÅqQ}qR(hU�hh+hhhhh }qS(h"]h#]h$]h%]h&]h'hIuh(Kh)hh]ubcdocutils.nodes definition_list qT)ÅqU}qV(hU�hh+hhh-}hUdefinition_listqWh }qX(h$]h%]h#]h"]qYhIah&]uh(Nh)hh3}qZhIhQsh]q[(cdocutils.nodes definition_list_item q\)Åq]}q^(hX+���Revisions View document revision history_. hhUhhhUdefinition_list_itemq_h }q`(h$]h%]h#]h"]h&]uh(K h]qa(cdocutils.nodes term qb)Åqc}qd(hX ���Revisionsqehh]hhhUtermqfh }qg(h$]h%]h#]h"]h&]uh(K h]qhh=X ���RevisionsqiÖÅqj}qk(hhehhcubaubcdocutils.nodes definition ql)Åqm}qn(hU�h }qo(h$]h%]h#]h"]h&]uhh]h]qpcdocutils.nodes paragraph qq)Åqr}qs(hX ���View document revision history_.hhmhhhU paragraphqth }qu(h$]h%]h#]h"]h&]uh(K h]qv(h=X���View document revision qwÖÅqx}qy(hX���View document revision hhrubcdocutils.nodes reference qz)Åq{}q|(hX���history_Uresolvedq}KhhrhU referenceq~h }q(UnameX���historyqÄUrefuriqÅXî���https://redmine.dataone.org/projects/d1/repository/changes/documents/Projects/cicore/architecture/api-documentation/source/design/UseCases/15_uc.txtqÇh"]h#]h$]h%]h&]uh]qÉh=X���historyqÑÖÅqÖ}qÜ(hU�hh{ubaubh=X���.ÖÅqá}qà(hX���.hhrubeubahU definitionqâubeubh\)Åqä}qã(hXß���Goal Edit a user account. This includes creating, deleting, editing User Account Management - Create new user account on Identity Provider (also edit, delete, ...). hhUhhhh_h }qå(h$]h%]h#]h"]h&]uh(Kh)hh]qç(hb)Åqé}qè(hX���Goalqêhhähhhhfh }që(h$]h%]h#]h"]h&]uh(Kh]qíh=X���GoalqìÖÅqî}qï(hhêhhéubaubhl)Åqñ}qó(hU�h }qò(h$]h%]h#]h"]h&]uhhäh]qô(hq)Åqö}qõ(hX?���Edit a user account. This includes creating, deleting, editingqúhhñhhhhth }qù(h$]h%]h#]h"]h&]uh(Kh]qûh=X?���Edit a user account. This includes creating, deleting, editingqüÖÅq†}q°(hhúhhöubaubhq)Åq¢}q£(hX`���User Account Management - Create new user account on Identity Provider (also edit, delete, ...).q§hhñhhhhth }q•(h$]h%]h#]h"]h&]uh(Kh]q¶h=X`���User Account Management - Create new user account on Identity Provider (also edit, delete, ...).qßÖÅq®}q©(hh§hh¢ubaubehhâubeubh\)Åq™}q´(hXd��Summary Perform basic account management operations. This process can be quite complex depending on the identity provider in use and the security policies that need to be addressed. The use case and interaction presented here assumes a simplistic operation that relies only upon email verification for the new account creation. A more sophisticated interaction might include administrative approval of the new account, selection of an identity provider to use, and assignment of roles based on the level of approval and the nature of the selected identity provider (i.e. trustworthiness of identity provider). hhUhhhh_h }q¨(h$]h%]h#]h"]h&]uh(Kh)hh]q≠(hb)ÅqÆ}qØ(hX���Summaryq∞hh™hhhhfh }q±(h$]h%]h#]h"]h&]uh(Kh]q≤h=X���Summaryq≥ÖÅq¥}qµ(hh∞hhÆubaubhl)Åq∂}q∑(hU�h }q∏(h$]h%]h#]h"]h&]uhh™h]qπ(hq)Åq∫}qª(hX≠���Perform basic account management operations. This process can be quite complex depending on the identity provider in use and the security policies that need to be addressed.qºhh∂hhhhth }qΩ(h$]h%]h#]h"]h&]uh(Kh]qæh=X≠���Perform basic account management operations. This process can be quite complex depending on the identity provider in use and the security policies that need to be addressed.qøÖÅq¿}q¡(hhºhh∫ubaubhq)Åq¬}q√(hX´��The use case and interaction presented here assumes a simplistic operation that relies only upon email verification for the new account creation. A more sophisticated interaction might include administrative approval of the new account, selection of an identity provider to use, and assignment of roles based on the level of approval and the nature of the selected identity provider (i.e. trustworthiness of identity provider).qƒhh∂hhhhth }q≈(h$]h%]h#]h"]h&]uh(Kh]q∆h=X´��The use case and interaction presented here assumes a simplistic operation that relies only upon email verification for the new account creation. A more sophisticated interaction might include administrative approval of the new account, selection of an identity provider to use, and assignment of roles based on the level of approval and the nature of the selected identity provider (i.e. trustworthiness of identity provider).q«ÖÅq»}q…(hhƒhh¬ubaubehhâubeubh\)Åq }qÀ(hXN���Actors - New User - Administrator - Identity provider - Coordinating Node hhUhhhh_h }qÃ(h$]h%]h#]h"]h&]uh(K&h)hh]qÕ(hb)ÅqŒ}qœ(hX���Actorsq–hh hhhhfh }q—(h$]h%]h#]h"]h&]uh(K&h]q“h=X���Actorsq”ÖÅq‘}q’(hh–hhŒubaubhl)Åq÷}q◊(hU�h }qÿ(h$]h%]h#]h"]h&]uhh h]qŸcdocutils.nodes bullet_list q⁄)Åq€}q‹(hU�h }q›(UbulletqfiX���-h"]h#]h$]h%]h&]uhh÷h]qfl(cdocutils.nodes list_item q‡)Åq·}q‚(hX ���New User h }q„(h$]h%]h#]h"]h&]uhh€h]q‰hq)ÅqÂ}qÊ(hX���New UserqÁhh·hhhhth }qË(h$]h%]h#]h"]h&]uh(Kh]qÈh=X���New UserqÍÖÅqÎ}qÏ(hhÁhhÂubaubahU list_itemqÌubh‡)ÅqÓ}qÔ(hX���Administrator h }q(h$]h%]h#]h"]h&]uhh€h]qÒhq)ÅqÚ}qÛ(hX ���AdministratorqÙhhÓhhhhth }qı(h$]h%]h#]h"]h&]uh(K!h]qˆh=X ���Administratorq˜ÖÅq¯}q˘(hhÙhhÚubaubahhÌubh‡)Åq˙}q˚(hX���Identity provider h }q¸(h$]h%]h#]h"]h&]uhh€h]q˝hq)Åq˛}qˇ(hX���Identity providerr���hh˙hhhhth }r��(h$]h%]h#]h"]h&]uh(K#h]r��h=X���Identity providerr��ÖÅr��}r��(hj���hh˛ubaubahhÌubh‡)År��}r��(hX���Coordinating Node h }r��(h$]h%]h#]h"]h&]uhh€h]r ��hq)År ��}r��(hX���Coordinating Noder��hj��hhhhth }r ��(h$]h%]h#]h"]h&]uh(K%h]r��h=X���Coordinating Noder��ÖÅr��}r��(hj��hj ��ubaubahhÌubehUbullet_listr��ubahhâubeubh\)År��}r��(hXR���Preconditions - System is operational and policy is in place to accept new users. hhUhhhh_h }r��(h$]h%]h#]h"]h&]uh(K)h)hh]r��(hb)År��}r��(hX ���Preconditionsr��hj��hhhhfh }r��(h$]h%]h#]h"]h&]uh(K)h]r��h=X ���Preconditionsr��ÖÅr��}r��(hj��hj��ubaubhl)År��}r ��(hU�h }r!��(h$]h%]h#]h"]h&]uhj��h]r"��h⁄)År#��}r$��(hU�h }r%��(hfiX���-h"]h#]h$]h%]h&]uhj��h]r&��h‡)År'��}r(��(hXB���System is operational and policy is in place to accept new users. h }r)��(h$]h%]h#]h"]h&]uhj#��h]r*��hq)År+��}r,��(hXA���System is operational and policy is in place to accept new users.r-��hj'��hhhhth }r.��(h$]h%]h#]h"]h&]uh(K)h]r/��h=XA���System is operational and policy is in place to accept new users.r0��ÖÅr1��}r2��(hj-��hj+��ubaubahhÌubahj��ubahhâubeubh\)År3��}r4��(hX,���Triggers - A new user account is requested. hhUhhhh_h }r5��(h$]h%]h#]h"]h&]uh(K,h)hh]r6��(hb)År7��}r8��(hX���Triggersr9��hj3��hhhhfh }r:��(h$]h%]h#]h"]h&]uh(K,h]r;��h=X���Triggersr<��ÖÅr=��}r>��(hj9��hj7��ubaubhl)År?��}r@��(hU�h }rA��(h$]h%]h#]h"]h&]uhj3��h]rB��h⁄)ÅrC��}rD��(hU�h }rE��(hfiX���-h"]h#]h$]h%]h&]uhj?��h]rF��h‡)ÅrG��}rH��(hX!���A new user account is requested. h }rI��(h$]h%]h#]h"]h&]uhjC��h]rJ��hq)ÅrK��}rL��(hX ���A new user account is requested.rM��hjG��hhhhth }rN��(h$]h%]h#]h"]h&]uh(K,h]rO��h=X ���A new user account is requested.rP��ÖÅrQ��}rR��(hjM��hjK��ubaubahhÌubahj��ubahhâubeubh\)ÅrS��}rT��(hXù���Post Conditions - New account is created (if accepted) - Access control rules for new account are specified - Account information is replicated across CNs hhUhhhh_h }rU��(h$]h%]h#]h"]h&]uh(K3h)hh]rV��(hb)ÅrW��}rX��(hX���Post ConditionsrY��hjS��hhhhfh }rZ��(h$]h%]h#]h"]h&]uh(K3h]r[��h=X���Post Conditionsr\��ÖÅr]��}r^��(hjY��hjW��ubaubhl)År_��}r`��(hU�h }ra��(h$]h%]h#]h"]h&]uhjS��h]rb��h⁄)Årc��}rd��(hU�h }re��(hfiX���-h"]h#]h$]h%]h&]uhj_��h]rf��(h‡)Årg��}rh��(hX%���New account is created (if accepted) h }ri��(h$]h%]h#]h"]h&]uhjc��h]rj��hq)Årk��}rl��(hX$���New account is created (if accepted)rm��hjg��hhhhth }rn��(h$]h%]h#]h"]h&]uh(K/h]ro��h=X$���New account is created (if accepted)rp��ÖÅrq��}rr��(hjm��hjk��ubaubahhÌubh‡)Års��}rt��(hX3���Access control rules for new account are specified h }ru��(h$]h%]h#]h"]h&]uhjc��h]rv��hq)Årw��}rx��(hX2���Access control rules for new account are specifiedry��hjs��hhhhth }rz��(h$]h%]h#]h"]h&]uh(K1h]r{��h=X2���Access control rules for new account are specifiedr|��ÖÅr}��}r~��(hjy��hjw��ubaubahhÌubh‡)År��}rÄ��(hX-���Account information is replicated across CNs h }rÅ��(h$]h%]h#]h"]h&]uhjc��h]rÇ��hq)ÅrÉ��}rÑ��(hX,���Account information is replicated across CNsrÖ��hj��hhhhth }rÜ��(h$]h%]h#]h"]h&]uh(K3h]rá��h=X,���Account information is replicated across CNsrà��ÖÅrâ��}rä��(hjÖ��hjÉ��ubaubahhÌubehj��ubahhâubeubeubcdocutils.nodes comment rã��)Årå��}rç��(hXQ��@startuml images/15_seq.png actor User participant "Client" as app_client << Application >> User -> app_client participant "Authentication API" as c_authenticate << Coordinating Node >> app_client -> c_authenticate: newAccount (user, pw) app_client <-- c_authenticate: token or failure User <-- c_authenticate: email confirmation @endumlhh+hhhUcommentré��h }rè��(U xml:spacerê��Upreserverë��h"]h#]h$]h%]h&]uh(K?h)hh]rí��h=XQ��@startuml images/15_seq.png actor User participant "Client" as app_client << Application >> User -> app_client participant "Authentication API" as c_authenticate << Coordinating Node >> app_client -> c_authenticate: newAccount (user, pw) app_client <-- c_authenticate: token or failure User <-- c_authenticate: email confirmation @endumlrì��ÖÅrî��}rï��(hU�hjå��ubaubcdocutils.nodes image rñ��)Åró��}rò��(hX���.. image:: images/15_seq.png hh+hhhUimagerô��h }rö��(UuriX!���design/UseCases/images/15_seq.pngrõ��h"]h#]h$]h%]U candidatesrú��}rù��U*jõ��sh&]uh(KAh)hh]ubhq)Årû��}rü��(hX)���*Figure 1.* Interactions for use case 15.r†��hh+hhhhth }r°��(h$]h%]h#]h"]h&]uh(KBh)hh]r¢��(cdocutils.nodes emphasis r£��)År§��}r•��(hX���*Figure 1.*h }r¶��(h$]h%]h#]h"]h&]uhjû��h]rß��h=X ���Figure 1.r®��ÖÅr©��}r™��(hU�hj§��ubahUemphasisr´��ubh=X��� Interactions for use case 15.r¨��ÖÅr≠��}rÆ��(hX��� Interactions for use case 15.hjû��ubeubhq)ÅrØ��}r∞��(hX ���**Notes**r±��hh+hhhhth }r≤��(h$]h%]h#]h"]h&]uh(KEh)hh]r≥��cdocutils.nodes strong r¥��)Årµ��}r∂��(hj±��h }r∑��(h$]h%]h#]h"]h&]uhjØ��h]r∏��h=X���Notesrπ��ÖÅr∫��}rª��(hU�hjµ��ubahUstrongrº��ubaubh⁄)ÅrΩ��}ræ��(hU�hh+hhhj��h }rø��(hfiX���-h"]h#]h$]h%]h&]uh(KGh)hh]r¿��(h‡)År¡��}r¬��(hX≥���By default, accounts have no real privileges. To get higher privileges, users may have to jump through more hoops (such as verifying their association with a project/institution) hjΩ��hhhhÌh }r√��(h$]h%]h#]h"]h&]uh(Nh)hh]rƒ��hq)År≈��}r∆��(hX≤���By default, accounts have no real privileges. To get higher privileges, users may have to jump through more hoops (such as verifying their association with a project/institution)r«��hj¡��hhhhth }r»��(h$]h%]h#]h"]h&]uh(KGh]r…��h=X≤���By default, accounts have no real privileges. To get higher privileges, users may have to jump through more hoops (such as verifying their association with a project/institution)r ��ÖÅrÀ��}rÃ��(hj«��hj≈��ubaubaubh‡)ÅrÕ��}rŒ��(hXä���Presumably, if we are using external identity providers this user account management functionality isn't provided by the CN. Right? (PEA) hjΩ��hhhhÌh }rœ��(h$]h%]h#]h"]h&]uh(Nh)hh]r–��hq)År—��}r“��(hXâ���Presumably, if we are using external identity providers this user account management functionality isn't provided by the CN. Right? (PEA)r”��hjÕ��hhhhth }r‘��(h$]h%]h#]h"]h&]uh(KKh]r’��h=Xâ���Presumably, if we are using external identity providers this user account management functionality isn't provided by the CN. Right? (PEA)r÷��ÖÅr◊��}rÿ��(hj”��hj—��ubaubaubeubh)ÅrŸ��}r⁄��(hX°���.. _history: https://redmine.dataone.org/projects/d1/repository/changes/documents/Projects/cicore/architecture/api-documentation/source/design/UseCases/15_uc.txtU referencedr€��Khh+hhhhh }r‹��(hÅhÇh"]r›��hah#]h$]h%]h&]rfi��hauh(KNh)hh]ubeubehU�Utransformerrfl��NU footnote_refsr‡��}r·��Urefnamesr‚��}r„��hÄ]r‰��h{asUsymbol_footnotesrÂ��]rÊ��Uautofootnote_refsrÁ��]rË��Usymbol_footnote_refsrÈ��]rÍ��U citationsrÎ��]rÏ��h)hUcurrent_linerÌ��NUtransform_messagesrÓ��]rÔ��(cdocutils.nodes system_message r��)ÅrÒ��}rÚ��(hU�h }rÛ��(h$]UlevelKh"]h#]Usourcehh%]h&]UlineKUtypeUINFOrÙ��uh]rı��hq)Årˆ��}r˜��(hU�h }r¯��(h$]h%]h#]h"]h&]uhjÒ��h]r˘��h=X*���Hyperlink target "uc15" is not referenced.r˙��ÖÅr˚��}r¸��(hU�hjˆ��ubahhtubahUsystem_messager˝��ubj��)År˛��}rˇ��(hU�h }r���(h$]UlevelKh"]h#]Usourcehh%]h&]UlineKUtypejÙ��uh]r��hq)År��}r��(hU�h }r��(h$]h%]h#]h"]h&]uhj˛��h]r��h=X-���Hyperlink target "index-0" is not referenced.r��ÖÅr��}r��(hU�hj��ubahhtubahj˝��ubeUreporterr ��NUid_startr ��KU autofootnotesr��]r��U citation_refsr ��}r��Uindirect_targetsr��]r��Usettingsr��(cdocutils.frontend Values r��or��}r��(Ufootnote_backlinksr��KUrecord_dependenciesr��NUrfc_base_urlr��Uhttps://tools.ietf.org/html/r��U tracebackr��àUpep_referencesr��NUstrip_commentsr��NU toc_backlinksr��Uentryr��U language_coder��Uenr��U datestampr ��NUreport_levelr!��KU_destinationr"��NU halt_levelr#��KU strip_classesr$��Nh:NUerror_encoding_error_handlerr%��Ubackslashreplacer&��Udebugr'��NUembed_stylesheetr(��âUoutput_encoding_error_handlerr)��Ustrictr*��U sectnum_xformr+��KUdump_transformsr,��NU docinfo_xformr-��KUwarning_streamr.��NUpep_file_url_templater/��Upep-%04dr0��Uexit_status_levelr1��KUconfigr2��NUstrict_visitorr3��NUcloak_email_addressesr4��àUtrim_footnote_reference_spacer5��âUenvr6��NUdump_pseudo_xmlr7��NUexpose_internalsr8��NUsectsubtitle_xformr9��âUsource_linkr:��NUrfc_referencesr;��NUoutput_encodingr<��Uutf-8r=��U source_urlr>��NUinput_encodingr?��U utf-8-sigr@��U_disable_configrA��NU id_prefixrB��U�U tab_widthrC��KUerror_encodingrD��UUTF-8rE��U_sourcerF��hUgettext_compactrG��àU generatorrH��NUdump_internalsrI��NUsmart_quotesrJ��âUpep_base_urlrK��U https://www.python.org/dev/peps/rL��Usyntax_highlightrM��UlongrN��Uinput_encoding_error_handlerrO��j*��Uauto_id_prefixrP��UidrQ��Udoctitle_xformrR��âUstrip_elements_with_classesrS��NU _config_filesrT��]Ufile_insertion_enabledrU��àUraw_enabledrV��KU dump_settingsrW��NubUsymbol_footnote_startrX��K�UidsrY��}rZ��(hh+hIhUhh+hjŸ��uUsubstitution_namesr[��}r\��hh)h }r]��(h$]h"]h#]Usourcehh%]h&]uU footnotesr^��]r_��Urefidsr`��}ra��(hI]rb��hQah]rc��hauub.