€cdocutils.nodes document q)q}q(U nametypesq}q(X use case 15 - account managementqNXuc15qˆXhistoryqˆuUsubstitution_defsq }q Uparse_messagesq ]q Ucurrent_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,(hUhhhhUexpect_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…q?}q@(hh9hh7ubaubcsphinx.addnodes index qA)qB}qC(hUhh+hhhUindexqDh }qE(h"]h#]h$]h%]h&]UentriesqF]qG((UsingleqHX Use Case 15Uindex-0qIUNtqJ(hHXUC15hIUNtqK(hHXManage AccountshIUNtqL(hHXuserhIUNtqM(hHXaccounthIUNtqN(hHXidentityhIUNtqOeUinlineqP‰uh(Kh)hh]ubh)qQ}qR(hUhh+hhhhh }qS(h"]h#]h$]h%]h&]h'hIuh(Kh)hh]ubcdocutils.nodes definition_list qT)qU}qV(hUhh+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(hUh }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=XView document revision qw…qx}qy(hXView document revision hhrubcdocutils.nodes reference qz)q{}q|(hXhistory_Uresolvedq}KhhrhU referenceq~h }q(UnameXhistoryq€UrefuriqX”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=Xhistoryq„…q…}q†(hUhh{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(hXGoalqhhŠhhhhfh }q‘(h$]h%]h#]h"]h&]uh(Kh]q’h=XGoalq“…q”}q•(hhhhŽubaubhl)q–}q—(hUh }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(K h]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«(hXdSummary 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¯(hXSummaryq°hhªhhhhfh }q±(h$]h%]h#]h"]h&]uh(Kh]q²h=XSummaryq³…q´}qµ(hh°hh®ubaubhl)q¶}q·(hUh }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Ë(hXNActors - New User - Administrator - Identity provider - Coordinating Node hhUhhhh_h }qÌ(h$]h%]h#]h"]h&]uh(K&h)hh]qÍ(hb)qÎ}qÏ(hXActorsqÐhhÊhhhhfh }qÑ(h$]h%]h#]h"]h&]uh(K&h]qÒh=XActorsqÓ…qÔ}qÕ(hhÐhhÎubaubhl)qÖ}q×(hUh }qØ(h$]h%]h#]h"]h&]uhhÊh]qÙcdocutils.nodes bullet_list qÚ)qÛ}qÜ(hUh }qÝ(UbulletqÞX-h"]h#]h$]h%]h&]uhhÖh]qß(cdocutils.nodes list_item qà)qá}qâ(hX New User h }qã(h$]h%]h#]h"]h&]uhhÛh]qähq)qå}qæ(hXNew Userqçhháhhhhth }qè(h$]h%]h#]h"]h&]uh(Kh]qéh=XNew Userqê…që}qì(hhçhhåubaubahU list_itemqíubhà)qî}qï(hXAdministrator 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û(hXIdentity provider h }qü(h$]h%]h#]h"]h&]uhhÛh]qýhq)qþ}qÿ(hXIdentity providerrhhúhhhhth }r(h$]h%]h#]h"]h&]uh(K#h]rh=XIdentity providerr…r}r(hjhhþubaubahhíubhà)r}r(hXCoordinating Node h }r(h$]h%]h#]h"]h&]uhhÛh]r hq)r }r (hXCoordinating Noder hjhhhhth }r (h$]h%]h#]h"]h&]uh(K%h]rh=XCoordinating Noder…r}r(hj hj ubaubahhíubehU bullet_listrubahh‰ubeubh\)r}r(hXRPreconditions - 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 Preconditionsrhjhhhhfh }r(h$]h%]h#]h"]h&]uh(K)h]rh=X Preconditionsr…r}r(hjhjubaubhl)r}r (hUh }r!(h$]h%]h#]h"]h&]uhjh]r"hÚ)r#}r$(hUh }r%(hÞX-h"]h#]h$]h%]h&]uhjh]r&hà)r'}r((hXBSystem is operational and policy is in place to accept new users. h }r)(h$]h%]h#]h"]h&]uhj#h]r*hq)r+}r,(hXASystem 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=XASystem is operational and policy is in place to accept new users.r0…r1}r2(hj-hj+ubaubahhíubahjubahh‰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(hXTriggersr9hj3hhhhfh }r:(h$]h%]h#]h"]h&]uh(K,h]r;h=XTriggersr<…r=}r>(hj9hj7ubaubhl)r?}r@(hUh }rA(h$]h%]h#]h"]h&]uhj3h]rBhÚ)rC}rD(hUh }rE(hÞX-h"]h#]h$]h%]h&]uhj?h]rFhà)rG}rH(hX!A new user account is requested. h }rI(h$]h%]h#]h"]h&]uhjCh]rJhq)rK}rL(hX A new user account is requested.rMhjGhhhhth }rN(h$]h%]h#]h"]h&]uh(K,h]rOh=X A new user account is requested.rP…rQ}rR(hjMhjKubaubahhíubahjubahh‰ubeubh\)rS}rT(hXPost 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(hXPost ConditionsrYhjShhhhfh }rZ(h$]h%]h#]h"]h&]uh(K3h]r[h=XPost Conditionsr\…r]}r^(hjYhjWubaubhl)r_}r`(hUh }ra(h$]h%]h#]h"]h&]uhjSh]rbhÚ)rc}rd(hUh }re(hÞX-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&]uhjch]rjhq)rk}rl(hX$New account is created (if accepted)rmhjghhhhth }rn(h$]h%]h#]h"]h&]uh(K/h]roh=X$New account is created (if accepted)rp…rq}rr(hjmhjkubaubahhíubhà)rs}rt(hX3Access control rules for new account are specified h }ru(h$]h%]h#]h"]h&]uhjch]rvhq)rw}rx(hX2Access control rules for new account are specifiedryhjshhhhth }rz(h$]h%]h#]h"]h&]uh(K1h]r{h=X2Access control rules for new account are specifiedr|…r}}r~(hjyhjwubaubahhíubhà)r}r€(hX-Account information is replicated across CNs h }r(h$]h%]h#]h"]h&]uhjch]r‚hq)rƒ}r„(hX,Account information is replicated across CNsr…hjhhhhth }r†(h$]h%]h#]h"]h&]uh(K3h]r‡h=X,Account information is replicated across CNsrˆ…r‰}rŠ(hj…hjƒubaubahhíubehjubahh‰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:spacerUpreserver‘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•(hUhjŒ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œ}rU*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ª(hUhj¤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=XNotesr¹…rº}r»(hUhjµubahUstrongr¼ubaubhÚ)r½}r¾(hUhh+hhhjh }r¿(hÞX-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Ü(hh‚h"]rÝhah#]h$]h%]h&]rÞhauh(KNh)hh]ubeubehUU transformerrßNU footnote_refsrà}ráUrefnamesrâ}rãh€]räh{asUsymbol_footnotesrå]ræUautofootnote_refsrç]rèUsymbol_footnote_refsré]rêU citationsrë]rìh)hU current_lineríNUtransform_messagesrî]rï(cdocutils.nodes system_message rð)rñ}rò(hUh }ró(h$]UlevelKh"]h#]Usourcehh%]h&]UlineKUtypeUINFOrôuh]rõhq)rö}r÷(hUh }rø(h$]h%]h#]h"]h&]uhjñh]rùh=X*Hyperlink target "uc15" is not referenced.rú…rû}rü(hUhjöubahhtubahUsystem_messagerýubjð)rþ}rÿ(hUh }r(h$]UlevelKh"]h#]Usourcehh%]h&]UlineKUtypejôuh]rhq)r}r(hUh }r(h$]h%]h#]h"]h&]uhjþh]rh=X-Hyperlink target "index-0" is not referenced.r…r}r(hUhjubahhtubahjýubeUreporterr NUid_startr KU autofootnotesr ]r U citation_refsr }rUindirect_targetsr]rUsettingsr(cdocutils.frontend Values ror}r(Ufootnote_backlinksrKUrecord_dependenciesrNU rfc_base_urlrUhttps://tools.ietf.org/html/rU tracebackrˆUpep_referencesrNUstrip_commentsrNU toc_backlinksrUentryrU language_coderUenrU datestampr NU report_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-%04dr0Uexit_status_levelr1KUconfigr2NUstrict_visitorr3NUcloak_email_addressesr4ˆUtrim_footnote_reference_spacer5‰Uenvr6NUdump_pseudo_xmlr7NUexpose_internalsr8NUsectsubtitle_xformr9‰U source_linkr:NUrfc_referencesr;NUoutput_encodingr<Uutf-8r=U source_urlr>NUinput_encodingr?U utf-8-sigr@U_disable_configrANU id_prefixrBUU tab_widthrCKUerror_encodingrDUUTF-8rEU_sourcerFhUgettext_compactrGˆU generatorrHNUdump_internalsrINU smart_quotesrJ‰U pep_base_urlrKU https://www.python.org/dev/peps/rLUsyntax_highlightrMUlongrNUinput_encoding_error_handlerrOj*Uauto_id_prefixrPUidrQUdoctitle_xformrR‰Ustrip_elements_with_classesrSNU _config_filesrT]Ufile_insertion_enabledrUˆU raw_enabledrVKU dump_settingsrWNubUsymbol_footnote_startrXKUidsrY}rZ(hh+hIhUhh+hjÙuUsubstitution_namesr[}r\hh)h }r](h$]h"]h#]Usourcehh%]h&]uU footnotesr^]r_Urefidsr`}ra(hI]rbhQah]rchauub.