Äcdocutils.nodes
document
q)Åq}q(U	nametypesq}q(X ���use case 15 - account managementqNX���uc15qàX���historyqà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,(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(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´(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)hUcurrent_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��NUrfc_base_urlr��Uhttps://tools.ietf.org/html/r��U	tracebackr��àUpep_referencesr��NUstrip_commentsr��NU
toc_backlinksr��Uentryr��U
language_coder��Uenr��U	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-%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��NUsmart_quotesrJ��âUpep_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.