From f3b10d4c2051c8f37b3464ae3d2601413b3ea5cf Mon Sep 17 00:00:00 2001 From: Robert Rostek Date: Sat, 4 May 2024 18:05:28 +0200 Subject: [PATCH] update credential vault documentation --- mRemoteNGDocumentation/howtos/credvault.rst | 49 +++++++++++++----- mRemoteNGDocumentation/images/credvault01.png | Bin 2689 -> 4757 bytes mRemoteNGDocumentation/images/credvault03.png | Bin 0 -> 29108 bytes 3 files changed, 36 insertions(+), 13 deletions(-) create mode 100644 mRemoteNGDocumentation/images/credvault03.png diff --git a/mRemoteNGDocumentation/howtos/credvault.rst b/mRemoteNGDocumentation/howtos/credvault.rst index 8824c56e..d6a1a3eb 100644 --- a/mRemoteNGDocumentation/howtos/credvault.rst +++ b/mRemoteNGDocumentation/howtos/credvault.rst @@ -1,21 +1,44 @@ -************* +************************** Credential Vault Connector -************* +************************** -.. warning:: +mRemote supports fetching credentials from external credential vaults. This allows providing credentials to the connection without storing sensitive information in the config file, which has numerous benefits (security, auditing, rotating passwords, etc). +Two password vaults are currently supported: -This feature is currently only developed for Thycotic Secret Server (on-premise installations). It is implemented for RDP and SSH connections. +- Delinea Secret Server +- Clickstudios Passwordstate -mRemote supports fetching credentials from external credential vaults. This allows providing credentials to the connection without storing these to disk, which has numerous benefits (security, auditing, rotating passwords, etc). +The feature is implemented for RDP, RDP Gateway and SSH connections. -Instead of specifying username/password/domain directly in mRemote, leave these fields empty and just set the secret id: - -.. figure:: /images/credvault01.png - -The secret id is the unique identifier of your secret, you can find it in the URL in your thycotic interface. -e.g. https://cred.domain.local/SecretServer/app/#/secret/3318/general -> the secret id is 3318 - -Before initiating the connection mRemote will access your Secret Server API URL and fetch the data. For this to work the API endpoint URL and access credentials need to be specified. A popup will show up if this information has not yet been set. +Before initiating a connection mRemote will access your Password Vault API and fetch the secret. For this to work the API endpoint URL and access credentials need to be specified. A popup will show up if this information has not yet been set. .. figure:: /images/credvault02.png + +Instead of setting username/password/domain directly in mRemote, leave these fields empty and specify the secret id instead: + +.. figure:: /images/credvault01.png + +The secret id is the unique identifier of your secret. + + +Delinea Secret Server +--------------------- + +The secret ID can be found in the url of your secret: https://cred.domain.local/SecretServer/app/#/secret/3318/general -> the secret id is 3318 + +Authentication works with WinAuth/SSO (OnPremise) and Username/Password (OnPremise, Cloud). MFA via OTP is supported. + + +Clickstudios PasswordState +-------------------------- + +The secred ID can be found in the UI after enabling "toggle visibility of web API IDs" in the "List Administrator Actions" dropdown + +.. figure:: /images/credvault03.png + +Authentication works with WinAuth/SSO and list-based API-Keys. MFA via OTP is supported. + +- There is currently no support for token authentication, so if your API has MFA enabled, you need to specify a fresh OTP code quite frequently +- If you are using list-based API keys to access the vault, only one API key can currently be specified in the connector configuration + diff --git a/mRemoteNGDocumentation/images/credvault01.png b/mRemoteNGDocumentation/images/credvault01.png index 14d2cad883a5c54d981ba7934fa1c01dc4503419..e50f3a2dd18dc0ab4b560972dba70ea954a20ee7 100644 GIT binary patch literal 4757 zcmY+I2|QF^|Hl1%qY~47LsZZqQa2Tj3pJagpg*&lF3@gk}amP%nbRJ#zcr2 z+gOq<+06{bPK<10o3SN5x9531ujl{2uXE4+p6&B}pYJ{Qyw2;!-+-A43(5)d@bCyj z&8{MNc=pi%JL4cPkjH&pj|Lw5{1K+cJVjj!b3lR5)5y|@hv!quU%M^`czE`MZ(O&z z#^rKXR#w<-HWdT<_XW=yb`Kax*hC9UL5HW@cC{R#sLPmx)7wLH}+9fiTp? z#YKI6eMd*fg@pw!&;|ztFw{R52FK(8WiSW?$N|DxgVbsc2gjshsyPe>1E^(kxo{j4 z1jiW|7=SR6Ir2>92KqSC$925!#L$P$ghNdw904SKs;ry8%KtIRM z1Q^4mpa3WimjS>c;5Y_Af@MGfY$%k&z=ANCG&%(X#vqXt6pE6C0j1J^bGQ^R2!q5j zz+gBW4q|eda2$@qWkRtOEL4dCsBst+BmhRHaDhG;I@X-dVc>9Zz&!>G$6}Ej3X0C5 zD1o7a9OfVu^9PiI#b7`PFr3N6A(2oDmx2MoF&H=*se}bW1J42?ibMi2U|=vn)Tv-h zHI+k!XJsLQiwuY%Il#=TtASStWHp23j=<76gfhG3&%-0q_~+i&ip;;q!z20|dez7V z>3B~v7_2!Y z?Afm=)c7YorWjzkVnz640@DF zvzu_!d&vAGIZOc8ySJX;9BvEvNe#KQjLq?D9WcHyFtd@!Dz$z$-!0)~7L^SyM^<*?rH;13*0R|OjSao_?9Q6=G zmF}O%UVG3%x^Se2s{xAs{uI)k9z4f)uGKKY7?yXogr%<# z-mtvmTAcW)Cg|JCo{j+1AKJ{})-Ji0+{U`!d1!CQ+)qj3*0C}F!JJjt>@G8Mme4XD z+;TpT7Sj6bXGv_i-;T;&{3f{Z>9^#77y*x%+AE&N*^hbjet2~0?I_77$DhbB)ME$R zAt%qFJq?EJE+X)GcGj$R9F0Dj(&xH2rFv^Fj`lsp zr7qN=PbMurM5}exOnM2e≧Y@ENplu9PBfdEOsFG*<3U8Z-AqFADA{?Xo5Vq&0p_ z^-0z2oJ@4cz|&erzJEVSU~^QikhC{m>wXuJ>-aLah;7}SQO$Oj)I|_?oF}vw5!nc% z7dhT_G&0|TQIeiLVn)~o0u5V=ec`b`q)dVVdlfq zD0Q?s5ihg;ET4AR_#%jC<#pX76EvhkOf)IH_sc4TEJ9)VC0spcG~Zr zY4++l64WzclWBb>g;HitbV-*W#%5=CbbcT06@&#EC@xyLosEu{@b~y}*wfu03DPMP ze?^CJiYVcwg@!txI`c~B*=7BLBwpg=bZeeO|8;vYspYVk{nMe$(AzBfW=@jMujhIq zRJz5i;~&HYr^0wh*B8&y^aZEDZ|B+mGw2Uh(c1}H%nNO5m$sYBx|PhPn-g^ydENn| zCt;M+Fd9jyVqUvHvna#@*2`?VIhmhD>pR!hr7%3Uep!;>1n$)IqQ9D6-zDSz|2K9= zjHRQkJicsFGWE0OENgYo3(hV-620lZVUb#TkhyP6{y`vT!~Vs+(yzn4{JGZ9Q_oAU z;lnK-<|Zlb?5rHu+8dJ9b$8-jPCe$3sSeo^u33`D?W^?qVN=c`M<>=6>JKy*HVmuS zq7s_aAi>xB^s0oH!{r^6&r+X0ev-*nP8%w5$0vj6BQJZ=oop?>PRCSjM}-HciT0c3 zk+S`@X)Er3cafUrr2XZlf0|9bfPc|pYzLqkbQt^JobHm^lWEC;P>#*jvd%Z@G&`t2 z=FGo@Mg>>Dx)lh^4Do^q|9gWLdi!zveXlp<9Iln?Mi%MnU{&pNl)Wh7KNOxp+i1j> zg9Cw;ow~+$=HJsn?LBjs8`|sa zxx!*7VVI+1k}w{&vpy3Pbupm2D&&$lv7k4EQ?NRl(x(n{?0lt8pVmG{X0McdvOYMG zV7PNyH*nUhN`w4iioVq1;^t6KBF7^tPECkEdJ@HgbY|aO=^Nh@8T%*8Xz+Z;RAiKf zrN99Jy&3Vq4?5zP(}ZNmwIff$w*68bY(72`q$ysRQ!xB+{earcjK^O>zIIYJ%Y~=D zDx9xM)Q`7b4tU7=S@_1-^nuphiEh$O^sjgIHQK?b?MMeLWtrWHl{G}q$D6_5z*^IJ zmlFb_HyHoa8^Bg8ntcrY1QLR^^0h|AhQg-3FFLh!^f=e2KhaDqyRL3S%%bwCv}ry_ z@raiRc_%h`W6v9v7jTGJbk8MVQC}2SBRpP<9JKhIA3OSur&2hyDPlw#jCS)pS_M1 zDE`hIUi1tj&8)pxVALcVfp=Agao;?r>$a%5F1NyXe9VI9c#$g%qL2o+vgu&U7eV5s zM@t%hQJ)5+j)f{$YM}%p5%-@=wr?hq(~M)UY)|8E6V@=XoTsx`(>}*cug61z@183h z!dC}JKz0vZakDkR7+F4(n&o_a^FfK=?cNZzx9FWL9PghO^*0s&(tu3tU2V<*g%9T7 zb~6nmErh1_^99=%_UOB7ZhX^=bt^t>>o#*dI|*S$+}RcsoKTwk88UvxKWnIY@{`|U z^CzF*{#O+U)yC1tR)UGS^!^q#J?E3B10ZRe8=@<+meZEJ#G&&ZPv&7WuT-AW?$;U$ z<(5Xf-hYjcu|2Tu?c;8Q4|^)pQF!Z>m9#ZU#EX@joJM^ z=Ggb~!aHl`v*1~q`-QaW_4;X49Ivz*@7lZo%sL&E(BxHV(g$H|NEDSU35v%o^UrE? z3lMF_Vu2r?iA-v9w~BjjiV-253wgGIL<~drMyZK<^IR@*azWAVI4|+nwZw#g+X`-1 z>zX01wnj3N*gP{>acjO~7wiu8s<1E7l_+r#$jujjqogWZwxT zz&?$U=q-Pjk8 z`NY*4qGU3B$vP|=4R58IVmM{9@Rzskm+{qEq3i!h$#qLbTIl3_A+@Mf2U^8ju5J#x zF^r0mpD&w7se@@BQmpqv_$4AHs%12e+f^W-B`NLQJwgMy-OteGPiww@jH1*!Y?$ue zH4$+qorEz}MJgkO&7~vrt!r}c`8D@+2k$&M7UnW~ay&SRu_^}(jGjJrli*!zsMhzq zb}9$;Bt7*RU+ct=?qcUrIUA{a@`_$(75hl6)mRw1mM%m85N-1;`^`h?^3j)SNZvs8 z?uLg!%BBSoD9}=l`1Kr?mr(4Q9db z)~bpV(Ui_uv8x-P&z1|dl1^DhHcDh>U}dd5p{<==In^q`kJlpFXdtFr8kM%7OShENNf({G^TKS(kFLpe$Ad ze9O1lD|}??D?^E($<}U+{`I~`gv-A$`4Sw#!(9IhOhjfGKK(tPsA zo31G8NWo}Hf~;vu8)2mv%@UDQck`r)1CFjGLb|WyWLac|z}wcfMhcIF+kNfqu5VKd&TeTflwO?|^~hrp_EZAo zUdlSey^_TzzmipODrj;(g4z*{Ktlp zTt72(s7#a_@-&w}?~uQ+>goZvVh4#!?4o*1e3ZX=xZuKnNG_E;g1$S5GSBs#49K(Q zcL9|dq#6FS^Gv;_OBw9#G||lIzk%!-*08LO$wMgN&BIX>bjSJ^x(zerJ(WajCC3&E zA#cLDN8;~JI2BkUwKh-TVJwGVh7gZ15-9?j+}F88E)R~PN5`eTF?KM&KXv)LO|ii3 z1N!;TK!NHqCgwub5cl+jblFo^@P2f6{IOHFeiu&%_^@Wi#pqs^T>kSpGX5T=K`9-? z+de(|>>{h#PwBrab_-E*8fPJ4ovQqAHn5uW+A1bF$%R^Xi*c%;3(ZPwc=U`T2xy|2qj5h@$(6^PM}T5 z$9H<2EX}FHmy*F6n u&1#b6LBET&VBFhxl#j%?*fgx~iJJXg=T`SV`#11^fCqXFcD2aZIr3jN@RgVV literal 2689 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 literal 0 HcmV?d00001