From e621b807f1c8cba5601928e0013fbf11a6d6abcb Mon Sep 17 00:00:00 2001 From: David Laufer Date: Tue, 24 Jul 2018 19:15:46 +0300 Subject: [PATCH 01/71] Adding Advanced Hunting API documentation --- .../windows-defender-atp/TOC.md | 6 + ...defender-advanced-threat-protection-new.md | 96 ++++++++++++++++ .../images/webapp-add-permission-2.png | Bin 0 -> 16217 bytes .../images/webapp-add-permission-end.png | Bin 0 -> 5808 bytes .../images/webapp-add-permission.png | Bin 0 -> 35593 bytes .../images/webapp-create-key.png | Bin 0 -> 22282 bytes .../images/webapp-create.png | Bin 0 -> 7196 bytes .../images/webapp-edit-multitenant.png | Bin 0 -> 32504 bytes .../images/webapp-edit-settings.png | Bin 0 -> 10818 bytes .../images/webapp-get-appid.png | Bin 0 -> 10830 bytes .../images/webapp-select-permission.png | Bin 0 -> 30641 bytes ...ows-defender-advanced-threat-protection.md | 106 ++++++++++++++++++ 12 files changed, 208 insertions(+) create mode 100644 windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/images/webapp-add-permission-2.png create mode 100644 windows/security/threat-protection/windows-defender-atp/images/webapp-add-permission-end.png create mode 100644 windows/security/threat-protection/windows-defender-atp/images/webapp-add-permission.png create mode 100644 windows/security/threat-protection/windows-defender-atp/images/webapp-create-key.png create mode 100644 windows/security/threat-protection/windows-defender-atp/images/webapp-create.png create mode 100644 windows/security/threat-protection/windows-defender-atp/images/webapp-edit-multitenant.png create mode 100644 windows/security/threat-protection/windows-defender-atp/images/webapp-edit-settings.png create mode 100644 windows/security/threat-protection/windows-defender-atp/images/webapp-get-appid.png create mode 100644 windows/security/threat-protection/windows-defender-atp/images/webapp-select-permission.png create mode 100644 windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md diff --git a/windows/security/threat-protection/windows-defender-atp/TOC.md b/windows/security/threat-protection/windows-defender-atp/TOC.md index fa8be23611..1111f8ad04 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -95,6 +95,12 @@ #### [Python code examples](python-example-code-windows-defender-advanced-threat-protection.md) #### [Experiment with custom threat intelligence alerts](experiment-custom-ti-windows-defender-advanced-threat-protection.md) #### [Troubleshoot custom threat intelligence issues](troubleshoot-custom-ti-windows-defender-advanced-threat-protection.md) + +### [Use the Windows Defender ATP exposed APIs](exposed-apis-windows-defender-advanced-threat-protection-new.md) +#### Supported Windows Defender ATP APIs +##### [Advanced Hunting](run-advanced-query-windows-defender-advanced-threat-protection) + + ### [Use the Windows Defender ATP exposed APIs](exposed-apis-windows-defender-advanced-threat-protection.md) #### [Supported Windows Defender ATP APIs](supported-apis-windows-defender-advanced-threat-protection.md) #####Actor diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..26c7a3be1c --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,96 @@ +--- +title: Use the Windows Defender Advanced Threat Protection exposed APIs +description: Use the exposed data and actions using a set of progammatic APIs that are part of the Microsoft Intelligence Security Graph. +keywords: apis, graph api, supported apis, actor, alerts, machine, user, domain, ip, file, advanced hunting, query +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 10/23/2017 +--- + +# Use the Windows Defender ATP exposed APIs + +**Applies to:** + +- Windows 10 Enterprise +- Windows 10 Education +- Windows 10 Pro +- Windows 10 Pro Education +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +>Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-exposedapis-abovefoldlink) + +Windows Defender ATP exposes much of the available data and actions using a set of programmatic APIs. Those APIs will enable you to automate workflows and innovate based on Windows Defender ATP capabilities. The API access requires OAuth2.0 authentication. For more information, see [OAuth 2.0 Authorization Code Flow](https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-protocols-oauth-code). + +In general, you’ll need to take the following steps to use the APIs: +- Create an app +- Get an access token +- Use Windows Defender ATP API + +### Before you begin +Before using the APIs, you’ll need to create an app that you’ll use to authenticate against the graph. You’ll need to create a web app to use for the adhoc queries. + +## Create an app + +1. Log on to [Azure](https://portal.azure.com). + +2. Navigate to **Azure Active Directory** > **App registrations** > **New application registration**. + + ![Image of Microsoft Azure and navigation to application registration](images/atp-azure-new-app.png) + +3. In the Create window, enter the following information then click **Create**. + + ![Image of Create application window](images/webapp-create.png) + + - **Name:** WdatpEcosystemPartner + - **Application type:** Web app / API + - **Redirect URI:** `https://WdatpEcosystemPartner.com` (The URL where user can sign in and use your app. You can change this URL later.) + + +4. Click **Settings** > **Required permissions** > **Add**. + ![Image of new app in Azure](images/webapp-add-permission.png) + +5. Click **Select an API** > **WindowsDefenderATP**, then click **Select**. +**Note**: WindowsDefenderATP does not appear in the original list. You need to start writing its name in the text box to see it appear. + + ![Image of API access and API selection](images/webapp-add-permission-2.png) + +6. Click **Select permissions** > **Run advanced queries** > **Select**. +**Important note**: You need to select the relevant permission. 'Run advanced queries' is only an example! + + ![Image of select permissions](images/webapp-select-permission.png) + +In order to send telemetry events to WDATP, check 'Write timeline events' permission +In order to send TI events to WDATP, check 'Read and write IOCs belonging to the app' permission +In order to run advanced queries in WDATP, check 'Run advanced queries' permission + +7. Click **Done** + + ![Image of add permissions completion](images/webapp-add-permission-end.png) + +8. Click **Keys** and type a key name and click **Save**. +After you save, **copy the key value**. You won't be able to retrieve after you leave! + + ![Image of create app key](images/webapp-create-key.png) + +9. Write down your application ID. + + ![Image of app ID](images/webapp-get-appid.png) + +9. (**Optional**)Set your application to be multi-tenanted + +This is required for 3rd party apps (i.e., if you create an application that is intended to run in multiple customers tenant). +This is not required if you create a service that you want to run in your tenant only (i.e., if you create an application for your own usage that will only interact with your own data)​ + +Click **Properties** > **Yes** > **Save**. + + ![Image of multi tenant](images/webapp-edit-multitenant.png) + + diff --git a/windows/security/threat-protection/windows-defender-atp/images/webapp-add-permission-2.png b/windows/security/threat-protection/windows-defender-atp/images/webapp-add-permission-2.png new file mode 100644 index 0000000000000000000000000000000000000000..24e449a94cbcd63f6fdaf4280c8c6e7d87b4983c GIT binary patch literal 16217 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 literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-atp/images/webapp-add-permission-end.png b/windows/security/threat-protection/windows-defender-atp/images/webapp-add-permission-end.png new file mode 100644 index 0000000000000000000000000000000000000000..e0fb6d5cb88c90840f24e03495d072c284bf828a GIT binary patch literal 5808 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 literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-atp/images/webapp-create-key.png b/windows/security/threat-protection/windows-defender-atp/images/webapp-create-key.png new file mode 100644 index 0000000000000000000000000000000000000000..2784135cc495e2d3f9d942dad623ed12dc4109e7 GIT binary patch literal 22282 zcmce;2Ut_>wl0eLV*wNkSU^C33r&hYO+ktvML>E$K!}KR0wPU;fDN!wR1gsZ1_&iU zs0lq$P*9Oh2uUa+A|)gs0)d2t`vv{iTKk-}@7?F@d(QLdRo6*x8vZOBTusTTFHKr*u8z< zVVSg@0fz_mYd&z)W1{ld^$5q}qgv$Z)KsS5R{>*d z5yRhq#tUW_X{1hTkfbu-AFOgAil0U$9TeS zT3o|OF?Dvu_pQNHv18?{(~(QXkt^eA?(EQNd(5Tvi$!4r8W-)u7bdNlH0TF1{B)MU)iz-yA4&3mCz}=@glV+2BvXeCi!fOoW)JU=ZG^%L@IhyTrM=1w%uB z??BMFbMd-Y(?mV<&C`1@!iI}j)~ImIq_@^Z!kb{( zkcU=iy*lve4rllJ`Z5nc5lnaeUY#|SpS84{n*#RaN9cP|hni9Xmx9IN>Y%G%_c7{d zm|)|?gFzYUu% zWnHerOpj~*x6a9E0|Nuksru;AZDj$Xx00lEhcT8lN{FN43AI<=KlIOl^FHY2)Oj? ze&nhvtSF9OKBFuZQ#-+v(6vSHF+<#stIU*Bpk3|VcsZoDD7|OyoPD+1PGX6oL{)iq zmM$?u;#mOExVP;OYjkxg=A%ZP6iFKM@PO$t#y;x^_|zh-bn2QTigbAZ+U6?^o%nsf z(U4D8=;}%^lXiWqVI7|NZjG_yji$_-%UHCsJpKEC}YVJ{r3z@Oh z<%G=8Afgh_eqXn1?Cr|R3Y{SL5J>DPsDif)ahqpN@g7sHlaNC~y37M5-rhub#(C>l z>DnOahKRDgifVp)FeJ{Luzc)c)xpHHbgRoj4oBrMT?MgPI?!2odt557QU zazoY1h2`{bY7K#+ac0#1$#)vB9uOnlsgf4Z))w7J>p>1MqQeB59fiOvAuE}sdl%=2j*6;e+d)gN#P&p)-F^-g z_#LeZg;1;$zNgsPd!QMO$O63mc_CB;d|K_J(!<~GZ5P)w>CyCu4O+>eN53%o{LyZ+ z7};N*k9UNBpLcmUU6lGR-R8HmR{U=St^a1s`@i>d%d6LKW0~!_ z^dDf+T)nfMA3Q(5IBRW}3GoJjxH)e7BhEx?5DNdG>*Lr-<0Q%U!AIdU1LdC^7glB} zJFgI8x?gHXhIxYPyS3^PZS*|;$}6i)@biHJsJ&LvYwVGF!s@tEc_AX2oXPCXx2*RoZB&nJ5O{r9fvU;hYnyN3(VyG8M5nsP)b1=P#k1rpLH5?; z;XB%z z$OiPbJ;#^BhT`bc`=q1J$VHkwzK8NbcF5XAr*w zRy}BaNR&iJN%~l^PP+#o+d{s3iq~KZWo`@+_T1D&5{%;?jsc3(lI+acE zuI##69dSlIQ+sLdBz0_in!*{`FK96_u?m$6R)mOV%Ct&l-8pjN+0-^KA9~PB<%Ovr zZ-nPAwM@z28doaCU4W3^U1~UxSN_%Wb+eUk>(x$FS^H8cTRl_4Z(-RkY^EEk>K#Kd zf;We0S!heTe3z6gk^m-L6Jq+jR^fh!MFDe$Ja*jT)eA@8S>QT3S~1)x&nYdh&dgB3 zy(i|z&>=Ci!;JyM4L2F@9_)$U>q)}6qz|L8Q7hL8F|U&&+-2Ian%R4pHJ1x_UcUV% zfPQXR|L!8l@h=G@C<{r;zLM%;3S)U~OqYA4GS6KT?=6E>&K<*z2}>2lrl0DEo;5ye z0uR*{(hwu$&?B>JYsnlMf$LY_8h{EbnY}Mjy3GKQIHaGYy_sLFB+$pF_C%S_X`vhH zVatm>7gJMH$#nDmri+W^J-93GWDhB?hTFi-l+Bd?}pEzb0m^`^DMW8LkTtE9t6&Cit;Os(hY}NLihL zpGAFeYA}J%GA2{MUVLiy4o~CDrtY^+sJzVK=M(nrbH!tJkV$GH0Xad%?YPP@A?A@KtV>-;;cOrc+?9t4%1v)a(%VFrQTwsU zv?@fx7Ct@bo*1Kk0|de<=EwVe0gS=gbktI24EJXEw+~M~_k@e^`mQ zZ2#1eI~{B}OIX80ae7702|0^WmlDoYnPPMj zuJ>fTdr_b9TXKtgoTx7h5rQ-RM7-<&}B6EKrUqeq)!$&Qx%e+XXH>?WOG z?JKn9JZNz3oE}+sMvnOuy?SIgpjInOmUwcy=9pOKiTzXM7p1nfcEMvq1tf7Lh_O?J3iL zjZc#FZ+EwJN7ucSRby$AgIf}hv9MKPk`N%kB#%EHR*`;-tn#p#FER&`+a+HyA$1Edd9#Xh+f886*qr=_b138=H%ZDL*t>%Z)ovU0`ihX-E%UfT2B={ZPcfXhH zSC9`d*y0(I)QLyj?urh5AIFgS8zMDLx{O}(nkL2DIYon)v*f?%|_-xpty$bVf(}5dE=a`%BMcB%4@?%)iQWsC8 zI9(QWl!1(#oBa0UK8NVop84LoexnaGef*&yN*gs{0^NZM6TQ{mvXSrBY?bbjHrv5% z*o}o;sltsu;rDKL%6#@YZs%r66Iq^7$=%EC!;F=6hPTA(E!xH`R+8OM(u3&X*_+fcbMQ?dedMm@zEumEJ*ZV}X*3$PiG&osRF>B6;IbuZ<_jV!gz* zvCrdcp?QXf4P-%zHdX|uH(0nw**GRrFEi@G9#D#XjsHF5>=%w31EeY%;W*b zg?p^d7;bQuV6M7tQH7)3A%}ZCf0|LpHt_M8+`g0fM0D()*reH3l;QK=xQ1W*$dQzd zD~D6|{tbLY79Kyg68IKx<#g32@(e&bvQ}Lxe<7@FMN*-nV*e2lIm}tT#BBr@=okdx z(yQ2>OgsPkW{&T*1Af6zbV%q_v5?+N@}oxMEBcqF|0{^>W-K5e_+Ee5iqiYE%M@IA z^3{7bhsL*}z_%uU0hn_A9`Aso2aqBrr}e?^@I3|B3$Pl1M11FsWcY0ot-yJ19R>FV zARDkCy{7;qrGSroe1|^%A6nLQx2YvUb6jV2&Ojqz@RY{Q`KzS<{_oQ?+7QU1@Tq89 z+h-X%@H(xaulGibVEqA{y(cbyNtDuM3`etJgjGiUY~3?yOBT1{>c`z9#vPg3G+x2J zG&?ezb{qfj*B!}6$UwZKR)4e(0kYtdpI?#i1K*;;!l2%~3qLnN+CoD^85Fog)duYF4RTnU%$z15Qtp7RD>E(nMjk9U@m5Y*VNCa^cM#U+pr^tCvhk;zf=t3Gq z+b=AVpv4fy8TsCxF%;aXJ)ty?wbH!$A$i6FFMx8ARK9#m7$K0gPsuez3BR1}3=*O<);Bdn z+3il&>0>Dyf0==Ew*jCKDkJCKZmGaQ=2kxZ5q`Wjl9HJOvd>O@+k|MfmlzHY6Wz-iZBoof#G z^5%B5vx||?g5j@=bnG^ey)`dqFGGZE<*=FI9M)o+{f$L~!2H(Tt|(yRx4s?%*6Q%t z%E{4js?=%c5P<)u)ZV7>p1YM8&;CK>eT;QrZW!45KfXF(+I+}MB|prkR7Vg)crH=h z;ps3&!6x7!U(_hZ`}a3{qG*ujbkFq&hd!}ey`LStL zl4M3xal#&WF$?-BObWOjh#~8DAjUB;cI$d1uqmGr|F%1%4+AH!9qWfLmdC8*UMo0+ zrh4BH5k!ai*AXiy2`!cGDsDUbYgqEbbv#dX<9Vt)(cC8`_N{VN+*`}rmaw1=Cn*@X zHLu!QTE9?clI&405G8P3UA(YtAExr8rtiKX2j~5piMnFS3aVkM z7MEmF=Wbw!Jw4v*qf4q=dG@e+(pDh%Qu%s(v)cN<9RLmOot^a@xOQWpOTY z;p_WHj1tyyC`;-#fc@=?G(5%M5q`Vs1t?L;cVvG@fq5&|^u&dLce=Q%22;=4#D4M7IWG3AJKKUoUt-+NnU`B2$d-TF$tLXPqiC!mq8SK?r0lDA%R$9 zR%e-OPk1wZ4jx zU9eL=aCX}Zp5yMtDTH|u4SReBQ9>Gc(ido}C zBUt`}HQmheAKBC?^+D;&FJysr^5Jdg+rrnnYeqQkk(&fih}>cfN*^^Ds@O$FL1NZm+J&vkN`Uw`q( zrA_)#dA!W!UFr~T6KmLR6sM9R@bu--%FWeAV}{ zwY8lIQ#bIty;sKgkm&E{T8s?o%+zMwU6Eq1iNCm1n`sf>M^DG%E(qD8E*!ixt0%=F0G z1gXc8z0NjU$xTyv#_n<|(wBX11Oh53oSxk8AV*dj;oP8}t^Q)O_-%eD^WkQPL+!uP zcE!{9p4bF-l%ovRLlA{Cm*E!x@fVo+QF$L3eyfQ8c1BMJ(Y4FV=~ikEEH zvvC3!(Tj1ZuWt2GKO^7X7C z91af?f|bIWXB(H0I7pHG%0x$Hrw%P_b{KJ5;OGN<=Te{x+$LP@53*E+29t36tW-<~VG-jlW!B3c_DIQBX-Uq85`c80I8th`)Fc&EV)^riv zL{wXPhPNXH1XdhvrWQFt0-yp8<aUI7ajp(Ph^u-h3&*xt=xD$w-#j~BO#x7*BjxWeC8uRgoO!V^p}=L-kQ(2* z@b!@rD_ynyvv*ub)4grcD_`E;Wnk(V*M)Ug%L043TTv^OrH$|r!pe8?wa~0HH!JGD zzw{ftzw5}V(vhZQB-Cm$GC#db`Nm{q(d(ORdNuoiI$T#FMegxre zu7QBVV-iBTn3f~9@Yw}chMJ%K(&9lK>7!{@pOpUOd(Gsf+_ZaE=mWd>g%D@ZE|rG` zj=rSZL0z(o$h%x3^39YKOvHxP+5@Ab>t-( zNLl$8xmi3L!yc1bn@lp6t`+zoU|QO^^b)!wiGRoo%AR8@zWmtm^`ZQ#65oR0Mz)Ud ze&sj1QmT(ipgQ;78qnojzWSs^4qt2D9xdd8D=aHYzt&zwTX}7E_sJR7u{)W2>O@G< zXLFM^!)7j4M{^?9&U7&^bv{r|nLdrAFT4^UP1T;f`eEmqq|IY_3qHR0h5*K629b8m ztcYn@=DR(X%bgKU^^@o9(&pq$P5=gFiwPom7yvcyycu9v#M>`Vf3sDQ6_66^ROIi! z2p-t>LT$yA=^j1A8(;PQI|UZ^o1b0c&)~6{&)l)V7)u+wNiHf^UyAlJ^=a7~&Sk$f zAeeVOE{HyjoV8wvES-47$T}6&w4M#bk9OkW>{S${&QyN`q;w*3wvn`^uMcCrH&{@U z6?hePEH>7m{V^qY6JM9sI)d?%p_59p*u3tVQaoTzVI)k%1R{LUJxTj}G^;nO4zvY( zE&$kw&Dvqs!kyi}ts9+Lg`T>-d{OwG_w(551H_FLiT zFG`2)?{BlbMW64PELNyfV!=tDt90Cpbpt|K3qHVfRi#W8wiI9AhGGqSi@RV7$@bz7 zBSr5Y?PE_o&9r3=W@l=dNOJT|OSSmTId`rsP7}H8{4zP#`zMOMBb8oBfz`9+isWce zW^icsrBIHIf%{ag8~p1qAg@32>MP8zTI&NS7yhLJ6G`V%CJU@{{xU=Tv+CO21$}YC z;csa0X}9SbcTuMrH*Vs&ZBqP`sQI?_s;=T`To0jm@cS@kWXjc*{0*-&m%x5cYjas6 zeWl^Tmv!AuvabJO`%eHfFclm?dFhglT8)j_=(=X9ysELWwu=xqIUO@F)%l4A-Fa_q zw?5U|85Ut*>uRf2kc*}#lSHjnV!Vc>f zavd@Ypa3iAO6tqjWdo$|B=9@Moi~^oedaZUIy0T=TJ;__81orUzTOvuQ^klmCwbwf zFRG?Ey|KG5PT4WaU>*-gYL%1qB~A zTP{L$Y2pEUHoHv8rBKG}N5`AHtZaKL0J z?kohg6c-m4hEx_a!XoZWWNJsQ!cILSLu9b&HrT?WVy1?)kTaAWaNE-x3xC5aj}`N& zQClyUwsPBaRHmSpnu3T^mr!AnVmG$z076zYK`nH;uMH7)3Zjfg z2NDm!jcfn04uEOU8J(HLOw9@I@<)dNGg^>F=%V79(v`2%joTytat=KK!t^77Sb-#g zC+fE7BdG0WQv@_d(O@rUK0+@bU?aj2JOQ&Np zjTVst1ZI$$dy5cnITKMP-g$EUtb9Gi{zwscoW99m@S)YwarSG=4{88b3nW7; zJsS~mq{w05J}IEe(fjk5Y)XG$U(J&v#yrZw(+Ll8aiNpm`}q5ZfO4P7q*5q@Af>su zxFDcLQ;0K>eF)9)6O{`kQ3gKC+8wc(x)B|dE4RLV)JVw$AyNT~A4F(Js`q{!1fVI( z`CtjP%+0{F@S19#M0`N#r6Bf0tzkyj4fO!yq?2+ZaHH6yU3#-1kR+R&7eEO}@*eWx zcawOErogei7e&s2h8G3)sHg76k2{gHM_PkLp@ffBQAH_0IgmUFqUzfCAIPd3FEcV! zn2IE_Cb$ZtO*Rg3 zs*0kjhfdpR0K5{0w5^`@y8WIZ-ku`+YGHO{1U6W6GR#?|zp3Q`;{pFjxcCxII5}1T zrM?M0i@;Y0RZjPGn-_XgVJ$#0wfj-#j}r z5ss`xN)<+BCC)@d`E*XvaIVY@f*|Y3LG2_;Kl3p^bQ&kCc%cLV`T(x)5bq_+} zCk`67f|kOkXo)JQL`KVlXo)6wJF>bFypPlZiCOF}pFHLN%4%UCw0PQ&-Blh-xZHI^ zj%wkNB&gRp87lJ20GCya`3j#@S)upr6cj=G^yaNRQ;gkKkHrfJ?>*Gi7TFx#eexa7 zuoGUja-iC6Bz!d3k9J+d^R4ipv@=>oVMO+-48){rHYZb>g*OTnF~t^#l~kWpd!FD1 zJIwZoXN8E|VP}Izxa(eXg=AkBF9ARebIPpTRc;8#*C{#W>x@QFjrvF%ljQtWMsWfe zd!MT&dftU0aNRh!wPZ?DSKb$ovsO)GPdg-yZ}?@8`9+GW1e~ZBjr?rymVxVqmj@** z=>`rr%mg_@hn$pmw2DY%^;66JPBUnitK~|nU(4Yn^*VvO9JK+hbAG;9enBCeKk^DF zo6=$h6`U`2mw46|iyT)yvUg~&Hj@BNyariYj)~f@9TAZwzD7fe957vM ztSs~COe*juB*&W9LkM%VSExSyeUzq&L-;+LdoOJ&6!|m7$)tyQOw9M)oz&-Q!TYwK zbGzSzx7$1Om?8g|F;q`VLb6A7aw>D&GOX*D+{UI~fc6U|AWT^(pocuRb0`ZmJqZco z(8Ct3xwx8ge{p!JKXsCH_>%PKscg2d3JwZ$hq_Ay)+Bh76SWUEC!VGH7SGX&J+#yX z8~7qDN>Me;A$fL&O%jgA*~ALC$oY&~OH1$F+Gm{hlX89kMG+mM#*Ea%fJd42 z*M2l)lrM!dECpk}xw_u0jC3Q1rg3f`d6sL1E?+oUHeo-w|D|I!j96MZVF&ekt4h+7 zi`|M6P3e^BtsbiRk62E~>0^`ccpSry<5XLP={U~$PT%E@WG zL>g=lkvOJ|gYti$Tm}UF5=7@cp0)_cXZ6zqkB= z;v(clSvn>WXBd6rh0e-UD&xzKJagLkQ(&AO(KmM~##d&Gk)AIaRD~hrtsai}1cYzKCxhc1aaixmNGZ>}%E8=Yy2VRZlqVcC8`^+ZcfL zhmD?`!c$bEYb@ZzyoZ|=6^gVOLH^{5WAzA1ap|X)>ek#)T-LP{){)CM#_&4;`Q@pu z@LFuBx-=ixyM)v24)SJS%b2@JR9dA>4)_zqpA7lH&$43PSDseZ$JNMr}AS&pmo0BKu4qS;zKsR9ZK(zc18=-L_lo z8tjOX7hbR*--f_!8T5(du9HhEf0##cYAr77V1Dpg_Zb4(X)2T zjY;wdRi3ctec>-p1gJp<0nwsXq)jUNpZUTq4w%uuRm7yF`B?n@!q<*F2@p{mookHe*huK zkVJ&$L^PYL$)uj9T>`+3Y=y21?)R-8oBL?CA=IM-sj7I?Ne1g2Yc}Lyf?a#!O?%hm zX<%@7%^VGyt6U(n;Am!u62sIV34}PTL&5(E)5Q1O^ng60M$S}eg)$m4Dk2=}9j%Fr zfhE4xgQBqpu|_#>eAZ4uQ3tvJ@!q+`0m!5nt+73m=7p2d`%M#Y#Ql1hPogHVR;H;% zU!(7@3!sSXqAo?m>6FAf-{DeGQ<=^U??=`~lrpHXUEbsR$Zk)KoUFw@O~EX;TM2@w zz4ovZ?1N~qFnlwF)-)#&lJ^S(^6(vvRw=sAL`E(u@fWPiTnAXFJ=+l=Xz^(}6!Z8e zK9P<8tYH8%Dxx>_yJ_)1Fs>*eRM6U+^l5QoY7MMl!QSC34hcY?fNkS09&cU_s)H6yNKp2pU`d*UAqQcHY_9xrI+AYna6agemAw0hD&{(7T@-_&()V;|aUh zds6_(9p3sQitpC^RLN{9|8~^k;-ZM*xMQr53@~*4onKe@_{MvkN1*Al{5Fc`kqa~A z%7B&m@pX;HO`tytczcH*-k_iyn7MA8=e-H z!~=JLx$}fYTV$S@0(fgx$4YEPM{1$2hkb4t|C&@w`6@E4eaO_E5;VZJAH;u6tkzP^ zOrUnVKmG(D)u{U)UG?MhlCRG3wh08&<~_1Qd%vFRv6y^#fi3esIwB{^;Qq$3)s>$r zW*wmQQwy*rOOI>|(AS^$zawjFPY2IlN0dB^$`bCr)d#sOw-l+jj2Ep|;yg9&Bxm;E z#B#LehrH~T_itDTsBPFHy}rvwV{Npa^nA3uaV39GHghCqB(OAe^g&j?kGk5K!$i$R zh>upuqeSF0d6-vQwzER#OSLx8^y*Zi-RKLXQ?Sv4bNh)7t=T=CYvjaER$*V>m=zTW zouV=r`3Olb2Tj_Z?Wk<4TEI3r0O*TQ12p!J5%ERROunZbF;7Rm4ZY}F=`mD&3!Pk4 zCXTVqz&S`^$Hn7%zvg8GT(9)%>^K28hB=Ya!EI%ek{Z9$)x4P4l24e5GJFKbk)T{f zR*x8pAGHL9sWqF|le$qy0QB1$1tO&oNU8eB6ijOKj)E2apmSuR*2>3(45i|6WGDxaF}pAbTY%Ap?2z5UBs991iV>K-gfvL-pRr%_j|8^B2QroD$iZ z10|+3g@T7ATe^b()uIsolkbiT`D$(}A89G7(m50KAoKM-X-hZ4D_*T+;ii>9JL;9r^Q{+s-)NOr7ZTkW$v($SJ z>@#gv?+%mThgJ#a)o!-=$Xq$Jq$vb-ABC6LN-6k#wUn#gUgs3HPn^e3nVHILw=|u(YTdMF zpSv`~H!1UVfeY2|4C2yM^x*y$i@c_hfk%k_=W7}fG7pwKI3e==4s7ApD*R~8XqeCQ zHsLoNEFjmogS?a7?&*|V%Nfa3SDa4 z3Jr{~EOR^)*+`CzWBHJqE-XhRRxppIvI0Oyxjv~TsF{SbhH4oNRgYD`vg;xag4=m> zP$GuO7{Zt2l+Ogo*7!PRL$?f(aMMK`qfPY`)i@yR4I=AQjmT&%UE6Gz)XDJkr&INB z43b3kI{z7=cAL`Ay|;)8fl405#gSFP0y)2JAOa!F1DB=Juzb?UU~Mp5 z3Ol714T$;~KZok2h$>PMg}4``9*Lm!vj%D?uGLOB+}sQBY{hgh<>P&A4M#T3z>hG3 zCf&E-5R@k7e(@2>XZ_^prt)+2(Xj-!=A?aFgcSCcZ^#HflVU-oa?iCQ>CLbvcTlAG z<+xXJK#>qBzSOJJd~!obmaCaH>-0XZMzp^l3J+|uqYg*;yTXf)h67F$! zd9W^imoxtr+)NLwQ)&!=4F41Lhp7Co_U!st2fR!mfu|l>r_BDBp4IxnDe9`>)MXUS?w6{o;pxV*Mh#km(wf1fPgR_u`aF=@Jfma z8nFRCzqd1#VpblB>qa;Dd3(>rh?E{e8Yp*%%N#s?Jy#fsJCPYIZ(n?kCq)?v_>>~6Q}7ayO!YvvOYM?d7wu@oB2Vbei&8*3?5TEb8p+8)z4GS!n!k?cO0DbIvaYkq{&@1 zMXpM&j6tq!jqkaTpiVI_L652~ zKQrQ!Hg|c92c*&!Zij%D3a^X(P|{TG$j#YCCQBLJGxH7TUK9nN1|dUO3sc+*D8Jc| z?{m8>Gx%uizEz>Zo18@wXTnfaH9@~n&NOXWXZg!rGRHf^D+`Wu>Ei##1B;L$qHqGw zjF@Xn)r8OkrfM0Qo}c%xtyp%`0dXGnf%v(|({amov2RM-K-aY_a;Cg>5U7u5s0%B$ z{5^h{+7^hN-Lme(T%57w&39YA@uWO(-MKfLqU+hSgb|5T*WS!-F%kdGlON5J<+sxL zZ?{(eJs|#V0A~$+;Bak2>znq--^YFaPyO!yZK3}t<`QxIXJ!AJ&#eF*0t`!o`7Pg} zE?=kqQ)7j%Ri3Cx7P-tlppq7GxrH`T0xPv6hbEZm3El*X&Q!o$-F)=_K^}?|?7&LJL zK$zy@wAMj$QBi%Pi={Vc6F^RDyTTLfOcHIj{C%F8m`QI2$#P}-0cbOO-E{TyS=6BU5+%F4&nrSx-c04DqHQ^XeIDS0T=`_9*t z{Z6I$etRGdV#gu-T6#`Nz`S6ZJ7A^mt~menkq*|yFa7YLhb?_4{ScHA=wJohr73hY zTJ8CBSjOCPNRfxgj`jHVCLDBNgtI7PYh~Sg1o0!7zP!*{n}LdC4>tuNHvt!(jtqu# zg$X3r-m@8^Tg6_8>;MTBTck z$ae*l+_nBE1e10L?2~9-@~QT9D5%mCcfke0#NAsfLZ*6VqDwAN$)uC3b%%Awx90v9 zdZmIk3$q8htf$GXl&V*mAT%CTZHRJ!IWc{Q0tW@#Fh604ZAv4M`!=zo9R(NM%tRUh zfTj7tn|AJxvk=!32`G&YQbC0kmJI+xtEVDCRMOxEG#lA>F{9i=+<_XdYU|4;YGQq| zj@L;onE!{?M~vgivLSkZzeifrgwjw}n((!R68Wf%l8l z*Qdgn5I&5089Bu*!o!y0y78U$P@QjSkC1kiG2MFGQa1gL#Lsm@uHvc`LzPM!$ct?E9Ria>iU`UGzb;yU480Ic6pRTO z$blnx#D4CjLY~NKTRkW&u^u#h}}LtbtPq?af%S$2;F@cZXeJpdnXRs*GHSOp8Oxpl_rCRgR6I_g2482QOvy6XRCE_+>N$lDRGBwvk#Z$aD&{+kMui$>nuOcIHiW6J20`0p!47W zFXn0LB90R(UG{|UzF=)PDkqG3DVs2TUPiQJRxTy13ie9b#J9m)84|g_xa7qBIJON4 zMJr)BV}fij?(sVEU(ei?q3;uNydqfz)$cGCyWuZIZzCUZiARuw*gfXF`&Iha(~JwC zd`ZQ*v1b=a<9N3ZeG$&jy~}#9Ujiqlb$FT5Px+Huu;YnMdEWjmTyY&&m5Q(Ww82cc-_X<|$yFfF`3l>{PE3w;SqyB% zmS0}7X~LFKnmpkLRLEiF)Jx#5Di{{o1_tyg`aVcqM3_e{O12Yvr|$Xv`;r@zD9znCfG=*#SaCWz$k90SZ{!%@j!&a^H_xr7Y)`tAWa z0%)m*fW&9$@d1_9l0Fit9>BwT&|hXR0_;y-0y?=GFi6P`g9XojI}bFan2w};{Iu6t z3=q5U#De%C3c&802rdIlK>OuMt(pa_9xEu%GK*pH>eMI`2?v!OYY~SqnaGY|!6q(G9Jf9~If92?c&Yl4 zK2)#4j^3MC2?jU)sbD~`ayG$aALrG!ECW!4acd#Awqr2?FmlCvU129Dr;5%k+R_;r z8JwRj(E&zT8QoboDe)Bh5~uMjW&{@u>}dsy=*_Qdj~rxNs=S|wtNXuLds`rt2L|GU z!PFdgOU2}tc_6~&2!DNhcME&ZDZf&nrIik+L<8M>0Dyiv<~*UJ3w)7?FJ)!S3{4oA+m<9tTMY{wP=oeYYt_N-jr5rI;0&N=DLB$sf6 z?uIY%T3uR`e?)_kE^cV?o&}&f86f=xZ$20VGN&Q%#)dK8YX_D? zdR|#WAXNbtKa%hgNFId+Bc%G+NLIlb4n`f62p=46?NVyOuYAw=Twt~(_D=2D8PZN&7_=H^|?CkD5*4{^3xx67{{8K7-B@ajn zQ-EnixH`!YJC(F&qk)*PHVqnmT8k~bu=h9f8``7}rV|~ktw&?_`!zOYd#WuoLuR&= za&Gmb%!JR(-O>$ur5TDIF@h5vE&Cxx}|O(acOxh$t%f`1NL;b(vPI5YrFC+YxNyL!(=%^Cx+V)30@Wfx9WQQ z)M8##ZjnNo$uo6;6hK3$$&E4h6|sH9{V(74C=pr`C1|`FeS|3@caB4EGcj`!)ToN>VDSb zgC-0{sD{m`=X9QR5fl2yCeY)H20o_i*s|hvSKmT)B7tyj&2c~H4VGJ19I!k$%3uL& zOq2Ez=N!U4JIlG;e;xs-aEs-~SfAq%>01I>ZiH*Efb6$EhC30{Az8@+jyG&rN(17C zI>CL4%U^tuC!@4!V}I0rwk90yRVs^K9g||GOGoN<6+i2z{h?b2`@r&p)?Kx6hXd|F z=at;0$$i%Zb_o>rj|@j<&pt4bW;+&4BwH&Jh4MXn=xG%}o$+M~jM_qaQ`XIhVH%!m z)Wl(qWN{ofFKk|avXZ7m%Pe+}d7cinP^vF-X~u^X1Lzh8kkN*M@#>G zsus)m{PMm|97!ixhviC(3>fj!Zgq{AI<}^AfpDMr)4bELoiVZ7w0R=W(;0S2J8iF$ z>kOu0-joR@z5CWK4VJqbdmcTs!gJD8c^)mpSIe7{`S-=ef1O?U|6x=NjQp?n=Xgy^ zJE>xQdBE(PwS0Bzq%+{Q!a>ehV)8WmycvEr0%$kk%cJoOP_zc|M7BJdP7A!~g~uFf zMX%P(x#3FYD(2jt??uHT9R^-@IFt1cca*b?H5ZCC?4WK=H z1ZMv~U3j7VR+~Lj8GVM{+Cq%R#%SwksY?WdzTlGI{Ct~IJs7%basjilF5s;i>!V$B zO@fTl7)}ut>z5|giVvKo0{uHL7|)O{sok9aHbdI+v1J|6JuRL@+T9KUv62B~OU!B@ z$znW^&b$UD9)f^>gt)gRF5V7WUH%b3sq%^D7)!ywNye-ON#&x8iZ~^GeSOP4^E|oq z4RE1o;b_24;!C^dpIPcmvE|Ny!42|MZ~hRF%Pz^N}HAEeQ<3nEt$NP6UmV8)nZ>{Gh68Xs|)wu`5rf4nCgh5M{*+ zq?NbLHrQ?8HGs?M0$!u|=GJ_7&d;p18DIX=;r$DIj^K4@6C2lv-UWOP=GNQ zG zBQRLp{E{`f^nM?-!T+FESi5=)mZm;<9J~reASMvMk{8KcnW%(^7QJD<*(6*80D`Af z&Sb?!7s(=b;;}kSZt@cHa#88q+nctm>ZoSkLjvtld*3we^~t`8>7vpw@HV7*H&Fg#AhCSxZO7!V()^CFoP3s48Xgb4gI{os;e@U^ zI>&}dB7E;~jf#~JlkI7ugCVsgp8G^~v{>eaO=LhiKi5v=&1`JxNu;2P ztmFjVYPv2Gy}YqXv36M58K+6XsdDPEcB9Iomm7#WAwppGVR6)@vO~U~;6tsMR^afPn|Fr?#ON9o7+!yxC zTd)i9AFGOW@enzd!Ie>|72qR!*VmD2s0@+tR}b`4KQ!|B^*9@L5e3A26YyFtFu}1E zMa9AVm`blsq{tO4{Z=t>>XJ9+a#Np_^oC7S2{CK_A3(==3cAPV411s9XtZhv=!C4E z!YL`lQ+b|vU_F%_Ns&9`bh)amV2$W^7V?!Fhu!@ItC;+KLVB1tuFrwc5?i;P^vaRj4G|0r=*q%Qo#Wakc@QW;TqyncUe zxn6IY+c%LAW*hHUBotp-J{L7CtH}oq&;qcjuUhUwhYP8-QI&8*?1JD6a^V!T6+eN` z<#wvu`}K41KdJ2B4yZ8Uh9=$!-5BdA7%1JOcfx;Y<#~Dz{4H7Yu96NE;o_9w?)9c{13>&T6vbt5H%0g4?baqRIqrw(w(NMZvu%&lwMO{ zn9QXw-ZNg^Ul*b1(6HpdF@iJRnazEURoV+oDUv_r7@fhPg^0dO)M3d1oVK^;*LSyF zFZ^cTkHuKpOR8%0qOhws*H&ms%F0tzS+pp{N7pcw52l?eY%>--Y&H$LK2;h(V0*%# zVw{Nc$M{aC51q6{=v5e!^_5p1d}f$NE+%Va5GA`PcIy^ws!n?wDeJbF`vIZbe1J1L z3>_G9eY&nD?e~Hs?KJ2Ml7Q>>Bc8z}USb`uy-kel7aco6K7bRRG<2tu5;cmaQ7SQ? zW)vbWlIo5xi>e*fdqyy`LzQbziutYkC~t56cHlGj91g6kiqi^9<$`5W*Y|p}uNle9 z&pttU|GfBDx*A_f)hO=TGX@(BD)weCBwATKz_6Ak>dIm*Q`5%1szq`53D@pETXsU) zl1=;zf?lIx_n;lw%)ld1g)|+OiNcb55Y^`6?#u8Qbgqds^+bUF za_jzDJui(PL`f5Pq6}?j5|N~0FmD3NNJETcaciYl)ck)Lsroo=k7QU86Xok0bF?|- z!h>RnqHF1&Kyy{LDX-mBXT5U8^%pZFolcz2RKlzRiemmZYW@u zZ$H_!_6>d8+K5%`|DfvNJ0^mN==wG$E$4R7O#HBO+`E%Cl9p8NXjzafCD4@2`IJW_ z@AE0`VX6(pEX#&tG^%$L8@zMeOx67Ad?hLAs`yMRbG5dCbn3O}puEdraTr5cm#unP z9t!^#{R7V-pL9y9Gy8??AOVqRF5@;WB|; z`qN&2)1E?6qHW=nkX=-ye-d6Mib~gEioyF;S?~p4e{Pbx3m+-6b2cAxjv08kTgELo zEtNEV6fGi?fD2N2?AZZRJwS3Zqgro-dn>MqgudS*w|7CtQZ#yd~BpCxTxtx8xie$M)W zMj(Y2m_h>9EUzO%7iV60Q`FF;0Lnt>(~9&Cg&Z{uNIajH>ACdh2qsVGHH%4ByP(1O zc$V;H#8ETnFx?N_#ux5uULfv3TNm3PY{pK#YP?Z;xe4F$x_KjuV0SelOOdL2yxUNNqEvjd@Q|a!EU5mr^zqznFG{>)<0?=QWi5>jbkd;bZ|$K3;~E(mUnbFP57Y$!{qWs_P`_`b3J|nUnYIA*CF8F zpz5X%t0oU<<+}aON;9uY)PK2R4w5a~MJ5hkqFs}BB-cEk@6krvDk@Y&{I)Z0bB3y1 z?b>&h3ry#o+7tlb|1Z5N|J|16*WUJ{;x#_1VT7{!as4Db!5^G)_5SjKb412J0n1dq An*aa+ literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-atp/images/webapp-create.png b/windows/security/threat-protection/windows-defender-atp/images/webapp-create.png new file mode 100644 index 0000000000000000000000000000000000000000..3d61af07e93d34a81e9a9735ab7c51d6da5bb523 GIT binary patch literal 7196 zcmeHMc{rPCyN@xg8dZZ5cK`rD)ZEPYI)7vV00OpqcJn{Ygl5a~2Lbr?D~13}-w*Trn{RzD|9BYy zs7w~&cJIhC)>3n+qZyhOh%E!hc_ow zqx+luigzXKznD6_bSyx@YS$MNmB9nbVkU>YK8Sx$E}Bm}mXoqa`h@iL9D8vKK>O=@ z48`5$+xNSN!1vt4HSmkyfSwehS9C`v))#~Na6oDmPF{^ieFDs2;uih*B3D>@UCQRjk5li4z%H zTB@KeEJWl(xty)I5L-Exb0A^nG^lZ|i9J|8J4DI~j9$%QI5e~Ephu3|qC-1&I!+|l zBgVs((l;Nuac;ffbSmWqlQ6DuX45uwsIA$w*cD12ZcmmamgPJ=rXBwD433BfI!Ir$ zgPNewYXsIf+yUcq$NJK8Y>swdu8g!ajM>a()wj(rh8i}n>bf3xj4e*p%bzO_!E6*-=bgU9WH54V5d3i7uTWtjplF&?j!~GE8Txi1nGEkNz;?bSIk^*XHwXpGA4;s?uKyNY&lppcXOh39eIhFO`dsT z-1Ip7nv7fB5+zx0*POZCK(r=M`?&1^H%isboJPHDlV)L3;Cm(oH$0RB7GXTJVS#0EB zPk`oIKjLKscp_)Y7hogvBW3kux!QBDyYGmoF;UKpgti9twzdW{Yxz^c+S*#ZsEk&9 ze}Dg?OSv-^8e(K*G;$HJ-{uR*EF2=PAo%lG1N}6w(+!`@4F-iiYkwCby)XX8&I@e)&DQ=~C8JI3@LOt%b)#V_qX|Z@7Jan$l zPUxe!as9!-*AEUI6LW)(W@S|S5*xw2%do|D%`rqZ~qoSpbtX}c>c+I%pp||IO z03hE~j#A>|^Bw@OIU&xlJA3vP08o^=hxI1w@ZYoG)M59jJcv?k%~Qjx6p`OD;8TKt zf$bkNPUku!QAWGr-Me>-H_Q2}!wCdJ;_3la`*RC%+%nHQ_Muxl=pKmGzS`yLeNRTeO%F>O(Vu7xhld6{?o<;WnCR%}2<=@K@1l3B z%ZzqbjXe)?jMYko0b+uW=lsWImQTuqQvs;XP)CeLNd;Rc5=b}~SR;8UFNA1(yB zw-kOCDI1Dzvz2KU>%0xG*_vyp1(STH-Y|wMJx3~gjUblL0v3F_BUP9=HlE4u-$FF4 zqTA}T(=j7;kkQx;xhP_^?8e!jHsJZJcm@uc2WvkaRb>Ud4plp+rWvV=;zmtTq^i_Y z7h2*9;pVrHW^$69k9`D&sgN!fzNOl8W_4PnPBY} z{<&;~b(=-A%`4UKPlbu78Kc_kOv-nKb2gVvaTO-FSJ=SEQm;B+%?(Sv87yuNqMlB- zAAY)EgwGZ(0xvq{ydaaKVka`&uv;oR*rqsC0FwOFKTzyNBa1=2yvgj;uRF6J54wh$ zB-}6drS|)dk$3VsUmiV5m}_F?w2u+@p>((X7@sR);DQmugAuL`!ME)(ALvYb|3a9s zzsQhOiEsdncH(t&kzL`c4HQ3KQFmWoyFkzK8+w?|1}%kTPhsynlm%SoP* zV-mLE5;}ES+)8~VneIK?cZ;dx!>+6q{6r8@Hf#VALF;A+#n1k@X_DQ~U-sHO&(TN3 zMuf~O!$}p;H59Q@g&89;21Ov?vnIF&biG7t!_^i^ZiktWwtxlnq=oiCPvkZvcGd%k zV`E*1x&kh_(vn}yIk{=_ZjugkqFLi*1P{oKOeO4|3D04n8X-vzzFc=!uc2QXq?4MI z5vh`5=G2(xsgk;1QN+MbeiJw8Ipr&Mk8;#j4NL!2XC!E;&>@Rr z-H6~u`J}VHef7Tr?@llR;Y+RDD=O*@|EOx9dF~Feu(9reqM(_-`N_*A?yz>bR4jBX zTX+A00la9%J!|iO#{BEq^;BDaQ%V<*|InGPq_o%|0h;0Cc(BEjQ+ITAbsceCAmsXB zX~5RXjANu5)J-FShOLIrEKRnKSV7hctf(0w&WhV_<|;1T@}5VAkQYWl^ zie;5oeZSMKtXTaXRPFQQluHO8?s5IW>-;!&0=V}MDn5v zk!Ctw>)_jPh$5CePr)ot#8j{{N!AaL@(yd(+{H0G_D)mS@|R_Mz{S5$rTEI@5vZJ~ z%X0C&a`xIFh?f@M)x|FxMS9@(Soz8V=!Xh)^p)dsaN`i6E|HQ}*E#JOpLNEJqU3TR{_vO3sZPT{suG*>W zmwMbw$Wn@26fREpK}w|0>MM0*=MDqWETfQjjUqW;z!+!uxp*}!kZ$^qa|&toMdEWwBNHgsQICa*!6OU>D&=BcZf>CFD5g3 zM^0i>j&YO9Jku?CiFNe1+$8XI;ZY=VD|ivbv_plH)>tg-di!!6mh65l(1Whk+1X@> z_cyrX`@=PFJxa=O#=nkDyK7i(k$JkeYt>6KI#O7YLE&0~A*+~cGKB2lp}s=1tGz_F zq)y$%ZP{+o>D?ZN%`081=@QPtr4*+nHZOLhCG!VvV6Q?VJ&DWmb(Lf!-IuQhujSjw zhLeiaJ0UZZ22u1hdxrJ`(>L?XpgY`VM<0WUmfpa;3_uoKqT^MVk&!wwxoNWSS1 z)i`1Ry=#2=cgq@rNg6s?99Lk({fYSgui>ZZ-hU5{(*;Z;_cb_gkN==Ac$e(=CD;0I z9NGmnd4+;dp?pAu@<}jsrYnQ->6HZrj|Zxv4lVN8O3Uz- zc@PzvLDd*(P76*(qoG)=0jS&*_X$L@FeP!93n^*J^ncO+`swmEs5bwn*pU7KE zB%F0sPLE_U#vHR|A!7NR9l9DCzu1>K%``MLRF#4VI;w(x2@)(rzNk<>{LA=^0IUCn zb%Sa$!n-}(3@SYBdC&YgUln)(UwKst{j}i5NAEUh9xG_6+)lno*D{#Ub)#G}ud@pR zzs-lDQ%*Gl)RXnZ7*gn!^6B5ONbr!|97TXqT7L>Ul_v_x=>jvGv$spEdQKYRkRcWO1z>cz_ zefgSS_uSyHV!qdzcTxSEu}|vSTWkLKnj|Ch!C8J+Nz^MnWeOd|g<$s7s--*go+osk zsw9;Vp(A$x3j8m0*l`yv4M!QxE)$7ozX?;D(|s!_2{SF2xgwVJvwI-`tUo_p@qfo0e*@qFd$Z zjcr1j6Q^Dze=&j4BJOtab%pP1zD7`eYMEA^ULUdk#<@PoLvgha4IF!-=3M0&U9ekC z^0&tSz{GGgX^tmR^7&6HK=Yq5{(qGI7P~*{->O6Lq7BVHSdOChXfTO+0`4o1b#8p! zp<~(xV7@*7YQZll>}2IoI{AFGR*2u;MDKv{#u36&iwGY}wSlsS58qL>FZHYG$8k>_ zC^@Jz6k>PyhaZCZnjq*`h43kfHKrn?4GrjVU|nJDdYzj(+RB(kgQt8GI@J;^OKo~? z)*Qn^Mu%=bO$*rGpgT5e)pgZ`vH0kFfz+~b5YFF)i&T%Px<~f1riQD7jUT*F`^vbD zK02PBEQ&R1`#kH*=%Y3ZotscKgVBD=&{4G}-VRecNx^v-1X0L;KY#;mZ*PxPd3Q@c zcg(x5riWUlx!lV67@A1tmz)yK8HlT8Afw)AVMHgGLxLLlrw+D(X z*SW-Q_Fze^ZCbzq$YL4tlTk-q&H7&<8?lQ?%1 z2U#Au^;yhbq$OIJJ-Pj;gA~ zeD~gAR+;G8N#Z;5yqUtB+Xj>Tk#n2x6C@?s8k}uqPE*`EGkHojo&|5HT%D_i(z!&h z>te~E;EC_=Z&WcuvH?tqU< zJ5!@0YlW$$p<2G+7h@+MkD~Mq;b%RJL4>~ZxwHA!$3uC06MfFkUEoc$ey;(6v ztBM@CUbCyvj8SNTY)UR;Bj$0`#sG^J0u?cq)lUB5;-@+5>7D#Rdpw$bz+V-&NSQ70 zJ5Gzhn|ibJWU?vTXM8}e{gan0X*p;h*CsK@#|R(#>Jp1laIy{(#c3s2Bb z8q>zhaw}^G*9$1z$O;yeUWR6`pg__Vn>+WJ{Y<0EiLBvB8(^fHzc0yYf_s5m$!mJ8 zsKcf<`HTj@0ySv;F^X|L0=x*m0Z1MDUO7Tl)SWj=zfJzZ%y&bZODrUMm8Ag6pL< zjk_!#3Vz(Z;CMS+{b1P#ihgEf)IgZ*Q3C7?ch0cF^s%-XcDvd$z&?W82I#BX>JM$E+ z^xlb`%|^UNQ2S0dBN;}cS%skhyA69Jyay`v$ZiGUT(( zz04w(M?GFI*OFbEfT32CeU*Ox?EhyEy*@nJVSE_`GMx42^K2O1W9yv5tUTV?MfPb5 zERPqj$Errgj4(K5YCDW_`wbsiTJl;_y{GJW4?Dewj8lN|-a=UExj!v7oMnA*(C1z# zQ*6`+(DQRMq)v@D?i#D)ks(ES9!*;H_-o;GZ_eIU#hcwa`@aIBz~Pvl^a}L*Z?- z$?9R4&FV8u^@+aFJ9vBGI*Ju>1mz0s}kh_j|eROilntX@z% zk5|IB6Cirh# mSLx)W$CW+iYOM^OfJ67>+HjXXjQ@`wz}&>j7-Q&u?>_)&`)5G_ literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-atp/images/webapp-edit-multitenant.png b/windows/security/threat-protection/windows-defender-atp/images/webapp-edit-multitenant.png new file mode 100644 index 0000000000000000000000000000000000000000..83ce5da068ef44ccea27dc074c4789f5c556684a GIT binary patch literal 32504 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

$mIo=}eKhqt(3h-PPfNjq!5l_0i%I1)ME#0#l*} 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 JC{6pA{{`JEUfBQu literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-atp/images/webapp-get-appid.png b/windows/security/threat-protection/windows-defender-atp/images/webapp-get-appid.png new file mode 100644 index 0000000000000000000000000000000000000000..d18950bfd179722a1b4a0081723f38ccd7c89b21 GIT binary patch literal 10830 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 L092`I8}YvYQ)rLe literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-atp/images/webapp-select-permission.png b/windows/security/threat-protection/windows-defender-atp/images/webapp-select-permission.png new file mode 100644 index 0000000000000000000000000000000000000000..7f5fb81063e1864ac329cbc2b99b8557414ea9b9 GIT binary patch literal 30641 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 literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md new file mode 100644 index 0000000000..b71d2fe199 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md @@ -0,0 +1,106 @@ +--- +title: Collect investigation package API +description: Use this API to create calls related to the collecting an investigation package from a machine. +keywords: apis, graph api, supported apis, collect investigation package +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Collect investigation package API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +Run advanced query. + +## Permissions +Application needs 'Run advanced queries' role. + +## HTTP request +``` +POST /advancedqueries/query +``` + +## Request headers + +Header | Value +:---|:--- +Authorization | Bearer {token}. Required. +Content-Type | application/json + +## Request body +In the request body, supply a JSON object with the following parameters: + +Parameter | Type | Description +:---|:---|:--- +Query | Text | The query to run. **Required**. + +## Response +If successful, this method returns 200 OK, and _QueryResponse_ object in the response body. + + +## Example + +Request + +Here is an example of the request. + +``` +POST https://api.securitycenter.windows.com/advancedqueries/query +Content-type: application/json +{ + "ProcessCreationEvents +| where InitiatingProcessFileName =~ \"powershell.exe\" +| where ProcessCommandLine contains \"appdata\" +| project EventTime, FileName, InitiatingProcessFileName +| limit 2"​ +} +``` + +Response + +Here is an example of the response. + +>[!NOTE] +>The response object shown here may be truncated for brevity. All of the properties will be returned from an actual call. + +``` +HTTP/1.1 200 OK +Content-Type: application/json​ +{ + "Schema": [{ + "Name": "EventTime", + "Type": "DateTime" + }, + { + "Name": "FileName", + "Type": "String" + }, + { + "Name": "InitiatingProcessFileName", + "Type": "String" + }], + "Results": [{ + "EventTime": "2018-07-09T07:16:26.8017265", + "FileName": "csc.exe", + "InitiatingProcessFileName": "powershell.exe" + }, + { + "EventTime": "2018-07-08T19:00:02.7798905", + "FileName": "gpresult.exe", + "InitiatingProcessFileName": "powershell.exe" + }] +} + + +``` From 802d20f5ef612cc4c0e2eab6d79d06925179481e Mon Sep 17 00:00:00 2001 From: David Laufer Date: Tue, 24 Jul 2018 19:20:47 +0300 Subject: [PATCH 02/71] Revert "Adding Advanced Hunting API documentation" This reverts commit e621b807f1c8cba5601928e0013fbf11a6d6abcb. --- .../windows-defender-atp/TOC.md | 6 - ...defender-advanced-threat-protection-new.md | 96 ---------------- .../images/webapp-add-permission-2.png | Bin 16217 -> 0 bytes .../images/webapp-add-permission-end.png | Bin 5808 -> 0 bytes .../images/webapp-add-permission.png | Bin 35593 -> 0 bytes .../images/webapp-create-key.png | Bin 22282 -> 0 bytes .../images/webapp-create.png | Bin 7196 -> 0 bytes .../images/webapp-edit-multitenant.png | Bin 32504 -> 0 bytes .../images/webapp-edit-settings.png | Bin 10818 -> 0 bytes .../images/webapp-get-appid.png | Bin 10830 -> 0 bytes .../images/webapp-select-permission.png | Bin 30641 -> 0 bytes ...ows-defender-advanced-threat-protection.md | 106 ------------------ 12 files changed, 208 deletions(-) delete mode 100644 windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md delete mode 100644 windows/security/threat-protection/windows-defender-atp/images/webapp-add-permission-2.png delete mode 100644 windows/security/threat-protection/windows-defender-atp/images/webapp-add-permission-end.png delete mode 100644 windows/security/threat-protection/windows-defender-atp/images/webapp-add-permission.png delete mode 100644 windows/security/threat-protection/windows-defender-atp/images/webapp-create-key.png delete mode 100644 windows/security/threat-protection/windows-defender-atp/images/webapp-create.png delete mode 100644 windows/security/threat-protection/windows-defender-atp/images/webapp-edit-multitenant.png delete mode 100644 windows/security/threat-protection/windows-defender-atp/images/webapp-edit-settings.png delete mode 100644 windows/security/threat-protection/windows-defender-atp/images/webapp-get-appid.png delete mode 100644 windows/security/threat-protection/windows-defender-atp/images/webapp-select-permission.png delete mode 100644 windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md diff --git a/windows/security/threat-protection/windows-defender-atp/TOC.md b/windows/security/threat-protection/windows-defender-atp/TOC.md index 1111f8ad04..fa8be23611 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -95,12 +95,6 @@ #### [Python code examples](python-example-code-windows-defender-advanced-threat-protection.md) #### [Experiment with custom threat intelligence alerts](experiment-custom-ti-windows-defender-advanced-threat-protection.md) #### [Troubleshoot custom threat intelligence issues](troubleshoot-custom-ti-windows-defender-advanced-threat-protection.md) - -### [Use the Windows Defender ATP exposed APIs](exposed-apis-windows-defender-advanced-threat-protection-new.md) -#### Supported Windows Defender ATP APIs -##### [Advanced Hunting](run-advanced-query-windows-defender-advanced-threat-protection) - - ### [Use the Windows Defender ATP exposed APIs](exposed-apis-windows-defender-advanced-threat-protection.md) #### [Supported Windows Defender ATP APIs](supported-apis-windows-defender-advanced-threat-protection.md) #####Actor diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md deleted file mode 100644 index 26c7a3be1c..0000000000 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md +++ /dev/null @@ -1,96 +0,0 @@ ---- -title: Use the Windows Defender Advanced Threat Protection exposed APIs -description: Use the exposed data and actions using a set of progammatic APIs that are part of the Microsoft Intelligence Security Graph. -keywords: apis, graph api, supported apis, actor, alerts, machine, user, domain, ip, file, advanced hunting, query -search.product: eADQiWindows 10XVcnh -ms.prod: w10 -ms.mktglfcycl: deploy -ms.sitesec: library -ms.pagetype: security -ms.author: macapara -author: mjcaparas -ms.localizationpriority: medium -ms.date: 10/23/2017 ---- - -# Use the Windows Defender ATP exposed APIs - -**Applies to:** - -- Windows 10 Enterprise -- Windows 10 Education -- Windows 10 Pro -- Windows 10 Pro Education -- Windows Defender Advanced Threat Protection (Windows Defender ATP) - - - ->Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-exposedapis-abovefoldlink) - -Windows Defender ATP exposes much of the available data and actions using a set of programmatic APIs. Those APIs will enable you to automate workflows and innovate based on Windows Defender ATP capabilities. The API access requires OAuth2.0 authentication. For more information, see [OAuth 2.0 Authorization Code Flow](https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-protocols-oauth-code). - -In general, you’ll need to take the following steps to use the APIs: -- Create an app -- Get an access token -- Use Windows Defender ATP API - -### Before you begin -Before using the APIs, you’ll need to create an app that you’ll use to authenticate against the graph. You’ll need to create a web app to use for the adhoc queries. - -## Create an app - -1. Log on to [Azure](https://portal.azure.com). - -2. Navigate to **Azure Active Directory** > **App registrations** > **New application registration**. - - ![Image of Microsoft Azure and navigation to application registration](images/atp-azure-new-app.png) - -3. In the Create window, enter the following information then click **Create**. - - ![Image of Create application window](images/webapp-create.png) - - - **Name:** WdatpEcosystemPartner - - **Application type:** Web app / API - - **Redirect URI:** `https://WdatpEcosystemPartner.com` (The URL where user can sign in and use your app. You can change this URL later.) - - -4. Click **Settings** > **Required permissions** > **Add**. - ![Image of new app in Azure](images/webapp-add-permission.png) - -5. Click **Select an API** > **WindowsDefenderATP**, then click **Select**. -**Note**: WindowsDefenderATP does not appear in the original list. You need to start writing its name in the text box to see it appear. - - ![Image of API access and API selection](images/webapp-add-permission-2.png) - -6. Click **Select permissions** > **Run advanced queries** > **Select**. -**Important note**: You need to select the relevant permission. 'Run advanced queries' is only an example! - - ![Image of select permissions](images/webapp-select-permission.png) - -In order to send telemetry events to WDATP, check 'Write timeline events' permission -In order to send TI events to WDATP, check 'Read and write IOCs belonging to the app' permission -In order to run advanced queries in WDATP, check 'Run advanced queries' permission - -7. Click **Done** - - ![Image of add permissions completion](images/webapp-add-permission-end.png) - -8. Click **Keys** and type a key name and click **Save**. -After you save, **copy the key value**. You won't be able to retrieve after you leave! - - ![Image of create app key](images/webapp-create-key.png) - -9. Write down your application ID. - - ![Image of app ID](images/webapp-get-appid.png) - -9. (**Optional**)Set your application to be multi-tenanted - -This is required for 3rd party apps (i.e., if you create an application that is intended to run in multiple customers tenant). -This is not required if you create a service that you want to run in your tenant only (i.e., if you create an application for your own usage that will only interact with your own data)​ - -Click **Properties** > **Yes** > **Save**. - - ![Image of multi tenant](images/webapp-edit-multitenant.png) - - diff --git a/windows/security/threat-protection/windows-defender-atp/images/webapp-add-permission-2.png b/windows/security/threat-protection/windows-defender-atp/images/webapp-add-permission-2.png deleted file mode 100644 index 24e449a94cbcd63f6fdaf4280c8c6e7d87b4983c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16217 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 diff --git a/windows/security/threat-protection/windows-defender-atp/images/webapp-add-permission-end.png b/windows/security/threat-protection/windows-defender-atp/images/webapp-add-permission-end.png deleted file mode 100644 index e0fb6d5cb88c90840f24e03495d072c284bf828a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5808 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 diff --git a/windows/security/threat-protection/windows-defender-atp/images/webapp-create-key.png b/windows/security/threat-protection/windows-defender-atp/images/webapp-create-key.png deleted file mode 100644 index 2784135cc495e2d3f9d942dad623ed12dc4109e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22282 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 An*aa+ diff --git a/windows/security/threat-protection/windows-defender-atp/images/webapp-create.png b/windows/security/threat-protection/windows-defender-atp/images/webapp-create.png deleted file mode 100644 index 3d61af07e93d34a81e9a9735ab7c51d6da5bb523..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7196 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 diff --git a/windows/security/threat-protection/windows-defender-atp/images/webapp-edit-multitenant.png b/windows/security/threat-protection/windows-defender-atp/images/webapp-edit-multitenant.png deleted file mode 100644 index 83ce5da068ef44ccea27dc074c4789f5c556684a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32504 zcmdSAXH-*N*EWh$Efhhd2_aGy=}PY%>8MmGQst%zN(2HyiWDiK3DQA|AT?C!79dnX zq=YU4Qj$;tgc1_IjraXL=l$Mt#`(rLW1Mk*INa>4ovgjqTytLYn%9gmHq@rQ$bONG zjEq)SN5hni>>Qqq?0h#36>vu!`}qd&-??X|+G=D~->$C%e^9up8mN+yA>fxz9#aB; zUwEox`HYN=?(5mVb4c$}Co(cvysn1o1Akj=`_VJz$(&Qg5adDAY8h@!e|#*(vdw<* zhDVz|rt2~2*N#(%IJnQr=X{LfV=W;+FaN`xXKwI32dX-Z8LnvZPEZ6l1+i75=$5J|D&Q z=c3^M=Hf65y4kGFdRfa0x%R!#fMP|QHE#Ce>zvO|xdkCqUvthLr4Dm&6`Q^Ae{_?T zVrTgDWH@v^dLDNN_$Hox|KAy|%iSz?81sA&V-8}>gM}@&D})w5w8r|zMzZw0KTpl9 zisM2@Fn<`1HSSUT1txwSclYu*PI-J)o48{S?_eFzeTSw6G4=*WK`M?=AnxHVyso&$|qlydkfT~ z204zi7EW9gh-L3{lN%eQWPO*TZ#quyX!Ca`j9^ReJwqmN;xKi?RKLYpiSZuMikw>q z^|74Z`A);Ao50)1Y)d8y80Dr$Mp6YFE=H|<*9N^wOS>lPw~-pO#IZnA;i%o%m7uf2 znpg&`;5rR6)X&ea`dl)z{EhJgsFn++-9`k-!Ih4FY1{afgU19Izk{`1dL8`@ zi(f;5*y#o?XH3V_6&2Mi=)q=uIszH0(6P>D0w-*?8hy)C_NKeOzrXK7oQH1F-bTY~ zy1Y7#uE_Y%2X>+f^m>D4Pm`;kD0+g>#~sv=)3r;X2U62EjUJZpS{eQ)plMfc?2gRm z8ujk^ta`%z66K_Rf+EiW3Jf{Tx)SOc>`3W(aM!U3n98&Svi8G=Tk~nBFa?}A|80{V zn4=_XINwva!RJ8ZjQrj-6md&^c?x;Hh{tZB$x6$60Sr1n?in%1e?9;L#Y@fas-BO; z+@;kEJ|&=MW+1Yy!jY{>1_++y;7(T!3{9K(c4XtqUwM7h#k3DFEmfh?;0>Pb-+P^4 zY{yg0Ps-P*c=|)@{IVO=AEk@hNug!R>2IOo`mg7DL?15CAjwV}BRfD$eGe8|Rkxt> zw4Q|BD=}U3=1>JgF-&g>>V80{t3HMu&q0e;eFBr~PVkebe++EoUkdiB=GR!`N+~zX z7fI9O<>o6pNRV`>-)z)Z;>UbBh?9HICVdF(9qxF(zL+Bw-lDqJ7e?edn4FZtDjokt z@9dv#|HMfTQ`WH{DFSI@jvZWQ9?6T@Z|wu9_1Kzf$~3z1 z;GWQ)1nKPH(;*N^nr|YhWCoulwnkg#4Xao(ZOeiCwF|&WSm{z5_~&S=pZn8ubHc;Q zrzbW6I_kD|)Jdh$oP^OlC`Qf^zk0xj(g2Ro(i*Vw*3iuA8DNzjOcTMDh$X-Djk6y_ zW{vc~!f$Ms{4mNmPhd>{y%-;vqi%2W$^*oU@uNM>V)0|X&WaH_k1{)PbP{`at)0lN zX{T%!8vPn|#h?CHaP=C2Gr;0kaGWvbB>xy6^@J&g(~-=7!5uX1^0(2EtI;06Y0lR% z!$hC?fX=I+;-75NU&nh>Q9n3g>k_PSq1xYGa~}N0hLeA5-1p@QU$ipDT#l4as&kke zIKEi??Wyb^-}H3DR3UuvugljElB{uK;eeC6PIKm@1kOGUJ@Z^I&OF!ucQ=1|JA{}U z()2wh9Zz;<>b&mUp<`-hjaU{8@?-i%b``3^kX*PuZV*jwj5(*Olkmk{8ce5xpr!!J zUbLHwkRj{lV))l!Hx`0D4+}mt5%$lh)lW(cqeh1t{9We+@z+t*YR9_Mc5~(C)h=SJ zH?>;&Qc-!q_^D5zUYd)kwDGohaP-8)1je9*J(RtGmw?u$*-05BA~kaOYZv5s&vR=)m8>z!T^H z^~B!Vci@TZN?hHC<1AN`i&W(Hb?&-^=LFD== zA8*mC9h4Ooetkr#0&7vt(n}YK_q;Nxd$M7e+(CCw+Iv2gmP4vnsJiV&b;t3Cn4v6b zr0)fAxCw@uo-3|+b_n5!{IznT0_pDV&PZxD5G61~*li9g?CQg@8m82V6~X%QPk+AD z&ypI#xR>OkVhqlfX$_rEQ843rAni4q$Sh>m3*BmG(F1pRQWc^?_RH=1NJIiTdEEnH z7K$#qqp1qJP9S5BDWUTedRstT)nPJ)sq-f@a{z-C zmqXOZLmb{YxIV8`$p=nqZ=qK4rY<&8CO%L)T22AxBj#RRRh8fwOuI}Qs5$@I?K^cc@Tdp|;iUCWWzr=Uc8K zhc|~GcTlRTV%(G$N2r9%(Fk7Vhd|6HG|wF1y1m=?&2F!Fk+!3hy9V|tof?A)_(KfG z`TJ$6wuw{yZ-nAU9&8fdr3ce|34s$^7l>YPZ0M{blGRTNn^#tzh!Dlc&3KWcWfl?L z-`M2WbVp`X*YVgH9Pl1l^dnP0p@ko>f+#4ed?T)cwc9Rm8(AOUf-b9mBqFX8hAZ+zz5={iH%mjlO750tut(*otyjK8Q{+ON{{o}n6a^NU5pWACF zDjRd>QLZ_He0fF!**JlHhy%_psB>)p{tn)Jjv*#jpm&1wpiTG@b8Es(2ho1(lA)Ja zA@ca6&(bEN{HGo50iHZb$U9z`pMb76H6INT0BNaZ_uu!M+XXw1ZkOaqx+Y{Rhs=8r zOk#u*KiINI@jgt|3AZpYbKRm@o?*n3pW}IMgI*t;@7PP=YYfF#3ec}{aDya+i@@}2 zO7%Gb~1)VE$x$6Q@8 z=33d4XlabUgJp5X3}AZe2vwz}(Ziqo+ARK>IsB${tj#{HnwgN2$i2<3E1kjEN-_%y z=_2jsohqa;o(Bw`A(&_uWOo!1p?l_8wn3>6Htd3SG;eov?sciS9!2a$edfihs*7OA z!9-qcwb!Yt+s?1R)_1n}7(0lumT9&Wpvc1#ufMAHQoH`rfgbqqYDdcjA2MdB#1+Br z>(Tka&SJjcHgg#;@8oysAX5q*ae;r0=jKB&sZlWljvR+iPfQd=2H7$uT5vAmqoX7KnuI&HH@TbX{+Wq%r`*jP>lXv@ zSm=t&dY{E#M%)k@&U0?mLnuVTouTl-hd&#)zf&~=9?gKg@p}hoEWGy$B_*W~f+ta1 zM?@W1TCxmAXoxWoDULpclKUXkN8}tQrvA-J+owMI6zWEeh^K7AQCK$UjXep4^8$?4Oa4zJkscs?dv}0Ugt1SKQ+LpbZ$zy46-s=tWM5FUve_QOjg^aE1w<><2K5x z`+@B%Dl5~a<5Cc;ZpUX{s4#!Ny)5n_9OY{LlK}4Cy{5n23+}%)01yej&jVmDU2Zw6t3FI@X=A_6n

$mIo=}eKhqt(3h-PPfNjq!5l_0i%I1)ME#0#l*} zJfA!RVy3CBtrzZs4>RySFM402I*&JmGL%C)W?TG((tN3{F>h_uf6AQmKUzs&nQeX+ z>JU|d$d>ZVY_5o$lHJS;Rga?UlizA{tfI*W45613FtAy$kVBMHY;5e%@r-w;aG_Sb zgj*t>KIBmSnJ#DgOv80p@x{DH-Od5b@*VHqrDMPl4`tHflGZGP|BDw*x2@`RAY1do zc_F0c)YR0sYzp0mG=PceIcZ|X$H#H8b|*Jr)z;3HlD?YVbh_#riA`zaOyu^%D4%yV z&sGh8;Nc-Bjy%u1=waLByLZ`M=Ohlsa5jAba{j-PylQViqS+t+kjK8+)5_-osG~_$8nF z*F4?W#&mfhspBnzg)=l2KQI%)ET-7bnLx_I2w?zTGmXJY=u} zEn}?JO;@8FMGx9UY_-@up`JMe^9ncpJBb^%FtIrZQ*d3Le@e)c{QbWuhpI z?LNUABY~Hj{(OO|QQUA$wWErMa|R{AEI)xoo_~_{guY4q&M=oyPZ1#;XGN`-AAC5& z{T)2*aLQ4AlPWwZLnleBi;f!%Evfnv9=FZ&Fq7_q&Mhyf%SCXR#T5&4T{o`j-C-1z zNoqvtJC#e_ExWPrEpl3^<2z)n!h6+An)cQ+RQQ(0vfy`ZxzQBZRz)iNt(5kvVD5UQ z^VlPhJ0oxasJ@QtB-M1$^_4D@r2!k6ts8~HSl;RfbNZTDmX$u3zXc(@fA^gqSA%6~ zoiMMjaDdb1(=v0rv{*Flo|{(B6v5u%5MHvIRH`w;7yC2RZ{gpPO*F){d%<-HrYD|> zYbrnnSf%wkf)7GNsk~Z&3mwE5A=Opn>K-7}^)pKZ&XFCxo%+Qk-<1F{(b^I&G-$sH zS5bsgRn$4uJEnhc#7dAYjj$<9Pfj(IxP_FuAB3yeSl8g?HuxB!BOUGmngiUTI+#zL zaFUeH^RvX#oJaEuBb5K823RCoJVhn?);%=|%IFntcqYEgm$A!^ZCGLB7mL{&A2J(yGW%J$)D2P75DDUFZLUa+5 zzM{uG2l)r4AAs}tQGG-EGT%@8tItQ?q1dXl?R@D2MT;*2UPrzN)@6L2PD_=#@_B6V z`iJU}<_&Ado`IzPo=?6RG<$dVU4PV03-Cz4lWwMNPd9x9L=8?;We34?)P?!s6H}3f zvQSc3cEv~TsD#`$J&Ya9?-8l(8T`cgz*ZJoELlS+AD>BUw8>Pp^(6T)@&BM&lAb`R162IVR(ARvV{f1C+O4DnQ*SZK zkIv(9^E>@#lp_S?fb^Yz*EEPr@62#^*=A6T*vcC(yi5_#COwL%@>ICv-~_)@AA`>g z3amI;0FlO)3kDmB&Lwe;tJP7(a{{BRmnmEUXQiKXd`10&3@asP{nG$q^@<;Ea@XL3 zXt(z+4w79i=^Q?DDCdDt|3%}WyqkAFPX7vi#aD;xi)P0A4oMMP7B_U$Wi&D#%v!qX79GqyhEu_ggSA974fAdz zxwGOZ_~g~VykwobCw=Ji_KWtDP2C->dyniD+fDNYC@*W-nQBw~mn}%M!xXQK<2tjN zGCu|0l7!G&|7P%c$0jdQjgDh?BeAt=**P2xqlo7ag$wx#k@DX`WjtZ?dS!sW{zX>? z5>I^@ZZe`eAd2T%xm)|!Dhm!OT9fOA;CcQ#?&UJrDK+B+w9tv}kQu#euoXY!pq=mG zeSk6<&h2*3v&vhvUEUBKz5>t>|F$n&ENA*cQ*P^xnKqr@ra`rf>B`|(-q8FPa}(|j zga%YzU~cs)NBLzrxPJU|q|VSz)W45Kx4l>({J)wo0C?N~9Hc+7_-}K$DE95^;l7%4_z?=mnoQ|8+6|C}lXvRfIZNJ4Cd2&Pdf=W`s&ymwC#)t?}s^ z0Z6nQ%3c@>icw{29J+aUq_Ro6^a8(YFqkd-qv%Sq-oFo=Fje?>=-Gzy-FJu@Bc6X) z;CSJtBUOAx{XJXF_&|o5khFLyKYXY6LdT*0Y)EpV4u*TpDZjW_lix5~uuvPGc5)KL zWTDNDqv>P*w{2Yu|GcJnw!z6a5$aVi4@7wlR&V>3jWGFxZ#uh|g7PIH_Dz*nuU%tL z;<MGIHkD5dGJ- zk=pq~mDWu?O#%j)SA{fte+r!K+rNGhV7EdQcN@3fs844}dA?pPt9dvEASX(u#BVK#ineX5c?c2C{3&_2p-$T2_E&oK6!|kR8o`f;8&32mvBMbO zeAKk?9Zp4=S3T;p7c-4}p5lk-?AXd~gKmelA*$63C+yxtrEev*HHACkKy*EST}hUY z03YbTZm+D2|7_38CJV+le#@%ecsgvCb??8sqS~M93JO;}-bnYq%T8-RqXaJHiz3j){sgm^b{JHn(Y5H-kG^ouE!q<^g?{@O z&my~zPd{ht^AKZ2J3f|kkwz%jRrgI^0LjdYaowx(5RBOV4y>}gT+-8#BeV^u1aw*r z=fPV@_%M8NwMvf063y$5o|44{?+_&}b%iuYX1g8DSVNvPEi@02P~VaJBQ!Drr7I_t}p76jfgD;7407RDggjT(ZrnxTTGlIc>ij%XNw+rER zn3Piuh~{nv*N0S4H-sLvU0mu-;&GWVtQ){zJGQvItU}T)XHpt6%6E z%-h!5lbA19U2WJmYfXR8TMvGy4T{2-y9uV z8wWkbm{yoM01^HpgAm2#E5J^PvZn@YHm?q@_!fadC+BYzeI7xS+^uTlH?vy}SD^=L$;UeTh;YjRPF$Z*8#0g=^exZGi^ z*==Gl_XDRVOk1)cvWnYFWK{vA5pv~;2F2cdAzb18d-nw#ict4hrvi zox*b)5&t}UEE@=GRYa{$D-hO=vuJTY65kMlovcDHfTHJ=UG~tROZ@`VTl#>1;5-<2 z^*4>0<(T#^x{W8DcRTQdTN}~P^xXwA8M;h4rtmnQ?Rxs`z!Cg#X}!L2@b#eZ{tZ=7 zs2qOfaclNO9c9GxvHMfhF~O_fa(3=mOHBj&r07La^jg9K$tb{C3U8Ut!-wDT)Sj7u z)YHeYVP^;>&NW_>UzZ~B`{JXGejseHrsAAv@FPrPO;;n)A8asyW=)Kg!rqBvalCk`NEjiiWX?qqTU2?cK|_;xk9BvhcglpE%}={| zUfEaV!6HnND4)a!K2y|s6+A;7*Q?xUu0KU^0*7g$wA|SzvF9Au4E{D_L7fEit4?F-benm*gQ?)C1faT-` z?1JjpNE(QLbPV{ooX_?Y)c>UVpQBy=WcWbZ6!(Pcf4un`APoR)aBZC*>!9qv%?-q9 z@lk`4E<>6auIw`^?4Qv3e{}I*;;_0?7p!qH^W=$onZnWhs%bsC;`w|V=Kz>j`aeWx z4J}N{L=ZT@dn*Q6OTOwT8?j9HxG(1{mAL`Nm*+@BbvSnh43G}Z5zE&e_x}BXq~mFm za?q4Irc=?FZD2j?zXak4jTDc8zsK_6B@s}JQRS?1J`|G}=;Pz#p?AiMl^A5Xq(x}3 zMRSG?pD_cQiGGL|FJjvoI@RV6+tj?~H`96&IBGjT^ac5UE7|iczh34Rr!sUZHOb-GmC)D0i6Tqlov5<}x*(;-N3C0fOS7 zVqgx!kqF=vek0e_()V=%YE<`FO{p`kLe0(7JpiKc!-o$JH^~bN3O=`0k9_-pLr?SpOrL?r>__op$b~*B;7zUb%zIZF4Vz)RX>Bh`KOiyJ zce=Kewh(hH47a<=Ri^Kk=!@Ubvgap#rUtPdsbgp=sAJ}o9jPsvx~uX3~$IQ2~&q{Q8 zcyHH=Kzfe_POWdf%F7i;yX%!hqh~?HbHBzd8&Bt@aSwjtbyX5k4-co)=F`m)JbSqc zI1Ce+S|Cq)NC4ed2Ee!;y!BL%)IoZ%)Xh60H-mzi-53N%#e}p1tT7gUaU?d{7&cvD zW@grE%(Sz%cE=GVy(%x=gK|o!j zwaY90KBi;D$lV=nBZxb4fp%Bkt#0r2l>d7hcOC`N&- zd0G;}e5;Wl@2H*GZ-%CfX>Vd{Rh$To=5+S6J6Ut~r|9VbEZ`7dq?_VUOw%WF=AaU9 zBFYn)ndQ>Xa);rXhogT(kBJ#YNc40^l&y^oXQv(fII*F>tqF?3V_$|w+n{+Ebvb|H zpf?b^rV1A>osr#uUV-VH+q9&YW_OOze@lvAU^*L@kCKdn&3O*K73Z({R^6H;_J^YP zh|OVO09bp0{EB-1Q6dJyVm8%k=f(5Wkb)c*>(Sa=wX-DKn$X-I!$|E;ATQ;5ir7@npFWD_(N3Va*B7!4(#cfDgex6Sh_4@FfY1CaiBIl~TVPLdzSYebJa@?7 zC$5ufK$52rZ#ekI6AzmD0z$L|D~|?%9!@)WhPkNK2pYMa?U|YEDJ8?SU2rKx6&(Ki zam?zKYURC9Pl8V!GPXr#3Sq=uPn-H(iLuyO4zNuf(+Du+I(Jfa0kwXP<&CGtjX$=P z*8qgJ9Y}hM%AZC_EaRB^_jiuJJ zwtAws5)*iA@l#wSH|+=hj>q?@{h9>aH0ZpeS~E#0@>qs@gs!M^Mi5>z)5W@@yg!|m z;|0IsSAz}thV5vWU;pubNzyBVm<>RxT8o1`mDIGfp53HK1+03W`|=d-0B(*xGE$M` zL`^>blc+x)M&0$0UCiGYZlXWLt6uZ-kUgY7fwV#>INQQUF)De}BIgMOruQwUJh^Gn zy~svk&Q@9|hDL{KX(Ete14vr~d$q}rtfT}n;xkK{R(9~k?}ge+&c<9s$J3h1$M4ZC zAw3D78kOF+aP4K!tkf%>#?8@xB3ilux8S&W8aL#NP>{!$WLtBRtdVcEN_$ zVyXqT2()UAg*LQzGNT+HwKENmSH>V2;N@x9VaI5thld{>-km>4*S3~3n^RVxnif4q z%&6ts&=(BL9&6d@)Xmf#s2^~yKbeFjg!fOmp{Vy3x9pG+DxAS|;f;07tmZ(;7$_}@ zb$zoJJEr@eea(OCfHHu)pLK-)em{T^i%48k{hvWy;zPue0IAV)#$}?lrDgdmy>jZL zEp+Ilh#U583vfa>ATGZxrp1|6S~4}W+8C9@-@P(aFL^Lr>u zz}eZ^cl)R652f>Hpb#mo>?i}pd;B>p}IJ0`GL56rhQn= z3$eAbvMK@?6WhRbKG~qd8jpnz8(Y|sGtY$Ej}o?|8O&_+eSU*XCm0j!&%Bfp!<<_{ zkxasQXZ0L4-Sx!0lVt&*j3@$>B>A_qx@EvBYK&~^0%! zxz-n1dJBAfd@fYV!N<=7aD4(p9@o?R!Se%U`Z$v57e-nHfNh9p8eJb;1+zGm$wNBIX+Pp(VUV%$@UPb zwMH|TEF>hfmF$yyX&6T45F(ET71Pa7<0ag%)U_> zs5UKj0rH5niwGw7$mSo6-~H?n;eEzir=39HJd&1DC` z7e3fPqYacJmf8OR?FJ}dl-p--LH&2o{vR)Ti%{}Sm}HI_d{-k4`0+n=dct_KcYj0J zLVv@Trj-pLJ%H2=w}W=k8vwfC9@AuM{zp=2pCC)+7)WFfKH~1auUQn zrfOHJj)lxB#Et}Gm1x*1{((&Mq~8S7gOJF~Cn4^BxA(ocfAHz0vG$d`7RCei+he*# z!)8~Y*<#@BFnKJq^XbsIO8QLWkXa3gm*poYV5p035gLGO`wvv{o|Nu?VS^ikl>IQ!!$RhYhK-$NwaVk7MRKx++Vb zBvmo?G=4*22lfFCUY3S~wxyz54WgK~-mXoH-%kbD6u*Wp~+tMY%O z5gS(+nSoe%o%=T8Ao7$^mL_vioATuQ*uNAK?j#e&Gl4|RnVA7t?>#lKg@dHZ80rU` zi`Sq%+nwllXIWC{nZDu=;sc7}moN*RcDDYDuTWmOzeW5zG9K`xNgx*tG}V{X3&x zb3p17b42sRL;cizbHtW&b6xbPR^`qA>J;zf1>u1CScFwz;Y4 z=}6z?_hn^$Cn{8Ff`ijDZ0>S`gly4Bn z7N9fft2%T15fuRGd~#{V3dscm$mI2K06^39-b6^-bvh~CJ{WE6L|*}v(IKHV4<6i7 zuy$gY{P3_`Kl3*aEh8Y3L5ww?IQy7}-WdXvT$+lSlx5D(ud8}Kw&we=pBRbfwyBtL zypKSe?syk+9jkNJmo2HwO@A@vg9pkq3knHIViWhi0-l6{PoQgl+ER$wfZAy)^aAcP zf@SbHvl`}d9*u^R?!j6^-dSo-b&RmJ3JdG#J6B5@o&@nxl$4&FglPsQDx4d|KoFj* zGy7LV*wauw3rfc`rsv38b319V_tSNv-tHHD>a4{6#i@y`1)2l=J2N8#k7cIe9J=vh zMRZ>nT8V+*c-Owd;-|OzG=BPd^%gfW3VRsY)$c!Qs9Vct8dSLIc;Sr6Vj+5HW`E0GWcYj|bJ!sr4q_FG3XHlJ=yelnis;_)LJ0d;_mo&^{Bx=vHA|2JyU{G>YwyB{ zFkGiHwb0bO0713~O{v!Hqo21szvdp~k3FK~+-qq#nEHkswS(jXleSwRIKfw@B8L@1 z;c4Aau5?^vJHNrM?F_-74nu2=@gLcVSPDg^)Nn%cr#ZPGDs^ssnNkXaNXn z+Zws{3s4U!_B`%<&yX3Vv^_o9GR=i!&`}Sluim1^+AX}G0W9tG+lvmzFJ9_9ljJ0% zLq36`-X`uDfSDEXeO#Sf0%7>R&Mo|ET;Pnr*kqs_BqT)6){}na`QWh(SrOWw>{wN4 zgS@iP6NU1_ileYIaO-yxI>_B~dmk^IIO;}bGZ3anSDm}lhx_yTVUCS29^OtVOjpJ` zq%@JNQ}Bxj7K04sG}5St>v=+7A1_Io1N@jF4YmIge!$)pb`VaS|Eg+E-vbFqRS%%i zr7u;rhg59|kA2VJoSrOqCHdql2HUAUSVJmZL-}1{fa60Ojfc6UN1junb<`Cr&~Hx& z$)#LhPEm^yh0278J8{El1?@(Hu3L4DTb(vBwW@>!Y$)dbJ5qgcDpC$ljmE>s2(na= zQz^W~NP@6yNEYcrK~7W)Ddk+;eS$j3O8UD6m6~Dn+;B$Z9ImIsdmuS@0q3#>btua~ z!h9uSPBqnaSOG7us4`8hLTGorG%7-WhkhV`igmiC*kQ717vsknB_ed|)~1}8z=uni zV;NNWBP@|j?wT+hPxK7c*vABam%`B3;~R}EZqPfY=Hpt11LH=gKAuLXeh(CUzfY($ zYTu9I!`-C?tOYdI(W$r>HA(&Dn%F0q#K?{sJF9On#Unx^2uis$!oA1H2_r zJ(RTQN{}F1!B}$DpwB@kC@~qFqYr8DEeY!BF)kQLK(y*i1CpkmGl*>55GmLHml7W7 zWxmt&exHGa^x}5Vwy`#Z1e`j?@-;p*oKASnHKT(3a73JYuR)wz(qyxte!{eJGAzD* z0GCji87GoKKoEiysRN6&MGT(jCk1_`HlFjDN$lu@jn)V)i_j%1yzc+Hq@-;r?O@k5~51d zCn({9LzC<38dGq1zBpOP!ZC`+2BaRL#1Cmv;_v+`H$9TVS|17_0FXU`SCiENBp9fI zr5AipZAErv?OgUU6=_w*90-|U-6VG)kedIYLd03S45QD`aAFbg_kYl%_2o1CUv$gA zbT%B{&JrE{7=WNrJPYkF&$5I6hZnVA{F$2prpX$@ca>17cgeB%SgSkXts=DX`Sa&p zzBDmX|5SGYWHAQCG*wr$K0BIwZO!~cv&Fmn-X3jNLdF?!O<(3n$c1huwY4e8!cIOW zb$r7h9sxkREJ}i=f+<;8#!(=`>Ge}(g;gIyKd2b3<7-L{KnrP{nH#wd`#M?rig~5g zIFEtrQDUnNJkjIR84lNHY(cepKT6JOC9Nl*$^kG<)ON)HARtDM{rqHxjKg%jo9X@g zjxIX@TzEaa2@al3(N+>&Oz~id90Tx0w7kYWOcUCy$CLmMhI9HxRbZ!@Y5Re=f~!)< zX=h5-{gNyP@OLk;(|m8-7>0FIYL%D~r=wX#_LC6Zw&H?Sn1mmO`95p`J-!nW> zKe4=1K^s6fieFfulg!OWZWz-OG9}u)%M8j+hSBa$_b~u~Pdt+ff0A3nU{b$)QA=qA zl*cLaqoWQRhB@gZr}ZzQQtJ~xxX2&*6A-?lz7nfIlk04?y6 z1hs|sbegcWKADG6o|4VR#zx$7gAxD(bjiTH0XM(^@!|pu1$#$Zo0I{nWPV$^Uy84%i)r!%G7_7 zpctz>hU7m86(C0i$X&J%xj9{b|MMJ;H72q7+pnYb7itoJWY!vPXElS{e*;>;KL1he| zmst9vD+3PE5O;E z?%TNpJz*k5`zgF&P&!s;KaVDtWdkp&{xNOU36XAf37}<3Qm^-3_lxD;E0Tn6eP2L0 zw38v*KM3@+oVkN?6da^1^6J$qt-qpyBo*2U!AkgjC@(iq8hsEX7`|fd-R|rp9YQ+! zSkLXF^K>{@F?5{)sJpa>u%dwp8z>7_J0LGmL`<_Vly0_$Wyo;p4fgNfQ@epc%ZNPs zXy4TVJ@AsG8XQGbqk0@8kS3p*8L}zX9pi~#pB2KhN>V1K)FHl`ZTjJ-BDo{+#CNOibEtrzQR#4k0}Y0NTKR5on&q zaHO}0n?3SE9(s;Y8`5pFj!jNxDUEQ|bSEI$%r9@tFZz%lfs60KWMA+ck83y7Wp9gA(8MASVLtsx|kg(X{|{@ zX1zmBi3dX~PLJq%itUYouu*i$?QvtdLpxb4-et2LyY+Q-G7wEG z5u}=>V2rx0&fWyvL$NT2AYH~Geg~;i4H`E3EA3J+Cn*Pn<3ts)vwvY;Ktd*ZFs^<3wSr8w71yJ+nBd1bLGJTxN56%bB|hXEZdyMz z+dRc;9!0$xml#dKms+woIW5xm?K&M>kSGH#{}TRq`+x=Nd(agU@;#v0n{`ZAzKT9q$YSMws@Po{9FN%W&)OUw_OOFIru83+4 z%Yxy|+55}Erjc#1DR)BTW#NxEzy7w{PfKr03BP4@n66L;72r6+O0@lKX%elp4cMZ1 zXW@GE83=$t!wf(}0?pJ>&>PnqK8|PIg-R~|V$Y~sifpr)<{Kt`OL6VH8L*9IKRUhl zp*#;OA^cD!-_k3sY$VlKC5==1i!|b zBqZ_gwAfzjZR9@H7AburEAQR=xH>0!F1JX}aG*w-eVIgQ-e!5|98gqh7P%tbe=zTs zY|}6ohBmC;Z2L7-;%*DeSsrpvMYdT6_L1mrqOVz+On{A89`t{eH0-Ub zHt%H_pBwejTaGQUu5BVVUT=fk?`WCei<)j-c1rJ!$-03yf(*bX0tIOKqE-rISDm`r zsMsu*<9$pDFW+nyRBvM=jQnyj+GK#XPNf%g&kyD~2weHQEs6&+o8|Q;3b5R70U5_6 z%Fpjzm1M9(wR(pABVlrq<-^v-t|AEf9CJR=;4yAyX$|(3G>^)^c6ni{TsBYDBim=GY({3ceHX4i@oorm-DJTnmqV8`G^3ohR=jSOw+buU*oZKh*`~z| z7!A~IrS=)YLactDuG9wkmsrx-Y^8NJLI!5%;&IQvi?gl73s)Cua^3!rPTl6CQ1i1^ z;LwcC^m3Wqo5z|TFNb6}2qgW}*@Z8dzfA}|8j`5p{va*X!Rkw6O~(er1!pl;ja`)bMM|m>2LkLN46Q}(@qgAg_o?H zM`zO8Ef0ln?&I>TO>e=6ly3)U7UL?V69(`lUQ??v#PvzTzHq+u_C_IR3zBZY^F=nc z+|yzO(zLn6vlp?L9m9)Coe=BaCtG|+F2FgnH5NVib`a6=DTNSb)f}?;usK9EO2K0G zSInIJxtkw$(yq$K{3(?)WUxUI(lh%mGXa`d3EwIKytBaaT=ico?zCmh}QRA zxix;mCjGsgqF`a$vASJ(igx4;@b{J*Q?=01p?{&i?IZrL7ynwBKM7=OL}fKY9Xh?g-)(+j5+(f%`JSMNV6iPh z>GJ+5q6q?C>;XusNs}u#L|2O$l-!)9SKPz2v8B{0yb#!Mk1OjwAAP5p(CMAi=o9<# zo3a7cPG58NYH{HmMO5Y`^?aZp(i)e;XV-7+4Ylwo zmY(T(zh3SC{YhG3n^NA}2Ajq_Y${cCX8;IVx05X7yVd5hMUmepANp}Eru`vly#dl3 z0`3q9(bT%?FM06gWpI61qS#rH2WXKDe&Q2*d1pCcD-c=iM=aO51bmX;@vk{-5g_sh@OGO1uj~r6Ijb9 zQ~1b>A$m=L)slK!i7%xV-iE#!u|7+uKZ4CtW;cGI>|LI%g|Ea6;{z7(=8@k*K23Z> z9$Q))bjdgI<0EAcpTGw86NAVJC60#&^^Pf5a{%Os$Y)^1=;azxRU>|%y+@M(rmnQe z59?P_mh3B6inliCUbxJAl$^0I=L{E==TbS+(O7g0e%&YA*t_JN0lS%dd(;|oefWd4TY0Ur(>J(!s}h#Q7$`!kCsNq1cr4!8L+qIzg(#BHbJ;sjEuP7Nb(-n zMm|X8dk}gMOSM4ZUG8ny#DmPrsAg?BZ}h0ZIB)P|Jh@9PpLh$Im7>l5x`#ur(nFoy zWFK1UHOr>T+Na?yRx^dt+);vtz@I}afXRH(rs<*$M&62Z+cEQoI%83@)KpSzxSna; zBh#Um*kY4y)ED8)IQ;pB3U`|?accj)fxGncd3cVl4mPRWO$kMeBq0RZRoHW8Ml_9eePbn^< z%~NaEfbT<Wh_J&=PnL+ zj+Nubn$(L7albz8)ErjtgtX~8y#Bp{30XS*R<<-tr3#&LWgeAoqF#m6Qg2fbdbDjK zJoQPf?~PrQGvk|RjfzEDfgcf@%f=OGkC&^ug3kqi+AIw(eL1mkD6_W28K7bIM08fQ z^Ay59=pX7;EXiCoD^@1s|!I$CCoxy1XWn#Pyg8v_q4Sl#t5 zmi;v9E4$O+av3os;8xULtMANa-^lu-tx@BoC~duFMhDM^XUCrS;7rUueTE|3uYWk zqFo0g(#@hhERwH1zRvEw@+MU9{lyiSXRaErpgbQzcrbz?cL=i912Z1A-Y4XGQnYzq z)S~tk>qjaj>->Ygbq!WqEmIS(MNFd`rs7%{>Zs%vVUd?#&ssN3I$iGU7Fw2)YIF+@ zYvx{OwlduBUGe=#;z*$RwS}Ncdp-?pWJ%Y9Fk(skVPwbZ7Q)J`Y@ z%QwEsoG4`hlY6ID-UBnM3t_fx+MImjMX1mvembm6wTx(13>8g<5vu7{*@%g0R^=m>sti1X zj65S3>7#sz8wWC+(!RrZ${H~IO6FtaY@R`Al zQ#etoC4E_>1@K=hCsnPinpOQOC zs1jv%p)J)aqau~6%To+2;yZy}Ei#<$kG-QpU-h4@dFcCbG-2zJlHVww)nd?EK*fMG zP(2&!`$^dZC#uHfga9y-I0j+M^az-sAufT%dACa*zp`XErqf-%RX;O4!da$d=n@`^ zTReC%sW*VB|A@Si_mqR>F!7X&NX5DIBOUG!Z!QIgH3g;>nthV;l*BfLwTuaUS8=3^ zx!E+m#jw;n$PLYvt;;P3X*!2*v0UDHzV2G4KTO>G=6gfz)2KlH;6rCgGhwAvm0N5ck{CCprP}lf z2haqT>mc(3GY`Powk23&zCdCsh3#<#E0EAbpHy}UxiG=bh#vPOs%Za|d$2VueRj|$ zz>WnTIV2{ z=1yDC0r~wq^z{Kzp~`}b;ZAL4sK!Jrqh6XuUmZ~P3i+(M`S6Ww^p#93>})T*z$GKU zvy`DWF_9Y}`85HIQ|NA#-v;6&GjoFrC8aPq-RZ`S4yo~{2dS(8#R{D}tkp}&>0KbS zI^Bw6mDL}+F-b3DGv>CfNl|!r*?#%NpmxBTsCeFLTGv(xo?35S<;rO}WIuQv4suHU zjnhcC1EBiJ-h4EmbvfT-Zp=)+>dtKk`K~a;qP>?1PwBG#Dnf6V&1Io_)@8(ZHmOsl z!aL7n9loTfRmiu(yWpSNMIhmSS;>oGoBWTLud~Z99Uyfb0fAJsClL^kqMZSMP`x%{ zv-%m0^}=xF(%_?xCT4T5;{soOD7i*dL5!6ZBH78*1P3q@c~;$7NcmqX!kvZ zzu`D)^u+kcmIC60obu++Go`Mxv5rHZZaqKB!nH$k-r@CGZ!x#He6S`~qz~kPga87< zhAp*leQ~^j^WQ7;CB|0%cx2T<{jKrgdMd7k=kTo=e3h zBqX?B4ux5Amjz{ulVq0aS8;OZg|i~=@vJ#NZY^+b?5t)@(j?4#VNqR|^ILhA>Fy(6 zoo6=iT)9&jzjCY$o6$q+ zkPSU<1*A+}JQC;<9`&PZ1}2P2kk`iyc+VC0TV!qoH1}Zhx(#k7IP~R+ zPCoIe&rADSQ0}%MIhT6Irt4I)T)H|trVB`3fHG|^J;(R47Xyc#s_nexR}o_95gQPm21@h zIQq*ZIp8O!+;UX@+JrRTN&G2E{p6^~ZDYA6OEz=t@`gw?kK3!-2wWWjxo<~c99}H)_4PHJsRE3UMzOBYA>n+kI-NTd zIWzdAV5!IloHIb&1j2nZfo!kv23@XUc%7>2c)2l@>oX-rZ1m_UuraT7c$37JgWNlZ zhlMTcLxZM(zOy}J^%;0Xv>$WllrrdfCxSfjnqY#Pc+~?I0P75D$Wp@?s9P6}Dw;28 z5;ZlDxgiqt5|U3O-NWTdMnyWxSU~!_uP#gvJMJxQMM{T}8@-;iQ;zwJ1@Y-@r>TWl zy!Vf|nS!f13@skoi@^LB4GCA>v`otoa|!Wn0QV;zt4ys$5iIuxx^pm1InR3jUn<%C ztz<}g08Ztjp}SrQ=yIUaA)p#Ue+!+}_w8N4UIm_x@3*7L-j)CTSDOxOt}eteo4Iph zVo-Y@Kz)n&^|nmrsA5b-!K!cTu<>~sY)-5In{N6LTNfnCZtRvJLG_$f_Nm?o zQdd{XwbAx#ZUOe~)v#Xk7;|qI-8|Q!;25s6CDhvU@h5-UASDR#&n*4x`#yG-BM<7%9RkQ1^@7R>rZ58#Ry;psU^CLHj|<``Zf z5s{8iniSdY$Fg>G_NO+%RypZ8vN>$(y01^4(zVDLuCZCvbHPC9-8xA=P3~8!_5N6# zIt+s4bTMgxq0gW!re3;lohiuxLZ#9fc{m?P(!-; z-g{&)CKCrg0B271RcDbaQ#4}a!bFBe9g)-8huG27Kp9s_+F3S7pXVJhw*ke(>-zd# z>F^1@6XlhMa0`ITF!D8@jEnqLy{9Hfz$K69I|*Zbd|K?^J1mHayFrd8GT651sVK4ZDzQ)lJ<=6D!gUE#J@zMk&t&JKDA-2khswv{c6TCh z#ln5Am=~WnKxNRgD0jR77;DE5spMaOhQ zo0RrI1!PDiO`Drke1gO6-jpSoV{m*o5g$)P1Sy~~E4n|W&_^c|e;$UFEk&w@&6F6G$O9&+I-Z2T!M z(q;k1E@0B!Z&ZPKXT24EOe@TUJb4*#WKR9Epku&BGiu_P9$~a3gvTH^6~G<5+gGPc zN%NZk0oFsR36&tgP0c$SQ^)8ZrRCw}ica2FM%;L=MTZI3`U*Uq@uF47z(!kLB@ z#eKDZF6x-i^VAFj81If9UBW)KB_H~tDGU2$* z6w9ww9d9mM>Ru{h1Lo{1$4++Duyg0m1%|Lal~wNE6;JqIw7h-ZA_zWcqgd5^qibtp z!$VxW&qxekxcRe$hKP~C0(+!}48qt@nRtrI+Z$Q){FvOKoH?G;;~FrO75>__dU^YO zO5=yt#CaJnXUKzncnzqjwWuJG29SXe3hnpBD|yhrmh)3f_?{~3&n&_E{K3UG;e1p| zB~W*o69Fy8mvkWyuqa=9obzKTe}Rd!3;lGcvBrHv#u5@)zqtv5x{FnE_T3qV=asKR z0|Q|F5P>vHJx1swdUatfy_!H_ErVBNo3O`gi&R=QrzEvkF$`I*hOn(`_InQF6%N2T z^cuqC9f>60`mB{AQ$~+#KHj@nk1k%$ncejtkOEb4zHQbVk9HXShwYr4VgWq-RAjzs zxk0Rmxl`Zzx63be_qGo`7^(Hlx8%juXMeTiJ%(%;`v#c6!Y=!-2)&?T3W=$|>8!2$ zY>!*r;o386@d7;y4WuyB1jd$KDb3mI;Ex%Q<2eYp@;Ki|hT?WeoA0dpyByHn=8vjK z>ftUkyQIVF6Pv(1G}({cE)J3!@w$;`j%9CIKfNVA1kiY}S8=)@cTP0`Z^#(=UQ@CQ z4>?r?y+dr%E^x1jVSo6;qC;Un@cz7I{cZG-8A(8|G2uri9|&Ke#aEBKrTul5!%lEO zI+deL$=m`vBvfEy`^ed|d{CP`r zqmQ#E(m;LpXRgtdX9h)GiEXl!^<2?!-m5@1#Uy&+*oaHprzmIl6+X_H?Plkm2*y5m zwgvC97{bDW@Wo1Oz0W#bV}V00V?P@mr#HAV&5Vzk@wyu)WS;17PKPjykY3%gl%>xx zyAxn?kq&Y*T0xjtgZU>c7;`)(w3y9PlI|vnIx#aH9$j;($b2VepYloYkWQShK3U$L z1t#$EWFY}eG+7*;lb#f-cNT!QU!Zzj>+%A&RK?wtJ-~SNR|Sx``Q*fdf)|g8J*#-Q zLom}wYG%=POc!b$6^&Z$_<+ts#Y9IB@*pN=TVdq%95cDk7*q3wO@=X`!tz%=Laj5I zpt~V%Nyqv|!pdSK$ar^xy38>zN|xxcMy}x+d>#4d((B!#K{d2wOD0PX+hKN{eH7Xs*GOg~0m0Zb(IPyfcd?-`p*6U6Hmc{?~bgl|VapUx%^*E%f-bW31?7X0iXE{&5XPuA9jDYA3!&GiB~ z%T=0_+KzECF)OdSWmm zeChM>?V^C`aNLTR>=?uf_=`1K3%0xL!_l*!+QZ0kgBM3c5Y%6jP%7ORfBmVM z^-Cwoe_oj(FyxufYG{@3(owVt@wN=)PlQ*ZmO6J6&E2@;A#2`#7d5c3RzaoHePI5& z?HvmK=O2J#7q#-^>u(VOw1@3lTcBBZmSWFyvTKzF4i#uIfmUZ#$e;~*ra8Mnv3yrg z+yG002;P{O%bipk*JFiE`GMd*2I$QShq}7%ZP%E#+-2Q4oWH(rHY-l>>eZ`a-dpZv zKqswZWr@9!Sz3BY-b_~B-9!_z?EpF@4_YOK{}wiy>WEblSRzZKIdBko8&T|>p=9z} z$~nwg(e?0YWan=X=!O| z(yFr};RO*Q8KH1Nhx_-fKp6b6>Hh2B;07ibhSN2stWPN($Z>llZGPSvPHMVuG*mC$ z{LShBAuAklB4{Wt1VjJn1zA*jsm`2bUAAmmwW&?Iz<&brgvQLP7po35Kp z5xN^) zEzEPJlmU+v_^nTr2WzPL`AJ))P+6T>gLB#etH64qj9dLPR(~PB-mU?e0~U%&q<7lC z)(32pSLm~@w5iYT^K3o$&N}ir;z4z)ugYC>dc^BfG_@JyU%fU(_W^v_=fgo^Dw|X! z9C68xHT>|>!vp^C2||ZoUm;8;w1(X;wq`s~)FDaEz^8oUQi@RT!Rdqc2-YL`?uUSo z9Ud2UIF;|vx%^qpl36-~-GKmE0)CE-=2LkYUk8@4QH5&`?6LgXtj5|Z>4IzOx| zCr2>JIqoaQb?}Y`Olk*UBn2;;uQqvC6rb4u83MxR4Uo<9EK0?NbAKdI;;V+jE9ZS= zsRVW(9c2hkpEBi*Tso!q@o7f`v~9}1xzuBoC1C{+K-0cq1V}rpfcaO0W#^T?ZbOds z1%VYHV1qqDzZX=xCXeZY)j!Fm+gLk4t=HhoqbL*9yxu=2zZK5hyuJ#KCzp4YGs*Wa z?}W159RkN4Q_sQehJ&-3g`4R9Ir8aNXp71Se2I(9D^xx6Ml`#}?^11cp_~kiz)xjj zA@8;JphAxRafF6Zt4o)#qEXo*8A|i+B1rTuIk7J!zff7-ko%AVI4TZ(cp*m6hOLu7D10Bp82N31k zs3L;mwC&l)uxq-jG?PVn82GAXK4J6XtG&7P97h$5>YS$m_7e&!_cPOlN|GDZRZ1>r zS9kv%=>O@WK%)=^2EMXA-0K$(gtE!*ME|Gt!0I{?tR2PRG_e=|GAO43h7BZA-sQLb zfBFHKrGYZ^CFlwOtbj8>SPls)flORb4NA9PzjNn)_glSW;ayLu%f9it(!)&{JqWJJ;zD`O zuK@H*sK~wwz-$EI7yFGW?HI(STwE98%2?cdnoz0=!J?DZ4ho`=1#Q;Rie`U=gJsMt zxIcBU7Mbp%tG{0meI|=cGmyBJ z_p_8^Qtbhxq=@c`3;wMTB4^xSUuzyNTj8{=ged^RTq&+N2Q{{jh#{js;Py|1Bfv+qE-)N_T%g!^_jkCs)wM6mef|-@ z_ILmxY-0T^1!N^jWz7v}qj_?!4RU2d{LH}i`hcoW3M1HRc%b-tHO=IGm_K;2HgE*XWsL z4j}!{{dQA?Zsog#_L64~`GheQqh2*R)(nC@KF_qj-iZoz&n9=gdLv%kR!6RvN}ApD zgMVcHOfV)ll}|Xhvg0#*dOM)0OheJd z#a}1hTkUV2CK8y+E6qLhC6zk_)1nDZSvySleJ z1e#jEm;*zeH5J#b%x-1 zORlntt1x@&lyDVuOZ_5vw1(W9qd2}}fPZS)N`E;mC51y6;1vR)j01$=Vn54eY=SA0 z7-}z>RZ)EPO(jF}oS%d#KEC|uYVB|a^^Z*I{ zkdSEuk3+Oliae+qkBqxqZpHzCS`WgvQ$8}>Wm+H$WlTgE@z_=1`S2xm&VI7L_Jilt z4Y!}gU2FH2?V>yYl1Pq1n%ij+>4?7L}!JhX_%$5 zQITah15&bdD@l`hPH%Ac*a|G)=SqCIoz zE`9)N4#a*AYLa!-@Wj|&D7=gD6PtK*l%MqUK+wWKVZ$5xjDw+^@li*V(?IqXbd|YI zq#pxhXwOy*r)P%qV5z=AzL^k!tccHO$^bZ!7U-vvc-}c=C{`c?9@hg`Ra1KwpX%TZ zhvzm05cQet5vGl>bvxKhmP0cAT`xT8U9$K6X8x@7IR_Mxd80d<5pnttj!e0n!}Bw@ zM(KeYAV$9Vg9JooJ-JrrR5D4me$ICF#b*x?{D(6fojYjFc^A%LO)jAYr8gQ^`b)=^ z5=>#P`jiAb?T;jB*XA6C6TG_-0RVeDO82Nu>zpbmtjjrY6M2Afx-Nuy;Y7KqE_zd0 z0nClJ^7t;yHI1GpZ&lU|m3u!k6RIW!$0_YRkdL*xISr;{JtS<3WECZ@A=7FjloCgTCTp9tg|iPw~roy zmdV*Ub{W+Vt9kl)pFT-@W7$_Yjbf0189ztZpFrp99}4%(;de^0=ton5iubjpvqyeg z&6238bu;bK$HJufUD$x~?n%VCJp{Ms&SJ+PsE|-H?A|>bWJ|064HFPBjX>+cKg0Op zzP|dq7he7gRJ}h*SAZA`sCt~B$EOXO_E!4_$iI&f)`XC4B?ot2y`3yz1U;Uftw+VD zJSGM>Syn(+$ITat^4;NQF27t66?ftOJr5DXlR*_pAkdeZnsE~>obTU%2|AF)XC~4H zIS+mM>Yw!FZcxD;Jw3B?2=xLe4g8YpC}=c53S~+Krx!6$Dk&0dR!q_~1`(TSb**G~ zWOx(>wPaRUFf&rKLC2T^9w67A^7vTBfQ81i7Ij^_rsPk&&K|Y(IgV2)vC9GpTH>rp z`n!K`Whu-Rx2C?)!WBVjWKmB{zUq)===THI^jH_OqdD&jSq6}1_4+Y$qA72J*=9Xt zo?6(RWd)CXm$P@krO5V&;q5O;GH$~1%j(lQ#?OM6q-QbU__!%Ag{S#onXG9i=Sbi? zj8AqV%qUqFZuUt;1O9jurJ45cRS_ARmWcBcA#lM(PU#G)Af|h90fJ<4gy-{IYrh|N z>%%gS+-|X#2~<_CUn`P3)aTj?x`P0sPNd^*>_x3jj2HqQ+OclGQ*)pl$Sb>p_eMlC z*fItREsjwefb3S$@tag|C1S!nwjpV{_5eY1HLh;0Qy4rJ+tK3q--{u(0z~b_(@MUW z8U+E{3)P^-B$P7r>{vRgeshmPkQb8p4NSkP6g=$Uo&mnw^$GWD^=JQ+MKEz<$+Ql&nO&A|d#l6hZ5IPO;1ztR2s{AMTZ7EM+Y1H)1D|d*sG(_ldsiI>U}W>y2%X=)aT8(#DyxG)v8%B_1P%Jb z;=^E`>hSz@q0s#VOa-Ue9D^O(1Xz^X1ofE;>I?Eok$Pa7~zj&TL_0?{Pnh&nsxz+Q|YglMEKw4$b)#gua17A)2Q?Kfx`aAU>&jBq-; z*FZiI-f{{VxE&~$h03MtRPPKm6{+C{+ZhMgb^hq$wby+ho=N88q-_Y3cB|Jzn5lxD z?UYJh<&Y&+mY-N-K*U`9C42$l1{x;oe!+~A%%u>C+q@66{^gBI^Ca%ZJ$8Vay zWY!bDf47OhaL@PnIw0;@11GCZA}on}U^jbmjzml`cViW|2|b*%JnM9pu)8MXYqzC_ zIcqXGtmvz63qyw|J{JF@%4^L$Aag=G>ldL!ZC(Zycap5=#i+jt#6fJ-s1O(#D?~?65aJPm?^)TtnYBP`j(Nn>d z3)J|MFV6?)#$^2#VzjAQE}ZlnIbP)KcdQUri=-R@Um$k(9I1-iZiJH6Mj>$dXcf3D ztIw*YM3~5c@a+$$t-HjXshn)NeMv$_+c!%G{9TG?5(cWex)`;ajza(A><;u*rzvYf z$rHncydS+&bMTEr=DbnhYnqmtnkx&&n0+F|H#_3t!HHH;6X5XKuwIkr!5g9dK>Qn9)-F#AP?~lEMOOV&*&%hAOC|9dJl~W;t>J zIa3YYq16?o>aI&5lDW7jC#l03TuC=C%2>BGR!my8UO$fq z^u%8JK#%$u=rCE?)~>Is28&MCIW%Wn0QJpj(`F6ryllxgz_AWJ!_Et*>YPR_sUl>p z@-sGHdUaOuga{#?v@Ftp+F>t$n@RK6&r>7bQ}3)gCfVvuKgHq&UE7mX+-6t`iq-KI znWJ5N%?v!X{VM2HHlHuQF8jxSGnw}$D00WM0WFnQ~CrH!2b(1rT_N-ben#C bXMdU%O65$`@fOgnexH__u4m~_rA66`y(@RCR5Jrv-h{Z{hgBlHPSoHF2D`~fllk+ z)qVg1(G3E}C9KTA*4(S<*Z?#fRM6Z^`v>E!t9sUAEuA@%nA;s3PpTZ!6SmJNSu97m!3LsEpe?o}vJ zA8x?=XI#}V^M+_lV&#o$SA7=-z+? zPX6fz>4TDh{at6oWrXg@esz0hAKf%rPW??YX-$g;_;^yByF#h<2aCooo!gJ^$bqsVD_1peFSX_o5K}-@YSrH=qyLSIGlgH zD?h_6&ZWFs^L;l9LnHPvaH$N^DB~FKpte`et913Jpp3&g-YsrT2uqH7o?RaGmBWaO zE+8FB|5yKi4S7$Im~NVl6^ZZ^{dkmU9JQThb_6j2O*aR)R(}};y;NCwG~n*tzBjfo z6S3jNsk%G3@Lf8}FW~Rdz5<3iy^-w-*?Bj5t9yb$oI{q*6w7XjhSm`+m2Pwb77tNo zRY$TwdlI8*bKpdcFKTZdDz#YHg%NooqV_Avi=WTpyYzB2TU-Pu_h&Vx>ovkk^P?zl zAl=L%b0a3p(R-CJ+XvF&*Rkl$K)f!usba&Az4mH2UHxi^;^PXI=FLuyN-rH26U<-- zYBe-J2z|G-Pl*JLvO1HXU1D*-y1QIi?Tu<#u2|UamG*&893Jmu2&?V;Go!V=3G`23 zzCt>#XBB4=4B2W&OU7R6Xc964e{{4@z*I<_j{uE2mVGH?%GR+=Y~CosVqc(Z>JZ_G zH&QXk=+*8|gs1OU5^s0XZv-i$yX)FF(A3Oy9e1y9$@DCTGp_pQYbM0148SJn{banzvp`?e=6-0Le+U z@8UW-cpvqFUT)@<+G9%QZjnJRpA}P;H`p(nbN~OR6xEG1+r}59T%cX-dqP^y$ksviI6e%Q3W2{Og(A4YD^mA5n^y|~iIbcXb`DT$@)!$ITv2vh3A#@^ua6eK;H zn~QqjwJEb<@D;=Zu$Qm3ck4&JKmXCMr=Kd?8Pkf3~X|Z6TI{L_Crx$iy8+N>t zPhd8U8ltR+U|K6MJX^C9Vz}~2OQVD5l9+lT{p=oat)mjP_>+7UzS{Q+W7hVZHs7Fs zp%eqFrXo(<;5;9UXwulmu-1#!J%rmyp1ZJ^-jV(HR)##c=b#b!$NsHTpT`F*FRV(J zZctf+0vnoEIf&vLN=3}jo^tr&?YLUou}jyc@ciof`x_|R9?FUPberZ=MiyMvsE>A1 zQzD)9l|p=vvtAdzpS{Db#UQ@I8QoCM6p8Czsa5?1>WQ(YdZ!^~6Qw%;RKQ&66VcLT z>1S4{ok^S>=4wLk?fCrvE)MfYlMUMPT&y3OYv_o7smyKqw5oueVJB=qK=|!dqjYo;t>`W6{5-|3oX2 z@!N#9y>`skwsxMJIHZJc|LY6 zFZ%efkHc;=hTI2k<5_v1DCI8ig&)b(A_Y}P*ambk@z)bWYnkW{uxiJCJI|#f3s3i0 zH+g&Qu=O+QMtSw-tq2khx)ziPhemZSy_pLD7!*uEVS^x_H(*gKQmt0EN6v*LkU)1rsa71pxOt+C# zH{71#%S(}XW?iKJK-#5#z#iX0;hk(^viz_}zW|)RSVPJSoUph?GDza3wqg-=e{a}XApDn zU0S|6^t%MUb?_F#KkFxlqbkB*Oletf=)^JJalNwy5f5LiVvg2)d>F(#UaIfE$!aSG zfGypgNSAJJF#BiDa$OciuFYxy7e=i*fju@ZH#=z?gMVMYxjhmI>A#W^kKxrmeDRi2 zj%5(%lAB$BTkr#0&j^Jq6Z?4uf4$>*FSQSh-75}XN9s@}X6XlK*kYNN&KV17=7E<7f|&K|zm!J=Rs z)?>=|jB$fbb+OULIF@A9&E`6IJ*2_!kM%bi%dx z{WCQ|lFt}8^468orL6@OygfHGCtM@Go>r(&d>1FY%z<*|g|C}?Jg zWO4{V0S+H>c*4$KTf6pVN_y37BJ>2{j;EfK?&mq-epo1B1vt98u%Co1HvK*yk*BgI z!2FERD9d1AAQT2dyKdv_;pEBE=D)|(DX>}9Wd!}vmG&_(@i44#bc%9tu`8u{C>^zde=nG@?WzuE1@fdcLmPlj6i*;SS{H(biiRxc# zoxh)fX|tN%YB&DWS9!K3yJ6NVMuKspEIk#`GsfGK)kzW;t!JH-rLOw1;N^^EAMX-& z?vT+#umM*fWC|09E~+O1ekPp8R|t^W=q+U^IRmmxu(TZMQRdJP;kbODS$2d1_3+UJ z8sGUHd!=!DohO{~3roy`p(lJ|DYX7JE+%L!(=>kszN}UJ!!_HZqTDWZYhu=%=|yWu z5S## z?sR6fiheeqaZjp66iWq@8HYHw#Z>gIU)BmC-XXrWb!eC*l?+7J!a($KK)~1|*M`Q! zp`Th@s`am1RoDyEVP`=j{EV%vYBwIV(9^ldG2_Fd6j2TTj!1-n`sm}>s06%<3CK+C zVX_}EBCpb`W!Oby1$y-mQsFUd(Jx%-{uJ3nxs@{|{Egk76D1$YEz5qnh(CYRAe>?| zM_H-%p@uIO#y4W_LpIuW@H$E=XVkgw%pw-Fz!a#mZuV{3-yJvO2rD1ZY0+4>0yX;G zA>R83p_!$pw?+yH$KZs(rmO@zhzTW-PPWfEtbr~|~It%w5;%fz}7$WYb(g9ls$N4|EBmVg0$a@J` z`|f~R0Cx0zq{LA9cPwwMNNl;|AG&llY3#@t>`5OahIjd88e)YrNfo93V@@gl%NvGz0V~a0ij+` zR2{8Ux$u{^GvG5^mQTq=f!HSs`ngM_I&K%S=1pnI&OrMJHxb4vd^YAAp z9t!jlMIX#M+zIed&O(WYu?bxFBNfH1w*x=C>W@1u$k%KCb#MA=c&&ca5@I&FoN{o- zJR~jhquf2v2d@{X^}SCPtizg$K2PB>r}GPDrHLU2y@xq0in!vCKDqJL1+Db2$knnN zOZ6Hq#5xJKg5xFQ7}vMDfanqr4Jamlc^7CVs5v1V`3zxp>l;Cnwe@xy-C4NpRvh>8 zWx$~xm0UysB!#t3m;MPW;K~TbL7?RTa^fmD&f_3798{C;j7igdM@E6Q9vwaK;fuP` zyZ_)gUzGyxbf3k%%7C@}y|Aw385SuL(3sowf;O2_n7NRSsnK~7-!w2)D4*F#<8PM} zw?HYtcawC$Gq7*tD&VgsTc1h{ZOdlR!BPskS0*}8c#Ms8_jvZe;n2B*=1x9&fHLX1aoWb7 zFX!ME4HrjJtS^*juKNZ!EJG)o!)v(%Pq{KiT_Y58nylK>0{`nAtK-O(C0>JI1FR+& zyaP@DcqFCEHgq7!fG*aDml33yk-8K#n-3~i<_6HgIas8 z`Lc}~x6`ZcKJTghAVt=2Lk*zu4B2m8B0dyFjx$ZpTUz+E#C)jAE`HIZ6*!q80yhtf zo%@e(g7@XCBqf?~)uUgyA3q(CyI>o}sdQtxmJS(bxV-m0qpGQ6<^3y4VO0~yptRbR z?OB9mAi^JDfCyuFvBe*!-^7XP!|SitL#k|@%KX%8w0uWoC@-dpldKG$csU60{}vs@u+lK6y2{Y?DUPX!MkRZDF_AcM%9*fg9kP%$5X(*InOC zM8b0;^XrTKwuAf;aHE$-xq&?(E2N4#7rd}mGcAu&o)X!h^W@DF>zuO%G=Er-uZ@w= z217W`MWSW(p0P{r|NT0le67X8YB(&mmuYNGNiKSE`-}+%wIK6kz2!7+f+ZR5$Dh8{ zcnKiLHaImVynh~O`-64SLZx~(O+c_g=2xTF)O$_}8p&on9u>yIF0_*CjtTC!H755c zL*uu5cHjlok&&x&x&lf z_Y@c_UUeD|P;Ji@5>7=f>%hX(xAfP&Oe4Oml|k@V1d%C{p218?yVrU@<=*YSstNv3 z8H^ZT3I0&}>5VYXK+pmHKzTnmM7TGf`$I-Rr3doBMuLCDs=c9JV9}wM-%PqU(`kGs zlGew+EigY6B^{5cO;O$M4SMf$;|mswX7_9b;<(tTO7Zx{ZywL`s%5ZKL3laV%gyV7 zqBbeFr94r#iF5=d(6vS-dxRr(fe>wrYG4yD3b0g0x?BY`o~OAEZ+soI0(t=0rQ=cO zA2iEAiE9B+40(L@Ut}KE{?EwFRse8}P7sg!$whPkhW|Ir<04(U7-e%pOvLCWqpGZf zG4j+mr}w+vDDE-kgBKzOBre9Ka1h(!Tw|GS>G#iuJ7p{291GbLFV2xF}5pbuShbikyQUW7Xh}SN5|@aA(0>w@skPDzfpdsB8=Huj(>^0n;tyx{Ck^v*(GBK5j- z3%z(C(=_)O2jJ)aHuP+qm&LxPs&tEgelJlv|28lesY6$P=W`X$_Rvnt8FKG9UpZ&s zqleDC)3`~qCQlP)hr$bey{3G^$u9A=#2gFFa|-N^$&qxhiuM;GLpGyAW5331f+Ove z;dCQj@iiiVBL3YWu;JxmKPvF5Vlhlr0=l(adkfKm+-xbs5(31miHQLjQnr#R?kRIY z*J0L^CSi?2fS|u*KryyrO)Fjy%ub1tVTZ&|UWCB5imI%e))zRgo8tJ@TYF+_?9O=r z#U*=pv)^SV-d!5!L!+*(vXFw}4C&G;ra`na)W@T567Hax;*_xkK~S=EE`5~$sqq(` z+N^)US;QTk#{AO+cc#y5U*f`P)lv_;5GH6~(3VhVxXVYnv#w^dy#Bh4ZS!UpE&f)! zz5M7FVI~<#cHEql8KIQY>sFpfLv5%ZIXM%xyq?ZZOua;tuNmjLN31DBi|fyKULLfO zBnbzAF~c-hPKHBBwHYci4i$Nq_?!iLcv3|V^5~jniTaW-s{P@hY{sN~=tg7qizYbl4{4aF*AqL5WR^HvPx+4|+oyB7h z?l`_*9XY!}ah(g;9QlHzcV3|d`OGHbQ*Zb8FeXpdgDADx2ovUpFRsosHr4l-8*b;oRP5!+$ zwW7uWs%q~mRm80e0)fY+OW0FoS7YYH>>CPD+bINfB}}8vh{)CF#{u^Qygu}?6*vg^ zVjRH^b}bvD1+R8{w|^d*FqHKK4h0ofPzoP^9cQAY%!vXy*6|8IV|^AjHKu8JE0FAF z@x!04zE?iX%5@|v`ha8UxEdjPplD9@aO*8R{#XpRJwnP|^=IiRkU^--@j2AUc4y1l z6fR!Z2}@sV+1Bt$zcpg0#G4#Q_OO2zoWA(&9w>*sU?zoe@aE}m5<(LD(`lhRQa4~4 zo)WnbTBS0T4KA$SUY+Aw+_}Jl8x%AAj7bk|pEocLavYX+?pQN14^eh$=iHmccs{ND z$bTK%Sv`lx7s(aI$|gy;Jjud~S+id(&N}*oS#?))5z1rffKVzJ9!7^5eZlHB0+kzY z>4>im%csTyMG3Xx+@SVa6&DJv`{*50{m56f zvc%^P!mez~y;kK5I+P8Y2nJuO-gWi0=4?q9ax9fkX2(! zR%E)D2Bwlw*L6aFz9SCv#HfH`=EL%;V|bLM6RjrK?FBVoEWT)?bB#O8r3HDk6qwg$ zHFb9<5Tj`bIz0>ufQIlfs`6dSpR*D=TBk2Il^DpaUaHNA9--CjN=g>rE6t_#JQE>) z3LsCqN|%&R&;LlCA_reO*1g*3F6d&GzbtCl-MCuDiC;Zlhr1GbWxOZG&#~FU-Z*1oX+Z?oCZq$bT}gWAfw;?3Me6LMc*m0|%fy zIh0;>g=L=1>e;)iKkZoXb3Ap&ZT>L9nNXd4&L&U0;8e#wYVNt*B6D3aTeAM8fhG1x z;{3RNSIN419^hJDPaFc&1|g85=jS$){LfToumnDeHBfV2ftc?!;i?&zDq!dZw|b2b zceFjnJ_Z#I|E(K3`K(&7fP)!&BxFh|gT_(L;OXnV7KO`9JrcX}0<5eBe+*BkH+RJ} znFW=BXM+yfo}!LfGxn-(-@~{*JxTWV=X@2x&&)(TG*`a)`ZvG4)K^VG_%EiGR?099 z)}9ipBd;2pI)HLaPtG%xEzSj-W9e!1jeJSoy-88+xEYWC* zmGa+Yz;un4>04WP;S4@|;bC)Ji!a6%cJ$s35*(yF5j2G>f+tUzfZL7hA8AyMN#jOR z-rzV})K!a@a$Au3ygoTSSw|%wSM{-Lq5`J*m(n$w#`0_7P!9tOj4O}_2S?S#^3#6% z)>2SHKZX-d#DKV4A#}2UIB<^Tw&1@Ry8)1|PulALgRFio0bzr{*IJZKbTn-(0&{E#10WdnHlMExeAIBW#Jw>em(>F0gbN z^1#5l-$&&%^@Cc*8feuaOBTj24x`ACuj!%j8u<;63kIgN+PG8{tPeeVL+sw5R6H|+ zvf$8ZTPN}K6hpGhfS03zm(F;Ki!nUdCS`AUN((OJVM}})7$}EE7~)>v9#9GJgUv}$ zuV13puK-H05BR5anQ<^F0dN?#Ydp+(9i&+I*OUG~o%a=Z4=yhhFV35a^ssy`B7tFr ziNb~3p6yY%bYS7d38CqGE`cs>9#C0u93jbnR;%H5cevVj#Jq{wR(-Qr-ZoVNi3VSO zEls^*XD9zOyk2UACNM-_UGRHNVyIIJK8Ws8U;8e<_qw{pKo}af4AdigNwtf2jlIbG z5o6G)QCAc4JC)@v%0$JhEU}b;4``)|>iU69ryiVLPq=NZV#-InaGB9{1}-JKC^>Q4 z*JzmG#V95wJ7(EO6BVa4nj@`SdOoeyfjjHJMtFE*CFhabILCKY?!+MVQbz&jYtg?wpyj80pCJltXFiyplA0*UJ; zT^TK+BzZ=J?J_O7C_C$M)X?4q74CWj*4r0ZSX&gVGPo3T;rHc1;ft+OWc@VG&}n3; z%vq!{vP;toHT`r9kAfuD4$K#>>pms%0!HF6vkGSp|z7|VUs`z4FhI* zr-@k;!x3=(QZ6|Rb3nh@Ca?tTnYP^igmJ9Q+F4*CxKYJ$Pn>{#=n>>~V`L%BWtA?lVe1E)XW{5u{LNVX z1H5Tza2X`P<(WiE|9$0IvVzPf#F1esp0$2jQ%DW z6yEiHU$%)h{*^;7?d!_n1{LfE30#L|rwz1MPFvtT$wZ74TJGOm)RcMwGZKWD~ z5wPQqb`Cv5!Oz^wQ0}h~y5W>w`$q=6E;%01W1R55w2+|){S1=P4Xi-X`FqzoSydJ0 zPP0u^2enUWB>Dx&zH})b)$Y-DmBP< z9Cp|d&Y42^lSS`eK-^MnV0Hg3k%tp2SxM`9um5G$-`BGS(VMAUw>(6~tRG_k$dFlM zCoHDx4TCroE1S+cm|W!Q7UNQ8JjEBx#JTs#KEBpd!^ME~upLqN_qbn-K8M1FnxhIZ zB>!XIJq}qC8fKQf?9vKScF%&<1m;P5RtS4)1f|O(8V?Q_TwJ&&ECl3xKS^UHX)7@t zZ&_I97?spsy<50WLPYi_Nj;uOrgoZOS*hyQ>5ZBE$>Y;BH3JGN${~Kv4;YTU0d2L; z46U1!vWFc(k@=CkgQY^eyn@M|?9yC9RQmT{Vy2b(=qvCVio3tA5pT{s_Td*#QHM!g zc8Pcx4}FA>Ni&fqe;`rnt=H%p1-LxR+F7v>d9-xSh+*Dh?{7NQ$wE~k(<{8$dL^ec z!G$66K9kF+*y}!&lEKktwclv4fRxY&i3zd3fh%QpmX#cOliy}8O9_3Yxb!iU331&0 zIy4=2FW%{myT3b52|(dVk+9|H#-)iW$;)>NOEbKrdL7bKl6yfF+w{uoHPd2m~~yN$g^{+NU0^#t3T5A+K2ZH8GB~ZjjR+#H-IY0PAP#t)hQWx&Fp1HHI`+D zaH3_|jZjszF=Q|9!%eAIMO|@gR(5ypS%gl31hc^&e!neOTASD+XAaR#`aubR6hi>& z6x7-Lx4pkx))&)s6IFtYcoh9vC73X88#(k=KPP*(at<`406LFw=t zUa@<9_n8J89C36H6XW<^ahE*RABfPHHBo1G$h6!6CN16?`TstrsrElm7%u$3NX&g1 z!qIw&HJj*tFz}fB*G?u=0{$e3HFid^I<%ay682_drgipQvNCG2!NWpgHH}a6tq7oI zywx;PUaOb)UA|;P*5?qt&-L&9zxpEsC#yw4`Z`A1 JC{6pA{{`JEUfBQu diff --git a/windows/security/threat-protection/windows-defender-atp/images/webapp-get-appid.png b/windows/security/threat-protection/windows-defender-atp/images/webapp-get-appid.png deleted file mode 100644 index d18950bfd179722a1b4a0081723f38ccd7c89b21..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10830 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 L092`I8}YvYQ)rLe diff --git a/windows/security/threat-protection/windows-defender-atp/images/webapp-select-permission.png b/windows/security/threat-protection/windows-defender-atp/images/webapp-select-permission.png deleted file mode 100644 index 7f5fb81063e1864ac329cbc2b99b8557414ea9b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30641 zcmdqJ2~<<}_BIS6U`51ML;)f8wpBzBErZGw&T-7=ePHM z_VYaZ+;TW$tGrQTql}D<@{cEeI4dKwt{wQQ-Jk&c6dIdPLMBxDCJ*FS+E-%!?EcieG`k~O;e-n|UD_6xE>()Y)= z`K}MRU7&NjecylM8_c4h1-#nwF3P14>AH4cs0CHga{k)J%5&3z{v;bNo7!wj^GwFlqM#c-~0YOd{prHY12V~{*>_jq2> ze8br~>m$+T@E;v0V}-j=FGIeQbF5DK@aD~lkP_?eFncY@@?<(yVRA|#@HW(~Q9#C} zB}7Ha5!vuCG(4frY~;%vByVtjzD1?YMEolh|GiG_M3V=0G;sYCg0vA>JSZEcpLBWd zD(#oN5V>KMgyoiP%0F~&Xs6gP`eK}ft0tqNb=NWrXdZ$+MtnAXdrrJyW*>qV z5v!+2F?tJhQn6`@SJJNF*6D}Fxt#G;hOt@b6(1&vH)C#_w)03s^n#n|>LsW@ z^=U+|CDJsMil#WVxkJQ@r8&8#U?v`igfEkE@!LSE_7+@c@22I6JNMyea#~&p|B3j0 z>vC)%Vze}y?Ueg?0TT^z;V^9YPN>;>C(_1kd?R3U(H_cA*?fKVJGkpvhG~w8g^ruz zL4BdMRfmS(s)_P1CJy^+iM}g~&Who1KK1F#)1&q^FUx5ok7y$?jBI=)z8Y33YaCgw z@T%XK5IRk4RYdJsT!cyCW<_|F}`E~A;M{}|b z=}VrxK{z-HF5@~IBV4Bs&t1G-P>RRkH?^Z8)a|phGq&l9WZblF8VxureyzO2 zWM01(>_Wq->k#MYu;IY4r=}a+aFvc1=bc9HDp-#e*W0s2bs`g=Am}}NmM0CRTk9*CJs%_GP|^s1g6)WIWk481v!+?(g*l06K)5?3heUBs#+x^8Q8#{Tkx_M>O|zTLg$-2IWOQ+rf^|(NJP5Y6EbIYb+y2{t0~$; zc^wq(kK&LX;VT0g0wq3O5nm`cGaiY}pD*>E8o#{{>t1C~uL-M5X+>;mrz>AG z<3r`%oa70iMsI>0`Ypj$MJGk*v%)K#8n5mO7C25wAqOnH=FAy%e@2P&xj*u#(qT;a zA>li;<>^Myj?&BM9jjpzuYBj|FbaXMqRc0$f&~B*+p7emA_XjuWtzoM(JC<685V8L~2OjyWi7 zv~^IB*`;EwuCvoxT_(|deL!CL|EUjQ0vyDY+NK9CGBV}1(hGrUWstT3msR2W<;P3* zE1Q{_34izI=W3WcjwTwtmA6S1`!vto#6(R&L7{oPC1p|&L9*E1v~V};?kOBEdgQw?-Gb-7%yc7aSPBP8Hx?Ea25cDJ zbyv=emXO6Fp?@yZOFLn8VID~9`f)R-ARF)Bzh4Pq3k6i7wzTXF*dW73n=JOE z@nWtDQOw1)7$mH8JS&ISyW*=!wru|F;MUQU5mNrKl=G7M8wp}Y!e*j~9X44%l0wKf zjno|iYWTQe?uy;=`$I%^H8r(~ct4B2i1D(LoQ-YiAQj?DXV`>^XeEI+7&Q3-I%pBc z!qif76vdVVh843epYh9_f8*_8SX3@k+xtgJ$8eTdeUJD^2^%a~A+=;020`iEw>6em zQfY&WKQgMLh|8}H&TIM*(|UN`7%`{jE3NGrTx*|LHvU}84Q0IKnG6#aO0Z4vdb1#H%EU`A+kz;lB~G&7yCNjEvBZ z`L=PFmR@CUw6LwOub+_fW%K5SHR;pKhk)mK>E4l;4;OZBQr!<;eyP$LRb5?OX|IL5 z#?%jsIW;>u63bD3F;3TKGhXXrLBr4>t~HK8tQz%pMnU5)yvR%0m0lrBFiX@?r!J zbKAK(A{^o0XqcWTdJX(5M1;x++E! z1?Yj4qe7^{aXa*IE#nb%Ucq_cnosW;#$$9*EV^}Pm{?Po;6@##$ zX9t@;J{S$RUdd&CF^z86HPT>VM#fnv*7%SbqZ?U13o#S9ubE!#$h*)I#(k_UX_pT% zry4D?i;P2y%`iW-tq(vR7zHl3S&C7YD|YM1?Q=TmK#>y^f<(bjzOHmANhy*a>FMcN zzDL<)8%a;oGK03=)GD#WH3^u9$8=WJg z+4ANJ!OFyT;tuMzABx+=;Cko@!vP$pbqgO76cTOW298*p`C5Jb+d_o5wMz>!Q4xX?C4f@6w=d8lCbh9 zL4EX&!Z}a|_xg=>gb{G}UQhKGS4OABRAj!;ng4ihyHZvCBV$+=B6M2p`J;m`R${{s zWU4cAOA5rQHO6Rk5bh)rDuGD2khY*}*dN(?I_SMB6Fah)L%Z(N5r$-WP0rp31RKeD4Hv&CyH=!; zp`XFD=FG@SuBpWB>LM`n!-QO@X!#!6`e=ZW7g`1@dkSu(iCG+uTkO0;^8h`*OTmvs z(czaUwsa%^2qC+cs$j)-yBJQ+D_Mj(tTu0N+7enf_3-e%8aSQsowbKtMc{MEgn{@U zIkwllAteryN8XozTs?P`-S3-w$CoW)x_1_^p3sV6)I79_WHMnj{aL5|d7TS%H^W5k znU#s;?Y=iVcvK<6<$$;T@Hb(IzN}`JFTZ}iI#;9@+9xV-K;!hLGaWc}`LX>umkLZw z35eYN)P%xVLvCs{qafRjUoXX%8PrsE8k}2)zk;fu`YOR!_kSGY*?&Ai5 zK%V;+vU(zgFgGN_Z1f0y9RqzfsVdM!HQu?}H?rasG)wsaIj@|f$jrwLeu>1K zl3jXrYwINim$fv_rtT_~eJNP5_JGLu$P^`_{LoF2Nbz$)d$Y77roG?ku=c6)5-eefWtIb{8}mX)cbQbfB{1#c!yknE zpU*eXv%?Y^cor9WLT;z^_!Y`pU%#GIqEaKs4P4?XiTrSus#e=f@gy26e)Wy5WmWL5 zQ_1J)fmCz^&FZPTuY73dw=DEdXi4Tan&*vB75_NV8t=)5P3A#;0_V;i|Hq3tpiB=hl3*zUlE1$EM z_Z&8eg20G##=tUWtt)N4G|UiWRopRXIvgtLFR|Q~3yR7Ww-vI2|}$Sh-$KtnG_+c;lMTxw#z%_fZTGk*|qmR;O*jDCC~k z;%`t(pwdiLOY}8YS>MHmw0W=(!brd0d8F#DPX?>n<5O|sqS z=CDHW01e0b64*T`%bN7O)U!$7%VeBXw}o8l9o;k-7X3odeNbYUTVtwo=V-9;lIK;5 ziTqimcFO}^I%EQL7Z3T=y#ntLibUlyFHu}q<3Smb&u`}qY46ERFkRv>H{Q4P&0Gj8 ziBgz)uuDfyhO#f|a?(1qn6X3NKG`vg>*8@3e}Ku~`;K{MksOYWD$AQqr&bC^@&vUW z6aAOUSYM7lf`6lfYkcHuy0yuYmyir2K(@^7l)M?lu#bPldv%+Y%E~I3wJdURqy(($tvb6^tKiZUb4${&c1uhKP&<+a|iVa%t4M|>THiy}R%o^~G8vs`4-Pby~ z0g%|zu6Ebjea{4m zCK)U3r0**>f^&tB!r45fmO}gCgs2X|=f83<+G9U!(NJUguOND`hgcojUmH(cXl_0V z7ZqoPZbTxH=MV_fP_MK!b!~0S27)QGZKM`OBuZv;jC}mv+^AJ-W{;3kDR}F4k{ZlF z`{LSp^m<8LkLjmd(2_r-bc0TSd(~j?MPnJTKnDtUIT8C}u$1$J#qBcIL1)L`bXf66 zQ4bm!)u2eK46KWFOkCU(fP^Zbz>Vds2YXVhnoEyP0J&Q)yCua2R><}wuqt6aXrEk_ z>iFF*9n6-%ipW&LU{zWrj|pL56awH*nm$?Jl4Oz%ix+<-9$ua4^8f%YB_$bVEw?4O+}R6Gmo2iH_%CV1I_b9fBn(Pp`oDyk6z;MR!7*)VT6oKC+W7KG)th^E?}iHPfSx{=_V(>tJt)k&zl((%=FuZPPmtqdIfT=U zv+k~5>{|W>YCfFeIvY_*YVHc6o{MuJEEeF`w&F}_-VjtxS7cZ9Fkz_>L_V6Y(oX11 z%X;!8Rd`n=*K!Lj3Qw+TE~G?iXWKK#QKAEWjM77eOkpMg@{m>zGUF8qxH;^KoZX`Hy#}oRDumon=B!%9Z~i8LWg* z^CSh>c+j06Ba!cZwmqLq!&=P_E?DZYOe3}7wGptaptd3&U0B1aAs}3Cbv=0OXaX$R zLaX2xrX{#A6>t41Dv!QA^L2kx(a{`8m}&;uh91)DOfSFt5N%jydgh$7XvQ5B4_Bjh zv4t)x^JM|_Il5OCGrqxBshmQ|tsRNZV6%4fj!b)#cVPm|(uteD*1=f-xk)BwL%Y@Z zr?8bv{szb?_fmk?Deco%cQ_1usHSZ^h@UJh3HyS7MhuT5o0=+p>Ix|%a}WSO2MXm+ zouv01ksj;h7wzIh#N|;f^a)ip0=?Wv7*ITInf~f%?CvA~r6`)w|vC>Aa zXnlaB;gxZCu*`4dxx8`{fP#?8V5H?DgMU2S6tJW1A%)G)lbgO^KyF?*v`3s9&Q=lg=cCQUyLKK~aeo%M^nuod zSTgUaZq9KkW8AX9tr~8|0FPs%+eruB%l;I5rMDV-ODeRh02iWbX2YHZ34ZK}lAoMP zs_Kb{l~9?)z>BgFs-N`$4LaDRn5T+cKcyHb{(ALY_o0?ovk&L9%V1EtrhI_K_NDSt zvCMu%j-8!de-0=Zcrp&pdIK|z{RSYX1@q-qYy=(-^}jZ#cj#D%Xh7xx6elik42;y< zMSAL_kmh$k3)Pa}As~$h#4&E1n1X=V;=IVU z)l+IOcxgS=Qc^}e^U~R9-Z>}(h`EqK@d^(C<5mkF=?4&j}0Gl3w&z0L`P4?4rAA*zg|^}q0J7}Mf}EBk-gGHUPT<1 zJV#sFua0`o3_6LfX?6m&NxJL`iDz2ChkIB4x@m*B)+;Us(bkU6Fw_@o``JTu;)%x4 z-rLYK#AKl*$Ii0d(%N}1i2KbYXn2VZ>IixLT1G98|MraXoa%AolE;bC z{hvcle|766^8NBD)#KUzMRP@gzyIC&aQkGL+XWhKOkd~?SNW-hg-cRu-?Nsy2{_Hx z>#@4)9aPEB&hpP19w_|%P!`+P>D-2Tm&KN;|9*)(hMc}mEGTV#Q2*%hwLi}Kf9|8~ zORN3f1IV$o1673pZ7qN0+btZDL!$z*Qq>+1{RKWVsj?V5|$D74-1z z1D2Cvjn3XGJ1$%2Nz3g8m;g?slTRDX3wV(Kyh`~QdC!3k$nzQbMZWB}RD??V##iK* zKj&?_lBR#(P5+CwLn8^7uKK;_Ju4UO732@ZAEp?dBrnYI(J#&R~w0#6v*-`KyY zNFhM!?#8$A4?X1UqNAgSirp~6C>n)It<}*%-{l$T>Ai|n>NQR8JP-2_8sA)L!uyD3 zRy|ETUBOZMQH``>9?kO5AvYF@wj2>U^8ASJqwJEASl5e#0-0{#L+s}lesswBby&kj zWpir)8)wU}$oZ1@TIo9})xrllw$fcL*kpzkV1noQ4_M|C3b0i&&5g>Wd&vL=+y-VsY8 zXjusxufD&cztdj3&S1zC5wl~cZ);l45C}`ZfI7~4Ey zKv?`~dw)(u&|Q_%R7CcmLGP6-_-WnW*iOS%z^vWjt1C5g*U@gnq0}*wkHJkk8uTr^ zp&fEPf%JC2EbDrw&gl0Dk6$5&RnxK`D<9%C)u{cV*{O3UVPvL>$A6w9udC0BNu+rG z>vOKj(^K1_Z;s&7_J-e9$mvh5l0TE|lr?DV=~{|!dfsn*6I{aSOYv{8T!7D-m*shL z;tBwwU{a=rq{i2pYT)^*+wgoKUTzl?zTxd$BqgfG?#_$+yy)(yEiTR4Eid%H3`a`b zT5_A%TKHU)c={Lc=7hyt=w@Du_AU6?wzJM9&e9-X%WU#qN`*YT3hNfiAvjI7)*}|) zH*06S;STL0u}P_PvSw63;H(qIJDa*Sj-lAhHkzj+>U22iFlS^ruLK>00oWFCdO$~qKkznE7wTc-7@%PU;NRASy;ltK*VcAXM$R)GOR$?Oq%=vh;1($Wtp5Efhxzv#59(2cn?Jn4T8#50W5x${h&-^*SA_J_ zyXpFF>Dm_Cj`=r+&$7I)SJ9Zi_FLYrlHRqI6b+F+2QmhAD|7UxTH>M)-XkEH>D=%j zBk8hnx2_e0KWL!$IDlvE(H5K=SYZ4O22Lx1qs*F+VemoHi01*&a%=5`CHT4z+bOc| zQRprBjT^-6e7f;qc?D+_OCsH)dQn#*Q%4yj7Rd!kx*Ir5N)dFafHq1v4{}e=b(Bf- z$L~dB(_Gn>ZWLnqh2eNrv}jHu?&oI^g@w7_(J?iu>-2S?KI7fZ)r8?i5r~{rs`7SY z>c-b<-WVbj_`Kd#qnWA$`k5YbN zcNN8jJL~k%mOW6Z)+O3oUk+c6z0+KZ(r|FG9Dw@ZJgEz0%WdxP_f(J@`xyL6XB3i# zn}olwt;Z5fTe~nK@lLZ=?H_a8L@e5s&1|z#w8yz4kp@67A=L;z*S?wp?S%Kq^JTEm zQY8B*QMu5A_>Zn;xb8avn_N)}-L(#%RDKH|$Lvn2NA!zmRVAOX-yGjRLvwm~Y zv4guESh99zhd`iNG~KIA)=o+Z7kvPQGbzoMG=AZ6aWKHx_`=Qc^*YL*J;Rjb>;=~sIMfsf-`-zN`wH^?3mZ701yw5;uUF` z%Tq5(=n~*8#lLx4xw^m4#THYJEocGiO#A2Xc>zTWaPy)R$ug(~94~}SP!F7C?}cJe z>R)^O6-Kx^P4?MtPkwiZ$c2wL^+3L*pY8W_tv*_%`x~ z6?k7F=9%4R>!8*$*Pmnf2)D0ICFRtpxXaT)3?7+pollcgRh|PxcZfX?-`neEfo)ny zxRIh_et&4R^m3Z0rzJgw+9+0D5X}rYYcf|$|FZAzIa&UIt#RFILX40ct4!}0AvXqE zuT(>t^qcIpVyA+zcRR|WoL4?C)!zf2%TUbqDwN}ZOR3ARF8AW6D+lKvNielhBiHiB zkGDYwc~qql00ltNk@AsTe<2ctAR{6bXtia&DcD*>Je+F6wbp?^KA#8{#u@*4jW#f* z8-Kd+1Z~Y#TVM%=&zV>qhFL5r+3xV7(-H%qaO5xC5%v^CM-Kd&SIHugEF|WM0K8@N0 z4R_U#)}jS6>ZWp=@Y9b&9@5f^XkOCl12l;MZ-GwsQr@XybyaSyfJ4B~{nO+Wj@x|$cx3Qu?HII(cj$jksp`764!Gm7A>0E$fC@UT|x z3>oO``v^@t4`-{gUy(!+~QjSL>H?WyN< z2>8@F+-u&&16(1Hy7O86Ra&^-DsW2LV5Pq;n-=27<2bdQXk^J$44gJI@c1fYPhjnh zp6k~yc?elOjio|rj?>T`Hvae3>^})qxfPDWzMlmCPC_pC4s;8p9?5v7ab9G}MZ=kG zf_?&mnx9ubx~>3T#?e7<=wzYS?g%iUTph^u(bS9cqxj`lurB7(+}&02PQQ}JCX14) z9vZvvbuS)xThrxF&5z`Q4Gp)plq#P$CDI1s;cgcjxH#Cazy9iObjKM!=`n_npbPua z$sv-F*F0f7K9pJv@Dsd2JZrH#(j!)e`yZjCxaqxb2=Oz5>EfTgD(YoNw^IAXfe*VJ z4Q8EKwQE;wQdlnAvaVF&Dovk+Zq(-qIB7r!>53Mi) z-LWlUKR_>ajy&?I_Qhk_zL8tVXi7Aj<^uCVa-y^-u1IGbMxf31Wcny3z7DZjdDzp@ zyxN>Er3atI@Qd*GhJtN8Ru|J^D;qx}ojeM5LwmNz+D=^Sgac$rXzH1K2c!A&D>g@7 z({2fBU=^(Hg^o@gF9(XH5_+#?;+@9rg_EWnEg3cX zL{niLb!1=5n_U=vQ^f_%0J=ARFy}8 zfHo>x5l32T1yx&a{EZ2r$9egbQ1nwZ5*q7UfBWsX~Q=! zDPe~1ttS*lNPh+Bi76>5fKaY^J~A>g8SpVw$94_Bc=4iOa{I>w{cCP6xM3=qp{c2P zhkeD;td`J0fYV(gmAL~eq0h!|bkpgYxF4zK81fb3&fk+ZV)IP=A#!B-8k+=&XDY=S zhm8{7nNsu0Bku6LuEJdaq7>n|M@KH(zvG?Dspf^de8^7iU+XOP!xC;Mv`()S1Z|@M z)TS!7KQH8^qb!y5JuGo%ZZ3_!go*^%Hi1B(mOK>kMLV>FcNeHleKJAR{HEER8tdV^ z`q4ZuO|2kS)}b)0k5eHZU8Nodlgn!irN#XAOP=|`2IExiov9r(Ncx<=Md9p`DbA%~ z$$65jB=s2V)1nw(4fdPAo~&|DL+{3o8xvJMmUzd(gHUQ;U$xFV>=Jr=yo2X{9WO5~ zMm7uz)m89kZ{>zjL*f0o*;L4V3cNw9kc}V`v|b42Co=o+;pQ>#n!;JrQ|H3%?GGa^ zCp-&nJB~+kr$?yONBL3Q!KVzM1^!{E82QiqTWYy9QK1lqc=CZvAz2Au8UIkJ-E<^) z<)tFX`$`(qcwlALcw2@Gcf`Q()C<8m!}i)#U$yt!Hz)g-1h#ZG7+{j$*%-D@oK z09=9|O8)F$5>4`1d%2%;>ng2KQEC~->5*p|J?YF4EY_OAL%JxMC!E&Rob7k*XlkUe z5hxB7lERhEYrLGmN?stDH41PEodD^WiW_3sw0*DHUGa&|ntYho&IS;4Bu) zOZ5kGZl`M)z)cY_U9+yF$+F?Gv9SV?l9JNG4rK%iC@IfKwH|ZNnaA3o#K!FjcE)~k z?x4R0X$~A=GZ=9)fVA1-n^!ruV)Yb?^f~YQPDhCI9q=2Mt5&#^pP&CMB!u7^&{pbW zZ*RXd&Kw4lr7BXUx(ay|A`O=4WR~pB>Pv|LRHnOKFyZVDQN>t`St6J5+OPyRe)Yo} zIV)U{Id2U$PgjgH~%|zM`4n({KZ$GPH z@lE$mX%u{?5TLC6*pV!gZ~ZFJGo-tM3kXH8;S^u`*-^)bHrHHGjD`Nt$=17vJ){F;{!V+cKc!SlMpx>OIA3^6#J*6K>BTExha^wP0(TDkHD_ zUa579&Iulm*Xs6wxA%fz$~D=;gO#@_FCrxKITX;O7Q}a2sR_CILW~-f}tEau^=H@n=Ma|xn13X@xNf?D)ori^) z7nSWOXK*GCTrT%@q!xPdBJm{ENx9wh5shBw>`CEz+{EP^>wiR;@hmPbo~RdmX!AT! zs~!Mka z)3d$%^vt1o-7n6a>wkzJRrm@68*>DV!6$%X&OXF+YJ)<6s5SQuFtjL$a6e&8IE^gB zu-&Hdi|S@6zDO|HpIk!o@ZwfqnrvN$QjHEB+D;$D14KOhw-uT4yW2@mu*s9ZeZx=o zvNce-9*b!1xi4&qG~172quao8HQtT2fTBBLB6)k1wN~IQ3(H^raQ!Bm-$57+_Nac_ zWY7rpIp=i!e&EHBV%KwhVrHMgDSX(%wE+WkHjU*?j&MF!g#bX|S7T7I z-FBT5WlkksX6~#%lNG=lbtLfLr<1FQyTLb$N46#c3=2RKOB{R}Yel2GW(M;aGM-Xl z7VxxglF3f`J<0)fR#EajgaHJ~->A30N0`)^@t;5BxhoAGpmP1F!#o-5D-UfKNdX?<8)x-t!@M?j_BFg!eb zE;};SM{tjro5vC46CeC)aS*Sw z%k7lV>57DzWB3OezO4JJ?hCyC77u%Ck8@Feeq*yV=F_7G0q;n(*KVBWS7~8@w{HH$ zTQ<InrqmYF#?13`Uzr=%f z?)1Kr${_-p%@UWZKZ8b`X4(f(*@~9zS^^D+1jOj-$q?d0H0L<=dubTKd~jR0ZoQO% z!Vp&Y4kEoP@mZC%{`k|>;>9~Y)wGMC#G0%q->PqQ?B9ke7b+@FR`IBX!qcR659X?w zjeDaETsi(mpwBz-@bbN4+1E!)AL@7S-2%Or`S|hem)!(3M%l0C#TM+%;e-ndUM$)%=I z-=^kfFCaavmguPKkAib)JIuNug<*y4C|~82s;060M|AXx5%ZmG(2)Ze!{Lq1wC5ECb%MejFk zk9v{~X`_c=A4cA_)Ip~+BaOcSfVc(424y|Sk?S7#i`t}?;RMcz?HKNJ|J-~v7j%{e zk8M%@R-k)>Vw|^ZqG7IgKx*d=MaSooK!x#o)5S?u1p3=EjR3uqoeiNnTbu#9DKs5r zeI(L{n^c8&Ng#7{s4y7SUCWQ%c+yzsj-bXLu9;XQ#RQdkdb}rn$P!^3fD3r5-J)`# z#>d;7Nd0iqMQ+mbgY4E9D=B{@4r_I**w5(T+2RpE5wFnrA7FJVD$m@~@{DwDf<=%j z*{W&k|ILwt|4Li^q0HU|J>#jUpwNZIs4Oln=GWF9YFZbJ9o*`4XWeCd4Y-I%1gGA; zo9*KT(4D{pgw%B~0$8l{cf!WHWvb3@EMsVtZ_CRvw!%EhD|aX-!Oxu=pH-8=R0MoL zeK)?`Dm2)v@^(o35gzoeN^i9 zdcb5ZHCT(5qoPM*g5Y%;Z;TUX+}YK#r*V`K!6G$(aWK)X(bryc+R4arE&nzaSzuHaALnii4H6B; zCp(Ou5t0*_2#bU>T4>Pb{xfZxH*ao55<>G`kbq_D)h?J^ak95pZM>+m=`P^gTH)te z0>&>_u!_v7|41d)E3!w>BOQp{Qa{X`f6W@gy=d63aX?S?lM0RC8tPl>2m_R`DCh<| zxKjdIww=Gn^o$|7DVvA(VIq(a(^d|(e%ds|135VR%gGM2=($u;7IO^Bc?}_k-AAZA zzIKKy>lb5E7}qf!a4vq_;cyhxWazoD*YiZEQK6nVCMe;0K#|a)C}8+eu)ee$^(IvX zhgXcbhULxYcPm;GL)us_a0~ie87{C>r{rnZMNZ*JYE^KS=-w_et0qF|@8U@zAUH31 zrw{jCv$N%;yJl>Y&kXReV*&u{v| z6LfX%aBS&hn`%65ZZHbJXgDBtuZ%#cn!{Ub5sf*G26UWO*jE{{dH1DC zGN8^#Cw~%oWB)fd?>RX+n|*wIq~j_1K+F7=M9Lkmwgdt{d3=1l8b&OH16_I$RpyC7 zpuL^`#y8|%v8si^($IlF5JZ(iDpxJ7(b+*EJf8M_4EdMvxJl9W6ve>M^bT5XL6A2< z0K}2s0X*J|L5tw+(*5&G(q(Aiak_Cw`Cy>39szqcmR|hQmX12-DijI?6MA^2bWQ{p z_1syg3T}Z@i>*6BEJf4CwXibzrm3RBptE*=*N)RYwcll*nO9pvJN-!lKxX>B+y$fkV%vsaL&xkExKwbe5`WP zg8qWs^BR)!P_ig8t00XVI0)OeJ!ae*H zR+P6h-7Q@tgJE2M$Q`N(x|{Q*6vF&#x!2netKn_bSJ3M>*#eF1{*qNvUv6Tu!UGtd<-tRC=Jk)vlfKR!1x2N- zc%ZF0UtQ&i?P9)PAD{(cM}&s%KT;S%t?JDS;mBEe5T0>#{*2u7o*)8a%#VF!6M)9g z4{E4uvWT*NMPThy7wr2n3)w@}fBa>}w%ceV3Z#5SjJTXsMU3Ajr|ocKXcTcyPY0N> zFl$Gst+8Q0BI2iyBz?T5OE&5<6tnpB%Yeyi&0E>64G5^&QsnsWTi^d@VE(&76XxQe z4FZ(_{@v0@FR2@1W1Cbwj`^!0?k_IR|E&+zv@JMAoa0|JYkt$DIf171czinYzcYM& z!gT-wm&Q>gFqzf7w6rv6aYtWI?n#0v|oEaR?y@XKMKuW@|fya{$+8P?B4NDv4Pixx! z0N5s8+X zp2XIX`(a9cqL_uZGoFWY%r8Tvw$lU8O7`rur~`Y~P8I+b)Ya;v9rYY`Od*5v>eYHu zk}=?gm%@@W%A3gZ!Pnb|hP>h7m1F40tZaN{rn8RkeyL}AN5c)DhA8sU3SUv3o;%&x zLz7!_R@01@9W^;hKk`H)L;`hX`FhuVjqC-A_ z>k(!%DEQFPdi1$gkVxID)}QN%Bo-s|61f3)g#S!~)eyf_Y9}*nwvm!3(jFCH4DTpx z%5tgXh*7h`SRT>>{LFoxY$ES%=6n6lXrSm~1I1V-Cf=&bL{|$JU(*Si#JSMXayf(< z^mY@k3}zeuXQ+}NvR&F9CsjG;UNST^G*_Z*k#;{n0wxqwd7^C{V9i+@Rt;7W2Q+m_ zVch?Cm=%~1{wG(5lz{RF;{3li7E7C4E~~2$zR&{Tf%1Y2Yg+HqJ-Ells-*t}tA*^q z4#rz!fO)FvH8!zm{S>g#*5o2s2cQfowY0PZQE6d*ety4kSsFs2kc5@hdHuVgvVd_d zN2&M|s4B`^H+06DA=8 z085T_D35djjFUSr#5uU?5JXZ4%3j7|u>&RGCJii}h{GB1(1?j!dnV8{nq4|)lu!mD zo|YQ{#tpn{VKvtrIM&Eu4PMs&y#lMC}GxM zxu*jm{G!nb9Xpy|z5~ko2V7Y<+MnzSSN%a$1vn@5HLhL(+z<9c#g^!=snzf(UCeUHPr>N4)5zUC42YH54Yhqi}mHJWdloB2XIJVIqZD<$BxCFb2# zIf^{HUPHh0=l>B}9i;ZVbfaNqlvS|BL%CcnPAW$$5q zA|YV57nJgdF^lg#Ul^Nq3GiD&L@tWQ*iM@8>UbAV#R~D?wXFk-XGrUXntJ;zG@U&O zK|4RvKd)}h)K!~LpxWBQMbwm|urUkn7)%*EZ|x+P+W95~=t~tmG~)nTnlO1c zd5~EpACNqU5P9V?!FzOI4cIomoS&#e8iMwlrpY-m2nvAr`*V(v8QUIzVp0K?>JKjZ z|9X~cem;Dl;@q)vVDlfaus}wU>NI!ka3?R=AWLyOfdZK?9qaLIN={B5Ag!*(^^Lf> zFp7lbI{l03`QhU) z@FHDqn5?th1H#4mUK6d7h>KZ*1-VQWO#BO{i$bhV!^A;TF)&Phw~gr?<%@R&nVw;Z z1*aQX&SqRUB!pHRfoilg%*wQH1kra#X|w5d5kcOytSZt-R|%`T3OVPwT{1Geqj2&{ zst@rYxy#Z}qW-qClT5)Fn4O`!h^xthZ_>@bdgNmINKnJ-V*xv=fP3rKt*gpWa9-xX z0;)eq=IPL1fUjt#p!JW}^i=@Wy*ws&9i*rFO0OcgVuyyt z?G77Zzs>Ig)!CZibx)4|%*9QD;^tq{#=fHki8Qp(qNpSaaVD_y;$s0CwF{`v5 zop1B<>lao<#L`ME(VRVG3Zd*Sek+{*?2>;RIi^1yoQtI@gkV^PXP=SlB7J)jG}(us zK~#w72|1TWTM#2^u;LPc#=pe#m?2ww;qd`*KIb@)&7+hjaBY%91is;sBblq45>fw& zNw-Z=XUjs2K6d1_t-$6xqH_9kl_X88++|5Cf?S_O#AAF79q_M_wkz01w;Mkr zsZ@#!ZSlbR${GY|hyARR2FnTzirey)@=+65 zA<-A7;859wlt6>Vf9tyhH2}^q?M}xo3hx!GyWtn9sNREtbu8xuG4j^v`$ufiG`XvY zbc()eJYBz}70}=c4)+3nH^?o`CU}i9?dhp$eG5(CO4bKaDJu6z?%INPP2!3KjH9_1 z0iF<+3y26OxIt0jcf!QjV>2FuHr@og``G6XjXR-Wf#Z*cZ z|Bqkk@&60DZ_Pzh)dmc5d}>FC1-v8uB?8`+5y0^G@JZMa1PY|2%IpVf1h2P4?2T_nvtJ1~@J* zYGZbkRvCe2Vr-26HV+mfWfEK%j$mOJJa%&1<;c)%x1}8X=(2x*Yu82UzO`|b zgdDL(O((}`)D#C-oWK2_a$6hNsV0Qt~}{vqN0HJr(6i{J80^7(gx}U01RE^@$^;5+EMDvmLP?I44f!h@cu?YfqB3^tN80{8FgBl`X{VI@=SjNa!Az(hdDn$%6M^mzhDlYvqR8MZ z+CWGJ*0#Dudgt!SW#_4dQDO@e2yRF#SsaWv8-Wx`%$-ebR#(na9Yp0WWJ{TMl8;0n z@UEAB;Pp4`7?(y#&*!93o~lBSq5UBhd{_b0?Q+onl*I5<%Ybk{OkS5xADb3^|4vIj z&wopXRBdEVwcm?YO-!?PD3&rCkMUApidsu|{_#i5ICTGx2j6gXWVHPCuUBQWy!UbM z6-v)Ebn>p_kq>F>x)185n)pn7ov{`1MZ5Hn)qg%DzGO4_kY-fZs?&0p0WKZqX^$^_ z3@JOPYb(9bR)kV}o4o}nP20@TYY%VYdMx3=xxzGh-z9v+r7#D8!Yj)YD<&?vmTwzB0Vd2y0CP)dS?BS9_;v_?ze zUKbt2U2h1UFZzJNxu>*Z4;Lt~;7~Yot})m5&x&W;%!p**LF0l8sR0+qCR{LsuKd1K zv~3xn$5#*AS%`mt`>2Si;vP^kA2}w6hogXz3iUv4nO|9A8C%1--$sZp&xCbaxdmP5 zx2f)>m017SCY3)xgZ*2Bd?m!NA$3xre~655s)O^JfQ%+k&2qu%J|)>LX{UkLDTugC zceB>OpCWz4<|cWbURjZD5&&kFipBdNWpJGD9YJ3`N{|V>YV3nxsO!|j^;5S7G3S&Fubq(N`&pGO|#I-?5bA3IzY>%a(!rtGXaLqm)NjUZTctXQi z(tHpH8MaIV$5|*0HPprj^<1|DjPW6Bl1U(9|LhZ8cg8bn%e%eG`4%NdF8Y?{=S!N12HSXr-sA? zCc7RQA1*bz=^pG_QB6eI$-9A8jrve*Pl_chtgTcfYmjW2d`hbjS;jh%9ag6vKyTv_fd+pAmFK>h+yQ{0Tsj+aX?6*IJ6E7MhJrt5gAOFWC%hG5fP~q^c)3>$eut);CY{Szt7(L z`~7S&hWpEa$_WQLxYqazBD1F|<=Tx{GE_c(Q<#uMlUj-kABUw!FZ(?#+YnBBRfK%ttdN%0UUp$|!4SK{- zaqce^=>AH@47iV}yDgwT4@iouK|jS$DwSroenpcUxFH2+!rA1#^>*jc`nNzacC0c< zJ39HJhGgRDGivK^%GHSQNFaaeRDkUN{@raU@g*tp1H6rgoD-XTC|vDJhkq~K)ZD#H zh$qg<*N*J)(Mk_V($UcgT5X2&r>-;g20`);Bys_zrmD5uqPnXsva{Jc(P;DmO8aIs zpSLA`g^WC~;YY`Jk5?V_DN$Wx#9fI%4ILv9MLYR%L@ch4kyKGS5brACLS@n2$=|z| z+0ZC304>YsBUa@<&zRR?_6G*#YXzGoH~FqX3vOX56+1*AN<^y4hY?R5rk7S_20q`GyoIL3z`vE$sFM z8zo$)TR3jjm(58W=Ael`HG;}8E|AzRl3jJL5Z5wjnC9;IGt%Wwv5o)MrkpA1m9Y#v zRTOx%N|nL+`&=a%SJd(9Rp>uyGk{xmW61*IV_6Cix)|np(8?EV7o=O0FXZ31;cuxO zQFg7|v}MaO`E*J<948GOf7`Y@L#9>4n^O7KjVsW3NB12`#A3_w0iB8Q$y;~Ct;o;x zSzUDd&)g)#=~GE8E6|2YeBbi<($eqMM4wwq6hJl|b*hQ?n*@J|vcor1dOw?ZN7jlr zV77HLfPbsd!?hD(F7zo>I6Dh#7_~3=3&^q{?wgVfou62w-zK3l1}L^$qNM}nUE}jU z@DG;g>n1<))H;QcTX1#0qfvX7M%49iyY`ev;Z#TRI1x;1Wo+2`=SS5JJfV&~slu?7 z9potC5^7ZDIp@6QD}>)4z75Ki0K65zLTw zOY!hqtIiKMSTL~W`H(&n>c0Jf2QL*Wi_N;`%%Hk9`CoiZ_q`C%WvyItBgW;rkD+r9%E^D|V3@NH8#o*Wi8tVS4T|IK zZ)~wU-6K!OP7hDy4%vEq|CMEN)*ob>tRSe}9KjjaCeQY#uug5?^);(Fo`oUU8If)LGl_V*0A9@4E~$NqAtQGvK^z;{NHAnnR<$9% z7L${b2~m^NgQi`j%t(G|c`|;DfFng=P$<-xNj{2S>lSgmp-V^!svzZKBt#_seD6iN zAIA65^uYD}9IMY-7E}H158k~C5Dv0IR^`awveafJBhJd$pB1)e-+p-f=U55a#(FNM zRz`n!1V!~M^I|+Z*V~P6oMg4$M`N!BLbD3}fNMk!W$dn-5=dROi9py!9skikG`=Te z+{#i3H#?uUQTvVPXuq=R86J+6A*}cCoWg~*@*C>?hnmA0GHO^LaipscsK?(~pond4 zZ4X(kRZleX^}coT*Q`ED^9{Iv&ZMXEIbJrPd|p$=@~E|u3AZ(u+eieUJSdsrAY0`B z&Vn+9MEP4*kMhL-5NFUfY$ z^V6;M)Y`CqHO!J9x(zN-I9_XYE3D zVotq|r|(~Jzus0l=B|VFH_XTc7HR;7_J|7 zRML5+I5d;PA#KDHlXv(Gs}g|G_G9JACM#|N(ruU3V@HQqGNbI62s@@Dr@4o8uVMJACZn*u#)m`d^Z zO_kbSVg}ma^k_e+FUq-x^ho!~_#{+%^MrGloDkl~rW(cDs zSFmFv>R8`%OIXhlTl4jVnb6^JX1rZ}o?l4G&CTT%x~P2Eg+3ny$jjciPdRYs_0A7p zGef^v)v6O&9DPw?p(`}}C`j-&G>W#VN@HFM+I|E4HvCC@fYctPc-%_X1F0 zA*?#)_Y&ebmJE0bxFL?1>e-GuV9%uO_V{U>`qcCwPyh~WY{I^*oAn`o>D&nbR!nVo z{r$Y_cX#vSuC$i`2e9E`M6F_;TZyCrFFD&hI7N^)ZCXK&?MYREjsrs!)=B z^SW6N_@N<^eZqZ(^^Z0+_UZTChpVGsl#25qWgv|;---8oOER&X&{2Q_vM_@G@RpyF zb`;%yFUUZQ_WZ`&1EThR{COTg@mhU$X$Rl<3+rvZ{}N+s7GZ^5WRCF!E!^UH`zm}s zJ9z85hZ&f4mdk-fhE|6!i=D%?~E|!(JEAU3Egd`My=>#`ls&_1EA=h zCL0+}5;6INSJM85(y5@!aY8yy`=^jUckR_jsfguD)(EZv4T1Lnu}nL-^HtHitLdFXew2bAStm~hl;E;nX5_80=Vu;J=Ou*$7~CMmrBZ|jK4>4 z|Ieu5mAWmnXmU`^i6k$Bw%@F4_x}$5_75+ zwg9XG{Xyn|1u#gnEitc$O*v$|CgJ@VC#vV>mw;A|`K+!t2{$#CNir)Ssi&hA6GJ>a z8&qyh;BZ5JT@;eA|3@)hK!-+H^ocQ=q^YN&h{Y@>@JZCc!7zn|3m2XOy^T@u=1q$_ zKCqk?h_BZdqjE{7P-rBbtqu3X& zdA8f;AyKhsmWlp|l)+Y~xR!?ALAf~^XTXswlE?D|4Yh{7gA1(bE7Jx|z}=PiMuk zl>wPNtbeM=ulHT{=AzZzn53Z+ni@)3A{)mZjrO0j;UISEJOyC_-~@{Zmb5rC<+w5(vFL z1WiXe!l;gnkx=34<&Nh-d+G)xs~by#BLmx3U_94&k+YnaLByHMLdZX)#kRHlee7 zGd$cmFua7u<%ASb%!>^K>c^s3tVJOP=??s_Z33x zQ~T|Sq2%X|B?Nb5n5g#$$8-DS*S;Isb@E+|3SFobAWAGvHV#)&-JJcX^%n}ZPgYci za^}e3M&+Niz&K5S1{QK?L+n)@Ivs}}nB+%M^p`9-uw88W{RH>aWeW}>>pS{_A2$Ke zehu8Q3ptu%_+S~zaWMXhIVE-q0+n5^>Adp}kmQk7=c=Z`t;?X^(!HV}b3}GNd0fE! z@4JkvIwP!c-d&ivpq3xmV7<`5fP>J<^5+8Tf4`l7%#$wzTyI_!<2I*?hjgE>lBx7;8W-hAC~{f(!CSudIlU9tH>Gi# zM&kQIkxHKzUQ(aK!vS6B#tE%DZ7*794W1?LsfPB%ytJT;NxeO`&F$n9mFp|ukHCJ2 ztElSCAWik94;aoU*5q)|%dvjbf+Jtf9vpy5?6e~3#QYKl0mr}KSi3i#c=+%a245-2 z&dBvIz%-gM%I9_$izy*tkG5%nBmb7;?ymW6f;SCPhVqaJ=gy(<=;t-pllF4nqL~WM zV;ZFZu4CCicO*=nf-JMlY>1_b71jkAos?}EoGDbk5FTRcj{0&B-pEZ*9Sm%qmQ(Qd z=^D|L1q#w-n6&>)yF4^)j-RC5P?UQ4%YI};4TdXlH;g#E13 zSrZtd!IV5ZsdtDRJn7ISPoeEyJU{8thNLAuiK_Aan6YQ!^!XZWYK*6?W^3gq(7X8u zXCJ{;qKu3&4|SSo^3$v0RXx-43l{V0fbMI%*xnVB;*R7^0))IHVnRmK(%*Bfh`bD^ zzh30lJanKn-_63uc1wX_(eRyYaQsgHGPV>^iD~!so z@lXE|63YOClTLFPle8M6NY$Nk%9TO!(j*NS9TWJ10{?U-UgQ9ue!R2)Rq1Ge1nv}s zXRf}p=JA>iFR2npLD(bPBTz85AZ`d}qKK?kXaB%Q%F5gx5}u8CkdT{17)@#s$)MZz zdw|bQ_!Xbc98I%%5SnUur!4dz?SA?#Nrt*TB1(^QV&(hu@Vuh^ip!@M)C$V?-4N&c zy^r8eCx}$WySJ}~!8og+FbxLy0Kn9#{}&X}|E;#=CoXy+5Wri3gP>UkY<)(SImXJ{v|{7@=i4qwhuN{d<5Nlm!vp80onL8}Os z1c-`tAqn(`Cje_%*5PFs7#R$TZMz`m05_v(=D}jO2h|ltuTyW{8=nP+BqZ2;woi9A z@G=}_hWuc?d3xYw4zBOo~$;I}Nlh^U0 zq|U;QcsF3o>7~ksC_WNeB`;@6T*kn3#>l8zC-6{l8@JP)zViCPUxL%}feGKFzjhts z_!;f>XKFUGlB#C_(4>*Dm{B?;5C= z(|q=>&1YpShBq1wR^)4=aAXymu|b?y{}t_ zWHvmEv~e<75<6N!%2F*lNbDhJbk=ZO`4ZEa&;n5_2Hb*$GkUI#m=3hv@e6{R zuypr%H+*bc4)vAW7l+4H?COH-*9#9_&aaIC3b>k%5Tb%1^1mn)q|+$vmdoLb;;;A@ zV>o~;jAp@Y>~}Qt@Rfc@HBX$6E*Ey%iJ4ce`6OG~bHX$9S6y|5L$q;U%%qPbl}t4R4)&J5LcTsl!iVRow)-Jh1R8 z7`{aBq20jzkdG#oT~N@8{mKr6vT=L!6plVVr~-6ws>0n**>{7N!y9C#AerWCed+QF zdASC!kPcE7!#MNbpO0lbQe5Zl?W;6C{#YA!2`b=@9ADUyOsCoh@xp<$$#N<5!D$3! zQ3kA{zid(d-|eaRZxQ1!mdyXS(EV46@Be46)IQe}^bmsKghkPKsut`-EL55P9|`dr zTNZenz1Ff02F6x_^zeW2Vh5g|d`AvQKHx44fSt&Ah%y5??Cmyf*r2z=Lr5RTKk)B= zd|++rJ0{r8EuJFV`LMWk1^rMb1cxqTeG2Qiee5h`uBZ5yAXdSgg#D`xK)<08pQSht zgXNzq-RyqLbzuv-7qL7!{`K_ev)vY)c8o(#cmg*wBklgU%_%uaeK1Dji~e|N`)@3z zJ9I9t`zUi?qM5L@4V1r* z?VHfEN!ytmzot?i1t`%zX5Zi4lit}BT9!xhwtT%@=3~<2=?m~RNr9D(tCp5qqjIf=m?8m zcUfWNmgXYLn$Np>5uDmj%8>7loc0#@sHYc~-h+b)Uc6+b=pj15fZ}V%ZQ3;#E>mhT|?0i?}T4D!jWHMBjQKc`)6-?)pf)} zRNqfYB`5HMua~`XC3l5>0vkNAmw2}HUZAb`)!o!U(6$VWj$RMk4QWvI&p|yk@B~b2 zfL^&DwjJ09VCC|BbX#(9DBu?%D4Zppa8>wJiLIlWr zGw*8|IxH#x8F4i@ByN5_17-A37S}gaT4=Cp)v7+VQfinWASO(KbF8_6+2%!=sK*cl zNh2nyDAfe{Nc7Cqm~Ua_nj-U$PsQwV-4F3vW2u=aMS@8heTMhlz=X4@@;ij7(LN{% z933pqd{pFMZ*Lk}Wc;J?Wts-e8;t}Lw)CJmWry-GDiQizJNxW>Udpcz6uHc8Z2#u) z5P&!gxoG_bNNOKO=swh4;EVp$>mUcO#}@6Rwq6dV`<|mj!T#`{<~$vPVCHlG<}U%Oi_9-C0R-jEtVNf&)w5?TDDpR+)~=lc?;cMv i_$!*;m{X$~EyY0;{cD@C9x!GX_QQ79ZB^eLJo#ToVi@oM diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md deleted file mode 100644 index b71d2fe199..0000000000 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md +++ /dev/null @@ -1,106 +0,0 @@ ---- -title: Collect investigation package API -description: Use this API to create calls related to the collecting an investigation package from a machine. -keywords: apis, graph api, supported apis, collect investigation package -search.product: eADQiWindows 10XVcnh -ms.prod: w10 -ms.mktglfcycl: deploy -ms.sitesec: library -ms.pagetype: security -ms.author: macapara -author: mjcaparas -ms.localizationpriority: medium -ms.date: 12/08/2017 ---- - -# Collect investigation package API - -**Applies to:** - -- Windows Defender Advanced Threat Protection (Windows Defender ATP) - - - -Run advanced query. - -## Permissions -Application needs 'Run advanced queries' role. - -## HTTP request -``` -POST /advancedqueries/query -``` - -## Request headers - -Header | Value -:---|:--- -Authorization | Bearer {token}. Required. -Content-Type | application/json - -## Request body -In the request body, supply a JSON object with the following parameters: - -Parameter | Type | Description -:---|:---|:--- -Query | Text | The query to run. **Required**. - -## Response -If successful, this method returns 200 OK, and _QueryResponse_ object in the response body. - - -## Example - -Request - -Here is an example of the request. - -``` -POST https://api.securitycenter.windows.com/advancedqueries/query -Content-type: application/json -{ - "ProcessCreationEvents -| where InitiatingProcessFileName =~ \"powershell.exe\" -| where ProcessCommandLine contains \"appdata\" -| project EventTime, FileName, InitiatingProcessFileName -| limit 2"​ -} -``` - -Response - -Here is an example of the response. - ->[!NOTE] ->The response object shown here may be truncated for brevity. All of the properties will be returned from an actual call. - -``` -HTTP/1.1 200 OK -Content-Type: application/json​ -{ - "Schema": [{ - "Name": "EventTime", - "Type": "DateTime" - }, - { - "Name": "FileName", - "Type": "String" - }, - { - "Name": "InitiatingProcessFileName", - "Type": "String" - }], - "Results": [{ - "EventTime": "2018-07-09T07:16:26.8017265", - "FileName": "csc.exe", - "InitiatingProcessFileName": "powershell.exe" - }, - { - "EventTime": "2018-07-08T19:00:02.7798905", - "FileName": "gpresult.exe", - "InitiatingProcessFileName": "powershell.exe" - }] -} - - -``` From f5a9b10da0d6e64c85c5ec4fc18ad7c02eb9dc97 Mon Sep 17 00:00:00 2001 From: David Laufer Date: Tue, 24 Jul 2018 19:44:08 +0300 Subject: [PATCH 03/71] Fix link in TOC --- windows/security/threat-protection/windows-defender-atp/TOC.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/windows-defender-atp/TOC.md b/windows/security/threat-protection/windows-defender-atp/TOC.md index ae7a4b8df7..7169b049ce 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -98,7 +98,7 @@ ### [Use the Windows Defender ATP APIs](exposed-apis-windows-defender-advanced-threat-protection-new.md) #### Supported Windows Defender ATP APIs -##### [Advanced Hunting](run-advanced-query-windows-defender-advanced-threat-protection) +##### [Advanced Hunting](run-advanced-query-windows-defender-advanced-threat-protection.md) ### [Use the Windows Defender ATP exposed APIs](exposed-apis-windows-defender-advanced-threat-protection.md) From f95887b0afc6b5d51880ce24d44d4b9e1a057544 Mon Sep 17 00:00:00 2001 From: David Laufer Date: Tue, 24 Jul 2018 19:51:10 +0300 Subject: [PATCH 04/71] Fix app creation page --- ...defender-advanced-threat-protection-new.md | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md index 26c7a3be1c..fbe58f110a 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md @@ -55,28 +55,32 @@ Before using the APIs, you’ll need to create an app that you’ll use to authe 4. Click **Settings** > **Required permissions** > **Add**. + ![Image of new app in Azure](images/webapp-add-permission.png) -5. Click **Select an API** > **WindowsDefenderATP**, then click **Select**. -**Note**: WindowsDefenderATP does not appear in the original list. You need to start writing its name in the text box to see it appear. +5. Click **Select an API** > **WindowsDefenderATP**, then click **Select**. + + **Note**: WindowsDefenderATP does not appear in the original list. You need to start writing its name in the text box to see it appear. ![Image of API access and API selection](images/webapp-add-permission-2.png) 6. Click **Select permissions** > **Run advanced queries** > **Select**. -**Important note**: You need to select the relevant permission. 'Run advanced queries' is only an example! + + **Important note**: You need to select the relevant permission. 'Run advanced queries' is only an example! ![Image of select permissions](images/webapp-select-permission.png) -In order to send telemetry events to WDATP, check 'Write timeline events' permission -In order to send TI events to WDATP, check 'Read and write IOCs belonging to the app' permission -In order to run advanced queries in WDATP, check 'Run advanced queries' permission + - In order to send telemetry events to WDATP, check 'Write timeline events' permission + - In order to send TI events to WDATP, check 'Read and write IOCs belonging to the app' permission + - In order to run advanced queries in WDATP, check 'Run advanced queries' permission 7. Click **Done** ![Image of add permissions completion](images/webapp-add-permission-end.png) 8. Click **Keys** and type a key name and click **Save**. -After you save, **copy the key value**. You won't be able to retrieve after you leave! + + **Important**: After you save, **copy the key value**. You won't be able to retrieve after you leave! ![Image of create app key](images/webapp-create-key.png) @@ -84,13 +88,11 @@ After you save, **copy the key value**. You won't be able to retrieve after you ![Image of app ID](images/webapp-get-appid.png) -9. (**Optional**)Set your application to be multi-tenanted +9. Set your application to be multi-tenanted -This is required for 3rd party apps (i.e., if you create an application that is intended to run in multiple customers tenant). -This is not required if you create a service that you want to run in your tenant only (i.e., if you create an application for your own usage that will only interact with your own data)​ + This is **required** for 3rd party apps (i.e., if you create an application that is intended to run in multiple customers tenant). + This is **not required** if you create a service that you want to run in your tenant only (i.e., if you create an application for your own usage that will only interact with your own data)​ -Click **Properties** > **Yes** > **Save**. + Click **Properties** > **Yes** > **Save**. ![Image of multi tenant](images/webapp-edit-multitenant.png) - - From 5590b07a7267c7d06a03667239f6f8a785963dfb Mon Sep 17 00:00:00 2001 From: David Laufer Date: Tue, 24 Jul 2018 19:55:12 +0300 Subject: [PATCH 05/71] Small fixes --- ...-apis-windows-defender-advanced-threat-protection-new.md | 4 ++-- ...ced-query-windows-defender-advanced-threat-protection.md | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md index fbe58f110a..b87ce4a973 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md @@ -1,5 +1,5 @@ --- -title: Use the Windows Defender Advanced Threat Protection exposed APIs +title: Use the Windows Defender Advanced Threat Protection APIs description: Use the exposed data and actions using a set of progammatic APIs that are part of the Microsoft Intelligence Security Graph. keywords: apis, graph api, supported apis, actor, alerts, machine, user, domain, ip, file, advanced hunting, query search.product: eADQiWindows 10XVcnh @@ -13,7 +13,7 @@ ms.localizationpriority: medium ms.date: 10/23/2017 --- -# Use the Windows Defender ATP exposed APIs +# Use the Windows Defender ATP APIs **Applies to:** diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md index b71d2fe199..fbb6f4d75c 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md @@ -1,7 +1,7 @@ --- -title: Collect investigation package API -description: Use this API to create calls related to the collecting an investigation package from a machine. -keywords: apis, graph api, supported apis, collect investigation package +title: Advanced Hunting API +description: Use this API to run advanced queries +keywords: apis, supported apis, advanced hunting, query search.product: eADQiWindows 10XVcnh ms.prod: w10 ms.mktglfcycl: deploy From 8f54c5dc387bc0b17c46d9aa0a314dbcc283a806 Mon Sep 17 00:00:00 2001 From: David Laufer Date: Thu, 26 Jul 2018 14:31:30 +0300 Subject: [PATCH 06/71] Small fixes to Advanced Hunting API --- .../windows-defender-atp/TOC.md | 2 +- ...defender-advanced-threat-protection-new.md | 7 ++++--- .../images/atp-azure-new-app.png | Bin 63737 -> 32730 bytes .../images/webapp-add-permission-2.png | Bin 16217 -> 11291 bytes .../images/webapp-create.png | Bin 7196 -> 7790 bytes ...ows-defender-advanced-threat-protection.md | 7 +++---- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/TOC.md b/windows/security/threat-protection/windows-defender-atp/TOC.md index 3112131f2c..847153e0ba 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -97,7 +97,7 @@ #### [Experiment with custom threat intelligence alerts](experiment-custom-ti-windows-defender-advanced-threat-protection.md) #### [Troubleshoot custom threat intelligence issues](troubleshoot-custom-ti-windows-defender-advanced-threat-protection.md) -### [Use the Windows Defender ATP APIs](exposed-apis-windows-defender-advanced-threat-protection-new.md) +### [Use Windows Defender ATP APIs](exposed-apis-windows-defender-advanced-threat-protection-new.md) #### Supported Windows Defender ATP APIs ##### [Advanced Hunting](run-advanced-query-windows-defender-advanced-threat-protection.md) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md index b87ce4a973..939a5c4859 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md @@ -1,5 +1,5 @@ --- -title: Use the Windows Defender Advanced Threat Protection APIs +title: Use Windows Defender Advanced Threat Protection APIs description: Use the exposed data and actions using a set of progammatic APIs that are part of the Microsoft Intelligence Security Graph. keywords: apis, graph api, supported apis, actor, alerts, machine, user, domain, ip, file, advanced hunting, query search.product: eADQiWindows 10XVcnh @@ -13,7 +13,7 @@ ms.localizationpriority: medium ms.date: 10/23/2017 --- -# Use the Windows Defender ATP APIs +# Use Windows Defender ATP APIs **Applies to:** @@ -27,7 +27,7 @@ ms.date: 10/23/2017 >Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-exposedapis-abovefoldlink) -Windows Defender ATP exposes much of the available data and actions using a set of programmatic APIs. Those APIs will enable you to automate workflows and innovate based on Windows Defender ATP capabilities. The API access requires OAuth2.0 authentication. For more information, see [OAuth 2.0 Authorization Code Flow](https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-protocols-oauth-code). +Windows Defender ATP exposes much of its data and actions through a set of programmatic APIs. Those APIs will enable you to automate workflows and innovate based on Windows Defender ATP capabilities. The API access requires OAuth2.0 authentication. For more information, see [OAuth 2.0 Authorization Code Flow](https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-protocols-oauth-code). In general, you’ll need to take the following steps to use the APIs: - Create an app @@ -91,6 +91,7 @@ Before using the APIs, you’ll need to create an app that you’ll use to authe 9. Set your application to be multi-tenanted This is **required** for 3rd party apps (i.e., if you create an application that is intended to run in multiple customers tenant). + This is **not required** if you create a service that you want to run in your tenant only (i.e., if you create an application for your own usage that will only interact with your own data)​ Click **Properties** > **Yes** > **Save**. diff --git a/windows/security/threat-protection/windows-defender-atp/images/atp-azure-new-app.png b/windows/security/threat-protection/windows-defender-atp/images/atp-azure-new-app.png index a4a07d3b92216aed509e0cb12ccc484af313e2d2..4449661657915dd657ddebef3b5e772501131235 100644 GIT binary patch literal 32730 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 Oi0|p@=d#Wzp$Pz)C!TNs diff --git a/windows/security/threat-protection/windows-defender-atp/images/webapp-add-permission-2.png b/windows/security/threat-protection/windows-defender-atp/images/webapp-add-permission-2.png index 24e449a94cbcd63f6fdaf4280c8c6e7d87b4983c..44708818effe2899ab49e1d7b9b474e885fa1658 100644 GIT binary patch literal 11291 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 QAU5disq@wZOTXm*1xFDIRR910 literal 16217 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 diff --git a/windows/security/threat-protection/windows-defender-atp/images/webapp-create.png b/windows/security/threat-protection/windows-defender-atp/images/webapp-create.png index 3d61af07e93d34a81e9a9735ab7c51d6da5bb523..a091db0189f09c9d56b923745a72ad6d47398106 100644 GIT binary patch literal 7790 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 J#Y>aG{{W3d)^Gp- literal 7196 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 diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md index fbb6f4d75c..f416c36d1a 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md @@ -13,18 +13,17 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Collect investigation package API +# Advanced Hunting API **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - Run advanced query. ## Permissions -Application needs 'Run advanced queries' role. +Application needs 'Run advanced queries' role (See [How to select a permission](exposed-apis-windows-defender-advanced-threat-protection-new#create-an-app)). ## HTTP request ``` @@ -35,7 +34,7 @@ POST /advancedqueries/query Header | Value :---|:--- -Authorization | Bearer {token}. Required. +Authorization | Bearer {token}. **Required**. Content-Type | application/json ## Request body From f69885646f8a39cb83948ce6bc5d72427bac7ce1 Mon Sep 17 00:00:00 2001 From: David Laufer Date: Thu, 26 Jul 2018 17:41:20 +0300 Subject: [PATCH 07/71] Add page for supported APIs --- .../windows-defender-atp/TOC.md | 4 +- ...defender-advanced-threat-protection-new.md | 5 +++ ...defender-advanced-threat-protection-new.md | 44 +++++++++++++++++++ 3 files changed, 51 insertions(+), 2 deletions(-) create mode 100644 windows/security/threat-protection/windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection-new.md diff --git a/windows/security/threat-protection/windows-defender-atp/TOC.md b/windows/security/threat-protection/windows-defender-atp/TOC.md index 847153e0ba..10b1f2f16b 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -97,8 +97,8 @@ #### [Experiment with custom threat intelligence alerts](experiment-custom-ti-windows-defender-advanced-threat-protection.md) #### [Troubleshoot custom threat intelligence issues](troubleshoot-custom-ti-windows-defender-advanced-threat-protection.md) -### [Use Windows Defender ATP APIs](exposed-apis-windows-defender-advanced-threat-protection-new.md) -#### Supported Windows Defender ATP APIs +### [**Beta!** Use Windows Defender ATP APIs](exposed-apis-windows-defender-advanced-threat-protection-new.md) +#### [Supported Windows Defender ATP APIs](supported-apis-windows-defender-advanced-threat-protection-new.md) ##### [Advanced Hunting](run-advanced-query-windows-defender-advanced-threat-protection.md) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md index 939a5c4859..21ca382b0b 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md @@ -97,3 +97,8 @@ Before using the APIs, you’ll need to create an app that you’ll use to authe Click **Properties** > **Yes** > **Save**. ![Image of multi tenant](images/webapp-edit-multitenant.png) + + + +## Related topics +- [Supported Windows Defender ATP APIs](supported-apis-windows-defender-advanced-threat-protection-new.md) diff --git a/windows/security/threat-protection/windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..0fd84c4e64 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,44 @@ +--- +title: Supported Windows Defender Advanced Threat Protection query APIs +description: Learn about the specific supported Windows Defender Advanced Threat Protection entities where you can create API calls to. +keywords: apis, supported apis, actor, alerts, machine, user, domain, ip, file, advanced queries, advanced hunting +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 04/24/2018 +--- + +# Supported Windows Defender ATP query APIs + +**Applies to:** + +- Windows 10 Enterprise +- Windows 10 Education +- Windows 10 Pro +- Windows 10 Pro Education +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +>Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-supportedapis-abovefoldlink) + +Learn more about the individual supported entities where you can run API calls to and details such as HTTP request values, request headers and expected responses. + +## In this section +Topic | Description +:---|:--- +Advanced Hunting | Run queries from API. +Alerts | Run API calls such as get alerts, alert information by ID, alert related actor information, alert related IP information, and alert related machine information. +Domain |Run API calls such as get domain related machines, domain related machines, statistics, and check if a domain is seen in your organization. +File | Run API calls such as get file information, file related alerts, file related machines, and file statistics. +IP | Run API calls such as get IP related alerts, IP related machines, IP statistics, and check if and IP is seen in your organization. +Machines | Run API calls such as find machine information by IP, get machines, get machines by ID, information about logged on users, and alerts related to a given machine ID. +User | Run API calls such as get alert related user information, user information, user related alerts, and user related machines. + +## Related topic +- [Use Windows Defender ATP APIs](exposed-apis-windows-defender-advanced-threat-protection-new.md) From 07d0052b4f3fdd88b51d8f09ea9cf96d2fa7b14a Mon Sep 17 00:00:00 2001 From: David Laufer Date: Thu, 26 Jul 2018 18:10:25 +0300 Subject: [PATCH 08/71] Add token validation --- .../exe/AadTokenGetter.zip | Bin 0 -> 155623 bytes ...defender-advanced-threat-protection-new.md | 62 ++++++++++++++++++ .../images/webapp-validate-token.png | Bin 0 -> 56018 bytes 3 files changed, 62 insertions(+) create mode 100644 windows/security/threat-protection/windows-defender-atp/exe/AadTokenGetter.zip create mode 100644 windows/security/threat-protection/windows-defender-atp/images/webapp-validate-token.png diff --git a/windows/security/threat-protection/windows-defender-atp/exe/AadTokenGetter.zip b/windows/security/threat-protection/windows-defender-atp/exe/AadTokenGetter.zip new file mode 100644 index 0000000000000000000000000000000000000000..3050bec7a3dee0b9c0f1524165c76d2dc909db61 GIT binary patch literal 155623 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

    r- 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

    m*?*31V31G$;17-{dRxcfWD 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 z zrGM)M;AqX7E7A5pr7yr>0vtC6=Rm?*uV~0(F3>yu_7)v&8bc$;N(CAX@=^px3&TEJ zSc2q1wmN!KNgE-{fen9+r%Fpz`RDVm`vxaDFbDQU=u96cC;IMrqMx^XRHZLc@w3;JE)1tU^ww8Am#2+{che2Gt5ANR-Q-6O zWWoE(f(}a-$Fg%cZG-6&uB)TblMLdgWn0sm5Kf5R&KjA*65gM&oM+tzoro;vHV(Cd z;rZ?_i7lbP;*~W|=9Tl>QD4Qq(X+8^FU#CiyYPtQJDg3(f@H+9Vb)T>jKZHC>o>og zVLujH2h6_uBad^{r=sykD>hz~wyZya;A{8}DAT&brp`lNUykj2-BP{*;Jg4NhnfN zbWcM60YS|jQ&8x#(LLS^u3nB?`aX2zxk;KL7=Xlj>~Ay){~q}C$8z%nCrVrK#`Wt@ zYHMEyw3~}dVG?AI=7ohD#A2V~q>2L&5~Db->l~mLDLGk3PA<7kYxcgJnhIib5TIS! z#A1;(a9&+{>Lg|%5lg*mIhWd&-lf{1o)eySQRZ1@)#r}9j75f}@6{s}bC2#O{)}`D`;edOL3b47>fPnMHF8o4ScqJbedC+Ow^dc&# z#{&i*_n&<&*F5;IDCol{uqvDOv&oxQQEyv| z*SGRRqOR|{+UtWuM*X^CB zS)e!ThMQh>!^NT`Y3GzenD=*QBKhHE>Yv(-oxQXX_3&frJ-h7F7soE)DS(YEi4sSn zz(;J?`)AMu7jvC^6@AU(;7KBqjj2}xtB(#P~FU9H0Kd{rahsi@|<2JZvrvK$m#T^ZIgn9v^&|?onXn#CwXa8JMhV&!23>Jgc#1h&~P(Pl~qi!Er~BZ0F>J zU)yDF5A_TohN36Uj4ps9HcTxIi5x#8rz-GP7DcP%t<~6L)$U&Ml)~wz1KdYTE_sn4 zC`EZaM=;DJN;g=}X1ggf$;>qy;wwM5%cuy-X{QOAcWHn1@uIaiwi}!i!i?1=H~nPe z@7F?0UJ_77hqC`N)+*dHikTa|l{#9E{U|^3upwJPUuN_0IW5+@_Nm5=<1+?EMnv~b z_TOPvr^>h|%YZky-5eKWhS)h`9YZK60_eZ2*aT>qRyrlemkSKQN z{x%}+2AY|vys+Cx205ei!jBdGDi>Xc+gB+{m7ggTficgtEN>7092kS+pvPB;$Bwj7tE3Lo=+ZyoskS0$j2%B%Gu*^%PqT%x zX5Zsuh#)8cT}~q^LySiStrm%c$bG$=&>~KkfpTRe&h5<77`_hQRy+L@PfVSo`R5^y z_No`i`1E3_{jk98EmoYO!_f$EjNeL&WX?u%Gv*wZNJF8r2>`BGqfnxUX5C=E-q#*a z|C2zEV(S$RqH2QFDO*nQSC8U~E!oIm`A6ePXJLdkN9OqLNbLXu`FnLlH`bvqmn^H$ z10C~?$ZB2*%5=zHEMu)IM!uv=fzD3(X;NI?@T?Ko$zI1GRhZ-(gZr$kLeeSqu=ymqi>3{&Yu4p2mKcEbHtj}JmUzL{d~5;ecf?k$b?8Kz%6w}ged*^V z9?7F2S^#d~X##s5cJ+NvH}G*k-@%HV>D_fF#Zcu}|5-}@`i%oSyXOC(t^Z$Please see PowerShell documentation for full understanding + +- Run +``` +Import-Module \AdvancedHunting.psd1​ +``` +where is the folder in which you extracted the zip. e.g., Import-Module 'D:\Dev\AAD Auth\AdvancedHunting.psd1' + +## Get token +- Run +``` +$aadToken = Get-WdatpAppToken -Tid -AppId -AppSecret +``` +where +- : ID of the tenant on behalf of which you want to run the query (i.e., the query will be run on the data of this tenant) +- : ID of your AAD app (the app must have 'Run advanced queries' permission to WDATP) +- : Secret of your AAD app + +## Run query + +Run the below + +``` +$response = Invoke-Query -AadToken $aadToken -Query "RegistryEvents | limit 10"​ +$response.results +$response.schema +$response.results | ConvertTo-Csv -NoTypeInformation | Set-Content file1.csv +$response.results | ConvertTo-Json | Set-Content "file1.json" +``` + +- Line 2 and 3 will show you the results or the schema in the PowerShell window +- Line 4 outputs the results of the query in CSV format in file file1.csv +- Line 5 outputs the results of the query in JSON format in file file1.json​ + +If you want to run complex queries (or multilines queries), save your query in a file and run the below commands: +>Replace C:\myQuery.txt with the path to your file. + +``` +​​​​$myQuery = [IO.File]::ReadAllText("C:\myQuery.txt"); +$queryResults = Invoke-Query -AadToken $aadToken -Query $myQuery​​​ +``` + + +## Related topic +- [Advanced Hunting API](run-advanced-query-windows-defender-advanced-threat-protection.md) +- [Schedule Advanced Hunting](run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md) +- [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md) diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md index 9171ffb5a6..a86e132470 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md @@ -22,8 +22,14 @@ ms.date: 12/08/2017 - Windows Defender Advanced Threat Protection (Windows Defender ATP) +This API allows you to run programatically queries that you are used to run from [Windows Defender ATP Portal](https://securitycenter.windows.com/hunting) -Run advanced query. + +## Limitations +This API is a beta version only and is currently restricted +1. ​You can only run a query on data from the last 30 days +2. The results will include a maximum of 10,000 rows +3. The nu​mber of executions is limited​ (up to 15 minutes every hour and 4 hours a day) ## Permissions One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) @@ -61,6 +67,12 @@ Request Here is an example of the request. +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + ``` POST https://api.securitycenter.windows.com/advancedqueries/query Content-type: application/json @@ -110,3 +122,17 @@ Content-Type: application/json​ ``` + +## T​roubl​eshooting: + + - (403) Forbidden. + + If you get this error when calling WDATP API, your token probably does not include the necessary permission. + Please refer to section "Verify you can access WDATP app using your app" in Create an AAD app. + If the 'roles' section in the token does not include the necessary permission, either you did not add the necessary permission to your app (refer to step 6 in Create an AAD app) or you did not authorized your app in the tenant (refer to "Application consent" in Create an AAD app​) + + +## Related topic +- [Advanced Hunting using PowerShell](run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md) +- [Schedule Advanced Hunting](run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md) +- [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md) From 97fde0fc12dbe83574cadbe9a518ff7f5fa5ff94 Mon Sep 17 00:00:00 2001 From: David Laufer Date: Sun, 29 Jul 2018 16:26:04 +0300 Subject: [PATCH 13/71] PowerShell page --- ...ced-threat-protection-sample-powershell.md | 79 +++++++++++++------ 1 file changed, 53 insertions(+), 26 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md index fd0ad63a0f..4a68c2a45c 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md @@ -17,58 +17,85 @@ ms.date: 12/08/2017 Run advanced queries using PowerShell. Please read about [Advanced Hunting API](run-advanced-query-windows-defender-advanced-threat-protection.md) before. +In this section we share PowerShell samples to retrieve a token and use it to run a query. + ## Preparation Instructions -In this section you will find a PowerShell module that retrieves a token and uses it to run a query. You can download the module and use it to run your own query. - -- ​​Download and unzip 'AdvancedHunting' PowerShell module. - Open a PowerShell window. - If your policy does not allow you to run the PowerShell commands, you can run the below command: ``` Set-ExecutionPolicy -ExecutionPolicy Bypass ``` ->Please see PowerShell documentation for full understanding - -- Run -``` -Import-Module \AdvancedHunting.psd1​ -``` -where is the folder in which you extracted the zip. e.g., Import-Module 'D:\Dev\AAD Auth\AdvancedHunting.psd1' +>For more details, refer to [PowerShell documentation](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-executionpolicy) ## Get token + - Run ``` -$aadToken = Get-WdatpAppToken -Tid -AppId -AppSecret +$tenantId = '00000000-0000-0000-0000-000000000000' # Paste your own tenant ID here +$appId = '00000000-0000-0000-0000-000000000000' # Paste your own app ID here +$appSecret = '00000000-0000-0000-0000-000000000000' # Paste your own app secret here + +$resourceAppIdUri = 'https://securitycenter.onmicrosoft.com/windowsatpservice' +$oAuthUri = "https://login.windows.net/$TenantId/oauth2/token" +$body = [Ordered] @{ + resource = "$resourceAppIdUri" + client_id = "$appId" + client_secret = "$appSecret" + grant_type = 'client_credentials' +} +$response = Invoke-RestMethod -Method Post -Uri $oAuthUri -Body $body -ErrorAction Stop +$aadToken = $response.access_token + ``` where -- : ID of the tenant on behalf of which you want to run the query (i.e., the query will be run on the data of this tenant) -- : ID of your AAD app (the app must have 'Run advanced queries' permission to WDATP) -- : Secret of your AAD app +- $tenantId: ID of the tenant on behalf of which you want to run the query (i.e., the query will be run on the data of this tenant) +- $appId: ID of your AAD app (the app must have 'Run advanced queries' permission to WDATP) +- $appSecret: Secret of your AAD app ## Run query Run the below ``` -$response = Invoke-Query -AadToken $aadToken -Query "RegistryEvents | limit 10"​ -$response.results -$response.schema -$response.results | ConvertTo-Csv -NoTypeInformation | Set-Content file1.csv -$response.results | ConvertTo-Json | Set-Content "file1.json" +$query = 'RegistryEvents | limit 10' # Paste your own query here + +$queryServiceUri = "https://api.securitycenter.windows.com/advancedqueries/query" +$headers = @{ + 'Content-Type' = 'application/json' + Accept = 'application/json' + Authorization = "Bearer $aadToken" +} +$body = ConvertTo-Json -InputObject $query +$webResponse = Invoke-WebRequest -Method Post -Uri $queryServiceUri -Headers $headers -Body $body -ErrorAction Stop +$response = $webResponse | ConvertFrom-Json +$results = $response.Results +$schema = $response.Schema ``` -- Line 2 and 3 will show you the results or the schema in the PowerShell window -- Line 4 outputs the results of the query in CSV format in file file1.csv -- Line 5 outputs the results of the query in JSON format in file file1.json​ +- $results contains the results of your query +- $schema contains the schema of the results of your query -If you want to run complex queries (or multilines queries), save your query in a file and run the below commands: ->Replace C:\myQuery.txt with the path to your file. +### Complex queries + +If you want to run complex queries (or multilines queries), save your query in a file and, instead of the first line in the above sample, run the below command: ``` -​​​​$myQuery = [IO.File]::ReadAllText("C:\myQuery.txt"); -$queryResults = Invoke-Query -AadToken $aadToken -Query $myQuery​​​ +​​​​$query = [IO.File]::ReadAllText("C:\myQuery.txt"); # Replace with the path to your file ``` +## Work with query results + +To work with the results you can, for instance, do the below + +``` +$results | ConvertTo-Csv -NoTypeInformation | Set-Content file1.csv +$results | ConvertTo-Json | Set-Content "file1.json" +``` + +- Line 1 outputs the results of the query in CSV format in file file1.csv +- Line 2 outputs the results of the query in JSON format in file file1.json​ + ## Related topic - [Advanced Hunting API](run-advanced-query-windows-defender-advanced-threat-protection.md) From b4bf8944b6f30d28fa7b02530c9ffcb6dd0fb8e3 Mon Sep 17 00:00:00 2001 From: David Laufer Date: Sun, 29 Jul 2018 17:39:59 +0300 Subject: [PATCH 14/71] Fixes --- .../threat-protection/windows-defender-atp/TOC.md | 2 +- ...fender-advanced-threat-protection-sample-ms-flow.md | 10 +++++----- ...der-advanced-threat-protection-sample-powershell.md | 5 ++++- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/TOC.md b/windows/security/threat-protection/windows-defender-atp/TOC.md index 2cbcc1047c..5231c2461b 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -100,7 +100,7 @@ ### [**Beta!** Use Windows Defender ATP APIs](exposed-apis-windows-defender-advanced-threat-protection-new.md) #### [Supported Windows Defender ATP APIs](supported-apis-windows-defender-advanced-threat-protection-new.md) ##### [Advanced Hunting](run-advanced-query-windows-defender-advanced-threat-protection.md) -#### [Examples how to use APIs] +#### How to use APIs - Samples ##### [Schedule advanced Hunting using Microsoft Flow](run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md) ##### [Advanced Hunting using PowerShell](run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md) diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md index 7ca777cbc5..6c598db614 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md @@ -59,24 +59,24 @@ You will find below a very basic flow example: ## Expand the flow to use the query results -The below section shows how to use the parsed results to insert them in SQL database. + The below section shows how to use the parsed results to insert them in SQL database. -This is an example only, you could perform on your results any other action supported by Microsoft Flow. + This is an example only, you could perform on your results any other action supported by Microsoft Flow. - Add an 'Apply to each' action - Select the Results json (which was an output of the last parse action) - Add an 'Insert row' action – you will need to supply the connection details - Select the table you want to update and define the mapping between the WD-ATP output to the SQL. Note it is possible to manipulate the data inside the flow. In the example I changed the type of the EventTime. - ![Image of select from DB](images/ms-flow-insert-db.png) + ![Image of insert into DB](images/ms-flow-insert-db.png) -The output in the SQL DB is getting updates and can be used for correlation with other data sources. You can now read from your table: + The output in the SQL DB is getting updates and can be used for correlation with other data sources. You can now read from your table: ![Image of select from DB](images/ms-flow-read-db.png) You can find below the full definition - ![Image of select from DB](images/ms-flow-e2e.png) + ![Image of E2E flow](images/ms-flow-e2e.png) ## Related topic - [Advanced Hunting API](run-advanced-query-windows-defender-advanced-threat-protection.md) diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md index 4a68c2a45c..fd190ebf51 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md @@ -26,11 +26,13 @@ In this section we share PowerShell samples to retrieve a token and use it to ru ``` Set-ExecutionPolicy -ExecutionPolicy Bypass ``` + >For more details, refer to [PowerShell documentation](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-executionpolicy) ## Get token -- Run +- Run the below + ``` $tenantId = '00000000-0000-0000-0000-000000000000' # Paste your own tenant ID here $appId = '00000000-0000-0000-0000-000000000000' # Paste your own app ID here @@ -48,6 +50,7 @@ $response = Invoke-RestMethod -Method Post -Uri $oAuthUri -Body $body -ErrorActi $aadToken = $response.access_token ``` + where - $tenantId: ID of the tenant on behalf of which you want to run the query (i.e., the query will be run on the data of this tenant) - $appId: ID of your AAD app (the app must have 'Run advanced queries' permission to WDATP) From b223ed8332a84e17d02dfab1246ac7e2e8351779 Mon Sep 17 00:00:00 2001 From: David Laufer Date: Sun, 29 Jul 2018 17:53:05 +0300 Subject: [PATCH 15/71] Fixes --- ...ting-windows-defender-advanced-threat-protection.md | 4 ++-- ...uery-windows-defender-advanced-threat-protection.md | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/advanced-hunting-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/advanced-hunting-windows-defender-advanced-threat-protection.md index 538e981c02..843920e3f1 100644 --- a/windows/security/threat-protection/windows-defender-atp/advanced-hunting-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/advanced-hunting-windows-defender-advanced-threat-protection.md @@ -160,7 +160,7 @@ Check out the [Advanced Hunting repository](https://github.com/Microsoft/Windows ## Related topic - [Advanced hunting reference](advanced-hunting-reference-windows-defender-advanced-threat-protection.md) -- [Advanced hunting query language best practices](/advanced-hunting-best-practices-windows-defender-advanced-threat-protection.md) - +- [Advanced hunting query language best practices](advanced-hunting-best-practices-windows-defender-advanced-threat-protection.md) +- [Programmatic Advanced Hunting](run-advanced-query-windows-defender-advanced-threat-protection) diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md index a9d0973791..bccb2812b3 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md @@ -124,14 +124,14 @@ Content-Type: application/json​ ## T​roubl​eshooting: - - (403) Forbidden. - - If you get this error when calling WDATP API, your token probably does not include the necessary permission. - Please refer to section "Verify you can access WDATP app using your app" in Create an AAD app. - If the 'roles' section in the token does not include the necessary permission, either you did not add the necessary permission to your app (refer to step 6 in Create an AAD app) or you did not authorized your app in the tenant (refer to "Application consent" in Create an AAD app​) +- (403) Forbidden. +If you get this error when calling WDATP API, your token probably does not include the necessary permission. +Please refer to section "Verify you can access WDATP app using your app" in Create an AAD app. +If the 'roles' section in the token does not include the necessary permission, either you did not add the necessary permission to your app (refer to step 6 in Create an AAD app) or you did not authorized your app in the tenant (refer to "Application consent" in Create an AAD app​) ## Related topic +- [Advanced Hunting from Portal](advanced-hunting-windows-defender-advanced-threat-protection.md) - [Advanced Hunting using PowerShell](run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md) - [Schedule Advanced Hunting](run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md) - [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md) From d59e0420a897f537aaf6ff0bb122985c5523b537 Mon Sep 17 00:00:00 2001 From: David Laufer Date: Sun, 29 Jul 2018 17:58:27 +0300 Subject: [PATCH 16/71] Fixes --- ...vanced-threat-protection-sample-ms-flow.md | 26 +++++++++---------- ...ced-threat-protection-sample-powershell.md | 12 ++++++--- 2 files changed, 21 insertions(+), 17 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md index 6c598db614..cdb421726e 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md @@ -23,9 +23,7 @@ Schedule advanced query. ## Use case -You need to schedule an advanced query and use the result for follow up actions and processing. - -You can use [Microsoft Flow](https://flow.microsoft.com/) (or Logic Apps) for it! +If you need to schedule an advanced query and use the results for follow up actions and processing, you can use [Microsoft Flow](https://flow.microsoft.com/) (or Logic Apps) for it! ## Define a flow to run query and parse results @@ -59,24 +57,26 @@ You will find below a very basic flow example: ## Expand the flow to use the query results - The below section shows how to use the parsed results to insert them in SQL database. +The below section shows how to use the parsed results to insert them in SQL database. - This is an example only, you could perform on your results any other action supported by Microsoft Flow. +This is an example only, you could perform on your results any other action supported by Microsoft Flow. - - Add an 'Apply to each' action - - Select the Results json (which was an output of the last parse action) - - Add an 'Insert row' action – you will need to supply the connection details - - Select the table you want to update and define the mapping between the WD-ATP output to the SQL. Note it is possible to manipulate the data inside the flow. In the example I changed the type of the EventTime. +- Add an 'Apply to each' action +- Select the Results json (which was an output of the last parse action) +- Add an 'Insert row' action – you will need to supply the connection details +- Select the table you want to update and define the mapping between the WD-ATP output to the SQL. Note it is possible to manipulate the data inside the flow. In the example I changed the type of the EventTime. - ![Image of insert into DB](images/ms-flow-insert-db.png) +![Image of insert into DB](images/ms-flow-insert-db.png) - The output in the SQL DB is getting updates and can be used for correlation with other data sources. You can now read from your table: +The output in the SQL DB is getting updates and can be used for correlation with other data sources. You can now read from your table: - ![Image of select from DB](images/ms-flow-read-db.png) +![Image of select from DB](images/ms-flow-read-db.png) + +## Full flow definition You can find below the full definition - ![Image of E2E flow](images/ms-flow-e2e.png) +![Image of E2E flow](images/ms-flow-e2e.png) ## Related topic - [Advanced Hunting API](run-advanced-query-windows-defender-advanced-threat-protection.md) diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md index fd190ebf51..23236d1f8b 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md @@ -89,15 +89,19 @@ If you want to run complex queries (or multilines queries), save your query in a ## Work with query results -To work with the results you can, for instance, do the below +You can now use the query results. + +To output the results of the query in CSV format in file file1.csv do the below: ``` $results | ConvertTo-Csv -NoTypeInformation | Set-Content file1.csv -$results | ConvertTo-Json | Set-Content "file1.json" ``` -- Line 1 outputs the results of the query in CSV format in file file1.csv -- Line 2 outputs the results of the query in JSON format in file file1.json​ +To output the results of the query in JSON format in file file1.json​ do the below: + +``` +$results | ConvertTo-Json | Set-Content "file1.json" +``` ## Related topic From 3b16260777bbb44d83119b904ba7fc26380c3f7a Mon Sep 17 00:00:00 2001 From: David Laufer Date: Sun, 29 Jul 2018 18:03:59 +0300 Subject: [PATCH 17/71] Fixes --- ...defender-advanced-threat-protection-sample-powershell.md | 4 ++-- ...ced-query-windows-defender-advanced-threat-protection.md | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md index 23236d1f8b..3513749725 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md @@ -35,8 +35,8 @@ Set-ExecutionPolicy -ExecutionPolicy Bypass ``` $tenantId = '00000000-0000-0000-0000-000000000000' # Paste your own tenant ID here -$appId = '00000000-0000-0000-0000-000000000000' # Paste your own app ID here -$appSecret = '00000000-0000-0000-0000-000000000000' # Paste your own app secret here +$appId = '11111111-1111-1111-1111-111111111111' # Paste your own app ID here +$appSecret = '22222222-2222-2222-2222-222222222222' # Paste your own app secret here $resourceAppIdUri = 'https://securitycenter.onmicrosoft.com/windowsatpservice' $oAuthUri = "https://login.windows.net/$TenantId/oauth2/token" diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md index bccb2812b3..1bece5bc78 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md @@ -125,9 +125,9 @@ Content-Type: application/json​ ## T​roubl​eshooting: - (403) Forbidden. -If you get this error when calling WDATP API, your token probably does not include the necessary permission. -Please refer to section "Verify you can access WDATP app using your app" in Create an AAD app. -If the 'roles' section in the token does not include the necessary permission, either you did not add the necessary permission to your app (refer to step 6 in Create an AAD app) or you did not authorized your app in the tenant (refer to "Application consent" in Create an AAD app​) + If you get this error when calling WDATP API, your token probably does not include the necessary permission. + Please refer to section "Verify you can access WDATP app using your app" in Create an AAD app. + If the 'roles' section in the token does not include the necessary permission, either you did not add the necessary permission to your app (refer to step 6 in Create an AAD app) or you did not authorized your app in the tenant (refer to "Application consent" in Create an AAD app​) ## Related topic From 7d4a5e830de0cf43864797a94cd8220ab01e3b72 Mon Sep 17 00:00:00 2001 From: David Laufer Date: Sun, 29 Jul 2018 18:06:28 +0300 Subject: [PATCH 18/71] Fix link --- ...anced-hunting-windows-defender-advanced-threat-protection.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/windows-defender-atp/advanced-hunting-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/advanced-hunting-windows-defender-advanced-threat-protection.md index 843920e3f1..75e77a7dcf 100644 --- a/windows/security/threat-protection/windows-defender-atp/advanced-hunting-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/advanced-hunting-windows-defender-advanced-threat-protection.md @@ -161,6 +161,6 @@ Check out the [Advanced Hunting repository](https://github.com/Microsoft/Windows ## Related topic - [Advanced hunting reference](advanced-hunting-reference-windows-defender-advanced-threat-protection.md) - [Advanced hunting query language best practices](advanced-hunting-best-practices-windows-defender-advanced-threat-protection.md) -- [Programmatic Advanced Hunting](run-advanced-query-windows-defender-advanced-threat-protection) +- [Programmatic Advanced Hunting](run-advanced-query-windows-defender-advanced-threat-protection.md) From 8a6d1a83b5af2d5fc883490ebc34ab455823e235 Mon Sep 17 00:00:00 2001 From: David Laufer Date: Mon, 30 Jul 2018 07:48:42 +0300 Subject: [PATCH 19/71] Small fixes --- ...defender-advanced-threat-protection-new.md | 2 +- .../images/ms-flow-insert-db.png | Bin 44839 -> 14944 bytes ...vanced-threat-protection-sample-ms-flow.md | 2 +- ...ced-threat-protection-sample-powershell.md | 2 +- ...ows-defender-advanced-threat-protection.md | 3 ++- ...defender-advanced-threat-protection-new.md | 2 +- 6 files changed, 6 insertions(+), 5 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md index 46c1081bfb..9b66a71dfd 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md @@ -10,7 +10,7 @@ ms.pagetype: security ms.author: macapara author: mjcaparas ms.localizationpriority: medium -ms.date: 10/23/2017 +ms.date: 30/07/2018 --- # Use Windows Defender ATP APIs diff --git a/windows/security/threat-protection/windows-defender-atp/images/ms-flow-insert-db.png b/windows/security/threat-protection/windows-defender-atp/images/ms-flow-insert-db.png index 6017a74d89b3decbacb49d04eab9ca54502464d0..1f15b392208c5b34509433089d72e8107f0df6b2 100644 GIT binary patch literal 14944 zcmc(GWmH^SqUOPa1_A_^;7;)1ZovWsceldb2_!&p39dmCoWkARA;AiFcL_d~+dX|> z_wAl}^W&}gQL9!Jr#8Floc-<3&gXZE( JC;$MU%gRWo007J^^fCMl7W&T3J&QQ> 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 F{}*_-9K8Sl literal 44839 zcma%jby!qg_cn@1DIg$-q;z+8cZUebAWBM!MkfCwld-6awuf*>#h3MkUuFo?vE zGr-XKox$gQpXdG6_5H!M&z#tMt$W=o&ffbFW2mojljtrH4i3&uElpKp9Gt6$I5@Z% zf~z<#;NL~TLpexb5zn(!ojIdAU?Il1AY@e)3ory!69kG{$1(t zcyEV;Qw7sfRWkJlZJwPa(T)2cZ!YKlih1TLyFPmd;^*7ikD{O`C%f$g;SrtpaeXk) zDEp*GzItJQh$l4PIZxx4q%*!w+Wdoioy;#q*fYBB*&A^hlXHggYnvv`isGpxf8fj{ zBaF_wmPl@@Josj`XyO+!XBvz4@=J+>EQmfLuq?HzqM{=3B>0(O5N5eIGyMSJ5zJHb z=~Gtjc!oL(AuzW#?Y|wj^U@t<$BqK6^XIjvS*>aoYz_2g z>$2c;By@ACu=QE6e&0T5!LESwEMj z`Pd(2P2!EEoSo^^orastHP-Ys9WbJU5;hRa$2a2_=yr4R zb{ixFWOyVD!=6j(9ZhF(ty?|+)1irV%`R}nzK&Y*<`!gWY)G1Xa&X_=yw^tBg|UCf z551c(H%N)_5{EoPfp2$ifD*{v`%h_nrTJ1py*;-5Zay<4*>uM2NX+TGg?-LB%3p!w zo1ZOBbM$Lonucd-84HQbjc^GpU_q*Zco@8EfYesy(s)ZRptfym(1Yvk3nd#lBx+uS zuZQ8bjwLR(@hXLh*B1x!6`BnMsum_}rHCrmx8~bELB_59=;3Ps4By}q#5xE$Jv=OA zO_z|F6eDQWB>aSlr{sLSqRvvuRa%zP`pI`RfO9MGvb5Rt!6t!V1M!XBhtFk`$QTPB zE<|`68&qj}m3ipV1XE}X5Igq90+t?tn7l<4*3<7Ur=PGH()*;kAXIcRApN^3KR+R* zt8}!qOu|aPIB5fB3P)tV+Rf2#Pct(bin?07N*SZdgO*h*HUV_)VQA7ozZVk=?QE*Q zfxY*eRLY|RC((x8T!YR@))mpLArkwhWmgXAtJKkdhK+IYa0-awu-aG&e3TdAP4B~e z@L@Wizu3ZiF`s#CXo>T&F7t{b=DcsWWlSodq&!oGW*1@FgEC^ld>051QI{I&qZ|<# zS+kon=H<8)k4FeFXF32}Px%{|TPZ8n;tg=~D_DvJA3VkNg?90J9E^>PiGEi7fktdb z1<{&AlO?d1Jr7W@$%}QjS$L&b$C#!Em{7*T75jV{+#ESuescoOT?3ot>E8Sxaj}{$ z4hlN!-HCEPkYq<8i049tsv$_!g9QC|9NtYGLcs?s4;PkZ$2U;)vbASx>-|$}T~v*; z3r>h%$s*s0@~7qEE1D#hdV9&=ta}6JAACi*%~GHcN7@@X;|J!`r?dC91%nL85kJoo z#L#fzylFX-4bbY~CW8ixUq6H34+fDgiZEdCj7Ern?B*QCXcnFlcMl$L@-V=9?pMO2 z;{Afhn8k#uvn$uqB5n3!$CI85GbHof)m6;kKU zewSMCif_UbA-Fj&0Qt|LXZ%+HDK|btC{DjJH~G!EJ-s2yR6mxL@)BI{1J+{Si{EacRP#LM$l|c9tBzXCkRG9sFHp{s$BK zjwheAgj*mdCN10B9)<;ezY8G0$y24gCZ(!%bfh%A-(H(LpEn5L;6G{0w%y2Vf?x>( z_C;GWo@ZbnHe)fJhUpfs?6G6q$+{e>cN#7oI$JKh;0Il9xuOp7*>pUIBiEWBl%@EM zkny1B{<}06U*BE)es>fn4dzqA`pnyKlbglZDC;nV^1(knTADE6Lq7gGPSyKeEn}tb z;Bdp43UIpNUkIy1uMdY(sgo$n;}LwsdP|TJ#{fic7CyE=fmwR6{EPmAPmd}bh!=vA zIFxAk6E&G^1{bNp>thLTaf^)ItU$(2eQDKb3dMP)8#^;gCCf3Uw zG>6pR4{46~C4Q&_G4aNAM`z8`W}18;r^#I}b!6bG<>0Fyf4=CrOb`@t!MpNN40r6c z$=Q|M>Vf7>)Ee$r#-LrJfKecGBtf89{Qe5|;j`1k(ul$QM3S84G>NR=t;B!AJWXD` z{$cE!jJYWwBF-y^$+aKcNA+4&l*1rF3%=WOjbb?aVA{Hg%1fo6pp`44-lp1 z8Nx-4fmqhVpA5}MU3kEtc?a595)7eo8r+btgOirW`r)iG1(zB^+p&B*MU7tH0HruD zqB?Q4OB70qZeYQ8Zt`0rZiHAV`5Zs;EM-fIi~@QAJek;FyzzjQTjl*6@(i3PbT&4Rm~ftY<~ZDan)QdUsNZ2zRh!?N?E|({f&hUqeo>Lr z8Y;ECa+{y1xQpT#9O-gN-@+WL3h1`E06YjKedd{kp*`gatXhAZ- zV!+G+3?Tk(PIVPS+Pr(_-XzyaThK&3isNOeslL`GCll{R-yd_1re>f)aIHbG=+9fkH{8Z< z6s^Ek5*pQ5wlkkb)2L*M;g-pupV%yok69nLy{g0LGdw4)*b-?Xk?iw{3c#-mL>i)3 zMC9@8yZUb#TM|hK>dS7i1kfAGUc6d#s&RP4u(Wv^F~>cjHA$&DHQ>;TLy{R8DeiLJ z*gFU8LPGTtI9%R@Db;W8oy^nYh5Ih9r?V-Fml%Xhxt-&TSy^vFU~x;6`hZ{~+TcM0 zm+l1Mi2-nf7aAW?UM4wJLGuE68{5kOI5NLCBNQwR^?97Cu(W+PzrTcd7DXQ4xq1Wo zIsTz{!sZPyN(}ka{-mw*RH+}pNa$Qh_ zl{91LWQ=iO2Y3O%TchrK8@t=6!a;Tm>5ksfTN%61{`-hshWRUvdx;r&NT|DfqO%0v>Zinh{0WdC|I58F+JU>v< zphK_XSYPJ3Xp&rYmsgn0BZFUkM>bR%R#M10 zGKAk*8F>D-q^qyxY37o2wc+EI5A=>hk1}qp%EsC;C^ z5#|v2?3f{Y)ugM?T>9>ToX0QHq1=Q1_BHNGd#3)k3ue2{)~Cypi@SSA&uN@Yk)t=g zLA_WBEu^6fbu%O(5;aKacC+6U`f=K1bLEenKMAL?!LZ7ZY z6tjQzpm(3NEV`^zgITD&4^+lCNC$bUR;*xkfF1_i?ee zW~ixgw(F1nx$YN$qvgR`0Y6sMk~W~M!)N8yqxreGf0{QINOgzhKH-TCL77#sXaduo zUys#8<`2v7_db#0ri@TSxvT4t|pi z#&VIFd{O$Y4Ha))i{LR5_|83jhJq&yjkpB=h8gQafYq7QkfEPK`^p7<)?vN9dI8o} zR!N-!Nd=e~3_63HJMp~e%Y2eu|9Ls9rPX|l z%Z&mde{ia<6T%W)sc~fdCA1p6qp=$h`CA6684uw0Y=W2fPfQ{2KUTH-6KiD+#RtH* zOYUb!MHRC*92ubLXrayL?2qpW)nDXeUM0-Ppd-;OX_`M@kyiO}9Bn9Q4Iiw#3abw*`d0o_*Ok&}66jJ36s!yORk$dGKx={M^!aS?FSf zIx(B$ppwbqhR&5P$h@;2YaJnQ{n-R{F|%S6pKWlx-+TQ_Wpx8y*2b#-yF&5h*`zd=^b8lRC%y53Lg;t^Q* zj?%6f>08HSXP$pRyqlD0ksJqETQ6zAGiAgb9cwWGq-ruAUz$r=-aSJEwq*;C(>uDv z;MW6E>e<(#Pr`AX+4<^X1VJ1ULwr7+xll_itIQjjRZZxdQ zFSK{>ysz?po5Ribu$>Iu;kl2d8Ek%tN23G#u+Sr^3p1!elJ}Nq%V}t6cBy92BR6Z>*E zu8E;#4K}S~*X%PV4G&&v_AenUtKsJTj9J876P5~C(opiB6+Z&y=AM6?BFQBeA|C8J znQB5M<x<)QUv+G-$5ez*?emc% zzezBrfRdx<_Op+If6mK3Qdg`y@6_#p z6V=-afN~j2?L`C~kqzLPtM!I-9jgs|h`t<|d6HIpri3qNUrYPaTZ90CaF&+(@KNwQ zpzQiYqX?8;b*`6X7oY?-qyjx=o8JL0Y0iRy+65(aG^X~t8olxxtp#1RnXfcoUCREZ zBRr}IbS0Ru^B(iEEgLA(`os_L{g5;$S)!;DA9IoVBN;K#awOW=wrdfMzTpSV7!;e# zO$L2Gb>js3e$Z!|)I`CGm0K3b0hhR4qO>C0{#XT2zs8q=^BxfB!hy*CSMzxdc6M^0 z^Vrc*gM6>Vy{qutMYI1FaAS7rm)!Hw>g~16R3P5`(IygTmRDh^ppzUulgpq5D8}T2 zlsl+T$UPp*CRG6QNDDmqa}s_=I-c`o>!_*j{823isOo$NAj-qjyT|S2(-K)CNl4v* zq#ZbixSr)Jw~DzRk!+Y=e7jFoo?AcF0?t|#P78FOb~`-EX=C>R2K!m^%ysUOOhVXk zzeUS@)F?;zKE;rnU2Lx=bgEtjp6)4@#jv#OM#&5;phdb#&%1QVqE0+`0U^HH*8IZ& zlr!LClPo>u1G=tq(LW?GM;}e)O*42O8S%!3wb+gbp(R8_@)MoWkHXccs*gnh3?K0? z?ZHoFpvXGuto1LV-<)lK5^}HZb51^87544Sw;LcZ^Qc(s;JFYedYXdfMoIwJaInSTJu`!-)czhWdoXW;J`j`MT$1!xFMkL3;6 zs9A6Zo8AruFaGRCztUoTz$t&i9F=y|;Iu)9^ESi~LzO5k`6S%(J$Eog7n&*RG#WR6 zbk#5(oWzB8u*RU013q@3eUOUBJ^Q(K!OJ4K4XDO-Ry{!4ysJ@qPiICv+780{sdiM4 zdzjNlz=>p7zw7VD+pNXujVt`Gp2n$$+%C+UwhkHCJ8T1EXNe(II=<*~iYTuz0 z?{o6Zo1Z@be@!R=kpMQ~{JbNJF-12P0R3PK`hTB2yW^AgK~E zv35hR)o+F&>P)tdA1f$tHi!A$hPEF3mB6>vOWMf2ht0`qXB=uS;Q&TJne!J7vE3K1 zz_b|evdZ@qb|QLmueW;;JU%IUvQtD#5k{N-?iFx<*AUn}3eA{w-?tY+l`Xbd+tAcq z3q5)fcl?zq@7kRI*y^soMV(eBN00LH5uJ~9ZPXz`G-oXxuVG@R$pAaVeUNY0DT5hs zxOGYKzmze2*XGb|*2FC1MW6aGPB)q)AX!U9a&CrORY{*pZYc@!jw=cgZ>SvqwKlnd zuUIW(RMn5)ldY)a} zCUsP%=lvUJ_u=2y>u+bZ;`_B?>;}N>nT;Pii0c;JNJ_0Tmi_pXf60qvYs^kBSp7~7 z{cjMJ$q1aHj((%=2u4ZkxN65|QAxM^^mqz~N~S)7hOsyMjS%V6I@JXpX)>9QnqHIA zCN|D(ND%F*?Qu)`<7Yv0=zwLv1^nF*Aqj&T!oic9@_I;@p%L}KY-y)k=km9g42jnu zL>N%p!@74@P1BaAw2qpo1jtuqt7M#lGW23i!n$jvLpwdG2S1gR7GV|}Lz~s^uEH2n z@+*tJM{T4CI~+2H_aG>Ma9}6x%3reXl%R*yvP9%iMy?*RVUw8uKjS~Z%JdrH$oO3M zs4Rz{8iJqXo^V{tzF!mj`L)k>r%ZZIVC7_1eR`pL`vUh101xePu&8sOMl(mB2faPN z&+CS+nT2bP*Tn&M4uJvMWGr;Oz(`8@GtQMgaCdVtJV>1`W)2Dh^p1!Xyov1@UIyJ5-c!PgSG8{2$ilH8fOt)=*PPr4?Hw|A;MUe?q-uE}5kl*i7ez`|`R5A96e zN5O*nMr*P$w3U@&&Eq;d#ci<9eWN_^mwpJ0&C#uv=8C`k;$XHU$U#LM@2xl%2c)gY z-9OVam&FSe)^`TM(ciIEjKij^q4MAFG+1?>j)G4P(5dafygloh-fXhQ+4!3rmi-l2 z=EZKG*7n-E2QwA<)Yz&L@;2k&O?nvyC3#LQfNpkZ(o?>_K{r)L>nWJ1-opUgWAS3= zeZM$qrOxls@#2e|6pQ!;SBB@Hpa>*0>weI72UPx~KKWUEpw08z%3%=~WTzj?25V$R z8Z-BoUZ&7AIp8dAKaV`ng!f%GH5$myLGr~{bv^+D;O~WQ*$m#GZ6~YJ(qDa<3!t>) ze7Ecz3mNoUZ|>d+B5!@~Olb~S=}sL=o^u;s|4O+!%-HpC?|64A1qRQP2iBi10vWR< zNMp?ruV>i}bLCFc({>K`*Yw6^WMBdIKkL_WHdiVel?sA^A@HMme-GB__itoNtU%nP zo%Z2o(yn#p(}AbEuy1+Y8b-&AbUboUgQMgJ)=LczlQDT10=M*(6$OwU7 zcoTZ8?mfzug6t1|3IA0M{A_dC|K*b7Sf5Ok#}9sK-aj``Q30J7p=4!M9gS?Ua%FWv zb_CjLU0($mlRW`+KnPfDCy)Ra~2 zC;%WE$(C49@gA^(yi}W(mh*2je(>NA=DgU^fVomEX*S5ENf)F3Z;}7Sp%k9Ce!q(~ zfX;kO81`&F2gDBmB35K;AlYorzT4czu4hK4vDDfRg3W;BS?q&IXgPeNPdfm%P^R@v z&pv3sSh7xJk&`IH=+jHS`KiRJobeXu!eFhh24Hyo@;Polqukc%mRg6Wyw7Z?6Oz6; z7i2Ki`Qyht3-#*W#r9XW^pSVgB}lmw$oTMLB<@8#d3B#k(GBMZ%73Zo)Lnr2095bY ztFn5bYJYR-KaF7Qhxn|Mn-Vd10Q0S1-^MW9@5SI<4-WAeUFcBWII9i4(`H*Lv0+#+ zN>i8hP60Sr@IB4ZSjh@Y%Q~_2>FUmwJ23#pUV&kGL@EvS2QW5yhFrzi zWkjIB*8qDatAS}ezEz20L7xSm8h(&huza28m${2D9{Ltei;Otl=*v7q2k~skp7*^y zns?W?S*>)vQ9mZB7gO$F{7TF8?jKfoQ7M*Q3-tYJFuQxQ+cFJGK|brdxi^V)kK;;^ zM$5MBjGw>9j2-yA$G~b%vxU}7y%|E=945(!_NEZuOU=arhuV z!`;VSbTSNXQ$=`Br+2jWWd?ju^s-uCHu}AudCWu<{QL_1mKxHc_E;0yS#~vhc(6fv z(Nu|H0P0BmoPR=p`16S4&Wm#=q@J`{9%87kFwh&pS{pzoj!^~Bv0sI;|80xXsi@w7 zJb-KC84pIzrHpjiQx7?R~|0PD4i~*Y2oxBlw z3rh>CB{3Q-A&N208#C?;mET5r^TqDtV^6^`^1JQ{HuM}B>90E)Uf-;&mIn9*7-q0Z zJLt(IQsApGnOlD$#dVCjxBmNn{x9%cP_u&!y1}3V<}=sm&49Nz=QX000O=2UoXyU- z(1S_Tj~IJE4-5-HyVCxmQBOLdk1DKhp@l}KU%fzN=;fcQ;S#*qkedTYIwvndIEx_w zcpAF%3hU;7NNw<{PlXrAJ*fj=CWXIAl!y7pJ%14&2pDljFmx?7rPZ2wnq4Z(AWC) zwgv@)(9;U1grCvKoWpy1#&cUtl0V>TN#Dv>W!I|bNp9b9w<%y{^FJDSINT>g;f{Qa z?J`li{|GKHJx~F*cx1+=1jq~o)&DKD|7XD2Uy(I*xXjG>idPiSJU=@RnBLk`%2+336ML<{1c@4QjTdcDX*7JC!uC9!F%qD5}cFL<3_{|)+VyD)?6 zmK)_Q2DZb51-hUjmZNd{wZZjJK0Uf1bsgz=i1+s;i>Lt6RC4j$q3DwDG5Eo(F&qXL zPLIgLkv8BR?FTQEHJ;}4_HVPEZ&IIT=SC!v52`CM?T`Rtg~jqj|A>qqQ4ZZAi^Hmr z7`t`Y%Z6jG20WtZpXa%v$(L+TfL@bZCSD2Z*WHXel9M2tU(Xc_xn5pgzO2Ec$d1*B zoIW8!Vr6KqZX6w8tvxJQ;Av+!#+YW2tdvBCxYlD3o?%0{37PTVp%4y&%B}1u#qCJ> zeb$q5Fz$v}V~F>e6oK)6RXQx)O4lnPP1Vg~`E1ApOBCKWfB98;;H@QRHx;OR)0s%u zK5gnQ;`ifFOk(xE*8mBS~ju z*2ArQil~SXPv23(MtevvZIwbvAfNyUPZWWFH|i1s#RY7yWDHJpfD!EpTbq8gFcl~W z7b@_#Do8wk?DwTtL6@0P;HN?OuKq)B{f7)0xqQy)bHsy;>_WtKx-{To`|KyF_7hkXkgw;^qn|2FD;|we+-c+V${Z< z`O~$ulUyycIt|&KUlu=q9fBzJ(hbr6DOH#B;ElH$TigV{T7<@u+4CI{rO++@Vb+v; zG_jAbV5RmiC;T6^*lxwe*&xJH_TSw7b6{@l>+36edp=GAF+llVk_-gCx48*SgAXO& z;ZZX*VuF2A2?$?Y>-Zh%hgvP2F}Qg80lSNkpnV7{w4(nX-dMccVhG+DQ#kqEa-ML| zj2x*)$)23)X|odjgYFT2=(3QD?URsU{bpdk%GHv2iZgRvVqm>_55FLNFz+gD|5PV_ zpPEB2ndN!b0fWd<`!_ck;=$xg%abu!%;-Ra5_HiGEkUPoEg@V&sXzzn{-mzWVDOVO z@eJ7&InROUH{=h0O-?T&L0q<7HE+K3)H&_N^h)Fk4h8%gb)yoD{2*$aLvCEkT6?~k zS2Xr@bjU$dNHzP?0;_cB7~;h*Yus`>9!k-vCe zfaRy`fFwX4?ZU{Yjv@&PfK#7t%unV%9%JORjyq$=Ow5_N3M|!AF0|5;1kJhmNb^Op zANn|j5D_cz-B)kk@4P7BYFpBHl4NqpWp7xs#^3?#Vrs;ac_d2?SN^&#tmr>{=XTDFuNE|?;fwG}ow>O=R}={DJC3B4m=0`6a;WPaO|`#80rD>{ zLQ3i<2sHc9m5OcDhM70NS;??4Rumkc@9{~sg{st8H-FH=vvUXM>3JP;KaJflYNHmh zXMsGwm%Kcr%cTr;PY@|%)tiQww2tWR=6+gA=}sp~^>XIqhRx2-wndSyM<@~F1&%!H z=Bpnlcfh-h!Nds>Y<`+2=Pyc4{mWTpxm8|0?3x|aZr%2G%Ba?aiY6X@s5g4TBnyA6 zuTq2j5upLCkZ93}JUq7JitLaf+aPdriQOCe)SAR6q4s*HVymY(1e7J(E%TwZu!u{h zh=@z#d4sS<#g=}qJRf0VE-L{a2YCXlVqerPFn6*yOKz z!JRLcicMKpJ8)C3v}UT?M>;mgxCkM$2oH@7?YDnB_9H;l)m_hAjII)R+%=!{j;>%=uR( z`%gmP`7d9t?x;ZcX#rV^2U~G_RWEY}`(?DoYpvN04B_;9^mF!((IG#TvO6OB)|v41 z8;=v5VvWmyWu&RL%rhNOdS{ND&6wDoahSHEr@qg*S*1ZVw`=#|x$u{@0bUaA*#Dji z@LF->R4)6V3hE)rZvEV2{$xcpzVA0@6lj&V&uv?zy$77l<-m~nz0`MEN61*cxpjPD zspp|dnEuh>iECSY!)~h$Jm0mIa_qQ_6^`idH~Ad}Zpglut(<|;KJVrs9&^cQXiphn z?JbH+y!-y6E4h+0#zzKG*S^Fw^~j>^h$PwN>9E*yEzC_O3!}I}Y?{hpBg@fQNYuzb z3Mdags~Dx(@j{2)e{ZTty_$_n`k7a@&A$HY#+*Bm1Z7$kmo@Vly{B051yt&9E zXnzcY6P3UZ=kp&-e65*}f*(en59wCfh<9&#+VYoCTRXGZ%PeUsiS&MIv~5(^f3}od zC4nWuzoEGFC`y9<0uM1{2kai}E?>TuK)etmg6DL?!Fn&}r zhe6|#Jn$Wv)I}HWWLtc>vlJq5h8?GsvSUCXsI#1EX`n8h$jQ&HaPcu|_O&Uk+3Ok0 ze8?#H^!KAh!7mbDMK$|nO-exZ*8nd9q!mtD=zM0w%M4q6LnSJPt1el@JO;aUFZv%5 z^k4M=klK!SW8?jTR{c&YW`A zqJw_*AwdrlWXDbN@AkahTRf<81&NR9@k6Jh7IiLN+)|q!WvqHV_zyC+;+)#Xp}UD^y{T z4JbAn8lb*8$O<>M=vx#pd#0AG^&Q+SWtY~X(wX4!X)Da&2uy|6K2))P_$IOx `c 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 diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md index cdb421726e..3910dce044 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md @@ -10,7 +10,7 @@ ms.pagetype: security ms.author: macapara author: mjcaparas ms.localizationpriority: medium -ms.date: 12/08/2017 +ms.date: 30/07/2018 --- # Schedule Advanced Hunting using Microsoft Flow diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md index 3513749725..87b7336181 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md @@ -10,7 +10,7 @@ ms.pagetype: security ms.author: macapara author: mjcaparas ms.localizationpriority: medium -ms.date: 12/08/2017 +ms.date: 30/07/2018 --- # Advanced Hunting using PowerShell diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md index 1bece5bc78..e90ef5ac2d 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md @@ -10,7 +10,7 @@ ms.pagetype: security ms.author: macapara author: mjcaparas ms.localizationpriority: medium -ms.date: 12/08/2017 +ms.date: 30/07/2018 --- # Advanced hunting API @@ -125,6 +125,7 @@ Content-Type: application/json​ ## T​roubl​eshooting: - (403) Forbidden. + If you get this error when calling WDATP API, your token probably does not include the necessary permission. Please refer to section "Verify you can access WDATP app using your app" in Create an AAD app. If the 'roles' section in the token does not include the necessary permission, either you did not add the necessary permission to your app (refer to step 6 in Create an AAD app) or you did not authorized your app in the tenant (refer to "Application consent" in Create an AAD app​) diff --git a/windows/security/threat-protection/windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection-new.md index 0fd84c4e64..dfd76a0910 100644 --- a/windows/security/threat-protection/windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection-new.md @@ -10,7 +10,7 @@ ms.pagetype: security ms.author: macapara author: mjcaparas ms.localizationpriority: medium -ms.date: 04/24/2018 +ms.date: 30/07/2018 --- # Supported Windows Defender ATP query APIs From c279b95e42171193aa015db61d3f1b02bf4ba449 Mon Sep 17 00:00:00 2001 From: David Laufer Date: Mon, 30 Jul 2018 07:56:53 +0300 Subject: [PATCH 20/71] Fixes --- ...-windows-defender-advanced-threat-protection-new.md | 10 ++++------ ...fender-advanced-threat-protection-sample-ms-flow.md | 2 ++ ...der-advanced-threat-protection-sample-powershell.md | 2 ++ 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md index 9b66a71dfd..d33cb95b97 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md @@ -24,18 +24,16 @@ ms.date: 30/07/2018 - Windows Defender Advanced Threat Protection (Windows Defender ATP) - >Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-exposedapis-abovefoldlink) Windows Defender ATP exposes much of its data and actions through a set of programmatic APIs. Those APIs will enable you to automate workflows and innovate based on Windows Defender ATP capabilities. The API access requires OAuth2.0 authentication. For more information, see [OAuth 2.0 Authorization Code Flow](https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-protocols-oauth-code). In general, you’ll need to take the following steps to use the APIs: -- Create an app -- Get an access token -- Use Windows Defender ATP API +- Create an app +- Get an access token +- Use the token to access Windows Defender ATP API -### Before you begin -Before using the APIs, you’ll need to create an app that you’ll use to authenticate against the graph. You’ll need to create a web app to use for the adhoc queries. +This page explains how to create an app, get an access token to Windows Defender ATP and validate the token includes the required permission. ## Create an app diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md index 3910dce044..8d10b02b70 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md @@ -21,6 +21,8 @@ ms.date: 30/07/2018 Schedule advanced query. +>**Prerequisite**: You first need to [create an app](exposed-apis-windows-defender-advanced-threat-protection-new.md). + ## Use case If you need to schedule an advanced query and use the results for follow up actions and processing, you can use [Microsoft Flow](https://flow.microsoft.com/) (or Logic Apps) for it! diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md index 87b7336181..7e59c9a9ef 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md @@ -19,6 +19,8 @@ Run advanced queries using PowerShell. Please read about [Advanced Hunting API]( In this section we share PowerShell samples to retrieve a token and use it to run a query. +>**Prerequisite**: You first need to [create an app](exposed-apis-windows-defender-advanced-threat-protection-new.md). + ## Preparation Instructions - Open a PowerShell window. From d7053a02f4b1fb83e52d27ff61f649b204559859 Mon Sep 17 00:00:00 2001 From: David Laufer Date: Mon, 30 Jul 2018 09:26:11 +0300 Subject: [PATCH 21/71] Improve documentation --- ...defender-advanced-threat-protection-new.md | 35 +++++++++---------- ...ows-defender-advanced-threat-protection.md | 6 ++-- 2 files changed, 19 insertions(+), 22 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md index d33cb95b97..cd7aa85cea 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md @@ -97,6 +97,21 @@ This page explains how to create an app, get an access token to Windows Defender ![Image of multi tenant](images/webapp-edit-multitenant.png) +## Application consent + +You need your application to be approved in each tenant where you intend to use it. This is because your application interacts with WDATP application on behalf of your customer. + +You (or your customer if you are writing a 3rd party application) need to click the consent link and approve your application. The consent should be done with a user who has admin privileges in the active directory. + +Consent link is of the form: + +``` +https://login.microsoftonline.com/common/oauth2/authorize?prompt=consent&client_id=00000000-0000-0000-0000-000000000000&response_type=code&sso_reload=true​ +``` + +where 00000000-0000-0000-0000-000000000000​ should be replaced with your Azure application ID + + ## Get an access token For more details on AAD token, refer to [AAD tutorial](https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-protocols-oauth-client-creds) @@ -117,7 +132,7 @@ The token is displayed in the application window ### Using Curl > [!NOTE] -> The below procedure supposed Curl is already installed on your computer +> The below procedure supposed Curl for Windows is already installed on your computer - Open a command window - ​Set CLIENT_ID to your Azure application ID @@ -125,9 +140,6 @@ The token is displayed in the application window - Set TENANT_ID to the Azure tenant ID of the customer that wants to use your application to access WDATP application - Run the below command: -> [!NOTE] -> The below syntax is for curl in Windows. For Linux you should use $CLIENT_ID​ instead of %CLIENT_ID% (same for CLIENT_SECRET and TENANT_ID​) - ``` curl -i -X POST -H "Content-Type:application/x-www-form-urlencoded" -d "grant_type=client_credentials" -d "client_id=%CLIENT_ID%" -d "scope=https://securitycenter.onmicrosoft.com/windowsatpservice​/.default" -d "client_secret=%CLIENT_SECRET%" "https://login.microsoftonline.com/%TENANT_ID​%/oauth2/v2.0/token" -k​ ``` @@ -145,20 +157,5 @@ You will get an answer of the form: ![Image of token validation](images/webapp-validate-token.png) -## Application consent - -You need your application to be approved in each tenant where you intend to use it. This is because your application interacts with WDATP application on behalf of your customer. - -You (or your customer if you are writing a 3rd party application) need to click the consent link and approve your application. The consent should be done with a user who has admin privileges in the active directory. - -Consent link is of the form: - -``` -https://login.microsoftonline.com/common/oauth2/authorize?prompt=consent&client_id=00000000-0000-0000-0000-000000000000&response_type=code&sso_reload=true​ -``` - -where 00000000-0000-0000-0000-000000000000​ should be replaced with your Azure application ID - - ## Related topics - [Supported Windows Defender ATP APIs](supported-apis-windows-defender-advanced-threat-protection-new.md) diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md index e90ef5ac2d..e2d9e6a826 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md @@ -126,9 +126,9 @@ Content-Type: application/json​ - (403) Forbidden. - If you get this error when calling WDATP API, your token probably does not include the necessary permission. - Please refer to section "Verify you can access WDATP app using your app" in Create an AAD app. - If the 'roles' section in the token does not include the necessary permission, either you did not add the necessary permission to your app (refer to step 6 in Create an AAD app) or you did not authorized your app in the tenant (refer to "Application consent" in Create an AAD app​) + If you get this error when calling WDATP API, your token probably does not include the necessary permission, + [Check the permissions](exposed-apis-windows-defender-advanced-threat-protection-new.md#validate-the-token) included in your token. + If the 'roles' section in the token does not include the necessary permission, either you did not add the necessary permission to your app (refer to step 6 in [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app)) or you did not authorized your app in the tenant (refer to [Application consent](exposed-apis-windows-defender-advanced-threat-protection-new.md#application-consent)) ## Related topic From e941c176977d82437d681a2e1753d8b43d765096 Mon Sep 17 00:00:00 2001 From: David Laufer Date: Mon, 30 Jul 2018 10:24:52 +0300 Subject: [PATCH 22/71] Fix copy-paste issue --- ...ows-defender-advanced-threat-protection-sample-powershell.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md index 7e59c9a9ef..fdbaa62d91 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md @@ -86,7 +86,7 @@ $schema = $response.Schema If you want to run complex queries (or multilines queries), save your query in a file and, instead of the first line in the above sample, run the below command: ``` -​​​​$query = [IO.File]::ReadAllText("C:\myQuery.txt"); # Replace with the path to your file +$query = [IO.File]::ReadAllText("C:\myQuery.txt"); # Replace with the path to your file ``` ## Work with query results From e608d10f1d45d631c3ac0c1163e73597b3989fbd Mon Sep 17 00:00:00 2001 From: David Laufer Date: Tue, 31 Jul 2018 13:33:33 +0300 Subject: [PATCH 23/71] Add sample to get token using C# and PowerShell --- ...defender-advanced-threat-protection-new.md | 39 ++++++++++++++----- 1 file changed, 29 insertions(+), 10 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md index cd7aa85cea..b687e0a4bd 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md @@ -116,20 +116,39 @@ where 00000000-0000-0000-0000-000000000000​ should be replaced with your Azure For more details on AAD token, refer to [AAD tutorial](https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-protocols-oauth-client-creds) -### Using dedicated executable +### Using C# -- Download AadTokenGetter.zip application​ -- Unzip the application -- Open 'AadTokenGetter.exe.config' file and fill the 3 required settings: - - tenantId - - appId - - appSecret -- ​Run AadTokenGetter.exe +>The below code was tested with nuget Microsoft.IdentityModel.Clients.ActiveDirectory 3.19.8 -The token is displayed in the application window +- Create a new Console Application +- Install Nuget [Microsoft.IdentityModel.Clients.ActiveDirectory](https://www.nuget.org/packages/Microsoft.IdentityModel.Clients.ActiveDirectory/) +- Add the below using + ``` + using Microsoft.IdentityModel.Clients.ActiveDirectory; + ``` -### Using Curl +- Copy/Paste the below code in your application (do not forget to update the 3 variables: ```tenantId, appId, appSecret```) + + ``` + string tenantId = "00000000-0000-0000-0000-000000000000"; // Paste your own tenant ID here + string appId = "11111111-1111-1111-1111-111111111111"; // Paste your own app ID here + string appSecret = "22222222-2222-2222-2222-222222222222"; // Paste your own app secret here + + const string aadUri = "https://login.windows.net"; + const string wdatpResourceId = "https://securitycenter.onmicrosoft.com/windowsatpservice"; + + AuthenticationContext auth = new AuthenticationContext($"{aadUri}/{tenantId}/"); + ClientCredential clientCredential = new ClientCredential(appId, appSecret); + AuthenticationResult authenticationResult = auth.AcquireTokenAsync(wdatpResourceId, clientCredential).GetAwaiter().GetResult(); + string token = authenticationResult.AccessToken; + ``` + +### Using PowerShell + +Refer to [Get token](run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md#get-token) section in the Advanced Hunting document + +### Using Curl > [!NOTE] > The below procedure supposed Curl for Windows is already installed on your computer From a20f19e13890316f735cfc041864a4c7e2bd91d0 Mon Sep 17 00:00:00 2001 From: David Laufer Date: Tue, 31 Jul 2018 13:36:56 +0300 Subject: [PATCH 24/71] Remove exe --- .../exe/AadTokenGetter.zip | Bin 155623 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 windows/security/threat-protection/windows-defender-atp/exe/AadTokenGetter.zip diff --git a/windows/security/threat-protection/windows-defender-atp/exe/AadTokenGetter.zip b/windows/security/threat-protection/windows-defender-atp/exe/AadTokenGetter.zip deleted file mode 100644 index 3050bec7a3dee0b9c0f1524165c76d2dc909db61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 155623 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 From c989490a91ef9c6de6efeac7e4141afc94e0466b Mon Sep 17 00:00:00 2001 From: David Laufer Date: Thu, 2 Aug 2018 10:49:05 +0300 Subject: [PATCH 25/71] Advanced Hunting API - Add samples for Python --- .../windows-defender-atp/TOC.md | 1 + ...defender-advanced-threat-protection-new.md | 6 +- .../images/webapp-add-permission-2.png | Bin 11291 -> 14912 bytes .../images/webapp-create-key.png | Bin 22282 -> 28850 bytes ...ced-threat-protection-sample-powershell.md | 7 +- ...dvanced-threat-protection-sample-python.md | 139 ++++++++++++++++++ 6 files changed, 149 insertions(+), 4 deletions(-) create mode 100644 windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-python.md diff --git a/windows/security/threat-protection/windows-defender-atp/TOC.md b/windows/security/threat-protection/windows-defender-atp/TOC.md index f011865f79..425c6b1128 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -103,6 +103,7 @@ #### How to use APIs - Samples ##### [Schedule advanced Hunting using Microsoft Flow](run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md) ##### [Advanced Hunting using PowerShell](run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md) +##### [Advanced Hunting using Python](run-advanced-query-windows-defender-advanced-threat-protection-sample-python.md) ### [Use the Windows Defender ATP exposed APIs](exposed-apis-windows-defender-advanced-threat-protection.md) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md index b687e0a4bd..3541fd8546 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md @@ -146,7 +146,11 @@ For more details on AAD token, refer to [AAD tutorial](https://docs.microsoft.co ### Using PowerShell -Refer to [Get token](run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md#get-token) section in the Advanced Hunting document +Refer to [Get token using PowerShell](run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md#get-token) + +### Using Python + +Refer to [Get token using Python](run-advanced-query-windows-defender-advanced-threat-protection-sample-python.md#get-token) ### Using Curl diff --git a/windows/security/threat-protection/windows-defender-atp/images/webapp-add-permission-2.png b/windows/security/threat-protection/windows-defender-atp/images/webapp-add-permission-2.png index 44708818effe2899ab49e1d7b9b474e885fa1658..9c00076cfdddd8010bba326ed4ae2d93888851bf 100644 GIT binary patch literal 14912 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 JU~buk|1a+D^>qLM literal 11291 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 QAU5disq@wZOTXm*1xFDIRR910 diff --git a/windows/security/threat-protection/windows-defender-atp/images/webapp-create-key.png b/windows/security/threat-protection/windows-defender-atp/images/webapp-create-key.png index 2784135cc495e2d3f9d942dad623ed12dc4109e7..31e916edc59f75aed3a99e03b15eee1a5af2e692 100644 GIT binary patch literal 28850 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 An*aa+ diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md index fdbaa62d91..cfca29d851 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md @@ -65,14 +65,14 @@ Run the below ``` $query = 'RegistryEvents | limit 10' # Paste your own query here -$queryServiceUri = "https://api.securitycenter.windows.com/advancedqueries/query" +$url = "https://api.securitycenter.windows.com/advancedqueries/query" $headers = @{ 'Content-Type' = 'application/json' Accept = 'application/json' Authorization = "Bearer $aadToken" } $body = ConvertTo-Json -InputObject $query -$webResponse = Invoke-WebRequest -Method Post -Uri $queryServiceUri -Headers $headers -Body $body -ErrorAction Stop +$webResponse = Invoke-WebRequest -Method Post -Uri $url -Headers $headers -Body $body -ErrorAction Stop $response = $webResponse | ConvertFrom-Json $results = $response.Results $schema = $response.Schema @@ -102,11 +102,12 @@ $results | ConvertTo-Csv -NoTypeInformation | Set-Content file1.csv To output the results of the query in JSON format in file file1.json​ do the below: ``` -$results | ConvertTo-Json | Set-Content "file1.json" +$results | ConvertTo-Json | Set-Content file1.json ``` ## Related topic - [Advanced Hunting API](run-advanced-query-windows-defender-advanced-threat-protection.md) +- [Advanced Hunting using Python](run-advanced-query-windows-defender-advanced-threat-protection-sample-python.md) - [Schedule Advanced Hunting](run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md) - [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md) diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-python.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-python.md new file mode 100644 index 0000000000..b26196cbb3 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-python.md @@ -0,0 +1,139 @@ +--- +title: Advanced Hunting API +description: Use this API to run advanced queries +keywords: apis, supported apis, advanced hunting, query +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 30/07/2018 +--- + +# Advanced Hunting using Python + +Run advanced queries using Python. Please read about [Advanced Hunting API](run-advanced-query-windows-defender-advanced-threat-protection.md) before. + +In this section we share Python samples to retrieve a token and use it to run a query. + +>**Prerequisite**: You first need to [create an app](exposed-apis-windows-defender-advanced-threat-protection-new.md). + +## Get token + +- Run the below + +``` + +import json +import urllib.request +import urllib.parse + +tenantId = '00000000-0000-0000-0000-000000000000' # Paste your own tenant ID here +appId = '11111111-1111-1111-1111-111111111111' # Paste your own app ID here +appSecret = '22222222-2222-2222-2222-222222222222' # Paste your own app secret here + +url = "https://login.windows.net/%s/oauth2/token" % (tenantId) + +resourceAppIdUri = 'https://securitycenter.onmicrosoft.com/windowsatpservice' + +body = { + 'resource' : resourceAppIdUri, + 'client_id' : appId, + 'client_secret' : appSecret, + 'grant_type' : 'client_credentials' +} + +data = urllib.parse.urlencode(body).encode("utf-8") + +req = urllib.request.Request(url, data) +response = urllib.request.urlopen(req) +jsonResponse = json.loads(response.read()) +aadToken = jsonResponse["access_token"] + +``` + +where +- $tenantId: ID of the tenant on behalf of which you want to run the query (i.e., the query will be run on the data of this tenant) +- $appId: ID of your AAD app (the app must have 'Run advanced queries' permission to WDATP) +- $appSecret: Secret of your AAD app + +## Run query + +Run the below + +``` +query = 'RegistryEvents | limit 10' # Paste your own query here + +url = "https://api.securitycenter.windows.com/advancedqueries/query" +headers = { + 'Content-Type' : 'application/json', + 'Accept' : 'application/json', + 'Authorization' : "Bearer " + aadToken +} + +data = json.dumps(query).encode("utf-8") + +req = urllib.request.Request(url, data, headers) +response = urllib.request.urlopen(req) +jsonResponse = json.loads(response.read()) +schema = jsonResponse["Schema"] +results = jsonResponse["Results"] + +``` + +- schema contains the schema of the results of your query +- results contains the results of your query + +### Complex queries + +If you want to run complex queries (or multilines queries), save your query in a file and, instead of the first line in the above sample, run the below command: + +``` +queryFile = open("D:\\Temp\\myQuery.txt", 'r') # Replace with the path to your file +query = queryFile.read() +queryFile.close() +``` + +## Work with query results + +You can now use the query results. + +To iterate over the results do the below: + +``` +for result in results: + print(result) # Prints the whole result + print(result["EventTime"]) # Prints only the property 'EventTime' from the result +``` + + +To output the results of the query in CSV format in file file1.csv do the below: + +``` +import csv + +outputFile = open("D:\\Temp\\file1.csv", 'w') +output = csv.writer(outputFile) +output.writerow(results[0].keys()) +for result in results: + output.writerow(result.values()) +outputFile.close() +``` + +To output the results of the query in JSON format in file file1.json​ do the below: + +``` +outputFile = open("D:\\Temp\\file1.json", 'w') +json.dump(results, outputFile) +outputFile.close() +``` + + +## Related topic +- [Advanced Hunting API](run-advanced-query-windows-defender-advanced-threat-protection.md) +- [Advanced Hunting using PowerShell](run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md) +- [Schedule Advanced Hunting](run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md) +- [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md) From 5be088cf70f71f8f78ce0662dcbf30efe6c0fa6f Mon Sep 17 00:00:00 2001 From: David Laufer Date: Thu, 2 Aug 2018 11:18:56 +0300 Subject: [PATCH 26/71] Fixes --- ...-defender-advanced-threat-protection-sample-python.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-python.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-python.md index b26196cbb3..01ac9c558a 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-python.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-python.md @@ -56,9 +56,9 @@ aadToken = jsonResponse["access_token"] ``` where -- $tenantId: ID of the tenant on behalf of which you want to run the query (i.e., the query will be run on the data of this tenant) -- $appId: ID of your AAD app (the app must have 'Run advanced queries' permission to WDATP) -- $appSecret: Secret of your AAD app +- tenantId: ID of the tenant on behalf of which you want to run the query (i.e., the query will be run on the data of this tenant) +- appId: ID of your AAD app (the app must have 'Run advanced queries' permission to WDATP) +- appSecret: Secret of your AAD app ## Run query @@ -107,6 +107,8 @@ To iterate over the results do the below: for result in results: print(result) # Prints the whole result print(result["EventTime"]) # Prints only the property 'EventTime' from the result + + ``` @@ -120,6 +122,7 @@ output = csv.writer(outputFile) output.writerow(results[0].keys()) for result in results: output.writerow(result.values()) + outputFile.close() ``` From 0827cb505e9965b13ba752f5ade047420540c8fa Mon Sep 17 00:00:00 2001 From: Zvi Avidor Date: Sun, 5 Aug 2018 12:46:37 +0000 Subject: [PATCH 27/71] test1 --- ...osed-apis-windows-defender-advanced-threat-protection-new.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md index 3541fd8546..34f09684f4 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md @@ -13,7 +13,7 @@ ms.localizationpriority: medium ms.date: 30/07/2018 --- -# Use Windows Defender ATP APIs +# Use Windows Defender ATP APIsx **Applies to:** From 89580f1af620334f5d2426862a2fb49f98173d8a Mon Sep 17 00:00:00 2001 From: Zvi Avidor Date: Sun, 5 Aug 2018 12:47:33 +0000 Subject: [PATCH 28/71] undo test --- ...osed-apis-windows-defender-advanced-threat-protection-new.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md index 34f09684f4..7c563c289a 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md @@ -13,7 +13,7 @@ ms.localizationpriority: medium ms.date: 30/07/2018 --- -# Use Windows Defender ATP APIsx +# Use Windows Defender ATP APIs **Applies to:** From 51bd6c0d3e037e06878d591716e58fefa3d71ce1 Mon Sep 17 00:00:00 2001 From: David Laufer Date: Tue, 7 Aug 2018 13:43:43 +0300 Subject: [PATCH 29/71] Add general doc for delegated Vs application permissions --- .../windows-defender-atp/TOC.md | 15 +- ...ows-defender-advanced-threat-protection.md | 2 +- ...d => exposed-apis-create-app-nativeapp.md} | 14 +- .../exposed-apis-create-app-webapp.md | 192 ++++++++++++++++++ .../exposed-apis-intro.md | 58 ++++++ ...protection-new.md => exposed-apis-list.md} | 2 +- ...rotection.md => run-advanced-query-api.md} | 12 +- ...d => run-advanced-query-sample-ms-flow.md} | 8 +- ...> run-advanced-query-sample-powershell.md} | 12 +- ...md => run-advanced-query-sample-python.md} | 12 +- 10 files changed, 294 insertions(+), 33 deletions(-) rename windows/security/threat-protection/windows-defender-atp/{exposed-apis-windows-defender-advanced-threat-protection-new.md => exposed-apis-create-app-nativeapp.md} (90%) create mode 100644 windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md create mode 100644 windows/security/threat-protection/windows-defender-atp/exposed-apis-intro.md rename windows/security/threat-protection/windows-defender-atp/{supported-apis-windows-defender-advanced-threat-protection-new.md => exposed-apis-list.md} (95%) rename windows/security/threat-protection/windows-defender-atp/{run-advanced-query-windows-defender-advanced-threat-protection.md => run-advanced-query-api.md} (80%) rename windows/security/threat-protection/windows-defender-atp/{run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md => run-advanced-query-sample-ms-flow.md} (89%) rename windows/security/threat-protection/windows-defender-atp/{run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md => run-advanced-query-sample-powershell.md} (85%) rename windows/security/threat-protection/windows-defender-atp/{run-advanced-query-windows-defender-advanced-threat-protection-sample-python.md => run-advanced-query-sample-python.md} (86%) diff --git a/windows/security/threat-protection/windows-defender-atp/TOC.md b/windows/security/threat-protection/windows-defender-atp/TOC.md index 425c6b1128..7ae86fbea9 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -97,13 +97,16 @@ #### [Experiment with custom threat intelligence alerts](experiment-custom-ti-windows-defender-advanced-threat-protection.md) #### [Troubleshoot custom threat intelligence issues](troubleshoot-custom-ti-windows-defender-advanced-threat-protection.md) -### [**Beta!** Use Windows Defender ATP APIs](exposed-apis-windows-defender-advanced-threat-protection-new.md) -#### [Supported Windows Defender ATP APIs](supported-apis-windows-defender-advanced-threat-protection-new.md) -##### [Advanced Hunting](run-advanced-query-windows-defender-advanced-threat-protection.md) +### [**Beta!** Windows Defender ATP APIs](exposed-apis-intro.md) +#### Create your app +##### [Get access on behalf of a user](exposed-apis-create-app-nativeapp.md) +##### [Get access without a user](exposed-apis-create-app-webapp.md) +#### [Supported Windows Defender ATP APIs](exposed-apis-list.md) +##### [Advanced Hunting](run-advanced-query-api.md) #### How to use APIs - Samples -##### [Schedule advanced Hunting using Microsoft Flow](run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md) -##### [Advanced Hunting using PowerShell](run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md) -##### [Advanced Hunting using Python](run-advanced-query-windows-defender-advanced-threat-protection-sample-python.md) +##### [Schedule advanced Hunting using Microsoft Flow](run-advanced-query-sample-ms-flow.md) +##### [Advanced Hunting using PowerShell](run-advanced-query-sample-powershell.md) +##### [Advanced Hunting using Python](run-advanced-query-sample-python.md) ### [Use the Windows Defender ATP exposed APIs](exposed-apis-windows-defender-advanced-threat-protection.md) diff --git a/windows/security/threat-protection/windows-defender-atp/advanced-hunting-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/advanced-hunting-windows-defender-advanced-threat-protection.md index 75e77a7dcf..4fbd212e29 100644 --- a/windows/security/threat-protection/windows-defender-atp/advanced-hunting-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/advanced-hunting-windows-defender-advanced-threat-protection.md @@ -161,6 +161,6 @@ Check out the [Advanced Hunting repository](https://github.com/Microsoft/Windows ## Related topic - [Advanced hunting reference](advanced-hunting-reference-windows-defender-advanced-threat-protection.md) - [Advanced hunting query language best practices](advanced-hunting-best-practices-windows-defender-advanced-threat-protection.md) -- [Programmatic Advanced Hunting](run-advanced-query-windows-defender-advanced-threat-protection.md) +- [Programmatic Advanced Hunting](run-advanced-query-api.md) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md similarity index 90% rename from windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md rename to windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md index 3541fd8546..80eff210c0 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md @@ -26,6 +26,12 @@ ms.date: 30/07/2018 >Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-exposedapis-abovefoldlink) +This pages describes how to create an application to get programmatical access to Windows Defender ATP on behalf of a user. + +If you need programmatical access Windows Defender ATP without a user, please refer to [Access Windows Defender ATP without a user](exposed-apis-create-app-webapp.md) + +If you are not sure which access you need, you'd better read the [Introduction page](exposed-apis-intro.md) + Windows Defender ATP exposes much of its data and actions through a set of programmatic APIs. Those APIs will enable you to automate workflows and innovate based on Windows Defender ATP capabilities. The API access requires OAuth2.0 authentication. For more information, see [OAuth 2.0 Authorization Code Flow](https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-protocols-oauth-code). In general, you’ll need to take the following steps to use the APIs: @@ -146,11 +152,11 @@ For more details on AAD token, refer to [AAD tutorial](https://docs.microsoft.co ### Using PowerShell -Refer to [Get token using PowerShell](run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md#get-token) +Refer to [Get token using PowerShell](run-advanced-query-sample-powershell.md#get-token) ### Using Python -Refer to [Get token using Python](run-advanced-query-windows-defender-advanced-threat-protection-sample-python.md#get-token) +Refer to [Get token using Python](run-advanced-query-sample-python.md#get-token) ### Using Curl @@ -181,4 +187,6 @@ You will get an answer of the form: ![Image of token validation](images/webapp-validate-token.png) ## Related topics -- [Supported Windows Defender ATP APIs](supported-apis-windows-defender-advanced-threat-protection-new.md) +- [Windows Defender ATP APIs](exposed-apis-intro.md) +- [Supported Windows Defender ATP APIs](exposed-apis-list.md) +- [Access Windows Defender ATP without a user](exposed-apis-create-app-webapp.md) \ No newline at end of file diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md new file mode 100644 index 0000000000..838ffc6489 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md @@ -0,0 +1,192 @@ +--- +title: Use Windows Defender Advanced Threat Protection APIs +description: Use the exposed data and actions using a set of progammatic APIs that are part of the Microsoft Intelligence Security Graph. +keywords: apis, graph api, supported apis, actor, alerts, machine, user, domain, ip, file, advanced hunting, query +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 30/07/2018 +--- + +# Create an app to access Windows Defender ATP without a user + +**Applies to:** + +- Windows 10 Enterprise +- Windows 10 Education +- Windows 10 Pro +- Windows 10 Pro Education +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + +>Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-exposedapis-abovefoldlink) + +This pages describes how to create an application to get programmatical access to Windows Defender ATP without a user. + +If you need programmatical access Windows Defender ATP on behalf of a user, please refer to [Access Windows Defender ATP on behalf of a user](exposed-apis-create-app-nativeapp.md) + +If you are not sure which access you need, you'd better read the [Introduction page](exposed-apis-intro.md) + +Windows Defender ATP exposes much of its data and actions through a set of programmatic APIs. Those APIs will enable you to automate workflows and innovate based on Windows Defender ATP capabilities. The API access requires OAuth2.0 authentication. For more information, see [OAuth 2.0 Authorization Code Flow](https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-protocols-oauth-code). + +In general, you’ll need to take the following steps to use the APIs: +- Create an app +- Get an access token +- Use the token to access Windows Defender ATP API + +This page explains how to create an app, get an access token to Windows Defender ATP and validate the token includes the required permission. + +## Create an app + +1. Log on to [Azure](https://portal.azure.com). + +2. Navigate to **Azure Active Directory** > **App registrations** > **New application registration**. + + ![Image of Microsoft Azure and navigation to application registration](images/atp-azure-new-app.png) + +3. In the Create window, enter the following information then click **Create**. + + ![Image of Create application window](images/webapp-create.png) + + - **Name:** WdatpEcosystemPartner + - **Application type:** Web app / API + - **Redirect URI:** `https://WdatpEcosystemPartner.com` (The URL where user can sign in and use your app. You can change this URL later.) + + +4. Click **Settings** > **Required permissions** > **Add**. + + ![Image of new app in Azure](images/webapp-add-permission.png) + +5. Click **Select an API** > **WindowsDefenderATP**, then click **Select**. + + **Note**: WindowsDefenderATP does not appear in the original list. You need to start writing its name in the text box to see it appear. + + ![Image of API access and API selection](images/webapp-add-permission-2.png) + +6. Click **Select permissions** > **Run advanced queries** > **Select**. + + **Important note**: You need to select the relevant permission. 'Run advanced queries' is only an example! + + ![Image of select permissions](images/webapp-select-permission.png) + + - In order to send telemetry events to WDATP, check 'Write timeline events' permission + - In order to send TI events to WDATP, check 'Read and write IOCs belonging to the app' permission + - In order to run advanced queries in WDATP, check 'Run advanced queries' permission + +7. Click **Done** + + ![Image of add permissions completion](images/webapp-add-permission-end.png) + +8. Click **Keys** and type a key name and click **Save**. + + **Important**: After you save, **copy the key value**. You won't be able to retrieve after you leave! + + ![Image of create app key](images/webapp-create-key.png) + +9. Write down your application ID. + + ![Image of app ID](images/webapp-get-appid.png) + +9. Set your application to be multi-tenanted + + This is **required** for 3rd party apps (i.e., if you create an application that is intended to run in multiple customers tenant). + + This is **not required** if you create a service that you want to run in your tenant only (i.e., if you create an application for your own usage that will only interact with your own data)​ + + Click **Properties** > **Yes** > **Save**. + + ![Image of multi tenant](images/webapp-edit-multitenant.png) + + +## Application consent + +You need your application to be approved in each tenant where you intend to use it. This is because your application interacts with WDATP application on behalf of your customer. + +You (or your customer if you are writing a 3rd party application) need to click the consent link and approve your application. The consent should be done with a user who has admin privileges in the active directory. + +Consent link is of the form: + +``` +https://login.microsoftonline.com/common/oauth2/authorize?prompt=consent&client_id=00000000-0000-0000-0000-000000000000&response_type=code&sso_reload=true​ +``` + +where 00000000-0000-0000-0000-000000000000​ should be replaced with your Azure application ID + + +## Get an access token + +For more details on AAD token, refer to [AAD tutorial](https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-protocols-oauth-client-creds) + +### Using C# + +>The below code was tested with nuget Microsoft.IdentityModel.Clients.ActiveDirectory 3.19.8 + +- Create a new Console Application +- Install Nuget [Microsoft.IdentityModel.Clients.ActiveDirectory](https://www.nuget.org/packages/Microsoft.IdentityModel.Clients.ActiveDirectory/) +- Add the below using + + ``` + using Microsoft.IdentityModel.Clients.ActiveDirectory; + ``` + +- Copy/Paste the below code in your application (do not forget to update the 3 variables: ```tenantId, appId, appSecret```) + + ``` + string tenantId = "00000000-0000-0000-0000-000000000000"; // Paste your own tenant ID here + string appId = "11111111-1111-1111-1111-111111111111"; // Paste your own app ID here + string appSecret = "22222222-2222-2222-2222-222222222222"; // Paste your own app secret here + + const string aadUri = "https://login.windows.net"; + const string wdatpResourceId = "https://securitycenter.onmicrosoft.com/windowsatpservice"; + + AuthenticationContext auth = new AuthenticationContext($"{aadUri}/{tenantId}/"); + ClientCredential clientCredential = new ClientCredential(appId, appSecret); + AuthenticationResult authenticationResult = auth.AcquireTokenAsync(wdatpResourceId, clientCredential).GetAwaiter().GetResult(); + string token = authenticationResult.AccessToken; + ``` + +### Using PowerShell + +Refer to [Get token using PowerShell](run-advanced-query-sample-powershell.md#get-token) + +### Using Python + +Refer to [Get token using Python](run-advanced-query-sample-python.md#get-token) + +### Using Curl + +> [!NOTE] +> The below procedure supposed Curl for Windows is already installed on your computer + +- Open a command window +- ​Set CLIENT_ID to your Azure application ID +- Set CLIENT_SECRET to your Azure application secret +- Set TENANT_ID to the Azure tenant ID of the customer that wants to use your application to access WDATP application +- Run the below command: + +``` +curl -i -X POST -H "Content-Type:application/x-www-form-urlencoded" -d "grant_type=client_credentials" -d "client_id=%CLIENT_ID%" -d "scope=https://securitycenter.onmicrosoft.com/windowsatpservice​/.default" -d "client_secret=%CLIENT_SECRET%" "https://login.microsoftonline.com/%TENANT_ID​%/oauth2/v2.0/token" -k​ +``` + +You will get an answer of the form: + +``` +{"token_type":"Bearer","expires_in":3599,"ext_expires_in":0,"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIn aWReH7P0s0tjTBX8wGWqJUdDA"} +``` + +## Validate the token + +- Copy/paste into [JWT](https://jwt.io/) the token you get in the previous step +- Validate you get a 'roles' claim with the desired permission, as shown in the below screenshot + +![Image of token validation](images/webapp-validate-token.png) + +## Related topics +- [Windows Defender ATP APIs](exposed-apis-intro.md) +- [Supported Windows Defender ATP APIs](exposed-apis-list.md) +- [Access Windows Defender ATP on behalf of a user](exposed-apis-create-app-nativeapp.md) \ No newline at end of file diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-intro.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-intro.md new file mode 100644 index 0000000000..ccf0c67cdb --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-intro.md @@ -0,0 +1,58 @@ +--- +title: Use Windows Defender Advanced Threat Protection APIs +description: Use the exposed data and actions using a set of progammatic APIs that are part of the Microsoft Intelligence Security Graph. +keywords: apis, graph api, supported apis, actor, alerts, machine, user, domain, ip, file, advanced hunting, query +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 30/07/2018 +--- + +# Use Windows Defender ATP APIs + +**Applies to:** + +- Windows 10 Enterprise +- Windows 10 Education +- Windows 10 Pro +- Windows 10 Pro Education +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + +>Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-exposedapis-abovefoldlink) + +Windows Defender ATP exposes much of its data and actions through a set of programmatic APIs. Those APIs will enable you to automate workflows and innovate based on Windows Defender ATP capabilities. The API access requires OAuth2.0 authentication. For more information, see [OAuth 2.0 Authorization Code Flow](https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-protocols-oauth-code). + +In general, you’ll need to take the following steps to use the APIs: +- Create an app +- Get an access token +- Use the token to access Windows Defender ATP API + + +As a developer, you decide which permissions for Windows Defender ATP your app requests. When a user signs in to your app he (or, in some cases, an administrator) is given a chance to consent to these permissions. If the user consents, your app is given access to the resources and APIs that it has requested. For apps that don't take a signed-in user, permissions can be pre-consented to by an administrator when the app is installed or during sign-up. + +##Delegated permissions, Application permissions, and effective permissions + +Windows Defender ATP has two types of permissions: delegated permissions and application permissions. + +- Delegated permissions are used by apps that have a signed-in user present. For these apps either the user or an administrator consents to the permissions that the app requests and the app is delegated permission to act as the signed-in user when making calls to Windows Defender ATP. Some delegated permissions can be consented to by non-administrative users, but some higher-privileged permissions require administrator consent. +- Application permissions are used by apps that run without a signed-in user present; for example, apps that run as background services or daemons. Application permissions can only be consented by an administrator. + +Effective permissions are the permissions that your app will have when making requests to Windows Defender ATP. It is important to understand the difference between the delegated and application permissions that your app is granted and its effective permissions when making calls to Windows Defender ATP. + +- For delegated permissions, the effective permissions of your app will be the least privileged intersection of the delegated permissions the app has been granted (via consent) and the privileges of the currently signed-in user. Your app can never have more privileges than the signed-in user. Within organizations, the privileges of the signed-in user may be determined by policy or by membership in one or more administrator roles. For more information about administrator roles, see [Assigning administrator roles in Azure Active Directory](https://docs.microsoft.com/en-us/azure/active-directory/active-directory-assign-admin-roles). + + For example, assume your app has been granted the Machine.CollectForensics delegated permission. This permission nominally grants your app permission to collect investigation package from a machine. If the signed-in user has 'Alerts Investigation' permission, your app will be able to collect investigation package from a machine, if the machine belongs to a group the user is exposed to. However, if the signed-in user doesn't have 'Alerts Investigation' permission, your app won't be able to collect investigation package from any machine. + +- For application permissions, the effective permissions of your app will be the full level of privileges implied by the permission. For example, an app that has the Machine.CollectForensics application permission can collect investigation package from any machine in the organization. + + +## Related topics +- [Supported Windows Defender ATP APIs](exposed-apis-list.md) +- [Access Windows Defender ATP without a user](exposed-apis-create-app-webapp.md) +- [Access Windows Defender ATP on behalf of a user](exposed-apis-create-app-nativeapp.md) \ No newline at end of file diff --git a/windows/security/threat-protection/windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-list.md similarity index 95% rename from windows/security/threat-protection/windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection-new.md rename to windows/security/threat-protection/windows-defender-atp/exposed-apis-list.md index dfd76a0910..5b82fb439d 100644 --- a/windows/security/threat-protection/windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-list.md @@ -41,4 +41,4 @@ Machines | Run API calls such as find machine information by IP, get machines, g User | Run API calls such as get alert related user information, user information, user related alerts, and user related machines. ## Related topic -- [Use Windows Defender ATP APIs](exposed-apis-windows-defender-advanced-threat-protection-new.md) +- [Windows Defender ATP APIs](exposed-apis-intro.md) diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-api.md similarity index 80% rename from windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md rename to windows/security/threat-protection/windows-defender-atp/run-advanced-query-api.md index e2d9e6a826..91afb2c337 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-api.md @@ -31,7 +31,7 @@ This API is a beta version only and is currently restricted 3. The nu​mber of executions is limited​ (up to 15 minutes every hour and 4 hours a day) ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-intro.md#create-an-app) Permission type | Permission | Permission display name :---|:---|:--- @@ -127,12 +127,12 @@ Content-Type: application/json​ - (403) Forbidden. If you get this error when calling WDATP API, your token probably does not include the necessary permission, - [Check the permissions](exposed-apis-windows-defender-advanced-threat-protection-new.md#validate-the-token) included in your token. - If the 'roles' section in the token does not include the necessary permission, either you did not add the necessary permission to your app (refer to step 6 in [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app)) or you did not authorized your app in the tenant (refer to [Application consent](exposed-apis-windows-defender-advanced-threat-protection-new.md#application-consent)) + [Check the permissions](exposed-apis-intro.md#validate-the-token) included in your token. + If the 'roles' section in the token does not include the necessary permission, either you did not add the necessary permission to your app (refer to step 6 in [Create your app](exposed-apis-intro.md#create-an-app)) or you did not authorized your app in the tenant (refer to [Application consent](exposed-apis-intro.md#application-consent)) ## Related topic +- [Windows Defender ATP APIs](exposed-apis-intro.md) - [Advanced Hunting from Portal](advanced-hunting-windows-defender-advanced-threat-protection.md) -- [Advanced Hunting using PowerShell](run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md) -- [Schedule Advanced Hunting](run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md) -- [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md) +- [Advanced Hunting using PowerShell](run-advanced-query-sample-powershell.md) +- [Schedule Advanced Hunting](run-advanced-query-sample-ms-flow.md) diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-ms-flow.md similarity index 89% rename from windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md rename to windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-ms-flow.md index 8d10b02b70..f02cf020ec 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-ms-flow.md @@ -21,7 +21,7 @@ ms.date: 30/07/2018 Schedule advanced query. ->**Prerequisite**: You first need to [create an app](exposed-apis-windows-defender-advanced-threat-protection-new.md). +>**Prerequisite**: You first need to [create an app](exposed-apis-intro.md). ## Use case @@ -81,6 +81,6 @@ You can find below the full definition ![Image of E2E flow](images/ms-flow-e2e.png) ## Related topic -- [Advanced Hunting API](run-advanced-query-windows-defender-advanced-threat-protection.md) -- [Advanced Hunting using PowerShell](run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md) -- [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md) \ No newline at end of file +- [Windows Defender ATP APIs](exposed-apis-intro.md) +- [Advanced Hunting API](run-advanced-query-api.md) +- [Advanced Hunting using PowerShell](run-advanced-query-sample-powershell.md) \ No newline at end of file diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-powershell.md similarity index 85% rename from windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md rename to windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-powershell.md index cfca29d851..22c4ca1362 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-powershell.md @@ -15,11 +15,11 @@ ms.date: 30/07/2018 # Advanced Hunting using PowerShell -Run advanced queries using PowerShell. Please read about [Advanced Hunting API](run-advanced-query-windows-defender-advanced-threat-protection.md) before. +Run advanced queries using PowerShell. Please read about [Advanced Hunting API](run-advanced-query-api.md) before. In this section we share PowerShell samples to retrieve a token and use it to run a query. ->**Prerequisite**: You first need to [create an app](exposed-apis-windows-defender-advanced-threat-protection-new.md). +>**Prerequisite**: You first need to [create an app](exposed-apis-intro.md). ## Preparation Instructions @@ -107,7 +107,7 @@ $results | ConvertTo-Json | Set-Content file1.json ## Related topic -- [Advanced Hunting API](run-advanced-query-windows-defender-advanced-threat-protection.md) -- [Advanced Hunting using Python](run-advanced-query-windows-defender-advanced-threat-protection-sample-python.md) -- [Schedule Advanced Hunting](run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md) -- [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md) +- [Windows Defender ATP APIs](exposed-apis-intro.md) +- [Advanced Hunting API](run-advanced-query-api.md) +- [Advanced Hunting using Python](run-advanced-query-sample-python.md) +- [Schedule Advanced Hunting](run-advanced-query-sample-ms-flow.md) diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-python.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-python.md similarity index 86% rename from windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-python.md rename to windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-python.md index 01ac9c558a..913731e59d 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-python.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-python.md @@ -15,11 +15,11 @@ ms.date: 30/07/2018 # Advanced Hunting using Python -Run advanced queries using Python. Please read about [Advanced Hunting API](run-advanced-query-windows-defender-advanced-threat-protection.md) before. +Run advanced queries using Python. Please read about [Advanced Hunting API](run-advanced-query-api.md) before. In this section we share Python samples to retrieve a token and use it to run a query. ->**Prerequisite**: You first need to [create an app](exposed-apis-windows-defender-advanced-threat-protection-new.md). +>**Prerequisite**: You first need to [create an app](exposed-apis-intro.md). ## Get token @@ -136,7 +136,7 @@ outputFile.close() ## Related topic -- [Advanced Hunting API](run-advanced-query-windows-defender-advanced-threat-protection.md) -- [Advanced Hunting using PowerShell](run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md) -- [Schedule Advanced Hunting](run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md) -- [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md) +- [Windows Defender ATP APIs](exposed-apis-intro.md) +- [Advanced Hunting API](run-advanced-query-api.md) +- [Advanced Hunting using PowerShell](run-advanced-query-sample-powershell.md) +- [Schedule Advanced Hunting](run-advanced-query-sample-ms-flow.md) From 47e605a309d5d141a3cc4022233873dea32bf6b1 Mon Sep 17 00:00:00 2001 From: David Laufer Date: Tue, 7 Aug 2018 14:38:12 +0300 Subject: [PATCH 30/71] Fix links --- .../windows-defender-atp/run-advanced-query-api.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-api.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-api.md index 91afb2c337..8a6c8b5831 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-api.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-api.md @@ -31,7 +31,7 @@ This API is a beta version only and is currently restricted 3. The nu​mber of executions is limited​ (up to 15 minutes every hour and 4 hours a day) ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-intro.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- @@ -127,8 +127,10 @@ Content-Type: application/json​ - (403) Forbidden. If you get this error when calling WDATP API, your token probably does not include the necessary permission, - [Check the permissions](exposed-apis-intro.md#validate-the-token) included in your token. - If the 'roles' section in the token does not include the necessary permission, either you did not add the necessary permission to your app (refer to step 6 in [Create your app](exposed-apis-intro.md#create-an-app)) or you did not authorized your app in the tenant (refer to [Application consent](exposed-apis-intro.md#application-consent)) + Check [app permissions](exposed-apis-create-app-webapp.md#validate-the-token) or [delegated permissions](exposed-apis-create-app-nativeapp.md#validate-the-token) included in your token. + If the 'roles' section in the token does not include the necessary permission, + - either you did not add the necessary permission to your app (refer to [Access Windows Defender ATP without a user](exposed-apis-create-app-webapp.md#create-an-app) or [Access Windows Defender ATP on behalf of a user](exposed-apis-create-app-nativeapp.md#create-an-app)) + - or you did not authorized your app in the tenant (refer to [Application consent](exposed-apis-create-app-webapp.md#application-consent)) ## Related topic From ae932090c5d95fc36abd88d3e3015949c841a417 Mon Sep 17 00:00:00 2001 From: Zvi Avidor Date: Wed, 15 Aug 2018 23:19:03 +0300 Subject: [PATCH 31/71] complete changes --- .../windows-defender-atp/TOC.md | 69 ++++++- ...defender-advanced-threat-protection-new.md | 77 +++++++ ...defender-advanced-threat-protection-new.md | 101 ++++++++++ ...defender-advanced-threat-protection-new.md | 96 +++++++++ ...defender-advanced-threat-protection-new.md | 90 +++++++++ ...defender-advanced-threat-protection-new.md | 189 ++++++++++++++++++ ...defender-advanced-threat-protection-new.md | 47 +++++ ...defender-advanced-threat-protection-new.md | 86 ++++++++ ...defender-advanced-threat-protection-new.md | 97 +++++++++ ...defender-advanced-threat-protection-new.md | 86 ++++++++ ...defender-advanced-threat-protection-new.md | 99 +++++++++ ...defender-advanced-threat-protection-new.md | 89 +++++++++ ...defender-advanced-threat-protection-new.md | 98 +++++++++ ...defender-advanced-threat-protection-new.md | 90 +++++++++ ...defender-advanced-threat-protection-new.md | 128 ++++++++++++ ...defender-advanced-threat-protection-new.md | 124 ++++++++++++ ...defender-advanced-threat-protection-new.md | 121 +++++++++++ ...defender-advanced-threat-protection-new.md | 84 ++++++++ ...defender-advanced-threat-protection-new.md | 97 +++++++++ ...defender-advanced-threat-protection-new.md | 103 ++++++++++ ...defender-advanced-threat-protection-new.md | 121 +++++++++++ ...defender-advanced-threat-protection-new.md | 89 +++++++++ ...defender-advanced-threat-protection-new.md | 104 ++++++++++ ...defender-advanced-threat-protection-new.md | 114 +++++++++++ ...defender-advanced-threat-protection-new.md | 84 ++++++++ ...defender-advanced-threat-protection-new.md | 99 +++++++++ ...defender-advanced-threat-protection-new.md | 106 ++++++++++ ...defender-advanced-threat-protection-new.md | 104 ++++++++++ ...defender-advanced-threat-protection-new.md | 91 +++++++++ ...defender-advanced-threat-protection-new.md | 165 +++++++++++++++ ...defender-advanced-threat-protection-new.md | 120 +++++++++++ ...defender-advanced-threat-protection-new.md | 84 ++++++++ ...defender-advanced-threat-protection-new.md | 86 ++++++++ ...defender-advanced-threat-protection-new.md | 123 ++++++++++++ ...defender-advanced-threat-protection-new.md | 121 +++++++++++ ...defender-advanced-threat-protection-new.md | 73 +++++++ ...defender-advanced-threat-protection-new.md | 80 ++++++++ ...defender-advanced-threat-protection-new.md | 103 ++++++++++ ...defender-advanced-threat-protection-new.md | 45 +++++ ...defender-advanced-threat-protection-new.md | 42 ++++ ...defender-advanced-threat-protection-new.md | 96 +++++++++ ...defender-advanced-threat-protection-new.md | 96 +++++++++ ...defender-advanced-threat-protection-new.md | 105 ++++++++++ ...defender-advanced-threat-protection-new.md | 44 ++++ ...defender-advanced-threat-protection-new.md | 93 +++++++++ ...defender-advanced-threat-protection-new.md | 101 ++++++++++ ...defender-advanced-threat-protection-new.md | 96 +++++++++ ...defender-advanced-threat-protection-new.md | 108 ++++++++++ ...defender-advanced-threat-protection-new.md | 23 +++ 49 files changed, 4676 insertions(+), 11 deletions(-) create mode 100644 windows/security/threat-protection/windows-defender-atp/alerts-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/block-file-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/create-alert-by-reference-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/files-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/get-machines-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/machine-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/machineaction-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/offboard-machine-api-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/update-alert-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/user-windows-defender-advanced-threat-protection-new.md diff --git a/windows/security/threat-protection/windows-defender-atp/TOC.md b/windows/security/threat-protection/windows-defender-atp/TOC.md index 7ae86fbea9..07e39fd8d3 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -39,8 +39,6 @@ #### [Investigate a user account](investigate-user-windows-defender-advanced-threat-protection.md) - - ###Machines list #### [View and organize the Machines list](machines-view-overview-windows-defender-advanced-threat-protection.md) #### [Manage machine group and tags](investigate-machines-windows-defender-advanced-threat-protection.md#manage-machine-group-and-tags) @@ -97,16 +95,65 @@ #### [Experiment with custom threat intelligence alerts](experiment-custom-ti-windows-defender-advanced-threat-protection.md) #### [Troubleshoot custom threat intelligence issues](troubleshoot-custom-ti-windows-defender-advanced-threat-protection.md) -### [**Beta!** Windows Defender ATP APIs](exposed-apis-intro.md) -#### Create your app -##### [Get access on behalf of a user](exposed-apis-create-app-nativeapp.md) -##### [Get access without a user](exposed-apis-create-app-webapp.md) -#### [Supported Windows Defender ATP APIs](exposed-apis-list.md) -##### [Advanced Hunting](run-advanced-query-api.md) +### [**Beta!** Use Windows Defender ATP APIs](exposed-apis-windows-defender-advanced-threat-protection-new.md) +#### [Supported Windows Defender ATP APIs](supported-apis-windows-defender-advanced-threat-protection-new.md) +##### [Advanced Hunting](run-advanced-query-windows-defender-advanced-threat-protection.md) + +##### [Alert](alerts-windows-defender-advanced-threat-protection-new.md) +###### [List alerts](get-alerts-windows-defender-advanced-threat-protection-new.md) +###### [Create alert](create-alert-by-reference-windows-defender-advanced-threat-protection-new.md) +###### [Update Alert](update-alert-windows-defender-advanced-threat-protection-new.md) +###### [Get alert information by ID](get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md) +###### [Get alert related domains information](get-alert-related-domain-info-windows-defender-advanced-threat-protection-new.md) +###### [Get alert related file information](get-alert-related-files-info-windows-defender-advanced-threat-protection-new.md) +###### [Get alert related IPs information](get-alert-related-ip-info-windows-defender-advanced-threat-protection-new.md) +###### [Get alert related machine information](get-alert-related-machine-info-windows-defender-advanced-threat-protection-new.md) +###### [Get alert related user information](get-alert-related-user-info-windows-defender-advanced-threat-protection-new.md) + +##### Domain +###### [Get domain related alerts](get-domain-related-alerts-windows-defender-advanced-threat-protection-new.md) +###### [Get domain related machines](get-domain-related-machines-windows-defender-advanced-threat-protection-new.md) +###### [Get domain statistics](get-domain-statistics-windows-defender-advanced-threat-protection-new.md) +###### [Is domain seen in organization](is-domain-seen-in-org-windows-defender-advanced-threat-protection-new.md) + +##### [File](files-windows-defender-advanced-threat-protection-new.md) +###### [Get file information](get-file-information-windows-defender-advanced-threat-protection-new.md) +###### [Get file related alerts](get-file-related-alerts-windows-defender-advanced-threat-protection-new.md) +###### [Get file related machines](get-file-related-machines-windows-defender-advanced-threat-protection-new.md) +###### [Get file statistics](get-file-statistics-windows-defender-advanced-threat-protection-new.md) + +##### IP +###### [Get IP related alerts](get-ip-related-alerts-windows-defender-advanced-threat-protection-new.md) +###### [Get IP related machines](get-ip-related-machines-windows-defender-advanced-threat-protection-new.md) +###### [Get IP statistics](get-ip-statistics-windows-defender-advanced-threat-protection-new.md) +###### [Is IP seen in organization](is-ip-seen-org-windows-defender-advanced-threat-protection-new.md) + +##### [Machine](machine-windows-defender-advanced-threat-protection-new.md) +###### [Get machines](get-machines-windows-defender-advanced-threat-protection-new.md) +###### [Get machine by ID](get-machine-by-id-windows-defender-advanced-threat-protection-new.md) +###### [Get machine log on users](get-machine-log-on-users-windows-defender-advanced-threat-protection-new.md) +###### [Get machine related alerts](get-machine-related-alerts-windows-defender-advanced-threat-protection-new.md) + +##### [Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) +###### [List MachineActions](get-machineactions-collection-windows-defender-advanced-threat-protection-new.md) +###### [Get MachineAction](get-machineaction-object-windows-defender-advanced-threat-protection-new.md) +###### [Collect investigation package](collect-investigation-package-windows-defender-advanced-threat-protection-new.md) +###### [Get investigation package SAS URI](get-package-sas-uri-windows-defender-advanced-threat-protection-new.md) +###### [Isolate machine](isolate-machine-windows-defender-advanced-threat-protection-new.md) +###### [Release machine from isolation](unisolate-machine-windows-defender-advanced-threat-protection-new.md) +###### [Restrict app execution](restrict-code-execution-windows-defender-advanced-threat-protection-new.md) +###### [Remove app restriction](unrestrict-code-execution-windows-defender-advanced-threat-protection-new.md) +###### [Run antivirus scan](run-av-scan-windows-defender-advanced-threat-protection-new.md) +###### [Offboard machine](offboard-machine-api-windows-defender-advanced-threat-protection-new.md) + +##### [User](user-windows-defender-advanced-threat-protection-new.md) +###### [Get user related alerts](get-user-related-alerts-windows-defender-advanced-threat-protection-new.md) +###### [Get user related machines](get-user-related-machines-windows-defender-advanced-threat-protection-new.md) + #### How to use APIs - Samples -##### [Schedule advanced Hunting using Microsoft Flow](run-advanced-query-sample-ms-flow.md) -##### [Advanced Hunting using PowerShell](run-advanced-query-sample-powershell.md) -##### [Advanced Hunting using Python](run-advanced-query-sample-python.md) +##### [Schedule advanced Hunting using Microsoft Flow](run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md) +##### [Advanced Hunting using PowerShell](run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md) +##### [Advanced Hunting using Python](run-advanced-query-windows-defender-advanced-threat-protection-sample-python.md) ### [Use the Windows Defender ATP exposed APIs](exposed-apis-windows-defender-advanced-threat-protection.md) diff --git a/windows/security/threat-protection/windows-defender-atp/alerts-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/alerts-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..6f49e0bacf --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/alerts-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,77 @@ +--- +title: Get alerts API +description: Retrieves top recent alerts. +keywords: apis, graph api, supported apis, get, alerts, recent +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Alert resource type + +Represents an alert entity in WDATP. + +# Methods +Method|Return Type |Description +:---|:---|:--- +[Get alert](get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md) | [alert](get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md) | Get a single [alert](get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md) object. +[List alerts](get-alerts-windows-defender-advanced-threat-protection-new.md) | [alert](get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md) collection | List [alert](get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md) collection. +[Create alert](create-alert-by-reference-windows-defender-advanced-threat-protection-new.md)|[alert](get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md)|Create an alert based on event data obtained from [Advanced hunting API](run-advanced-query-windows-defender-advanced-threat-protection.md) +[List related domains](get-alert-related-domain-info-windows-defender-advanced-threat-protection-new.md)|Domain collection|List Urls associated with the alert. +[List related files](get-alert-related-files-info-windows-defender-advanced-threat-protection-new.md) | [file](files-windows-defender-advanced-threat-protection-new.md) collection | List the [file](files-windows-defender-advanced-threat-protection-new.md) entities that are associated with the [alert](get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md). +[List related IPs](get-alert-related-ip-info-windows-defender-advanced-threat-protection-new.md) | IP collection | List IPs that are associated witht the alert. +[Get related Machine](get-alert-related-machine-info-windows-defender-advanced-threat-protection-new.md) | [machine](machine-windows-defender-advanced-threat-protection-new.md) entity | The [machine](machine-windows-defender-advanced-threat-protection-new.md) that is associated with the [alert](get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md). +[Get related user](get-alert-related-user-info-windows-defender-advanced-threat-protection-new.md) | [user](user-windows-defender-advanced-threat-protection-new.md) | The [user](user-windows-defender-advanced-threat-protection-new.md) that is associated with the [alert](get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md). + + +# Properties +Property | Type | Description +:---|:---|:--- +id | string | alert id. +severity | String | severity of the alert. Allowed values are: 'Low', 'Medium' and 'High'. +status | String | Specifies the current status of the alert. The property values are: 'New', 'InProgress' and 'Resolved'. +description | String | Description of the threat, identified by the alert. +recommendedAction | String | Action recommended for handling the suspected threat. +alertCreationTime | DateTimeOffset | The date and time (in UTC) the alert was created. +category| String | Category of the alert. The property values are: 'None', 'SuspiciousActivity', 'Malware', 'CredentialTheft', 'Exploit', 'WebExploit', 'DocumentExploit', 'PrivilegeEscalation', 'Persistence', 'RemoteAccessTool', 'CommandAndControl', 'SuspiciousNetworkTraffic', 'Ransomware', 'MalwareDownload', 'Reconnaissance', 'WebFingerprinting', 'Weaponization', 'Delivery', 'SocialEngineering', 'CredentialStealing', 'Installation', 'Backdoor', 'Trojan', 'TrojanDownloader', 'LateralMovement', 'ExplorationEnumeration', 'NetworkPropagation', 'Exfiltration', 'NotApplicable', 'EnterprisePolicy' and 'General'. +title | string | Alert title. +threatFamilyName | string | Threat family. +detectionSource | string | detection source +assignedTo | String | Owner of the alert +classification | String | Speficies the specification of the alert. The property values are: 'Unknown', 'FalsePositive', 'TruePositive'. +determination | String | Specifies the determination of the alert. The property values are: 'NotAvailable', 'Apt', 'Malware', 'SecurityPersonnel', 'SecurityTesting', 'UnwantedSoftware', 'Other' +resolvedTime | DateTimeOffset | The date and time in which the status of the alert was changed to 'Resolved'. +lastEventTime | DateTimeOffset | The last occurance of the event that triggered the alert on the same machine. +firstEventTime | DateTimeOffset | The first occurance of the event that triggered the alert on that machine. +machineId | string | id of a [machine](machine-windows-defender-advanced-threat-protection-new.md) entity that is associated with the alert. + +# JSON representation +``` +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#Alerts", + "id": "636688558380765161_2136280442", + "severity": "Informational", + "status": "InProgress", + "description": "Some alert description 1", + "recommendedAction": "Some recommended action 1", + "alertCreationTime": "2018-08-03T01:17:17.9516179Z", + "category": "General", + "title": "Some alert title 1", + "threatFamilyName": null, + "detectionSource": "WindowsDefenderAtp", + "classification": "TruePositive", + "determination": null, + "assignedTo": "best secop ever", + "resolvedTime": null, + "lastEventTime": "2018-08-02T07:02:52.0894451Z", + "firstEventTime": "2018-08-02T07:02:52.0894451Z", + "actorName": null, + "machineId": "ff0c3800ed8d66738a514971cd6867166809369f" +} +``` diff --git a/windows/security/threat-protection/windows-defender-atp/block-file-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/block-file-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..4b945f2c0f --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/block-file-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,101 @@ +--- +title: Block file API +description: Use this API to blocking files from being running in the organization. +keywords: apis, graph api, supported apis, block file +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Block file API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +Prevent a file from being executed in the organization using Windows Defender Antivirus. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Ti.ReadWrite | 'Threat Intelligence read write' + +## HTTP request +``` +POST /api/files/{sha1}/block +``` + +## Request headers + +Header | Value +:---|:--- +Authorization | Bearer {token}. **Required**. +Content-Type | application/json + +## Request body +In the request body, supply a JSON object with the following parameters: + +Parameter | Type | Description +:---|:---|:--- +Comment | String | Comment to associate with the action. **Required**. + + +## Response +If successful, this method returns 200, Ok response code with empty body, which indicates that block message was sent to Windows Defender deployed in the organization. + + +## Example + +**Request** + +Here is an example of the request. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + +``` +POST https://api.securitycenter.windows.com/api/files/7327b54fd718525cbca07dacde913b5ac3c85673/block +Content-type: application/json +{ + "Comment": "Block file due to alert 32123" +} + + +``` + +**Response** + +Here is an example of the response. + + +``` +HTTP/1.1 201 Created +Content-type: application/json +{ + "fileIdentifier": "7327b54fd718525cbca07dacde913b5ac3c85673", + "fileIdentifierType": "Sha1", + "actionType": "Block", + "fileStatus": "Blocked", + "creationDateTimeUtc": "2017-12-04T13:06:23.4502191Z", + "requestor": "Analyst@contoso.com ", + "requestorComment": "test", + "cancellationDateTimeUtc": null, + "cancellationRequestor": null, + "cancellationComment": null, + "lastUpdateDateTimeUtc": "2017-12-04T13:06:23.4502191Z" +} + +``` diff --git a/windows/security/threat-protection/windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..df75029191 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,96 @@ +--- +title: Collect investigation package API +description: Use this API to create calls related to the collecting an investigation package from a machine. +keywords: apis, graph api, supported apis, collect investigation package +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Collect investigation package API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +Collect investigation package from a machine. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Machine.CollectForensics | 'Collect forensics' + +## HTTP request +``` +POST /api/machines/{id}/collectInvestigationPackage +``` + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | string | Bearer {token}. **Required**. +Content-Type | string | application/json. **Required**. + +## Request body +In the request body, supply a JSON object with the following parameters: + +Parameter | Type | Description +:---|:---|:--- +Comment | String | Comment to associate with the action. **Required**. + +## Response +If successful, this method returns 201 - Created response code and [Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) in the response body. + + +## Example + +**Request** + +Here is an example of the request. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + +``` +POST https://api.securitycenter.windows.com/api/machines/fb9ab6be3965095a09c057be7c90f0a2/collectInvestigationPackage +Content-type: application/json +{ + "Comment": "Collect forensics due to alert 1234" +} +``` + +**Response** + +Here is an example of the response. + +``` +HTTP/1.1 201 Created +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#MachineActions/$entity", + "id": "c9042f9b-8483-4526-87b5-35e4c2532223", + "type": "CollectInvestigationPackage", + "requestor": "Analyst@contoso.com", + "requestorComment": " Collect forensics due to alert 1234", + "status": "InProgress", + "error": "None", + "machineId": "f46b9bb259ed4a7fb9981b73510e3cc7aa81ec1f", + "creationDateTimeUtc": "2017-12-04T12:09:24.1785079Z", + "lastUpdateTimeUtc": "2017-12-04T12:09:24.1785079Z" +} + +``` diff --git a/windows/security/threat-protection/windows-defender-atp/create-alert-by-reference-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/create-alert-by-reference-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..0028551bf1 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/create-alert-by-reference-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,90 @@ +--- +title: Create alert from event API +description: Creates an alert using event details +keywords: apis, graph api, supported apis, get, alert, information, id +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Create alert from event API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + +Enables using event data, as obtained from the [Advanced hunting API](run-advanced-query-windows-defender-advanced-threat-protection.md) for creating a new alert entity. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Alerts.ReadWrite.All | 'Read and write all alerts' + +## HTTP request +``` +POST /api/CreateAlertByReference +``` + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | String | Bearer {token}. **Required**. +Content-Type | String | application/json. **Required**. + +## Request body +In the request body, supply the following values (all are required): + +Property | Type | Description +:---|:---|:--- +machineId | String | Id of the machine on which the event was identified. **Required**. +severity | String | Severity of the alert. The property values are: 'Low', 'Medium' and 'High'. **Required**. +title | String | Title for the alert. **Required**. +description | String | Description of the alert. **Required**. +recommendedAction| String | Action that is recommended to be taken by security officer when analyzing the alert. +eventTime | DateTime(UTC) | The time of the event, as obtained from the advanced query. **Required**. +reportId | String | The reportId, as obtained from the advanced query. **Required**. +category| String | Category of the alert. The property values are: 'None', 'SuspiciousActivity', 'Malware', 'CredentialTheft', 'Exploit', 'WebExploit', 'DocumentExploit', 'PrivilegeEscalation', 'Persistence', 'RemoteAccessTool', 'CommandAndControl', 'SuspiciousNetworkTraffic', 'Ransomware', 'MalwareDownload', 'Reconnaissance', 'WebFingerprinting', 'Weaponization', 'Delivery', 'SocialEngineering', 'CredentialStealing', 'Installation', 'Backdoor', 'Trojan', 'TrojanDownloader', 'LateralMovement', 'ExplorationEnumeration', 'NetworkPropagation', 'Exfiltration', 'NotApplicable', 'EnterprisePolicy' and 'General'. + + +## Response +If successful, this method returns 200 OK, and a new [alert](alerts-windows-defender-advanced-threat-protection-new.md) object in the response body. +If event with the specified properties (_reportId_, _eventTime_ and _machineId_) was not found - 404 Not Found. + + +## Example + +**Request** + +Here is an example of the request. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + +``` +POST https://api.securitycenter.windows.com/api/CreateAlertByReference +Content-Length: application/json + +{ + "machineId": "1e5bc9d7e413ddd7902c2932e418702b84d0cc07", + "severity": "Low", + "title": "test alert", + "description": "redalert", + "recommendedAction": "white alert", + "eventTime": "2018-08-03T16:45:21.7115183Z", + "reportId": "20776", + "category": "None" +} +``` diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..bfe251407b --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,189 @@ +--- +title: Use Windows Defender Advanced Threat Protection APIs +description: Use the exposed data and actions using a set of progammatic APIs that are part of the Microsoft Intelligence Security Graph. +keywords: apis, graph api, supported apis, actor, alerts, machine, user, domain, ip, file, advanced hunting, query +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 30/07/2018 +--- + +# Use Windows Defender ATP APIs + +**Applies to:** + +- Windows 10 Enterprise +- Windows 10 Education +- Windows 10 Pro +- Windows 10 Pro Education +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + +>Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-exposedapis-abovefoldlink) + +Windows Defender ATP exposes much of its data and actions through a set of programmatic APIs. Those APIs will enable you to automate workflows and innovate based on Windows Defender ATP capabilities. The API access requires OAuth2.0 authentication. For more information, see [OAuth 2.0 Authorization Code Flow](https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-protocols-oauth-code). + +In general, you’ll need to take the following steps to use the APIs: +- Create an app +- Get an access token +- Use the token to access Windows Defender ATP API + +This page explains how to create an app, get an access token to Windows Defender ATP and validate the token includes the required permission. + +## Create an app + +1. Log on to [Azure](https://portal.azure.com). + +2. Navigate to **Azure Active Directory** > **App registrations** > **New application registration**. + + ![Image of Microsoft Azure and navigation to application registration](images/atp-azure-new-app.png) + +3. In the Create window, enter the following information then click **Create**. + + ![Image of Create application window](images/webapp-create.png) + + - **Name:** WdatpEcosystemPartner + - **Application type:** Web app / API + - **Redirect URI:** `https://WdatpEcosystemPartner.com` (The URL where user can sign in and use your app. You can change this URL later.) + + +4. Click **Settings** > **Required permissions** > **Add**. + + ![Image of new app in Azure](images/webapp-add-permission.png) + +5. Click **Select an API** > **WindowsDefenderATP**, then click **Select**. + + **Note**: WindowsDefenderATP does not appear in the original list. You need to start writing its name in the text box to see it appear. + + ![Image of API access and API selection](images/webapp-add-permission-2.png) + +6. Click **Select permissions** > **Run advanced queries** > **Select**. + + **Important note**: You need to select the relevant permission. 'Run advanced queries' is only an example! + + ![Image of select permissions](images/webapp-select-permission.png) + + - In order to send telemetry events to WDATP, check 'Write timeline events' permission + - In order to send TI events to WDATP, check 'Read and write IOCs belonging to the app' permission + - In order to run advanced queries in WDATP, check 'Run advanced queries' permission + +8. User with "Global Admin" permissions, need to click **Grant Permissions** in the **Required Permissions** tab. + +8. Click **Done** + + ![Image of add permissions completion](images/webapp-add-permission-end.png) + +9. Click **Keys** and type a key name and click **Save**. + + **Important**: After you save, **copy the key value**. You won't be able to retrieve after you leave! + + ![Image of create app key](images/webapp-create-key.png) + +10. Write down your application ID. + + ![Image of app ID](images/webapp-get-appid.png) + +11. Set your application to be multi-tenanted + + This is **required** for 3rd party apps (i.e., if you create an application that is intended to run in multiple customers tenant). + + This is **not required** if you create a service that you want to run in your tenant only (i.e., if you create an application for your own usage that will only interact with your own data)​ + + Click **Properties** > **Yes** > **Save**. + + ![Image of multi tenant](images/webapp-edit-multitenant.png) + + +## Application consent + +You need your application to be approved in each tenant where you intend to use it. This is because your application interacts with WDATP application on behalf of your customer. + +You (or your customer if you are writing a 3rd party application) need to click the consent link and approve your application. The consent should be done with a user who has admin privileges in the active directory. + +Consent link is of the form: + +``` +https://login.microsoftonline.com/common/oauth2/authorize?prompt=consent&client_id=00000000-0000-0000-0000-000000000000&response_type=code&sso_reload=true​ +``` + +where 00000000-0000-0000-0000-000000000000​ should be replaced with your Azure application ID + + +## Get an access token + +For more details on AAD token, refer to [AAD tutorial](https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-protocols-oauth-client-creds) + +### Using C# + +>The below code was tested with nuget Microsoft.IdentityModel.Clients.ActiveDirectory 3.19.8 + +- Create a new Console Application +- Install Nuget [Microsoft.IdentityModel.Clients.ActiveDirectory](https://www.nuget.org/packages/Microsoft.IdentityModel.Clients.ActiveDirectory/) +- Add the below using + + ``` + using Microsoft.IdentityModel.Clients.ActiveDirectory; + ``` + +- Copy/Paste the below code in your application (do not forget to update the 3 variables: ```tenantId, appId, appSecret```) + + ``` + string tenantId = "00000000-0000-0000-0000-000000000000"; // Paste your own tenant ID here + string appId = "11111111-1111-1111-1111-111111111111"; // Paste your own app ID here + string appSecret = "22222222-2222-2222-2222-222222222222"; // Paste your own app secret here + + const string authority = "https://login.windows.net"; + const string wdatpResourceId = "https://api.securitycenter.windows.com/windowsatpservice"; + + AuthenticationContext auth = new AuthenticationContext($"{authority}/{tenantId}/"); + ClientCredential clientCredential = new ClientCredential(appId, appSecret); + AuthenticationResult authenticationResult = auth.AcquireTokenAsync(wdatpResourceId, clientCredential).GetAwaiter().GetResult(); + string token = authenticationResult.AccessToken; + ``` + +### Using PowerShell + +Refer to [Get token using PowerShell](run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md#get-token) + +### Using Python + +Refer to [Get token using Python](run-advanced-query-windows-defender-advanced-threat-protection-sample-python.md#get-token) + +### Using Curl + +> [!NOTE] +> The below procedure supposed Curl for Windows is already installed on your computer + +- Open a command window +- ​Set CLIENT_ID to your Azure application ID +- Set CLIENT_SECRET to your Azure application secret +- Set TENANT_ID to the Azure tenant ID of the customer that wants to use your application to access WDATP application +- Run the below command: + +``` +curl -i -X POST -H "Content-Type:application/x-www-form-urlencoded" -d "grant_type=client_credentials" -d "client_id=%CLIENT_ID%" -d "scope=https://securitycenter.onmicrosoft.com/windowsatpservice​/.default" -d "client_secret=%CLIENT_SECRET%" "https://login.microsoftonline.com/%TENANT_ID​%/oauth2/v2.0/token" -k​ +``` + +You will get an answer of the form: + +``` +{"token_type":"Bearer","expires_in":3599,"ext_expires_in":0,"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIn aWReH7P0s0tjTBX8wGWqJUdDA"} +``` + +## Validate the token + +- Copy/paste into [JWT](https://jwt.ms/) the token you get in the previous step +- Validate you get a 'roles' claim with the desired permission as you've chosen when adding permissions to the applications: + +![Image of token validation](images/webapp-validate-token.png) + +> [!NOTE] +> The same token can be used for 1 hour and then it expired + +## Related topics +- [Supported Windows Defender ATP APIs](supported-apis-windows-defender-advanced-threat-protection-new.md) diff --git a/windows/security/threat-protection/windows-defender-atp/files-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/files-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..00e1b1e364 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/files-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,47 @@ +--- +title: File resource type +description: Retrieves top recent alerts. +keywords: apis, graph api, supported apis, get, alerts, recent +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# File resource type + +Represent a file entity in WDATP. + +# Methods +Method|Return Type |Description +:---|:---|:--- +[Get file](get-file-information-windows-defender-advanced-threat-protection-new.md) | [file](files-windows-defender-advanced-threat-protection-new.md) | Get a single file +[List file related alerts](get-file-related-alerts-windows-defender-advanced-threat-protection-new.md) | [alert](get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md) collection | Get the [alert](get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md) entities that are associated with the file. +[List file related machines](get-file-related-machines-windows-defender-advanced-threat-protection-new.md) | [machine](machine-windows-defender-advanced-threat-protection-new.md) collection | Get the [machine](machine-windows-defender-advanced-threat-protection-new.md) entities associated with the alert. +[file statistics](get-file-statistics-windows-defender-advanced-threat-protection-new.md) | Statistics summary | Retrieves the prevalence for the given file. + + +# Properties +Property | Type | Description +:---|:---|:--- +sha1 | String | Sha1 hash of the file content +sha256 | String | Sha256 hash of the file content +md5 | String | md5 hash of the file content +globalPrevalence | Integer | File prevalence accross organization +globalFirstObserved | DateTimeOffset | First time the file was observed. +globalLastObserved | DateTimeOffset | Last time the file was observed. +size | Integer | Size of the file. +fileType | String | Type of the file. +isPeFile | Boolean | true if the file is portable executable (e.g. "DLL", "EXE", etc.) +filePublisher | String | File publisher. +fileProductName | String | Product name. +signer | String | File signer. +issuer | String | File issuer. +signerHash | String | Hash of the signing certificate. +isValidCertificate | Boolean | Was signing certificate successfully verified by WDATP agent. + diff --git a/windows/security/threat-protection/windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..87e402b102 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,86 @@ +--- +title: Find machine information by internal IP API +description: Use this API to create calls related to finding a machine entry around a specific timestamp by internal IP. +keywords: ip, apis, graph api, supported apis, find machine, machine information +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: high +ms.date: 07/25/2018 +--- + +# Find machine information by internal IP API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + +Find a machine entity around a specific timestamp by internal IP. + +>[!NOTE] +>The timestamp must be within the last 30 days. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Machine.Read.All | 'Read all machine profiles' +Application | Machine.ReadWrite.All | 'Read and write all machine information' + +## HTTP request +``` +GET /api/machines/find(timestamp={time},key={IP}) +``` + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | string | Bearer {token}. **Required**. + + +## Request body +Empty + +## Response +If successful and machine exists - 200 OK. +If no machine found - 404 Not Found. + + +## Example + +**Request** + +Here is an example of the request. + +``` +GET https://graph.microsoft.com/testwdatppreview/machines/find(timestamp=2018-06-19T10:00:00Z,key='10.166.93.61') +Content-type: application/json +``` + +**Response** + +Here is an example of the response. + +The response will return a list of all machines that reported this IP address within sixteen minutes prior and after the timestamp. + +``` +HTTP/1.1 200 OK +Content-type: application/json +{ + "@odata.context": "https://graph.microsoft.com/testwdatppreview/$metadata#Machines", + "value": [ + { + "id": "04c99d46599f078f1c3da3783cf5b95f01ac61bb", + "computerDnsName": "", + "firstSeen": "2017-07-06T01:25:04.9480498Z", + "osPlatform": "Windows10", +… +} +``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..26333d85c4 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,97 @@ +--- +title: Get alert information by ID API +description: Retrieves an alert by its ID. +keywords: apis, graph api, supported apis, get, alert, information, id +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Get alert information by ID API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + +Retrieves an alert by its ID. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Alert.Read.All | 'Read all alerts' +Application | Alert.ReadWrite.All | 'Read and write all alerts' + +## HTTP request +``` +GET /api/alerts/{id} +``` + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | string | Bearer {token}. **Required**. + + +## Request body +Empty + +## Response +If successful, this method returns 200 OK, and an [alert](alerts-windows-defender-advanced-threat-protection-new.md) object in the response body. +If alert with the specified id was not found - 404 Not Found. + + +## Example + +**Request** + +Here is an example of the request. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + +``` +GET https://api.securitycenter.windows.com/api/alerts/636688558380765161_2136280442 +``` + +**Response** + +Here is an example of the response. + + +``` +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#Alerts", + "id": "636688558380765161_2136280442", + "severity": "Informational", + "status": "InProgress", + "description": "Some alert description 1", + "recommendedAction": "Some recommended action 1", + "alertCreationTime": "2018-08-03T01:17:17.9516179Z", + "category": "General", + "title": "Some alert title 1", + "threatFamilyName": null, + "detectionSource": "WindowsDefenderAtp", + "classification": "TruePositive", + "determination": null, + "assignedTo": "best secop ever", + "resolvedTime": null, + "lastEventTime": "2018-08-02T07:02:52.0894451Z", + "firstEventTime": "2018-08-02T07:02:52.0894451Z", + "actorName": null, + "machineId": "ff0c3800ed8d66738a514971cd6867166809369f" +} + +``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..42d2bad378 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,86 @@ +--- +title: Get alert related domains information +description: Retrieves all domains related to a specific alert. +keywords: apis, graph api, supported apis, get alert information, alert information, related domain +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Get alert related domain information API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + +Retrieves all domains related to a specific alert. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | URL.Read.All | 'Read URLs' + +## HTTP request +``` +GET /api/alerts/{id}/domains +``` + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | string | Bearer {token}. **Required**. + + +## Request body +Empty + +## Response +If successful and alert and domain exist - 200 OK. +If alert not found or domain not found - 404 Not Found. + + +## Example + +**Request** + +Here is an example of the request. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + + +``` +GET https://api.securitycenter.windows.com/alerts/636688558380765161_2136280442/domains +``` + +**Response** + +Here is an example of the response. + + +``` +HTTP/1.1 200 OK +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/$metadata#Domains", + "value": [ + { + "host": "www.example.com" + } + ] +} + +``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..5bac7b1862 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,99 @@ +--- +title: Get alert related files information +description: Retrieves all files related to a specific alert. +keywords: apis, graph api, supported apis, get alert information, alert information, related files +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Get alert related files information API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + +Retrieves all files related to a specific alert. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | File.Read.All | 'Read file profiles' + +## HTTP request +``` +GET /api/alerts/{id}/files +``` + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | string | Bearer {token}. **Required**. + + +## Request body +Empty + +## Response +If successful and alert and files exist - 200 OK. +If alert not found or files not found - 404 Not Found. + + +## Example + +**Request** + +Here is an example of the request. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + +``` +GET https://api.securitycenter.windows.com/api/alerts/636688558380765161_2136280442/files +``` + +**Response** + +Here is an example of the response. + + +``` +HTTP/1.1 200 OK +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#Files", + "value": [ + { + "sha1": "654f19c41d9662cf86be21bf0af5a88c38c56a9d", + "sha256": "2f905feec2798cee6f63da2c26758d86bfeaab954c01e20ac7085bf55fedde87", + "md5": "82849dc81d94056224445ea73dc6153a", + "globalPrevalence": 33, + "globalFirstObserved": "2018-07-17T18:17:27.5909748Z", + "globalLastObserved": "2018-08-06T16:07:12.9414137Z", + "windowsDefenderAVThreatName": null, + "size": 801112, + "fileType": "PortableExecutable", + "isPeFile": true, + "filePublisher": null, + "fileProductName": null, + "signer": "Microsoft Windows", + "issuer": "Microsoft Development PCA 2014", + "signerHash": "9e284231a4d1c53fc8d4492b09f65116bf97447f", + "isValidCertificate": true + } + ] +} +``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..d28d7e4c38 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,89 @@ +--- +title: Get alert related IPs information +description: Retrieves all IPs related to a specific alert. +keywords: apis, graph api, supported apis, get alert information, alert information, related ip +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Get alert related IP information API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +Retrieves all IPs related to a specific alert. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Ip.Read.All | 'Read IP address profiles' + +## HTTP request +``` +GET /api/alerts/{id}/ips +``` + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | string | Bearer {token}. **Required**. + + +## Request body +Empty + +## Response +If successful and alert and an IP exist - 200 OK. +If alert not found or IPs not found - 404 Not Found. + + +## Example + +**Request** + +Here is an example of the request. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + +``` +GET https://api.securitycenter.windows.com/alerts/636688558380765161_2136280442/ips +``` + +**Response** + +Here is an example of the response. + + +``` +HTTP/1.1 200 OK +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/$metadata#Ips", + "value": [ + { + "id": "104.80.104.128" + }, + { + "id": "23.203.232.228 + } + ] +} + +``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..d4e17a8f25 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,98 @@ +--- +title: Get alert related machine information +description: Retrieves all machines related to a specific alert. +keywords: apis, graph api, supported apis, get alert information, alert information, related machine +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Get alert related machine information API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +Retrieves machine that is related to a specific alert. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Machine.Read.All | 'Read all machine profiles' +Application | Machine.ReadWrite.All | 'Read and write all machine information' + +## HTTP request +``` +GET /api/alerts/{id}/machine +``` + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | string | Bearer {token}. **Required**. + + +## Request body +Empty + +## Response +If successful and alert and machine exist - 200 OK. +If alert not found or machine not found - 404 Not Found. + +## Example + +**Request** + +Here is an example of the request. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + + +``` +GET https://api.securitycenter.windows.com/api/alerts/636688558380765161_2136280442/machine +``` + +**Response** + +Here is an example of the response. + + +``` +HTTP/1.1 200 OK +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#Machines/$entity", + "id": "ff0c3800ed8d66738a514971cd6867166809369f", + "computerDnsName": "amazingmachine.contoso.com", + "firstSeen": "2017-12-10T07:47:34.4269783Z", + "osPlatform": "Windows10", + "osVersion": "10.0.0.0", + "systemProductName": null, + "lastIpAddress": "172.17.0.0", + "lastExternalIpAddress": "167.220.0.0", + "agentVersion": "10.5830.17732.1001", + "groupName": "ContosoGroup", + "osBuild": 17732, + "healthStatus": "Active", + "isAadJoined": true, + "machineTags": [], + "rbacGroupId": 75, + "riskScore": "Low", + "aadDeviceId": "80fe8ff8-0000-0000-9591-41f0491218f9" +} +``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..f2f994a6cb --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,90 @@ +--- +title: Get alert related user information +description: Retrieves the user associated to a specific alert. +keywords: apis, graph api, supported apis, get, alert, information, related, user +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Get alert related user information API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +Retrieves the user associated to a specific alert. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | User.Read.All | 'Read user profiles' + +## HTTP request +``` +GET /api/alerts/{id}/user +``` + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | string | Bearer {token}. **Required**. + + +## Request body +Empty + +## Response +If successful and alert and a user exists - 200 OK with user in the body. +If alert not found or user not found - 404 Not Found. + + +## Example + +**Request** + +Here is an example of the request. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + + +``` +GET https://api.securitycenter.windows.com/api/alerts/636688558380765161_2136280442/user +``` + +**Response** + +Here is an example of the response. + + +``` +HTTP/1.1 200 OK +Content-type: application/json +{ + "@odata.context": "https://wdatpapi-eus-stg.cloudapp.net/api/$metadata#Users/$entity", + "id": "contoso\\user1", + "firstSeen": "2018-08-02T00:00:00Z", + "lastSeen": "2018-08-04T00:00:00Z", + "mostPrevalentMachineId": null, + "leastPrevalentMachineId": null, + "logonTypes": "Network", + "logOnMachinesCount": 3, + "isDomainAdmin": false, + "isOnlyNetworkUser": null +} +``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..240b6627fc --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,128 @@ +--- +title: Get alerts API +description: Retrieves top recent alerts. +keywords: apis, graph api, supported apis, get, alerts, recent +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Get alerts API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +Retrieves top recent alerts. + + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Alert.Read.All | 'Read all alerts' +Application | Alert.ReadWrite.All | 'Read and write all alerts' + +## HTTP request +``` +GET /api/alerts +``` + +## Optional query parameters +Method supports $skip and $top query parameters. + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | string | Bearer {token}. **Required**. + + +## Request body +Empty + +## Response +If successful, this method returns 200 OK, and a list of [alert](alerts-windows-defender-advanced-threat-protection-new.md) objects in the response body. +If no recent alerts found - 404 Not Found. + + +## Example + +**Request** + +Here is an example of the request. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + +``` +GET https://api.securitycenter.windows.com/api/alerts +``` + +**Response** + +Here is an example of the response. + +>[!NOTE] +>The response object shown here may be truncated for brevity. All of the properties will be returned from an actual call. + + +``` +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#Alerts", + "value": [ + { + "id": "636688558380765161_2136280442", + "severity": "Informational", + "status": "InProgress", + "description": "Some alert description 1", + "recommendedAction": "Some recommended action 1", + "alertCreationTime": "2018-08-03T01:17:17.9516179Z", + "category": "General", + "title": "Some alert title 1", + "threatFamilyName": null, + "detectionSource": "WindowsDefenderAtp", + "classification": "TruePositive", + "determination": null, + "assignedTo": "best secop ever", + "resolvedTime": null, + "lastEventTime": "2018-08-02T07:02:52.0894451Z", + "firstEventTime": "2018-08-02T07:02:52.0894451Z", + "actorName": null, + "machineId": "ff0c3800ed8d66738a514971cd6867166809369f" + }, + { + "id": "636688558380765161_2136280442", + "severity": "Informational", + "status": "InProgress", + "description": "Some alert description 2", + "recommendedAction": "Some recommended action 2", + "alertCreationTime": "2018-08-04T01:17:17.9516179Z", + "category": "General", + "title": "Some alert title 2", + "threatFamilyName": null, + "detectionSource": "WindowsDefenderAtp", + "classification": "TruePositive", + "determination": null, + "assignedTo": "best secop ever", + "resolvedTime": null, + "lastEventTime": "2018-08-03T07:02:52.0894451Z", + "firstEventTime": "2018-08-03T07:02:52.0894451Z", + "actorName": null, + "machineId": "ff0c3800ed8d66738a514971cd6867166809369d" + } + ] +} +``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..d67c7e990a --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,124 @@ +--- +title: Get domain related alerts API +description: Retrieves a collection of alerts related to a given domain address. +keywords: apis, graph api, supported apis, get, domain, related, alerts +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Get domain related alerts API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +Retrieves a collection of alerts related to a given domain address. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Alert.Read.All | 'Read all alerts' +Application | Alert.ReadWrite.All | 'Read and write all alerts' + +## HTTP request +``` +GET /api/domains/{domain}/alerts +``` + +## Request headers + +Header | Value +:---|:--- +Authorization | Bearer {token}. **Required**. + + +## Request body +Empty + +## Response +If successful and domain and alert exists - 200 OK with list of [alert](alerts-windows-defender-advanced-threat-protection-new.md) objects. +If domain or alert does not exist - 404 Not Found. + + +## Example + +**Request** + +Here is an example of the request. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + +``` +GET https://api.securitycenter.windows.com/api/domains/client.wns.windows.com/alerts +``` + +**Response** + +Here is an example of the response. + +``` +HTTP/1.1 200 OK +Content-type: application/json + +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#Machines", + "value": [ + { + "id": "636688558380765161_2136280442", + "severity": "Informational", + "status": "InProgress", + "description": "Some alert description 1", + "recommendedAction": "Some recommended action 1", + "alertCreationTime": "2018-08-03T01:17:17.9516179Z", + "category": "General", + "title": "Some alert title 1", + "threatFamilyName": null, + "detectionSource": "WindowsDefenderAtp", + "classification": "TruePositive", + "determination": null, + "assignedTo": "best secop ever", + "resolvedTime": null, + "lastEventTime": "2018-08-02T07:02:52.0894451Z", + "firstEventTime": "2018-08-02T07:02:52.0894451Z", + "actorName": null, + "machineId": "ff0c3800ed8d66738a514971cd6867166809369f" + }, + { + "id": "636688558380765161_2136280442", + "severity": "Informational", + "status": "InProgress", + "description": "Some alert description 2", + "recommendedAction": "Some recommended action 2", + "alertCreationTime": "2018-08-04T01:17:17.9516179Z", + "category": "General", + "title": "Some alert title 2", + "threatFamilyName": null, + "detectionSource": "WindowsDefenderAtp", + "classification": "TruePositive", + "determination": null, + "assignedTo": "best secop ever", + "resolvedTime": null, + "lastEventTime": "2018-08-03T07:02:52.0894451Z", + "firstEventTime": "2018-08-03T07:02:52.0894451Z", + "actorName": null, + "machineId": "ff0c3800ed8d66738a514971cd6867166809369d" + } + ] +} +``` + diff --git a/windows/security/threat-protection/windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..0294068db8 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,121 @@ +--- +title: Get domain related machines API +description: Retrieves a collection of machines related to a given domain address. +keywords: apis, graph api, supported apis, get, domain, related, machines +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Get domain related machines API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +Retrieves a collection of machines that have communicated to or from a given domain address. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | URL.Read.All | 'Read URLs' + +## HTTP request +``` +GET /api/domains/{domain}/machines +``` + +## Request headers + +Header | Value +:---|:--- +Authorization | Bearer {token}. **Required**. + + +## Request body +Empty + +## Response +If successful and domain and machine exists - 200 OK with list of [machine](machine-windows-defender-advanced-threat-protection-new.md) objects. +If domain or machines do not exist - 404 Not Found. + + +## Example + +**Request** + +Here is an example of the request. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + + +``` +GET https://api.securitycenter.windows.com/api/domains/api.securitycenter.windows.com/machines +``` + +**Response** + +Here is an example of the response. + + +``` +HTTP/1.1 200 OK +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#Machines", + "value": [ + { + "id": "02ea9a24e8bd39c247ed7ca0edae879c321684e5", + "computerDnsName": "testMachine1", + "firstSeen": "2018-07-30T20:12:00.3708661Z", + "osPlatform": "Windows10", + "osVersion": null, + "systemProductName": null, + "lastIpAddress": "10.209.67.177", + "lastExternalIpAddress": "167.220.1.210", + "agentVersion": "10.5830.18208.1000", + "groupName": null, + "osBuild": 18208, + "healthStatus": "Inactive", + "isAadJoined": false, + "machineTags": [], + "rbacGroupId": 75, + "riskScore": "Low", + "aadDeviceId": null + }, + { + "id": "02efb9a9b85f07749a018fbf3f962b4700b3b949", + "computerDnsName": "testMachine2", + "firstSeen": "2018-07-30T19:50:47.3618349Z", + "osPlatform": "Windows10", + "osVersion": null, + "systemProductName": null, + "lastIpAddress": "10.209.70.231", + "lastExternalIpAddress": "167.220.0.28", + "agentVersion": "10.5830.18208.1000", + "groupName": null, + "osBuild": 18208, + "healthStatus": "Inactive", + "isAadJoined": false, + "machineTags": [], + "rbacGroupId": 75, + "riskScore": "None", + "aadDeviceId": null + } + ] +} +``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..cae669cc07 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,84 @@ +--- +title: Get domain statistics API +description: Retrieves the prevalence for the given domain. +keywords: apis, graph api, supported apis, get, domain, domain related machines +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Get domain statistics API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +Retrieves the prevalence for the given domain. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | URL.Read.All | 'Read all machine profiles' + +## HTTP request +``` +GET /api/domains/{domain}/stats +``` + +## Request headers + +Header | Value +:---|:--- +Authorization | Bearer {token}. **Required**. + + +## Request body +Empty + +## Response +If successful and domain exists - 200 OK, with statistics object in the respnose body. +If domain does not exist - 404 Not Found. + + +## Example + +**Request** + +Here is an example of the request. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + +``` +GET https://api.securitycenter.windows.com/api/domains/example.com/stats +``` + +**Response** + +Here is an example of the response. + + +``` +HTTP/1.1 200 OK +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#microsoft.windowsDefenderATP.api.InOrgDomainStats", + "host": "example.com", + "orgPrevalence": "4070", + "orgFirstSeen": "2017-07-30T13:23:48Z", + "orgLastSeen": "2017-08-29T13:09:05Z" +} +``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..0c8cc1a590 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,97 @@ +--- +title: Get file information API +description: Retrieves a file by identifier Sha1, Sha256, or MD5. +keywords: apis, graph api, supported apis, get, file, information, sha1, sha256, md5 +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Get file information API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + + +Retrieves a file by identifier Sha1, Sha256, or MD5. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | File.Read.All | 'Read all file profiles' + +## HTTP request +``` +GET /api/files/{id} +``` + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | string | Bearer {token}. **Required**. + + +## Request body +Empty + +## Response +If successful and file exists - 200 OK with the [file](files-windows-defender-advanced-threat-protection-new.md) entity in the body. +If file does not exist - 404 Not Found. + + +## Example + +**Request** + +Here is an example of the request. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + +``` +GET https://api.securitycenter.windows.com/api/files/6532ec91d513acc05f43ee0aa3002599729fd3e1 +``` + +**Response** + +Here is an example of the response. + + +``` +HTTP/1.1 200 OK +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#Files/$entity", + "sha1": "6532ec91d513acc05f43ee0aa3002599729fd3e1", + "sha256": "d4447dffdbb2889b4b4e746b0bc882df1b854101614b0aa83953ef3cb66904cf", + "md5": "7f05a371d2beffb3784fd2199f81d730", + "globalPrevalence": 7329, + "globalFirstObserved": "2018-04-08T05:50:29.4459725Z", + "globalLastObserved": "2018-08-07T23:35:11.1361328Z", + "windowsDefenderAVThreatName": null, + "size": 391680, + "fileType": "PortableExecutable", + "isPeFile": true, + "filePublisher": null, + "fileProductName": null, + "signer": null, + "issuer": null, + "signerHash": null, + "isValidCertificate": null +} +``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..467ec1b0f0 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,103 @@ +--- +title: Get file related alerts API +description: Retrieves a collection of alerts related to a given file hash. +keywords: apis, graph api, supported apis, get, file, hash +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Get file related alerts API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +Retrieves a collection of alerts related to a given file hash. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Alert.Read.All | 'Read all alerts' +Application | Alert.ReadWrite.All | 'Read and write all alerts' + +## HTTP request +``` +GET /api/files/{id}/alerts +``` + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | string | Bearer {token}. **Required**. + + +## Request body +Empty + +## Response +If successful and file and alert exists - 200 OK with list of [alert](alerts-windows-defender-advanced-threat-protection-new.md) entities in the body. +If file or alerts do not exist - 404 Not Found. + + +## Example + +**Request** + +Here is an example of the request. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + +``` +GET https://api.securitycenter.windows.com/api/files/6532ec91d513acc05f43ee0aa3002599729fd3e1/alerts +``` + +**Response** + +Here is an example of the response. + + +``` +HTTP/1.1 200 OK +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#Alerts", + "value": [ + { + "id": "636692391408655573_2010598859", + "severity": "Low", + "status": "New", + "description": "test alert", + "recommendedAction": "do this and that", + "alertCreationTime": "2018-08-07T11:45:40.0199932Z", + "category": "None", + "title": "test alert", + "threatFamilyName": null, + "detectionSource": "CustomerTI", + "classification": null, + "determination": null, + "assignedTo": null, + "resolvedTime": null, + "lastEventTime": "2018-08-03T16:45:21.7115182Z", + "firstEventTime": "2018-08-03T16:45:21.7115182Z", + "actorName": null, + "machineId": "1e5bc9d7e413ddd7902c2932e418702b84d0cc07" + } + ] +} +``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..a4edd6751b --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,121 @@ +--- +title: Get file related machines API +description: Retrieves a collection of machines related to a given file hash. +keywords: apis, graph api, supported apis, get, machines, hash +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Get file related machines API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +Retrieves a collection of machines related to a given file hash. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Machine.Read.All | 'Read all machine profiles' +Application | Machine.ReadWrite.All | 'Read and write all machine information' + +## HTTP request +``` +GET /api/files/{id}/machines +``` + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | string | Bearer {token}. **Required**. + + +## Request body +Empty + +## Response +If successful and file and machines exists - 200 OK with list of [machine](machine-windows-defender-advanced-threat-protection-new.md) entities in the body. +If file or machines do not exist - 404 Not Found. + + +## Example + +**Request** + +Here is an example of the request. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + +``` +GET https://api.securitycenter.windows.com/api/files/1e5bc9d7e413ddd7902c2932e418702b84d0cc07/machines +``` + +**Response** + +Here is an example of the response. + + +``` +HTTP/1.1 200 OK +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#Machines", + "value": [ + { + "id": "1e5bc9d7e413ddd7902c2932e418702b84d0cc07", + "computerDnsName": "mymachine1.contoso.com", + "firstSeen": "2018-08-02T14:55:03.7791856Z", + "osPlatform": "Windows10", + "osVersion": null, + "systemProductName": null, + "lastIpAddress": "172.17.230.209", + "lastExternalIpAddress": "167.220.196.71", + "agentVersion": "10.5830.18209.1001", + "groupName": null, + "osBuild": 18209, + "healthStatus": "Active", + "isAadJoined": true, + "machineTags": [], + "rbacGroupId": 140, + "riskScore": "Low", + "aadDeviceId": null + }, + { + "id": "7292e4b8cb74ff1cc3d8a495eb29dc8858b732f7", + "computerDnsName": "mymachine2.contoso.com", + "firstSeen": "2018-07-09T13:22:45.1250071Z", + "osPlatform": "Windows10", + "osVersion": null, + "systemProductName": null, + "lastIpAddress": "192.168.12.225", + "lastExternalIpAddress": "79.183.65.82", + "agentVersion": "10.5820.17724.1000", + "groupName": "WDATPClientTeam", + "osBuild": 17724, + "healthStatus": "Inactive", + "isAadJoined": true, + "machineTags": [], + "rbacGroupId": 140, + "riskScore": "Low", + "aadDeviceId": null + } + ] +} +``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..3c97bc8e75 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,89 @@ +--- +title: Get file statistics API +description: Retrieves the prevalence for the given file. +keywords: apis, graph api, supported apis, get, file, statistics +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Get file statistics API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +Retrieves the prevalence for the given file. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | File.Read.All | 'Read file profiles' + +## HTTP request +``` +GET /api/files/{id}/stats +``` + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | string | Bearer {token}. **Required**. + + +## Request body +Empty + +## Response +If successful and file exists - 200 OK with statistical data in the body. +If file do not exist - 404 Not Found. + + +## Example + +**Request** + +Here is an example of the request. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + +``` +GET https://api.securitycenter.windows.com/api/files/6532ec91d513acc05f43ee0aa3002599729fd3e1/stats +``` + +**Response** + +Here is an example of the response. + + +``` +HTTP/1.1 200 OK +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#microsoft.windowsDefenderATP.api.InOrgFileStats", + "sha1": "6532ec91d513acc05f43ee0aa3002599729fd3e1", + "orgPrevalence": "3", + "orgFirstSeen": "2018-07-15T06:13:59Z", + "orgLastSeen": "2018-08-03T16:45:21Z", + "topFileNames": [ + "chrome_1.exe", + "chrome_2.exe" + ] +} + +``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..ef6e67570d --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,104 @@ +--- +title: Get IP related alerts API +description: Retrieves a collection of alerts related to a given IP address. +keywords: apis, graph api, supported apis, get, ip, related, alerts +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Get IP related alerts API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +Retrieves a collection of alerts related to a given IP address. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Alert.Read.All | 'Read all alerts' +Application | Alert.ReadWrite.All | 'Read and write all alerts' + +## HTTP request +``` +GET /api/ips/{ip}/alerts +``` + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | string | Bearer {token}. **Required**. + + +## Request body +Empty + +## Response +If successful and IP and alert exists - 200 OK with list of [alert](alerts-windows-defender-advanced-threat-protection-new.md) entities in the body. +If IP and alerts do not exist - 404 Not Found. + + +## Example + +**Request** + +Here is an example of the request. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + + +``` +GET https://api.securitycenter.windows.com/api/ips/10.209.67.177/alerts +``` + +**Response** + +Here is an example of the response. + + +``` +HTTP/1.1 200 OK +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#Alerts", + "value": [ + { + "id": "636692391408655573_2010598859", + "severity": "Low", + "status": "New", + "description": "test alert", + "recommendedAction": "do this and that", + "alertCreationTime": "2018-08-07T11:45:40.0199932Z", + "category": "None", + "title": "test alert", + "threatFamilyName": null, + "detectionSource": "CustomerTI", + "classification": null, + "determination": null, + "assignedTo": null, + "resolvedTime": null, + "lastEventTime": "2018-08-03T16:45:21.7115182Z", + "firstEventTime": "2018-08-03T16:45:21.7115182Z", + "actorName": null, + "machineId": "1e5bc9d7e413ddd7902c2932e418702b84d0cc07" + } + ] +} +``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..c89ed86297 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,114 @@ +--- +title: Get IP related machines API +description: Retrieves a collection of machines related to a given IP address. +keywords: apis, graph api, supported apis, get, ip, related, machines +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Get IP related machines API +Retrieves a collection of alerts related to a given IP address. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Machine.Read.All | 'Read all machine profiles' +Application | Machine.ReadWrite.All | 'Read and write all machine information' + +## HTTP request +``` +GET /api/ips/{ip}/machines +``` + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | string | Bearer {token}. **Required**. + + +## Request body +Empty + +## Response +If successful and IP and machines exists - 200 OK with list of [machine](machine-windows-defender-advanced-threat-protection-new.md) entities in the body. +If IP or machines do not exist - 404 Not Found. + + +## Example + +**Request** + +Here is an example of the request. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + +``` +GET https://api.securitycenter.windows.com/api/ips/10.209.67.177/machines +``` + +**Response** + +Here is an example of the response. + + +``` +HTTP/1.1 200 OK +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#Machines", + "value": [ + { + "id": "1e5bc9d7e413ddd7902c2932e418702b84d0cc07", + "computerDnsName": "mymachine1.contoso.com", + "firstSeen": "2018-08-02T14:55:03.7791856Z", + "osPlatform": "Windows10", + "osVersion": null, + "systemProductName": null, + "lastIpAddress": "172.17.230.209", + "lastExternalIpAddress": "167.220.196.71", + "agentVersion": "10.5830.18209.1001", + "groupName": null, + "osBuild": 18209, + "healthStatus": "Active", + "isAadJoined": true, + "machineTags": [], + "rbacGroupId": 140, + "riskScore": "Low", + "aadDeviceId": null + }, + { + "id": "7292e4b8cb74ff1cc3d8a495eb29dc8858b732f7", + "computerDnsName": "mymachine2.contoso.com", + "firstSeen": "2018-07-09T13:22:45.1250071Z", + "osPlatform": "Windows10", + "osVersion": null, + "systemProductName": null, + "lastIpAddress": "192.168.12.225", + "lastExternalIpAddress": "79.183.65.82", + "agentVersion": "10.5820.17724.1000", + "groupName": "WDATPClientTeam", + "osBuild": 17724, + "healthStatus": "Inactive", + "isAadJoined": true, + "machineTags": [], + "rbacGroupId": 140, + "riskScore": "Low", + "aadDeviceId": null + } + ] +} +``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..affd63c23c --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,84 @@ +--- +title: Get IP statistics API +description: Retrieves the prevalence for the given IP. +keywords: apis, graph api, supported apis, get, ip, statistics, prevalence +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Get IP statistics API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +Retrieves the prevalence for the given IP. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Ip.Read.All | 'Read IP address profiles' + +## HTTP request +``` +GET /api/ips/{ip}/stats +``` + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | string | Bearer {token}. **Required**. + + +## Request body +Empty + +## Response +If successful and file exists - 200 OK with statistical data in the body. +If file do not exist - 404 Not Found. + + +## Example + +**Request** + +Here is an example of the request. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + +``` +GET https://api.securitycenter.windows.com/api/ips/10.209.67.177/stats +``` + +**Response** + +Here is an example of the response. + + +``` +HTTP/1.1 200 OK +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#microsoft.windowsDefenderATP.api.InOrgIPStats", + "ipAddress": "192.168.1.1", + "orgPrevalence": "63515", + "orgFirstSeen": "2017-07-30T13:36:06Z", + "orgLastSeen": "2017-08-29T13:32:59Z" +} +``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..d7dae982e8 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,99 @@ +--- +title: Get machine by ID API +description: Retrieves a machine entity by ID. +keywords: apis, graph api, supported apis, get, machines, entity, id +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Get machine by ID API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +Retrieves a machine entity by ID. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Machine.Read.All | 'Read all machine profiles' +Application | Machine.ReadWrite.All | 'Read and write all machine information' + +## HTTP request +``` +GET /api/machines/{id} +``` + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | string | Bearer {token}. **Required**. + + +## Request body +Empty + +## Response +If successful and machine exists - 200 OK with the [machine](machine-windows-defender-advanced-threat-protection-new.md) entity in the body. +If machine with the specified id was not found - 404 Not Found. + + +## Example + +**Request** + +Here is an example of the request. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + +``` +GET https://api.securitycenter.windows.com/api/machines/1e5bc9d7e413ddd7902c2932e418702b84d0cc07 +``` + +**Response** + +Here is an example of the response. + + +``` +HTTP/1.1 200 OK +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#Machine", + "id": "1e5bc9d7e413ddd7902c2932e418702b84d0cc07", + "computerDnsName": "mymachine1.contoso.com", + "firstSeen": "2018-08-02T14:55:03.7791856Z", + "osPlatform": "Windows10", + "osVersion": null, + "systemProductName": null, + "lastIpAddress": "172.17.230.209", + "lastExternalIpAddress": "167.220.196.71", + "agentVersion": "10.5830.18209.1001", + "groupName": null, + "osBuild": 18209, + "healthStatus": "Active", + "isAadJoined": true, + "machineTags": [], + "rbacGroupId": 140, + "riskScore": "Low", + "aadDeviceId": null +} + +``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..7f94e8c74e --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,106 @@ +--- +title: Get machine log on users API +description: Retrieves a collection of logged on users. +keywords: apis, graph api, supported apis, get, machine, log on, users +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Get machine log on users API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + + +Retrieves a collection of logged on users. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | User.Read.All | 'Read user profiles' + + +## HTTP request +``` +GET /api/machines/{id}/logonusers +``` + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | string | Bearer {token}. **Required**. + + +## Request body +Empty + +## Response +If successful and machine and user exist - 200 OK with list of [user](user-windows-defender-advanced-threat-protection-new.md) entities in the body +If no machine found or no users found - 404 Not Found. + + +## Example + +**Request** + +Here is an example of the request. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + +``` +GET https://api.securitycenter.windows.com/api/1e5bc9d7e413ddd7902c2932e418702b84d0cc07/logonusers +``` + +**Response** + +Here is an example of the response. + + +``` +HTTP/1.1 200 OK +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#Users", + "value": [ + { + "id": "contoso\\user1", + "firstSeen": "2018-08-02T00:00:00Z", + "lastSeen": "2018-08-04T00:00:00Z", + "mostPrevalentMachineId": null, + "leastPrevalentMachineId": null, + "logonTypes": "Network", + "logOnMachinesCount": 3, + "isDomainAdmin": false, + "isOnlyNetworkUser": null + }, + { + "id": "contoso\\user2", + "firstSeen": "2018-08-02T00:00:00Z", + "lastSeen": "2018-08-05T00:00:00Z", + "mostPrevalentMachineId": null, + "leastPrevalentMachineId": null, + "logonTypes": "Network", + "logOnMachinesCount": 3, + "isDomainAdmin": false, + "isOnlyNetworkUser": null + } + ] +} +``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..5b98bf3a4f --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,104 @@ +--- +title: Get machine related alerts API +description: Retrieves a collection of alerts related to a given machine ID. +keywords: apis, graph api, supported apis, get, machines, related, alerts +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Get machine related alerts API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +Retrieves a collection of alerts related to a given machine ID. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Alert.Read.All | 'Read all alerts' +Application | Alert.ReadWrite.All | 'Read and write all alerts' + +## HTTP request +``` +GET /api/machines/{id}/alerts +``` + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | string | Bearer {token}. **Required**. + + +## Request body +Empty + +## Response +If successful and machine and alert exists - 200 OK with list of [alert](alerts-windows-defender-advanced-threat-protection-new.md) entities in the body. +If no machine or no alerts found - 404 Not Found. + + +## Example + +**Request** + +Here is an example of the request. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + + +``` +GET https://api.securitycenter.windows.com/api/machines/{id}/alerts +``` + +**Response** + +Here is an example of the response. + + +``` +HTTP/1.1 200 OK +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#Alerts", + "value": [ + { + "id": "636692391408655573_2010598859", + "severity": "Low", + "status": "New", + "description": "test alert", + "recommendedAction": "do this and that", + "alertCreationTime": "2018-08-07T11:45:40.0199932Z", + "category": "None", + "title": "test alert", + "threatFamilyName": null, + "detectionSource": "CustomerTI", + "classification": null, + "determination": null, + "assignedTo": null, + "resolvedTime": null, + "lastEventTime": "2018-08-03T16:45:21.7115182Z", + "firstEventTime": "2018-08-03T16:45:21.7115182Z", + "actorName": null, + "machineId": "1e5bc9d7e413ddd7902c2932e418702b84d0cc07" + } + ] +} +``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..2f3ae63b1c --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,91 @@ +--- +title: Get MachineAction object API +description: Use this API to create calls related to get machineaction object +keywords: apis, graph api, supported apis, machineaction object +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Get MachineAction object API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +Get actions done on a machine. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Machine.Read.All | 'Read all machine profiles' +Application | Machine.ReadWrite.All | 'Read and write all machine information' + +## HTTP request +``` +GET /api/machineactions/{id} +``` + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | string | Bearer {token}. **Required**. + + +## Request body +Empty + +## Response +If successful, this method returns 200, Ok response code with a [Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) object. +If machine action with the specified id was not found - 404 Not Found. + +## Example + +**Request** + +Here is an example of the request. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + +``` +GET https://api.securitycenter.windows.com/api/machineactions/2e9da30d-27f6-4208-81f2-9cd3d67893ba +``` + +**Response** + +Here is an example of the response. + + +``` +HTTP/1.1 200 Ok +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#MachineActions/$entity", + "id": "2e9da30d-27f6-4208-81f2-9cd3d67893ba", + "type": "RunAntiVirusScan", + "requestor": "Analyst@contoso.com", + "requestorComment": "Check machine for viruses due to alert 3212", + "status": "Succeeded", + "error": "None", + "machineId": "f46b9bb259ed4a7fb9981b73510e3cc7aa81ec1f", + "creationDateTimeUtc": "2017-12-04T12:18:27.1293487Z", + "lastUpdateTimeUtc": "2017-12-04T12:18:57.5511934Z" +} + + +``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..ae7970fd01 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,165 @@ +--- +title: Get MachineActions collection API +description: Use this API to create calls related to get machineactions collection +keywords: apis, graph api, supported apis, machineaction collection +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Get MachineActions collection API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + Gets collection of actions done on machines. Get MachineAction collection API supports OData V4 queries. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Machine.Read.All | 'Read all machine profiles' +Application | Machine.ReadWrite.All | 'Read and write all machine information' + +## HTTP request +``` +GET /api/machineactions +``` + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | string | Bearer {token}. **Required**. + + +## Request body +Empty + +## Response +If successful, this method returns 200, Ok response code with a collection of [Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) objects since the Retention policy time of the organization. + + +## Example 1 + +**Request** + +Here is an example of the request on an organization that has three MachineActions. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + +``` +GET https://api.securitycenter.windows.com/api/machineactions +``` + +**Response** + +Here is an example of the response. + + +``` +HTTP/1.1 200 Ok +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#MachineActions", + "value": [ + { + "id": "69dc3630-1ccc-4342-acf3-35286eec741d", + "type": "CollectInvestigationPackage", + "requestor": "Analyst@contoso.com", + "requestorComment": "test", + "status": "Succeeded", + "error": "None", + "machineId": "f46b9bb259ed4a7fb9981b73510e3cc7aa81ec1f", + "creationDateTimeUtc": "2017-12-04T12:43:57.2011911Z", + "lastUpdateTimeUtc": "2017-12-04T12:45:25.4049122Z" + }, + { + "id": "2e9da30d-27f6-4208-81f2-9cd3d67893ba", + "type": "RunAntiVirusScan", + "requestor": "Analyst@contoso.com", + "requestorComment": "Check machine for viruses due to alert 3212", + "status": "Succeeded", + "error": "None", + "machineId": "f46b9bb259ed4a7fb9981b73510e3cc7aa81ec1f", + "creationDateTimeUtc": "2017-12-04T12:18:27.1293487Z", + "lastUpdateTimeUtc": "2017-12-04T12:18:57.5511934Z" + }, + { + "id": "44cffc15-0e3d-4cbf-96aa-bf76f9b27f5e", + "type": "UnrestrictCodeExecution", + "requestor": "Analyst@contoso.com", + "requestorComment": "test", + "status": "Succeeded", + "error": "None", + "machineId": "f46b9bb259ed4a7fb9981b73510e3cc7aa81ec1f", + "creationDateTimeUtc": "2017-12-04T12:15:40.6052029Z", + "lastUpdateTimeUtc": "2017-12-04T12:16:14.2899973Z" + } + ] +} +``` + +## Example 2 + +**Request** + +Here is an example of a request that filters the MachineActions by machine ID and shows the latest two MachineActions. + +``` +GET https://api.securitycenter.windows.com/api/machineactions?$filter=machineId eq 'f46b9bb259ed4a7fb9981b73510e3cc7aa81ec1f'&$top=2 +``` + +**Response** + +Here is an example of the response. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + +``` +HTTP/1.1 200 Ok +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/testwdatppreview/$metadata#MachineActions", + "value": [ + { + "id": "69dc3630-1ccc-4342-acf3-35286eec741d", + "type": "CollectInvestigationPackage", + "requestor": "Analyst@contoso.com", + "requestorComment": "test", + "status": "Succeeded", + "error": "None", + "machineId": "f46b9bb259ed4a7fb9981b73510e3cc7aa81ec1f", + "creationDateTimeUtc": "2017-12-04T12:43:57.2011911Z", + "lastUpdateTimeUtc": "2017-12-04T12:45:25.4049122Z" + }, + { + "id": "2e9da30d-27f6-4208-81f2-9cd3d67893ba", + "type": "RunAntiVirusScan", + "requestor": "Analyst@contoso.com", + "requestorComment": "Check machine for viruses due to alert 3212", + "status": "Succeeded", + "error": "None", + "machineId": "f46b9bb259ed4a7fb9981b73510e3cc7aa81ec1f", + "creationDateTimeUtc": "2017-12-04T12:18:27.1293487Z", + "lastUpdateTimeUtc": "2017-12-04T12:18:57.5511934Z" + } + ] +} +``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-machines-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-machines-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..35c4d198ee --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/get-machines-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,120 @@ +--- +title: Get machines API +description: Retrieves a collection of recently seen machines. +keywords: apis, graph api, supported apis, get, machines +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Get machines API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +Retrieves a collection of recently seen machines. + +## Permissions + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Machine.Read.All | 'Read all machine profiles' +Application | Machine.ReadWrite.All | 'Read and write all machine information' + +## HTTP request +``` +GET /api/machines +``` + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | string | Bearer {token}. **Required**. + + +## Request body +Empty + +## Response +If successful and machines exists - 200 OK with list of [machine](machine-windows-defender-advanced-threat-protection-new.md) entities in the body. +If no recent machines - 404 Not Found. + + +## Example + +**Request** + +Here is an example of the request. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + +``` +GET https://api.securitycenter.windows.com/api/machines +``` + +**Response** + +Here is an example of the response. + + +``` +HTTP/1.1 200 OK +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#Machines", + "value": [ + { + "id": "1e5bc9d7e413ddd7902c2932e418702b84d0cc07", + "computerDnsName": "mymachine1.contoso.com", + "firstSeen": "2018-08-02T14:55:03.7791856Z", + "osPlatform": "Windows10", + "osVersion": null, + "systemProductName": null, + "lastIpAddress": "172.17.230.209", + "lastExternalIpAddress": "167.220.196.71", + "agentVersion": "10.5830.18209.1001", + "groupName": null, + "osBuild": 18209, + "healthStatus": "Active", + "isAadJoined": true, + "machineTags": [], + "rbacGroupId": 140, + "riskScore": "Low", + "aadDeviceId": null + }, + { + "id": "7292e4b8cb74ff1cc3d8a495eb29dc8858b732f7", + "computerDnsName": "mymachine2.contoso.com", + "firstSeen": "2018-07-09T13:22:45.1250071Z", + "osPlatform": "Windows10", + "osVersion": null, + "systemProductName": null, + "lastIpAddress": "192.168.12.225", + "lastExternalIpAddress": "79.183.65.82", + "agentVersion": "10.5820.17724.1000", + "groupName": "WDATPClientTeam", + "osBuild": 17724, + "healthStatus": "Inactive", + "isAadJoined": true, + "machineTags": [], + "rbacGroupId": 140, + "riskScore": "Low", + "aadDeviceId": null + } + ] +} +``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..e3b14550d2 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,84 @@ +--- +title: Get package SAS URI API +description: Use this API to get a URI that allows downloading an investigation package. +keywords: apis, graph api, supported apis, get package, sas, uri +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Get package SAS URI API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +Get a URI that allows downloading of an investigation package. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Machine.CollectForensics | 'Collect forensics' + +## HTTP request +``` +GET /api/machineactions/{id}/getPackageUri +``` + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | string | Bearer {token}. **Required**. + + +## Request body +Empty + +## Response +If successful, this method returns 200, Ok response code with object that holds the link to the package in the “value” parameter. This link is valid for a very short time and should be used immediately for downloading the package to a local storage. + + +## Example + +**Request** + +Here is an example of the request. + +``` +GET https://api.securitycenter.windows.com/api/machineactions/7327b54fd718525cbca07dacde913b5ac3c85673/GetPackageUri + +``` + +**Response** + +Here is an example of the response. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + + +``` +HTTP/1.1 200 Ok +Content-type: application/json + +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#Edm.String", + "value": "\"https://userrequests-us.securitycenter.windows.com:443/safedownload/WDATP_Investigation_Package.zip?token=gbDyj7y%2fbWGAZjn2sFiZXlliBTXOCVG7yiJ6mXNaQ9pLByC2Wxeno9mENsPFP3xMk5l%2bZiJXjLvqAyNEzUNROxoM2I1er9dxzfVeBsxSmclJjPsAx%2btiNyxSz1Ax%2b5jaT5cL5bZg%2b8wgbwY9urXbTpGjAKh6FB1e%2b0ypcWkPm8UkfOwsmtC%2biZJ2%2bPqnkkeQk7SKMNoAvmh9%2fcqDIPKXGIBjMa0D9auzypOqd8bQXp7p2BnLSH136BxST8n9IHR4PILvRjAYW9kvtHkBpBitfydAsUW4g2oDZSPN3kCLBOoo1C4w4Lkc9Bc3GNU2IW6dfB7SHcp7G9p4BDkeJl3VuDs6esCaeBorpn9FKJ%2fXo7o9pdcI0hUPZ6Ds9hiPpwPUtz5J29CBE3QAopCK%2fsWlf6OW2WyXsrNRSnF1tVE5H3wXpREzuhD7S4AIA3OIEZKzC4jIPLeMu%2bazZU9xGwuc3gICOaokbwMJiZTqcUuK%2fV9YdBdjdg8wJ16NDU96Pl6%2fgew2KYuk6Wo7ZuHotgHI1abcsvdlpe4AvixDbqcRJthsg2PpLRaFLm5av44UGkeK6TJpFvxUn%2f9fg6Zk5yM1KUTHb8XGmutoCM8U9er6AzXZlY0gGc3D3bQOg41EJZkEZLyUEbk1hXJB36ku2%2bW01cG71t7MxMBYz7%2bdXobxpdo%3d%3bRWS%2bCeoDfTyDcfH5pkCg6hYDmCOPr%2fHYQuaUWUBNVnXURYkdyOzVHqp%2fe%2f1BNyPdVoVkpQHpz1pPS3b5g9h7IMmNKCk5gFq5m2nPx6kk9EYtzx8Ndoa2m9Yj%2bSaf8zIFke86YnfQL4AYewsnQNJJh4wc%2bXxGlBq7axDcoiOdX91rKzVicH3GSBkFoLFAKoegWWsF%2fEDZcVpF%2fXUA1K8HvB6dwyfy4y0sAqnNPxYTQ97mG7yHhxPt4Pe9YF2UPPAJVuEf8LNlQ%2bWHC9%2f7msF6UUI4%2fca%2ftpjFs%2fSNeRE8%2fyQj21TI8YTF1SowvaJuDc1ivEoeopNNGG%2bGI%2fX0SckaVxU9Hdkh0zbydSlT5SZwbSwescs0IpzECitBbaLUz4aT8KTs8T0lvx8D7Te3wVsKAJ1r3iFMQZrlk%2bS1WW8rvac7oHRx2HKURn1v7fDIQWgJr9aNsNlFz4fLJ50T2qSHuuepkLVbe93Va072aMGhvr09WVKoTpAf1j2bcFZZU6Za5PxI32mr0k90FgiYFJ1F%2f1vRDrGwvWVWUkR3Z33m4g0gHa52W1FMxQY0TJIwbovD6FaSNDx7xhKZSd5IJ7r6P91Gez49PaZRcAZPjd%2bfbul3JNm1VqQPTLohT7wa0ymRiXpSST74xtFzuEBzNSNATdbngj3%2fwV4JesTjZjIj5Dc%3d%3blumqauVlFuuO8MQffZgs0tLJ4Fq6fpeozPTdDf8Ll6XLegi079%2b4mSPFjTK0y6eohstxdoOdom2wAHiZwk0u4KLKmRkfYOdT1wHY79qKoBQ3ZDHFTys9V%2fcwKGl%2bl8IenWDutHygn5IcA1y7GTZj4g%3d%3d\"" +} + + +``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..74880584e6 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,86 @@ +--- +title: Get user information API +description: Retrieve a User entity by key such as user name or domain. +keywords: apis, graph api, supported apis, get, user, user information +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Get user information API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +Retrieve a User entity by key (user name or domain\user). + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | User.Read.All | 'Read all user profiles' + +## HTTP request +``` +GET /api/users/{id}/ +``` + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | string | Bearer {token}. **Required**. + + +## Request body +Empty + +## Response +If successful and user exists - 200 OK with [user](user-windows-defender-advanced-threat-protection-new.md) entity in the body. +If user does not exist - 404 Not Found. + + +## Example + +**Request** + +Here is an example of the request. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + +``` +GET https://api.securitycenter.windows.com/api/users/{id} +Content-type: application/json +``` + +**Response** + +Here is an example of the response. + + +``` +HTTP/1.1 200 OK +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/testwdatppreview/$metadata#Users/$entity", + "id": "", + "accountSid": null, + "accountName": "", + "accountDomainName": "", +… +} +``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..d0024bf007 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,123 @@ +--- +title: Get user related alerts API +description: Retrieves a collection of alerts related to a given user ID. +keywords: apis, graph api, supported apis, get, user, related, alerts +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Get user related alerts API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +Retrieves a collection of alerts related to a given user ID. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Alert.Read.All | 'Read all alerts' +Application | Alert.ReadWrite.All | 'Read and write all alerts' + +## HTTP request +``` +GET /api/users/{id}/alerts +``` + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | string | Bearer {token}. **Required**. + + +## Request body +Empty + +## Response +If successful and user and alert exists - 200 OK. +If user does not exist - 404 Not Found. + + +## Example + +**Request** + +Here is an example of the request. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + +``` +GET https://api.securitycenter.windows.com/api/users/user1@contoso.com/alerts +``` + +**Response** + +Here is an example of the response. + + +``` +HTTP/1.1 200 OK +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#Alerts", + "value": [ + { + "id": "636688558380765161_2136280442", + "severity": "Informational", + "status": "InProgress", + "description": "Some alert description 1", + "recommendedAction": "Some recommended action 1", + "alertCreationTime": "2018-08-03T01:17:17.9516179Z", + "category": "General", + "title": "Some alert title 1", + "threatFamilyName": null, + "detectionSource": "WindowsDefenderAtp", + "classification": "TruePositive", + "determination": null, + "assignedTo": "best secop ever", + "resolvedTime": null, + "lastEventTime": "2018-08-02T07:02:52.0894451Z", + "firstEventTime": "2018-08-02T07:02:52.0894451Z", + "actorName": null, + "machineId": "ff0c3800ed8d66738a514971cd6867166809369f" + }, + { + "id": "636688558380765161_2136280442", + "severity": "Informational", + "status": "InProgress", + "description": "Some alert description 2", + "recommendedAction": "Some recommended action 2", + "alertCreationTime": "2018-08-04T01:17:17.9516179Z", + "category": "General", + "title": "Some alert title 2", + "threatFamilyName": null, + "detectionSource": "WindowsDefenderAtp", + "classification": "TruePositive", + "determination": null, + "assignedTo": "best secop ever", + "resolvedTime": null, + "lastEventTime": "2018-08-03T07:02:52.0894451Z", + "firstEventTime": "2018-08-03T07:02:52.0894451Z", + "actorName": null, + "machineId": "ff0c3800ed8d66738a514971cd6867166809369d" + } + ] +} +``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..5a304b14c3 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,121 @@ +--- +title: Get user related machines API +description: Retrieves a collection of machines related to a given user ID. +keywords: apis, graph api, supported apis, get, user, user related alerts +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Get user related machines API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +Retrieves a collection of machines related to a given user ID. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Machine.Read.All | 'Read all machine profiles' +Application | Machine.ReadWrite.All | 'Read and write all machine information' + +## HTTP request +``` +GET /api/users/{id}/machines +``` + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | string | Bearer {token}. **Required**. + + +## Request body +Empty + +## Response +If successful and machines exists - 200 OK with list of [machine](machine-windows-defender-advanced-threat-protection-new.md) entities in the body. +If user or machines does not exist - 404 Not Found. + + +## Example + +**Request** + +Here is an example of the request. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + +``` +GET https://api.securitycenter.windows.com/api/users/user1@contoso.com/machines +``` + +**Response** + +Here is an example of the response. + + +``` +HTTP/1.1 200 OK +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#Machines", + "value": [ + { + "id": "1e5bc9d7e413ddd7902c2932e418702b84d0cc07", + "computerDnsName": "mymachine1.contoso.com", + "firstSeen": "2018-08-02T14:55:03.7791856Z", + "osPlatform": "Windows10", + "osVersion": null, + "systemProductName": null, + "lastIpAddress": "172.17.230.209", + "lastExternalIpAddress": "167.220.196.71", + "agentVersion": "10.5830.18209.1001", + "groupName": null, + "osBuild": 18209, + "healthStatus": "Active", + "isAadJoined": true, + "machineTags": [], + "rbacGroupId": 140, + "riskScore": "Low", + "aadDeviceId": null + }, + { + "id": "7292e4b8cb74ff1cc3d8a495eb29dc8858b732f7", + "computerDnsName": "mymachine2.contoso.com", + "firstSeen": "2018-07-09T13:22:45.1250071Z", + "osPlatform": "Windows10", + "osVersion": null, + "systemProductName": null, + "lastIpAddress": "192.168.12.225", + "lastExternalIpAddress": "79.183.65.82", + "agentVersion": "10.5820.17724.1000", + "groupName": "WDATPClientTeam", + "osBuild": 17724, + "healthStatus": "Inactive", + "isAadJoined": true, + "machineTags": [], + "rbacGroupId": 140, + "riskScore": "Low", + "aadDeviceId": null + } + ] +} +``` diff --git a/windows/security/threat-protection/windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..67e10348a6 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,73 @@ +--- +title: Is domain seen in org API +description: Use this API to create calls related to checking whether a domain was seen in the organization. +keywords: apis, graph api, supported apis, domain, domain seen +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 04/24/2018 +--- + +# Was domain seen in org +Answers whether a domain was seen in the organization. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Url.Read.All | 'Read URLs' + +## HTTP request +``` +GET /api/domains/{domain} +``` + +## Request headers + +Header | Value +:---|:--- +Authorization | Bearer {token}. **Required**. + + +## Request body +Empty + +## Response +If successful and domain exists - 200 OK. If domain does not exist - 404 Not Found. + +## Example + +**Request** + +Here is an example of the request. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + +``` +GET https://api.securitycenter.windows.com/api/domains/example.com +Content-type: application/json +``` + +**Response** + +Here is an example of the response. + + +``` +HTTP/1.1 200 OK +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#Domains/$entity", + "host": "example.com" +} +``` diff --git a/windows/security/threat-protection/windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..22da7d935e --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,80 @@ +--- +title: Is IP seen in org API +description: Answers whether an IP was seen in the organization. +keywords: apis, graph api, supported apis, is, ip, seen, org, organization +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Was IP seen in org + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +Answers whether an IP was seen in the organization. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Ip.Read.All | 'Read IP address profiles' + +## HTTP request +``` +GET /api/ips/{ip} +``` + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | string | Bearer {token}. **Required**. + + +## Request body +Empty + +## Response +If successful and IP exists - 200 OK. If IP do not exist - 404 Not Found. + + +## Example + +**Request** + +Here is an example of the request. + +``` +GET https://api.securitycenter.windows.com/api/ips/10.209.67.177 +``` + +**Response** + +Here is an example of the response. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + + +``` +HTTP/1.1 200 OK +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#Ips/$entity", + "id": "10.209.67.177" +} +``` diff --git a/windows/security/threat-protection/windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..0542b64fcf --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,103 @@ +--- +title: Isolate machine API +description: Use this API to create calls related isolating a machine. +keywords: apis, graph api, supported apis, isolate machine +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Isolate machine API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +Isolates a machine from accessing external network. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Machine.Isolate | 'Isolate machine' + +## HTTP request +``` +POST /api/machines/{id}/isolate +``` + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | string | Bearer {token}. **Required**. +Content-Type | string | application/json. **Required**. + +## Request body +In the request body, supply a JSON object with the following parameters: + +Parameter | Type | Description +:---|:---|:--- +Comment | String | Comment to associate with the action. **Required**. +IsolationType | String | Type of the isolation. Allowed values are: 'Full' or 'Selective'. + +**IsolationType** controls the type of isolation to perform and can be one of the following: +- Full – Full isolation +- Selective – Restrict only limited set of applications from accessing the network + + +## Response +If successful, this method returns 201 - Created response code and [Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) in the response body. + + +## Example + +**Request** + +Here is an example of the request. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + +``` +POST https://api.securitycenter.windows.com/api/machines/fb9ab6be3965095a09c057be7c90f0a2/isolate +Content-type: application/json +{ + "Comment": "Isolate machine due to alert 1234", + “IsolationType”: “Full” +} + +``` +**Response** + +Here is an example of the response. + +``` +HTTP/1.1 201 Created +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#MachineActions/$entity", + "id": "b89eb834-4578-496c-8be0-03f004061435", + "type": "Isolate", + "requestor": "Analyst@contoso.com ", + "requestorComment": "Isolate machine due to alert 1234", + "status": "InProgress", + "error": "None", + "machineId": "f46b9bb259ed4a7fb9981b73510e3cc7aa81ec1f", + "creationDateTimeUtc": "2017-12-04T12:12:18.9725659Z", + "lastUpdateTimeUtc": "2017-12-04T12:12:18.9725659Z" +} + +``` diff --git a/windows/security/threat-protection/windows-defender-atp/machine-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/machine-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..9afd33baef --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/machine-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,45 @@ +--- +title: File resource type +description: Retrieves top recent alerts. +keywords: apis, graph api, supported apis, get, alerts, recent +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Machine resource type + + +# Methods +Method|Return Type |Description +:---|:---|:--- +[List machines](get-machines-windows-defender-advanced-threat-protection-new.md) | [machine](machine-windows-defender-advanced-threat-protection-new.md) collection | List set of [machine](machine-windows-defender-advanced-threat-protection-new.md) entities in the org. +[Get machine](get-machine-by-id-windows-defender-advanced-threat-protection.md) | [machine](machine-windows-defender-advanced-threat-protection-new.md) | Get a [machine](machine-windows-defender-advanced-threat-protection-new.md) by its identity. +[Get logged on users](get-machine-log-on-users-windows-defender-advanced-threat-protection-new.md) | [user](user-windows-defender-advanced-threat-protection-new.md) collection | Get the set of [User](user-windows-defender-advanced-threat-protection-new.md) that logged on to the [machine](machine-windows-defender-advanced-threat-protection-new.md). +[Get related alerts](get-machine-related-alerts-windows-defender-advanced-threat-protection-new.md) | [alert](alerts-windows-defender-advanced-threat-protection-new.md) collection | Get the set of [alert](alerts-windows-defender-advanced-threat-protection-new.md) entities that were raised on the [machine](machine-windows-defender-advanced-threat-protection-new.md). + +# Properties +Property | Type | Description +:---|:---|:--- +id | String | [machine](machine-windows-defender-advanced-threat-protection-new.md) identity. +computerDnsName | String | [machine](machine-windows-defender-advanced-threat-protection-new.md) fully qualified name. +firstSeen | DateTimeOffset | First date and time where the [machine](machine-windows-defender-advanced-threat-protection-new.md) was observed by WDATP. +osPlatform | String | OS platform. +osVersion | String | OS Version. +lastIpAddress | Ip | Last IP on local NIC on the [machine](machine-windows-defender-advanced-threat-protection-new.md). +lastExternalIpAddress | Ip | Last Ip through which the [machine](machine-windows-defender-advanced-threat-protection-new.md) accessed the internet. +agentVersion | String | Version of WDATP agent. +groupName | String | [machine](machine-windows-defender-advanced-threat-protection-new.md) group name (when defined). +osBuild | Int | OS build number. +healthStatus | String | [machine](machine-windows-defender-advanced-threat-protection-new.md) health status. +isAadJoined | Boolean | Is [machine](machine-windows-defender-advanced-threat-protection-new.md) AAD joined. +machineTags | String collection | Set of [machine](machine-windows-defender-advanced-threat-protection-new.md) tags. +rbacGroupId | Int | Group Id. +riskScore | String | Risk score as evaludated by WDATP. Possible values are: 'None', 'Low', 'Medium' and 'High'. +aadDeviceId | String | AAD Device Id (when [machine](machine-windows-defender-advanced-threat-protection-new.md) is Aad Joined). \ No newline at end of file diff --git a/windows/security/threat-protection/windows-defender-atp/machineaction-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/machineaction-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..e611322103 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/machineaction-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,42 @@ +--- +title: File resource type +description: Retrieves top recent alerts. +keywords: apis, graph api, supported apis, get, alerts, recent +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Machine Action resource type + +Method|Return Type |Description +:---|:---|:--- +[List MachineActions](get-machineactions-collection-windows-defender-advanced-threat-protection-new.md) | [Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) | List [Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) entities. +[Get MachineAction](get-machineaction-object-windows-defender-advanced-threat-protection-new.md) | [Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) | Get a single [Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) entity. +[Collect investigation package](collect-investigation-package-windows-defender-advanced-threat-protection-new.md) | [Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) | Collect investigation package from a [machine](machine-windows-defender-advanced-threat-protection-new.md). +[Get investigation package SAS URI](get-package-sas-uri-windows-defender-advanced-threat-protection-new.md) | [Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) | Get URI for downloading the investigation package. +[Isolate machine](isolate-machine-windows-defender-advanced-threat-protection-new.md) | [Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) | Isolate [machine](machine-windows-defender-advanced-threat-protection-new.md) from network. +[Release machine from isolation](unisolate-machine-windows-defender-advanced-threat-protection-new.md) | [Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) | Release [machine](machine-windows-defender-advanced-threat-protection-new.md) from Isolation. +[Restrict app execution](restrict-code-execution-windows-defender-advanced-threat-protection-new.md) | [Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) | Restrict application execution. +[Remove app restriction](unrestrict-code-execution-windows-defender-advanced-threat-protection-new.md) | [Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) | Remove application execution restriction. +[Run antivirus scan](run-av-scan-windows-defender-advanced-threat-protection-new.md) | [Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) | Run an AV scan using Windows Defender (when applicable). +[Offboard machine](offboard-machine-api-windows-defender-advanced-threat-protection-new)|[Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) | Offboard [machine](machine-windows-defender-advanced-threat-protection-new.md) from WDATP. + +# Properties +Property | Type | Description +:---|:---|:--- +id | Guid | Identity of the [Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) entity. +type | String | Type of the action. +requestor | String | Identity of the person that executed the action. +requestorComment | String | Comment that was written when issuing the action. +status | String | Current status of the command. Possible values are: "InProgress", "Succeeded", "Failed" and "Cancelled". +error | String | Error code providing more insight as to what have caused the command to fail. +machineId | String | Id of the machine on which the action was executed. +creationDateTimeUtc | DateTimeOffset | The date and time when the action was created. +lastUpdateTimeUtc | DateTimeOffset | The last date and time when the action status was updated. diff --git a/windows/security/threat-protection/windows-defender-atp/offboard-machine-api-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/offboard-machine-api-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..305514fa27 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/offboard-machine-api-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,96 @@ +--- +title: Collect investigation package API +description: Use this API to create calls related to the collecting an investigation package from a machine. +keywords: apis, graph api, supported apis, collect investigation package +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Collect investigation package API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +Offboard machine from WDATP. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Machine.Offboard | 'Offboard machine' + +## HTTP request +``` +POST /api/machines/{id}/offboard +``` + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | string | Bearer {token}. **Required**. +Content-Type | string | application/json. **Required**. + +## Request body +In the request body, supply a JSON object with the following parameters: + +Parameter | Type | Description +:---|:---|:--- +Comment | String | Comment to associate with the action. **Required**. + +## Response +If successful, this method returns 201 - Created response code and [Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) in the response body. + + +## Example + +**Request** + +Here is an example of the request. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + +``` +POST https://api.securitycenter.windows.com/api/machines/fb9ab6be3965095a09c057be7c90f0a2/offboard +Content-type: application/json +{ + "Comment": "Offboard machine by automation" +} +``` + +**Response** + +Here is an example of the response. + +``` +HTTP/1.1 201 Created +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#MachineActions/$entity", + "id": "c9042f9b-8483-4526-87b5-35e4c2532223", + "type": "OffboardMachine", + "requestor": "Analyst@contoso.com", + "requestorComment": "offboard machine by automation", + "status": "InProgress", + "error": "None", + "machineId": "f46b9bb259ed4a7fb9981b73510e3cc7aa81ec1f", + "creationDateTimeUtc": "2017-12-04T12:09:24.1785079Z", + "lastUpdateTimeUtc": "2017-12-04T12:09:24.1785079Z" +} + +``` diff --git a/windows/security/threat-protection/windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..8f738be715 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,96 @@ +--- +title: Restrict app execution API +description: Use this API to create calls related to restricting an application from executing. +keywords: apis, graph api, supported apis, collect investigation package +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Restrict app execution API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +Restrict execution of all applications on the machine except a predefined set. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Machine.RestrictExecution | 'Restrict code execution' + +## HTTP request +``` +POST /api/machines/{id}/restrictCodeExecution +``` + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | string | Bearer {token}. **Required**. +Content-Type | string | application/json. **Required**. + +## Request body +In the request body, supply a JSON object with the following parameters: + +Parameter | Type | Description +:---|:---|:--- +Comment | String | Comment to associate with the action. **Required**. + +## Response +If successful, this method returns 201 - Created response code and [Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) in the response body. + + +## Example + +**Request** + +Here is an example of the request. + +``` +POST https://api.securitycenter.windows.com/api/machines/fb9ab6be3965095a09c057be7c90f0a2/restrictCodeExecution +Content-type: application/json +{ + "Comment": "Restrict code execution due to alert 1234" +} + +``` +**Response** + +Here is an example of the response. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + +``` +HTTP/1.1 201 Created +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#MachineActions/$entity", + "id": "78d408d1-384c-4c19-8b57-ba39e378011a", + "type": "RestrictCodeExecution", + "requestor": "Analyst@contoso.com ", + "requestorComment": "Restrict code execution due to alert 1234", + "status": "InProgress", + "error": "None", + "machineId": "f46b9bb259ed4a7fb9981b73510e3cc7aa81ec1f", + "creationDateTimeUtc": "2017-12-04T12:15:04.3825985Z", + "lastUpdateTimeUtc": "2017-12-04T12:15:04.3825985Z" +} + +``` diff --git a/windows/security/threat-protection/windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..9d33981067 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,105 @@ +--- +title: Run antivirus scan API +description: Use this API to create calls related to running an antivirus scan on a machine. +keywords: apis, graph api, supported apis, remove machine from isolation +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Run antivirus scan API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +Initiate Windows Defender Antivirus scan on the machine. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Machine.Scan | 'Scan machine' + +## HTTP request +``` +POST /api/machines/{id}/runAntiVirusScan +``` + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | string | Bearer {token}. **Required**. +Content-Type | string | application/json + +## Request body +In the request body, supply a JSON object with the following parameters: + +Parameter | Type | Description +:---|:---|:--- +Comment | String | Comment to associate with the action. **Required**. +ScanType| String | Defines the type of the Scan. **Required**. + +**ScanType** controls the type of scan to perform and can be one of the following: + +- **Quick** – Perform quick scan on the machine +- **Full** – Perform full scan on the machine + + + +## Response +If successful, this method returns 201, Created response code and _MachineAction_ object in the response body. + + +## Example + +**Request** + +Here is an example of the request. + +``` +POST https://api.securitycenter.windows.com/api/machines/fb9ab6be3965095a09c057be7c90f0a2/runAntiVirusScan +Content-type: application/json +{ + "Comment": "Check machine for viruses due to alert 3212", + “ScanType”: “Full” +} +``` + +**Response** + +Here is an example of the response. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + +``` +HTTP/1.1 201 Created +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#MachineActions/$entity", + "id": "2e9da30d-27f6-4208-81f2-9cd3d67893ba", + "type": "RunAntiVirusScan", + "requestor": "Analyst@contoso.com", + "requestorComment": "Check machine for viruses due to alert 3212", + "status": "InProgress", + "error": "None", + "machineId": "f46b9bb259ed4a7fb9981b73510e3cc7aa81ec1f", + "creationDateTimeUtc": "2017-12-04T12:18:27.1293487Z", + "lastUpdateTimeUtc": "2017-12-04T12:18:27.1293487Z" +} + +``` diff --git a/windows/security/threat-protection/windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..e8279e443f --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,44 @@ +--- +title: Supported Windows Defender Advanced Threat Protection query APIs +description: Learn about the specific supported Windows Defender Advanced Threat Protection entities where you can create API calls to. +keywords: apis, supported apis, actor, alerts, machine, user, domain, ip, file, advanced queries, advanced hunting +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 30/07/2018 +--- + +# Supported Windows Defender ATP query APIs + +**Applies to:** + +- Windows 10 Enterprise +- Windows 10 Education +- Windows 10 Pro +- Windows 10 Pro Education +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +>Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-supportedapis-abovefoldlink) + +Learn more about the individual supported entities where you can run API calls to and details such as HTTP request values, request headers and expected responses. + +## In this section +Topic | Description +:---|:--- +Advanced Hunting | Run queries from API. +Alerts | Run API calls such as get alerts, create alerts, alert information by ID, alert related actor information, alert related IP information, and alert related machine information. +Domain |Run API calls such as get domain related machines, statistics, and check if a domain is seen in your organization. +File | Run API calls such as get file information, file related alerts, file related machines, and file statistics. +IP | Run API calls such as get IP related alerts, IP related machines, IP statistics, and check if and IP is seen in your organization. +Machines | Run API calls such as get machines, get machines by ID, perform actions on machines (s.a. "Collect investigation package") information about logged on users, and alerts related to a given machine ID. +User | Run API calls such as get alert related user information, user information, user related alerts, and user related machines. + +## Related topic +- [Use Windows Defender ATP APIs](exposed-apis-windows-defender-advanced-threat-protection-new.md) diff --git a/windows/security/threat-protection/windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..e3cb3d3e64 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,93 @@ +--- +title: Unblock file API +description: Use this API to create calls related to allowing a file to be executed in the organization +keywords: apis, graph api, supported apis, unblock file +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Unblock file API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +Allow a file to be executed in the organization, using Windows Defender Antivirus. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Ti.ReadWrite | 'Threat Intelligence read write' + +## HTTP request +``` +POST /api/files/{sha1}/unblock +``` + +## Request headers + +Header | Value +:---|:--- +Authorization | Bearer {token}. **Required**. +Content-Type | application/json + +## Request body +In the request body, supply a JSON object with the following parameters: + +Parameter | Type | Description +:---|:---|:--- +Comment | String | Comment to associate with the action. **Required**. + + +## Response +If successful, this method returns 201 Created response code with action details, which indicates that unblock message was sent to Windows Defender deployed in the organization. + + +## Example + +**Request** + +Here is an example of the request. + +``` +POST https://api.securitycenter.windows.com/api/files/7327b54fd718525cbca07dacde913b5ac3c85673/unblock +Content-type: application/json +{ + "Comment": "Unblock file since alert 1234 was investigated and discovered to be false alarm", +} +``` + +**Response** + +Here is an example of the response. + + +``` +HTTP/1.1 201 Created +Content-type: application/json +{ + "fileIdentifier": "7327b54fd718525cbca07dacde913b5ac3c85673", + "fileIdentifierType": "Sha1", + "actionType": "UnBlock", + "fileStatus": "Blocked", + "creationDateTimeUtc": "2017-12-04T13:06:23.4502191Z", + "requestor": "Analyst@contoso.com ", + "requestorComment": "test", + "cancellationDateTimeUtc": null, + "cancellationRequestor": null, + "cancellationComment": null, + "lastUpdateDateTimeUtc": "2017-12-04T13:06:23.4502191Z" +} + +``` diff --git a/windows/security/threat-protection/windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..aacb10b79f --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,101 @@ +--- +title: Release machine from isolation API +description: Use this API to create calls related to release a machine from isolation. +keywords: apis, graph api, supported apis, remove machine from isolation +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Release machine from isolation API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +Undo isolation of a machine. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Machine.Isolate | 'Isolate machine' + +## HTTP request +``` +POST /api/machines/{id}/unisolate +``` + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | string | Bearer {token}. **Required**. +Content-Type | string | application/json. **Required**. + + +## Request body +In the request body, supply a JSON object with the following parameters: + +Parameter | Type | Description +:---|:---|:--- +Comment | String | Comment to associate with the action. **Required**. + +## Response +If successful, this method returns 201 - Created response code and [Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) in the response body. + + +## Example + +**Request** + +Here is an example of the request. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + +``` +POST https://api.securitycenter.windows.com/api/machines/fb9ab6be3965095a09c057be7c90f0a2/unisolate +Content-type: application/json +{ + "Comment": "Unisolate machine since it was clean and validated" +} + +``` +**Response** + +Here is an example of the response. + +>[!NOTE] +>The response object shown here may be truncated for brevity. All of the properties will be returned from an actual call. + +``` +HTTP/1.1 201 Created +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#MachineActions/$entity", + "id": "09a0f91e-a2eb-409d-af33-5577fe9bd558", + "type": "Unisolate", + "requestor": "Analyst@contoso.com ", + "requestorComment": "Unisolate machine since it was clean and validated ", + "status": "InProgress", + "error": "None", + "machineId": "f46b9bb259ed4a7fb9981b73510e3cc7aa81ec1f", + "creationDateTimeUtc": "2017-12-04T12:13:15.0104931Z", + "lastUpdateTimeUtc": "2017-12-04T12:13:15.0104931Z" +} + + +``` diff --git a/windows/security/threat-protection/windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..e08b5d033f --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,96 @@ +--- +title: Remove app restriction API +description: Use this API to create calls related to removing a restriction from applications from executing. +keywords: apis, graph api, supported apis, remove machine from isolation +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Remove app restriction API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +Enable execution of any application on the machine. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Machine.RestrictExecution | 'Restrict code execution' + +## HTTP request +``` +POST /api/machines/{id}/unrestrictCodeExecution +``` + +## Request headers +Name | Type | Description +:---|:---|:--- +Authorization | string | Bearer {token}. **Required**. +Content-Type | string | application/json. **Required**. + +## Request body +In the request body, supply a JSON object with the following parameters: + +Parameter | Type | Description +:---|:---|:--- +Comment | String | Comment to associate with the action. **Required**. + +## Response +If successful, this method returns 201 - Created response code and [Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) in the response body. + + +## Example + +**Request** + +Here is an example of the request. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + +``` +POST https://api.securitycenter.windows.com/api/machines/fb9ab6be3965095a09c057be7c90f0a2/unrestrictCodeExecution +Content-type: application/json +{ + "Comment": "Unrestrict code execution since machine was cleaned and validated" +} + +``` + +**Response** + +Here is an example of the response. + +``` +HTTP/1.1 201 Created +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#MachineActions/$entity", + "id": "44cffc15-0e3d-4cbf-96aa-bf76f9b27f5e", + "type": "UnrestrictCodeExecution", + "requestor": "Analyst@contoso.com", + "requestorComment": "Unrestrict code execution since machine was cleaned and validated ", + "status": "InProgress", + "error": "None", + "machineId": "f46b9bb259ed4a7fb9981b73510e3cc7aa81ec1f", + "creationDateTimeUtc": "2017-12-04T12:15:40.6052029Z", + "lastUpdateTimeUtc": "2017-12-04T12:15:40.6052029Z" +} + +``` diff --git a/windows/security/threat-protection/windows-defender-atp/update-alert-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/update-alert-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..76d372f7b5 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/update-alert-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,108 @@ +--- +title: Get alert information by ID API +description: Retrieves an alert by its ID. +keywords: apis, graph api, supported apis, get, alert, information, id +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Update alert + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + +Update the properties of an alert object. + +## Permissions +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Alerts.ReadWrite.All | 'Read and write all alerts' + +## HTTP request +``` +PATCH /api/alerts/{id} +``` + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | String | Bearer {token}. **Required**. +Content-Type | String | application/json. **Required**. + + +## Request body +In the request body, supply the values for the relevant fields that should be updated.Existing properties that are not included in the request body will maintain their previous values or be recalculated based on tchanges to other property values. For best performance you shouldn't include existing values that haven't change. + +Property | Type | Description +:---|:---|:--- +status | String | Specifies the current status of the alert. The property values are: 'New', 'InProgress' and 'Resolved'. +assignedTo | String | Owner of the alert +classification | String | Speficies the specification of the alert. The property values are: 'Unknown', 'FalsePositive', 'TruePositive'. +determination | String | Specifies the determination of the alert. The property values are: 'NotAvailable', 'Apt', 'Malware', 'SecurityPersonnel', 'SecurityTesting', 'UnwantedSoftware', 'Other' + + +## Response +If successful, this method returns 200 OK, and an [alert](alerts-windows-defender-advanced-threat-protection-new.md) object in the response body with the updated properties. +If alert with the specified id was not found - 404 Not Found. + + +## Example + +**Request** + +Here is an example of the request. + +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com + +``` +PATCH https://api.securitycenter.windows.com/api/alerts/636688558380765161_2136280442 +Content-Type: application/json + +{ + "assignedTo": "Our designated secop" +} +``` + +**Response** + +Here is an example of the response. + +``` +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#Alerts/$entity", + "id": "636692338844234222_1806644926", + "severity": "Medium", + "status": "InProgress", + "description": "An anomalous memory operation appears to be tampering with a process associated with the Windows Defender EDR sensor.", + "recommendedAction": "A. Validate the alert.\n1. Examine the process involved in the memory operation to determine whether the process and the observed activities are normal. \n2. Check for other suspicious activities in the machine timeline.\n3. Locate unfamiliar processes in the process tree. Check files for prevalence, their locations, and digital signatures.\n4. Submit relevant files for deep analysis and review file behaviors. \n5. Identify unusual system activity with system owners. \n\nB. Scope the incident. Find related machines, network addresses, and files in the incident graph. \n\nC. Contain and mitigate the breach. Stop suspicious processes, isolate affected machines, decommission compromised accounts or reset passwords, block IP addresses and URLs, and install security updates.\n\nD. Contact your incident response team, or contact Microsoft support for investigation and remediation services.", + "alertCreationTime": "2018-08-07T10:18:04.2665329Z", + "category": "Installation", + "title": "Possible sensor tampering in memory", + "threatFamilyName": null, + "detectionSource": "WindowsDefenderAtp", + "classification": null, + "determination": null, + "assignedTo": "Our designated secop", + "resolvedTime": null, + "lastEventTime": "2018-08-07T10:14:35.470671Z", + "firstEventTime": "2018-08-07T10:14:35.470671Z", + "actorName": null, + "machineId": "a2250e1cd215af1ea2818ef8d01a564f67542857" +} +``` diff --git a/windows/security/threat-protection/windows-defender-atp/user-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/user-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..509ded9db9 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/user-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,23 @@ +--- +title: File resource type +description: Retrieves top recent alerts. +keywords: apis, graph api, supported apis, get, alerts, recent +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# User resource type + +Method|Return Type |Description +:---|:---|:--- +[List User related alerts](get-user-related-alerts-windows-defender-advanced-threat-protection-new.md) | [alert](alerts-windows-defender-advanced-threat-protection-new.md) collection | List all the alerts that are associated with a [user](user-windows-defender-advanced-threat-protection-new.md). +[List User related machines](get-user-related-machines-windows-defender-advanced-threat-protection-new.md) | [machine](machine-windows-defender-advanced-threat-protection-new.md) collection | List all the machines that were logged on by a [user](user-windows-defender-advanced-threat-protection-new.md). + + From 7c07c111923fb9793c2e6e1c5dae54198fba00e4 Mon Sep 17 00:00:00 2001 From: Zvi Avidor Date: Thu, 16 Aug 2018 08:44:30 +0300 Subject: [PATCH 32/71] fix --- .../security/threat-protection/windows-defender-atp/TOC.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/windows/security/threat-protection/windows-defender-atp/TOC.md b/windows/security/threat-protection/windows-defender-atp/TOC.md index 07e39fd8d3..e0fbd229bd 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -96,6 +96,11 @@ #### [Troubleshoot custom threat intelligence issues](troubleshoot-custom-ti-windows-defender-advanced-threat-protection.md) ### [**Beta!** Use Windows Defender ATP APIs](exposed-apis-windows-defender-advanced-threat-protection-new.md) +#### Create your app + +##### [Get access on behalf of a user](exposed-apis-create-app-nativeapp.md) + +##### [Get access without a user](exposed-apis-create-app-webapp.md) #### [Supported Windows Defender ATP APIs](supported-apis-windows-defender-advanced-threat-protection-new.md) ##### [Advanced Hunting](run-advanced-query-windows-defender-advanced-threat-protection.md) @@ -152,7 +157,9 @@ #### How to use APIs - Samples ##### [Schedule advanced Hunting using Microsoft Flow](run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md) + ##### [Advanced Hunting using PowerShell](run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md) + ##### [Advanced Hunting using Python](run-advanced-query-windows-defender-advanced-threat-protection-sample-python.md) From 7fe9692f380f648d952f9423cb1a29e015118b21 Mon Sep 17 00:00:00 2001 From: Zvi Avidor Date: Thu, 16 Aug 2018 08:51:12 +0300 Subject: [PATCH 33/71] foxes --- .../windows-defender-atp/TOC.md | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/TOC.md b/windows/security/threat-protection/windows-defender-atp/TOC.md index e0fbd229bd..e46669dc19 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -95,14 +95,26 @@ #### [Experiment with custom threat intelligence alerts](experiment-custom-ti-windows-defender-advanced-threat-protection.md) #### [Troubleshoot custom threat intelligence issues](troubleshoot-custom-ti-windows-defender-advanced-threat-protection.md) -### [**Beta!** Use Windows Defender ATP APIs](exposed-apis-windows-defender-advanced-threat-protection-new.md) +### [**Beta!** Windows Defender ATP APIs](exposed-apis-intro.md) + #### Create your app ##### [Get access on behalf of a user](exposed-apis-create-app-nativeapp.md) ##### [Get access without a user](exposed-apis-create-app-webapp.md) -#### [Supported Windows Defender ATP APIs](supported-apis-windows-defender-advanced-threat-protection-new.md) -##### [Advanced Hunting](run-advanced-query-windows-defender-advanced-threat-protection.md) + +#### [Supported Windows Defender ATP APIs](exposed-apis-list.md) + +##### [Advanced Hunting](run-advanced-query-api.md) + +#### How to use APIs - Samples + +##### [Schedule advanced Hunting using Microsoft Flow](run-advanced-query-sample-ms-flow.md) + +##### [Advanced Hunting using PowerShell](run-advanced-query-sample-powershell.md) + +##### [Advanced Hunting using Python](run-advanced-query-sample-python.md) + ##### [Alert](alerts-windows-defender-advanced-threat-protection-new.md) ###### [List alerts](get-alerts-windows-defender-advanced-threat-protection-new.md) @@ -155,14 +167,6 @@ ###### [Get user related alerts](get-user-related-alerts-windows-defender-advanced-threat-protection-new.md) ###### [Get user related machines](get-user-related-machines-windows-defender-advanced-threat-protection-new.md) -#### How to use APIs - Samples -##### [Schedule advanced Hunting using Microsoft Flow](run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md) - -##### [Advanced Hunting using PowerShell](run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md) - -##### [Advanced Hunting using Python](run-advanced-query-windows-defender-advanced-threat-protection-sample-python.md) - - ### [Use the Windows Defender ATP exposed APIs](exposed-apis-windows-defender-advanced-threat-protection.md) #### [Supported Windows Defender ATP APIs](supported-apis-windows-defender-advanced-threat-protection.md) #####Actor From 07946c4cee3e4c1779b581c8dcf1a9e9aacef4b9 Mon Sep 17 00:00:00 2001 From: Zvi Avidor Date: Thu, 16 Aug 2018 08:52:11 +0300 Subject: [PATCH 34/71] fixes --- .../threat-protection/windows-defender-atp/TOC.md | 9 --------- 1 file changed, 9 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/TOC.md b/windows/security/threat-protection/windows-defender-atp/TOC.md index e46669dc19..b4d24cbc95 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -96,26 +96,17 @@ #### [Troubleshoot custom threat intelligence issues](troubleshoot-custom-ti-windows-defender-advanced-threat-protection.md) ### [**Beta!** Windows Defender ATP APIs](exposed-apis-intro.md) - #### Create your app - ##### [Get access on behalf of a user](exposed-apis-create-app-nativeapp.md) - ##### [Get access without a user](exposed-apis-create-app-webapp.md) - #### [Supported Windows Defender ATP APIs](exposed-apis-list.md) - ##### [Advanced Hunting](run-advanced-query-api.md) #### How to use APIs - Samples - ##### [Schedule advanced Hunting using Microsoft Flow](run-advanced-query-sample-ms-flow.md) - ##### [Advanced Hunting using PowerShell](run-advanced-query-sample-powershell.md) - ##### [Advanced Hunting using Python](run-advanced-query-sample-python.md) - ##### [Alert](alerts-windows-defender-advanced-threat-protection-new.md) ###### [List alerts](get-alerts-windows-defender-advanced-threat-protection-new.md) ###### [Create alert](create-alert-by-reference-windows-defender-advanced-threat-protection-new.md) From 972931d8fbb2f02b4a124f811783385045b6370c Mon Sep 17 00:00:00 2001 From: Zvi Avidor Date: Thu, 16 Aug 2018 09:48:06 +0300 Subject: [PATCH 35/71] fix failures --- .../alerts-windows-defender-advanced-threat-protection-new.md | 2 +- ...reference-windows-defender-advanced-threat-protection-new.md | 2 +- ...osed-apis-windows-defender-advanced-threat-protection-new.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/alerts-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/alerts-windows-defender-advanced-threat-protection-new.md index 6f49e0bacf..b6aa792424 100644 --- a/windows/security/threat-protection/windows-defender-atp/alerts-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/alerts-windows-defender-advanced-threat-protection-new.md @@ -22,7 +22,7 @@ Method|Return Type |Description :---|:---|:--- [Get alert](get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md) | [alert](get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md) | Get a single [alert](get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md) object. [List alerts](get-alerts-windows-defender-advanced-threat-protection-new.md) | [alert](get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md) collection | List [alert](get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md) collection. -[Create alert](create-alert-by-reference-windows-defender-advanced-threat-protection-new.md)|[alert](get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md)|Create an alert based on event data obtained from [Advanced hunting API](run-advanced-query-windows-defender-advanced-threat-protection.md) +[Create alert](create-alert-by-reference-windows-defender-advanced-threat-protection-new.md)|[alert](get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md)|Create an alert based on event data obtained from [Advanced Hunting](run-advanced-query-api.md) [List related domains](get-alert-related-domain-info-windows-defender-advanced-threat-protection-new.md)|Domain collection|List Urls associated with the alert. [List related files](get-alert-related-files-info-windows-defender-advanced-threat-protection-new.md) | [file](files-windows-defender-advanced-threat-protection-new.md) collection | List the [file](files-windows-defender-advanced-threat-protection-new.md) entities that are associated with the [alert](get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md). [List related IPs](get-alert-related-ip-info-windows-defender-advanced-threat-protection-new.md) | IP collection | List IPs that are associated witht the alert. diff --git a/windows/security/threat-protection/windows-defender-atp/create-alert-by-reference-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/create-alert-by-reference-windows-defender-advanced-threat-protection-new.md index 0028551bf1..970ce1702b 100644 --- a/windows/security/threat-protection/windows-defender-atp/create-alert-by-reference-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/create-alert-by-reference-windows-defender-advanced-threat-protection-new.md @@ -20,7 +20,7 @@ ms.date: 12/08/2017 - Windows Defender Advanced Threat Protection (Windows Defender ATP) -Enables using event data, as obtained from the [Advanced hunting API](run-advanced-query-windows-defender-advanced-threat-protection.md) for creating a new alert entity. +Enables using event data, as obtained from the [Advanced Hunting](run-advanced-query-api.md) for creating a new alert entity. ## Permissions One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md index bfe251407b..68d63bddd1 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md @@ -152,7 +152,7 @@ Refer to [Get token using PowerShell](run-advanced-query-windows-defender-advanc ### Using Python -Refer to [Get token using Python](run-advanced-query-windows-defender-advanced-threat-protection-sample-python.md#get-token) +Refer to [Get token using Python](run-advanced-query-sample-python.md#get-token) ### Using Curl From bc236fc8f7b299b7b84e7e4e146a37bb65000b1d Mon Sep 17 00:00:00 2001 From: Zvi Avidor Date: Thu, 16 Aug 2018 10:20:14 +0300 Subject: [PATCH 36/71] fix two warnings --- ...osed-apis-windows-defender-advanced-threat-protection-new.md | 2 +- ...ineaction-windows-defender-advanced-threat-protection-new.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md index 68d63bddd1..b64bf198ef 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md @@ -148,7 +148,7 @@ For more details on AAD token, refer to [AAD tutorial](https://docs.microsoft.co ### Using PowerShell -Refer to [Get token using PowerShell](run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md#get-token) +Refer to [Get token using PowerShell](run-advanced-query-sample-powershell.md#get-token) ### Using Python diff --git a/windows/security/threat-protection/windows-defender-atp/machineaction-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/machineaction-windows-defender-advanced-threat-protection-new.md index e611322103..cc9b4418a7 100644 --- a/windows/security/threat-protection/windows-defender-atp/machineaction-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/machineaction-windows-defender-advanced-threat-protection-new.md @@ -26,7 +26,7 @@ Method|Return Type |Description [Restrict app execution](restrict-code-execution-windows-defender-advanced-threat-protection-new.md) | [Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) | Restrict application execution. [Remove app restriction](unrestrict-code-execution-windows-defender-advanced-threat-protection-new.md) | [Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) | Remove application execution restriction. [Run antivirus scan](run-av-scan-windows-defender-advanced-threat-protection-new.md) | [Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) | Run an AV scan using Windows Defender (when applicable). -[Offboard machine](offboard-machine-api-windows-defender-advanced-threat-protection-new)|[Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) | Offboard [machine](machine-windows-defender-advanced-threat-protection-new.md) from WDATP. +[Offboard machine](offboard-machine-api-windows-defender-advanced-threat-protection-new.md)|[Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) | Offboard [machine](machine-windows-defender-advanced-threat-protection-new.md) from WDATP. # Properties Property | Type | Description From d98bc8fac0e982cafaafcb18134f8463439a7cfe Mon Sep 17 00:00:00 2001 From: Zvi Avidor Date: Thu, 16 Aug 2018 10:30:03 +0300 Subject: [PATCH 37/71] Add prereleased prefix --- .../threat-protection/windows-defender-atp/TOC.md | 11 ++++++----- ...windows-defender-advanced-threat-protection-new.md | 2 ++ ...windows-defender-advanced-threat-protection-new.md | 2 ++ ...windows-defender-advanced-threat-protection-new.md | 2 ++ ...windows-defender-advanced-threat-protection-new.md | 2 ++ ...windows-defender-advanced-threat-protection-new.md | 2 ++ ...windows-defender-advanced-threat-protection-new.md | 2 ++ ...windows-defender-advanced-threat-protection-new.md | 2 ++ ...windows-defender-advanced-threat-protection-new.md | 2 ++ ...windows-defender-advanced-threat-protection-new.md | 2 ++ ...windows-defender-advanced-threat-protection-new.md | 2 ++ ...windows-defender-advanced-threat-protection-new.md | 2 ++ ...windows-defender-advanced-threat-protection-new.md | 2 ++ ...windows-defender-advanced-threat-protection-new.md | 2 ++ ...windows-defender-advanced-threat-protection-new.md | 2 ++ ...windows-defender-advanced-threat-protection-new.md | 2 ++ ...windows-defender-advanced-threat-protection-new.md | 2 ++ ...windows-defender-advanced-threat-protection-new.md | 2 ++ ...windows-defender-advanced-threat-protection-new.md | 2 ++ ...windows-defender-advanced-threat-protection-new.md | 2 ++ ...windows-defender-advanced-threat-protection-new.md | 2 ++ ...windows-defender-advanced-threat-protection-new.md | 2 ++ ...windows-defender-advanced-threat-protection-new.md | 6 ++++++ ...windows-defender-advanced-threat-protection-new.md | 4 ++-- ...windows-defender-advanced-threat-protection-new.md | 4 ++-- ...windows-defender-advanced-threat-protection-new.md | 5 ++--- ...windows-defender-advanced-threat-protection-new.md | 4 ++-- ...windows-defender-advanced-threat-protection-new.md | 4 ++-- ...windows-defender-advanced-threat-protection-new.md | 2 ++ ...windows-defender-advanced-threat-protection-new.md | 4 ++-- ...windows-defender-advanced-threat-protection-new.md | 4 ++-- ...windows-defender-advanced-threat-protection-new.md | 4 ++-- ...windows-defender-advanced-threat-protection-new.md | 4 ++-- ...windows-defender-advanced-threat-protection-new.md | 4 ++-- ...windows-defender-advanced-threat-protection-new.md | 7 +++++++ ...windows-defender-advanced-threat-protection-new.md | 4 ++-- ...windows-defender-advanced-threat-protection-new.md | 4 ++-- ...windows-defender-advanced-threat-protection-new.md | 4 ++-- ...windows-defender-advanced-threat-protection-new.md | 4 ++-- ...windows-defender-advanced-threat-protection-new.md | 4 ++-- ...windows-defender-advanced-threat-protection-new.md | 4 ++-- ...windows-defender-advanced-threat-protection-new.md | 4 ++-- ...windows-defender-advanced-threat-protection-new.md | 4 ++-- ...windows-defender-advanced-threat-protection-new.md | 3 ++- 44 files changed, 101 insertions(+), 43 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/TOC.md b/windows/security/threat-protection/windows-defender-atp/TOC.md index b4d24cbc95..7e5b918b32 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -102,11 +102,6 @@ #### [Supported Windows Defender ATP APIs](exposed-apis-list.md) ##### [Advanced Hunting](run-advanced-query-api.md) -#### How to use APIs - Samples -##### [Schedule advanced Hunting using Microsoft Flow](run-advanced-query-sample-ms-flow.md) -##### [Advanced Hunting using PowerShell](run-advanced-query-sample-powershell.md) -##### [Advanced Hunting using Python](run-advanced-query-sample-python.md) - ##### [Alert](alerts-windows-defender-advanced-threat-protection-new.md) ###### [List alerts](get-alerts-windows-defender-advanced-threat-protection-new.md) ###### [Create alert](create-alert-by-reference-windows-defender-advanced-threat-protection-new.md) @@ -158,6 +153,12 @@ ###### [Get user related alerts](get-user-related-alerts-windows-defender-advanced-threat-protection-new.md) ###### [Get user related machines](get-user-related-machines-windows-defender-advanced-threat-protection-new.md) +#### How to use APIs - Samples +##### [Schedule advanced Hunting using Microsoft Flow](run-advanced-query-sample-ms-flow.md) +##### [Advanced Hunting using PowerShell](run-advanced-query-sample-powershell.md) +##### [Advanced Hunting using Python](run-advanced-query-sample-python.md) + + ### [Use the Windows Defender ATP exposed APIs](exposed-apis-windows-defender-advanced-threat-protection.md) #### [Supported Windows Defender ATP APIs](supported-apis-windows-defender-advanced-threat-protection.md) #####Actor diff --git a/windows/security/threat-protection/windows-defender-atp/alerts-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/alerts-windows-defender-advanced-threat-protection-new.md index b6aa792424..25f518344c 100644 --- a/windows/security/threat-protection/windows-defender-atp/alerts-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/alerts-windows-defender-advanced-threat-protection-new.md @@ -15,6 +15,8 @@ ms.date: 12/08/2017 # Alert resource type +[!include[Prereleaseinformation](prerelease.md)] + Represents an alert entity in WDATP. # Methods diff --git a/windows/security/threat-protection/windows-defender-atp/block-file-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/block-file-windows-defender-advanced-threat-protection-new.md index 4b945f2c0f..84bbef9016 100644 --- a/windows/security/threat-protection/windows-defender-atp/block-file-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/block-file-windows-defender-advanced-threat-protection-new.md @@ -15,6 +15,8 @@ ms.date: 12/08/2017 # Block file API +[!include[Prereleaseinformation](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) diff --git a/windows/security/threat-protection/windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection-new.md index df75029191..7f8808cd66 100644 --- a/windows/security/threat-protection/windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection-new.md @@ -15,6 +15,8 @@ ms.date: 12/08/2017 # Collect investigation package API +[!include[Prereleaseinformation](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) diff --git a/windows/security/threat-protection/windows-defender-atp/create-alert-by-reference-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/create-alert-by-reference-windows-defender-advanced-threat-protection-new.md index 970ce1702b..dc6e3ab67a 100644 --- a/windows/security/threat-protection/windows-defender-atp/create-alert-by-reference-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/create-alert-by-reference-windows-defender-advanced-threat-protection-new.md @@ -15,6 +15,8 @@ ms.date: 12/08/2017 # Create alert from event API +[!include[Prereleaseinformation](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) diff --git a/windows/security/threat-protection/windows-defender-atp/files-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/files-windows-defender-advanced-threat-protection-new.md index 00e1b1e364..8961b49e34 100644 --- a/windows/security/threat-protection/windows-defender-atp/files-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/files-windows-defender-advanced-threat-protection-new.md @@ -15,6 +15,8 @@ ms.date: 12/08/2017 # File resource type +[!include[Prereleaseinformation](prerelease.md)] + Represent a file entity in WDATP. # Methods diff --git a/windows/security/threat-protection/windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection-new.md index 87e402b102..eb6d684c80 100644 --- a/windows/security/threat-protection/windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection-new.md @@ -15,6 +15,8 @@ ms.date: 07/25/2018 # Find machine information by internal IP API +[!include[Prerelease information](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md index 26333d85c4..46cb0db71b 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md @@ -15,6 +15,8 @@ ms.date: 12/08/2017 # Get alert information by ID API +[!include[Prereleaseinformation](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection-new.md index 42d2bad378..bfdfc9935b 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection-new.md @@ -15,6 +15,8 @@ ms.date: 12/08/2017 # Get alert related domain information API +[!include[Prereleaseinformation](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection-new.md index 5bac7b1862..90083b44b6 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection-new.md @@ -15,6 +15,8 @@ ms.date: 12/08/2017 # Get alert related files information API +[!include[Prereleaseinformation](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection-new.md index d28d7e4c38..1ed55af361 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection-new.md @@ -15,6 +15,8 @@ ms.date: 12/08/2017 # Get alert related IP information API +[!include[Prereleaseinformation](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection-new.md index d4e17a8f25..46b6be0dc4 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection-new.md @@ -15,6 +15,8 @@ ms.date: 12/08/2017 # Get alert related machine information API +[!include[Prereleaseinformation](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection-new.md index f2f994a6cb..6ac1ca8121 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection-new.md @@ -15,6 +15,8 @@ ms.date: 12/08/2017 # Get alert related user information API +[!include[Prereleaseinformation](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) diff --git a/windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection-new.md index 240b6627fc..ac34277345 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection-new.md @@ -15,6 +15,8 @@ ms.date: 12/08/2017 # Get alerts API +[!include[Prereleaseinformation](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) diff --git a/windows/security/threat-protection/windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection-new.md index d67c7e990a..a64b80a325 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection-new.md @@ -15,6 +15,8 @@ ms.date: 12/08/2017 # Get domain related alerts API +[!include[Prereleaseinformation](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) diff --git a/windows/security/threat-protection/windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection-new.md index 0294068db8..c757b85e20 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection-new.md @@ -15,6 +15,8 @@ ms.date: 12/08/2017 # Get domain related machines API +[!include[Prereleaseinformation](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) diff --git a/windows/security/threat-protection/windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection-new.md index cae669cc07..cac75199c0 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection-new.md @@ -15,6 +15,8 @@ ms.date: 12/08/2017 # Get domain statistics API +[!include[Prereleaseinformation](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) diff --git a/windows/security/threat-protection/windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection-new.md index 0c8cc1a590..0b128088bf 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection-new.md @@ -15,6 +15,8 @@ ms.date: 12/08/2017 # Get file information API +[!include[Prereleaseinformation](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) diff --git a/windows/security/threat-protection/windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection-new.md index 467ec1b0f0..79d9ce83fb 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection-new.md @@ -15,6 +15,8 @@ ms.date: 12/08/2017 # Get file related alerts API +[!include[Prereleaseinformation](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) diff --git a/windows/security/threat-protection/windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection-new.md index a4edd6751b..7f56ef7bb9 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection-new.md @@ -15,6 +15,8 @@ ms.date: 12/08/2017 # Get file related machines API +[!include[Prereleaseinformation](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) diff --git a/windows/security/threat-protection/windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection-new.md index 3c97bc8e75..455b5c051b 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection-new.md @@ -15,6 +15,8 @@ ms.date: 12/08/2017 # Get file statistics API +[!include[Prereleaseinformation](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) diff --git a/windows/security/threat-protection/windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection-new.md index ef6e67570d..a1b072c358 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection-new.md @@ -15,6 +15,8 @@ ms.date: 12/08/2017 # Get IP related alerts API +[!include[Prereleaseinformation](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) diff --git a/windows/security/threat-protection/windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection-new.md index c89ed86297..fad2a57955 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection-new.md @@ -14,6 +14,12 @@ ms.date: 12/08/2017 --- # Get IP related machines API + +[!include[Prereleaseinformation](prerelease.md)] + +**Applies to:** +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + Retrieves a collection of alerts related to a given IP address. ## Permissions diff --git a/windows/security/threat-protection/windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection-new.md index affd63c23c..4744b4c554 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection-new.md @@ -15,12 +15,12 @@ ms.date: 12/08/2017 # Get IP statistics API +[!include[Prereleaseinformation](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - - Retrieves the prevalence for the given IP. ## Permissions diff --git a/windows/security/threat-protection/windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection-new.md index d7dae982e8..ed74621b98 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection-new.md @@ -15,12 +15,12 @@ ms.date: 12/08/2017 # Get machine by ID API +[!include[Prereleaseinformation](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - - Retrieves a machine entity by ID. ## Permissions diff --git a/windows/security/threat-protection/windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection-new.md index 7f94e8c74e..db2f410ad7 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection-new.md @@ -15,13 +15,12 @@ ms.date: 12/08/2017 # Get machine log on users API +[!include[Prereleaseinformation](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - - - Retrieves a collection of logged on users. ## Permissions diff --git a/windows/security/threat-protection/windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection-new.md index 5b98bf3a4f..29a18a285d 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection-new.md @@ -15,12 +15,12 @@ ms.date: 12/08/2017 # Get machine related alerts API +[!include[Prereleaseinformation](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - - Retrieves a collection of alerts related to a given machine ID. ## Permissions diff --git a/windows/security/threat-protection/windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection-new.md index 2f3ae63b1c..32946e2f35 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection-new.md @@ -15,12 +15,12 @@ ms.date: 12/08/2017 # Get MachineAction object API +[!include[Prereleaseinformation](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - - Get actions done on a machine. ## Permissions diff --git a/windows/security/threat-protection/windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection-new.md index ae7970fd01..8adbf1ddfd 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection-new.md @@ -15,6 +15,8 @@ ms.date: 12/08/2017 # Get MachineActions collection API +[!include[Prereleaseinformation](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) diff --git a/windows/security/threat-protection/windows-defender-atp/get-machines-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-machines-windows-defender-advanced-threat-protection-new.md index 35c4d198ee..8f57ed8f68 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machines-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machines-windows-defender-advanced-threat-protection-new.md @@ -15,12 +15,12 @@ ms.date: 12/08/2017 # Get machines API +[!include[Prereleaseinformation](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - - Retrieves a collection of recently seen machines. ## Permissions diff --git a/windows/security/threat-protection/windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection-new.md index e3b14550d2..95c7d5f771 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection-new.md @@ -15,12 +15,12 @@ ms.date: 12/08/2017 # Get package SAS URI API +[!include[Prerelease information](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - - Get a URI that allows downloading of an investigation package. ## Permissions diff --git a/windows/security/threat-protection/windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection-new.md index 74880584e6..cabf478649 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection-new.md @@ -15,12 +15,12 @@ ms.date: 12/08/2017 # Get user information API +[!include[Prerelease information](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - - Retrieve a User entity by key (user name or domain\user). ## Permissions diff --git a/windows/security/threat-protection/windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection-new.md index d0024bf007..9d2755148a 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection-new.md @@ -15,12 +15,12 @@ ms.date: 12/08/2017 # Get user related alerts API +[!include[Prereleaseinformation](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - - Retrieves a collection of alerts related to a given user ID. ## Permissions diff --git a/windows/security/threat-protection/windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection-new.md index 5a304b14c3..6c7f9ad663 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection-new.md @@ -15,12 +15,12 @@ ms.date: 12/08/2017 # Get user related machines API +[!include[Prereleaseinformation](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - - Retrieves a collection of machines related to a given user ID. ## Permissions diff --git a/windows/security/threat-protection/windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection-new.md index 67e10348a6..1c1e122d2c 100644 --- a/windows/security/threat-protection/windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection-new.md @@ -14,6 +14,13 @@ ms.date: 04/24/2018 --- # Was domain seen in org + +[!include[Prereleaseinformation](prerelease.md)] + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + Answers whether a domain was seen in the organization. ## Permissions diff --git a/windows/security/threat-protection/windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection-new.md index 22da7d935e..7459ba5ffd 100644 --- a/windows/security/threat-protection/windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection-new.md @@ -15,12 +15,12 @@ ms.date: 12/08/2017 # Was IP seen in org +[!include[Prereleaseinformation](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - - Answers whether an IP was seen in the organization. ## Permissions diff --git a/windows/security/threat-protection/windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection-new.md index 0542b64fcf..cb23139a00 100644 --- a/windows/security/threat-protection/windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection-new.md @@ -15,12 +15,12 @@ ms.date: 12/08/2017 # Isolate machine API +[!include[Prerelease information](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - - Isolates a machine from accessing external network. ## Permissions diff --git a/windows/security/threat-protection/windows-defender-atp/offboard-machine-api-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/offboard-machine-api-windows-defender-advanced-threat-protection-new.md index 305514fa27..264b5d8a98 100644 --- a/windows/security/threat-protection/windows-defender-atp/offboard-machine-api-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/offboard-machine-api-windows-defender-advanced-threat-protection-new.md @@ -15,12 +15,12 @@ ms.date: 12/08/2017 # Collect investigation package API +[!include[Prereleaseinformation](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - - Offboard machine from WDATP. ## Permissions diff --git a/windows/security/threat-protection/windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection-new.md index 8f738be715..a2ee20bb6c 100644 --- a/windows/security/threat-protection/windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection-new.md @@ -15,12 +15,12 @@ ms.date: 12/08/2017 # Restrict app execution API +[!include[Prereleaseinformation](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - - Restrict execution of all applications on the machine except a predefined set. ## Permissions diff --git a/windows/security/threat-protection/windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection-new.md index 9d33981067..2c50e1f063 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection-new.md @@ -15,12 +15,12 @@ ms.date: 12/08/2017 # Run antivirus scan API +[!include[Prerelease information](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - - Initiate Windows Defender Antivirus scan on the machine. ## Permissions diff --git a/windows/security/threat-protection/windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection-new.md index e8279e443f..ac8271ccc0 100644 --- a/windows/security/threat-protection/windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection-new.md @@ -15,6 +15,8 @@ ms.date: 30/07/2018 # Supported Windows Defender ATP query APIs +[!include[Prereleaseinformation](prerelease.md)] + **Applies to:** - Windows 10 Enterprise @@ -23,8 +25,6 @@ ms.date: 30/07/2018 - Windows 10 Pro Education - Windows Defender Advanced Threat Protection (Windows Defender ATP) - - >Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-supportedapis-abovefoldlink) Learn more about the individual supported entities where you can run API calls to and details such as HTTP request values, request headers and expected responses. diff --git a/windows/security/threat-protection/windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection-new.md index e3cb3d3e64..6132ed769b 100644 --- a/windows/security/threat-protection/windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection-new.md @@ -15,12 +15,12 @@ ms.date: 12/08/2017 # Unblock file API +[!include[Prereleaseinformation](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - - Allow a file to be executed in the organization, using Windows Defender Antivirus. ## Permissions diff --git a/windows/security/threat-protection/windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection-new.md index aacb10b79f..9a9609fdba 100644 --- a/windows/security/threat-protection/windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection-new.md @@ -15,12 +15,12 @@ ms.date: 12/08/2017 # Release machine from isolation API +[!include[Prereleaseinformation](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - - Undo isolation of a machine. ## Permissions diff --git a/windows/security/threat-protection/windows-defender-atp/update-alert-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/update-alert-windows-defender-advanced-threat-protection-new.md index 76d372f7b5..e9d317c65e 100644 --- a/windows/security/threat-protection/windows-defender-atp/update-alert-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/update-alert-windows-defender-advanced-threat-protection-new.md @@ -15,11 +15,12 @@ ms.date: 12/08/2017 # Update alert +[!include[Prereleaseinformation](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - Update the properties of an alert object. ## Permissions From 09be5a18a19f8c9282a0e0ad8c0e5f32abfd0258 Mon Sep 17 00:00:00 2001 From: Zvi Avidor Date: Thu, 16 Aug 2018 10:59:15 +0300 Subject: [PATCH 38/71] fix oren comments --- ...defender-advanced-threat-protection-new.md | 103 ------------------ ...ows-defender-advanced-threat-protection.md | 91 ---------------- ...defender-advanced-threat-protection-new.md | 4 +- ...defender-advanced-threat-protection-new.md | 4 +- ...defender-advanced-threat-protection-new.md | 4 +- ...defender-advanced-threat-protection-new.md | 8 +- ...defender-advanced-threat-protection-new.md | 8 +- ...defender-advanced-threat-protection-new.md | 6 +- ...defender-advanced-threat-protection-new.md | 93 ---------------- ...ows-defender-advanced-threat-protection.md | 89 --------------- 10 files changed, 17 insertions(+), 393 deletions(-) delete mode 100644 windows/security/threat-protection/windows-defender-atp/block-file-windows-defender-advanced-threat-protection-new.md delete mode 100644 windows/security/threat-protection/windows-defender-atp/block-file-windows-defender-advanced-threat-protection.md delete mode 100644 windows/security/threat-protection/windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection-new.md delete mode 100644 windows/security/threat-protection/windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection.md diff --git a/windows/security/threat-protection/windows-defender-atp/block-file-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/block-file-windows-defender-advanced-threat-protection-new.md deleted file mode 100644 index 84bbef9016..0000000000 --- a/windows/security/threat-protection/windows-defender-atp/block-file-windows-defender-advanced-threat-protection-new.md +++ /dev/null @@ -1,103 +0,0 @@ ---- -title: Block file API -description: Use this API to blocking files from being running in the organization. -keywords: apis, graph api, supported apis, block file -search.product: eADQiWindows 10XVcnh -ms.prod: w10 -ms.mktglfcycl: deploy -ms.sitesec: library -ms.pagetype: security -ms.author: macapara -author: mjcaparas -ms.localizationpriority: medium -ms.date: 12/08/2017 ---- - -# Block file API - -[!include[Prereleaseinformation](prerelease.md)] - -**Applies to:** - -- Windows Defender Advanced Threat Protection (Windows Defender ATP) - - - -Prevent a file from being executed in the organization using Windows Defender Antivirus. - -## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) - -Permission type | Permission | Permission display name -:---|:---|:--- -Application | Ti.ReadWrite | 'Threat Intelligence read write' - -## HTTP request -``` -POST /api/files/{sha1}/block -``` - -## Request headers - -Header | Value -:---|:--- -Authorization | Bearer {token}. **Required**. -Content-Type | application/json - -## Request body -In the request body, supply a JSON object with the following parameters: - -Parameter | Type | Description -:---|:---|:--- -Comment | String | Comment to associate with the action. **Required**. - - -## Response -If successful, this method returns 200, Ok response code with empty body, which indicates that block message was sent to Windows Defender deployed in the organization. - - -## Example - -**Request** - -Here is an example of the request. - ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com - -``` -POST https://api.securitycenter.windows.com/api/files/7327b54fd718525cbca07dacde913b5ac3c85673/block -Content-type: application/json -{ - "Comment": "Block file due to alert 32123" -} - - -``` - -**Response** - -Here is an example of the response. - - -``` -HTTP/1.1 201 Created -Content-type: application/json -{ - "fileIdentifier": "7327b54fd718525cbca07dacde913b5ac3c85673", - "fileIdentifierType": "Sha1", - "actionType": "Block", - "fileStatus": "Blocked", - "creationDateTimeUtc": "2017-12-04T13:06:23.4502191Z", - "requestor": "Analyst@contoso.com ", - "requestorComment": "test", - "cancellationDateTimeUtc": null, - "cancellationRequestor": null, - "cancellationComment": null, - "lastUpdateDateTimeUtc": "2017-12-04T13:06:23.4502191Z" -} - -``` diff --git a/windows/security/threat-protection/windows-defender-atp/block-file-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/block-file-windows-defender-advanced-threat-protection.md deleted file mode 100644 index 933ac113b2..0000000000 --- a/windows/security/threat-protection/windows-defender-atp/block-file-windows-defender-advanced-threat-protection.md +++ /dev/null @@ -1,91 +0,0 @@ ---- -title: Block file API -description: Use this API to blocking files from being running in the organization. -keywords: apis, graph api, supported apis, block file -search.product: eADQiWindows 10XVcnh -ms.prod: w10 -ms.mktglfcycl: deploy -ms.sitesec: library -ms.pagetype: security -ms.author: macapara -author: mjcaparas -ms.localizationpriority: medium -ms.date: 12/08/2017 ---- - -# Block file API - -**Applies to:** - -- Windows Defender Advanced Threat Protection (Windows Defender ATP) - - - -Prevent a file from being executed in the organization using Windows Defender Antivirus. - -## Permissions -Users need to have Security administrator or Global admin directory roles. - -## HTTP request -``` -POST /testwdatppreview/files/{sha1}/block -``` - -## Request headers - -Header | Value -:---|:--- -Authorization | Bearer {token}. **Required**. -Content-Type | application/json - -## Request body -In the request body, supply a JSON object with the following parameters: - -Parameter | Type | Description -:---|:---|:--- -Comment | String | Comment to associate with the action. **Required**. - - -## Response -If successful, this method returns 200, Ok response code with empty body, which indicates that block message was sent to Windows Defender deployed in the organization. - - -## Example - -**Request** - -Here is an example of the request. - -``` -POST https://graph.microsoft.com/testwdatppreview/files/7327b54fd718525cbca07dacde913b5ac3c85673/block -Content-type: application/json -{ - "Comment": "Block file due to alert 32123" -} - - -``` - -**Response** - -Here is an example of the response. - - -``` -HTTP/1.1 201 Created -Content-type: application/json -{ - "fileIdentifier": "7327b54fd718525cbca07dacde913b5ac3c85673", - "fileIdentifierType": "Sha1", - "actionType": "Block", - "fileStatus": "Blocked", - "creationDateTimeUtc": "2017-12-04T13:06:23.4502191Z", - "requestor": "Analyst@contoso.com ", - "requestorComment": "test", - "cancellationDateTimeUtc": null, - "cancellationRequestor": null, - "cancellationComment": null, - "lastUpdateDateTimeUtc": "2017-12-04T13:06:23.4502191Z" -} - -``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection-new.md index ac34277345..d412cbe067 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection-new.md @@ -1,5 +1,5 @@ --- -title: Get alerts API +title: List alerts API description: Retrieves top recent alerts. keywords: apis, graph api, supported apis, get, alerts, recent search.product: eADQiWindows 10XVcnh @@ -13,7 +13,7 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Get alerts API +# List alerts API [!include[Prereleaseinformation](prerelease.md)] diff --git a/windows/security/threat-protection/windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection-new.md index 8adbf1ddfd..442cc66b64 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection-new.md @@ -1,5 +1,5 @@ --- -title: Get MachineActions collection API +title: List machineActions API description: Use this API to create calls related to get machineactions collection keywords: apis, graph api, supported apis, machineaction collection search.product: eADQiWindows 10XVcnh @@ -13,7 +13,7 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Get MachineActions collection API +# List machineActions API [!include[Prereleaseinformation](prerelease.md)] diff --git a/windows/security/threat-protection/windows-defender-atp/get-machines-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-machines-windows-defender-advanced-threat-protection-new.md index 8f57ed8f68..8fe48d7d82 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machines-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machines-windows-defender-advanced-threat-protection-new.md @@ -1,5 +1,5 @@ --- -title: Get machines API +title: List machines API description: Retrieves a collection of recently seen machines. keywords: apis, graph api, supported apis, get, machines search.product: eADQiWindows 10XVcnh @@ -13,7 +13,7 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Get machines API +# List machines API [!include[Prereleaseinformation](prerelease.md)] diff --git a/windows/security/threat-protection/windows-defender-atp/machine-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/machine-windows-defender-advanced-threat-protection-new.md index 9afd33baef..3144f9c7d1 100644 --- a/windows/security/threat-protection/windows-defender-atp/machine-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/machine-windows-defender-advanced-threat-protection-new.md @@ -1,7 +1,7 @@ --- -title: File resource type -description: Retrieves top recent alerts. -keywords: apis, graph api, supported apis, get, alerts, recent +title: machine resource type +description: Retrieves top machines. +keywords: apis, supported apis, get, machines search.product: eADQiWindows 10XVcnh ms.prod: w10 ms.mktglfcycl: deploy @@ -13,7 +13,7 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Machine resource type +# machine resource type # Methods diff --git a/windows/security/threat-protection/windows-defender-atp/machineaction-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/machineaction-windows-defender-advanced-threat-protection-new.md index cc9b4418a7..3166f0526d 100644 --- a/windows/security/threat-protection/windows-defender-atp/machineaction-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/machineaction-windows-defender-advanced-threat-protection-new.md @@ -1,7 +1,7 @@ --- -title: File resource type -description: Retrieves top recent alerts. -keywords: apis, graph api, supported apis, get, alerts, recent +title: machineAction resource type +description: Retrieves top recent machineActions. +keywords: apis, supported apis, get, machineaction, recent search.product: eADQiWindows 10XVcnh ms.prod: w10 ms.mktglfcycl: deploy @@ -13,7 +13,7 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Machine Action resource type +# MachineAction resource type Method|Return Type |Description :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/offboard-machine-api-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/offboard-machine-api-windows-defender-advanced-threat-protection-new.md index 264b5d8a98..de81a4a47f 100644 --- a/windows/security/threat-protection/windows-defender-atp/offboard-machine-api-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/offboard-machine-api-windows-defender-advanced-threat-protection-new.md @@ -1,6 +1,6 @@ --- -title: Collect investigation package API -description: Use this API to create calls related to the collecting an investigation package from a machine. +title: Offboard machine API +description: Use this API to offboard a machine from WDATP. keywords: apis, graph api, supported apis, collect investigation package search.product: eADQiWindows 10XVcnh ms.prod: w10 @@ -13,7 +13,7 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Collect investigation package API +# Offboard machine API [!include[Prereleaseinformation](prerelease.md)] diff --git a/windows/security/threat-protection/windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection-new.md deleted file mode 100644 index 6132ed769b..0000000000 --- a/windows/security/threat-protection/windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection-new.md +++ /dev/null @@ -1,93 +0,0 @@ ---- -title: Unblock file API -description: Use this API to create calls related to allowing a file to be executed in the organization -keywords: apis, graph api, supported apis, unblock file -search.product: eADQiWindows 10XVcnh -ms.prod: w10 -ms.mktglfcycl: deploy -ms.sitesec: library -ms.pagetype: security -ms.author: macapara -author: mjcaparas -ms.localizationpriority: medium -ms.date: 12/08/2017 ---- - -# Unblock file API - -[!include[Prereleaseinformation](prerelease.md)] - -**Applies to:** - -- Windows Defender Advanced Threat Protection (Windows Defender ATP) - -Allow a file to be executed in the organization, using Windows Defender Antivirus. - -## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) - -Permission type | Permission | Permission display name -:---|:---|:--- -Application | Ti.ReadWrite | 'Threat Intelligence read write' - -## HTTP request -``` -POST /api/files/{sha1}/unblock -``` - -## Request headers - -Header | Value -:---|:--- -Authorization | Bearer {token}. **Required**. -Content-Type | application/json - -## Request body -In the request body, supply a JSON object with the following parameters: - -Parameter | Type | Description -:---|:---|:--- -Comment | String | Comment to associate with the action. **Required**. - - -## Response -If successful, this method returns 201 Created response code with action details, which indicates that unblock message was sent to Windows Defender deployed in the organization. - - -## Example - -**Request** - -Here is an example of the request. - -``` -POST https://api.securitycenter.windows.com/api/files/7327b54fd718525cbca07dacde913b5ac3c85673/unblock -Content-type: application/json -{ - "Comment": "Unblock file since alert 1234 was investigated and discovered to be false alarm", -} -``` - -**Response** - -Here is an example of the response. - - -``` -HTTP/1.1 201 Created -Content-type: application/json -{ - "fileIdentifier": "7327b54fd718525cbca07dacde913b5ac3c85673", - "fileIdentifierType": "Sha1", - "actionType": "UnBlock", - "fileStatus": "Blocked", - "creationDateTimeUtc": "2017-12-04T13:06:23.4502191Z", - "requestor": "Analyst@contoso.com ", - "requestorComment": "test", - "cancellationDateTimeUtc": null, - "cancellationRequestor": null, - "cancellationComment": null, - "lastUpdateDateTimeUtc": "2017-12-04T13:06:23.4502191Z" -} - -``` diff --git a/windows/security/threat-protection/windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection.md deleted file mode 100644 index 7ea3ec1258..0000000000 --- a/windows/security/threat-protection/windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection.md +++ /dev/null @@ -1,89 +0,0 @@ ---- -title: Unblock file API -description: Use this API to create calls related to allowing a file to be executed in the organization -keywords: apis, graph api, supported apis, unblock file -search.product: eADQiWindows 10XVcnh -ms.prod: w10 -ms.mktglfcycl: deploy -ms.sitesec: library -ms.pagetype: security -ms.author: macapara -author: mjcaparas -ms.localizationpriority: medium -ms.date: 12/08/2017 ---- - -# Unblock file API - -**Applies to:** - -- Windows Defender Advanced Threat Protection (Windows Defender ATP) - - - -Allow a file to be executed in the organization, using Windows Defender Antivirus. - -## Permissions -Users need to have Security administrator or Global admin directory roles. - -## HTTP request -``` -POST /testwdatppreview/files/{sha1}/unblock -``` - -## Request headers - -Header | Value -:---|:--- -Authorization | Bearer {token}. **Required**. -Content-Type | application/json - -## Request body -In the request body, supply a JSON object with the following parameters: - -Parameter | Type | Description -:---|:---|:--- -Comment | String | Comment to associate with the action. **Required**. - - -## Response -If successful, this method returns 200, Ok response code with empty body, which indicates that block message was sent to Windows Defender deployed in the organization. - - -## Example - -**Request** - -Here is an example of the request. - -``` -POST https://graph.microsoft.com/testwdatppreview/files/7327b54fd718525cbca07dacde913b5ac3c85673/unblock -Content-type: application/json -{ - "Comment": "Unblock file since alert 1234 was investigated and discovered to be false alarm", -} -``` - -**Response** - -Here is an example of the response. - - -``` -HTTP/1.1 201 Created -Content-type: application/json -{ - "fileIdentifier": "7327b54fd718525cbca07dacde913b5ac3c85673", - "fileIdentifierType": "Sha1", - "actionType": "UnBlock", - "fileStatus": "Blocked", - "creationDateTimeUtc": "2017-12-04T13:06:23.4502191Z", - "requestor": "Analyst@contoso.com ", - "requestorComment": "test", - "cancellationDateTimeUtc": null, - "cancellationRequestor": null, - "cancellationComment": null, - "lastUpdateDateTimeUtc": "2017-12-04T13:06:23.4502191Z" -} - -``` From eb0171a8116dec21902d35db9855f7d843607d17 Mon Sep 17 00:00:00 2001 From: Zvi Avidor Date: Thu, 16 Aug 2018 11:23:32 +0300 Subject: [PATCH 39/71] undo removal of block and unblock from old docs --- ...ows-defender-advanced-threat-protection.md | 91 +++++++++++++++++++ ...ows-defender-advanced-threat-protection.md | 89 ++++++++++++++++++ 2 files changed, 180 insertions(+) create mode 100644 windows/security/threat-protection/windows-defender-atp/block-file-windows-defender-advanced-threat-protection.md create mode 100644 windows/security/threat-protection/windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection.md diff --git a/windows/security/threat-protection/windows-defender-atp/block-file-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/block-file-windows-defender-advanced-threat-protection.md new file mode 100644 index 0000000000..933ac113b2 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/block-file-windows-defender-advanced-threat-protection.md @@ -0,0 +1,91 @@ +--- +title: Block file API +description: Use this API to blocking files from being running in the organization. +keywords: apis, graph api, supported apis, block file +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Block file API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +Prevent a file from being executed in the organization using Windows Defender Antivirus. + +## Permissions +Users need to have Security administrator or Global admin directory roles. + +## HTTP request +``` +POST /testwdatppreview/files/{sha1}/block +``` + +## Request headers + +Header | Value +:---|:--- +Authorization | Bearer {token}. **Required**. +Content-Type | application/json + +## Request body +In the request body, supply a JSON object with the following parameters: + +Parameter | Type | Description +:---|:---|:--- +Comment | String | Comment to associate with the action. **Required**. + + +## Response +If successful, this method returns 200, Ok response code with empty body, which indicates that block message was sent to Windows Defender deployed in the organization. + + +## Example + +**Request** + +Here is an example of the request. + +``` +POST https://graph.microsoft.com/testwdatppreview/files/7327b54fd718525cbca07dacde913b5ac3c85673/block +Content-type: application/json +{ + "Comment": "Block file due to alert 32123" +} + + +``` + +**Response** + +Here is an example of the response. + + +``` +HTTP/1.1 201 Created +Content-type: application/json +{ + "fileIdentifier": "7327b54fd718525cbca07dacde913b5ac3c85673", + "fileIdentifierType": "Sha1", + "actionType": "Block", + "fileStatus": "Blocked", + "creationDateTimeUtc": "2017-12-04T13:06:23.4502191Z", + "requestor": "Analyst@contoso.com ", + "requestorComment": "test", + "cancellationDateTimeUtc": null, + "cancellationRequestor": null, + "cancellationComment": null, + "lastUpdateDateTimeUtc": "2017-12-04T13:06:23.4502191Z" +} + +``` diff --git a/windows/security/threat-protection/windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection.md new file mode 100644 index 0000000000..7ea3ec1258 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection.md @@ -0,0 +1,89 @@ +--- +title: Unblock file API +description: Use this API to create calls related to allowing a file to be executed in the organization +keywords: apis, graph api, supported apis, unblock file +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 12/08/2017 +--- + +# Unblock file API + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + + +Allow a file to be executed in the organization, using Windows Defender Antivirus. + +## Permissions +Users need to have Security administrator or Global admin directory roles. + +## HTTP request +``` +POST /testwdatppreview/files/{sha1}/unblock +``` + +## Request headers + +Header | Value +:---|:--- +Authorization | Bearer {token}. **Required**. +Content-Type | application/json + +## Request body +In the request body, supply a JSON object with the following parameters: + +Parameter | Type | Description +:---|:---|:--- +Comment | String | Comment to associate with the action. **Required**. + + +## Response +If successful, this method returns 200, Ok response code with empty body, which indicates that block message was sent to Windows Defender deployed in the organization. + + +## Example + +**Request** + +Here is an example of the request. + +``` +POST https://graph.microsoft.com/testwdatppreview/files/7327b54fd718525cbca07dacde913b5ac3c85673/unblock +Content-type: application/json +{ + "Comment": "Unblock file since alert 1234 was investigated and discovered to be false alarm", +} +``` + +**Response** + +Here is an example of the response. + + +``` +HTTP/1.1 201 Created +Content-type: application/json +{ + "fileIdentifier": "7327b54fd718525cbca07dacde913b5ac3c85673", + "fileIdentifierType": "Sha1", + "actionType": "UnBlock", + "fileStatus": "Blocked", + "creationDateTimeUtc": "2017-12-04T13:06:23.4502191Z", + "requestor": "Analyst@contoso.com ", + "requestorComment": "test", + "cancellationDateTimeUtc": null, + "cancellationRequestor": null, + "cancellationComment": null, + "lastUpdateDateTimeUtc": "2017-12-04T13:06:23.4502191Z" +} + +``` From d911f45f7ba2f583e56bf2f9b98aedd6edd26603 Mon Sep 17 00:00:00 2001 From: Zvi Avidor Date: Sun, 19 Aug 2018 13:26:06 +0300 Subject: [PATCH 40/71] David comments --- ...defender-advanced-threat-protection-new.md | 16 +- ...defender-advanced-threat-protection-new.md | 8 +- ...defender-advanced-threat-protection-new.md | 9 +- ...defender-advanced-threat-protection-new.md | 189 ------------------ ...defender-advanced-threat-protection-new.md | 2 +- ...defender-advanced-threat-protection-new.md | 4 +- ...defender-advanced-threat-protection-new.md | 11 +- ...defender-advanced-threat-protection-new.md | 8 +- ...defender-advanced-threat-protection-new.md | 8 +- ...defender-advanced-threat-protection-new.md | 11 +- ...defender-advanced-threat-protection-new.md | 8 +- ...defender-advanced-threat-protection-new.md | 10 +- ...defender-advanced-threat-protection-new.md | 11 +- ...defender-advanced-threat-protection-new.md | 13 +- ...defender-advanced-threat-protection-new.md | 18 +- ...defender-advanced-threat-protection-new.md | 8 +- ...defender-advanced-threat-protection-new.md | 8 +- ...defender-advanced-threat-protection-new.md | 8 +- ...defender-advanced-threat-protection-new.md | 8 +- ...defender-advanced-threat-protection-new.md | 8 +- ...defender-advanced-threat-protection-new.md | 8 +- ...defender-advanced-threat-protection-new.md | 10 +- ...ows-defender-advanced-threat-protection.md | 3 +- ...defender-advanced-threat-protection-new.md | 13 +- ...defender-advanced-threat-protection-new.md | 8 +- ...defender-advanced-threat-protection-new.md | 8 +- ...defender-advanced-threat-protection-new.md | 13 +- ...defender-advanced-threat-protection-new.md | 15 +- ...defender-advanced-threat-protection-new.md | 18 +- ...defender-advanced-threat-protection-new.md | 13 +- ...defender-advanced-threat-protection-new.md | 12 +- ...defender-advanced-threat-protection-new.md | 29 ++- ...defender-advanced-threat-protection-new.md | 11 +- ...defender-advanced-threat-protection-new.md | 11 +- .../improverequestperformance-new.md | 8 + ...defender-advanced-threat-protection-new.md | 6 +- ...defender-advanced-threat-protection-new.md | 8 +- ...defender-advanced-threat-protection-new.md | 14 +- ...defender-advanced-threat-protection-new.md | 6 +- ...defender-advanced-threat-protection-new.md | 12 +- ...defender-advanced-threat-protection-new.md | 17 +- ...defender-advanced-threat-protection-new.md | 14 +- ...defender-advanced-threat-protection-new.md | 16 +- ...defender-advanced-threat-protection-new.md | 14 +- ...defender-advanced-threat-protection-new.md | 14 +- 45 files changed, 164 insertions(+), 503 deletions(-) delete mode 100644 windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/improverequestperformance-new.md diff --git a/windows/security/threat-protection/windows-defender-atp/alerts-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/alerts-windows-defender-advanced-threat-protection-new.md index 25f518344c..2e9a1b2edf 100644 --- a/windows/security/threat-protection/windows-defender-atp/alerts-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/alerts-windows-defender-advanced-threat-protection-new.md @@ -22,20 +22,20 @@ Represents an alert entity in WDATP. # Methods Method|Return Type |Description :---|:---|:--- -[Get alert](get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md) | [alert](get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md) | Get a single [alert](get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md) object. -[List alerts](get-alerts-windows-defender-advanced-threat-protection-new.md) | [alert](get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md) collection | List [alert](get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md) collection. -[Create alert](create-alert-by-reference-windows-defender-advanced-threat-protection-new.md)|[alert](get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md)|Create an alert based on event data obtained from [Advanced Hunting](run-advanced-query-api.md) +[Get alert](get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md) | [alert](alerts-windows-defender-advanced-threat-protection-new.md) | Get a single [alert](alerts-windows-defender-advanced-threat-protection-new.md) object. +[List alerts](get-alerts-windows-defender-advanced-threat-protection-new.md) | [alert](alerts-windows-defender-advanced-threat-protection-new.md) collection | List [alert](alerts-windows-defender-advanced-threat-protection-new.md) collection. +[Create alert](create-alert-by-reference-windows-defender-advanced-threat-protection-new.md)|[alert](alerts-windows-defender-advanced-threat-protection-new.md)|Create an alert based on event data obtained from [Advanced Hunting](run-advanced-query-api.md) [List related domains](get-alert-related-domain-info-windows-defender-advanced-threat-protection-new.md)|Domain collection|List Urls associated with the alert. -[List related files](get-alert-related-files-info-windows-defender-advanced-threat-protection-new.md) | [file](files-windows-defender-advanced-threat-protection-new.md) collection | List the [file](files-windows-defender-advanced-threat-protection-new.md) entities that are associated with the [alert](get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md). +[List related files](get-alert-related-files-info-windows-defender-advanced-threat-protection-new.md) | [file](files-windows-defender-advanced-threat-protection-new.md) collection | List the [file](files-windows-defender-advanced-threat-protection-new.md) entities that are associated with the [alert](alerts-windows-defender-advanced-threat-protection-new.md). [List related IPs](get-alert-related-ip-info-windows-defender-advanced-threat-protection-new.md) | IP collection | List IPs that are associated witht the alert. -[Get related Machine](get-alert-related-machine-info-windows-defender-advanced-threat-protection-new.md) | [machine](machine-windows-defender-advanced-threat-protection-new.md) entity | The [machine](machine-windows-defender-advanced-threat-protection-new.md) that is associated with the [alert](get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md). -[Get related user](get-alert-related-user-info-windows-defender-advanced-threat-protection-new.md) | [user](user-windows-defender-advanced-threat-protection-new.md) | The [user](user-windows-defender-advanced-threat-protection-new.md) that is associated with the [alert](get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md). +[Get related machines](get-alert-related-machine-info-windows-defender-advanced-threat-protection-new.md) | [machine](machine-windows-defender-advanced-threat-protection-new.md) | The [machine](machine-windows-defender-advanced-threat-protection-new.md) that is associated with the [alert](alerts-windows-defender-advanced-threat-protection-new.md). +[Get related users](get-alert-related-user-info-windows-defender-advanced-threat-protection-new.md) | [user](user-windows-defender-advanced-threat-protection-new.md) | The [user](user-windows-defender-advanced-threat-protection-new.md) that is associated with the [alert](alerts-windows-defender-advanced-threat-protection-new.md). # Properties Property | Type | Description :---|:---|:--- -id | string | alert id. +id | String | alert id. severity | String | severity of the alert. Allowed values are: 'Low', 'Medium' and 'High'. status | String | Specifies the current status of the alert. The property values are: 'New', 'InProgress' and 'Resolved'. description | String | Description of the threat, identified by the alert. @@ -51,7 +51,7 @@ determination | String | Specifies the determination of the alert. The property resolvedTime | DateTimeOffset | The date and time in which the status of the alert was changed to 'Resolved'. lastEventTime | DateTimeOffset | The last occurance of the event that triggered the alert on the same machine. firstEventTime | DateTimeOffset | The first occurance of the event that triggered the alert on that machine. -machineId | string | id of a [machine](machine-windows-defender-advanced-threat-protection-new.md) entity that is associated with the alert. +machineId | String | id of a [machine](machine-windows-defender-advanced-threat-protection-new.md) entity that is associated with the alert. # JSON representation ``` diff --git a/windows/security/threat-protection/windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection-new.md index 7f8808cd66..3fb8f55a22 100644 --- a/windows/security/threat-protection/windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection-new.md @@ -41,7 +41,7 @@ POST /api/machines/{id}/collectInvestigationPackage Name | Type | Description :---|:---|:--- -Authorization | string | Bearer {token}. **Required**. +Authorization | String | Bearer {token}. **Required**. Content-Type | string | application/json. **Required**. ## Request body @@ -61,11 +61,7 @@ If successful, this method returns 201 - Created response code and [Machine Acti Here is an example of the request. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` POST https://api.securitycenter.windows.com/api/machines/fb9ab6be3965095a09c057be7c90f0a2/collectInvestigationPackage diff --git a/windows/security/threat-protection/windows-defender-atp/create-alert-by-reference-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/create-alert-by-reference-windows-defender-advanced-threat-protection-new.md index dc6e3ab67a..ea866b92f6 100644 --- a/windows/security/threat-protection/windows-defender-atp/create-alert-by-reference-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/create-alert-by-reference-windows-defender-advanced-threat-protection-new.md @@ -59,8 +59,7 @@ category| String | Category of the alert. The property values are: 'None', 'Susp ## Response -If successful, this method returns 200 OK, and a new [alert](alerts-windows-defender-advanced-threat-protection-new.md) object in the response body. -If event with the specified properties (_reportId_, _eventTime_ and _machineId_) was not found - 404 Not Found. +If successful, this method returns 200 OK, and a new [alert](alerts-windows-defender-advanced-threat-protection-new.md) object in the response body. If event with the specified properties (_reportId_, _eventTime_ and _machineId_) was not found - 404 Not Found. ## Example @@ -69,11 +68,7 @@ If event with the specified properties (_reportId_, _eventTime_ and _machineId_) Here is an example of the request. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` POST https://api.securitycenter.windows.com/api/CreateAlertByReference diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md deleted file mode 100644 index b64bf198ef..0000000000 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md +++ /dev/null @@ -1,189 +0,0 @@ ---- -title: Use Windows Defender Advanced Threat Protection APIs -description: Use the exposed data and actions using a set of progammatic APIs that are part of the Microsoft Intelligence Security Graph. -keywords: apis, graph api, supported apis, actor, alerts, machine, user, domain, ip, file, advanced hunting, query -search.product: eADQiWindows 10XVcnh -ms.prod: w10 -ms.mktglfcycl: deploy -ms.sitesec: library -ms.pagetype: security -ms.author: macapara -author: mjcaparas -ms.localizationpriority: medium -ms.date: 30/07/2018 ---- - -# Use Windows Defender ATP APIs - -**Applies to:** - -- Windows 10 Enterprise -- Windows 10 Education -- Windows 10 Pro -- Windows 10 Pro Education -- Windows Defender Advanced Threat Protection (Windows Defender ATP) - - ->Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-exposedapis-abovefoldlink) - -Windows Defender ATP exposes much of its data and actions through a set of programmatic APIs. Those APIs will enable you to automate workflows and innovate based on Windows Defender ATP capabilities. The API access requires OAuth2.0 authentication. For more information, see [OAuth 2.0 Authorization Code Flow](https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-protocols-oauth-code). - -In general, you’ll need to take the following steps to use the APIs: -- Create an app -- Get an access token -- Use the token to access Windows Defender ATP API - -This page explains how to create an app, get an access token to Windows Defender ATP and validate the token includes the required permission. - -## Create an app - -1. Log on to [Azure](https://portal.azure.com). - -2. Navigate to **Azure Active Directory** > **App registrations** > **New application registration**. - - ![Image of Microsoft Azure and navigation to application registration](images/atp-azure-new-app.png) - -3. In the Create window, enter the following information then click **Create**. - - ![Image of Create application window](images/webapp-create.png) - - - **Name:** WdatpEcosystemPartner - - **Application type:** Web app / API - - **Redirect URI:** `https://WdatpEcosystemPartner.com` (The URL where user can sign in and use your app. You can change this URL later.) - - -4. Click **Settings** > **Required permissions** > **Add**. - - ![Image of new app in Azure](images/webapp-add-permission.png) - -5. Click **Select an API** > **WindowsDefenderATP**, then click **Select**. - - **Note**: WindowsDefenderATP does not appear in the original list. You need to start writing its name in the text box to see it appear. - - ![Image of API access and API selection](images/webapp-add-permission-2.png) - -6. Click **Select permissions** > **Run advanced queries** > **Select**. - - **Important note**: You need to select the relevant permission. 'Run advanced queries' is only an example! - - ![Image of select permissions](images/webapp-select-permission.png) - - - In order to send telemetry events to WDATP, check 'Write timeline events' permission - - In order to send TI events to WDATP, check 'Read and write IOCs belonging to the app' permission - - In order to run advanced queries in WDATP, check 'Run advanced queries' permission - -8. User with "Global Admin" permissions, need to click **Grant Permissions** in the **Required Permissions** tab. - -8. Click **Done** - - ![Image of add permissions completion](images/webapp-add-permission-end.png) - -9. Click **Keys** and type a key name and click **Save**. - - **Important**: After you save, **copy the key value**. You won't be able to retrieve after you leave! - - ![Image of create app key](images/webapp-create-key.png) - -10. Write down your application ID. - - ![Image of app ID](images/webapp-get-appid.png) - -11. Set your application to be multi-tenanted - - This is **required** for 3rd party apps (i.e., if you create an application that is intended to run in multiple customers tenant). - - This is **not required** if you create a service that you want to run in your tenant only (i.e., if you create an application for your own usage that will only interact with your own data)​ - - Click **Properties** > **Yes** > **Save**. - - ![Image of multi tenant](images/webapp-edit-multitenant.png) - - -## Application consent - -You need your application to be approved in each tenant where you intend to use it. This is because your application interacts with WDATP application on behalf of your customer. - -You (or your customer if you are writing a 3rd party application) need to click the consent link and approve your application. The consent should be done with a user who has admin privileges in the active directory. - -Consent link is of the form: - -``` -https://login.microsoftonline.com/common/oauth2/authorize?prompt=consent&client_id=00000000-0000-0000-0000-000000000000&response_type=code&sso_reload=true​ -``` - -where 00000000-0000-0000-0000-000000000000​ should be replaced with your Azure application ID - - -## Get an access token - -For more details on AAD token, refer to [AAD tutorial](https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-protocols-oauth-client-creds) - -### Using C# - ->The below code was tested with nuget Microsoft.IdentityModel.Clients.ActiveDirectory 3.19.8 - -- Create a new Console Application -- Install Nuget [Microsoft.IdentityModel.Clients.ActiveDirectory](https://www.nuget.org/packages/Microsoft.IdentityModel.Clients.ActiveDirectory/) -- Add the below using - - ``` - using Microsoft.IdentityModel.Clients.ActiveDirectory; - ``` - -- Copy/Paste the below code in your application (do not forget to update the 3 variables: ```tenantId, appId, appSecret```) - - ``` - string tenantId = "00000000-0000-0000-0000-000000000000"; // Paste your own tenant ID here - string appId = "11111111-1111-1111-1111-111111111111"; // Paste your own app ID here - string appSecret = "22222222-2222-2222-2222-222222222222"; // Paste your own app secret here - - const string authority = "https://login.windows.net"; - const string wdatpResourceId = "https://api.securitycenter.windows.com/windowsatpservice"; - - AuthenticationContext auth = new AuthenticationContext($"{authority}/{tenantId}/"); - ClientCredential clientCredential = new ClientCredential(appId, appSecret); - AuthenticationResult authenticationResult = auth.AcquireTokenAsync(wdatpResourceId, clientCredential).GetAwaiter().GetResult(); - string token = authenticationResult.AccessToken; - ``` - -### Using PowerShell - -Refer to [Get token using PowerShell](run-advanced-query-sample-powershell.md#get-token) - -### Using Python - -Refer to [Get token using Python](run-advanced-query-sample-python.md#get-token) - -### Using Curl - -> [!NOTE] -> The below procedure supposed Curl for Windows is already installed on your computer - -- Open a command window -- ​Set CLIENT_ID to your Azure application ID -- Set CLIENT_SECRET to your Azure application secret -- Set TENANT_ID to the Azure tenant ID of the customer that wants to use your application to access WDATP application -- Run the below command: - -``` -curl -i -X POST -H "Content-Type:application/x-www-form-urlencoded" -d "grant_type=client_credentials" -d "client_id=%CLIENT_ID%" -d "scope=https://securitycenter.onmicrosoft.com/windowsatpservice​/.default" -d "client_secret=%CLIENT_SECRET%" "https://login.microsoftonline.com/%TENANT_ID​%/oauth2/v2.0/token" -k​ -``` - -You will get an answer of the form: - -``` -{"token_type":"Bearer","expires_in":3599,"ext_expires_in":0,"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIn aWReH7P0s0tjTBX8wGWqJUdDA"} -``` - -## Validate the token - -- Copy/paste into [JWT](https://jwt.ms/) the token you get in the previous step -- Validate you get a 'roles' claim with the desired permission as you've chosen when adding permissions to the applications: - -![Image of token validation](images/webapp-validate-token.png) - -> [!NOTE] -> The same token can be used for 1 hour and then it expired - -## Related topics -- [Supported Windows Defender ATP APIs](supported-apis-windows-defender-advanced-threat-protection-new.md) diff --git a/windows/security/threat-protection/windows-defender-atp/files-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/files-windows-defender-advanced-threat-protection-new.md index 8961b49e34..076ab10d21 100644 --- a/windows/security/threat-protection/windows-defender-atp/files-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/files-windows-defender-advanced-threat-protection-new.md @@ -23,7 +23,7 @@ Represent a file entity in WDATP. Method|Return Type |Description :---|:---|:--- [Get file](get-file-information-windows-defender-advanced-threat-protection-new.md) | [file](files-windows-defender-advanced-threat-protection-new.md) | Get a single file -[List file related alerts](get-file-related-alerts-windows-defender-advanced-threat-protection-new.md) | [alert](get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md) collection | Get the [alert](get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md) entities that are associated with the file. +[List file related alerts](get-file-related-alerts-windows-defender-advanced-threat-protection-new.md) | [alert](alerts-windows-defender-advanced-threat-protection-new.md) collection | Get the [alert](alerts-windows-defender-advanced-threat-protection-new.md) entities that are associated with the file. [List file related machines](get-file-related-machines-windows-defender-advanced-threat-protection-new.md) | [machine](machine-windows-defender-advanced-threat-protection-new.md) collection | Get the [machine](machine-windows-defender-advanced-threat-protection-new.md) entities associated with the alert. [file statistics](get-file-statistics-windows-defender-advanced-threat-protection-new.md) | Statistics summary | Retrieves the prevalence for the given file. diff --git a/windows/security/threat-protection/windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection-new.md index eb6d684c80..8e140990af 100644 --- a/windows/security/threat-protection/windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection-new.md @@ -22,7 +22,7 @@ ms.date: 07/25/2018 - Windows Defender Advanced Threat Protection (Windows Defender ATP) -Find a machine entity around a specific timestamp by internal IP. +Find a machine by internal IP. >[!NOTE] >The timestamp must be within the last 30 days. @@ -44,7 +44,7 @@ GET /api/machines/find(timestamp={time},key={IP}) Name | Type | Description :---|:---|:--- -Authorization | string | Bearer {token}. **Required**. +Authorization | String | Bearer {token}. **Required**. ## Request body diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md index 46cb0db71b..1ca4e9a7e3 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md @@ -41,15 +41,14 @@ GET /api/alerts/{id} Name | Type | Description :---|:---|:--- -Authorization | string | Bearer {token}. **Required**. +Authorization | String | Bearer {token}. **Required**. ## Request body Empty ## Response -If successful, this method returns 200 OK, and an [alert](alerts-windows-defender-advanced-threat-protection-new.md) object in the response body. -If alert with the specified id was not found - 404 Not Found. +If successful, this method returns 200 OK, and the [alert](alerts-windows-defender-advanced-threat-protection-new.md) entity in the response body. If alert with the specified id was not found - 404 Not Found. ## Example @@ -58,11 +57,7 @@ If alert with the specified id was not found - 404 Not Found. Here is an example of the request. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` GET https://api.securitycenter.windows.com/api/alerts/636688558380765161_2136280442 diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection-new.md index bfdfc9935b..f514a5809c 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection-new.md @@ -40,7 +40,7 @@ GET /api/alerts/{id}/domains Name | Type | Description :---|:---|:--- -Authorization | string | Bearer {token}. **Required**. +Authorization | String | Bearer {token}. **Required**. ## Request body @@ -57,11 +57,7 @@ If alert not found or domain not found - 404 Not Found. Here is an example of the request. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection-new.md index 90083b44b6..26b2ce24f5 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection-new.md @@ -40,7 +40,7 @@ GET /api/alerts/{id}/files Name | Type | Description :---|:---|:--- -Authorization | string | Bearer {token}. **Required**. +Authorization | String | Bearer {token}. **Required**. ## Request body @@ -57,11 +57,7 @@ If alert not found or files not found - 404 Not Found. Here is an example of the request. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` GET https://api.securitycenter.windows.com/api/alerts/636688558380765161_2136280442/files diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection-new.md index 1ed55af361..cc1b764c25 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection-new.md @@ -41,15 +41,14 @@ GET /api/alerts/{id}/ips Name | Type | Description :---|:---|:--- -Authorization | string | Bearer {token}. **Required**. +Authorization | String | Bearer {token}. **Required**. ## Request body Empty ## Response -If successful and alert and an IP exist - 200 OK. -If alert not found or IPs not found - 404 Not Found. +If successful and alert and an IP exist - 200 OK. If alert not found or IPs not found - 404 Not Found. ## Example @@ -58,11 +57,7 @@ If alert not found or IPs not found - 404 Not Found. Here is an example of the request. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` GET https://api.securitycenter.windows.com/alerts/636688558380765161_2136280442/ips diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection-new.md index 46b6be0dc4..480e3a73ec 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection-new.md @@ -42,7 +42,7 @@ GET /api/alerts/{id}/machine Name | Type | Description :---|:---|:--- -Authorization | string | Bearer {token}. **Required**. +Authorization | String | Bearer {token}. **Required**. ## Request body @@ -58,11 +58,7 @@ If alert not found or machine not found - 404 Not Found. Here is an example of the request. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection-new.md index 6ac1ca8121..6a63063984 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection-new.md @@ -41,7 +41,7 @@ GET /api/alerts/{id}/user Name | Type | Description :---|:---|:--- -Authorization | string | Bearer {token}. **Required**. +Authorization | String | Bearer {token}. **Required**. ## Request body @@ -58,11 +58,7 @@ If alert not found or user not found - 404 Not Found. Here is an example of the request. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` @@ -78,7 +74,7 @@ Here is an example of the response. HTTP/1.1 200 OK Content-type: application/json { - "@odata.context": "https://wdatpapi-eus-stg.cloudapp.net/api/$metadata#Users/$entity", + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#Users/$entity", "id": "contoso\\user1", "firstSeen": "2018-08-02T00:00:00Z", "lastSeen": "2018-08-04T00:00:00Z", diff --git a/windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection-new.md index d412cbe067..2bca208feb 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection-new.md @@ -46,15 +46,14 @@ Method supports $skip and $top query parameters. Name | Type | Description :---|:---|:--- -Authorization | string | Bearer {token}. **Required**. +Authorization | String | Bearer {token}. **Required**. ## Request body Empty ## Response -If successful, this method returns 200 OK, and a list of [alert](alerts-windows-defender-advanced-threat-protection-new.md) objects in the response body. -If no recent alerts found - 404 Not Found. +If successful, this method returns 200 OK, and a list of [alert](alerts-windows-defender-advanced-threat-protection-new.md) objects in the response body. If no recent alerts found - 404 Not Found. ## Example @@ -63,11 +62,7 @@ If no recent alerts found - 404 Not Found. Here is an example of the request. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` GET https://api.securitycenter.windows.com/api/alerts diff --git a/windows/security/threat-protection/windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection-new.md index a64b80a325..6a1c66a8f4 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection-new.md @@ -41,16 +41,15 @@ GET /api/domains/{domain}/alerts ## Request headers Header | Value -:---|:--- -Authorization | Bearer {token}. **Required**. +:---|:---|:--- +Authorization | String | Bearer {token}. **Required**. ## Request body Empty ## Response -If successful and domain and alert exists - 200 OK with list of [alert](alerts-windows-defender-advanced-threat-protection-new.md) objects. -If domain or alert does not exist - 404 Not Found. +If successful and domain and alert exists - 200 OK with list of [alert](alerts-windows-defender-advanced-threat-protection-new.md) entities. If domain or alert does not exist - 404 Not Found. ## Example @@ -59,11 +58,7 @@ If domain or alert does not exist - 404 Not Found. Here is an example of the request. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` GET https://api.securitycenter.windows.com/api/domains/client.wns.windows.com/alerts diff --git a/windows/security/threat-protection/windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection-new.md index c757b85e20..9bd21b69fa 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection-new.md @@ -30,7 +30,8 @@ One of the following permissions is required to call this API. To learn more, in Permission type | Permission | Permission display name :---|:---|:--- -Application | URL.Read.All | 'Read URLs' +Application | Machine.Read.All | 'Read all machine profiles' +Application | Machine.ReadWrite.All | 'Read and write all machine information' ## HTTP request ``` @@ -39,17 +40,16 @@ GET /api/domains/{domain}/machines ## Request headers -Header | Value -:---|:--- -Authorization | Bearer {token}. **Required**. +Name | Type | Description +:---|:---|:--- +Authorization | String | Bearer {token}. **Required**. ## Request body Empty ## Response -If successful and domain and machine exists - 200 OK with list of [machine](machine-windows-defender-advanced-threat-protection-new.md) objects. -If domain or machines do not exist - 404 Not Found. +If successful and domain and machine exists - 200 OK with list of [machine](machine-windows-defender-advanced-threat-protection-new.md) entities. If domain or machines do not exist - 404 Not Found. ## Example @@ -58,11 +58,7 @@ If domain or machines do not exist - 404 Not Found. Here is an example of the request. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection-new.md index cac75199c0..92e88b5f76 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection-new.md @@ -48,7 +48,7 @@ Authorization | Bearer {token}. **Required**. Empty ## Response -If successful and domain exists - 200 OK, with statistics object in the respnose body. +If successful and domain exists - 200 OK, with statistics object in the response body. If domain does not exist - 404 Not Found. @@ -58,11 +58,7 @@ If domain does not exist - 404 Not Found. Here is an example of the request. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` GET https://api.securitycenter.windows.com/api/domains/example.com/stats diff --git a/windows/security/threat-protection/windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection-new.md index 0b128088bf..fa5304bd4b 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection-new.md @@ -42,7 +42,7 @@ GET /api/files/{id} Name | Type | Description :---|:---|:--- -Authorization | string | Bearer {token}. **Required**. +Authorization | String | Bearer {token}. **Required**. ## Request body @@ -59,11 +59,7 @@ If file does not exist - 404 Not Found. Here is an example of the request. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` GET https://api.securitycenter.windows.com/api/files/6532ec91d513acc05f43ee0aa3002599729fd3e1 diff --git a/windows/security/threat-protection/windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection-new.md index 79d9ce83fb..6fe4d8bd01 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection-new.md @@ -42,7 +42,7 @@ GET /api/files/{id}/alerts Name | Type | Description :---|:---|:--- -Authorization | string | Bearer {token}. **Required**. +Authorization | String | Bearer {token}. **Required**. ## Request body @@ -59,11 +59,7 @@ If file or alerts do not exist - 404 Not Found. Here is an example of the request. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` GET https://api.securitycenter.windows.com/api/files/6532ec91d513acc05f43ee0aa3002599729fd3e1/alerts diff --git a/windows/security/threat-protection/windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection-new.md index 7f56ef7bb9..bc829eca2b 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection-new.md @@ -42,7 +42,7 @@ GET /api/files/{id}/machines Name | Type | Description :---|:---|:--- -Authorization | string | Bearer {token}. **Required**. +Authorization | String | Bearer {token}. **Required**. ## Request body @@ -59,11 +59,7 @@ If file or machines do not exist - 404 Not Found. Here is an example of the request. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` GET https://api.securitycenter.windows.com/api/files/1e5bc9d7e413ddd7902c2932e418702b84d0cc07/machines diff --git a/windows/security/threat-protection/windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection-new.md index 455b5c051b..6cdada986e 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection-new.md @@ -41,7 +41,7 @@ GET /api/files/{id}/stats Name | Type | Description :---|:---|:--- -Authorization | string | Bearer {token}. **Required**. +Authorization | String | Bearer {token}. **Required**. ## Request body @@ -58,11 +58,7 @@ If file do not exist - 404 Not Found. Here is an example of the request. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` GET https://api.securitycenter.windows.com/api/files/6532ec91d513acc05f43ee0aa3002599729fd3e1/stats diff --git a/windows/security/threat-protection/windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection-new.md index a1b072c358..6d8a3c4b91 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection-new.md @@ -42,7 +42,7 @@ GET /api/ips/{ip}/alerts Name | Type | Description :---|:---|:--- -Authorization | string | Bearer {token}. **Required**. +Authorization | String | Bearer {token}. **Required**. ## Request body @@ -59,11 +59,7 @@ If IP and alerts do not exist - 404 Not Found. Here is an example of the request. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection-new.md index fad2a57955..559d950e2c 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection-new.md @@ -20,7 +20,7 @@ ms.date: 12/08/2017 **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) -Retrieves a collection of alerts related to a given IP address. +Retrieves a collection of machines that communicated with or from a particular IP. ## Permissions One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) @@ -39,7 +39,7 @@ GET /api/ips/{ip}/machines Name | Type | Description :---|:---|:--- -Authorization | string | Bearer {token}. **Required**. +Authorization | String | Bearer {token}. **Required**. ## Request body @@ -56,11 +56,7 @@ If IP or machines do not exist - 404 Not Found. Here is an example of the request. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` GET https://api.securitycenter.windows.com/api/ips/10.209.67.177/machines diff --git a/windows/security/threat-protection/windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection.md index 1796c563b1..9e0adbf0ee 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection.md @@ -36,8 +36,7 @@ Content type | application/json Empty ## Response -If successful and IP and machines exists - 200 OK. -If IP or machines do not exist - 404 Not Found. +If successful and IP and machines exists - 200 OK. If IP or machines do not exist - 404 Not Found. ## Example diff --git a/windows/security/threat-protection/windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection-new.md index 4744b4c554..6133e368b8 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection-new.md @@ -39,15 +39,14 @@ GET /api/ips/{ip}/stats Name | Type | Description :---|:---|:--- -Authorization | string | Bearer {token}. **Required**. +Authorization | String | Bearer {token}. **Required**. ## Request body Empty ## Response -If successful and file exists - 200 OK with statistical data in the body. -If file do not exist - 404 Not Found. +If successful and ip exists - 200 OK with statistical data in the body. IP do not exist - 404 Not Found. ## Example @@ -56,11 +55,7 @@ If file do not exist - 404 Not Found. Here is an example of the request. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` GET https://api.securitycenter.windows.com/api/ips/10.209.67.177/stats @@ -76,7 +71,7 @@ HTTP/1.1 200 OK Content-type: application/json { "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#microsoft.windowsDefenderATP.api.InOrgIPStats", - "ipAddress": "192.168.1.1", + "ipAddress": "10.209.67.177", "orgPrevalence": "63515", "orgFirstSeen": "2017-07-30T13:36:06Z", "orgLastSeen": "2017-08-29T13:32:59Z" diff --git a/windows/security/threat-protection/windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection-new.md index ed74621b98..c69c8c7fb7 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection-new.md @@ -40,7 +40,7 @@ GET /api/machines/{id} Name | Type | Description :---|:---|:--- -Authorization | string | Bearer {token}. **Required**. +Authorization | String | Bearer {token}. **Required**. ## Request body @@ -57,11 +57,7 @@ If machine with the specified id was not found - 404 Not Found. Here is an example of the request. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` GET https://api.securitycenter.windows.com/api/machines/1e5bc9d7e413ddd7902c2932e418702b84d0cc07 diff --git a/windows/security/threat-protection/windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection-new.md index db2f410ad7..28fae29459 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection-new.md @@ -40,7 +40,7 @@ GET /api/machines/{id}/logonusers Name | Type | Description :---|:---|:--- -Authorization | string | Bearer {token}. **Required**. +Authorization | String | Bearer {token}. **Required**. ## Request body @@ -57,11 +57,7 @@ If no machine found or no users found - 404 Not Found. Here is an example of the request. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` GET https://api.securitycenter.windows.com/api/1e5bc9d7e413ddd7902c2932e418702b84d0cc07/logonusers diff --git a/windows/security/threat-protection/windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection-new.md index 29a18a285d..c04950f37e 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection-new.md @@ -40,15 +40,14 @@ GET /api/machines/{id}/alerts Name | Type | Description :---|:---|:--- -Authorization | string | Bearer {token}. **Required**. +Authorization | String | Bearer {token}. **Required**. ## Request body Empty ## Response -If successful and machine and alert exists - 200 OK with list of [alert](alerts-windows-defender-advanced-threat-protection-new.md) entities in the body. -If no machine or no alerts found - 404 Not Found. +If successful and machine and alert exists - 200 OK with list of [alert](alerts-windows-defender-advanced-threat-protection-new.md) entities in the body. If no machine or no alerts found - 404 Not Found. ## Example @@ -57,15 +56,11 @@ If no machine or no alerts found - 404 Not Found. Here is an example of the request. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` -GET https://api.securitycenter.windows.com/api/machines/{id}/alerts +GET https://api.securitycenter.windows.com/api/machines/1e5bc9d7e413ddd7902c2932e418702b84d0cc07/alerts ``` **Response** diff --git a/windows/security/threat-protection/windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection-new.md index 32946e2f35..48d22ae303 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection-new.md @@ -13,7 +13,7 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Get MachineAction object API +# Get machineAction API [!include[Prereleaseinformation](prerelease.md)] @@ -21,7 +21,7 @@ ms.date: 12/08/2017 - Windows Defender Advanced Threat Protection (Windows Defender ATP) -Get actions done on a machine. +Get action performed on a machine. ## Permissions One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) @@ -40,15 +40,14 @@ GET /api/machineactions/{id} Name | Type | Description :---|:---|:--- -Authorization | string | Bearer {token}. **Required**. +Authorization | String | Bearer {token}. **Required**. ## Request body Empty ## Response -If successful, this method returns 200, Ok response code with a [Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) object. -If machine action with the specified id was not found - 404 Not Found. +If successful, this method returns 200, Ok response code with a [Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) entity. If machine action entity with the specified id was not found - 404 Not Found. ## Example @@ -56,11 +55,7 @@ If machine action with the specified id was not found - 404 Not Found. Here is an example of the request. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` GET https://api.securitycenter.windows.com/api/machineactions/2e9da30d-27f6-4208-81f2-9cd3d67893ba diff --git a/windows/security/threat-protection/windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection-new.md index 442cc66b64..c3b6f32ab8 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection-new.md @@ -21,7 +21,7 @@ ms.date: 12/08/2017 - Windows Defender Advanced Threat Protection (Windows Defender ATP) - Gets collection of actions done on machines. Get MachineAction collection API supports OData V4 queries. + Gets collection of actions done on machines. Get MachineAction collection API supports [OData V4 queries](https://www.odata.org/documentation/odata-version-2-0/uri-conventions/#FilterSystemQueryOption). ## Permissions One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) @@ -40,14 +40,14 @@ GET /api/machineactions Name | Type | Description :---|:---|:--- -Authorization | string | Bearer {token}. **Required**. +Authorization | String | Bearer {token}. **Required**. ## Request body Empty ## Response -If successful, this method returns 200, Ok response code with a collection of [Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) objects since the Retention policy time of the organization. +If successful, this method returns 200, Ok response code with a collection of [machineAction](machineaction-windows-defender-advanced-threat-protection-new.md) entities. ## Example 1 @@ -56,11 +56,7 @@ If successful, this method returns 200, Ok response code with a collection of [M Here is an example of the request on an organization that has three MachineActions. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` GET https://api.securitycenter.windows.com/api/machineactions @@ -128,11 +124,7 @@ GET https://api.securitycenter.windows.com/api/machineactions?$filter=machineId Here is an example of the response. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` HTTP/1.1 200 Ok diff --git a/windows/security/threat-protection/windows-defender-atp/get-machines-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-machines-windows-defender-advanced-threat-protection-new.md index 8fe48d7d82..581b175fe0 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machines-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machines-windows-defender-advanced-threat-protection-new.md @@ -21,7 +21,7 @@ ms.date: 12/08/2017 - Windows Defender Advanced Threat Protection (Windows Defender ATP) -Retrieves a collection of recently seen machines. +Retrieves a collection of machines that have communicated with WDATP cloud on the last 30 days. ## Permissions @@ -39,15 +39,14 @@ GET /api/machines Name | Type | Description :---|:---|:--- -Authorization | string | Bearer {token}. **Required**. +Authorization | String | Bearer {token}. **Required**. ## Request body Empty ## Response -If successful and machines exists - 200 OK with list of [machine](machine-windows-defender-advanced-threat-protection-new.md) entities in the body. -If no recent machines - 404 Not Found. +If successful and machines exists - 200 OK with list of [machine](machine-windows-defender-advanced-threat-protection-new.md) entities in the body. If no recent machines - 404 Not Found. ## Example @@ -56,11 +55,7 @@ If no recent machines - 404 Not Found. Here is an example of the request. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` GET https://api.securitycenter.windows.com/api/machines diff --git a/windows/security/threat-protection/windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection-new.md index 95c7d5f771..ce05cde3e4 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection-new.md @@ -21,7 +21,7 @@ ms.date: 12/08/2017 - Windows Defender Advanced Threat Protection (Windows Defender ATP) -Get a URI that allows downloading of an investigation package. +Get a URI that allows downloading of an [investigation package](collect-investigation-package-windows-defender-advanced-threat-protection-new). ## Permissions One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) @@ -32,14 +32,14 @@ Application | Machine.CollectForensics | 'Collect forensics' ## HTTP request ``` -GET /api/machineactions/{id}/getPackageUri +GET /api/machineactions/{machine action id}/getPackageUri ``` ## Request headers Name | Type | Description :---|:---|:--- -Authorization | string | Bearer {token}. **Required**. +Authorization | String | Bearer {token}. **Required**. ## Request body @@ -64,11 +64,7 @@ GET https://api.securitycenter.windows.com/api/machineactions/7327b54fd718525cbc Here is an example of the response. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection-new.md index cabf478649..4766668f1f 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection-new.md @@ -39,15 +39,14 @@ GET /api/users/{id}/ Name | Type | Description :---|:---|:--- -Authorization | string | Bearer {token}. **Required**. +Authorization | String | Bearer {token}. **Required**. ## Request body Empty ## Response -If successful and user exists - 200 OK with [user](user-windows-defender-advanced-threat-protection-new.md) entity in the body. -If user does not exist - 404 Not Found. +If successful and user exists - 200 OK with [user](user-windows-defender-advanced-threat-protection-new.md) entity in the body. If user does not exist - 404 Not Found. ## Example @@ -56,14 +55,10 @@ If user does not exist - 404 Not Found. Here is an example of the request. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` -GET https://api.securitycenter.windows.com/api/users/{id} +GET https://api.securitycenter.windows.com/api/users/user1@contoso.com Content-type: application/json ``` @@ -76,11 +71,15 @@ Here is an example of the response. HTTP/1.1 200 OK Content-type: application/json { - "@odata.context": "https://api.securitycenter.windows.com/testwdatppreview/$metadata#Users/$entity", - "id": "", - "accountSid": null, - "accountName": "", - "accountDomainName": "", -… + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#Users/$entity", + "id": "user1@contoso.com", + "firstSeen": "2018-08-02T00:00:00Z", + "lastSeen": "2018-08-04T00:00:00Z", + "mostPrevalentMachineId": null, + "leastPrevalentMachineId": null, + "logonTypes": "Network", + "logOnMachinesCount": 3, + "isDomainAdmin": false, + "isOnlyNetworkUser": null } ``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection-new.md index 9d2755148a..b13bd6028c 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection-new.md @@ -40,15 +40,14 @@ GET /api/users/{id}/alerts Name | Type | Description :---|:---|:--- -Authorization | string | Bearer {token}. **Required**. +Authorization | String | Bearer {token}. **Required**. ## Request body Empty ## Response -If successful and user and alert exists - 200 OK. -If user does not exist - 404 Not Found. +If successful and user and alert exists - 200 OK. If user or alerts does not exist - 404 Not Found. ## Example @@ -57,11 +56,7 @@ If user does not exist - 404 Not Found. Here is an example of the request. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` GET https://api.securitycenter.windows.com/api/users/user1@contoso.com/alerts diff --git a/windows/security/threat-protection/windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection-new.md index 6c7f9ad663..15d20fd626 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection-new.md @@ -40,15 +40,14 @@ GET /api/users/{id}/machines Name | Type | Description :---|:---|:--- -Authorization | string | Bearer {token}. **Required**. +Authorization | String | Bearer {token}. **Required**. ## Request body Empty ## Response -If successful and machines exists - 200 OK with list of [machine](machine-windows-defender-advanced-threat-protection-new.md) entities in the body. -If user or machines does not exist - 404 Not Found. +If successful and machines exists - 200 OK with list of [machine](machine-windows-defender-advanced-threat-protection-new.md) entities in the body. If user or machines does not exist - 404 Not Found. ## Example @@ -57,11 +56,7 @@ If user or machines does not exist - 404 Not Found. Here is an example of the request. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` GET https://api.securitycenter.windows.com/api/users/user1@contoso.com/machines diff --git a/windows/security/threat-protection/windows-defender-atp/improverequestperformance-new.md b/windows/security/threat-protection/windows-defender-atp/improverequestperformance-new.md new file mode 100644 index 0000000000..b9e64dc7e6 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/improverequestperformance-new.md @@ -0,0 +1,8 @@ +--- +ms.date: 08/28/2017 +--- +>[!NOTE] +>For better performance, you can use server closer to your geo location: +> - api-us.securitycenter.windows.com +> - api-eu.securitycenter.windows.com +> - api-uk.securitycenter.windows.com \ No newline at end of file diff --git a/windows/security/threat-protection/windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection-new.md index 1c1e122d2c..42327cbefd 100644 --- a/windows/security/threat-protection/windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection-new.md @@ -54,11 +54,7 @@ If successful and domain exists - 200 OK. If domain does not exist - 404 Not Fou Here is an example of the request. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` GET https://api.securitycenter.windows.com/api/domains/example.com diff --git a/windows/security/threat-protection/windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection-new.md index 7459ba5ffd..97d668298e 100644 --- a/windows/security/threat-protection/windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection-new.md @@ -39,7 +39,7 @@ GET /api/ips/{ip} Name | Type | Description :---|:---|:--- -Authorization | string | Bearer {token}. **Required**. +Authorization | String | Bearer {token}. **Required**. ## Request body @@ -63,11 +63,7 @@ GET https://api.securitycenter.windows.com/api/ips/10.209.67.177 Here is an example of the response. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` diff --git a/windows/security/threat-protection/windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection-new.md index cb23139a00..684e292d69 100644 --- a/windows/security/threat-protection/windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection-new.md @@ -39,7 +39,7 @@ POST /api/machines/{id}/isolate Name | Type | Description :---|:---|:--- -Authorization | string | Bearer {token}. **Required**. +Authorization | String | Bearer {token}. **Required**. Content-Type | string | application/json. **Required**. ## Request body @@ -65,14 +65,10 @@ If successful, this method returns 201 - Created response code and [Machine Acti Here is an example of the request. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` -POST https://api.securitycenter.windows.com/api/machines/fb9ab6be3965095a09c057be7c90f0a2/isolate +POST https://api.securitycenter.windows.com/api/machines/1e5bc9d7e413ddd7902c2932e418702b84d0cc07/isolate Content-type: application/json { "Comment": "Isolate machine due to alert 1234", @@ -95,9 +91,11 @@ Content-type: application/json "requestorComment": "Isolate machine due to alert 1234", "status": "InProgress", "error": "None", - "machineId": "f46b9bb259ed4a7fb9981b73510e3cc7aa81ec1f", + "machineId": "1e5bc9d7e413ddd7902c2932e418702b84d0cc07", "creationDateTimeUtc": "2017-12-04T12:12:18.9725659Z", "lastUpdateTimeUtc": "2017-12-04T12:12:18.9725659Z" } ``` + +To unisolate a machine, see [Release machine from isolation](unisolate-machine-windows-defender-advanced-threat-protection-new.md). diff --git a/windows/security/threat-protection/windows-defender-atp/machine-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/machine-windows-defender-advanced-threat-protection-new.md index 3144f9c7d1..093e47ba79 100644 --- a/windows/security/threat-protection/windows-defender-atp/machine-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/machine-windows-defender-advanced-threat-protection-new.md @@ -33,13 +33,13 @@ firstSeen | DateTimeOffset | First date and time where the [machine](machine-win osPlatform | String | OS platform. osVersion | String | OS Version. lastIpAddress | Ip | Last IP on local NIC on the [machine](machine-windows-defender-advanced-threat-protection-new.md). -lastExternalIpAddress | Ip | Last Ip through which the [machine](machine-windows-defender-advanced-threat-protection-new.md) accessed the internet. +lastExternalIpAddress | Ip | Last IP through which the [machine](machine-windows-defender-advanced-threat-protection-new.md) accessed the internet. agentVersion | String | Version of WDATP agent. groupName | String | [machine](machine-windows-defender-advanced-threat-protection-new.md) group name (when defined). osBuild | Int | OS build number. healthStatus | String | [machine](machine-windows-defender-advanced-threat-protection-new.md) health status. isAadJoined | Boolean | Is [machine](machine-windows-defender-advanced-threat-protection-new.md) AAD joined. machineTags | String collection | Set of [machine](machine-windows-defender-advanced-threat-protection-new.md) tags. -rbacGroupId | Int | Group Id. +rbacGroupId | Int | Group ID. riskScore | String | Risk score as evaludated by WDATP. Possible values are: 'None', 'Low', 'Medium' and 'High'. -aadDeviceId | String | AAD Device Id (when [machine](machine-windows-defender-advanced-threat-protection-new.md) is Aad Joined). \ No newline at end of file +aadDeviceId | String | AAD Device ID (when [machine](machine-windows-defender-advanced-threat-protection-new.md) is Aad Joined). \ No newline at end of file diff --git a/windows/security/threat-protection/windows-defender-atp/offboard-machine-api-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/offboard-machine-api-windows-defender-advanced-threat-protection-new.md index de81a4a47f..af1d892f23 100644 --- a/windows/security/threat-protection/windows-defender-atp/offboard-machine-api-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/offboard-machine-api-windows-defender-advanced-threat-protection-new.md @@ -39,7 +39,7 @@ POST /api/machines/{id}/offboard Name | Type | Description :---|:---|:--- -Authorization | string | Bearer {token}. **Required**. +Authorization | String | Bearer {token}. **Required**. Content-Type | string | application/json. **Required**. ## Request body @@ -59,14 +59,10 @@ If successful, this method returns 201 - Created response code and [Machine Acti Here is an example of the request. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` -POST https://api.securitycenter.windows.com/api/machines/fb9ab6be3965095a09c057be7c90f0a2/offboard +POST https://api.securitycenter.windows.com/api/machines/1e5bc9d7e413ddd7902c2932e418702b84d0cc07/offboard Content-type: application/json { "Comment": "Offboard machine by automation" @@ -88,7 +84,7 @@ Content-type: application/json "requestorComment": "offboard machine by automation", "status": "InProgress", "error": "None", - "machineId": "f46b9bb259ed4a7fb9981b73510e3cc7aa81ec1f", + "machineId": "1e5bc9d7e413ddd7902c2932e418702b84d0cc07", "creationDateTimeUtc": "2017-12-04T12:09:24.1785079Z", "lastUpdateTimeUtc": "2017-12-04T12:09:24.1785079Z" } diff --git a/windows/security/threat-protection/windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection-new.md index a2ee20bb6c..f11a938c5f 100644 --- a/windows/security/threat-protection/windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection-new.md @@ -21,7 +21,7 @@ ms.date: 12/08/2017 - Windows Defender Advanced Threat Protection (Windows Defender ATP) -Restrict execution of all applications on the machine except a predefined set. +Restrict execution of all applications on the machine except a predefined set (see [Response machine alerts](respond-machine-alerts-windows-defender-advanced-threat-protection.md) for more information) ## Permissions One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) @@ -39,7 +39,7 @@ POST /api/machines/{id}/restrictCodeExecution Name | Type | Description :---|:---|:--- -Authorization | string | Bearer {token}. **Required**. +Authorization | String | Bearer {token}. **Required**. Content-Type | string | application/json. **Required**. ## Request body @@ -60,7 +60,7 @@ If successful, this method returns 201 - Created response code and [Machine Acti Here is an example of the request. ``` -POST https://api.securitycenter.windows.com/api/machines/fb9ab6be3965095a09c057be7c90f0a2/restrictCodeExecution +POST https://api.securitycenter.windows.com/api/machines/1e5bc9d7e413ddd7902c2932e418702b84d0cc07/restrictCodeExecution Content-type: application/json { "Comment": "Restrict code execution due to alert 1234" @@ -71,11 +71,7 @@ Content-type: application/json Here is an example of the response. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` HTTP/1.1 201 Created @@ -88,9 +84,12 @@ Content-type: application/json "requestorComment": "Restrict code execution due to alert 1234", "status": "InProgress", "error": "None", - "machineId": "f46b9bb259ed4a7fb9981b73510e3cc7aa81ec1f", + "machineId": "1e5bc9d7e413ddd7902c2932e418702b84d0cc07", "creationDateTimeUtc": "2017-12-04T12:15:04.3825985Z", "lastUpdateTimeUtc": "2017-12-04T12:15:04.3825985Z" } ``` + +To remove code execution restriction from a machine, see [Remove app restriction](unrestrict-code-execution-windows-defender-advanced-threat-protection-new.md). + diff --git a/windows/security/threat-protection/windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection-new.md index 2c50e1f063..63ea7a6b03 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection-new.md @@ -21,7 +21,7 @@ ms.date: 12/08/2017 - Windows Defender Advanced Threat Protection (Windows Defender ATP) -Initiate Windows Defender Antivirus scan on the machine. +Initiate Windows Defender Antivirus scan on a machine. ## Permissions One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) @@ -39,7 +39,7 @@ POST /api/machines/{id}/runAntiVirusScan Name | Type | Description :---|:---|:--- -Authorization | string | Bearer {token}. **Required**. +Authorization | String | Bearer {token}. **Required**. Content-Type | string | application/json ## Request body @@ -68,7 +68,7 @@ If successful, this method returns 201, Created response code and _MachineAction Here is an example of the request. ``` -POST https://api.securitycenter.windows.com/api/machines/fb9ab6be3965095a09c057be7c90f0a2/runAntiVirusScan +POST https://api.securitycenter.windows.com/api/machines/1e5bc9d7e413ddd7902c2932e418702b84d0cc07/runAntiVirusScan Content-type: application/json { "Comment": "Check machine for viruses due to alert 3212", @@ -80,11 +80,7 @@ Content-type: application/json Here is an example of the response. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` HTTP/1.1 201 Created @@ -97,7 +93,7 @@ Content-type: application/json "requestorComment": "Check machine for viruses due to alert 3212", "status": "InProgress", "error": "None", - "machineId": "f46b9bb259ed4a7fb9981b73510e3cc7aa81ec1f", + "machineId": "1e5bc9d7e413ddd7902c2932e418702b84d0cc07", "creationDateTimeUtc": "2017-12-04T12:18:27.1293487Z", "lastUpdateTimeUtc": "2017-12-04T12:18:27.1293487Z" } diff --git a/windows/security/threat-protection/windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection-new.md index 9a9609fdba..fffe759586 100644 --- a/windows/security/threat-protection/windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection-new.md @@ -39,7 +39,7 @@ POST /api/machines/{id}/unisolate Name | Type | Description :---|:---|:--- -Authorization | string | Bearer {token}. **Required**. +Authorization | String | Bearer {token}. **Required**. Content-Type | string | application/json. **Required**. @@ -60,14 +60,10 @@ If successful, this method returns 201 - Created response code and [Machine Acti Here is an example of the request. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` -POST https://api.securitycenter.windows.com/api/machines/fb9ab6be3965095a09c057be7c90f0a2/unisolate +POST https://api.securitycenter.windows.com/api/machines/1e5bc9d7e413ddd7902c2932e418702b84d0cc07/unisolate Content-type: application/json { "Comment": "Unisolate machine since it was clean and validated" @@ -92,10 +88,12 @@ Content-type: application/json "requestorComment": "Unisolate machine since it was clean and validated ", "status": "InProgress", "error": "None", - "machineId": "f46b9bb259ed4a7fb9981b73510e3cc7aa81ec1f", + "machineId": "1e5bc9d7e413ddd7902c2932e418702b84d0cc07", "creationDateTimeUtc": "2017-12-04T12:13:15.0104931Z", "lastUpdateTimeUtc": "2017-12-04T12:13:15.0104931Z" } - ``` + +To isolate a machine, see [Isolate machine](isolate-machine-windows-defender-advanced-threat-protection-new.md). + diff --git a/windows/security/threat-protection/windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection-new.md index e08b5d033f..942629d81d 100644 --- a/windows/security/threat-protection/windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection-new.md @@ -38,7 +38,7 @@ POST /api/machines/{id}/unrestrictCodeExecution ## Request headers Name | Type | Description :---|:---|:--- -Authorization | string | Bearer {token}. **Required**. +Authorization | String | Bearer {token}. **Required**. Content-Type | string | application/json. **Required**. ## Request body @@ -58,14 +58,10 @@ If successful, this method returns 201 - Created response code and [Machine Acti Here is an example of the request. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` -POST https://api.securitycenter.windows.com/api/machines/fb9ab6be3965095a09c057be7c90f0a2/unrestrictCodeExecution +POST https://api.securitycenter.windows.com/api/machines/1e5bc9d7e413ddd7902c2932e418702b84d0cc07/unrestrictCodeExecution Content-type: application/json { "Comment": "Unrestrict code execution since machine was cleaned and validated" @@ -88,9 +84,11 @@ Content-type: application/json "requestorComment": "Unrestrict code execution since machine was cleaned and validated ", "status": "InProgress", "error": "None", - "machineId": "f46b9bb259ed4a7fb9981b73510e3cc7aa81ec1f", + "machineId": "1e5bc9d7e413ddd7902c2932e418702b84d0cc07", "creationDateTimeUtc": "2017-12-04T12:15:40.6052029Z", "lastUpdateTimeUtc": "2017-12-04T12:15:40.6052029Z" } ``` + +To restrict code execution on a machine, see [Restrict app execution](restrict-code-execution-windows-defender-advanced-threat-protection-new.md). \ No newline at end of file diff --git a/windows/security/threat-protection/windows-defender-atp/update-alert-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/update-alert-windows-defender-advanced-threat-protection-new.md index e9d317c65e..6d777a5382 100644 --- a/windows/security/threat-protection/windows-defender-atp/update-alert-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/update-alert-windows-defender-advanced-threat-protection-new.md @@ -21,7 +21,7 @@ ms.date: 12/08/2017 - Windows Defender Advanced Threat Protection (Windows Defender ATP) -Update the properties of an alert object. +Update the properties of an alert entity. ## Permissions One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) @@ -55,8 +55,7 @@ determination | String | Specifies the determination of the alert. The property ## Response -If successful, this method returns 200 OK, and an [alert](alerts-windows-defender-advanced-threat-protection-new.md) object in the response body with the updated properties. -If alert with the specified id was not found - 404 Not Found. +If successful, this method returns 200 OK, and the [alert](alerts-windows-defender-advanced-threat-protection-new.md) entity in the response body with the updated properties. If alert with the specified id was not found - 404 Not Found. ## Example @@ -65,16 +64,11 @@ If alert with the specified id was not found - 404 Not Found. Here is an example of the request. ->[!NOTE] ->For better performance, you can use server closer to your geo location: -> - api-us.securitycenter.windows.com -> - api-eu.securitycenter.windows.com -> - api-uk.securitycenter.windows.com +[!include[Improve request performance](improverequestperformance-new.md)] ``` PATCH https://api.securitycenter.windows.com/api/alerts/636688558380765161_2136280442 Content-Type: application/json - { "assignedTo": "Our designated secop" } @@ -87,7 +81,7 @@ Here is an example of the response. ``` { "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#Alerts/$entity", - "id": "636692338844234222_1806644926", + "id": "636688558380765161_2136280442", "severity": "Medium", "status": "InProgress", "description": "An anomalous memory operation appears to be tampering with a process associated with the Windows Defender EDR sensor.", From 7c71ad856c7483e1df78bf63ee02808915134f12 Mon Sep 17 00:00:00 2001 From: Zvi Avidor Date: Sun, 19 Aug 2018 15:04:10 +0300 Subject: [PATCH 41/71] fix link to create an app --- ...n-package-windows-defender-advanced-threat-protection-new.md | 2 +- ...reference-windows-defender-advanced-threat-protection-new.md | 2 +- ...nfo-by-ip-windows-defender-advanced-threat-protection-new.md | 2 +- ...nfo-by-id-windows-defender-advanced-threat-protection-new.md | 2 +- ...main-info-windows-defender-advanced-threat-protection-new.md | 2 +- ...iles-info-windows-defender-advanced-threat-protection-new.md | 2 +- ...d-ip-info-windows-defender-advanced-threat-protection-new.md | 2 +- ...hine-info-windows-defender-advanced-threat-protection-new.md | 2 +- ...user-info-windows-defender-advanced-threat-protection-new.md | 2 +- ...et-alerts-windows-defender-advanced-threat-protection-new.md | 2 +- ...ed-alerts-windows-defender-advanced-threat-protection-new.md | 2 +- ...-machines-windows-defender-advanced-threat-protection-new.md | 2 +- ...tatistics-windows-defender-advanced-threat-protection-new.md | 2 +- ...formation-windows-defender-advanced-threat-protection-new.md | 2 +- ...ed-alerts-windows-defender-advanced-threat-protection-new.md | 2 +- ...-machines-windows-defender-advanced-threat-protection-new.md | 2 +- ...tatistics-windows-defender-advanced-threat-protection-new.md | 2 +- ...ed-alerts-windows-defender-advanced-threat-protection-new.md | 2 +- ...-machines-windows-defender-advanced-threat-protection-new.md | 2 +- ...tatistics-windows-defender-advanced-threat-protection-new.md | 2 +- ...ine-by-id-windows-defender-advanced-threat-protection-new.md | 2 +- ...-on-users-windows-defender-advanced-threat-protection-new.md | 2 +- ...ed-alerts-windows-defender-advanced-threat-protection-new.md | 2 +- ...on-object-windows-defender-advanced-threat-protection-new.md | 2 +- ...ollection-windows-defender-advanced-threat-protection-new.md | 2 +- ...e-sas-uri-windows-defender-advanced-threat-protection-new.md | 2 +- ...formation-windows-defender-advanced-threat-protection-new.md | 2 +- ...ed-alerts-windows-defender-advanced-threat-protection-new.md | 2 +- ...-machines-windows-defender-advanced-threat-protection-new.md | 2 +- ...en-in-org-windows-defender-advanced-threat-protection-new.md | 2 +- ...-seen-org-windows-defender-advanced-threat-protection-new.md | 2 +- ...e-machine-windows-defender-advanced-threat-protection-new.md | 2 +- ...chine-api-windows-defender-advanced-threat-protection-new.md | 2 +- ...execution-windows-defender-advanced-threat-protection-new.md | 2 +- ...n-av-scan-windows-defender-advanced-threat-protection-new.md | 2 +- ...e-machine-windows-defender-advanced-threat-protection-new.md | 2 +- ...execution-windows-defender-advanced-threat-protection-new.md | 2 +- ...ate-alert-windows-defender-advanced-threat-protection-new.md | 2 +- 38 files changed, 38 insertions(+), 38 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection-new.md index 3fb8f55a22..3fc76468dd 100644 --- a/windows/security/threat-protection/windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection-new.md @@ -26,7 +26,7 @@ ms.date: 12/08/2017 Collect investigation package from a machine. ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/create-alert-by-reference-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/create-alert-by-reference-windows-defender-advanced-threat-protection-new.md index ea866b92f6..05ecd44a39 100644 --- a/windows/security/threat-protection/windows-defender-atp/create-alert-by-reference-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/create-alert-by-reference-windows-defender-advanced-threat-protection-new.md @@ -25,7 +25,7 @@ ms.date: 12/08/2017 Enables using event data, as obtained from the [Advanced Hunting](run-advanced-query-api.md) for creating a new alert entity. ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection-new.md index 8e140990af..443b86b728 100644 --- a/windows/security/threat-protection/windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection-new.md @@ -28,7 +28,7 @@ Find a machine by internal IP. >The timestamp must be within the last 30 days. ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md index 1ca4e9a7e3..ea5d18dcca 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md @@ -25,7 +25,7 @@ ms.date: 12/08/2017 Retrieves an alert by its ID. ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection-new.md index f514a5809c..1c6eeee2a3 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection-new.md @@ -25,7 +25,7 @@ ms.date: 12/08/2017 Retrieves all domains related to a specific alert. ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection-new.md index 26b2ce24f5..114dd4ebf5 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection-new.md @@ -25,7 +25,7 @@ ms.date: 12/08/2017 Retrieves all files related to a specific alert. ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection-new.md index cc1b764c25..027e4f2dfa 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection-new.md @@ -26,7 +26,7 @@ ms.date: 12/08/2017 Retrieves all IPs related to a specific alert. ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection-new.md index 480e3a73ec..1b02c04a0e 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection-new.md @@ -26,7 +26,7 @@ ms.date: 12/08/2017 Retrieves machine that is related to a specific alert. ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection-new.md index 6a63063984..e31cb2df14 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection-new.md @@ -26,7 +26,7 @@ ms.date: 12/08/2017 Retrieves the user associated to a specific alert. ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection-new.md index 2bca208feb..0bc8191610 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection-new.md @@ -27,7 +27,7 @@ Retrieves top recent alerts. ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection-new.md index 6a1c66a8f4..5c96f8e93f 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection-new.md @@ -26,7 +26,7 @@ ms.date: 12/08/2017 Retrieves a collection of alerts related to a given domain address. ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection-new.md index 9bd21b69fa..5c00e541d9 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection-new.md @@ -26,7 +26,7 @@ ms.date: 12/08/2017 Retrieves a collection of machines that have communicated to or from a given domain address. ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection-new.md index 92e88b5f76..3192b853ab 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection-new.md @@ -26,7 +26,7 @@ ms.date: 12/08/2017 Retrieves the prevalence for the given domain. ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection-new.md index fa5304bd4b..1294734ef7 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection-new.md @@ -27,7 +27,7 @@ ms.date: 12/08/2017 Retrieves a file by identifier Sha1, Sha256, or MD5. ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection-new.md index 6fe4d8bd01..a67c221e7d 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection-new.md @@ -26,7 +26,7 @@ ms.date: 12/08/2017 Retrieves a collection of alerts related to a given file hash. ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection-new.md index bc829eca2b..6781f48a9a 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection-new.md @@ -26,7 +26,7 @@ ms.date: 12/08/2017 Retrieves a collection of machines related to a given file hash. ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection-new.md index 6cdada986e..5123aa9f3e 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection-new.md @@ -26,7 +26,7 @@ ms.date: 12/08/2017 Retrieves the prevalence for the given file. ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection-new.md index 6d8a3c4b91..1cb5b54981 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection-new.md @@ -26,7 +26,7 @@ ms.date: 12/08/2017 Retrieves a collection of alerts related to a given IP address. ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection-new.md index 559d950e2c..b50d7dbc2e 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection-new.md @@ -23,7 +23,7 @@ ms.date: 12/08/2017 Retrieves a collection of machines that communicated with or from a particular IP. ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection-new.md index 6133e368b8..597e70c583 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection-new.md @@ -24,7 +24,7 @@ ms.date: 12/08/2017 Retrieves the prevalence for the given IP. ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection-new.md index c69c8c7fb7..0ec132066f 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection-new.md @@ -24,7 +24,7 @@ ms.date: 12/08/2017 Retrieves a machine entity by ID. ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection-new.md index 28fae29459..8c1da55b43 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection-new.md @@ -24,7 +24,7 @@ ms.date: 12/08/2017 Retrieves a collection of logged on users. ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection-new.md index c04950f37e..3a0717469c 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection-new.md @@ -24,7 +24,7 @@ ms.date: 12/08/2017 Retrieves a collection of alerts related to a given machine ID. ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection-new.md index 48d22ae303..5c15530e45 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection-new.md @@ -24,7 +24,7 @@ ms.date: 12/08/2017 Get action performed on a machine. ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection-new.md index c3b6f32ab8..d5084a4d5e 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection-new.md @@ -24,7 +24,7 @@ ms.date: 12/08/2017 Gets collection of actions done on machines. Get MachineAction collection API supports [OData V4 queries](https://www.odata.org/documentation/odata-version-2-0/uri-conventions/#FilterSystemQueryOption). ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection-new.md index ce05cde3e4..e8b45a5419 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection-new.md @@ -24,7 +24,7 @@ ms.date: 12/08/2017 Get a URI that allows downloading of an [investigation package](collect-investigation-package-windows-defender-advanced-threat-protection-new). ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection-new.md index 4766668f1f..b0c31a0088 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection-new.md @@ -24,7 +24,7 @@ ms.date: 12/08/2017 Retrieve a User entity by key (user name or domain\user). ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection-new.md index b13bd6028c..cc16ae3c5f 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection-new.md @@ -24,7 +24,7 @@ ms.date: 12/08/2017 Retrieves a collection of alerts related to a given user ID. ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection-new.md index 15d20fd626..37be0e6280 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection-new.md @@ -24,7 +24,7 @@ ms.date: 12/08/2017 Retrieves a collection of machines related to a given user ID. ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection-new.md index 42327cbefd..9fc66f2cd0 100644 --- a/windows/security/threat-protection/windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection-new.md @@ -24,7 +24,7 @@ ms.date: 04/24/2018 Answers whether a domain was seen in the organization. ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection-new.md index 97d668298e..0b0e8a826b 100644 --- a/windows/security/threat-protection/windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection-new.md @@ -24,7 +24,7 @@ ms.date: 12/08/2017 Answers whether an IP was seen in the organization. ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection-new.md index 684e292d69..97470afecb 100644 --- a/windows/security/threat-protection/windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection-new.md @@ -24,7 +24,7 @@ ms.date: 12/08/2017 Isolates a machine from accessing external network. ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/offboard-machine-api-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/offboard-machine-api-windows-defender-advanced-threat-protection-new.md index af1d892f23..7ef5465b2c 100644 --- a/windows/security/threat-protection/windows-defender-atp/offboard-machine-api-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/offboard-machine-api-windows-defender-advanced-threat-protection-new.md @@ -24,7 +24,7 @@ ms.date: 12/08/2017 Offboard machine from WDATP. ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection-new.md index f11a938c5f..863ca96953 100644 --- a/windows/security/threat-protection/windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection-new.md @@ -24,7 +24,7 @@ ms.date: 12/08/2017 Restrict execution of all applications on the machine except a predefined set (see [Response machine alerts](respond-machine-alerts-windows-defender-advanced-threat-protection.md) for more information) ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection-new.md index 63ea7a6b03..e76b3d51be 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection-new.md @@ -24,7 +24,7 @@ ms.date: 12/08/2017 Initiate Windows Defender Antivirus scan on a machine. ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection-new.md index fffe759586..1f759231a2 100644 --- a/windows/security/threat-protection/windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection-new.md @@ -24,7 +24,7 @@ ms.date: 12/08/2017 Undo isolation of a machine. ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection-new.md index 942629d81d..4fef4dd344 100644 --- a/windows/security/threat-protection/windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection-new.md @@ -24,7 +24,7 @@ ms.date: 12/08/2017 Enable execution of any application on the machine. ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/update-alert-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/update-alert-windows-defender-advanced-threat-protection-new.md index 6d777a5382..6900e0585a 100644 --- a/windows/security/threat-protection/windows-defender-atp/update-alert-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/update-alert-windows-defender-advanced-threat-protection-new.md @@ -24,7 +24,7 @@ ms.date: 12/08/2017 Update the properties of an alert entity. ## Permissions -One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- From 64f5a66c5cf44b179868f17d0a87d2c42c43a298 Mon Sep 17 00:00:00 2001 From: Zvi Avidor Date: Sun, 19 Aug 2018 15:37:01 +0300 Subject: [PATCH 42/71] remove redundant file --- ...defender-advanced-threat-protection-new.md | 2 +- ...defender-advanced-threat-protection-new.md | 44 ------------------- 2 files changed, 1 insertion(+), 45 deletions(-) delete mode 100644 windows/security/threat-protection/windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection-new.md diff --git a/windows/security/threat-protection/windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection-new.md index e8b45a5419..121dc80314 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection-new.md @@ -21,7 +21,7 @@ ms.date: 12/08/2017 - Windows Defender Advanced Threat Protection (Windows Defender ATP) -Get a URI that allows downloading of an [investigation package](collect-investigation-package-windows-defender-advanced-threat-protection-new). +Get a URI that allows downloading of an [investigation package](collect-investigation-package-windows-defender-advanced-threat-protection-new.md). ## Permissions One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Use Windows Defender ATP APIs](exposed-apis-intro.md) diff --git a/windows/security/threat-protection/windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection-new.md deleted file mode 100644 index ac8271ccc0..0000000000 --- a/windows/security/threat-protection/windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection-new.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: Supported Windows Defender Advanced Threat Protection query APIs -description: Learn about the specific supported Windows Defender Advanced Threat Protection entities where you can create API calls to. -keywords: apis, supported apis, actor, alerts, machine, user, domain, ip, file, advanced queries, advanced hunting -search.product: eADQiWindows 10XVcnh -ms.prod: w10 -ms.mktglfcycl: deploy -ms.sitesec: library -ms.pagetype: security -ms.author: macapara -author: mjcaparas -ms.localizationpriority: medium -ms.date: 30/07/2018 ---- - -# Supported Windows Defender ATP query APIs - -[!include[Prereleaseinformation](prerelease.md)] - -**Applies to:** - -- Windows 10 Enterprise -- Windows 10 Education -- Windows 10 Pro -- Windows 10 Pro Education -- Windows Defender Advanced Threat Protection (Windows Defender ATP) - ->Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-supportedapis-abovefoldlink) - -Learn more about the individual supported entities where you can run API calls to and details such as HTTP request values, request headers and expected responses. - -## In this section -Topic | Description -:---|:--- -Advanced Hunting | Run queries from API. -Alerts | Run API calls such as get alerts, create alerts, alert information by ID, alert related actor information, alert related IP information, and alert related machine information. -Domain |Run API calls such as get domain related machines, statistics, and check if a domain is seen in your organization. -File | Run API calls such as get file information, file related alerts, file related machines, and file statistics. -IP | Run API calls such as get IP related alerts, IP related machines, IP statistics, and check if and IP is seen in your organization. -Machines | Run API calls such as get machines, get machines by ID, perform actions on machines (s.a. "Collect investigation package") information about logged on users, and alerts related to a given machine ID. -User | Run API calls such as get alert related user information, user information, user related alerts, and user related machines. - -## Related topic -- [Use Windows Defender ATP APIs](exposed-apis-windows-defender-advanced-threat-protection-new.md) From 0bbc860820588faa842194b2148b33168f310799 Mon Sep 17 00:00:00 2001 From: Zvi Avidor Date: Sun, 19 Aug 2018 15:55:13 +0300 Subject: [PATCH 43/71] add author to YAMR --- .../windows-defender-atp/improverequestperformance-new.md | 1 + 1 file changed, 1 insertion(+) diff --git a/windows/security/threat-protection/windows-defender-atp/improverequestperformance-new.md b/windows/security/threat-protection/windows-defender-atp/improverequestperformance-new.md index b9e64dc7e6..169b2ffb46 100644 --- a/windows/security/threat-protection/windows-defender-atp/improverequestperformance-new.md +++ b/windows/security/threat-protection/windows-defender-atp/improverequestperformance-new.md @@ -1,5 +1,6 @@ --- ms.date: 08/28/2017 +author: zavidor --- >[!NOTE] >For better performance, you can use server closer to your geo location: From 9dd90660b7171ebee998335caba6f123fa0451df Mon Sep 17 00:00:00 2001 From: David Laufer Date: Mon, 20 Aug 2018 14:23:03 +0300 Subject: [PATCH 44/71] Full scenario --- .../windows-defender-atp/TOC.md | 10 +- .../exposed-apis-full-sample-powershell.md | 120 ++++++++++++++++++ 2 files changed, 126 insertions(+), 4 deletions(-) create mode 100644 windows/security/threat-protection/windows-defender-atp/exposed-apis-full-sample-powershell.md diff --git a/windows/security/threat-protection/windows-defender-atp/TOC.md b/windows/security/threat-protection/windows-defender-atp/TOC.md index 7ae86fbea9..1b26c144a4 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -104,10 +104,12 @@ #### [Supported Windows Defender ATP APIs](exposed-apis-list.md) ##### [Advanced Hunting](run-advanced-query-api.md) #### How to use APIs - Samples -##### [Schedule advanced Hunting using Microsoft Flow](run-advanced-query-sample-ms-flow.md) -##### [Advanced Hunting using PowerShell](run-advanced-query-sample-powershell.md) -##### [Advanced Hunting using Python](run-advanced-query-sample-python.md) - +##### Advanced Hunting API +###### [Schedule advanced Hunting using Microsoft Flow](run-advanced-query-sample-ms-flow.md) +###### [Advanced Hunting using PowerShell](run-advanced-query-sample-powershell.md) +###### [Advanced Hunting using Python](run-advanced-query-sample-python.md) +##### Multiple APIs +###### [PowerShell](exposed-apis-full-sample-powershell.md) ### [Use the Windows Defender ATP exposed APIs](exposed-apis-windows-defender-advanced-threat-protection.md) #### [Supported Windows Defender ATP APIs](supported-apis-windows-defender-advanced-threat-protection.md) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-full-sample-powershell.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-full-sample-powershell.md new file mode 100644 index 0000000000..cc35edb442 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-full-sample-powershell.md @@ -0,0 +1,120 @@ +--- +title: Advanced Hunting API +description: Use this API to run advanced queries +keywords: apis, supported apis, advanced hunting, query +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 30/07/2018 +--- + +# Windows Defender ATP APIs using PowerShell + +Full scenario using multiple APIs from Windows Defender ATP. + +In this section we share PowerShell samples to + - Retrieve a token + - Use token to retrieve the latest alerts in Windows Defender ATP + - Run a query to retrieve command line of the process related to the alert, if the alert has medium priority and is still in progress + - Remediate the machine related to the alert if teh command line + +>**Prerequisite**: You first need to [create an app](exposed-apis-intro.md). + +## Preparation Instructions + +- Open a PowerShell window. +- If your policy does not allow you to run the PowerShell commands, you can run the below command: +``` +Set-ExecutionPolicy -ExecutionPolicy Bypass +``` + +>For more details, refer to [PowerShell documentation](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-executionpolicy) + +## Get token + +- Run the below + +> - $tenantId: ID of the tenant on behalf of which you want to run the query (i.e., the query will be run on the data of this tenant) +> - $appId: ID of your AAD app (the app must have 'Run advanced queries' permission to WDATP) +> - $appSecret: Secret of your AAD app + + +$tenantId = 'b3c1b5fc-828c-45fa-a1e1-10d74f6d6e9c' +$appId = 'c71cd133-0e50-4bd4-a1a8-ec14152af1c4' +$appSecret = '8zFkg61mDxH7DuMGFJHZd6CRr9J5HNMuJGIV6p0shMY=' + + + +``` +$tenantId = '00000000-0000-0000-0000-000000000000' # Paste your own tenant ID here +$appId = '11111111-1111-1111-1111-111111111111' # Paste your own app ID here +$appSecret = '22222222-2222-2222-2222-222222222222' # Paste your own app secret here + +$resourceAppIdUri = 'https://securitycenter.onmicrosoft.com/windowsatpservice' +$oAuthUri = "https://login.windows-ppe.net/$TenantId/oauth2/token" +# TODO!!!!!!!!! $oAuthUri = "https://login.windows.net/$TenantId/oauth2/token" +$authBody = [Ordered] @{ + resource = "$resourceAppIdUri" + client_id = "$appId" + client_secret = "$appSecret" + grant_type = 'client_credentials' +} +$authResponse = Invoke-RestMethod -Method Post -Uri $oAuthUri -Body $authBody -ErrorAction Stop +$aadToken = $authResponse.access_token + + +#Get latest alert +$alertUrl = "https://wdatpapi-eus-stg.cloudapp.net/api/alerts?`$top=10" +# TODO!!!!!!!!! $alertUrl = "https://api.securitycenter.windows.com/api/alerts?`$top=10" +$headers = @{ + 'Content-Type' = 'application/json' + Accept = 'application/json' + Authorization = "Bearer $aadToken" +} +$alertResponse = Invoke-WebRequest -Method Get -Uri $alertUrl -Headers $headers -ErrorAction Stop +$alerts = ($alertResponse | ConvertFrom-Json).value + +$machinesToInvestigate = New-Object System.Collections.ArrayList + +Foreach($alert in $alerts) +{ + echo $alert.id $alert.machineId $alert.severity $alert.status + + $isSevereAlert = $alert.severity -in 'Medium', 'High' + $isOpenAlert = $alert.status -in 'InProgress', 'New' + if($isOpenAlert -and $isSevereAlert) + { + if (-not $machinesToInvestigate.Contains($alert.machineId)) + { + $machinesToInvestigate.Add($alert.machineId) > $null + } + } +} + +$commaSeparatedMachines = '"{0}"' -f ($machinesToInvestigate -join '","') + +$query = "NetworkCommunicationEvents +| where MachineId in ($commaSeparatedMachines) +| where RemoteUrl == `"www.bing.com`" +| summarize ConnectionsCount = count() by MachineId" + +$queryUrl = "https://wdatpapi-eus-stg.cloudapp.net/advancedqueries/query" +# TODO!!!!!!!!! $queryUrl = "https://api.securitycenter.windows.com/advancedqueries/query" + +$queryBody = ConvertTo-Json -InputObject $query +$queryResponse = Invoke-WebRequest -Method Post -Uri $queryUrl -Headers $headers -Body $queryBody -ErrorAction Stop +$response = ($queryResponse | ConvertFrom-Json).Results + +``` + + +## Related topic +- [Windows Defender ATP APIs](exposed-apis-intro.md) +- [Advanced Hunting API](run-advanced-query-api.md) +- [Advanced Hunting using Python](run-advanced-query-sample-python.md) +- [Schedule Advanced Hunting](run-advanced-query-sample-ms-flow.md) From c937b2eba66341b6b37795daca77902e47a39842 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Mon, 20 Aug 2018 22:33:18 +0000 Subject: [PATCH 45/71] Updated .openpublishing.publish.config.json --- .openpublishing.publish.config.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.openpublishing.publish.config.json b/.openpublishing.publish.config.json index f9d982e542..38266abdb5 100644 --- a/.openpublishing.publish.config.json +++ b/.openpublishing.publish.config.json @@ -508,6 +508,10 @@ "master": [ "Publish", "Pdf" + ], + "atp-api-danm": [ + "Publish", + "Pdf" ] }, "need_generate_pdf_url_template": true, From 93b90ecb0ed17b930b6a09eb00a21aef2b9dc5e5 Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Tue, 21 Aug 2018 14:04:46 +0300 Subject: [PATCH 46/71] tokens --- .../exposed-apis-create-app-webapp.md | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md index 838ffc6489..fe039331c2 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md @@ -82,17 +82,25 @@ This page explains how to create an app, get an access token to Windows Defender ![Image of add permissions completion](images/webapp-add-permission-end.png) -8. Click **Keys** and type a key name and click **Save**. +8. Click **Grant permissions** + + In order to add a permission to the app, the Admin's tenant must press on the Grant permissions button. + + If in the future you will want to add more permission to the app, you will need to press it again so the changes will take effect. + + ![Image of Grant permissions](images/GrantPermissions.png) + +9. Click **Keys** and type a key name and click **Save**. **Important**: After you save, **copy the key value**. You won't be able to retrieve after you leave! ![Image of create app key](images/webapp-create-key.png) -9. Write down your application ID. +10. Write down your application ID. ![Image of app ID](images/webapp-get-appid.png) -9. Set your application to be multi-tenanted +11. Set your application to be multi-tenanted This is **required** for 3rd party apps (i.e., if you create an application that is intended to run in multiple customers tenant). From 79d7f306da39071832add360446f7c90a4820eb7 Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Tue, 21 Aug 2018 14:10:29 +0300 Subject: [PATCH 47/71] step --- .../exposed-apis-create-app-webapp.md | 2 +- .../images/webapp-grant-permissions.png | Bin 0 -> 10183 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 windows/security/threat-protection/windows-defender-atp/images/webapp-grant-permissions.png diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md index fe039331c2..cb022fb3f5 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md @@ -88,7 +88,7 @@ This page explains how to create an app, get an access token to Windows Defender If in the future you will want to add more permission to the app, you will need to press it again so the changes will take effect. - ![Image of Grant permissions](images/GrantPermissions.png) + ![Image of Grant permissions](images/webapp-grant-permissions.png) 9. Click **Keys** and type a key name and click **Save**. diff --git a/windows/security/threat-protection/windows-defender-atp/images/webapp-grant-permissions.png b/windows/security/threat-protection/windows-defender-atp/images/webapp-grant-permissions.png new file mode 100644 index 0000000000000000000000000000000000000000..363bb4a32ab6fc98813bb495d9f9a68652798c46 GIT binary patch literal 10183 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 Date: Tue, 21 Aug 2018 10:15:58 -0700 Subject: [PATCH 48/71] fix broken links --- .../security/threat-protection/windows-defender-atp/TOC.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/TOC.md b/windows/security/threat-protection/windows-defender-atp/TOC.md index 7ae86fbea9..8f079ee812 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -12,7 +12,7 @@ #### [Onboard machines using Group Policy](configure-endpoints-gp-windows-defender-advanced-threat-protection.md) #### [Onboard machines using System Center Configuration Manager](configure-endpoints-sccm-windows-defender-advanced-threat-protection.md) #### [Onboard machines using Mobile Device Management tools](configure-endpoints-mdm-windows-defender-advanced-threat-protection.md) -##### [Onboard machines using Microsoft Intune](configure-endpoints-mdm-windows-defender-advanced-threat-protection.md#onboard-windows-10-machines-using-microsoft-intune) +##### [Onboard machines using Microsoft Intune](configure-endpoints-mdm-windows-defender-advanced-threat-protection.md) #### [Onboard machines using a local script](configure-endpoints-script-windows-defender-advanced-threat-protection.md) #### [Onboard non-persistent virtual desktop infrastructure (VDI) machines](configure-endpoints-vdi-windows-defender-advanced-threat-protection.md) ### [Onboard servers](configure-server-endpoints-windows-defender-advanced-threat-protection.md) @@ -43,7 +43,7 @@ ###Machines list #### [View and organize the Machines list](machines-view-overview-windows-defender-advanced-threat-protection.md) -#### [Manage machine group and tags](investigate-machines-windows-defender-advanced-threat-protection.md#manage-machine-group-and-tags) +#### [Manage machine group and tags](investigate-machines-windows-defender-advanced-threat-protection.md) #### [Alerts related to this machine](investigate-machines-windows-defender-advanced-threat-protection.md#alerts-related-to-this-machine) #### [Machine timeline](investigate-machines-windows-defender-advanced-threat-protection.md#machine-timeline) ##### [Search for specific events](investigate-machines-windows-defender-advanced-threat-protection.md#search-for-specific-events) From a58f04f16a44e81a9d4ae371d75f09c5b305f57c Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Tue, 21 Aug 2018 20:43:20 +0300 Subject: [PATCH 49/71] step --- .../exposed-apis-create-app-webapp.md | 34 ++++++++++++++---- .../images/webapp-decoded-token.png | Bin 0 -> 80299 bytes 2 files changed, 27 insertions(+), 7 deletions(-) create mode 100644 windows/security/threat-protection/windows-defender-atp/images/webapp-decoded-token.png diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md index cb022fb3f5..fb5bfa9d7f 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md @@ -84,9 +84,9 @@ This page explains how to create an app, get an access token to Windows Defender 8. Click **Grant permissions** - In order to add a permission to the app, the Admin's tenant must press on the Grant permissions button. + In order to add the new selected permissions to the app, the Admin's tenant must press on the **Grant permissions** button. - If in the future you will want to add more permission to the app, you will need to press it again so the changes will take effect. + If in the future you will want to add more permission to the app, you will need to press on the **Grant permissions** button again so the changes will take effect. ![Image of Grant permissions](images/webapp-grant-permissions.png) @@ -149,8 +149,8 @@ For more details on AAD token, refer to [AAD tutorial](https://docs.microsoft.co string appId = "11111111-1111-1111-1111-111111111111"; // Paste your own app ID here string appSecret = "22222222-2222-2222-2222-222222222222"; // Paste your own app secret here - const string aadUri = "https://login.windows.net"; - const string wdatpResourceId = "https://securitycenter.onmicrosoft.com/windowsatpservice"; + const string authority = "https://login.windows.net"; + const string wdatpResource = "https://api.securitycenter.windows.com/"; AuthenticationContext auth = new AuthenticationContext($"{aadUri}/{tenantId}/"); ClientCredential clientCredential = new ClientCredential(appId, appSecret); @@ -189,11 +189,31 @@ You will get an answer of the form: ## Validate the token -- Copy/paste into [JWT](https://jwt.io/) the token you get in the previous step -- Validate you get a 'roles' claim with the desired permission, as shown in the below screenshot +Sanity check to make sure you got a correct token: +- Copy/paste into [JWT](https://jwt.ms) the token you get in the previous step in order to decode it +- Validate you get a 'roles' claim with the desired permissions +- In the screenshot below you can see a decoded token acquired from an app with permissions to all of Wdatp's roles: -![Image of token validation](images/webapp-validate-token.png) +![Image of token validation](images/webapp-decoded-token.png) +## Use the token to access Windows Defender ATP API + +- Choose the API you want to use - [Supported Windows Defender ATP APIs](exposed-apis-list.md) +- Set the Authorization header in the Http request you send to "Bearer {token}" (Bearer is the Authorization scheme) +- The Expiration time of the token is 1 hour (you can send more then one request with the same token) + +- Example of sending a request to get a list of alerts **using C#** + ``` + var httpClient = new HttpClient(); + + var request = new HttpRequestMessage(HttpMethod.Get, "https://api.securitycenter.windows.com/api/alerts"); + + request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", token); + + var response = await httpClient.SendAsync(request).ConfigureAwait(false); + + // Do something useful with the response + ``` ## Related topics - [Windows Defender ATP APIs](exposed-apis-intro.md) - [Supported Windows Defender ATP APIs](exposed-apis-list.md) diff --git a/windows/security/threat-protection/windows-defender-atp/images/webapp-decoded-token.png b/windows/security/threat-protection/windows-defender-atp/images/webapp-decoded-token.png new file mode 100644 index 0000000000000000000000000000000000000000..be98e49216da7b69964e3688da55e803e821eb13 GIT binary patch literal 80299 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 literal 0 HcmV?d00001 From b9cce0b9b7fca38f319da8d84c85adc2536de230 Mon Sep 17 00:00:00 2001 From: David Laufer Date: Wed, 22 Aug 2018 09:36:12 +0300 Subject: [PATCH 50/71] Add sample for Power BI custom reports using Advanced Hunting API --- .../windows-defender-atp/TOC.md | 1 + .../exposed-apis-create-app-webapp.md | 9 +- .../images/power-bi-create-advanced-query.png | Bin 0 -> 34980 bytes .../images/power-bi-create-blank-query.png | Bin 0 -> 39358 bytes .../images/power-bi-edit-credentials.png | Bin 0 -> 32221 bytes .../images/power-bi-edit-data-privacy.png | Bin 0 -> 32291 bytes .../images/power-bi-open-advanced-editor.png | Bin 0 -> 35909 bytes .../images/power-bi-set-credentials.png | Bin 0 -> 14353 bytes .../images/power-bi-set-data-privacy.png | Bin 0 -> 14521 bytes ...ows-defender-advanced-threat-protection.md | 5 + .../run-advanced-query-sample-power-bi.md | 128 ++++++++++++++++++ 11 files changed, 140 insertions(+), 3 deletions(-) create mode 100644 windows/security/threat-protection/windows-defender-atp/images/power-bi-create-advanced-query.png create mode 100644 windows/security/threat-protection/windows-defender-atp/images/power-bi-create-blank-query.png create mode 100644 windows/security/threat-protection/windows-defender-atp/images/power-bi-edit-credentials.png create mode 100644 windows/security/threat-protection/windows-defender-atp/images/power-bi-edit-data-privacy.png create mode 100644 windows/security/threat-protection/windows-defender-atp/images/power-bi-open-advanced-editor.png create mode 100644 windows/security/threat-protection/windows-defender-atp/images/power-bi-set-credentials.png create mode 100644 windows/security/threat-protection/windows-defender-atp/images/power-bi-set-data-privacy.png create mode 100644 windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi.md diff --git a/windows/security/threat-protection/windows-defender-atp/TOC.md b/windows/security/threat-protection/windows-defender-atp/TOC.md index f374da6e2e..5fca7a6375 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -157,6 +157,7 @@ ##### [Schedule advanced Hunting using Microsoft Flow](run-advanced-query-sample-ms-flow.md) ##### [Advanced Hunting using PowerShell](run-advanced-query-sample-powershell.md) ##### [Advanced Hunting using Python](run-advanced-query-sample-python.md) +##### [Create custom Power BI reports](run-advanced-query-sample-power-bi.md) ### [Use the Windows Defender ATP exposed APIs](exposed-apis-windows-defender-advanced-threat-protection.md) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md index 838ffc6489..a2f4765c25 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md @@ -74,9 +74,12 @@ This page explains how to create an app, get an access token to Windows Defender ![Image of select permissions](images/webapp-select-permission.png) - - In order to send telemetry events to WDATP, check 'Write timeline events' permission - - In order to send TI events to WDATP, check 'Read and write IOCs belonging to the app' permission - - In order to run advanced queries in WDATP, check 'Run advanced queries' permission + For instance, + + - In order to [run advanced queries](run-advanced-query-api.md), check 'Run advanced queries' permission + - In order to [isolate a machine](isolate-machine-windows-defender-advanced-threat-protection-new.md), check 'Isolate machine' permission + + To determine which permission you need, please look at the **Permissions** section in the API you are interested to call. 7. Click **Done** diff --git a/windows/security/threat-protection/windows-defender-atp/images/power-bi-create-advanced-query.png b/windows/security/threat-protection/windows-defender-atp/images/power-bi-create-advanced-query.png new file mode 100644 index 0000000000000000000000000000000000000000..d5fdf37ac2ff767e6bad864158f9ae2331432084 GIT binary patch literal 34980 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 VSs!g~0_XpA^w25O>;o5n`#(N>j|cz& literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-atp/images/power-bi-edit-credentials.png b/windows/security/threat-protection/windows-defender-atp/images/power-bi-edit-credentials.png new file mode 100644 index 0000000000000000000000000000000000000000..62c96acf75ac69175ac856f881044b0b1d3769e0 GIT binary patch literal 32221 zcmb@tcT|&U_b%*=Gd4sV80lpc5S1<@k^U+ph%^-`p-KxS1O$W-N*EgqLO?)TXd+D@ z^xmaNfFyvF1VR%7p@brYnh-d_8Rwnf`PTQxS?918u#zWv?tAZh?`vPXJQ4SdbUDum zo;h~x7^mKy-ya-1_EW{NV?P9+I>CNtyekgP{`Z6L1KnH4O8SHs*)M)_xoLRw*s<~$ zj(z)|*{@GOz616>cI;fo(eDpfulG*Jj)nN>{eJUdfbB{%^sC5R$b1SP6XKPUQd}^3 z7e-iau`quCsH|?(CJ0?qGI^+CLXmjr;jd($wmzEDliX>vY(eS#eEnP>zx3yF5n-JF z2?>u?|2lyec*A71J9oZZ`sqiB&fBMKUY|epR3XWQNt!g?88SZ1(3}imqz%pQg|?K$ z_%Z6I8~PC~Pj(LZjGAGUKd?9Y?T25jAok_?Tc<9*`1WUD^yR-_Cf?!)f4_A8mh06Q z{|6U~qc9|~{UDR4|GIlsd-ukZFU2H6IiDO*O7zf=K9zVl*3`HaswCwfEWr^(t5(18 z&t}e}YkA$Bns=sxsCcD*gF{$0{eUpN{SKAGiM4GSZaTa-I3?Tq{*t$YYc*^QGwe6< z-=!P|KI;&{t%uX-&~4)bA^NUgX#ObH}7GA1&6yzp@nF3L2RaN z^*x>fTHW7zVBhHD+cuPpVmWe#5839iyLxEx;-!QRUNXsgko-C&A=YpCqqJ#9;pzGy z=zVu3&(fxiS9=L|dl%>n*)i0Mffhn~jL@%K2T#$Z#wj7=_FE{gU~wDAMC0HuJP7>0 zM96Ng9V7Ry8nM(a6PxJ6Br8Y%qi8f{N{1L(dpNndTEvuNeZ0F{ApqVm!tB)Sv)bP> z+UyQ^=n0Q2&?9nUc$K^ux?c1{-&#Zo3k7%uH0ZN?<7^jM;K-9{sZtS3B-T zVGyZc81wvH5P|=1f^kC{H94 zbv71k7y6`6*RH^Eo~ zz8bFY7HL_q_b6}o#^l5Apghpt)yF%#l}3UWF-?dkMZc|Qx% zjs5NN>le7}(Cz5Ut!Je{t$;A=y%X`$iU`crk?Ii3jCdo}t1R=~1zj!6dLjMU`SLi* zJv;5p+Z(0A`gI9_fm?px7rrHJC_U93NROD7jk=1!Jlj zbjFo$q~ri8dCj0+fPS!Vr^c#~RJY4%U&$F5Tgo#DYunYv%&Kh*NBkFkoOqmLl+1T4 zbOl;kibLbbc^Wl4x-S*C;sJ-F!F#@k?M;=7YrOWnr(nX z>u=qLwkE!-Ho=LzFBPR?``6~H`@f?p>;4#u;SWp{&i2rp4(+Q zT@oR&c0TT)7Et~>3`;<(5+!^&eHN%kA5p zD7l-LY(?@qpn4g3*mYltyD^Tmi_?vgvWkAhS#i%Uwd?+D4PnLPeaOFzc0Q?j=VDGx zSX2VU=q3J|EbI=}wxOgBx5Rp(Mr8T8TeJGSGSQcgT-c+*F{rf9mn*x*@wX*a&vKmL ze_FBt#hs5T;CKExYu9zlx>#p7aYEXe6jMv`>#5Mg5PH|DFGsvPx7RYm9qn?T{oVJC zo#%b0{r(9YSs$TUI%ei8qnjQd-@5AyMJW0$=h6s4RtGKawx_w_%ehcqcZaO8Ud?Eg z%}JZ@`#+DiWk-pGoLXaHW6t7Qf8<0Hz5CF43c2Y-r^dHthUp1^KbsflEu$1F{)_Je z4^D}5{Ily*vM>K%UAzLQIG8m)kZ`Z@nr^xDpMSRc3M}2#9Y{fe-ktc@!sQ&|(%k=A z`qxHNzFq~9+>%KjGQY5~e zxBrO_QG|-OJ8-7sE*L5Ct@LD{B#O8|{L+9$XLt)V_)>;0N2f=@uNazGzfk~hvz-LdIUDwRFaoWydX)5i7es@qsHys_KMEn_XsB2igI8-!Gx2fxuYya*1 z6s3N3-)C*Z$|pFz3nE5F(jo$yoYmE(^Z~Ws&*^ryiXhmtE>kDkSHoXV6ewH?sF)p{ zx=0BR9SuI9iy2Wg_a{Xl9rN@jnbWWH*Eh`D8x@;k6GAlU_@NCo>+R%7Biwk(JwX5> zBeGZRr8SRkRJx4yS$;jM#QTEhJnNthyRgU6@l_9Enj3K-WnOWC?50e&ARCnsbvnLE zYy=th1(V|;JJEYpTcBfklqFM$1;oHIG!;nnq$(_6d&05S>yk>zwl2fm3j5K1QbPOh z1Fs4o%zbLd%9YPF#QN#QUDWq&srPGzJTt^T(J^b;E50Xa=3o?|mykF86+y>|9h8jC z%oVk=)0c=Tzba#D}WLV3j%42$J!ttG3H{C;?biKV=^7@U9680`2CQB{f za|}6=Q%)FM@NMQd?E;fcL?1FN^Q1Z3hMoKvK9<~`*s|*x-|bc>`%<$L7 z&QaI;@oa{1R&{zV{%TOuKyy+4)sXRu)Ir%>gJFf>!IFMM?~+?H?`qh9O#&Xib27}& zk-d;zS}y3xXH=CgW!@V0-_ zW*_FY-rJNDt0Hn+yS{xP7j(=d9y$Gkh*$jWoo@fA!}||@I`I8pf56<` zDdIG@8hVe1$1?MK2H|iCP@(Mj)AxMhk-;OU@0UJ2D07Iy@Yx05=RC>JO$2N4*DgNV ze>C=pP-30T^i~K%Jd!>3AF(?BKmLgQS>ZQKB~rn2sBO2cq77|RudqXTbe8_X^4K4m zk5`VdA@$LJEL>QRCi0%IKX-l(X!NmP#kTQNpH{Q8tIy;g*rI;;qpXk7R%dvUauRm} z>Oa>$5%XLTe;oS5F~*1L<3B~o{PBZ*`qp#r)N@^2iJZjc-k0@aCmoYd5`R3l`4oEc z6hHXb@pe_(NeWOz8n)l3GM}d7ze3KXK41T!(&{5XpO_Br_or8$%v30CJ!lZr;yNd$ z;=YPl(5r;@>$~sYdy*1C7NevRg^3V^HtP&dR+Z{Bx-1n1h_%;k{lI+(Rk+Tx(%o(0cB1 z>XfY7NF9*9xsx>-&Lz!$MfDD>%azWJNZ7~jAOApnqLRHojqFt4!g1i*-s+f%X|PhX zfK~^KdeoWF^?r9qBAX9(>Z=w{)tudOUi2h4D3o&AT2%pS>~~ft-4U-9`^B8e`&ITH z(EAo)-q7b})9UQ4=g8YgB0B$r#xmU9Gf_-pZOh9PfCClL*HO2iy2EF;^8sJCDaD0u zmKRetR;NF!_oO(c#8!JZBHVXut7YQ{mKNHF`d0zw(`hLdi8#-I0rkpxN&44l7eaJ? zCTJY4>4NlOn)!Z2rN&YChW)FuaO!_X_>uCY@GCnSo}Qz-WoU>%6ed%nEE`DW&ddGz zkM%(+IV;6X(9+i89IvO7$au|&2Xnp^jW!(@R>A?wC2R-XwrZT;%j3$uzLE!P#isYE zAU+5roxum{zfjB>pFAH^VL^PSuMziM9OC3;o^8A2kqJwG{L(SjyRdCOTME!4G3 z$8eq#>gH8IypS7K+ACR*8%`o>P-9)r6|gz;r;WaBFPr%(kmv~tnn@5hURGpswK#Zo zuXS>Z2JgC6i@@&D7C#j4s3&R?uf*`$26p7NI?5dh)<J+)-aboNKLD_c)`wSEpFrjF1HIZot$)5}H(>GwvOS&L4>R;vqZX|LEk zh5&Uz^xerMp$YC20sJpxCE1G9cX!Zek~J=$&`ESPIMJ@mIZf@|P#%fvw(wOXaOdiLzGs+$3A{K~ceETEL0HFjMMr z4#n5O;?kaBww3%~Np8}xc|^Rj{hc8q7D9;xs?`^ndw+L2v zpj$_2p{Q#K7N0@n{RCZ|F z@fWtmT*7~|7;MaSeYR@&X>~oSu5m*0bM9M&=UG@Ua{S%_b@;B9q(j-qcAlkfG!CxjNNjC4t*HR!DV z+Ks~u&m^sfjg?>S$qbVxO-HhFimi2x`8sBFtALa(H6}krNrLd6Uz92g zt0%uU+FPpD8br#f>9_j(inbt%_m-EoATcPrOyPOw3vRFW5gJ5~_@R9hIzHlR7bu6JAfnGEwF~foADC?-+@jWBl`(MOe)4Ti|gx? zq6_Wc2x=F2CkW`K6ukKevzQacrCYVMIdfiKE0OC-60lOkqfKBo$h{H&UF^*DMEZJ1 z7761qHNjaB)|xf)S{dC&xjv!et(qfZ$&@H5DBad=PK1kw&{TKOpN38-Rt#e4t1@CD zzbfgkHgNM$rQlAN6O+L)n&nc>LyNDrhPLdWy5@4NGdJlu>L*fK#c36@7EuyzwXDc6 z+S+KMro;Q{ELrW$=lo#SsdQ|Jz^d>zsN$Im_2D2Hg-PuHk~j3FB6yK{V_F6`|4I)6 z`c&Zt?~TJ^D*W|?=!{5INMhcziMBXw0^;Rkjlf2amN>A-Xx3e}PXy_j`CEtluKL2x zs2&&}DstS7PFBZ**OpZAq&JPW66qR!__un_Z+;?WU>4t=9;rsb=r1^BlECRam5LR% zt}h;zO!hHjTSO(!m3HCPm{8$s+6Kk5qxITQFn=JSmud*iqCXOa7z^DJdK3}w-yrma?;G+UHj8N! zQ1<)C0M_wEj^4Ra?gn|^*1Zg@i8fAjx_&WYQ?Y~QHJwOhV+(I9r_ElQ-%fsL{nv{2 zPO?V^JL?%9Wh~mna24u+n_th!X)sbj-AF&3oI0sfDu$Wxu6b zU^n#)Gxp_Bmx|+z4d*Gd(!kk+yfFez6z5`v)cMqPY_3Z^%OLM&MeNd zPQccPC$YMTzF{@gW=k*h zsugs0a?i?Nc_mQ0N@fo3LOl^znw9jYV*SQAxs0}qN=xXEzb1(HFh-qfJV=KflK;{q z3iiz7&58)W!@;lc{M}SrDLaMq7@;Jg+o>yE6EQn6sl6kwH%Cwi1l-(2!?N+wFPleN z?9Gr`g*P+7t)g^>adO+4SbRwKE4_>F;TW| z4>0=By`;OKzKVN1UshA@C#vBC8ro2)TI9^57f|(4&w3+Ai?;Gp=i3c>SI-tq=6)e+ zTx@F6)~CTuj+EQ%->ov$`MbC@NXfi(*3{&#?%wugN{HXk)e!F>Svh;G;Jou{mM))Cw!xrNSOTAzj5wE71(qY+ zwz2}@3(67P5I5z3$10Pl1J2(;;O}s`rp^HN)0+Ehu<(3H;%{&_H#c5X6BjK@7hd2k z=Kz^Rda=zxtO4KQXsnr}`QQrNdC%LQGJiN8hQR!MX#JHkc_YXZA3uPYNSf)hAL}+- zv%CiELhh5R6Aa6eZ*gb9f;$!q1B4dQiwPg|<+F`&^javZRT=T`$o%wT3ZgP7)d2c3}6*p9jC)NUY=uYC&7s1DK3n(AmXk|5dO-~LG zS&1|8Df(b^)T>W#N`}-+O!s(*AqvK#c>-O&kGyq=5jJ3plmBA)6;Z6$s#T~(nT7F8 z#KC{;x>U}V<0+5}L%XODnA=MHS0vnt^XBB6XAm|$`%7;JVP+kyn?eppO3M)u{AP`* zZ$cCC^uW^f4>kFOJl%}@6ffcJ?SrJa-EzWSx4#XzBP5y!7?UbCw zPw^!pT6G6EeX-hOjiK;ml{o99RV7+UbE`t-tTk!Dhb8#Ro?VFX7%?FK2~LZZe4mY!S{;p0*hUrVqyig-h_A^xi~kksy|-1ZXZovz?JHR^e|e?k z+}@plR<(+-W8y{9Y`!$s#ol<+)=&^BL_e7t|c{+yXp&%pTWtuVu(syY-lgJpL<%oD4hxbMmCCb zG+f_ACm1$2UL0}#mYI;x4+);4zbz<@oWj7;Sc_#V8qr&(2d9n@joF?9+uS-+Rn^%jiL* z-MOfwbpf!KhCO~<-f5BN3jjp1<#2dVeG|t)cU}NUrv}2c3qLunT1cQE zf^`Pa-|*}&u9`8W9yz^C@%KzBD5mdEaVo|DJKdd5Cxgo#xCN~Q%nY3NU9aZiCv`px z;7^L(BKFCoXIn(c^aOof$C(b@rF__yhWc^!C<~3irx5u8>Kj`mJ7ZkXO7%hLj}5Xg za#ZXEB2+g99Rjy;w>_Y?D$9q^?NYRZaAF=C;C2b4!8?|1hIvofHDM*fCTbBCdb1F*Q=_p+uUhA*eHc_lLEH(uSxr`CNq|oAmzp5?`&H_3W38 z25PnJb3h>1!ua2DUO#tHq9rCaH^F(GE-#3ev51J8Vf-BFqR#gA{7U7Fk_HEUZI|~y zPs5)}A?#GX-eQb?erm%`mbpdA8^!H)as7*wmwIVAD!YS2)!(dVw(t7Px{W-#wFMcu z*9iimV}iFJ^q}bp*A{pOklwl4ycqPMN;UsBS?2Pv`U3PWp59LOJ7*WP@*c4_-kO3o zZJ%0WMUTM=nfcu=LUL|YdxHjcL{z9?=n?y~%xx9>TXvrzeELh?%-aT*E3~|nRbw8G z1y~@DK&I^p8=Mt|z*>w&Uf(@N_!&>eST0Ew`vR>CD%iuWQt|%$%>g5931Q+ZFe2clH@JaDGC)v%Y9#bn^|-?-MCA= zF=*$vuI_srEo&!?H}c??8s5b!RXcjVvkAu&8f~LRLq>#=&aEoDU!s*!In~~kZ;iEP zOJ13u6H~Nf%rsNSNicv_W?+wS5T#gob)lRBp~uUky{s!og6Aqu4nDDL9va9aINUOP zkg6PF7=f_0Xza_H9fM;V2FuR;=Cf!l+n~)b#w*);l1MhQ5&a`}P9Yk1$Qf#A<%8S;*l} zpfW0<6Q@E$n<9}Qqrtn$W{Cq1r_k-Ksb-I15naj#tn%Kxwcxt;EncuPb39U2?HTqeU&`?ENpE z&F~7xgMI?uyg1*IeG*v_{kBv>r^hqL213t{8$6jGC; zf9pfMeCjl#7eyuYALubkg{>lD-yM-?-r#A&ve^-Q;pKg{*XV1_%5exBR?62;PgJt% z)vMl^5m&6>DW$gSpWns^d_yrCpYSNa^Et&^P>bfx^uzw9;KS*>oJ{&-J*C;EYWpY( z(KLjFKYvtF>$*c6leJovKU?Tq+Bobnz4bRqz7On+5z;Pz=t@9Qm|I9qfCI{Hr zq|UNV;@ABt7L_qBR+0h+O*de%TrUCxpS!}ZRTyef-+oTu90R_GDoui1Ds^UwL9uMW<5>gTnf@%k6F(?DhY`f zWdl8?9FY`UO2pRqyyyFU=^2pZ`lX}VZ}sO!&#xGXQivH~hNK~3!?>uE*wh_@>r2{r zU3klRlD^wkh0S(^j$6dg4i$&ryTY-b2(m$D0I49|Lt92qvY`&tT|`2*x*4ix*5 zq@i%ZGDSi2@A4=5&k?}R>h;$3x#e>hv8jU`urDQh(Phs(T1kl}MO_NYxKD%O?rEX_ zcd=tG9DIVWU9(+Ym3~NU>A=PX!wa`|vJ6u{zCg1H$G1$K-#xuLix6-}m5>&PJ7kyWOSgb`^5OP&o~sf7L4ZdJf4=M*y8PxM@ik3@lQ{22Fc$1!%+ zIs_4Uk_BZt8#TU5IIf_~=9g%dk)MkV_{BIt70c=7S}n}Q%~3$b@1a5cN(Hf7>xVu? zmPdu(PZNI6T_h2J%EHq}5H`rQS6VBkp%vPna_K7Wbe-SYsH-v;(CN$g%XoE zE^Ei_$*)O}>FMAqh5T8?cJp*yjyd10Pwg>z2#HcdCH*d-rx`zZMR^Tg2<}XCm&Rkf z71?}?6V2vZUqMxZaXRD28t_3%;|b!Wq5z>)_I*lbf9dG80~nCy*KmUyea}mLry)vO z-*L4?P@nJCp@KJ=FVRU6I|tX60?j^D%T1 z?|ji(=ZwM}iHIN(Tv|hu5L=_`>N)AQssY3MW4CwSe>+dbio&=j8>314(vS}Qq>wxZ zNW^`~wKg9^8NCkNl#;zub^Pq7)f#dIecf{G*+jME`o;!awndg5b#F>@P`_~-S2nll zm>zJyBY3D=+}{MMv>B~Ed|kg?v*Env-~b+4$_VdOt77M{#gN0c4J`Tv?<}( zj9|HtoO`RigI`{1rnX)zIerw{4-jkfaEe6n3peM}L(vHHoR+LlOQ$dT77CbU_46N7 zkY^`Pw@#RjEBt-%tDz2d2Up`EP7yVlN|TX#;s4*`M(7f63yCVGW@1|2hQ_T1&VqgC z{(Ic)V0Ewp=L<9alf^Y{Rs| zntGi5YUFouC|1yS>7)?=>VL)iXCZuHgd0`wy$1Ke5A+|xO@;QAf$0SKO!E}Z>aSx8 z|HC}G4)4>3{FH9U&&u<@x|z%F1+m*$=~J!3-M2{oC<0l!t}rfS6Fe_}Zs4{~(R z$c6wzwXIL0yY7Br(Wm;?y7VmBcEFt{LU-1tKJ3boodJ}MVOY!VmB{{_vXVOjnSe|` zi)LHuz4oKZzbGoNW|(Ht2-dH?QdI-m%9qwo1PHTzse(8ErZgR;K_e{PN8P4Rc-YcP z#d zU{d?#5d+J}8RzN)%{!^{M~#HD)qUjOV9S?!D%Ya@3K4UczVV}EY;iH8B;_Kzug1X0 zlA7XLEdw^Iv#WjV*ohw^)V&~b zjW2nhC2)kQLu^#-*3ti#|DPZ_N2P)hXJ@c^z?=c@iG6@Vr{7yQjKq}I8f)J(EhjVg&yK!Jtv2%AtSoT^qg`FlEw@BCKbi2qJ{;5GTPpyWMsE~pT zNXrW_W_)|4B8b5cBDq>+P-kpCG=>8W;Ki1QzgBfNpo-Pj8<} zue=gw=>l75;B`K?!`jk4({Wc+YT}5CKb(q5$ce48Os{mnQ;7dGXV`7Z*Xkv)l4(IJ zTzGL~Ew^ov(aeg!dFO?7A+f24MYYl;vAL5dNsE_fF;OBALV*uxklpAS20(NrjSSNF z`z|ZCKX|S?s0LSoSvYIHrsCRHZ0_Y=O%&3G#yzRN(HhOkX^*Uf#h`qLUPQgWhfKvr z7{A|c3u|sp&gglUA~o<5t49gSWwg6s(@md#AE_ULwQH{ zY~vA)nY%%NLR`hy!dx;* zC5F9r%~Q*IUyA%x{3M1A&$OOXIal>bPYT}g#u?%Kr+^vF7^3OAGJx&+QftiNOSTvm zDk()HVUZOTjCMy4x>@~EGs1OInPICY*T85wV<{*iP#WAk8-j1IY$>&qKj8wDn-d8# z^ak3B>4S`!^*ym$rf%6h8N_(f{S=c!3ommOENlah6v20PqjhkPoVIRmxI;{NkdxZ) zs>>tBJsSzah^>)L8*r`HWJ3QP8y_iRm|=gi)?R8OzNnPA*8OLC77;8|g>e5;ovlk~ zX_PZ06ehLomEyCS`+1#vTu$qwFcPR7KN=d~C|WD$%I-8FqU}yW@7XXv^uOxAD1qAl z<#chHTpfF$2_OjGu(0>!g;|(}oHdT-P|`hHG|?HWR)=YOsAuxqi5TYl41V4EiwTL2 zl!|@R%3fG_vSY6IukJCaweG5?M;bQwQ!bhw3U`|)n}Kb%4nRs_03nVb+kpB2>wB(D z^V37vv++kd&LG zfwX?IKR$^w#YC}?JUHDQ*T01-NxnJOWoPh{R_kYv4Bv`PFc~oA%;Y--ykxz#NEfO4mM1tU0NSe?7lKS;VFz$bq_&Xm=VLMio``n+fyN> zB5=>ZcM9dRm5DmHS6zGOD}|3=6bp4J(I3jYT7r;C-FQLmx&$@0u^S9$cQ9O{$7fSk zRQZRymu}tRo7}J4BiW6=KA`Cr)yg{VehU7&r%T8p%opY*L>~E=K%@>HLq}Hi1aI{k zQZsZjK}=f}^nu?kM0sNq4^7MN;8CCy@vd_D3q?$&p0H+Fzwm^qo!v>emoa7kE28Wy z1qkU6FGyqqXi0PMOp3H?+L$!q`(w$|&y6oT~oPAtOfri``I0{+_p2C*&GiD;Q%RTYQ;Q=$dv0nxaBL?!54o=ReIl=hAy$m9 zblop5%`$GQ*jJAyTjv%bF5;Qw`--Jb6R%nf1xwwq6)=S45PQhG-ng+!z0&R^drrjB zMaC|%v~?Sea6a^f99D82mAzowT1eBo3>CI2^s?tfI5z4&m(1^^h)r$0-!tZ$a@1T$ zp&%pE6OM9?e$2OPot8Sg_laCxFx9T>NC(JRzfbxob3>Cpn_+Wx1F@is3a=N}k4i3d zdpO0O9{W6df_MVzDrsM>mT(JVY+`-IfWs?Q?$=fJ5S6j&Hig`#q9wfH`dN0z!&oJ- zin$iv2-0%%tfTw_@cdho-IGD2$r^&S-;g#0=g(?(=LfGVYKcpW2c7L{PW{+V;kio* zqq&hub6w6t^!9=GbM&F!c?pa{SsdexQX94B7vG#yrM3BF+oV9Udopk4c}&0Y^gGOd z0_q4uLpx+|EGtHerrap5uL*Tqx^q~lV;Hcaj50S#OYG9}eC7L|A7&Ylq*|qX;C;oo zONR8rf5(EbcSTxnMqzqIECfcdjP{s~+{HK_>GcHcNo`0>(DF#^yO&pIY=iFJqCPM= zfcO^feY#a#0y&zs!Lx3#dpo4*8p1^No?fNm*zP31f`($n7dDfKDy&g1{-HkmNq;fks!vbCx{2c11GbTJ#7qyyyg4qhwes0V**t|;xrp#e(m-C>O51j_gf}(#e1Cg zu6mM_Bg(N%Q$EDR`ev%4XkrWL9Ml0^r3{!T@4dP<5Z99A_`rr_=ncbG*vpOhz02Vl z^s|!9S8xgbG3i zhT|%1hVmd15e3<~TLjUSQL4$3-<0>rXvUBEO=;~f&QMEh^ty86N*_Q>?AT}BdNg8n za~yHRSohkhxsq*yZ0{a&=czjcd>)v&G==6nXoWqJjS@=HU+F6vn5WkF0~@#0EMItZ zWQH|{-E7z+4qELKs(DLbA83BLI#%33#PQP93t*wA^BG*t*!$e@X0gXPR?J$6T;H<10-IVsLL(^&i}L@rBzm z#`)2{wtSHBdOyeuHV?fo>q7P~fO-IF$NoDn=9r7h^s;o@jbpPEi?eBTX+A1axGMc5 zB8JRW67=?&y1OgoW7Ah}I;hQ(A9OtlZ9me_R%f&x>D*4>@X2BWk?GHFLLjfZj{2Yn zNj(1@Ba2P|B3s;YXY|{vDjq35?khbSY8&tuEvaYESnaK1Upel{tl@lyHph=u@ODM3 zmBK#t{=koB-xnN7eB_5B*4SI7sNx))KA!%!l?t^2V|W>NME||plyE*f)z?!`tC@Qn z@`7s?s;XENc9T0=}v>%bvyx%Cl zUh0yJAD(Ywz8ie8ESXn6(IwBi!o1wMX%va{wM(};lz&UeoXgCfX@N790)(!SUIIx! z!fkry2O?1}zt8>L^Q>6x7@EIhi-XrVNL(6Fp4OW7P$Aq&ukt-q=E36J&?<86Cvcjvm9L)|WI0zKm$?O3}` zCz=$|+FwHz4z|w5r!1uzgNn#uUPh_?DU>bo(doII=?OK*OO*0^Jo**~DuSy)wOY?> zE&^UQWE^HeyM#+5W7A2;=uY2CWwI!lv7f?#q6c}Mo)WawuI1=cq4A43T(E_?{+ILK zbD4LOfYl&p_HGe&Ac++fKh)Svm>UaDwr25AjRMDhH&VXNcvoFa7=_McmF4UM=F$V_ zYyuGnm+*-ioQRMu(cTL@6>3L$GtdirGJu|n+ zY2eNcrnQJrep(k`FnXrtb#IMXmn7f==|;#Il>O8i+0wn&kv{ggHpAVTH-H6dW<@^dg1_aM8C_jF zLmaxhXGHEz7a3^?zgSxOp|~hS4b8Z|V$HTEm_ZI_jfPxY4Z)&e@p8C1(Q0M?3GH#r zoUfk;xir@Q?9NN4@$`KwFb$Ec8qGZgk*%*o6jIOvAZLxCD1EC2l%1b2*@kbw9M{!j z#}lX-x?j;0kL7pB+fk8E9dU4+kN4VKhDstEKn~_;1VA zu5Cm2vHJ^X>O?wrU|wJ#K!hi)IxhSr@pf}DQY*}2?HJ{+zQA!IFd2dsbrITLqJpLe zZY&5ft~V*Xi~|-gJyJbe`MJ3z&+*GkH&*OA4&=TV)=-xX^%ojHTdGmqHML?)s#+~K z>#KUvyF7SK#d9bL$<|tN^m0=fO>KO5yyhk2{M~tO)#-_6gH#^hZzt_e2Ifv6G^M>Nd zG}NPCGGC}X1oaJlNtiD5tR=uSgRmd#uH_jQmn<%TcATvy2qASS!+KXOYz;kP>g*-C*KLP!2_M=k55f(2ZZUB6 zc5hj1p4tt8KVQig3q$&PjSmi=Osbj5dJ_MbE;}#GxzjwJIab}49-pTOqa%1-=RhOV zPbNU;9w7w2AuBDZIbSID)nY{(MsMxULeE>BPJ?1L6&5B~WQk_R1M$fPbC60(>^GqNU9xZrmP4yrOrDVs!nNv79&G&j=_R#kG7bOZiYoD8Xn;*!2!V2K?ge8C-)0`24E02I2Ok!yjRgF0 z`}*RyfoY?cM`4txllYot?#EoXGZbo5>-OV}ztWYQ)GMh|iQrsIua+?*P-Krc;mVKz z758B5u_>_lbk@P_O0nS2tLf(}-%d@vx+owVpgQb17^&&IC=EXE4d7R4hHQ3jUG2d$hN}@DkU-iv~RT}PM7*ml}4Old(KbW{t z%Q9r^P^xVu$iy1^4d?01QEJ10vYbj=Fv6nzoYkA3KPj!KWO{ZF>UzHzNPj>sCzwo1 zgi+ES@2r;(*Oe`XBj=;0J-v<>5?83FLu#-IlkT-@Gasicx=-8Y}QdeftK--|4|Og4IQMtdq#^zFpoOwGkt}Y41;U zVu-4?!V=(ddyk^!pXrgJQ~1HF;!USJ)cq%_kP@EBx{PXH1!$`kcB9z&-^B6;GITdQ z)YW=2fP&h~H#jKIA@yFJrp&dr$^<>t&>?z!PP6;x2?>5shakA`gbLuNys@|ak2_>x zzSH5!Z_!pi<7)R}p0by1LtzR?9)BW=Gl5$&)0SQTLo5&`Rx0A4C-FC1Q8G_(5aJyVT=NwvH9+(u7Y9vkK@{J8>h4}~HcJJw&AA}E}JDu|SJMuMz0>kGO%PU@}%C^d%fPtpeN+R_z8^4z1ub$fa z1|&hCQ2Y1zi95kW6Dz6~GSbf6!5{)WlBlOcM2qya_USV~nBI=zbswgDX1sSbDQnXb zgF>ZBG4*qZqZ?xOZ|aui(XW2t%_wySl)o?|_4d`Sha=yk(h>&y)2Q`uWQsTve%r)~_k|rq*W#PavjOPBi%F8n{MFHceRP=RK`0AkhjR z)F0PhDi%2Iso`n0?{6B@!Rq|5)XVN$z12zFzdigpJ9n&!mm~?6zipW^t}b_2RJgdG zpE3Ui{*11lwce}L9!qRyrGF(E zAh8|4D?v4(umi2LEF@tqO)!q?O=tY7e1_Un*M->Y@(K)V5!dg^S9m>(M%$WHmD4$I zhRPbGvL9036i6w^t&F;ysIYFi$hrg7-O?R>Q1*baIH0~`I~|DXSO2%+>3 za=Gx>D26rFy1A%@*Ci|?@p);^vVN&3Vt5byAZ$fWp!~N&_ zar0X3>AKRrVpFnT{GA}b|01Wg->hY~c97%}iGpfVo*ARw4s`WRK77IE>)zX7QPZo; znKvfMa+Vf)G|d?)TG$Y$YWiYRHzKXk|Fb)FT?tCh7a=o#E|chMz*T2Eq7h_YCOSlW}p z(uzr2fxf&ay9Y8>LHc2g=Ifj|q)3^88lQdBHZDvRW>u4d;g{irM{Ul%D_T>cg>K)O zvv@poDn_FoyFbF^r7w1KzYVa1eqJiPK3K>4N?zT$PoRjYWlD!|<(y6wXfJ7&XqIg> z)j;kUdYe}GHX}2h_vO%%lJ7g*6$xf(__9RChbTg;6S2arcKqP1I&|#F4LEGRi7$Bwn;zI=q_A^=$vE97tg?X2&5OcvX(smf^X&p}bK)aV()~^0TXf z{14cflG{lHj3HzZWKud7eNqTQMQmIEXa5P1Lie z>LV5(DBTdV>*x0btr{*))YNU!HdVA3sLW|#GnX49nD7RgV@b^kt{@s2w!>_kRlrF7 zq?SlUNrm-J+G%OGVr$BbKd|ucx}tp9O*NmZDBkeBp*c0> zc4%U8vt-AYg} zGRWk({@LQ7+GR{9iJEo2E2Z4jt5r#>$9rqSr#D`u03TDVD-C*Rp8mujoqpXqW*pR? zlR7HO7g6hG&mCW4N9^XdRo(aX9hx*oC)tJMpMt(B5&|DEcz~%}d)EG~ynC5e7<#YE zVI84io9&f0y~5bQ6(^^J)P$dQP6iHf?bUc!APhj}b2?Y_?Q(I{zT8Q^nkuQWg<4<` zqqE*#&*t36(ZH%TUt8*}@l05IZ*|rXTy(3($s7gt|}4HCY2nJn|IZR%tb=iWxc;Eo}Te_K#1 zUaeyG23R^b;@5@wLQ~ti@k}6s+lT(dVd5u>FWAkx5+yX6C+3^g4;!i`WU@X;0|7r= z_H;GBtEGW1HGj}r>0LTJIbi1E*o1&_*NjCMGaZ9?Sx0bpmLBA+n#feW=VHO5|8>ci zXsDvOiWW#rT|;6NN|dYA9h_hYk0d@@vD)4+jg=&g7))EjTsa&MnD$GWXY)Otqu>zu^^fHQq2!gcGVU&?x6r_aSA%uVsiqzP#0Fe#}MTCIV zNN9!@0VVVfkpRzXeLKJ4U2j|W`>eH|bwBI5m+f1L zD#5C&$Mb_R82w|L{kcBsq%4=djdpol^&1}WjcPY2O;izXX)Q}u&PRAxb!qw@=O9&N z+OznW=H|3EX}z;k;RbiHuaVgobTy_&KF*-gPG!#h?3zre1+Q$S;fvq+NM}L6OnD#z zwYw!i4tjN6PnF~)?g)3ca~UWIXzpDrigA1!9dYjf=BVM$*&N@(s!OhO_$9{hCw71f zcK%knARkf8d~J&!E9Y1{Cv`h{DyRF2G$n7j`L5Q`S6x!mA!nR{9Co;eUGl2rx^R(k zbtPRECse`4m-T$0ot5~6JS1v6vcuEARi?+pcSohI2x(bFEELo;(a*EC0EHJ>ha z<0`6LS|-H9pHC`Zv)*Bh$|qs78h@#PJe~U1OX>jD&U=^G5L%1s+;Fi0pQ71w0LE-` zH)YGRNk)2>;R=j^RV;>pBZ%D8O7c2VS91&qvbzYIs-L*Mds|(sWb}~k=v}EeY~LQs zi2TD^ZHFs-Up=ekB;S{|_n9*>PuLnP$x^G{JereL#nts!=F9Vq8~ppF7uYp}ST(1L zqqV=i7wZzY7l;QRAVeEUm))?5Y|eGGIk5w(Fm&e$ln9NspI4tIG1@Bdo!qV@|E<`@ z^Vn4cC*_2qzB-ygVbW|3My3~-k^xV zEM>?nmp*lM>Z@o%nS>vB)K+}pMB<67pN>e6417)&u|Omk$B4&>qdOcSHY*ww4P?#qn7ZJX@9J4g(0Vbi}?`TS%a`l(|C z_mSpn@9YY8`xrbZi{;N(36+9g+Y%K2zW4OSz$VSb4W^Qq?Kk+1c3<{P_N+=)g`{0# zHw*iEMFh-SL2HxORK6o|`HZD+Io>=M{h16~eCT!8>t2(H>{vNv_960NIlbu9uwNdb zA_738PjxFIG)%S$5}(`^qd8c9H^#j$(-rE|dW~R_>x{?#O#5xFEPS1r`f3vvv3NYy z5||DU?*}>kWZ>3U@v|`0wP(?F`T7k$jIOU)K@gO!{re2V3G7~`$|bL;k@v5e#n%MP z`u%-v;55xydx`RAr5Mc5+%JHsg>-iAb#abnqE1xNLT>^X2o0~e9;Z2^l7=q`1$^B} z``7&98}>MD5o)jk=Z6#^Q@QasAc5Plp-I)@f0&FMB_zRDG@Qr+*ErdHjlJmbp>IEv zPM*4kJ9Ol6!1ve=w}vIivg|vr9pxx!$#SUYXob!U#)S)H!OIQ(vh#jaVFX9Dg`Yjl%su1YuUqGDq_1c@>A zU2AxFeuwk344So)P_pw6huTX6gbRal`<`?Arvmz_szWiUGyAv>BCT>-yO~HzP4`X# zHPcgC5v`XM?%IVY;de?C-@OTwQZ+0b93DM_rli5+g7>zSC}}S6+dEusx5D*b)OYPj zuQe?^6&FTJx%0ogb~WAF?FK_w&cDIGJxwlhQ<0h0nO?KB=640Y5c#BQQF*M(xVX+F z!Xs=)y<8_bk}GKSP8SCO+vR(sLRBGsC~4Dq;1~3RBS78bfN!M4l?Zi`VHdKm>Pl^= z&?3gFUB*3q4N0SZws+?9o6WESoMI%y<*8|GA{05+9b!YPkTAw>hNjG$Jllg~H-=%E z{LJ0;rg+*QpJ+JiZrIX$x}&5O&jXP1EP2nI&(CfkIOVIt?}2ItT}>CF5nTh50EoV% z{F);o`(2(vW4+GzE?^43FBC)+d}@XiN~= zToV?~jBHDr)(O#&z@*H3ro+guFkfQhOb3@j%3co zIM%?ktPqILtdA#AAfu<&Wr6i^i1hgnuvYdDavdsC?W%*c@!gC8!+$6kS4v)?Y4~<3 z%IyUfBni};Gs9_9BDU=~xe&r7BfdwD-!!%c)tRKdp7*5YvO#V)Iysz#H}K8|RV~T? z-ncR0+0>=)A&A@XVuH_jh7L)JmVinex0kHkMuRs=_W?R5fLJV?J)+!!d_=l#X`b|z zEIk;sn^S?t9M9Argqs>CS7gyuV51$aEq)qIqRibrIHfO1M_DP|m3SDevu(r!mFIs(PMu%ntBN!V>8albW+6uP)fZwTUJ5}6YA(Soh z7iKdyXEj<})cfFV=sa^$B!t%Dj#d}8mOc3?WVO*$Byp^g%~qXBY_dtdv7Q+U$(F4w zj!*z?l5QS_iQk}F{Th4P6r#e^0DmvtfA3W|N8NtF8Fk8rx zX8M7Vy?_$GOl)Lz_ve&RJ+yWKJPha_SsIF2?{lwrwCu6GqFg-L1Q?Y$@#07t9x3~{ zxnu8`-q)8xH(M1WjU?$`dm}EMn~YFf@_ow|ac?}g%{k8ZHCEQuCQYb#_H%&-XI)r> z|9PCy;ikQmEu^O7r9rrL-UyxNtmxA@kwLY zs9ZexTV7(fu4Of4+H$`bG*D}haTMS+VLmUQPnSzva~;{%s{`HckhXHxVeQ^}N84Nc zY*bJ~R+$^T4AtMOXI$n0UYjeeEqMXvX3MZA6h7jp5ASj!d|Y(j+U%JH?@8&0pHGrP zup?7DVnfl@{F(5WT8-cN>@jHr{`o_uJJ;gz>tE+)hKv&^APFgkazCX@MQA~*Mkd3q z-l6)`ApS(=BSZLHl`VRzr?zIb6Sf!_F+?)eyBkK1$wo`AD-Bo>3}O9X5#((SuOp~i zl!s7qBae3{gX+F!8x(_k;29e3kw~=WDjqUOT=B`vg;q?EK%_-bW`*;4zHZOY>wsNg zqn8k;PQ);$@t#0GK6e-5=}hyP+$0R<2=sTiPY1t^F|G;77l{1c7g2}NaIlaqw(2I} ztCtYBtRu6!-xW!;S2#148M)oAd!A}ps(ZfZ<#J!yir7mzk1R%$hNj<)$UV3l+RM== zg+NCL?$1CLwx?2W(fxFeMT1dY`=u0qQVVCGxsjG@ER}A0MaszV)=1Br#aO^Tf)?HH z5XaSy7EFn8DIM=_)<`RPEwdNbrIdGNv4_$`frRjs0E91X?GbGW!_u?3GeCA}f`!N1 zeN*}F5q?oE>@vG-Yif-mzC8~5IsOX@1OmF7ahr>@TV2I`)C_2R348q7#rN}X22uIh z`+;ZDLLR~NJp#tOY2cS-Gn)j-CqM@ifvyu;&hqs^73RY2`68dgRkEVJQ|**Tl2&{w z9H}?cBlY%oLT^1j(xNcZ+n|@A1185R{`3R}- zUleWN&ECJ-1}O^ukgc)4=xg8a_6dg_oX{X zCjeLP&!2;sPIS@YNY&3j4n&~_T9jvV;t##~!UZT*c5v0N9B7ap{GOePl6ZFF$9?YK zYiN1+7I69gEadvXR@f6 Sr_C7q(2{^QwU0MUNsh8CxlWNVr<@`rF#n4`<}I}R?N z&i^G1h&nj&8t&_L;#F;0-e)JB$vJ+vuBB1Q-ZLc9E=I zX;dxG{7c;p(g;Av-PUqu%6+5~<~Bc6EQVCuOi>D1_Yf?cr)uougJ%*gI?z7#sgV-q z%&lc9vXt9UQ2?-H72`H^sMoC?h-1d_{tKT=8=u7^kU|<6#11V#uB509Ky@uX(m)h|$;yL@p+w0_%B#>cB$+6T@HRp7Hsf3-;Exs%#CAN5V_Z} z0XTZktdOh_)3Q<9==N9l53NEnd58snT2_4GdoiUM;b439&C~D~oI#Apj#i`3twPFb z#{1H=Skr=8#|YNl7zsQJl)1ThPFBBzH+W!WENDVLbZbeTU1R4i{UC17tD(*HEZ>$ax3}5eEr`3luwS2jf61icO>3$Z&suwAP z<;$P^9*2bI6*`cC1ZcV^|t znp${IN|#Dl)pkonNfcVxhs%eD^`L%#SPmVJOYV6YD-vW!kJILZja=-kwKI`gCh~qY zk|Y)R|d8<;rJmxVsO>(N%#ljSqBgg0gozCo`tKZpr(y#9?~l|U=| z>a7ef*0!+0xf|%f*}NoCV+3TaNdwv5e3`{Q-Rrl$^+4ACs7~~ow$Ebd=L{_(`jJ!i z(7=)B*6HOnMTJ&w<0lo~RR-p;qNO03eM9;$>2Eis-V5?lZ`fNW?lEC;^;|QN& zi%QwlFy6mlx^NkO{BzK^Lq{Oa#kF2LkAitGI$NqFi%)&&vL9EM!ndT8tacOe@91^X zExxoNQcym=NS6>DI6A0w)l3YllU!W3rV8zSy1ruzBoKKJIxW&^xtrxl)s-@4CD^tc zxlS`t4DBrz(7M@%Y|O)B#d+)zix$k-ZUpAbic*j5pi)tl>kYM8#)`6<<4H~U#i={{ zMqF&e_JEpWzekAhyt6`To$mF}lD%lX?d6Fzob>Y2HLhG@UJCLaaun0tJ-as*oGC{I zmNC-xv*(kaOkICVlPSgB@>U?3PbIJRKaz7jQMlfdP|&T zeiJV*1-)#osi9;YWH(PqEVq*DLW882`Zy;6)n_?-dYi@Cz~aD2OM#anob2u4$w#Oj z6{?!m%DrqI@r9}3T^4PHQC*I#Ovu`|ED;~Oe~(aIW~d9+UWvq8W5YH<2-k!Rjm1KR z5^zl+JwBmJaT* zsRfIHq-hu3@j0d08EpA=GRY<|oKv{aipHw>L zXEH{2c4nd}EJLsL<`o@dgsP5@%S%nH&4!HSwF;Of-sotSvMif(p*=yb5&yxmJGwwv zG^TA|sg6y25Gx;gkn<0;+F-9+c56$#I>s8i{=Ta1LAU5}Dn)@yqu_z7i?23Y?F|wL zMVB3&1nV}*(BPQi_WEzOtXIXQOX^pnef&Z1ibD9n{cmyCuU^uy8Z&&l`_ugXy)9(? zD>AzW0muZ@?E`5UYJBWp_qGLLak}M^Af#PxWo!>KC6SAKFJbZ~b20b5Bkk5a)Kxeg z@|FK=xR1vpj%2-jQGqwx_64^B>Ya zTl7&m!{dT=`ygft-A~K|$4Sv9Zt4~fA~4SO*6g;^#YZhnsE^@_w)+i?Cg)_^sf3Wh zjdWdmF2FIO6vuLdxl*)^xZz>cPn7cM?S!&rW50T+-TO&rFk`eOgwck~4Z54Y(~HcV z-KmypIU&uJnZ%#zSBcli|2oFyeN8C7T-4ShuoitMxSI=C^TBBE6}`U#VTy7USGU{VauQTyE|fj-m76D=_@*Z)7PhlWd!FhcH1-fS4uM1_-w%w7TS$yMdgS!)`qS?fzu@6tCe>i2er*Zo2O%IId%0 z&UiG^&cAa#ee)9pSwmj|U9dvqgth=p@RD#=*mm2>o87?v*PYi(tn6VKJGbsEza-Va zS!RQ+j1&*V#~?L4AnN(z^q>m#IP_6J5j1~2oyF&5aobvLwDr~S;amx0zqF4&HtCNq zLBs{IdKEH9-`X5?D9qYLEfHJ&Jr1hBNMUqC3SFt^)9XT>M<>?7f_Qrqy1jTnZf&yV+$;W|n>&jW5ltiItB| z>$Evfm$vr0g6n*|J84aqE}R*R_|2ltG{L)hU8t3O8Z1)L00}y6r-x>V zecaBhH0MgaIT&!ORRyAEIY_wywthakm$&g*E^*@(ab}~9Dr=4fC5yz)QgfE)Pz4p| z3#Dowu%-8@Hw;wK6#;nF zp<*N+)m9LdC45}S&9HjvRc0RBV)+cl^=LbMC}uz%*!-9e z{4Y=xon}3s_G!2v;Pi#by^0O^JW6}Avpp@9(q5v`otC70{b)zCvHtci!t;#+6kED} zB+*V^==qh;4BNaIT`luK;$V$vj9L3VSRvgzV=tl1N4i^3-TMUryG?7NWU&-1Z{i$W zuEsz*iq1z%;LBQhe>YZLea!F+=w*?reU&?0V=>ODpi#Hl%$FDx*lKH4(hFk8FBAPL z+&WR~F-3enwbJafxxL(AI&yx2kl-#QQVEQMLbIG(k+4l?LX`g92%SjUB|SvKyhe#Q zy3=M-XvAAhS70gB@CskNgl*urO*4o!FLvjCx56`!J=p)-Q3Nm?5^%#SBe%PBT^AlY zUrE@=opNh>;p^e~h~(`moYQ%;z+WP*Hotb`OCkn)6v4V9Qx>*2nhY0fYkNnWQ9RbA zY)rDTi%?GnXSBjv+KM6-^yX;IzaEz$UVa{*d~Y6hmz-Wz5v6}wc|w(9xH!}-&nIl1 zf$sLPzcK!F1+|W4Hze@~sdMBzCqp)&eKFR8B1rTMy#Oknm0x?oi2S8kGjG?E?}ePJ zoo=!#oLC%E+?B8e=F5JKlbHwC25)iXI4^ZWg>=!oc&KP9M{yy;W?HYgs&bP9A3V1z z!x_Sd?vk|~3;+}A>8@t|?)M-rk~$Cufd4g}naQxZzosB#U zk+3`pQ^+|W>X&X3D?Q^JcfJShEHwY7>gSVay`|jc?NR7>#@ZlJXvOad0 zJhhcsutwY)S6g`pW`07ZYV2)_z<=}R7wdREp`frBt{~NVm&=1X!WP8WVZIr2)}V+k9(L5==1Z%1=R4}0 z>Cpn>trLCMXI+2o{9T6FCZHFMqXwuny?xJtO}eK=iX6D(W$mqLkLrqkieGZg0d$p7 zsYkBi&KRjT*;MYnR&vbr4B2|D^nUlJvZC0YZu1QsBF2tJ{G*;jyW?VD8-3yVoOmNyXl2sky{(Ve%L2xhU6&j6M&3{GOJ$17 zVbww{yvqk0T6mAzb{1s;NyFmz*IK>+I!|k_TF=NryED{S@Uoucaa&HUW0q^n-}!)( z2YkSvs_Q5qB6cIqPj8B4kZ2Ged+vxZlvCnsjKn~Z4}v)|`Yq5 zi7<3Rld{%sfkt3IGIyFY!!>l7uZEL>xtbOKzY;D*hw@_+J@fFE&$o1i6gr;7Rw({Y zX&S}9wvf@`(Bl04u$DRhzYrt;5Eeh__)jJ4zQ?hLZ=aUIInW&h{}7h`a1>xqZpi*1 z#eO~c2Tk+`xpe63VW9LMKd7`{?f!EiaB0S9u;3y8UzK7Vp1khVIJojd$^k#t6D2|0 ztT@zjxO?ILvtEkOL5aghhwsePPptQS0)MOZps^nuz2gIP-Tu%ZW$_W0=+1`} z4$@o5p*J5CRDQK9ryo5yja&MFuqp#K5K;0=Rbs4=Iwp@2()`wAu^2}ytNR$@e>zu_ z5A4S^wCYYU<+eNr+Qlo?yBh-8vMle)x81ZO>;zQrol4?{*$w`6$`rn*exAAq$%(-pGc>i0__kCh$trJX=XYI|lzPUq|C&J1A z`E)t>FG)xL_L>JUnDT(7!i?oHHuc-0`ygPSg>M=eCC%1362&L)V*u3FXnL~R4#7PX zvvkA(c=u0d^MbJ&+gm2;^j714L4D`lslu&t1ykQ@<{wDI#Pk#atJNtep&5Ztt z%{>)bA(w}hW*5oCs?A@7Gf+q4-yQ8l^;eX0VnXSI43yh_&RsoABnN8m^!= zs%5kU*DTiAv%=9%Yp6>oZJcaleS#cQ;S)GbO>~Pf&>mdr?d_A}20N*z`&WZ$ug{PY z9{_u(0O9-tOv(Y{Px=E0h!20Yz*EKpe;Ok69f!K^+gTu;DpLPn$4_(UvzhA;{J*y`P6(Xvl18Tm412=TD=`ZITZ>VxPS}t40cTtL0#=mavoW9XxCA< z21JseA;0)q{jKq^db;dx*zZ@+DGG%A=ASxF1T7jlyVNns=KxUF(y@CHo-VEFV5{#< zqh~crLRzBev=xV5;u8!@<_{?;UAQ(`xYeZt#o_W=P5fJT?4W+LiQM;tic zLxXsQ_3s7DBg~`4+7Y|$#<^Naqp6rrEGAFQ15-vnUS_Q3_j&krBzM&2I~hg|D2g@0 ze{NF9c&yrSHQU7A$UMXS@nw-`@r+&I&T0%sV&bw!4t)5obW=%rVSQbahl|)ofIRNXOfqCA$i)?@>bZ+P`L`|$kPiO73g0e* z?&`cT3hz#p?NZbDxaQc@tbntj z0ei*iJb~PnYDXD7>FsZB(TT;m*k~lCUe>c4$t{?iIwf;w^e({$y8Rged#|Y>+@7n? z2q+m4-PLCd-7*ILSIF?=9ieoiLr1+_o(w%!7V-=|_h;woqI?!eij3xu*X_szcKmvn zgH8EOms}RNlQElsx><7kk`Aw^4-f_($lIA|h|w~i>Ajw3Pi`LjLUZICVRT@bif`_2Bk z>Bx@!7s2FaGq6!0zZFMAz?bNNo|UyfhNjrrQ~g&E9g>$6d`x7ou&cBqhC`D`>TmMY zpHeARu8dq$Z==Kw7vH69#9(rr#R!Vmww#tz2V(cniwnU{f-a-?4R@D0+vxdNu{pK1@YSgzYnvSUM~;uz6@6_sq*eoGDPLCuDvsk zXe+98#Zcl5nfZOkeEV7Cn?4ohIVtMWK_z6$z@5_IGbfsIO)~o{U&jtQ^h_r-C;BaH zU_A$(9iJ{&F`SQzHol!?7@vB((hIgABNJaR^weR5!2|XyDmnh#luGbQjv{@HmPipL z*A7tx4@M1#X#<$c7@(Yz?|VrZAa_iQya5eH`ED0=pZbu7tkkj>88ApOUJ|xnuFou)+wU_-rbR$xOn`=w z3fJu%`A8*%Tp#@C*C@3;M}l9}Zfs3=SY9Q?1QY>$mEbG02~)L)Lq>2WuUt zz2AOFw}>gdh!n^`1oBuY87+^m3F#*Ibt|~%Az4Hq-86#&IpYoKMm(Q;4@=PENmrNS z#2|UX_Sj7zFX;DA{819jdvBPZf0Z~ivCz^j-pT)9<~rIUVDI}7t!3Z?2=j{Dv#YNB z_5w>_6cS9@Z=Kc@TUWGqbZO0wEE!Hj-&q@Ow@W4nCU+?` z#KQf1|8#uUWpE`mOVy)q3g*(_UAn#gz%(o0biG0i$*tP$T5J$OI zA|lAb=uy^@gHKj=4fi<6zNV2sbPi1!yo!jukU60if=6*W%&vBxe8vU)ft0)OeD~f$ zcLxwB^b0K*I0(bmf8K4k-}4hR83aUMJE`hhN)-k|(%A(;I?wTDymv}`6H!)1HflaR zCF;uCgS3q;hx{N&12@ob6#*$!=brorCtaBjOtMFWdm9d3LNwfBEq)cTGbL2$>Y4NO z&g!$*2;v<#FN`lWGo8mIamzI^_@(yg#F|Mx+F5LI{foaEj zi1tueY>=gEklpO6+GKBo$M;kJ+%xAlehGkNm!oG#*0!kej#dDvaR=@9(4kXO;yo=7 zKi?%uYH|K?QqeYk-Yx{`jpvj6JN6tO=CD+&~ z;(ujP!2iZVgnvKte`y8Czk&ZZ@c(=3kN$0a|F*t=TOZ&M{C@+2CH*0N|ECsMXN#%d S=-z=Vq4eack{~5SN?;t?pcLsP6cGrW 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 literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-atp/images/power-bi-open-advanced-editor.png b/windows/security/threat-protection/windows-defender-atp/images/power-bi-open-advanced-editor.png new file mode 100644 index 0000000000000000000000000000000000000000..16675b01ba5d15cf9532284665347bb0ae6df336 GIT binary patch literal 35909 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Ⓢ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 literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-atp/images/power-bi-set-credentials.png b/windows/security/threat-protection/windows-defender-atp/images/power-bi-set-credentials.png new file mode 100644 index 0000000000000000000000000000000000000000..dce1698521b978d2bea0cd3a671d361b6b7d9fbe GIT binary patch literal 14353 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 literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-atp/powerbi-reports-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/powerbi-reports-windows-defender-advanced-threat-protection.md index ee949dfc75..05a565f9f6 100644 --- a/windows/security/threat-protection/windows-defender-atp/powerbi-reports-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/powerbi-reports-windows-defender-advanced-threat-protection.md @@ -200,5 +200,10 @@ There are a couple of tabs on the report that's generated: In general, if you know of a specific threat name, CVE, or KB, you can identify machines with unpatched vulnerabilities that might be leveraged by threats. This report also helps you determine whether machine-level mitigations are configured correctly on the machines and prioritize those that might need attention. +## Related topic +- [**Beta** Create custom Power BI reports](run-advanced-query-sample-power-bi.md) + + + diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi.md new file mode 100644 index 0000000000..045d211d0c --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi.md @@ -0,0 +1,128 @@ +--- +title: Advanced Hunting API +description: Use this API to run advanced queries +keywords: apis, supported apis, advanced hunting, query +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 30/07/2018 +--- + +# Create custom reports using Power BI + +Run advanced queries and show results in Microsoft Power BI. Please read about [Advanced Hunting API](run-advanced-query-api.md) before. + +In this section we share Power BI query sample to run a query using application token. + +>**Prerequisite**: You first need to [create an app](exposed-apis-intro.md). + +## Run a query + +- Open Microsoft Power BI + +- Click **Get Data** > **Blank Query** + + ![Image of create blank query](images/power-bi-create-blank-query.png) + +- Click **Advanced Editor** + + ![Image of open advanced editor](images/power-bi-open-advanced-editor.png) + +- Copy the below and paste it in the editor, after you update the values of _TenantId, _AppId, _AppSecret, _Query + +``` +let + + TenantId = "00000000-0000-0000-0000-000000000000", // Paste your own tenant ID here + AppId = "11111111-1111-1111-1111-111111111111", // Paste your own app ID here + AppSecret = "22222222-2222-2222-2222-222222222222", // Paste your own app secret here + Query = "MachineInfo | where EventTime > ago(7d) | summarize EventCount=count(), LastSeen=max(EventTime) by MachineId", // Paste your own query here + + ResourceAppIdUrl = "https://securitycenter.onmicrosoft.com/windowsatpservice", + OAuthUrl = Text.Combine({"https://login.windows.net/", TenantId, "/oauth2/token"}, ""), + + Resource = Text.Combine({"resource", Uri.EscapeDataString(ResourceAppIdUrl)}, "="), + ClientId = Text.Combine({"client_id", AppId}, "="), + ClientSecret = Text.Combine({"client_secret", Uri.EscapeDataString(AppSecret)}, "="), + GrantType = Text.Combine({"grant_type", "client_credentials"}, "="), + + Body = Text.Combine({Resource, ClientId, ClientSecret, GrantType}, "&"), + + AuthResponse= Json.Document(Web.Contents(OAuthUrl, [Content=Text.ToBinary(Body)])), + AccessToken= AuthResponse[access_token], + Bearer = Text.Combine({"Bearer", AccessToken}, " "), + + AdvancedHuntingUrl = "https://api.securitycenter.windows.com/advancedqueries/query", + + Response = Json.Document(Web.Contents( + AdvancedHuntingUrl, + [ + Headers = [#"Content-Type"="application/json", #"Accept"="application/json", #"Authorization"=Bearer], + Content=Json.FromValue(Query) + ] + )), + + TypeMap = #table( + { "Type", "PowerBiType" }, + { + { "Double", Double.Type }, + { "Int64", Int64.Type }, + { "Int32", Int32.Type }, + { "Int16", Int16.Type }, + { "UInt64", Number.Type }, + { "UInt32", Number.Type }, + { "UInt16", Number.Type }, + { "Byte", Byte.Type }, + { "Single", Single.Type }, + { "Decimal", Decimal.Type }, + { "TimeSpan", Duration.Type }, + { "DateTime", DateTimeZone.Type }, + { "String", Text.Type }, + { "Boolean", Logical.Type }, + { "SByte", Logical.Type }, + { "Guid", Text.Type } + }), + + Schema = Table.FromRecords(Response[Schema]), + TypedSchema = Table.Join(Table.SelectColumns(Schema, {"Name", "Type"}), {"Type"}, TypeMap , {"Type"}), + Results = Response[Results], + Rows = Table.FromRecords(Results, Schema[Name]), + Table = Table.TransformColumnTypes(Rows, Table.ToList(TypedSchema, (c) => {c{0}, c{2}})) + +in Table + +``` + +- Click **Done** + + ![Image of create advanced query](images/power-bi-create-advanced-query.png) + +- Click **Edit Credentials** + + ![Image of edit credentials](images/power-bi-edit-credentials.png) + +- Select **Anonymous** and click **Connect** + + ![Image of set credentials](images/power-bi-set-credentials.png) + +- Repeat the previous step for the second URL + +- Click **Continue** + + ![Image of edit data privacy](images/power-bi-edit-data-privacy.png) + +- Select the privacy level you want and click **Save** + + ![Image of set data privacy](images/power-bi-set-data-privacy.png) + + +## Related topic +- [Windows Defender ATP APIs](exposed-apis-intro.md) +- [Advanced Hunting API](run-advanced-query-api.md) +- [Advanced Hunting using PowerShell](run-advanced-query-sample-powershell.md) +- [Schedule Advanced Hunting](run-advanced-query-sample-ms-flow.md) From d8aaa0646bca0d9febf84b4068afe7899d4e921b Mon Sep 17 00:00:00 2001 From: David Laufer Date: Wed, 22 Aug 2018 10:08:35 +0300 Subject: [PATCH 51/71] Fixes --- .../images/power-bi-create-blank-query.png | Bin 39358 -> 33149 bytes .../images/power-bi-open-advanced-editor.png | Bin 35909 -> 26917 bytes .../images/power-bi-query-results.png | Bin 0 -> 55785 bytes .../run-advanced-query-sample-power-bi.md | 105 +++++++++--------- 4 files changed, 54 insertions(+), 51 deletions(-) create mode 100644 windows/security/threat-protection/windows-defender-atp/images/power-bi-query-results.png diff --git a/windows/security/threat-protection/windows-defender-atp/images/power-bi-create-blank-query.png b/windows/security/threat-protection/windows-defender-atp/images/power-bi-create-blank-query.png index 7e94252e109e6b73b279f54b45987fae600a56bc..d060becd5b305d6f08f44070199d9e69ddd4aebf 100644 GIT binary patch literal 33149 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 VSs!g~0_XpA^w25O>;o5n`#(N>j|cz& diff --git a/windows/security/threat-protection/windows-defender-atp/images/power-bi-open-advanced-editor.png b/windows/security/threat-protection/windows-defender-atp/images/power-bi-open-advanced-editor.png index 16675b01ba5d15cf9532284665347bb0ae6df336..5c340e31380d28179e7612938e54703ad01eb4f8 100644 GIT binary patch literal 26917 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 z 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 B4M6|^ literal 35909 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Ⓢi0Loqjbx}EcfC9E;#Rg!4zE9uTbUDSMIXIVK?K2tM|&c`Z4$aLmNK5D zO6fKg&>ympnMjcfWy<3$r&LJ2KNDCMzvs*4>_7r@paGpWSQ{h_wirIGr3g_jp^YQ& zBG{5OAKsdTDG57xOP+&Y&@-#OqFrBZpBumEX2V_ofI>XWnFzkLQuWw`({kzzIH{@S zeetUGf$WImTWOdv>P79!?PcQ#jpOh+U!H5{X(YS@mYaa~axt_&Ge2l+y{9@@54RiC zHa)hM4`w~A<9(cPdp@!D=@75Kej+;`w)hwyzcP8Br^sp19m#OA>B}TQ!A-hg#xGtC z&ith_j??uMFr-*y0q#{Ci?Bv4kej)<<}XdcGN!wJ6f&e51btTnGH;0aRGQ6A(P=&g zW=?XB(t<47`D`r(t01o4@u9uLuFwj#5>&UozvEqO`*Q z@z!Jf(BE4pnGGA-XC4{7QFp0>{F1d;jN}(L@2yr}lvcj0Ih5=KV6Zj?ku!id*Oll^ z3@$ZcX4&#bsYj<~| zL5Y7eq&|8Lepbol`6*o@GL-Aavp|`q=bvf{*Kb%7)E^dnxNzr8_&T}Ja4+hp3`%DG z;~B@t7UTtfx6Ay1?)tnuFN4@<3~ZNmKw^h0#|r58lGXdy@)uhtf7@a>5fQTZI)348 zd`vU6@xH!-Q(_q=m+ETLsb3--*^8Jjbl1Hzb~Ajgo2Zm|gvOnXEI;fi`eF$-e(^fr z9doEO<}H7L(&j8QRB*H?OsA1cueJMw=CU=fa^D_81=(ThzQmaFzZ3wd6q&z=U0(4@ z*U?>upV@ogY9bh_`OdJeMF$-t(BEQ6dPcgtqZ&Jw%wFx`@!CAZQ^E{F>RW4*X94xW zFF=dccmbTp+r{R4sS$!SuRgNcu6AWny7Guy!V~D}++wfMT9`b;JbSR#4NYqim?`|g zgw59@uaD+BZ;M2yGj!U7*LU0&iy|XChqhm07iX)N;SbYo5x->p0DP}*O2$n|L_vDu&MR)2xuH@S{uwb(Y9xCd5@;|9Wypt)k< z?B|C5Di^TDAD6Ie`ke7!3km0ZwwZNx{ih)_EQuSlMbI`IymW zCp5HYuU^s~Hbr`f`&;SkH9K-x_2Mko1D7O-W%d ztOBSyWav0Nf13tvonK#}TZCKfHsOY-8bL-&VpwY60i2$SvUxAZ9o}c;dX{4%%{`hg zoO!dv{B4$Su+!}&-FnI5tx8_3v4Rt^wYnkpwCTYgYOk!k_-cQTwpa8^#O>EI54a~= zZhZs&#Y!H6UsTVI6w=GopN*&GM_x9*Rhnh!sjY21Hfe5zMM}iNXWY3pC~2CyqvFyO z5gQs@>`vT+xwbjAAp9ja9@a408y1@>_CBW!w(wMUTAeL0IN~Y4vfzlbk%iy|4K{ty zK>MSfsspv0QCv~IANL~igY4fDU zEqQyz9vb^;k%?t8evNH%P%?GsTA$)$LgD;fwSGpe(trYiV}et4%nqL5rTHgu!3V)F zRl%We{OJRwA569SUK1IAy*N z9q5J{p7DH)lJM7~T%&{U9?JrtVrO zyWRbe5M^5S;oHNc=eUbo)YW$h*79x6BBTlJ$C$Z>#=#719YZe*!OR@-rv$72mgF76 zi~{LY8snk`!?&}R6vp*hcmQ~LyWE6w_oC6-o>25LslW!?y13&%9YY)md_8!F<~$^8 zWNl>Y0MD|L!8%l_yCtK;)<+WUK(}X>%qKFuPYe&T_om+W--A-*T7Bmy`X*=1xaUXo z`H(NRMT+(HUn&_r6ax5z0ZC!TTE2d#z1g zx;ntcLx{l%L!!3{=ny8=+d$#6&Fr}=m;G$PsVoO&&*Q~2rt*xU@<5)~DSfCi%Yf5n zz2ylsA--O_1@A)KUF1wSzq3*-x4h!NCzle>NwIEb4KU7^&#P8QA3vvk3tg+d zDShy6VS`)1XlT>H+Wm<}blBk*ZG5iMk@MVbNS(8Dj$aslJVv|!aM8ihMMIVPQ_%M< zId^frGZE-R7hir2XKnXk>uvnkPmiqd=2WxqOD=Rw4+$*sFBxZ}RZ~+-)}v(Ey=(X< zcgUs@r`2QWnZa_FOtv@8KkNR`aMQp89Yj*QY4w~wkX`3Dy;dnoT6;0+b)$<8gr9Z` z58mae=jbW#jo;n$lcst3^=7r8@_@5Va!#~m-e@>ctu>&+0NPn?1J5k%+b$|yr5{N^ zXE%*)Mza(Bi)4|h+0NvHHUd343FWBBO>2nvxbs8RNlcDWgk!Rv0&KqsGiE}%~iJPPv;!7LSe1n>H2hB zzJeWVmiqv8Z!zqY!WWuqvTbU~gEcGeaFuI2^|a)C(SCPD70Hf*+iJ|8zs1P|J1}JY z(8;Uia-c*sAUf+xcZGhq9+*{}k1%dT!?yM1*3XJ6T-IU|eBNnFv6eO0?4OPq0o*+n zypcQvf%)0a<6)0y`Nw~JoWDS}L2U@3 zK|=)Y%RfmbUBl)tjyXu<_cl82kqTUY%3s(Qf6`7nQMX}RU&H5z*#y#H1{f7JlG3o8 ze-{QIOBms??X--Rvw$bB~SDe0UA(e<=t@f8vYRK>_tQS{H6k{_O^w7nH7Kfmo4 zB^}&s;^bJKlCPnM0(vlWi1rwo0F?*CCbZEldG?<+Zc4wJO)bBE`v9fDDt`+)#Zg&+ z=>Zr>>5l;$hkWeBG~&|%%{8y6t%0wVs*~t~Rkqf6@YuYZmL`QXYkplOnp_vzBvXc z?G>dv?nu!ZOkzs;GqaHAT_uk7h&3*h$_yt+=Y8`-)(P(OeZkIJL!E zh~Iw_DG#)@e4Kx@JxPN_!9_z6i&KVx4DD_a&^!Brdx?$ff}XH@f7^BO#*8o4zcQX2 zZ3*7ytwI~JFV@kZ|yVe3}4*kPeiw#`Dhh zpOj*SLU_LXr(S-GiT1k~TNQHm!XMa^4#^}*1^bJW8^nDW_lHt7Wu z(|`T&2JKYRhXx03e%PqtwNonT{NzUpbJLt%Pkv|f`rYIp`OV%&L8+I&=Y`*)?mTI8 zugCa!lbM_Qm-;Y}!N@e*;lJj6nT^+rt1^K&dYwG()AWB^tmg8e!;iAD6<(w08A?eX z3*NhjGLi1Fa-a5;p>Pz?=h>E<1`DZ$cf*bk5)=O`T3`w~T6H;4+g1zxiwSnkp4A?6 zNluhhoT;E!_Z{ZC*#;>U z)_^{TjwV}01UBa)_%oM$3e{z=I|4iQSdUNNmcF-cRx!@Yg_1~58S7};wvilN&d9Wa zL!6VLGJ57<#-|_mb{7`S^a2@75XYW3T_{Zui<=FP&;V+82tcr&eM?O6XvA@C@nNq`ZjkK(okeg3s^+o8b|b+5mZb!&)GOynlA|Ajr%+0NrF4zP_$ zic2Yjr--Jun@dq=?|6vcj!~u+ClHs!Zy$T~f*Plv@(wwQ!WNtM8GH>g>8+PjDlBc& zqzJ|UKr+{F{{@ge2QLkZ(`(Gp37U;a*)(V;3!ym~$oK`W&3pQ|vy5&tzLUm7u%G_S zY?OO(d|q<&8KS!?(`~ZNwnK^?8^ZaE z$)LBOMy{uLoqwC&4pj9iV?k4l_Iv$(0*9lea9z{=F^j64=nJu}A z0E=d5c#p%wXGx7B`6cS=z_Bl&#-Xz~Y&zramE|M}MD-3~RUMLDssB{Zw{ zrWVk+;Hhx-0EsxySg8B1YWb>|q>xT9Bb&nXz%B5FN!iJi)xOGRZHX9)`VXbb44whd z3l!fyxB#L3`MlUm%;2Z?%Njw+N4$gwr2+%o3;D~=FA9E*+=@u7sUOt zKpcS%7daqThK4pjE;E*5%GdR7Bblu(w07l7z;T4Nhn5>nW7s8(pY&UF)OYCt#%6j) z0^QZ;UU;5zX!OB>(Ypi`R}!^a$8!;Xo)iutqt1!R;8r6EH@pHEir}_Qo~bGE(a~By zlThFWIenb9WDe$-31_VH-+_e7xMSvnpMZ)ST-^Q~q?SFEE==og$7MDf@!2h3@Ir z-H9oh-gCUUpK>^%%-liYXm+UR=GvKW)lC=B=%e_RMw4WQ<%&?(UA48B3mS`NUf$RY zl;*fe&OV9$DJHfd;uzrZ)_=A(T@9Vm=>SsoOX78J#VM3<{rZO^wc3Po{6W@^c?f)N z@#qo?L67AX6Pt8!^T}&WYsuWm&C#dU;HMt&J`@*xhT9}u!^NHdpi?*MQw#XDrSDh2 zPVxZ)Jaa7BD@$7E4E*Rts1kKBqb?Xw=;rapSDaGRPn7}1FUm9?-g_1$G{wz-LM;Ks zgDVJfm*Hn$k2{!ya@#usWbSmvYOv^mK#51jvI+A*qi+J#P_+}Y)kCcTs6Q-8tH+#{ z0PeC|>SG~gJRJ;FTf5FgO|6CW5ryOx-h`{(di3~${31(_(-snb*4ZZ;kml5)wg_H$ zeUBzz59*S*NY8m}G00zDYey-73=@uD>Ery0ICUBuQ0SD`$l|!{--l027 z>pij+*II za~-Mx!7n*z*QpL0{KJ}Pgt_2$zVIxbUeGj|F3t6jh{Cx@_{WJoUq@-SNqGb`Ld$12 zyPnRGB^8+u`p*I`7fn878m=ECdD<2gjhN|ZwzP=U)UQmbXg(ytSGqTTBy6djsfmYG zcV;-HNiObCm%hHWWKA*>GOg$?u1}m?@r&}SsUVo19(lty2>CA<>q_bT&@=t^;D$qz z>9t_0tc`Bl3CVa}{dB$Li@4K=BGLmFt14g820JLShRsSuO@9U^b<9?v7IGc2dVV5b z#tA5Yc1(hP8ff#|heoguP<9icR{h>zr7yI?vMlH+z^1f8iVkw#!09}w2wJ9xpaH!& z@ZKSq#LLZq&hMHJSH<{O&%O1g?81oWs!fsn_S6M4JJkyDBmwVL(DXS8#I%eP<{Wg@ zP6Wid(|?nw&?8r~x7{c%(Tz=;c0w)q#k0V&)?i_9By9^FtbJD-g+ntyXUPKe~l=?csT&&UWwJ zftk-+$V?p^L!SfKpX+2xf_aU@LD|HViLZh5t@Sb&Z7Bo6 zD?{93S)u}sp@1w(q2cILBt6^kKN+}RF*!=95ndlK=)UdnZ1_HE+6(_KeWukr&b>0R z&IooqSj_<1oVG{$b;(YQf?GIaV64p7EzUcP5MYYq0JeYF?r|5}W;2?0rM;< zpo`-JHA~K1A3Ez@Gl%Aiau_)Rq%+u(O6VH?t6tcXFX2!1MC6+=VteQ$^rZ2($gq*D z=C%eR`;hAxTwk}UXM?6Are$Kco#|;lA)+tN8_6ida>1!I*!0@`TO`{XZ{mOp{h-bB zXO077Fo1(3Yp^D!d|hK=?|k!;oTE7pwEo8oqT<)!)9vfq%V&p9S4yiRWAw%%fA917 zIom8b^sYmle~ll6JeAnizbeDFdEpP33mnnK*tiqQVw1f{SQn>_H!3u0#wD8v3S}r}>9s$KGzm$bIR`!SKp`rz#)tMF>?mhc#82e&k5%*&M z)Bc*-iNjt_POGUXb_~$AE#VtZw3bJKq|q48@hkljTK(_ebuy6Kx_VLVel@m& zkCdGz#w0Ymjj#872*0~)&-5NGR!RQZY!L6L@?qfNe+`TdTD7qY4^MHW2Y73|O~}P= zU{p_Cdg1Ap9a41I$_}ZJ<3+NhbST;XPYlS>mZP=6h+h%(%3Eq{#U`@RkC#fMwU529 zn%#$jsa3yYJ;*nGo-fHg(0wl;%B~&Ykg%h-)Rw`f9}fYAoqu^hP%uc$7<-ltqqHl2@aWT=wFzZlem&<;~Tznw=j644wO?<$h>J;66~>vZlTn zb~axBH8FWb2@}Ej+R(uv=mQz9iJ^6Jwz{pinWa?uj^qyA+t$VM2 zNCR@IqEEGK%-`O@h7)nLmH3sVY|y?|6$edEc|flB!8PzeGbpsHNdyCUKll07*hb=l>+GS%z1kj9xP*kqe7i?$z4|Gy-JvRT3q zlAd$qs;#2qm6aze$&urR>dJXE71R~~1DL$nfyPTd{c?~>us(7MjPyawt~?0y_MNgM z29XMj#0hkXsf77k0kO3H7%h#IOtED8TFH6j#MilerHvgqMV&(*fh^Nuv_qvE$uKF4 zy}&p9m%(5KUgQF)%P9#v%Ni7}(j2_vL@kxpAk=m!9y8eTi%&fd3&0ih6q|**SH=~A zj1Gf26;Al+J=2T#gqwb|9oP<(DJSwha&wOOIC~t)sFKXuHIMy1E2v$0PSIr68Gkb~ z*9!r8;AU2f@Y!SPUea3skbuF67!oP;ID+crvo`5iGP2FY3BKpNQt%@0rp)xZHT9#O&S2sYJ8ou)J*~ zQ(zjd=eqvh@9M2(j7okDj&SbWj=){Hd&J_68ZLJ?a(L4d& zM0V2G@@y3kI!;@H;CIEnww2bYAZM$E24gFcKaJ>9oPVvIn!5mrKZS#d21D!aj&+!% zEWQ}4GaUa7pf>Kjz<^RCemYl*ihJg{pQ0zy|E23PANta60u&80QZh+ zS{y9_?pzTY2MvlDi<3iZZFaR^H-wtig*kGFV2o79$5a@U_VFv4Defj;6XW~&X_UR4 zEW7L@k-3qV+klqRjbHPFN##ZGa7V=Wu_>^@qa>)SQH#p=h|i8j#lzfFl1}|IjD8mB=~weGH%7_qC9F#)TehS zWlf@oTCFV9w$C-gYCITP79zzm?K~aU?%c56Eo^q2$O5SdHy(&vn{`>L(P{HC6?gV2 zSRFSkgtlij#p?f9b_}A{WCmVIqtEx(EERY}2O!`+t}+KKBY#ncFaH=N$1Z3#CmI_| zm|b`A^eMLj6EF6U7*p8$;G3@S{k~TF9YF4@fLyBg-*z#(NVoVwx1t^8g{nF+)@ba5 zCGJkGd@p@W8tn$OXARvJ#_lsh^+#XCh^$B)1G$a>zqPs$R}!yaBj5*Ku^Cd=p8oZm zvPDYb$xk&%L91*Db|YClbJA0uKD2PH*{DShdLi-?+Zrk;ia(}q7T1cDc#4a2GA8u* zdAK>$KDyVlfNp!V(Dnj#qd9c#(?ClAS4M;VhA(GPWe5I9E3)Hw1V9D}i+8d!9HBT| zS4&b~;CS~`t^K#|kzMn%^Ob4mNfXKLkTPyxN`&V|0$b0ogtE-qp~a9ErHuRpEVP*bkB(>%6Nv&BSk` z4y4my_)?GX-X;%C^Fe`R8QBkNV{0)| zGWO#wAX75s-D+0CLEDYXingNZiyI1*xafj1xqB?x?(Ha!YEq>rvvz&QUL52AdqahF2z8?cFPve#9RvV4cQftu9F9zOX z;PCMkOidfQ0qzEK-LdaH-Tv^!$G?=nblZPgJ}Lj?7vxBVN?Xwz_|+A|z1@!W9q+H@ z)1ZW0pQ~unyJ&fV9{fPD_Ri8RfZuj{m-U9$&BSi}y;JRv0#Rd){4XC?QL8K0GL4|4 z%g{5>tRlGWHiG-o`Zm`4eW^OtDB9JU=L9MAmGoBMI*&X0s3QL87Q?AZK>;^KLe>Jb zsR4a++~>RlOO}=5pHE(WoM`X@8lc{+oq$FPDUMUf^}4d9Dk)NuLa*GkGL5qnF z^yg)gc`e7ikrnEx^Z<;!GM@lK{DAzN+QVS|W}>*4F^g~hB>nl0ftLWzEOmLfaJr>! zt_id^5<|W}1PslWS({kV;`L!`0oTd3@vx)sRAuONqdBzn;|~I*-c*kBW9se~KKp|V zwxll#_zia;s!!5I*#`L#8huevM5!645ZD0A9}+K>M&mzn++qWF42+8l1iv#V9l-Py zK<3FHxT&Ob#BmxZ=xU`9ZoHz-Ikflk6X01*wskWrlfVGI&&%unre>QHO(M+88?4}M zEA$lutG>(qKvY=qp1u1)Flk+#O#e6}kj7W&;LDBTOOI`=x#I*R&`9r+HUd6C1lkuu z_`Fnvwq>-;lHSdR54F5-e!o&zu(LFYZQx$-L<<~&jzl0#fQeW<>pVX#s|ZPudRP51 z9!7%p%B~MuBeTG(@5gu+;HHDf^;OQa;@GkykpFo?zI7zVcGHPsP6P9vaQj4yhGfB4 zw|`>ks4`O^p8P26n=o$p=vxtdNSXh2+H2$)TiF~qf?;cY);^AVx8ch7L3{XtuRJsa z)TZJwD!1oH7td%zRJWA*rk!JX4!_CGwbJ-p8)k*K!PBsTD(bk9n6oT6d{jXy(6BRq z9m)N8KM@<5MCfFg3^ab0?g?XgPJ|>yuUa%D<-_PJJP$Y{>+7Txb9Ea;P~033^IK=W zSsX*I_|Ilh-{475s;-v0q1>bHbF?>iSFrRI&tW5o+VK$8J87gx3GahVK<856nDoKWG(b0gZ>of|BI>L-w?(4T)t9!niT&ePd0my`erPPL%7_6+3 zy3cD$g$Asf_Fb$i!G&bq_S=Qp1j$Gn&0rqBLCps=Q1jN*Q?{krmbgu6VF*eCw;88 z{~Ew}X<~~PJOGcRl8>Rig?{l1ZHrfapS*s&CGU&%=meycvxrGz4>zJrT?{VG><2tbS2jPWox*ubC$Sjd<^St6D(Vtaq(SG?M zfCqIx`CGNAuhQeUi7<-j>l~VkspcoTB?yGlwW#AGX`#o1uozw2$Wnt=;7CTY#=FmI z@f~`|FVyF?Fh zEkBM;%-*e=A}1fN_a-d`u!|p;z0;b>QjilwOdk4AUZ zDqthZ_kRi^9`f4g(%b?_bBqU!i*U3Yu5IS#f7o6PlN@p*obM{?R z#2ZS%`B&4=9Te4RsVwTXPgx4<^-uFPf>flm(3yXk-?uFMzxV-C&kfNL8KMewuJK$5 z!yskLuGB;;Wex>kns3Ra4B_T}Awja?eFP*R&!4svv-IlxXd&kXGKZq_a)(scJ=s@1+D@aLrJ8+4$h%%zOqvW{jGh)O^m zu$9Z;Zb36SeP3sPqUU}kDFFPH&k;-=S|TYNrdGatA*?;rJEem~59P#rxk2ke+HwTHISTJmXO zZEWSUcM-4pxtUqG4L9AnqMm2*u-I~a&&Rkwyy9F}r-+MtO)TrXZVK9(LQ+^Cvf54; zG0ro~ssT|Y_&QX3JXS!UN~6y= z03(ygo37GyqUQ)+uYNT~q3n!QGAriIjzxa(oppPb3&YGc85WdretLv0evZf)5}f2G z-+!(VSkJ;7a9G=PGN??+or2;nf&BT6YD^lUPBFDh`lAzQ)`900-WDwjsi#mklDoaJ z1=nw}_nxt=C)^a6QIB}V&IL561WC-C$B1KH<+Y0EA!j(eiM#z@J~@A^;i@#%%2ISA z^1n?AhY0-ofb@QsRmaa~g~v9f_UL&>Njset{z^66VwHTY54GH+;p4K2fozK}XHI##*p-GrvG9N>5~f3FO>3-)W>!q!peSdT-B`THhaDe$3=)( zZ)$?Rn)NdMz_o+00de zX5FlXm75uM2MU|(XFzST^~csTVL@GlJ8<=W#t{_VS&)_tFIe$|r_Nus&3SsC?$z4Y zJWwV|DN@t*US|Uwrf0EmiqYcUeN%vFKrqMlh+Py5v-p`RW?9yEA03Zi`j6zViz3(s zL!wc)(aVDCo6#%YhxP@pEt`QJYhlB9#^YiV(o8#;3Ol}UwQ$jQu7PL*C2=e(Gt9=l zYJxg}mLk*0lXPo@mKvfAFmBC>yDD3D7U;d$c_e88v-9oMtuKe#Pb(ZQHE#}heIj#0 z_1tj4wf0=t*v#5zK7~>&)70yEc=Or&^r;v-ETz|8;IMp%dfSTDHcYPj;m0w9ci;e* zMhk4y+|WMlkmK$S0>o9944<{GWybM3D|1k<_>DQufOaz2Fg9u`D%%Lm@Oi_*vu3gW z$Vas`O`s<}IB7|_DyzV&hrKVU{!IGK#nVG&S9TJt8c^fP1Bw!ifDIgOra$eas=pLGap!QUQ9U@12f!`h2_ zstqOM4>yrx;&GCKD4woC7ex<{Pz!DSO~-EomhOB(+f#dEYjubf>;0e( z`EFYml(CkQnv$F*+OJY+yB&yBjimZ8%$c@LZDfuEEoQ{OlT|HxZ~6_yi7%TRON5`& zR1Ecme;Bhjjn>X|N{c%L4}7j>D<|JiB=Sl+-qd;reh9N7gw6tRQH4x1OIk}sD=38W z^S(1x=&9paP9%S4^0j_=jzNppfk(`d3sA931Il47JTiRrtZT)%`vdhL%f; zoWGh&X7UB+2_37{zu}qSUF@^mJh&;LD2((=(hK^S+v3L z`bRzMa9(buNQKc_GoL5M`@jkg(xQA7*GluzeCH>WVanhF7TCQN>A3eEk)H{w>neC) zXWy@#YqM2mK58m7t1LvDmD2@Q7%8c)9^ukn}(Il5J49R zlSKb8AiY$i=uu<#%1ZLyK)8_ECeDXeAqP^;>`G`yH0ER=R}JwB^KxlLlk zZmOG_GC$AEYxNlB2V>X__-KFTTa@n)GnN~OB=Jactx zA^ozM3N{gK%carqhk6n3b;PG8;ex$_&WhCl(PMl|cUw`CVVzY7iVox?_I_DRQ;}b@ zP6|K?h5Y?1hjVnN)QagalJRNm6+|18`sAYKPe9dFflD6nYb=N_WRY zgJ3+r3H!VVJ5TB^?*W41s+88~rBe#2NubMRk-u&MP|~+jM(NT7?SwnbxE&D}B9V#S zUs@)Ivk^i1k_YVNFpI?#rmQFr2k6;pGs|pu;`mm<8V5Dqnz!N_G-1iQF%xMEDux#4 z(w`D+T!z?9j|F}(aHMj5o0(jFA5eL!B?2S6u#0YlB5fS6;a3Xmbj8X1B3SU~JMC_)ggzi(XLQCz~RZJz8kkjM8u zIryVFt{Q%ZSUP*hQserLn{wmUn;ZNAHf6DlugltQ%_92_P6Wi)<$;yQPmD}lzCPZ- z-X+i+!J0{C1zt*Ry`jfuDQ`o^!&eK2zWL%;eIQ14b7+P>YFV^G=APV;G_%1XEn>;d ztf)4xEdI%z+>kIG!>`oi>>)uxJ$aPXBRA5&^k2&ve|eaGVoO{7^)h z65OHAo-FNn_f~}*UIq7XLjh7~Lfs0V%sqzl3s^GpD{FJB5BW2aQImTk_PrLpyTsuF zeJEA$`>QDl6sUcr_hR)d;pa2xAeRG%gnf;DS2=^#PiNNhbQ={tox>gjU`Ksw>c za#jA+_8pjDl-2r~tyRGPeGo9WLF%9HdZJ@Au$NTKcHmh)N>xoIjO{>%c8uC^y&@YN z)Y~E=CyIY5!;_BW+#g$}hmJG*$_4e6M*sQ#slbVLMMTCe(ydqo%MXyJPXKvJYa1(# z93e!uM=(N7=WV2BkC*T;CazkF9?i|1E$BikBkAUu`|%74SoEPkof)^9W%=SXuOG>seLR zRj_;as#+f+3FthY-RJ;0_Wi(=YATI$mJ@BQPHAN3nZ)R$`GWUm`uVxOEOI`|MEDCZ zvKC{+RPmt(BFD6xZ)08i-bO2*uy_?8| zsF5RXYG7!34V+N@ReB$f6$v(@G3MXT9-UFGp9t7QKC}cEq`pRIcr0%5FFx-9aoAd6 zvCAVbf;y1#hW#io>%XE$2j&Z1Ac{x8*-rxMOa2Fr3b2^SbbLjvbyN)Q6d0kmaV#Ur zLpUXFOK$VlNb`XxMC24R*9NDh8=R390*4%bRJo?z65@PqG-Dk`67=|R;zmY{H?|)5;>Cx-kV(tGSyKMiaD&1 zv7-8%6H_;rzq68tU5T_@!&P3rqn7Cti>fT0H9NL3>x=b#cAH%1T`0x+dM@R(*}ZdHO~ku8Xz4?jN3G9Y~pOP`3i@$5!fkH>Xm*d1K;6^1`{$iMCK* z>$sx>FSE>AD#izQg%-Y8)EQnC6AKaV9?dId@2`#sN5haWDk~i$nS+|Zxt=;$fE=c& z)`=F)Uo8`N+DQt7T*~VIR{2^tjHA z@57u;$n_oc>b&0&Zk5~DyQKWe;mnaEUT0s17Vm_RyXCKL1+T2tg>{A5 zT$^}*d$u~DQ+NTMBjZ9K6{XvH+=l<3>b^W4>b38`?L-UesAOwePMi~^#g=8Ja;m#U zPANO1-BdJF}t(&O3X8vs!u0y$EPe`vt|F}u zbYK5hOk||Oqj;WkL*Tu^M-8H0!V~&Tsu46;c|<$k#?3 zSa}kaZ;{=Wak8R^b2bC^DrRQyh6GO~%EeuT(l_bFXHlVTZCZl6eu7E|?l9V1{L4ju z5eH_QO0uv%I};Gq_5cZ)d0VIu$qbC`S;st7ZB}JfNVtbJrfse0>gRzHILem7+lAt{ zU^1422D`%Eu|A7LPjQEnVD}lpgs$LV=0xv9_v9ou6GtX|lEF+<(0LrSqtyL?Nu`ha zLNDd4b>dq#0+XAyXV5ziR%;QhcLI+ForHd^-*x%q&Di1_{kce-(IGDy&hQ-DqwD)=RkHu0ga>s^MshWn+IGQNaO=3FY20YdGxMi% z56@N)TwCz7@Ny~B$oGV}x{zvCLSo#uVg>G8`DU2m#60F%`fdbTT$Ho|RSIjQ89Na@ zK&*nlm=}_@5}O`W+TxAVpcdQvr`)WJ!S%LQye7u%-Ed^hSnmZo{7EEr4f8NWKk&fiVG}oVCFq@dyVpDIAgJsZ zxkIn^kUb8rjam`H{0mvJ?-NT-M6e%U7}Zr@fdDrG3To?W3jIv=ICoM)ivPx(_7L`# zLVa|xeX+T3$L*gQd%xF!Mg&5SU-hHHYzmDM6cRaEwj&{W$eu#;4oBbCJSeTTN1eb! zx$dQ*)SuX$gX^kp$9TK7kMCOJge|UFj*{Gjh4X7$c#5##3ntoY^CQ9}Ra@&NgiY>3 z(9&a7YcUd8ufJhwPMi=sMfrf@blx0PnmPhtU>c4z7JJyn-9)IQBsPKzL`Trn~1pU+R7oUvISgug1Z5AU(a_1Dm%jc*zA1SxysA`j0p zHS7V5Y;suk>C2L!_s+I|j+3%I$W3X%qn_f(-hHOg+4h%Uc>ZpOa|7?yxCD zr!>>7@7>YO;UrC=-}*79hIZq9i{B&$b)|(}$Ut=!ia2fH7E~jx!n}-g4?-=5Phb0m zvoKrKU{&EbdA4BMRY&BSDOzD$eJRb=u>$jEYPcDxQ6xNHnqUmBvOUW?CHF$H?s+Au zsF&k%wpDj=+HaV_66MPRQc}q4SnSgmB_I80mmHdCIn2pwg$?}*G`Vvd8X_A)T3`ED zWNL>Vh1>rF+wK&8s&u!qce>O$;*FcWW19^+{re4nGe2UkxTw|3w>(WBd7!0k_%_*~ksH8K9TLa!ui$?>!J;FBazgEu9quKXdok?}c4 zavvzAf)w7*vF$g6O26{Y_uV<7t{F$9sngB-m!8|u#u>7#roG-%s4Pbd>-U%Rw|X~) z>CN0X9DnB9D)U;u|G?NzkeXI5Oki54374&p^e5O5oB8;&gj{7IqL|8|w5|5dlRwiZVSbM(T=6zILJsq@x0CHKJ=}fhBYHLPb*9EK42iW4X)Tt8) zEFRPuS_W~Q8jOzg0+M}2&z55>1|G4;wJf@Y-%N7!D4HeM%&osf9};FR-XEh|NW!q% z8mhj9(v{2879-F3!^m|?i>Sem2Mg>YHih!A@dV>_q?#-**VWt390(5OuA}_GmezAVtFuOS@aW<3KaYZf(b_AXn=BoU-eBBWJ7i>}7{%H9LR(nXHYUIqNr7 zGR{9boo5FQ>3W=t{Oz;HH%;cLSu^b4_FPEv!0fh@*P_J^k~3k8yPk+NJF-ugL(N+H zcRQgu6rbu{Y7q)%xq|@>HjURR&#LOH>9lZ;X1h_**%eqi%+KU@bz7c=8=^Rb+}~?1 z%qG&a0?dgrc0Sxe_Ja%^0xbckH#PG1i?P0Hdm-iW(ru8V;mwhi_@QBlPa0Q^)Zw5N zb$+YA!`eFdUSz%BUZd{i{AAIif<{Jj$%V=W@r_R42|W%bTDRQVK5UuYHNt2#YMmvF z9w3Zc8F8_rY=c%?US;ayno|EZ9R56qX02w|n?l%0%kqj0>3U2n(!4(sNcxmX^kOjAzXHG@0DvNsz2X+QuqDp` zhh{iWU*o+Z&kPDC?G>4U&!%u;XG7<XE2{5!r64@Suq%k)TDc1Dm`9buVVhF)JUE ztX+c9qW1@kl<}Gf~nSI*x*qr^KGj0Sex-^r~3*Hu8os+}MW zckJR)X7urnZq+4m>=l|3TnA?`7@U{v4|gdjN5{wyCKSSox)2CV=v~JlAVwDCy{Pg z1-_2BsDpIRfGae5z%?q^7RBP9ap1RA$XUOw^ZAKeeKaSAS)7M+q-8}h zPAWAxt0EeUToACu_f#*>u8yS&EBT{J1zM$>(#cVTmFtK(c%#O#9dR=`M;6&@;*L8 zquH-`ufi27`i+f}5{e(ctFuL^wnWD7uX=MHbCBj|qTRA1mA-Gh_sNh$`}0p<9+zxB~YBHLUBOfraGlj!?KggFMfP?8<3#Pp!y67U;}{i5j8kznT$E=@zvvp5!^u*B+#?n-Z+Ay0|El}w&7wuN+P|#UZu;T>NTfD5Kz%-E5_)$N{x1cXEe&UKU^n3&yeVG3s-{Q~# z{!H%kAh>m6J6@q$-?-r>zqzD*dpxvhn5Mm6H1U*Oox7$Zfo|qmdJ0^)6Z}vFWz~yP z4P}z2Jc1lePdrBs!>%TC0eWdsCQuenOcW=jM82jW)gkgO^QOYxH2+N02XCjgAXSpF zQf34E9(-rgQ#=CSqFyi{QV|%G$~zcNJD*xfNJ%uNo~H1p>3Is&p9?kAl@<5Yaf%Id1_a(2n+}ElmUW!gW2w>DxdDfE!d%7hRr~! z!p)wKO|m=*T{`Ccvq2__jHhWCtZMYZehre>9#|R4wj9T(+gH)`uq`D>*^I3onZ}K2 z+fQn-axhMqv4t_-tCKvSiJA0srCqrSR16-WFTsXsPc`sgn_Ej{u&S3iinj(_+I77d z^ESB+Sd=2Btv9zLw^=`GM{NxN_EOIsTH!HW6GBgndl>|;YglPF`2gA&U&C zemk)v*00Qi*f13FS6vVzU`~?V2a`y5fo_kEM2*W_%Z1&%m`TFfIYJUrG|G3-6y&gX zUrq;Q$mzUJ3Zy|_OA_yTZI3m8&cCU1r;%nV{5nFK_T;D~*wx+Ib$y@#K37wOEWT#G8(fLQh}& znbW`z3PSA#9YE0LNbJn%;LiQ9N7#ZF0XLw>*V6QPoACOME@c|ka4T#6rUFr=$NSjf zrz!e9y!PDk$Ho2SL>Epkf+kngeuz5#gUikFB7(f{ zzx6TZDL=>C?yoYM*>A%eU_BR1_W3**K0-sPA~OU7`ABu~-MR^qc*$}2#z0AdBKaC> zjrgf;5N6_4FYi(YGx?6i>ZMkRdqh>Mrd$!7ACa0mAE^A?3Sc8Wds>MS4l@e8|v0O8xr8Fnm7TEOFWn!5@(9OB+9 z<#?3&_}6(01>h2m@!s)gl}yfq7Tu!$hb_A-TLfj)LZE<-G>2kZ`H2dJ2wH)WcQBA3 zJ4ip~iFfB{0rw35BH2SZ&jWQ&RCb=<({cco(4$kpHS^~e8t<@VCG*;g8vBF}G(+=_R3-P<8N(>7@WC(%OSwEewGxJ`9_yX*^)aw&7d>#ibmGj+pB<0^U25f$ zM`~6i^+vKExvfL*4oh&HlcDCc!?#uG?rYDs$&mZKCWKJ}K7cy28>MRAuM}OmsQHpHaB5gs1qV6EU<=iQNYr4_S$E9bfouh<&FZXmTbR(FchH83waM^wp9e)QwWPicQv!TI!e9yyX-5r)Kuak87*^p_%FUAD3vSV!q!UQ)12e;M;tYm*({X& zu*ZIRX0Rm8(_bI4j z1mhA6$V4@nN7pWD+%wMb10PT1kDxF=IX|{ulJ&-7(?+B57mDmS3#jrPOT)mc0Jtp| zK;x8Qe*XMH?~d}_+B4I2F!{pMsRpB>r3=D1FY~#A%CLB+)wu^SkDqV3pVGV+;D~GM zG{pXx`%Y(()hFU<_a%jKM(GO{gbjfFw2^JqQKGEP1M;Z{tKXa$zPD(>f`mk2S|Hfa zKmMMHl29(>VAXPA{PLKvfK&7}U`^%TtYoZW?mMl&AH6*psy(+jDV{w}#l+w%E;lhv)IsY370A+1$%g)`%rIkWJTJ8I6ZIfagpFy+CtUe8c`ve zFafnQSM35q{DV##Mv8hNq6hcqaDMF^0f>3*I>}aB(YM3Sw0ME5G)r$#=oFaZfmSye zvw+MWE7u)Z&pVaP{3P5%q3cvkB1OkLD_8z}xEdF%p+2Z#)~%Gdda!vLeD*;fCYU_STN=xca zFIkf1=|2x`>uCz`*}Fo2$eOI*wzyT*r(~1(wHq`Je&N+t9-9J#sg#UmDo%819MOUkj<_8*Q_@;U$h3B;Qjxizrn2-##)tD0l<@}A zxJh4b;cg;8AWRmTTQjKEwJ~_e4|N=ou1rBDR%%7Uw6+yCLy2cV zt?-r!(AGNk^b1YspFJUr?6kb0keQ)$Hi1}ag!yn;=8#!HF%a~fqvE~vdwWz$D`)y) zqW;Z)I38SPbEe|mLN7DJy~__YID?Xdyd3%dHcvRo9Hcg|2VQwBWZdt|C55zoa<^#? z@Wj=|mly}?hSv_M@^wqg0(2`+lL!{+GuHE9yRDY(-91PwumZLN>RE30{Ayp6H<@xf z1vN@=wW9T{7U+pMK~_OiJ-8hIQP3Bq(*zGX%T>Ht#;P=i^LDifHC%YpGqki|*e!R1 z(WRfoX|S2JdV%DkWZ$0)d#gRC+5A<`A|6g0EV-VK#dmbgv{TSlLl;X30gh`)`^ynm zTybO-i2wt}cs~6qf_9EoGfC75#s+bXJL!SbYh0OlANpNscr8k1;;@X^I9F$v&k-C% ztT&y_qt{i#a&>%c#kp$qw3ET315;TNavVr1u{5>TU_4uE_* z00guF=)f$va|Y*hLd9U0maGkCyO?1Nf6aCqeNBOG>SXe63bJv~TRr^O&Tk%22FVHc z&K+zGlJQ!d+wB*?ly9ZbBU4L_#m^8}a8a$=*oM-?T7O)_*)e5RPQs~vMk_$5_aFQ4 zOyC0H+qic3%D3fcA$eBQyED$GdsaMGx)6_AfhY}e*dHVs-Ztt0T8RIVcIH(f9}On> zOZSv9qTz&{2UQbw?>Sxz|M0HWK8x9qqt3hFv zvzr7!CUk0rB9<5}dZB0$U7J<>JZ<&!-PPdUEuik%LVfv3T8--usY@Qj<@@=4uuvZ>EWuutEo%aG~B>;A@7=Di~NL}F`u5h9O@^$TgbQ-<}X~g%sSkENmegKTwOet z$mTbvL*oJXrT|yRB9>3opKRc?>7W6m1w}MMscn!K$_8dYg_Bes1ROW(st>%JsfLKo z>(t%7vSL6UKq38=i)@VNT+np z@C16{T%zI7#IxHvgWS}MA9IC2J6ABhe6>e|P(0Nhn?iyP-?IAdM;xZ{gHY>4y$(dX zuO^i83cC^kpK2Gpi3&gH6f!cF)1FA)4Lc`>k6bO$Th!WB;9jDV1svGRgG!ZS*T&1i zmGEl{89J5Izl&Ok=%V%ODzn9v{O737uG2xfRhlr~D?i);@pHCC16OkG=ZUMq+6{86 zHmqJ{J-s>iJbm~fTmV#-12neC;p>S6Uhm*`H_F;X1)Jb{F1A}w5RqFAHOaqx-0fP` zUKm|Jh6=tjz~(yWC)HU`T#VSGj5^YSc}Wb_py0{?80v@x?zd3V@K50AvC(jlvr^8D zFt(Q5h}x@CIhL8V6AF+Fqxn>rklK_Qs4|>aw?V7&55kE35E~~((jlpq6u2CAsjP5y zZsr-FsedOh>vEx~@Q{&D!Uk+3894=^6My-!K9U{PqZ&bxwSk5HjPV;I(^EwrA}a1s z4*z&zwCzI1n0$*8F0|ALi*riEoNE@X)kN(PzwM`dB>!xM`HdW8LLRhiajQ#Ml2zt* z_m+SBLWabajGLS=g}L_O@YWU@uL;oZb2GE_^AX7u!wTZo=o!y zeklPR9yRJ&^wiK%_m{};krlWuPEcoI(VmGipw;w|wlyqqi<{3&T*!Eh;3*ybC!HeP zC_eqxXT3@H)If?({5H`&^2%R&Lj6SNMGokG4>`C|3wUtF7d>7bey}^pZXl}QcO49` zNdO-ow!C>*R`=QyAS6ZZFH1AS^pN{cPgBJ^Q6-kTlW7^xBU{M4Wb!W^u*o-OX%D)Z zADBhnbjyjj&k^xiU{5(d<>R%#tJVZ&M*OC?BnvZn7z1!GI~$EyDOuk$o5I$}1O?zz zPY5hwK^hb|ax?7Gl;%Vl)?|}-;sI`D;@BsD9wd_fAXbDF*F=(WELiVL!6yrNJWQ=J z%2VxBj-_PO>XThJEBNQ@*+r=}e*LmW(Hn&n6*t^jN_)6ilUC@%MWjqn9 zC#6Ri(+eIw5smJdFve};8-A+Rti0Q!yg_*^+~N#aqZ?D#!ao9m&CHs(zj(kS|%zV8sMUdPmWIB1rt%(qG6&a6Wr!S zwzrgjmwCz1@+)Ef9|l-WWaQYNf~Vt&0$3vK!q`p08%6RTFCJ;vTGs8 zv1e~@iL8P~JxfCM1l%c_FGSAKQR30`otM3X`+CxWY&R@FDXi#~meVdy)Fb`&!my&d zVgBj?{qk0N6;Oa~qeLT#Mp`5~*K(|CdBZ#uw#1cG3myqs+`8RrNtS{`9B}c{Kl&bv zCi07V_!i-$wvP%cH57A4H+*(uw>n=Nn15x!&cd~wC2NzsW}(-~;z686G*N4V>P~=# zH@Z4^3b@!3TWS;gb(IMf1BM`E*zC+aEZIYXybU~v6hyi(be9f4T5SJRX~GQ`qJa@T z#&cJM4Dkea@3L**=3AW$!8ip4xQR_#g2`q*eFLy~82^A}S-x*Cr+~LYv6|7Z4|>zS z9{S8B(vvK+frp6h3Nntq=bRD=_E-#9nDP%i?h1KyrFfvaI`;$x${&foAEeh{mx33q zQWlw|gWSuZqR#IeOaqpG`T?BZI&J$3A2Cj#N>5Z@!bt(mVbB%LCc#s4-Ut zPx4dH+VAS{==2%OSXE`N=C1NPZBJnRL#J4bh7F|Psdl%e>P zlWwm?TO_kDH(*BBxbJ>862<~eLPjz89uL@>Zfteg@7>kGYXZj)QBNWpC$_cqgZ z$juc>*zy@-9fTRKhtW15`qc$RTL}Np_m>yTOb~KPJ<-+_LVxFsFf6hxC;Z!mE z7*Up})1ctsP?-bn$mlfb#Hy8ex9aBEGW)o_{+_mH64kFqzymgtr>k7k{4596N!7(V zjl?He+e(1IriQ4*7CZ7dhMr3EJo13!f+RCs=DrD9qzO$`rSBh z7X+#g+tsdt?%649_V~S^1HkeRu3mwF-ounUYz(<~8-jWLfpa6A109?eJlZLG;lfr( zB&JWfbbw4@Mz0+604&xt&nRm*vIE(%!#Gc5Ni&f1wF{sHu%qp>KW7$bZ2Q9?23osN zYtnj~u4n(Fe(a3{FE?IAK$@_7MUTK8Nl#|EP6yVkB!qT~=Im`%HjSd@Z@#f};)M(B z9whYlAjf2AVNAlALRIg&`soW!@g(+CUPcd1=pfG2=Wj{wo@})5YEo8#A|*2XeY;3u07&%TV7oP!gHbZ z>Z!(y#qMWh^#c?3x|Dv*4;Z0fQVff8|F0)9%C$ek;v=Z^lKC0kUyQsF?bB zR=KZU#*3M|HRmqMBE9$Aw z4cNo=gd~ai*<$Nmm%H?hI>Y# zJage00vgKLMsLH5X_>*WGvsVos>b8W3hSpr8UT^u3lrutL{G!xyJu5L2hw7?4RKEqTdx(s)zo*OS_ZVUb5pX zG%etaxls88W+bmJIsuM5r|YxR(dJxmx`)5AIXfrj*l2oCN3LlS>Dce+#nsH6Np0id zr1;(&9)HpB8Rk@E`s60N;$eOBMojQ$4v_*UuZNxf?FZW5=JHq_Pp(F9x=Ofa-*Stn z<|JAcSk(BU{NX;G4T0~*H@SN!1^Q1H1}EGEh_s}XsW_BsM9iijHF<3M3O4lI&T1dB%9CQ^Od>antE3>kXWWgG>nwH6lF7w7uAqpN|{Y=bg{S za1bSXh#m-hqd`mL@FhPoZSw5ux%H)neIa@Kxoh@sOE#}j?b>_Cdrw`tMmJEuy^gZm zqITwQ7_K2UR4TMAZc@am7n<(U!@VyQ=}sa%%RHz$yK`E1Jazn?I%to9IBAl4UkFYi z&NT+6`epERbUusLRJmQ%QSuzO-g)Pi%QmELN-KLi^`4F!@%VLe&N6ijm3q7!B%TAM$q^2#+VZu zCEkOz4`P}|bG(H;CjL`hmkBPb~C$uWnl zvrIh<^vV-hfNRt5*GlrA2hyx=!r~ypSN?abcXuu)x)o&<5mrLn9ZsB)RW?gbS%s)K zaZ!AL$o3tdNTc7BPmdBcmy6H`EHT5h&FipUA&!+6jiL8B=uC5iJjcvTnsE#66N;)I zy_I$x=X(({OqDAfs$Mjg1~ma%zY0<|mjo@$xTyp8EK!Va$QK?A*vNw8QOJ@G_xDOeNVJ~ zS8@Htpsx#xwWDoWbj1}s@iY9G`%#ixiVb)BiIz>t;63J=-0iuTQK#lz`h_*^t!s04 z?CG&VK?zAZryn={0@CWiwo}RAMU~#s<}ukY!(ZjjKsSHr@FF&{D*2=1CBZAJTf%wD zZ*%v^2PoysCt|=e5g$w!wQm1Hc3nqVtp;BXmZcjL0ZtZRLt^Y=VMEg{ORHrXj-N2z z+v8$!Tn@L=9BUe|v&SWtV&Qp*a$dQbR0qL$Bc_{>^}KaL?GD|p7L`V_4G!F-K)wU_ zjU#C3-g_J(pOwenXyw1y57%PUXdInqYLR5YCl~bYTHtqGWt+){4}fVeeJgo`HH%s; zbsAY2*9d04vF}1Bj#*?Yz;UYzm)jV?=Q;4!n=^KPJzl>0S=2)vuUs)YinO?8;#N$ZOyA2Nd}0ozmN4 z%>VkF)^GR11U?AkghK?N*(Ac)#w?y<7o!E9RCLd_Fs3TYsIpGW1?H{0>?V7b^;8#D zq-KqQ44#DAIh!EYym2y83#>zMPbbF70#TxEninW{(&;;frN$Q@l`9sMZ@HwYon@hV ztg(1VXf&w!oH8v>EhVv!#2iE5I&?MFaS+QTFa2a2G>*-YX&pdQ?9&lF1TPH&c%&kg z(Q|Uu)%;WK`d9NFpn@*#OLog&he_>Ol^eU50B$9HvOF8fmdgt=fmS;1= z{Ec7CS`h|FYQ0}n@0>e?dQ{S|XUWZh++PrGO$KOkC2yr!uM1o8Fe~u&9^6pF-zdIo zvQiC~+i4-%f1Nk}bbprP&(3lf5#;Jdz0Mky1FfgaRy~Q>s4t6nj9U`8$Tz_d!owFUaeE#;$VKW!DA#{9f|KRDQje$!q3Fk7AZ$Ubx9rHgBF$LP#{*k#DlD}IJ{P`K`1rp>mImDRxY?LUPGJe_#bSCvd8 zZ`khD+_r2yBm%LX5_qZD=YqrU{GZw${P;Qnu_P;b+uQ+R52ytHeeD(MSZB+G-vXeM zk{2o3b5>f@SC49U1qXQE0-3Lr+`|-)i1=b(gKj!*G&g=S? zj-yK+9ou%r9V_!*<+HzV05nEUWR3-e1=#?MY}4Z@Q=h{0Z@wvxHo#nR2r zj{}#?zUXx6VAW9&=}Ib+pKi{&5a9n8yaCQ|#TIADQ^NPPY^OSU*3Q=Hz>f<`|N2}` zxj9?Y3JPZ{CICrXGmS0`wx?W zI^p5jn&>`I%$$t&wn=^JqeaAHWg- zwa&SvfZJ!0pgi<-rLiW5zWI82Jb3WkH{=_?zTnH|!DyO*vVae>qrI9cXQ$28P{Ggptn({aq7tb+0O$lwsmWhW zsd4yHpG%W6w41Z*oBd2FO7p4R9&I7LdtuWqseu3{rh@c5`3C5}Nq=229{$bO#n6pk z*|zm_W%WD6L%v!oC2x4tw}SxgfPiO~Tz|B)kdi3-v&aHo_RnQr=DCv!pxM8YP1L{@ z8%ymLj5{x0CY!@RjPh9oj6vd8lE0Z7rM;V*I#+_05dYFv8oLal^i>1;l%*x}Bt%L% zq!bG@bbp#xjPb43Uu5~8>I>_Y^sXyde3aCZYy+B)NdI|+`Hgtw8$h(A2^}lAE+rk> zeC9V?n<@$aqI~f{98JTerPCNIwb#Fxro+EVtpkt-eO!wEQ&{Mjw4~)@CZEC9e5Dnz z17e7@Am?+@b3Fo|by1yjQfheHsqVOMq>&HRklGjRVxik?KZ1lWrG4^Wxe0D`FaTS= zipe)@`OB3BJt?*7gbK!7Ds5hBV*90L{XU1JSo^PSrj(q4mJeyW@G3vB^c!-QNlSMq zcH;Vi8PF*K_BX5L7i7K~oA%UVbzs?nVU%qD($9U3J?)W2MPLDK+e`H;*ZG4`}?jAJ_u1_&{~1ZhGXUh?LP@ptu=NcV5MEE8vI!m2c?J9hahqL_$EiwHt#F zOw!{wYc!-t@xP{5z%<6XNcriaSVI3}8_$IeBF-(T1tp-#X6&mZT& sd9eFFZ9#DQ%h&JzXGPi1TO^jb^31i!M!PmqvbiG%PyCv5!1>Dm0oaXs>i_@% diff --git a/windows/security/threat-protection/windows-defender-atp/images/power-bi-query-results.png b/windows/security/threat-protection/windows-defender-atp/images/power-bi-query-results.png new file mode 100644 index 0000000000000000000000000000000000000000..25392791c09314ab8e1e879385976ac309da213c GIT binary patch literal 55785 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

      cM!S7#9O+{zIt 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 {c{0}, c{2}})) + Schema = Table.FromRecords(Response[Schema]), + TypedSchema = Table.Join(Table.SelectColumns(Schema, {"Name", "Type"}), {"Type"}, TypeMap , {"Type"}), + Results = Response[Results], + Rows = Table.FromRecords(Results, Schema[Name]), + Table = Table.TransformColumnTypes(Rows, Table.ToList(TypedSchema, (c) => {c{0}, c{2}})) -in Table + in Table -``` + ``` - Click **Done** @@ -120,6 +120,9 @@ in Table ![Image of set data privacy](images/power-bi-set-data-privacy.png) +- View the results of your query + + ![Image of query results](images/power-bi-query-results.png) ## Related topic - [Windows Defender ATP APIs](exposed-apis-intro.md) From 9c8a74c69c0deb125383f49a74614ea655da6b33 Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Wed, 22 Aug 2018 10:55:10 +0300 Subject: [PATCH 52/71] step --- .../exposed-apis-create-app-nativeapp.md | 12 +++++++----- .../exposed-apis-create-app-webapp.md | 4 ++-- .../images/nativeapp-add-permission.png | Bin 0 -> 50358 bytes .../images/nativeapp-create.png | Bin 0 -> 10938 bytes 4 files changed, 9 insertions(+), 7 deletions(-) create mode 100644 windows/security/threat-protection/windows-defender-atp/images/nativeapp-add-permission.png create mode 100644 windows/security/threat-protection/windows-defender-atp/images/nativeapp-create.png diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md index 71b50119af..0208b3ef98 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md @@ -41,6 +41,8 @@ In general, you’ll need to take the following steps to use the APIs: This page explains how to create an app, get an access token to Windows Defender ATP and validate the token includes the required permission. +**Note**: When accessing WDATP API on behalf of a user, you will need the correct app permission and user permission. + ## Create an app 1. Log on to [Azure](https://portal.azure.com). @@ -51,16 +53,16 @@ This page explains how to create an app, get an access token to Windows Defender 3. In the Create window, enter the following information then click **Create**. - ![Image of Create application window](images/webapp-create.png) + ![Image of Create application window](images/nativeapp-create.png) - - **Name:** WdatpEcosystemPartner - - **Application type:** Web app / API - - **Redirect URI:** `https://WdatpEcosystemPartner.com` (The URL where user can sign in and use your app. You can change this URL later.) + - **Name:** + - **Application type:** Native + - **Redirect URI:** `https://127.0.0.1` 4. Click **Settings** > **Required permissions** > **Add**. - ![Image of new app in Azure](images/webapp-add-permission.png) + ![Image of new app in Azure](images/nativeapp-add-permission.png) 5. Click **Select an API** > **WindowsDefenderATP**, then click **Select**. diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md index fb5bfa9d7f..47d539a280 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md @@ -150,9 +150,9 @@ For more details on AAD token, refer to [AAD tutorial](https://docs.microsoft.co string appSecret = "22222222-2222-2222-2222-222222222222"; // Paste your own app secret here const string authority = "https://login.windows.net"; - const string wdatpResource = "https://api.securitycenter.windows.com/"; + const string wdatpResourceId = "https://api.securitycenter.windows.com/"; - AuthenticationContext auth = new AuthenticationContext($"{aadUri}/{tenantId}/"); + AuthenticationContext auth = new AuthenticationContext($"{authority}/{tenantId}/"); ClientCredential clientCredential = new ClientCredential(appId, appSecret); AuthenticationResult authenticationResult = auth.AcquireTokenAsync(wdatpResourceId, clientCredential).GetAwaiter().GetResult(); string token = authenticationResult.AccessToken; diff --git a/windows/security/threat-protection/windows-defender-atp/images/nativeapp-add-permission.png b/windows/security/threat-protection/windows-defender-atp/images/nativeapp-add-permission.png new file mode 100644 index 0000000000000000000000000000000000000000..32860c3359b2d6a7f2db37b29401e4d13509d578 GIT binary patch literal 50358 zcmb5VXH-*77X}&&pd!TrCc@0V&%0ab%HFto~9hbKBu0Dzh}#^cv?wEB4u^;g~i z0Q1k2b~W-b8Wr3$)y1MfVbl*Wq)8l~mH$j1juZk6S&ZtI>oPN?tAO1Q?N$o6k zM=krwV+4HCl9UA>qKfxl6yFLunyMW_kv5>K{W9R{Aqr&`?Rni2qK z{@ZZ(1C!`g4vum#ant=Wt#KyCNsjX(9!|{R&dAIpY_{UpD`BY1NIO9MT_Khmk63|1 zI**+qG_TQ%BqHA5 z`xF4+@hgy6$LsNh*3H_@1x<1BvwCZ%0l~$t7b#5iVKuboY^?{Xp|m^y#9uHKO*;jM zXJr;ks};Koq_que42PZkG^|l2cLq>+;kV}Lizkohd_4I#-}7zm5BxX-xGDcz0{{pe z>@m;1WPQ@n*{_ezgwEX+qCG0Z@y`>qR+^;NXRmo21Q6-Sha+l)RSuNz6#zi3%poUG zb$NL?Xm>z*{;H2Ve*L|oVwoECI82%z@aR!esau)FrugAU03b4|Q&Qz6uHJopvNBV( zALOI&amQr$%h0+vhk4!*WM9p6v3R-MlX8xfjghLH)Hwz4v8%HmsHJAyR0fM;t-e{m z1t({}5}D$C^KC`#Xk%4mm@b!85n`|w_b61iFR4S|PbQ1LuEPG5?Is)ZZ@#!mW-in<+6g`<(U7XOA%`)!f9VL&Hk#!05z;IALafou=UyjHs) zn7btu7?)l=Lw2{BqbDz2p{VpJmVmv@rswm}bC&sx^r)}lrOtz|UgNSEWuZTVeRH(F znd;Q#>c!?8lG@Ce5X}~B92dtw;S3@b1Kzxk4%#<((WTDhH%3!faitl|d8I$SW$Cll zM%OE|R>~39mxP0@wke74a)_9J?M)PHy_Y@G8uU8-@Doo(d(T+}5iYrPg~M^B%y>?W z?w6l1VKi5Q+TCYx#6nc9=BJM{P}FLM$%sk zy2$mVdZvcdU}LePV)A8DuD+MojZ$PJkBjSevnWANPp7UGEWmMvel=K6@;B#v9teh8 zdO>|upI4Ublg)Ec1=4m;6_|ZBM`5jV-MxgvCY6W!I+_R+^MpIEH-T zf?Ht~?(c+P_0}8IfNntsLQ;6&KDL{)4dW|T-oX$<&3&z3wWzt?C--% z49r}`H>B+B8gDAInu~Uv({J>1m!BxP+XR%+P{TWqfAQBH->NGq-}i;7J1C{k6wfRx zBo3Ve40p`z@-*7&-y!f+#fUt-JrML}-rMixoRA&{=KC^N0n*0Nx~Et!bugAa53MBR zh6%N*JLEbF<_~0-;K?}9k(uZ*#VFgY#Hv(f0Yil7WH)4-1$ev>@1W~6XQg8^jJ)-0 zSTc+;N78>iw+sfpEm*#ukh(Y6D%;RSs)Ty_$5_5H`vPomD>nzI<+(nIsA4l09h|I0 zux!Ryj=RkA4Bzo4wZKi0K-3zL=2C_=8j$j?48#tP0@dK zq0Rg}tWt|hGlN*#zKihI7kvx7&0t(M*j_g22+PV{{`z89?QAvCg~aRr(UoY%;_4bc znBE@*ny|~|{)%#+wdehUIlu3+s*f0liJVKpRKDey`)ZfKToNYGc3T3vYfnCk)|;_Y zLt}GCkhxNLy}~Dtib16!W(J_uWuT|R=UvzCF=e{aBv+ZQ9c6oZ6=iB9d`w~7jzX>- z%(8f>#oIX!TW9P@(U)D!jbqakZV241_U#fJ*!g0|B5W~JN|rUGTJL3LEW&LlV<;E{ zV0a=ucz&!{XRIjI(wV`#<7(Acv23|a%!*B^{Qc@ti#*@-KVc3oY_Q{&NXLQHQ!`T*VRDe zeM;BUzcc)l+dS<#)1`{2kaPtn82IB+Y|9JiRL&gdBtqoI1o2wyz@L^a7R*iJLZ z+u=U#-m_Gy4fIn!^LVqr>D2V58CL<#rzjM~$Qnk_fCb6%IX2_dGdo+AEndZ&LLPmJB|wgy{1 zmRmPtakTxdL+C(JBUS?u=cVaaTVM)-T|hD}Ft_7aNRv#m-37C1vlQxpHU^d3LOMtr znn3-(jWS3$q-E%rs1su%nm8?i&h{YxY@In!`b(@P3c^WiC13noSIp5t(+-OW^n4J@ zIGwn0DO(ilDS(AJc&^hgKyXM9vMH9Fp3s6`FFmN9cAt=cbNZZJ%UVR#QABUwBKMlr zqJ^;Qa7NJp3Q^+n`%syzfnwRuFdG_azJed8O^2!CvXUDJ75{9jVxiO~l^;26%FD@& z2GAepECM^3GLGLXI0s^0%&!Pj;f9omqm=nPuB!X6Q_L9sj6cHu;nGQjhAV%i=C=)* znx|Tu4z>W;&AE?+9^g zC)zOaD7^4j2+ZmZ*`~e$6ToZ_M7}OGUPIm*_kU{Ac_gNtF zjAzWlErN<|_trD$%5EsAbM&J(xC3hyod%8Di|Gjazm~X7gJx6K*ZbTj*O8h&>97Hi zrD?$zfB8zfbg?@K$%<|>2=@acUvlK+ z1Dnz7{m7TRM%&1??en>{-s2_a#?ygT`rDCYjdXY!iL&ep*-l{!0x2aN?YT}?^?=3> z?O@J2$EQ15MY0IjlY@}&)w(}B=dFF!# zn;YeVO1lcb%Bu8$n)`&%RR%3)GmW2v;~ZmeBS`(H@f~&3K9TJ*OEv?b<8Sm?A)kXJ z@uQ3Wy3a94Xys1}LI;{EkcR#&rgPARCM=vn?YHr-b7+r$g_3~eC85=IE9zEbtYQ~B zu4G`3R}SMQpZF6r_(hhqu7wJj-x>gx;!_yd=8RU`VS1~+6S~yG!KPs_I%9s_P2ZCZ zlV*&Z!Vl&#t_ThAx!^W{rS*SL;T}=0W{+#l=;PAEf0Q1Q`_uveT- zu?20K)kF&N4?q_Xw#z%kgu{@HAxe@-1!X_YKW1InzZN#<;%@U`Uzf~XBPMH6Q=1{| zUbb2-WE&?(jRn7MV+ZeLLN>gPR=zxh6`8ndeF8%bU5hf8W-piD+eMZqmfOU&Uv68> zHX(D{QTB!@Zl#`MWd$x#X0MiqfaTkhu5GL&ycd*A-BbD-U?W`pb6py@)nj#RxN+G# zCrCG1o)sOU3Qif92Y`^6LHg zZS!kUyO$mhRH0&v+=63bQ_xrbxU6OHF z71gt1ZY~$2U&Bk~w-oE9977Q1=Yk`mWJ)Fg|+IV*was$sHS z0C<~}w^S?n!brf~t~Rx_m-rzN?Z6(ylB0Uu-dC|W@)NIN!<}CXXWE2z?gr@wO_3(V zpAz5M2LPP9i>>t@VhoS$>iq9* z6B1B!C{A}-XZ3!TBdfK;PYD-l1*H`{5jm2#6GMt$zG?d>`QA%2_X~r)94^iVeb-jBMPlh z6%aGT1M#)5L1UgR-u7ST^Ui4pSBiWBAtIv@Ca=xjO8~13y^u~EgK#Z22Z2~pnk|{R z7N*eh6dDDq*^6E1cf9b9xenT}NsZDN^k@lrP6ldjII|GAiPbF=JX6X?6YERenH^ zer~KDNR*~}XJTeoE<^Cqb(c$5W2pu0He>hX%OfeSFNqTCQ6#tCWj2etr`+U-P2jA? zj=W7fF`W(_?%=)Pc0>dUgy_XS_O5MTL>plJH;Y?@H=$RK)>@Gv)4rowCXwkBJWSiD z#tb62_;gp_`C_eF(IZug8^K7v16hhT=o%t~aeO?JY&#fHS zzPMLS`BcM0(|=OEYN9*2QGp})#x_3PfCxj(LKV}duFL04T_?!bnfQRt1JtS-+al%9 zo}$N8B%tGa!|JgtT&~QWOy!gw5+AM<^l`6~K`;lBKz@NHv=YQp*`H7ut+>S>gq*6a zL=A0%2Lrn(IyUAk+`jc(p8||^poj1k^bWUSTFg^?*f)Gv%v{@#EQLRJq*wMtCIeT~ z5+rBF*Ez9Qd>8ydBd<_V(;-84GPp;Hq-|z-_TR$SZ|qj#p_4(rC$Sg8*Frcjz29$R1e!UZ0qdPVda`x`{G(901Is4Ft3 zushQ(^&VzeY^qwG2|5XZLDi7v`>*i!)_FnDquH6ImD7M01^pLxN3YLWv8Io672B@H zvYMx*3lu%M5bu+1?`zq!Htq>q@685cdb^MqMo3Uu^R|M{19G9ekJBA^3@g>t7D*&b zZ%L}R#TD7(hLWnb@*vs^{kLCt5IPvSj(;u&T5#luzt}yF;e&t=qGUSuZf{#doGpC- zZujR_f6%=8U(Dwgqxk$+t(?+MV*((@xuTW0;8%!%{m0~uKEWQm{uQD$3&w@~W7$rc zZhrWn6x`U0fXk|_vZ-l_5EP6An?@Q_gW}Tg5c>tuh|?` z;3~FoOGEhnXK4AW3jMzwjC#RADH3fc2PsdKv2QIA@|C>rksa_u$--kXyey6yzeEcQ z8gxEUIMg_bQP;q&Y>0=t8ZJIz;18nHRno+1s9xJvYfBgUx`p42=ek+Y`^|s{VAE%S z?+cZc_}45Nq4_=E9v+oluOW*{I1eZnw-C!Y#rw(MII_QJ_1|7`38^lzI)7x<^o)Z^ zkG!zqY2YuNGJq}1Ua@!{Y@c->T5mGMEvuRuybM0V^I9ye@K#6@elxD16-uSQoB0>x z9yt-)k#iRWV8OfxN!5o^^zG4As4lu`0YM-^9M(Q-6|XB& zv6&%^^Z=z)j=ehTu=Bkf&+IM1j8T;?pM|_{;n$!BWb$0Y+}%u$4YQ9YL3=};B9m|@#<*vS61|YrvZ;_>U-oj_|A)dC3;LhP!CcsPoZicB;$C^y%H{Ohu{1( zs(gg2<{iUpALnn}%I0=P_-}ZI5Z~%efV9f4K{a%G<4Qp071(l^mb@Tlp%S=0#Byw) zc)UP3+DVVH&wlS12*jKoZM{UTbLv~O@Cf<4=ocLwJ+uo1@CH5CD?E0_8P3{r ztw>wliLdu)V~`D6KO_m3#s%&a>@XZb+VpY3Sq1tExHudXc;wha>RlDge8QWG$WW^v zyz%DQ7f$4nZ3$sl5g)c;S@jq>8Kg$MM-CX!n%N=Ip&lRQ6la0U%xK6(GF=Cq_lq|o zv0;q2^b_nv;%8bDmwhX(5e>?!077lU6e$~wl<>=fSxXG7{!mk^%q zOAbEVmptrK?6qte=jhD<*Ai4PB}8Wjg)%oQ<-O|n@a#<%Oc>+as_SpI_STB@AhtCj zyNh}n;E-zSZt`pc-`!x^D(K`_2n>o%!+iiDRznd3=(^CLs{(%es|?!GWiCe;8Q*>~Q({~n zXnWT%!T;122KaFY$YY6i$OJNzN2Ql7ev}2GT<5P0#%#c8kdNXBynL?j0jIS4MalPj z?o~sr-z~mwj-0Jko7&=u*W87JuW2k9GGSkLFvAN|R$)2igUL zg#TVb6$ACAn89NK+ zPaQ=3MvasOsg9DDSrBgcgxi1L#!x4e~1C(s&umvq9sX9LT zRk&x+46hBeT?0=kLlnt$pLYCJNuxB=%F9l}-tvYg4sA`EftvqC!{wiyig>2T=rWo1 zdu`0O_wk53AxuJ308v!>fqL}Ik>>}`s%1WJGKs?-eIHZ)_KBJq2Sp`(Ai8t#Mt*gM zivN58<6w(6GPvaF7hM@M1o@XEG-N98GSQawp-Rr>o5FTf$5F`W`@Y`Ukc!bKMJ*c{ z7c4}#u6}B)y#3oypFHu5rx(THJb2qs44GMs2=~@I%F6}rtfB6=Z}6nMBXp~d8tju8 zQW?Mv>t$Dbe+UjxAZqC56|rpJ4&g>n^o|)~)88Gk@@(F6dG%tBbL?TA{j`hED~txG z#PRG*{6n=jKN>SGb0hte?)OXe2R_1Ta@}~`yl!@6^XNxno^1yA$N1E&2HZdW~5kj10bONWt?hWrqQ7TvKnTN%WRtlkM^`?%#B z+cq6r^19Z_nQys8kL~g1ke#bKC>iY#KRtkwaq78oY9<5C$*;QCwZ{MQ{9YWv2U>o_Zuh%nU3RK)F}BWEjdeJcBTVOtvzM zk-3uB3!iina9b+sjV`5s>wNPMk>-in&W%Ji;eD4GX3e-A7fIl9%W!K-)1v|3g+|Wg z8%X0X_xl@${S6+jKd``9UBsCEW5VlWxfGwtKTmI-6I(K^8pC+Tx*tQ)FkL;+ z30B0TV8y0ZOzvf~e<(1BtG-UJ=elg!4@zusiA~br4piNMKwI*D25;iV)*uTvoFuZi0kW6@lT@baqBD8b-SiaWF?3sEN$ABd`PIIKJhD$YIysOQoT z%pI~0yX01CfqzZQvvJTs6QT__9$3ShTa^Z5eE1JA;_mz-cB)#$a~EvXWz^Wz`x-yq zlVVPMZ<3p1-<(sUVAUkjSV+m9`hA}Yv6D2L3#*xO!MfP6@xwRvav+1zhT|1+@W$HT zR?t^E4{8cw8&_aI2Nip*jNqC!-pKS)GaE@eN>Dk^JPlQ8?eGJ4>B^wd?qw-cLQu#} zzrLc?pStVI2&4#fu&Bn2Cs2VM(i1ziD4oqKD?jDly=)m%X%%c?L+$tE$mVTz-=3Kg z+V-v&GqPJv?s{7C{Rj&b`IN0cF1TXBZXW>pm6DO>pS>o$nhlk{_gl8zFv{C*2>bWQ z1fr7;$qu%JU*T$9K2EfOZ^(eVG>@-f!K;T;x6$&7M&l(VR8$Vc#=#;;Ya?MbanL1V zs9#gO+HUqs4L+oU8&sWWvkE1SOf~A1_B8NMt(NVnT>z|^uMB2myIXS3FfdQKRHvk* zOrhXl+iCiaeh&1g~%SC9-5 z(pOLC{I#kurvF_&KqiVLf^Xj#!FRX+31JD!UUGBMfQ-VcJw1qs^i?)d`DKOO>Kdy6 z;=uwKS+H9jBWy{ECJH$$d4qDDNcf*Q(52Rz-A>|$Ls2=$xe2{H^FQcwRXjkgi`$tt ztGPJ`xJ}>D$2D4@z&k0y_a+`VW(AT7WjtMxJ^k;ivt8gk_~1q0>oZ%o^+a&T~XTTI$tMuHM~LbMPEUM?BWPCvRD z<|TGlC^Iv&!5?pFW|Seevn3+rB3U`>XgI4|WbC3@Ujt2@d<1<*Pm-R9_SC0Ikt)4a zP|jizedi=y>{c-vhd9i${IK*n#F&d({u0Tf4b?r#B!^a<6Fs>j25hCXD>CNPLueq& z9R~Kt>GzJCN@CwY2&rf{i~rlbq^sGkzri= z`?qykDL<3D>J!fTH}*vpdh2U>o?|Ws`io47 zM^4j!`R~iIi$1$zKjFBpPCTIp{8N0sx|2!77&kPfpv51*DbN5MYq3U7y~+^%**@C# zJ1BWvdqREosda3MWICoO<4uVMla{@6tm2EJqN14*{|fs+kfkIjM`GfE?PQHQcHs1x zZcJE6-yWFsqbOX zfFe#W_=1IuKSc#qWR#@0YD)NY7OZVcJQ(R;hDfN!EP;NXH48f-9>kulG0{E&IhD1v zVz_D0W(keIFm>3~)y3^+K@Z3_e6CAxXXou*x4${>(x<7f`tpR^a3kmpu;qxA*zv8* z604=<`kq`C7*iBgW!JgaZu)wMSMtHgUpulyul8=lWki{x%|x5Z4*M2b+9j-AtU)zV zlWcTZO8uL24!cW%BEr7qsOsG4jY=fFEF?w1G0J{2waLy|!hY2z)26oq+|z`i>_tHu zI=e3Yh|o@BgQD+LekiebHf_8WA~)898!ot+J9eZ}2HY-zwbL>DcO)Vw`Ob+-I8EO` zGK80o!vbTCN<$!yM_G2xGc{TbTvFlCxM$n&HfYqEDG3 zZh<*(wPxG(S*#a^BJ>CyKO>lC;y>TQ*x_8)OBAH6NAj5R>28tW!RZn{Uty^^1j05> z;=!v+dY4WJJSRoT*vpY*eNF7il}PvDtU#d4j|z=-4m~@A(sY3-QLi!qf?4rncT+gd z{;~6f95hD*TL1cMuCCJ?4aH3N-ipq>1XfG686#$tpR3~e4zc9o+z7r5QO_*D2VP_B zcmqTd{e|0-Qk3?tnd_$3N{DRJjY*h#qIt;(51w^>e(y0?gmX}c4*$Qx(5AmZ3jvP? zHbO`->nM0@=6GPbbr|Mm^BA(X`o!|P1;Q@8jo{B{Zi}|^7-@qlx%%{ z{nTr8J7lKLAuij>+*58yJJV|>wEq`4$qS@!d&}( z8+ZnNQRqk)f86n3r2t|97G-oau8oqh8V%j}^@;r-{!Ok^htdgWC+`f6a1%N=bL;!o zQLn~5mlyGiu#!E?a{vHqg4Fl#DkjKom7BDL1Q*Rm{rUvx%l_nGFB` zGIXR=Mx)t;=Cv?CcY9hN`lwXPwTyo{MI-mzRZnishpb##EO8cU@c>%S7u1C&-( zc`pLu&HnKKUc46_vOFWq#Oi#AjdQ@Fo@SaGsJw(!avNXf2&vj z;WYhweb)qbk`Bwru=E2KA@z9vc3+M~qyBWy3{@~#j#V&NAw7AILM^F*37OHZ%=>jg zEBJwyiX%HWh%aJAcjF5d_-Jr|Ha<9h_883fw`cquot$bq+aaWShanzWL{pQ=e5*ff z5r=ChZF<`RJhns-$6nHYTmO#*^P~8nhnD?h4zZDu+GJ)tM~(*bLsk~$8z>CnbLCa5 z&nIZM5nAQ;N5z=81rT03C&lsl?O3r}1KWJ}uD9OEJznhV9$xS!cWc&pxtr_Oisf66 zr8nX0&vYokAmW8e!jx^?bmq;)IqxCEYD@UWBLG0vfl*XDP4o%x0RZ_5U^udWd>OPc8wu zHLkCRSx&vu(dM`PW3h$w)?qILe6lwG@p!$NAaHLCH?s0Rk+~dNw=~#)6(TEXX5lSB^rB9+9L zd2H3dSq@e7QGr{Bb+=CZ>lHh}siDrZ9JLS;A@@N)-T7v{tR|ytUovxoG^Iaz0*#L~ z{nusYS9M$l4y8%6FF24KR>3uciqzw*aE&J;2q=_T)o%%2IW-R<&W|i?bIi?2J-vAv zFsunekQ;MCj+}(8+Rc4^eckT^@+MsQy$=-Xy~T-%sYZwj7H#Kmm5;PlPmA;L^at0O z^Bsc+w}$uG*0=+6(^CKTn(mF?Vhiq*T@jEcjO(B*Bxuw-6kp%tt9v!9=k7NRTp{#! zyjzSNNEY~R;9*s@Y>Thci<(_f<3+~EwO!(17C9SsGyMD?Ig<%R2iDb(;+*w2=eyF* z)61=P&yL2wUB8geJ@$q)qQ=_*0j5C*zPZo090Z8YYxg002GjG(t6J_W1iyd|&-*J@ zNiowV`g7JR25FKmDN=4TZ>&J*b_?{;B&^;C^OD2~c;3W@Xwg^hjzf;NR9$)@^ za$`X-h6#n$V1)N&dBj9m%hijtYCk=QVuUvTyuz^%$W8wFtcA8M_V0^-$7kE4*_ZqA zMx8v6k<(}1cX8h3c5r)V57zW!#a8Zc&F*3xrYR6rQ0#=CmVO|~`wpf({NqmB;JA@s zN29ytf`~30rs%)AjH=I^_rih3zrK*cx9x5;IZar5IkH?6RbpdflQ~-Zg4>&vAut+a zVoE@xV?$@%m@UV|S?-uVdgJkbvo=r(EdRen-mr)mHL7H^@(mHarqX6{WlWFOi2>?6GGcnHl+H-VNOrMBp5ii`fpH@j6 zQ;{ z;$;ctTN;g}AG_D*-flM36o~k=SMMsMP3MPx_ipiiE76(5h(89x`Fyq)g>u@|^~jEG zhd0~ow7o|z=H|m(k8Q@YXEVDGoGSZghnfbp5xrJU3~SSM4s!AFH=aM50)%_6=Zz88 zcW2$YsEl#Ik=+uy${X!>$qT2tY*{>kYuo%o*!uHT{O>F_uH(ZI{alLk5{biSK}Q_A z1a`@{9~9NCe1ruAvi93j>U~WGXqz*;(Oc<0>H>LN`7DrMI)rp2(%kzKWh+u~ZNk{f zSD&##BM$AK%R}T+4FK{YA=@0;FGeY+A62A-OP3aKDQTHlFuHYK6P9(oc4sp?B^Ee# z4UeeZ*7_pcZ9G@emm1gLWIF&KyeNFG;f7UyCeW&?X2o){KbKF~G1Y$ge0pr}o7({) zoA>-o0&NevMR&oMwL|$auRH47NWT!N)3%btvCQ0K@ZTwTCZb6C9rkp}dV~yg`X||O z9bz-H_jG6;lf8VM0)~?&`1~z5H;u*7iKZwL#nOI-4ikHsgvFz$Wn`yl*5vzH0i^in z^WNid-Ke|?(H?A{Px;sCnsCBTkoOjO3U!}O`TzQpmHGj{7 z1N}iG$}xB1it_qSd%jSr}Otup`eQ?+^v>veDa z0w5i@eZI*zqAK&!1CU6;Kxwb1eQj`rAXM()Vk`izSP+*EwF0Z^fn+QkAS-8OU&$DT z>p~4d{E|C?xb%_+%wAoRiEF$rlptK>!npUt3aP#tJW2yB-X-dd^;m-Y;HLpMFxt6{ zCAlF%njU=C#kszduYy+69p;j>{nkp+b0wrrMyAFTiVtLAr;qS{j9esz3($bakw1Vv z?}jl6gl;tvsY*N8HOgrvtn1_tIuzL;9s0#~vmqx2cFlkHDbchm(P4_=@5cc~4oA#E z^s{pE-`-=+;h zGD|iR-+RksEURU2Kgm?RCp0@UqAxPc8a<`xUn0ViL7tXSr!%*H^ZE>f=SWP!IS^u# zt91??$?WXsIEb;E&~f85|JEHm&{|fX64_e=RvVZD z9C`Qz$Xby)ks}{vt*ka(qXrJ*Ek7_yv^t|?Hg#N>q9|=C(#{G;)(#H$==ptd%1Usv zXAmRi*dKuJGI_l&NS?EG-^u+dUCAWISR$nPhDF`5;+Grv?JeRl&Y+srq4q(coP?99 z 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 LzbbiY`0@V&$Z~~~ literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-atp/images/nativeapp-create.png b/windows/security/threat-protection/windows-defender-atp/images/nativeapp-create.png new file mode 100644 index 0000000000000000000000000000000000000000..05d76ec80728af6be88d6ef95c9e4510c73d9a2c GIT binary patch literal 10938 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 Date: Wed, 22 Aug 2018 11:34:30 +0300 Subject: [PATCH 53/71] steo --- .../exposed-apis-create-app-nativeapp.md | 81 ++++-------------- .../exposed-apis-create-app-webapp.md | 4 +- .../images/nativeapp-add-permissions-end.png | Bin 0 -> 12937 bytes .../images/nativeapp-get-appid.png | Bin 0 -> 20758 bytes .../images/nativeapp-select-permissions.png | Bin 0 -> 50344 bytes 5 files changed, 18 insertions(+), 67 deletions(-) create mode 100644 windows/security/threat-protection/windows-defender-atp/images/nativeapp-add-permissions-end.png create mode 100644 windows/security/threat-protection/windows-defender-atp/images/nativeapp-get-appid.png create mode 100644 windows/security/threat-protection/windows-defender-atp/images/nativeapp-select-permissions.png diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md index 0208b3ef98..c1e21647a3 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md @@ -42,6 +42,7 @@ In general, you’ll need to take the following steps to use the APIs: This page explains how to create an app, get an access token to Windows Defender ATP and validate the token includes the required permission. **Note**: When accessing WDATP API on behalf of a user, you will need the correct app permission and user permission. +If you are not familiar with user permissions on WDATP, please refer to [Manage portal access using role-based access control](rbac-windows-defender-advanced-threat-protection.md) ## Create an app @@ -70,11 +71,11 @@ This page explains how to create an app, get an access token to Windows Defender ![Image of API access and API selection](images/webapp-add-permission-2.png) -6. Click **Select permissions** > **Run advanced queries** > **Select**. +6. Click **Select permissions** > check **Read alerts** & **Collect forensics** > **Select**. - **Important note**: You need to select the relevant permission. 'Run advanced queries' is only an example! + **Important note**: You need to select the relevant permissions. 'Read alerts' and 'Collect forensics' are only an examples! - ![Image of select permissions](images/webapp-select-permission.png) + ![Image of select permissions](images/nativeapp-select-permissions.png) - In order to send telemetry events to WDATP, check 'Write timeline events' permission - In order to send TI events to WDATP, check 'Read and write IOCs belonging to the app' permission @@ -82,42 +83,19 @@ This page explains how to create an app, get an access token to Windows Defender 7. Click **Done** - ![Image of add permissions completion](images/webapp-add-permission-end.png) + ![Image of add permissions completion](images/nativeapp-add-permissions-end.png) -8. Click **Keys** and type a key name and click **Save**. +8. Click **Grant permissions** - **Important**: After you save, **copy the key value**. You won't be able to retrieve after you leave! + In order to add the new selected permissions to the app, the Admin's tenant must press on the **Grant permissions** button. - ![Image of create app key](images/webapp-create-key.png) + If in the future you will want to add more permission to the app, you will need to press on the **Grant permissions** button again so the changes will take effect. + + ![Image of Grant permissions](images/webapp-grant-permissions.png) 9. Write down your application ID. - ![Image of app ID](images/webapp-get-appid.png) - -9. Set your application to be multi-tenanted - - This is **required** for 3rd party apps (i.e., if you create an application that is intended to run in multiple customers tenant). - - This is **not required** if you create a service that you want to run in your tenant only (i.e., if you create an application for your own usage that will only interact with your own data)​ - - Click **Properties** > **Yes** > **Save**. - - ![Image of multi tenant](images/webapp-edit-multitenant.png) - - -## Application consent - -You need your application to be approved in each tenant where you intend to use it. This is because your application interacts with WDATP application on behalf of your customer. - -You (or your customer if you are writing a 3rd party application) need to click the consent link and approve your application. The consent should be done with a user who has admin privileges in the active directory. - -Consent link is of the form: - -``` -https://login.microsoftonline.com/common/oauth2/authorize?prompt=consent&client_id=00000000-0000-0000-0000-000000000000&response_type=code&sso_reload=true​ -``` - -where 00000000-0000-0000-0000-000000000000​ should be replaced with your Azure application ID + ![Image of app ID](images/nativeapp-get-appid.png) ## Get an access token @@ -141,10 +119,12 @@ For more details on AAD token, refer to [AAD tutorial](https://docs.microsoft.co ``` string tenantId = "00000000-0000-0000-0000-000000000000"; // Paste your own tenant ID here string appId = "11111111-1111-1111-1111-111111111111"; // Paste your own app ID here - string appSecret = "22222222-2222-2222-2222-222222222222"; // Paste your own app secret here - const string aadUri = "https://login.windows.net"; - const string wdatpResourceId = "https://securitycenter.onmicrosoft.com/windowsatpservice"; + string username = "SecurityAdmin@microsoft.com"; // Paste your username here + string password = GetPasswordFromSafePlace(); // Paste your own password here for a test, and then store it in a safe place! + + const string authority = "https://login.windows.net"; + const string wdatpResourceId = "https://api.securitycenter.windows.com/"; AuthenticationContext auth = new AuthenticationContext($"{aadUri}/{tenantId}/"); ClientCredential clientCredential = new ClientCredential(appId, appSecret); @@ -152,35 +132,6 @@ For more details on AAD token, refer to [AAD tutorial](https://docs.microsoft.co string token = authenticationResult.AccessToken; ``` -### Using PowerShell - -Refer to [Get token using PowerShell](run-advanced-query-sample-powershell.md#get-token) - -### Using Python - -Refer to [Get token using Python](run-advanced-query-sample-python.md#get-token) - -### Using Curl - -> [!NOTE] -> The below procedure supposed Curl for Windows is already installed on your computer - -- Open a command window -- ​Set CLIENT_ID to your Azure application ID -- Set CLIENT_SECRET to your Azure application secret -- Set TENANT_ID to the Azure tenant ID of the customer that wants to use your application to access WDATP application -- Run the below command: - -``` -curl -i -X POST -H "Content-Type:application/x-www-form-urlencoded" -d "grant_type=client_credentials" -d "client_id=%CLIENT_ID%" -d "scope=https://securitycenter.onmicrosoft.com/windowsatpservice​/.default" -d "client_secret=%CLIENT_SECRET%" "https://login.microsoftonline.com/%TENANT_ID​%/oauth2/v2.0/token" -k​ -``` - -You will get an answer of the form: - -``` -{"token_type":"Bearer","expires_in":3599,"ext_expires_in":0,"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIn aWReH7P0s0tjTBX8wGWqJUdDA"} -``` - ## Validate the token - Copy/paste into [JWT](https://jwt.io/) the token you get in the previous step diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md index 47d539a280..2addcf762e 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md @@ -111,7 +111,7 @@ This page explains how to create an app, get an access token to Windows Defender ![Image of multi tenant](images/webapp-edit-multitenant.png) -## Application consent +# Application consent (for multi tenant apps only) You need your application to be approved in each tenant where you intend to use it. This is because your application interacts with WDATP application on behalf of your customer. @@ -147,7 +147,7 @@ For more details on AAD token, refer to [AAD tutorial](https://docs.microsoft.co ``` string tenantId = "00000000-0000-0000-0000-000000000000"; // Paste your own tenant ID here string appId = "11111111-1111-1111-1111-111111111111"; // Paste your own app ID here - string appSecret = "22222222-2222-2222-2222-222222222222"; // Paste your own app secret here + string appSecret = GetTheSecretFromSafePlace(); // Paste your own app secret here for a test, and then store it in a safe place! const string authority = "https://login.windows.net"; const string wdatpResourceId = "https://api.securitycenter.windows.com/"; diff --git a/windows/security/threat-protection/windows-defender-atp/images/nativeapp-add-permissions-end.png b/windows/security/threat-protection/windows-defender-atp/images/nativeapp-add-permissions-end.png new file mode 100644 index 0000000000000000000000000000000000000000..eb866e3ccee0355ae7dffe730e1a663b54ac2aef GIT binary patch literal 12937 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%0AdJ`u7w!u!<^`wjHupaBNF#PA*P&8THbO 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 literal 0 HcmV?d00001 From 3cdb002d3d1fad503a2a57a4321db821e29aee60 Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Wed, 22 Aug 2018 13:00:09 +0300 Subject: [PATCH 54/71] s --- .../exposed-apis-create-app-nativeapp.md | 38 ++++++++++++++---- .../exposed-apis-create-app-webapp.md | 2 +- .../images/nativeapp-decoded-token.png | Bin 0 -> 76584 bytes 3 files changed, 31 insertions(+), 9 deletions(-) create mode 100644 windows/security/threat-protection/windows-defender-atp/images/nativeapp-decoded-token.png diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md index c1e21647a3..bd4ef69058 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md @@ -117,27 +117,49 @@ For more details on AAD token, refer to [AAD tutorial](https://docs.microsoft.co - Copy/Paste the below code in your application (do not forget to update the 3 variables: ```tenantId, appId, appSecret```) ``` + const string authority = "https://login.windows.net"; + const string wdatpResourceId = "https://api.securitycenter.windows.com/"; + string tenantId = "00000000-0000-0000-0000-000000000000"; // Paste your own tenant ID here string appId = "11111111-1111-1111-1111-111111111111"; // Paste your own app ID here string username = "SecurityAdmin@microsoft.com"; // Paste your username here string password = GetPasswordFromSafePlace(); // Paste your own password here for a test, and then store it in a safe place! - const string authority = "https://login.windows.net"; - const string wdatpResourceId = "https://api.securitycenter.windows.com/"; + UserPasswordCredential userCreds = new UserPasswordCredential(username, password); - AuthenticationContext auth = new AuthenticationContext($"{aadUri}/{tenantId}/"); - ClientCredential clientCredential = new ClientCredential(appId, appSecret); - AuthenticationResult authenticationResult = auth.AcquireTokenAsync(wdatpResourceId, clientCredential).GetAwaiter().GetResult(); + AuthenticationContext auth = new AuthenticationContext($"{authority}/{tenantId}/"); + AuthenticationResult authenticationResult = auth.AcquireTokenAsync(wdatpResourceId, appId, userCreds).GetAwaiter().GetResult(); string token = authenticationResult.AccessToken; ``` ## Validate the token -- Copy/paste into [JWT](https://jwt.io/) the token you get in the previous step -- Validate you get a 'roles' claim with the desired permission, as shown in the below screenshot +Sanity check to make sure you got a correct token: +- Copy/paste into [JWT](https://jwt.ms) the token you get in the previous step in order to decode it +- Validate you get a 'scp' claim with the desired app permissions +- In the screenshot below you can see a decoded token acquired from the app in the tutorial: -![Image of token validation](images/webapp-validate-token.png) +![Image of token validation](images/native-decoded-token.png) + +## Use the token to access Windows Defender ATP API + +- Choose the API you want to use - [Supported Windows Defender ATP APIs](exposed-apis-list.md) +- Set the Authorization header in the Http request you send to "Bearer {token}" (Bearer is the Authorization scheme) +- The Expiration time of the token is 1 hour (you can send more then one request with the same token) + +- Example of sending a request to get a list of alerts **using C#** + ``` + var httpClient = new HttpClient(); + + var request = new HttpRequestMessage(HttpMethod.Get, "https://api.securitycenter.windows.com/api/alerts"); + + request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", token); + + var response = await httpClient.SendAsync(request).ConfigureAwait(false); + + // Do something useful with the response + ``` ## Related topics - [Windows Defender ATP APIs](exposed-apis-intro.md) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md index 2addcf762e..6dc9ac40bd 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md @@ -111,7 +111,7 @@ This page explains how to create an app, get an access token to Windows Defender ![Image of multi tenant](images/webapp-edit-multitenant.png) -# Application consent (for multi tenant apps only) +### Application consent (for multi tenant apps only) You need your application to be approved in each tenant where you intend to use it. This is because your application interacts with WDATP application on behalf of your customer. diff --git a/windows/security/threat-protection/windows-defender-atp/images/nativeapp-decoded-token.png b/windows/security/threat-protection/windows-defender-atp/images/nativeapp-decoded-token.png new file mode 100644 index 0000000000000000000000000000000000000000..92f46bf116ef0379c8521fbcd74a1e210f52653f GIT binary patch literal 76584 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 `C0V^`;D>zY=ocxPY9j8Iwh>l-p-4$ctRBJY-_6 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

      DSGVgY{C~6o2>cV5q%I> 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%0A)b?|T1%-T8- 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 literal 0 HcmV?d00001 From 4871bcd4f4c4cd3372acb6912ec948943f97e5bc Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Wed, 22 Aug 2018 13:23:35 +0300 Subject: [PATCH 55/71] s --- .../windows-defender-atp/exposed-apis-create-app-nativeapp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md index bd4ef69058..c98328699f 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md @@ -140,7 +140,7 @@ Sanity check to make sure you got a correct token: - Validate you get a 'scp' claim with the desired app permissions - In the screenshot below you can see a decoded token acquired from the app in the tutorial: -![Image of token validation](images/native-decoded-token.png) +![Image of token validation](images/nativeapp-decoded-token.png) ## Use the token to access Windows Defender ATP API From d7e6e563833ad2d4bd768f4b109f9e2f7ea9d7ad Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Wed, 22 Aug 2018 15:04:31 +0300 Subject: [PATCH 56/71] s --- .../exposed-apis-create-app-nativeapp.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md index c98328699f..c64297e1c1 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md @@ -56,7 +56,7 @@ If you are not familiar with user permissions on WDATP, please refer to [Manage ![Image of Create application window](images/nativeapp-create.png) - - **Name:** + - **Name:** -Your app name- - **Application type:** Native - **Redirect URI:** `https://127.0.0.1` @@ -77,7 +77,6 @@ If you are not familiar with user permissions on WDATP, please refer to [Manage ![Image of select permissions](images/nativeapp-select-permissions.png) - - In order to send telemetry events to WDATP, check 'Write timeline events' permission - In order to send TI events to WDATP, check 'Read and write IOCs belonging to the app' permission - In order to run advanced queries in WDATP, check 'Run advanced queries' permission @@ -114,7 +113,7 @@ For more details on AAD token, refer to [AAD tutorial](https://docs.microsoft.co using Microsoft.IdentityModel.Clients.ActiveDirectory; ``` -- Copy/Paste the below code in your application (do not forget to update the 3 variables: ```tenantId, appId, appSecret```) +- Copy/Paste the below code in your application (pay attention to the comments in the code) ``` const string authority = "https://login.windows.net"; @@ -123,12 +122,12 @@ For more details on AAD token, refer to [AAD tutorial](https://docs.microsoft.co string tenantId = "00000000-0000-0000-0000-000000000000"; // Paste your own tenant ID here string appId = "11111111-1111-1111-1111-111111111111"; // Paste your own app ID here - string username = "SecurityAdmin@microsoft.com"; // Paste your username here + string username = "SecurityAdmin123@microsoft.com"; // Paste your username here string password = GetPasswordFromSafePlace(); // Paste your own password here for a test, and then store it in a safe place! UserPasswordCredential userCreds = new UserPasswordCredential(username, password); - AuthenticationContext auth = new AuthenticationContext($"{authority}/{tenantId}/"); + AuthenticationContext auth = new AuthenticationContext($"{authority}/{tenantId}"); AuthenticationResult authenticationResult = auth.AcquireTokenAsync(wdatpResourceId, appId, userCreds).GetAwaiter().GetResult(); string token = authenticationResult.AccessToken; ``` From 568bdcd9b02490bff20e6ce0d5e916b4b592862a Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Wed, 22 Aug 2018 15:38:10 +0300 Subject: [PATCH 57/71] s --- .../windows-defender-atp/exposed-apis-create-app-nativeapp.md | 2 ++ .../windows-defender-atp/run-advanced-query-api.md | 1 + 2 files changed, 3 insertions(+) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md index c64297e1c1..d35e6536d6 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md @@ -44,6 +44,8 @@ This page explains how to create an app, get an access token to Windows Defender **Note**: When accessing WDATP API on behalf of a user, you will need the correct app permission and user permission. If you are not familiar with user permissions on WDATP, please refer to [Manage portal access using role-based access control](rbac-windows-defender-advanced-threat-protection.md) +**Rule of thumb for user permissions:** If you have the permission to perform an action in the portal, you have the permission to perform the action in the API. + ## Create an app 1. Log on to [Azure](https://portal.azure.com). diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-api.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-api.md index 8a6c8b5831..83d52d04e0 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-api.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-api.md @@ -36,6 +36,7 @@ One of the following permissions is required to call this API. To learn more, in Permission type | Permission | Permission display name :---|:---|:--- Application | AdvancedQuery.Read.All | 'Run advanced queries' +Delegated (work or school account) | AdvancedQuery.Read | ## HTTP request ``` From 94c166c6b69ab70d2364819e08f9c5e821fce6f2 Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Wed, 22 Aug 2018 15:53:44 +0300 Subject: [PATCH 58/71] s --- .../windows-defender-atp/run-advanced-query-api.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-api.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-api.md index 83d52d04e0..dfd31656a7 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-api.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-api.md @@ -36,7 +36,7 @@ One of the following permissions is required to call this API. To learn more, in Permission type | Permission | Permission display name :---|:---|:--- Application | AdvancedQuery.Read.All | 'Run advanced queries' -Delegated (work or school account) | AdvancedQuery.Read | +Delegated (work or school account) | AdvancedQuery.Read | 'Run advanced queries' ## HTTP request ``` From 5d2cd4e307fbde2f8a12cfd21c1fe70306a79cfa Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Wed, 22 Aug 2018 16:40:33 +0300 Subject: [PATCH 59/71] s --- ...package-windows-defender-advanced-threat-protection-new.md | 1 + ...ference-windows-defender-advanced-threat-protection-new.md | 1 + ...o-by-id-windows-defender-advanced-threat-protection-new.md | 2 ++ ...in-info-windows-defender-advanced-threat-protection-new.md | 1 + ...es-info-windows-defender-advanced-threat-protection-new.md | 1 + ...ip-info-windows-defender-advanced-threat-protection-new.md | 1 + ...ne-info-windows-defender-advanced-threat-protection-new.md | 4 +++- ...er-info-windows-defender-advanced-threat-protection-new.md | 1 + ...-alerts-windows-defender-advanced-threat-protection-new.md | 2 ++ ...-alerts-windows-defender-advanced-threat-protection-new.md | 2 ++ ...achines-windows-defender-advanced-threat-protection-new.md | 2 ++ ...tistics-windows-defender-advanced-threat-protection-new.md | 3 ++- ...rmation-windows-defender-advanced-threat-protection-new.md | 1 + ...-alerts-windows-defender-advanced-threat-protection-new.md | 2 ++ ...achines-windows-defender-advanced-threat-protection-new.md | 2 ++ ...tistics-windows-defender-advanced-threat-protection-new.md | 1 + ...-alerts-windows-defender-advanced-threat-protection-new.md | 2 ++ ...achines-windows-defender-advanced-threat-protection-new.md | 2 ++ ...tistics-windows-defender-advanced-threat-protection-new.md | 1 + ...e-by-id-windows-defender-advanced-threat-protection-new.md | 2 ++ ...n-users-windows-defender-advanced-threat-protection-new.md | 2 +- ...-alerts-windows-defender-advanced-threat-protection-new.md | 2 ++ ...-object-windows-defender-advanced-threat-protection-new.md | 2 ++ ...lection-windows-defender-advanced-threat-protection-new.md | 2 ++ ...achines-windows-defender-advanced-threat-protection-new.md | 2 ++ ...sas-uri-windows-defender-advanced-threat-protection-new.md | 1 + ...-alerts-windows-defender-advanced-threat-protection-new.md | 2 ++ ...achines-windows-defender-advanced-threat-protection-new.md | 2 ++ ...-in-org-windows-defender-advanced-threat-protection-new.md | 1 + ...een-org-windows-defender-advanced-threat-protection-new.md | 1 + ...machine-windows-defender-advanced-threat-protection-new.md | 1 + ...ine-api-windows-defender-advanced-threat-protection-new.md | 1 + ...ecution-windows-defender-advanced-threat-protection-new.md | 1 + ...av-scan-windows-defender-advanced-threat-protection-new.md | 1 + ...machine-windows-defender-advanced-threat-protection-new.md | 1 + ...ecution-windows-defender-advanced-threat-protection-new.md | 1 + ...e-alert-windows-defender-advanced-threat-protection-new.md | 1 + 37 files changed, 55 insertions(+), 3 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection-new.md index 3fc76468dd..6c1b1ccd6d 100644 --- a/windows/security/threat-protection/windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection-new.md @@ -31,6 +31,7 @@ One of the following permissions is required to call this API. To learn more, in Permission type | Permission | Permission display name :---|:---|:--- Application | Machine.CollectForensics | 'Collect forensics' +Delegated (work or school account) | Machine.CollectForensics | 'Collect forensics' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/create-alert-by-reference-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/create-alert-by-reference-windows-defender-advanced-threat-protection-new.md index 05ecd44a39..f5d19d8b8c 100644 --- a/windows/security/threat-protection/windows-defender-atp/create-alert-by-reference-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/create-alert-by-reference-windows-defender-advanced-threat-protection-new.md @@ -30,6 +30,7 @@ One of the following permissions is required to call this API. To learn more, in Permission type | Permission | Permission display name :---|:---|:--- Application | Alerts.ReadWrite.All | 'Read and write all alerts' +Delegated (work or school account) | Alert.ReadWrite | 'Read and write alerts' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md index ea5d18dcca..d92068a830 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md @@ -31,6 +31,8 @@ Permission type | Permission | Permission display name :---|:---|:--- Application | Alert.Read.All | 'Read all alerts' Application | Alert.ReadWrite.All | 'Read and write all alerts' +Delegated (work or school account) | Alert.Read | 'Read alerts' +Delegated (work or school account) | Alert.ReadWrite | 'Read and write alerts' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection-new.md index 1c6eeee2a3..bf4cd3243e 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection-new.md @@ -30,6 +30,7 @@ One of the following permissions is required to call this API. To learn more, in Permission type | Permission | Permission display name :---|:---|:--- Application | URL.Read.All | 'Read URLs' +Delegated (work or school account) | URL.Read.All | 'Read URLs' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection-new.md index 114dd4ebf5..56d4524ea3 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection-new.md @@ -30,6 +30,7 @@ One of the following permissions is required to call this API. To learn more, in Permission type | Permission | Permission display name :---|:---|:--- Application | File.Read.All | 'Read file profiles' +Delegated (work or school account) | File.Read.All | 'Read file profiles' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection-new.md index 027e4f2dfa..4e60b78b74 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection-new.md @@ -31,6 +31,7 @@ One of the following permissions is required to call this API. To learn more, in Permission type | Permission | Permission display name :---|:---|:--- Application | Ip.Read.All | 'Read IP address profiles' +Delegated (work or school account) | Ip.Read.All | 'Read IP address profiles' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection-new.md index 1b02c04a0e..9632c79913 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection-new.md @@ -30,8 +30,10 @@ One of the following permissions is required to call this API. To learn more, in Permission type | Permission | Permission display name :---|:---|:--- -Application | Machine.Read.All | 'Read all machine profiles' +Application | Machine.Read.All | 'Read all machine information' Application | Machine.ReadWrite.All | 'Read and write all machine information' +Delegated (work or school account) | Machine.Read | 'Read machine information' +Delegated (work or school account) | Machine.ReadWrite | 'Read and write machine information' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection-new.md index e31cb2df14..ea99a3b8d1 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection-new.md @@ -31,6 +31,7 @@ One of the following permissions is required to call this API. To learn more, in Permission type | Permission | Permission display name :---|:---|:--- Application | User.Read.All | 'Read user profiles' +Delegated (work or school account) | User.Read.All | 'Read user profiles' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection-new.md index 0bc8191610..15875f3291 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection-new.md @@ -33,6 +33,8 @@ Permission type | Permission | Permission display name :---|:---|:--- Application | Alert.Read.All | 'Read all alerts' Application | Alert.ReadWrite.All | 'Read and write all alerts' +Delegated (work or school account) | Alert.Read | 'Read alerts' +Delegated (work or school account) | Alert.ReadWrite | 'Read and write alerts' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection-new.md index 5c96f8e93f..b693400163 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection-new.md @@ -32,6 +32,8 @@ Permission type | Permission | Permission display name :---|:---|:--- Application | Alert.Read.All | 'Read all alerts' Application | Alert.ReadWrite.All | 'Read and write all alerts' +Delegated (work or school account) | Alert.Read | 'Read alerts' +Delegated (work or school account) | Alert.ReadWrite | 'Read and write alerts' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection-new.md index 5c00e541d9..f9af7b8a81 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection-new.md @@ -32,6 +32,8 @@ Permission type | Permission | Permission display name :---|:---|:--- Application | Machine.Read.All | 'Read all machine profiles' Application | Machine.ReadWrite.All | 'Read and write all machine information' +Delegated (work or school account) | Machine.Read | 'Read machine information' +Delegated (work or school account) | Machine.ReadWrite | 'Read and write machine information' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection-new.md index 3192b853ab..8ad81fef65 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection-new.md @@ -30,7 +30,8 @@ One of the following permissions is required to call this API. To learn more, in Permission type | Permission | Permission display name :---|:---|:--- -Application | URL.Read.All | 'Read all machine profiles' +Application | URL.Read.All | 'Read URLs' +Delegated (work or school account) | URL.Read.All | 'Read URLs' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection-new.md index 1294734ef7..2c7d7416cb 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection-new.md @@ -32,6 +32,7 @@ One of the following permissions is required to call this API. To learn more, in Permission type | Permission | Permission display name :---|:---|:--- Application | File.Read.All | 'Read all file profiles' +Delegated (work or school account) | File.Read.All | 'Read all file profiles' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection-new.md index a67c221e7d..9a48a46092 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection-new.md @@ -32,6 +32,8 @@ Permission type | Permission | Permission display name :---|:---|:--- Application | Alert.Read.All | 'Read all alerts' Application | Alert.ReadWrite.All | 'Read and write all alerts' +Delegated (work or school account) | Alert.Read | 'Read alerts' +Delegated (work or school account) | Alert.ReadWrite | 'Read and write alerts' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection-new.md index 6781f48a9a..da84931205 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection-new.md @@ -32,6 +32,8 @@ Permission type | Permission | Permission display name :---|:---|:--- Application | Machine.Read.All | 'Read all machine profiles' Application | Machine.ReadWrite.All | 'Read and write all machine information' +Delegated (work or school account) | Machine.Read | 'Read machine information' +Delegated (work or school account) | Machine.ReadWrite | 'Read and write machine information' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection-new.md index 5123aa9f3e..8146e74ee5 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection-new.md @@ -31,6 +31,7 @@ One of the following permissions is required to call this API. To learn more, in Permission type | Permission | Permission display name :---|:---|:--- Application | File.Read.All | 'Read file profiles' +Delegated (work or school account) | File.Read.All | 'Read file profiles' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection-new.md index 1cb5b54981..130c22ad36 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection-new.md @@ -32,6 +32,8 @@ Permission type | Permission | Permission display name :---|:---|:--- Application | Alert.Read.All | 'Read all alerts' Application | Alert.ReadWrite.All | 'Read and write all alerts' +Delegated (work or school account) | Alert.Read | 'Read alerts' +Delegated (work or school account) | Alert.ReadWrite | 'Read and write alerts' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection-new.md index b50d7dbc2e..91b327d71b 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection-new.md @@ -29,6 +29,8 @@ Permission type | Permission | Permission display name :---|:---|:--- Application | Machine.Read.All | 'Read all machine profiles' Application | Machine.ReadWrite.All | 'Read and write all machine information' +Delegated (work or school account) | Machine.Read | 'Read machine information' +Delegated (work or school account) | Machine.ReadWrite | 'Read and write machine information' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection-new.md index 597e70c583..a33784bce5 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection-new.md @@ -29,6 +29,7 @@ One of the following permissions is required to call this API. To learn more, in Permission type | Permission | Permission display name :---|:---|:--- Application | Ip.Read.All | 'Read IP address profiles' +Delegated (work or school account) | Ip.Read.All | 'Read IP address profiles' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection-new.md index 0ec132066f..ef0c177338 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection-new.md @@ -30,6 +30,8 @@ Permission type | Permission | Permission display name :---|:---|:--- Application | Machine.Read.All | 'Read all machine profiles' Application | Machine.ReadWrite.All | 'Read and write all machine information' +Delegated (work or school account) | Machine.Read | 'Read machine information' +Delegated (work or school account) | Machine.ReadWrite | 'Read and write machine information' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection-new.md index 8c1da55b43..3811fc208f 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection-new.md @@ -29,7 +29,7 @@ One of the following permissions is required to call this API. To learn more, in Permission type | Permission | Permission display name :---|:---|:--- Application | User.Read.All | 'Read user profiles' - +Delegated (work or school account) | User.Read.All | 'Read user profiles' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection-new.md index 3a0717469c..1af227a95a 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection-new.md @@ -30,6 +30,8 @@ Permission type | Permission | Permission display name :---|:---|:--- Application | Alert.Read.All | 'Read all alerts' Application | Alert.ReadWrite.All | 'Read and write all alerts' +Delegated (work or school account) | Alert.Read | 'Read alerts' +Delegated (work or school account) | Alert.ReadWrite | 'Read and write alerts' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection-new.md index 5c15530e45..8a2fe385ab 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection-new.md @@ -30,6 +30,8 @@ Permission type | Permission | Permission display name :---|:---|:--- Application | Machine.Read.All | 'Read all machine profiles' Application | Machine.ReadWrite.All | 'Read and write all machine information' +Delegated (work or school account) | Machine.Read | 'Read machine information' +Delegated (work or school account) | Machine.ReadWrite | 'Read and write machine information' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection-new.md index d5084a4d5e..0e8e2ed4a8 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection-new.md @@ -30,6 +30,8 @@ Permission type | Permission | Permission display name :---|:---|:--- Application | Machine.Read.All | 'Read all machine profiles' Application | Machine.ReadWrite.All | 'Read and write all machine information' +Delegated (work or school account) | Machine.Read | 'Read machine information' +Delegated (work or school account) | Machine.ReadWrite | 'Read and write machine information' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-machines-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-machines-windows-defender-advanced-threat-protection-new.md index 581b175fe0..7c13dee9ec 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machines-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machines-windows-defender-advanced-threat-protection-new.md @@ -29,6 +29,8 @@ Permission type | Permission | Permission display name :---|:---|:--- Application | Machine.Read.All | 'Read all machine profiles' Application | Machine.ReadWrite.All | 'Read and write all machine information' +Delegated (work or school account) | Machine.Read | 'Read machine information' +Delegated (work or school account) | Machine.ReadWrite | 'Read and write machine information' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection-new.md index 121dc80314..c854d33b50 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection-new.md @@ -29,6 +29,7 @@ One of the following permissions is required to call this API. To learn more, in Permission type | Permission | Permission display name :---|:---|:--- Application | Machine.CollectForensics | 'Collect forensics' +Delegated (work or school account) | Machine.CollectForensics | 'Collect forensics' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection-new.md index cc16ae3c5f..418ad94328 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection-new.md @@ -30,6 +30,8 @@ Permission type | Permission | Permission display name :---|:---|:--- Application | Alert.Read.All | 'Read all alerts' Application | Alert.ReadWrite.All | 'Read and write all alerts' +Delegated (work or school account) | Alert.Read | 'Read alerts' +Delegated (work or school account) | Alert.ReadWrite | 'Read and write alerts' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection-new.md index 37be0e6280..4039343929 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection-new.md @@ -30,6 +30,8 @@ Permission type | Permission | Permission display name :---|:---|:--- Application | Machine.Read.All | 'Read all machine profiles' Application | Machine.ReadWrite.All | 'Read and write all machine information' +Delegated (work or school account) | Machine.Read | 'Read machine information' +Delegated (work or school account) | Machine.ReadWrite | 'Read and write machine information' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection-new.md index 9fc66f2cd0..5823c0d793 100644 --- a/windows/security/threat-protection/windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection-new.md @@ -29,6 +29,7 @@ One of the following permissions is required to call this API. To learn more, in Permission type | Permission | Permission display name :---|:---|:--- Application | Url.Read.All | 'Read URLs' +Delegated (work or school account) | URL.Read.All | 'Read URLs' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection-new.md index 0b0e8a826b..b015a3afe9 100644 --- a/windows/security/threat-protection/windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection-new.md @@ -29,6 +29,7 @@ One of the following permissions is required to call this API. To learn more, in Permission type | Permission | Permission display name :---|:---|:--- Application | Ip.Read.All | 'Read IP address profiles' +Delegated (work or school account) | Ip.Read.All | 'Read IP address profiles' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection-new.md index 97470afecb..45a75dc778 100644 --- a/windows/security/threat-protection/windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection-new.md @@ -29,6 +29,7 @@ One of the following permissions is required to call this API. To learn more, in Permission type | Permission | Permission display name :---|:---|:--- Application | Machine.Isolate | 'Isolate machine' +Delegated (work or school account) | Machine.Isolate | 'Isolate machine' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/offboard-machine-api-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/offboard-machine-api-windows-defender-advanced-threat-protection-new.md index 7ef5465b2c..001aac7db4 100644 --- a/windows/security/threat-protection/windows-defender-atp/offboard-machine-api-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/offboard-machine-api-windows-defender-advanced-threat-protection-new.md @@ -29,6 +29,7 @@ One of the following permissions is required to call this API. To learn more, in Permission type | Permission | Permission display name :---|:---|:--- Application | Machine.Offboard | 'Offboard machine' +Delegated (work or school account) | Machine.Offboard | 'Offboard machine' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection-new.md index 863ca96953..0ecc9cd09c 100644 --- a/windows/security/threat-protection/windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection-new.md @@ -29,6 +29,7 @@ One of the following permissions is required to call this API. To learn more, in Permission type | Permission | Permission display name :---|:---|:--- Application | Machine.RestrictExecution | 'Restrict code execution' +Delegated (work or school account) | Machine.RestrictExecution | 'Restrict code execution' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection-new.md index e76b3d51be..d9adb2e60f 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection-new.md @@ -29,6 +29,7 @@ One of the following permissions is required to call this API. To learn more, in Permission type | Permission | Permission display name :---|:---|:--- Application | Machine.Scan | 'Scan machine' +Delegated (work or school account) | Machine.Scan | 'Scan machine' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection-new.md index 1f759231a2..aafaac2b2f 100644 --- a/windows/security/threat-protection/windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection-new.md @@ -29,6 +29,7 @@ One of the following permissions is required to call this API. To learn more, in Permission type | Permission | Permission display name :---|:---|:--- Application | Machine.Isolate | 'Isolate machine' +Delegated (work or school account) | Machine.Isolate | 'Isolate machine' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection-new.md index 4fef4dd344..6d624f7855 100644 --- a/windows/security/threat-protection/windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection-new.md @@ -29,6 +29,7 @@ One of the following permissions is required to call this API. To learn more, in Permission type | Permission | Permission display name :---|:---|:--- Application | Machine.RestrictExecution | 'Restrict code execution' +Delegated (work or school account) | Machine.RestrictExecution | 'Restrict code execution' ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/update-alert-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/update-alert-windows-defender-advanced-threat-protection-new.md index 6900e0585a..40f47a0edc 100644 --- a/windows/security/threat-protection/windows-defender-atp/update-alert-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/update-alert-windows-defender-advanced-threat-protection-new.md @@ -29,6 +29,7 @@ One of the following permissions is required to call this API. To learn more, in Permission type | Permission | Permission display name :---|:---|:--- Application | Alerts.ReadWrite.All | 'Read and write all alerts' +Delegated (work or school account) | Alert.ReadWrite | 'Read and write alerts' ## HTTP request ``` From bc045102fee3eae2e1d251f59c8c8879961106ea Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Wed, 22 Aug 2018 17:05:32 +0300 Subject: [PATCH 60/71] s --- .../exposed-apis-create-app-nativeapp.md | 13 +++++++++---- .../exposed-apis-create-app-webapp.md | 10 +++++----- .../images/nativeapp-select-permissions.png | Bin 50344 -> 52601 bytes 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md index d35e6536d6..2f96cc142c 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md @@ -75,12 +75,17 @@ If you are not familiar with user permissions on WDATP, please refer to [Manage 6. Click **Select permissions** > check **Read alerts** & **Collect forensics** > **Select**. - **Important note**: You need to select the relevant permissions. 'Read alerts' and 'Collect forensics' are only an examples! + **Important note**: You need to select the relevant permissions. 'Read alerts' and 'Collect forensics' are only an example! ![Image of select permissions](images/nativeapp-select-permissions.png) - - In order to send TI events to WDATP, check 'Read and write IOCs belonging to the app' permission - - In order to run advanced queries in WDATP, check 'Run advanced queries' permission + For instance, + + - In order to [run advanced queries](run-advanced-query-api.md), check 'Run advanced queries' permission + - In order to [isolate a machine](isolate-machine-windows-defender-advanced-threat-protection-new.md), check 'Isolate machine' permission + + To determine which permission you need, please look at the **Permissions** section in the API you are interested to call. + 7. Click **Done** @@ -146,7 +151,7 @@ Sanity check to make sure you got a correct token: ## Use the token to access Windows Defender ATP API - Choose the API you want to use - [Supported Windows Defender ATP APIs](exposed-apis-list.md) -- Set the Authorization header in the Http request you send to "Bearer {token}" (Bearer is the Authorization scheme) +- Set the Authorization header in the HTTP request you send to "Bearer {token}" (Bearer is the Authorization scheme) - The Expiration time of the token is 1 hour (you can send more then one request with the same token) - Example of sending a request to get a list of alerts **using C#** diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md index 6dc9ac40bd..627139a682 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md @@ -111,13 +111,13 @@ This page explains how to create an app, get an access token to Windows Defender ![Image of multi tenant](images/webapp-edit-multitenant.png) -### Application consent (for multi tenant apps only) +**Note**: -You need your application to be approved in each tenant where you intend to use it. This is because your application interacts with WDATP application on behalf of your customer. + You need your application to be approved in each tenant where you intend to use it. This is because your application interacts with WDATP application on behalf of your customer. -You (or your customer if you are writing a 3rd party application) need to click the consent link and approve your application. The consent should be done with a user who has admin privileges in the active directory. + You (or your customer if you are writing a 3rd party application) need to click the consent link and approve your application. The consent should be done with a user who has admin privileges in the active directory. -Consent link is of the form: + Consent link is of the form: ``` https://login.microsoftonline.com/common/oauth2/authorize?prompt=consent&client_id=00000000-0000-0000-0000-000000000000&response_type=code&sso_reload=true​ @@ -147,7 +147,7 @@ For more details on AAD token, refer to [AAD tutorial](https://docs.microsoft.co ``` string tenantId = "00000000-0000-0000-0000-000000000000"; // Paste your own tenant ID here string appId = "11111111-1111-1111-1111-111111111111"; // Paste your own app ID here - string appSecret = GetTheSecretFromSafePlace(); // Paste your own app secret here for a test, and then store it in a safe place! + string appSecret = "22222222-2222-2222-2222-222222222222"; // Paste your own app secret here for a test, and then store it in a safe place! const string authority = "https://login.windows.net"; const string wdatpResourceId = "https://api.securitycenter.windows.com/"; diff --git a/windows/security/threat-protection/windows-defender-atp/images/nativeapp-select-permissions.png b/windows/security/threat-protection/windows-defender-atp/images/nativeapp-select-permissions.png index 3e9ad569f09485987eedd80a564167117006cb44..5b17f2dc028a25a6c3299027695fb376646bf970 100644 GIT binary patch literal 52601 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
      &p@{WtP=SR;Qw`UxU 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 literal 50344 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%0AdJ`u7w!u!<^`wjHupaBNF#PA*P&8THbO z;N!W~DKWLHp;50_AK4g^Qh?wy^ZWtCK6=0i+LfKG@VDV{*}Z5Z^#;%RSINz5a=o-6 zT_zQFIb19(2C&Q6n}Em$%IQ~0=S1H$(1*+LKl*SVj=2q8_UPeqM~M#4R#ApFcRX_g z$8xEWI+c>m)@T2EG>|WYI*@PoaH5fCU4{T|o`Y4>a749UqV2G1e}bXyuRl@ddG&+u z7f1~Fn|rKCl}4&rx`8TBe*J>$`J2uk8{r~dS+|k!K4`*MEto})_Worx5pz5Pb1`;~a#Tv=Ltoj1Y7C1w4JlvzebC`h<0Nb$@@pds1(V}Ei>OW}6u5^u z3CEUJ)Y_bgO%8HQwd;HX=0rr(y<-OKtBgk5b7ci(_oeV`2edLOn<#2cYd-x5u{87Y zDcz{hCjw5}#KtE=E_8l8!>6!8Xa1$+Bz{48#H+m!-u{!68f!K0RR`9dCp33DGeOl) za9{aoaJc<_>r?UNWR|M$D_UxBpqg23v~CaN+(5|k`gW$|xc}@P#oAkI-vo*loXTf* z`X%jUm!9dmn1|1=G3FlpZn^b!7O0q|5mK*GlIIOb?#{4pc+Tx}!ESV3;n*+^gI$r2 z#6&rAxQOUm2_{~4g3fS{)%o$MUlB$I6;&E5UFWJUgtn3-+O{KGC_k&y2@`0M>T%!m zS%E2er1jrXUu&J9PubU!cVB9tzxwlyNT=`@Cmv=mOtYj|A9sN9Po|!sAuaSTuc2Qr zmX<47ya}8u4)n_V-p{d$_U#d=QrcwI@BH>YCA79^%v7j59Sh+;_v2tcr2Xc{o_PjF zMnbtAj}NE0?UE0CqclrG+X&Y#Y9t!nui-TUeZDld9hV%5)g%4bm?Ep?CG7 zBdMif9;=m4s@)r@m^l+>n5L~~b*$ws9f0Q<6zxBT{f1G!L|{9|@MnoH|DRP@pZ_c! z`|BO<{hrvv%FfQda)m}nV>h5_OhZHCW@?|nr>;7v?0t}wRK4OrO?kQ41U+yX?o?@) znm}7N;H;daKPtyKj%Fp$(ER-~{`+fIcB?o0{P}Y$6K%_I+`!_y$&rz`it!@xu0*UpY~a3Xhv#w*0rR5;$TZHL-O4VG5qI^;hu?3Lw(DXoEo$Jn_#xG7r-5)@wBc3 zXRba0uY=TfT+pMGDz1X}tC-PZa)FrCiEuPmqzvE3ehN9gQusshPY^n4XaCsr*6m*_ ziCc!&&CB6NEEduCu9mXJ9;hn%5n@TTv1DrvsN8A{{l&MyLrr2~5z(L#@SM~<@J&7I zEvTbjlXGjqTPl>#Y>7ft^}wF8yIF zx6gvRSDu`^Sh)vc$F-dC1~prj=E=y4JNK+1vPt_!zka=*IeW#jHvifDdI_(7f!ZfS z75PKk$6As}9j5yphi6+oNUu3O9IX>44!^y_kNy%=e6e2`>9v(7SdSDcN_qDpD-c}2 zevOI5O#1QHiCQ21GYLrE4RjICDaP61r0ZZq`Nzdic7ijVv z(#E^lJQ&=xB6WP(N?@_PKTb#Un|I*?#nJzh;0QLxWbW7ZSU9x?8e^1F=mG@wJ z;Y7vQ9eb>%eIv`yfVN37#wslz6e3bU!!uh>YRUng46j>w);)R7g%at-_!Y5pGZ^~H zZ*KKr`$??SlTKFL2lVgpmz=75H1k{}fgu|SobSE%dQveSn(J@(#mksBEGqG)Bg3|% zSr}QVq8tD#qjGn}LKx^{V#XEhi3O=uGZhoW_a6RR+}^ky9^^#KO;~e^73*kW6GV`^ zu{*X<^PHv+8@g8o5r#0mp)UR9rNaQRetTW2RavzcYG#XnT23|cRpm+wV?RSRzq!kn*2<5w)?s<{ zJNuhv{Tfa7s)~I;)k;u?vk&GRTrS7oJS7cr&~`u|YL=t))Ep3*v!)t};csU~jU&=U za!#tJZF!J9eAt-PTX5-mn8#Pr4gdQSwbye6Gcj!G{Fj;Xl(pP+1~rebF zWk}VlD6IBy?PrytfT8yFbKJ|bNQ-42355}@=uRi9qvHF{Yef$xr;kwS`YoX46NV%J z`QqqgCQqr0{Hbc=+oCEc@8ECC8t?|CKI7R4+U*NFqtwn&q-}f|%E_#}+|97`-N%<@ zR(1Pyb8Ek7dI~SXX6(fH(_ikIRk&T;sEhmUA@Suw&T4&(s>R@0@d=5wGbf~KuNTDp zCb2>{J}qwx3=m(Gvcvr1t6p1&$opB{Vb;=YmdFnWj2kwNnRI7}1m(6Z4R{lB;RY<5oo(Z+#Yg+^5dWd?7T$m=|52RTX9bMb26^ zjgOBrw!paktn_W8qLv1Y{~u zWw*V^G{FKNf3;moZQn{kzeP`4P3Xc`8hGR0N7F5echD4*Z`0w}B!pD0Ge;;!EkGsQ z0}OJpHuk4yrTIGk@Fk*<1H;8vQsAZwj-IrA4LFCa`qJw95us{lM7`e2Vl$gE&nG)A zqq9>O_JBa$+G?B)qK^b%vI(g|JANc+4CF+;NO_D*2Lp~VF!VQ-cc z>bd~AC>hwqLH%fGd_x*bH3;l-FDsCxy#R7U*OPxD5rX!I(}VPN9l^ayX{vL*N;*C= z3?Zt`_^m}v8Dt-m@2edoJDaFwVI!mt!z8RczcKDH)!taaSDw1qAMN4u&T1&~yIcJ| zC8bcV6CpV_VFPT9`S~}WR~kPTzg#QP`3(-|-QioW;RhkpT~5)3xGyjIH^V<~d4ctQ zPI)>vEbsYO&mz=_|MV*|OQ;S&-rGMD(~mP~&(JUlP`PJPEW;m(^b3Ec03K5tT7d1| zKT^(gKtTksUHR)BuGO2B3=R%j(I2z2?_S(&hd4N>jyoA7t9KB4#VYdiyU4yZ(b3W4 z3P5greGK7SNd!}sCZ_We0fV9m!Tv*{`|qFe-(K_8zxLPwKdQ!3Gf1~>$v>_S`K0q< z&oxGerfpQiX1G7AD}_FddgDSG#Bf~NJ7ru(Lg9_9kuteXA0UCH!G+gM_v5!a_sKM6 zrw&M^hj(@qH|s0b9loE*-RdFZhhs*foqtzi<_D^>)6F8%g{b_Pw~k#}90=@V(x~-9YwUf4uho&4FhQ9S zd~2Tn4gBHzwT@LTxpH-T^wiF%f5Ja+Sv$N!lg){pgVWNNPF}`2{FYP6Hy2^W)S=N? ze=6JuldV{uxwlX8@c39xc+}#H`L&ue*DT4*25Ij~?Wd%Ni-RPzTmyFZ6Kf_B!RpZb zI63QnAKL{&Je{M+zNid04dJWWgH9*lv)^w@498ei&L%G;&SFRTJXhCaJ7WF@Vz)0{a?w=9I-M#s zf)C2&DG!@Jvj}grX19a!8-)AM*%ZmPx?18m6o*P)8fA337wFCv+h8A(1oyhaPEIb_ zj4MR*zPc-&e~c*9l<0fdzi`#XB3IDa-wgTsG^rYxgYzYMq1ec?dfRedArruCIgjZd z+!K70*s&Y{y(X@*3Lc?AFnjB6;c0^>NWwB`@eSdo;sW!d?O#qJ=XmwxF2+7CF|VS2 z|7F#9RSj!3S~j)L;cjurw4O4sokJq$=bVG*#rvb!2^Hkc!Mc2v{EbK8XN+r)a{(mY z>Hr{EAItn%_@zDCgK_-I${Vk|T)~`|Pl9JkbZ)eqPMY{+&dv~~yY|(w>_Wm~#scNt zeRNTa-|;(K4n{S&?c{~8u??R|;ev{@;p2>s5KPI2R)W4&=%(SK;giOm!qV*|(}Io; zG=US=r+940uJVEtYnaME;C3vs>EeyrL}^x#Oqp zas{zsnOAQhFw8YK)I0?inoFI#O_SXhyTiVxn1J#RE@JLGGlb8}7Bn5s5%T(yN|*IHX8FA}*-hwJ>p-@Q_SHxM{EOa+;6!htFLV1opc zEa#X*B5r)zs1Ql?Tu%u_(6 zywA=1yYy4dMZ^l4B8LMJ^J!NU#XmP`PlSyZwfPM6GCLK(M=57O%`r*2vS^^!lMlqM)Rt>lOh;NTXV z?rd#sUBe7u>ur$Bl+%8{2=G{B2sfwzoB{enk^4Wv;lGKB{Yh;uIZ~8v=B?>U%aQA% zL8hWS{v(>lGSg0!ODKYr>>@m1(ONxa4cC8z z#wVV<7-^*`djND``jfpT_+=wB^A8 z#Ic#>!PLnO3swf?+s5M-)24QB9`3jZ7ava4GpfWd1JTFByVtq2!2u$^%U+P3fpHzO zy9AEtWZnL7M?!~m{Gy@D=M0Or&>td=9wN7CDti`U>^ct{wXH=Dyuomsdql*RCC{F7 zj-~%#On%88K4W)hQONS(o*flD+^saZ&ksLtJ^jf-dPqbAoBza$_JLD|Ig1w=>3r$2 z(~yBTTc%1NOAc9L1eaf<;@WXZAAwZqYMpkGE8fc6ye@0By$|Em$}dF2^=RC;TO?p8 z4i{pjQuX9oukLomQIKmolsXkP(mQ8ZiRdmg;97%Q)fAA%B8)>g!#%{O-#XOAK zwtt%47AbyXDCRdt&l}Z~<}Ibebb@^nPHN@%tPPAaMbrMZ ztLxmT;6;jCwdj52Iika5DSwL4HM6%IuEwC zJ+Ix&k+Xijwq)Q@SaQ9rj;Q$aJ-2)rib=y8)!d;tE!6_E{akQ3!v)JU`{R z{htB+_C`!|YYx@*ObV?tfo3G0I$3aS@v8zT!>id%I(s&N7jdF6U5Pk#zVeZ0Od(oG z_o9pjOFsb3GTKbyb>ep{iaa^+r|2+evzA{sJ6E#Ub=RmwR`a|Tx2OMM%6i}=!zv&EfZSo){7EB9z0uQ72>TJOV6 z8wtGBkN!3nC7H{5fu}MMO;=cELGm=+cxAu4(NCuD>}NaRC`vSycmX=H|MP34RNVb; zfzXBTnL?5srs#NfOtwTs*Qr3T+Fju(G5IQe)Oi`>WbF;)ZQi_52g>-$iKGH{>8`Fg z6>}vDxn}$KZbo@fFX=>0PNv-DG@I24;qY&EX2e$Myc?6H#4Zs=y5U^!^K5pr*x_6# zB?dGhQtCHWm!IQgUU0K8-2i#+N%qL)O~FgfydNfrNxu7Y$d`dO0#FEk>v<*@c#_5v z9knl1W{I=ES??l`P=XRrHM1h`3NgO}T5&4CjKabx+sesD1w(f38?^W3G#pVOUxv}u}up`$R^?lTAJl$)}PF$Pe!H2Mqkg}8! zpMvoVP5swO#aAY=b}7LL((X(Jmw9h@gD=r zQXJ`@5;Xe3CzE%WL9UDf#ie#|@F`8}Ta+o-tc@AKf^Zi$?iITw8p2VXfHj z1M3kzaLa{)%%VuRBH(c#&Uz^RdxgO-IrrI#JxK?Hug(f)zL|6RPQ0AoL82we6|b%$ z4vsy57)qT=xpEQZ6RQZrIQeMOqMr@mL}`;4>V2EL;eBUV*SHFN-m69vrDvo-CEUR{ zWms_wdyS6CvzpHB1lj071J~bL^|T$upP==sdK3gHD(5O8)uJK2C52;A4P$f#OD#`p z0EMa=tyS+Prj^LX8LIP|X+8(j1MP%E38(ulQvv-?3NTcj-*m5=yTewlx&FntiUD?A z)P$NOT}gXCY<}^rdNpcULgRkVn&FnOM&sKZCAsi@jpqD}T@6{Te#hFrdS&C+_BwKM zd8@5McUbxvHk=8%xldUQ=lhN;_O?Oa_PKF&5nqysnqwK(DPbp9iD@5B-+S4e`Oy`$>F+-kIoFzM`LF(liVPKCPTXg^6fe?0-c zv-zm`a$!D0O6gPAR1aD6r#Qz|`vQ1B?G(aUXCSS|S=)0fscc5b@N5<@f3$!syU(wF z$?aC~OHWr!=k4{Z%(vM26V;&L24A=G;>>#e#kcc?i>w?62jn48$-?Y{zG*PbxbrkA zIw8fnv%`Nuulh$Cd`2cO_>$77>JFn|7-gA~Ocb?5AJ})7?Akudy_ToNsRI&J{cUZv5w_!BWZcTD1~4 z%hNt&X}k$2VCXc0r$TA-dCVszhwVf13-Fpt*@{B&rdFK0Q|Ii3u6eiD;o&F2r)bo4 z6=0%Xy1KgEHkIAa#38mZ9{@UIRcnOLeRdcQ&D|a8(vdJQ2?A>B$PS0K9)~EHZtJe4 z)SBbLN>#?0UN%-h!26qi(1R;9(`LV*B-l_*LT>eLil#Y|VB?KTdH2+B2OGN-3!(fr z!)kj1*!#ufmyCQn+@smJHGO$ zlJlFpPo<@#a-2Yg>b!GaoY#TpLpV+~l}frXBO&X~8D3^H?R+J%E4xNm^; z5I~;2eB=Jnz^Eqbo=`|m-w8vOr&>_C`EU#ipXQITa%QUFxmt&cR$Wdl%gW)Q z?W>Ni1djr*bco*_fC8SbdnjxuclbM}Oab#Y&k)%^c3Jdr@mQs&F?fdSm5{98H(is%wUI`hE)$_$&H6wZ<~UBl2?E6EpPRdS`<=z zLZ`4UY{Dr|nlKh9dVfod5u{#$yhPfYZ#F6R%++jABmRn*^IIL+-D5kf(Pl<6;=#a^ z`|@t>r8(^{ZX+wN0A?ZJFYqqohYMQZJi~!IlZJqg+-oEs*19U`9E85{UxgZAGTR8Jd%~Kzxfvs?jW{(?H+L13&pSy3qy{CZmS;@Y} zR*LagC{y7uNWsVzAe$-i=>Z!_n*xiDXza3QPeQcG=Jv`|3P3*e#_)d4peBV#u@N#- zW;xNAq7PHIiwv0`mB!|773Sgx-~QN-dx(SY6bb*B=i?r|K9E`(vi{7%S4j{bm}&xn zjJ!@J`|T~ULCbTu4z6GKTbX81aY3qi2Tscg2a`@mD^Nbxo}*sibk#X4F1GaG^i4cs z^H2$U_;b12(iIBA*BK;Q_`L=>#n?~o@@;juvLTYW*h(kzI4~9kf}kRdKAW1$bG+n+ zz9^T>=Xa&f!_kJtgKxbL5=PA-ZX1PeZou+^!%O~V#r2?)FYT~okghQ1$1iQZjFJX* zHos4tY!16_OV31XBe;65)pYu83M0L4Wm#*U?9bM1k5HC}G!5auKXnnI9;L;8ntM!F z)M4e2qAFU1%f?SM+#jH9v8h_V$XZ1ZPjWnkVSdDN4>=kh#;oGfNUJZSYkn~8&@mA< z=yg>E3lhKv0z~y52*P~B+j2p~ShSA*Vv;!$cl_Pn7kPku8cDoi{8BzyKJ$8n#o$zK zP%-TASuC$sF}l$O;zqm7YSO$dE)1?RwAMlvU4Ou2j~@$TN^4MF9<{ViEO`zsG4pSl zN(wNGT?2m?@>dqk-T4u@xbp0el^ef02FmIxzsg8{s;9LgpM3y^jEsV(O7nc*md#aY z^flb@i=0wF)KOAu9-J!`!8AhZtM$r@m+q<5I*oRyY1;iPx0LBw9ZmNzVBGdRGTdBS zd#S4ynSUBeUN|q%^0AP4 lLo+g=5D#2r2KU259=l@32*$IP+SJuNQqfc{xo7q2zW`P9k(U4f From 78c691c209886e8b5532b7bbba293d0f068493e2 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Wed, 22 Aug 2018 11:10:45 -0700 Subject: [PATCH 61/71] edit link --- .../windows-defender-atp/run-advanced-query-api.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-api.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-api.md index 8a6c8b5831..4de26da4ed 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-api.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-api.md @@ -10,7 +10,7 @@ ms.pagetype: security ms.author: macapara author: mjcaparas ms.localizationpriority: medium -ms.date: 30/07/2018 +ms.date: 09/03/2018 --- # Advanced hunting API @@ -130,7 +130,7 @@ Content-Type: application/json​ Check [app permissions](exposed-apis-create-app-webapp.md#validate-the-token) or [delegated permissions](exposed-apis-create-app-nativeapp.md#validate-the-token) included in your token. If the 'roles' section in the token does not include the necessary permission, - either you did not add the necessary permission to your app (refer to [Access Windows Defender ATP without a user](exposed-apis-create-app-webapp.md#create-an-app) or [Access Windows Defender ATP on behalf of a user](exposed-apis-create-app-nativeapp.md#create-an-app)) - - or you did not authorized your app in the tenant (refer to [Application consent](exposed-apis-create-app-webapp.md#application-consent)) + - or you did not authorize your app in the tenant see, [Application consent](exposed-apis-create-app-webapp.md#application-consent). ## Related topic From 06b836a9505d3b0d223bdbfeb546940fd5ab0e20 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Wed, 22 Aug 2018 14:35:10 -0700 Subject: [PATCH 62/71] add application consent section --- .../exposed-apis-create-app-nativeapp.md | 6 +++--- .../exposed-apis-create-app-webapp.md | 10 +++++----- .../windows-defender-atp/run-advanced-query-api.md | 14 +++++++++----- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md index 2f96cc142c..f3d72bd653 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md @@ -81,8 +81,8 @@ If you are not familiar with user permissions on WDATP, please refer to [Manage For instance, - - In order to [run advanced queries](run-advanced-query-api.md), check 'Run advanced queries' permission - - In order to [isolate a machine](isolate-machine-windows-defender-advanced-threat-protection-new.md), check 'Isolate machine' permission + - In order to [run advanced queries](run-advanced-query-api.md), check 'Run advanced queries' permission + - In order to [isolate a machine](isolate-machine-windows-defender-advanced-threat-protection-new.md), check 'Isolate machine' permission To determine which permission you need, please look at the **Permissions** section in the API you are interested to call. @@ -110,7 +110,7 @@ For more details on AAD token, refer to [AAD tutorial](https://docs.microsoft.co ### Using C# ->The below code was tested with nuget Microsoft.IdentityModel.Clients.ActiveDirectory 3.19.8 +The code was below tested with nuget Microsoft.IdentityModel.Clients.ActiveDirectory 3.19.8 - Create a new Console Application - Install Nuget [Microsoft.IdentityModel.Clients.ActiveDirectory](https://www.nuget.org/packages/Microsoft.IdentityModel.Clients.ActiveDirectory/) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md index b993edea97..20e0d808b8 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md @@ -114,13 +114,12 @@ This page explains how to create an app, get an access token to Windows Defender ![Image of multi tenant](images/webapp-edit-multitenant.png) -**Note**: +## Application consent +You need your application to be approved in each tenant where you intend to use it. This is because your application interacts with WDATP application on behalf of your customer. - You need your application to be approved in each tenant where you intend to use it. This is because your application interacts with WDATP application on behalf of your customer. +You (or your customer if you are writing a 3rd party application) need to click the consent link and approve your application. The consent should be done with a user who has admin privileges in the active directory. - You (or your customer if you are writing a 3rd party application) need to click the consent link and approve your application. The consent should be done with a user who has admin privileges in the active directory. - - Consent link is of the form: +Consent link is of the form: ``` https://login.microsoftonline.com/common/oauth2/authorize?prompt=consent&client_id=00000000-0000-0000-0000-000000000000&response_type=code&sso_reload=true​ @@ -217,6 +216,7 @@ Sanity check to make sure you got a correct token: // Do something useful with the response ``` + ## Related topics - [Windows Defender ATP APIs](exposed-apis-intro.md) - [Supported Windows Defender ATP APIs](exposed-apis-list.md) diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-api.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-api.md index 6f722c1194..b53851bf20 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-api.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-api.md @@ -125,13 +125,17 @@ Content-Type: application/json​ ## T​roubl​eshooting: -- (403) Forbidden. +- Error: (403) Forbidden - If you get this error when calling WDATP API, your token probably does not include the necessary permission, + + If you get this error when calling WDATP API, your token probably does not include the necessary permission. + Check [app permissions](exposed-apis-create-app-webapp.md#validate-the-token) or [delegated permissions](exposed-apis-create-app-nativeapp.md#validate-the-token) included in your token. - If the 'roles' section in the token does not include the necessary permission, - - either you did not add the necessary permission to your app (refer to [Access Windows Defender ATP without a user](exposed-apis-create-app-webapp.md#create-an-app) or [Access Windows Defender ATP on behalf of a user](exposed-apis-create-app-nativeapp.md#create-an-app)) - - or you did not authorize your app in the tenant see, [Application consent](exposed-apis-create-app-webapp.md#application-consent). + + If the 'roles' section in the token does not include the necessary permission: + + - The necessary permission to your app might not have been granted. For more information, see [Access Windows Defender ATP without a user](exposed-apis-create-app-webapp.md#create-an-app) or [Access Windows Defender ATP on behalf of a user](exposed-apis-create-app-nativeapp.md#create-an-app) or, + - The app was not authorized in the tenant, see [Application consent](exposed-apis-create-app-webapp.md#application-consent). ## Related topic From 8d45fba6d44d9cfe313c22464ff99000323bed5d Mon Sep 17 00:00:00 2001 From: David Laufer Date: Thu, 23 Aug 2018 14:34:33 +0300 Subject: [PATCH 63/71] Add tutorial to run Power BI with user token --- .../windows-defender-atp/TOC.md | 2 +- .../exposed-apis-create-app-nativeapp.md | 2 +- .../exposed-apis-create-app-webapp.md | 2 +- ...=> power-bi-set-credentials-anonymous.png} | Bin ...bi-set-credentials-organizational-cont.png | Bin 0 -> 14831 bytes ...ower-bi-set-credentials-organizational.png | Bin 0 -> 14222 bytes ...ows-defender-advanced-threat-protection.md | 2 +- ...vanced-query-sample-power-bi-app-token.md} | 9 +- ...vanced-query-sample-power-bi-user-token.md | 112 ++++++++++++++++++ 9 files changed, 122 insertions(+), 7 deletions(-) rename windows/security/threat-protection/windows-defender-atp/images/{power-bi-set-credentials.png => power-bi-set-credentials-anonymous.png} (100%) create mode 100644 windows/security/threat-protection/windows-defender-atp/images/power-bi-set-credentials-organizational-cont.png create mode 100644 windows/security/threat-protection/windows-defender-atp/images/power-bi-set-credentials-organizational.png rename windows/security/threat-protection/windows-defender-atp/{run-advanced-query-sample-power-bi.md => run-advanced-query-sample-power-bi-app-token.md} (91%) create mode 100644 windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi-user-token.md diff --git a/windows/security/threat-protection/windows-defender-atp/TOC.md b/windows/security/threat-protection/windows-defender-atp/TOC.md index 5fca7a6375..3aabd75f2e 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -157,7 +157,7 @@ ##### [Schedule advanced Hunting using Microsoft Flow](run-advanced-query-sample-ms-flow.md) ##### [Advanced Hunting using PowerShell](run-advanced-query-sample-powershell.md) ##### [Advanced Hunting using Python](run-advanced-query-sample-python.md) -##### [Create custom Power BI reports](run-advanced-query-sample-power-bi.md) +##### [Create custom Power BI reports](run-advanced-query-sample-power-bi-app-token.md) ### [Use the Windows Defender ATP exposed APIs](exposed-apis-windows-defender-advanced-threat-protection.md) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md index f3d72bd653..06c9891fa8 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md @@ -124,7 +124,7 @@ The code was below tested with nuget Microsoft.IdentityModel.Clients.ActiveDire ``` const string authority = "https://login.windows.net"; - const string wdatpResourceId = "https://api.securitycenter.windows.com/"; + const string wdatpResourceId = "https://api.securitycenter.windows.com"; string tenantId = "00000000-0000-0000-0000-000000000000"; // Paste your own tenant ID here string appId = "11111111-1111-1111-1111-111111111111"; // Paste your own app ID here diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md index 20e0d808b8..8d0dee467f 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md @@ -152,7 +152,7 @@ For more details on AAD token, refer to [AAD tutorial](https://docs.microsoft.co string appSecret = "22222222-2222-2222-2222-222222222222"; // Paste your own app secret here for a test, and then store it in a safe place! const string authority = "https://login.windows.net"; - const string wdatpResourceId = "https://api.securitycenter.windows.com/"; + const string wdatpResourceId = "https://api.securitycenter.windows.com"; AuthenticationContext auth = new AuthenticationContext($"{authority}/{tenantId}/"); ClientCredential clientCredential = new ClientCredential(appId, appSecret); diff --git a/windows/security/threat-protection/windows-defender-atp/images/power-bi-set-credentials.png b/windows/security/threat-protection/windows-defender-atp/images/power-bi-set-credentials-anonymous.png similarity index 100% rename from windows/security/threat-protection/windows-defender-atp/images/power-bi-set-credentials.png rename to windows/security/threat-protection/windows-defender-atp/images/power-bi-set-credentials-anonymous.png diff --git a/windows/security/threat-protection/windows-defender-atp/images/power-bi-set-credentials-organizational-cont.png b/windows/security/threat-protection/windows-defender-atp/images/power-bi-set-credentials-organizational-cont.png new file mode 100644 index 0000000000000000000000000000000000000000..049d3ed6ee5bd85a6eaa994bb4281f6ae65af0b6 GIT binary patch literal 14831 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 Xc|rCwzU=0ny)-d2H>l9N{p5cEHx&?2 literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-atp/images/power-bi-set-credentials-organizational.png b/windows/security/threat-protection/windows-defender-atp/images/power-bi-set-credentials-organizational.png new file mode 100644 index 0000000000000000000000000000000000000000..054470d70e278ccc4ae39951dc33cdf1128df43e GIT binary patch literal 14222 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 literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-atp/powerbi-reports-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/powerbi-reports-windows-defender-advanced-threat-protection.md index 05a565f9f6..8c862f8208 100644 --- a/windows/security/threat-protection/windows-defender-atp/powerbi-reports-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/powerbi-reports-windows-defender-advanced-threat-protection.md @@ -201,7 +201,7 @@ In general, if you know of a specific threat name, CVE, or KB, you can identify ## Related topic -- [**Beta** Create custom Power BI reports](run-advanced-query-sample-power-bi.md) +- [**Beta** Create custom Power BI reports](run-advanced-query-sample-power-bi-app-token.md) diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi-app-token.md similarity index 91% rename from windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi.md rename to windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi-app-token.md index d3abe10318..390baca350 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi-app-token.md @@ -19,7 +19,9 @@ Run advanced queries and show results in Microsoft Power BI. Please read about [ In this section we share Power BI query sample to run a query using application token. ->**Prerequisite**: You first need to [create an app](exposed-apis-intro.md). +If you want to use user token instead please refer to [this](run-advanced-query-sample-power-bi-user-token.md) tutorial. + +>**Prerequisite**: You first need to [create an app](exposed-apis-create-app-webapp). ## Run a query @@ -33,7 +35,7 @@ In this section we share Power BI query sample to run a query using application ![Image of open advanced editor](images/power-bi-open-advanced-editor.png) -- Copy the below and paste it in the editor, after you update the values of _TenantId, _AppId, _AppSecret, _Query +- Copy the below and paste it in the editor, after you update the values of TenantId, AppId, AppSecret, Query ``` let @@ -108,7 +110,7 @@ In this section we share Power BI query sample to run a query using application - Select **Anonymous** and click **Connect** - ![Image of set credentials](images/power-bi-set-credentials.png) + ![Image of set credentials](images/power-bi-set-credentials-anonymous.png) - Repeat the previous step for the second URL @@ -125,6 +127,7 @@ In this section we share Power BI query sample to run a query using application ![Image of query results](images/power-bi-query-results.png) ## Related topic +- [Create custom Power BI reports with user authentication](run-advanced-query-sample-power-bi-user-token.md) - [Windows Defender ATP APIs](exposed-apis-intro.md) - [Advanced Hunting API](run-advanced-query-api.md) - [Advanced Hunting using PowerShell](run-advanced-query-sample-powershell.md) diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi-user-token.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi-user-token.md new file mode 100644 index 0000000000..d4ceebb3fa --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi-user-token.md @@ -0,0 +1,112 @@ +--- +title: Advanced Hunting API +description: Use this API to run advanced queries +keywords: apis, supported apis, advanced hunting, query +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 30/07/2018 +--- + +# Create custom reports using Power BI + +Run advanced queries and show results in Microsoft Power BI. Please read about [Advanced Hunting API](run-advanced-query-api.md) before. + +In this section we share Power BI query sample to run a query using user token. + +If you want to use application token instead please refer to [this](run-advanced-query-sample-power-bi-app-token.md) tutorial. + +>**Prerequisite**: You first need to [create an app](exposed-apis-create-app-nativeapp). + +## Run a query + +- Open Microsoft Power BI + +- Click **Get Data** > **Blank Query** + + ![Image of create blank query](images/power-bi-create-blank-query.png) + +- Click **Advanced Editor** + + ![Image of open advanced editor](images/power-bi-open-advanced-editor.png) + +- Copy the below and paste it in the editor, after you update the values of Query + + ``` + let + + Query = "MachineInfo | where EventTime > ago(7d) | summarize EventCount=count(), LastSeen=max(EventTime) by MachineId", + + AdvancedHuntingUrl = "https://api.securitycenter.windows.com/advancedqueries/query", + + Response = Json.Document(Web.Contents( + AdvancedHuntingUrl, + [ + Query=[#"queryText"=Query] + ] + )), + + TypeMap = #table( + { "Type", "PowerBiType" }, + { + { "Double", Double.Type }, + { "Int64", Int64.Type }, + { "Int32", Int32.Type }, + { "Int16", Int16.Type }, + { "UInt64", Number.Type }, + { "UInt32", Number.Type }, + { "UInt16", Number.Type }, + { "Byte", Byte.Type }, + { "Single", Single.Type }, + { "Decimal", Decimal.Type }, + { "TimeSpan", Duration.Type }, + { "DateTime", DateTimeZone.Type }, + { "String", Text.Type }, + { "Boolean", Logical.Type }, + { "SByte", Logical.Type }, + { "Guid", Text.Type } + }), + + Schema = Table.FromRecords(Response[Schema]), + TypedSchema = Table.Join(Table.SelectColumns(Schema, {"Name", "Type"}), {"Type"}, TypeMap , {"Type"}), + Results = Response[Results], + Rows = Table.FromRecords(Results, Schema[Name]), + Table = Table.TransformColumnTypes(Rows, Table.ToList(TypedSchema, (c) => {c{0}, c{2}})) + + in Table + + ``` + +- Click **Done** + + ![Image of create advanced query](images/power-bi-create-advanced-query.png) + +- Click **Edit Credentials** + + ![Image of edit credentials](images/power-bi-edit-credentials.png) + +- Select **Organizational account** > **Sign in** + + ![Image of set credentials](images/power-bi-set-credentials-organizational.png) + +- Enter your credentials and wait to be signed in + +- Click **Connect** + + ![Image of set credentials](images/power-bi-set-credentials-organizational-cont.png) + +- View the results of your query + + ![Image of query results](images/power-bi-query-results.png) + +## Related topic +- [Create custom Power BI reports with app authentication](run-advanced-query-sample-power-bi-app-token.md) +- [Windows Defender ATP APIs](exposed-apis-intro.md) +- [Advanced Hunting API](run-advanced-query-api.md) +- [Advanced Hunting using PowerShell](run-advanced-query-sample-powershell.md) +- [Schedule Advanced Hunting](run-advanced-query-sample-ms-flow.md) From 9c9d0cf1fddd5f0235d51333d78d207440b39248 Mon Sep 17 00:00:00 2001 From: David Laufer Date: Thu, 23 Aug 2018 14:52:55 +0300 Subject: [PATCH 64/71] Fix --- .../run-advanced-query-sample-power-bi-app-token.md | 4 ++-- .../run-advanced-query-sample-power-bi-user-token.md | 2 +- .../run-advanced-query-sample-powershell.md | 2 +- .../windows-defender-atp/run-advanced-query-sample-python.md | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi-app-token.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi-app-token.md index 390baca350..6613b39e3c 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi-app-token.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi-app-token.md @@ -21,7 +21,7 @@ In this section we share Power BI query sample to run a query using application If you want to use user token instead please refer to [this](run-advanced-query-sample-power-bi-user-token.md) tutorial. ->**Prerequisite**: You first need to [create an app](exposed-apis-create-app-webapp). +>**Prerequisite**: You first need to [create an app](exposed-apis-create-app-webapp.md). ## Run a query @@ -45,7 +45,7 @@ If you want to use user token instead please refer to [this](run-advanced-query- AppSecret = "22222222-2222-2222-2222-222222222222", // Paste your own app secret here Query = "MachineInfo | where EventTime > ago(7d) | summarize EventCount=count(), LastSeen=max(EventTime) by MachineId", // Paste your own query here - ResourceAppIdUrl = "https://securitycenter.onmicrosoft.com/windowsatpservice", + ResourceAppIdUrl = "https://api.securitycenter.windows.com", OAuthUrl = Text.Combine({"https://login.windows.net/", TenantId, "/oauth2/token"}, ""), Resource = Text.Combine({"resource", Uri.EscapeDataString(ResourceAppIdUrl)}, "="), diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi-user-token.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi-user-token.md index d4ceebb3fa..c7ab12996f 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi-user-token.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi-user-token.md @@ -21,7 +21,7 @@ In this section we share Power BI query sample to run a query using user token. If you want to use application token instead please refer to [this](run-advanced-query-sample-power-bi-app-token.md) tutorial. ->**Prerequisite**: You first need to [create an app](exposed-apis-create-app-nativeapp). +>**Prerequisite**: You first need to [create an app](exposed-apis-create-app-nativeapp.md). ## Run a query diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-powershell.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-powershell.md index 22c4ca1362..0bb63ec221 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-powershell.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-powershell.md @@ -40,7 +40,7 @@ $tenantId = '00000000-0000-0000-0000-000000000000' # Paste your own tenant ID he $appId = '11111111-1111-1111-1111-111111111111' # Paste your own app ID here $appSecret = '22222222-2222-2222-2222-222222222222' # Paste your own app secret here -$resourceAppIdUri = 'https://securitycenter.onmicrosoft.com/windowsatpservice' +$resourceAppIdUri = 'https://api.securitycenter.windows.com' $oAuthUri = "https://login.windows.net/$TenantId/oauth2/token" $body = [Ordered] @{ resource = "$resourceAppIdUri" diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-python.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-python.md index 913731e59d..0f07bf3b7d 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-python.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-python.md @@ -37,7 +37,7 @@ appSecret = '22222222-2222-2222-2222-222222222222' # Paste your own app secret h url = "https://login.windows.net/%s/oauth2/token" % (tenantId) -resourceAppIdUri = 'https://securitycenter.onmicrosoft.com/windowsatpservice' +resourceAppIdUri = 'https://api.securitycenter.windows.com' body = { 'resource' : resourceAppIdUri, From 375c98f0eb6fd7c9b79bf5a0c41d2ef257a98a12 Mon Sep 17 00:00:00 2001 From: David Laufer Date: Thu, 23 Aug 2018 14:55:51 +0300 Subject: [PATCH 65/71] Fix --- .../run-advanced-query-sample-power-bi-app-token.md | 6 +++--- .../run-advanced-query-sample-power-bi-user-token.md | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi-app-token.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi-app-token.md index 6613b39e3c..39bde0a8c5 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi-app-token.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi-app-token.md @@ -13,13 +13,13 @@ ms.localizationpriority: medium ms.date: 30/07/2018 --- -# Create custom reports using Power BI +# Create custom reports using Power BI (app authentication) Run advanced queries and show results in Microsoft Power BI. Please read about [Advanced Hunting API](run-advanced-query-api.md) before. -In this section we share Power BI query sample to run a query using application token. +In this section we share Power BI query sample to run a query using **application token**. -If you want to use user token instead please refer to [this](run-advanced-query-sample-power-bi-user-token.md) tutorial. +If you want to use **user token** instead please refer to [this](run-advanced-query-sample-power-bi-user-token.md) tutorial. >**Prerequisite**: You first need to [create an app](exposed-apis-create-app-webapp.md). diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi-user-token.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi-user-token.md index c7ab12996f..aa6da165e7 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi-user-token.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi-user-token.md @@ -13,13 +13,13 @@ ms.localizationpriority: medium ms.date: 30/07/2018 --- -# Create custom reports using Power BI +# Create custom reports using Power BI (user authentication) Run advanced queries and show results in Microsoft Power BI. Please read about [Advanced Hunting API](run-advanced-query-api.md) before. -In this section we share Power BI query sample to run a query using user token. +In this section we share Power BI query sample to run a query using **user token**. -If you want to use application token instead please refer to [this](run-advanced-query-sample-power-bi-app-token.md) tutorial. +If you want to use **application token** instead please refer to [this](run-advanced-query-sample-power-bi-app-token.md) tutorial. >**Prerequisite**: You first need to [create an app](exposed-apis-create-app-nativeapp.md). From c9dc41dc35c3c4ed7809e6060a99af8f4d8af3ca Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Sat, 25 Aug 2018 16:46:20 -0700 Subject: [PATCH 66/71] content edits --- .../exposed-apis-create-app-nativeapp.md | 11 +++++------ .../exposed-apis-create-app-webapp.md | 15 ++++++--------- .../windows-defender-atp/exposed-apis-intro.md | 17 +++++++---------- 3 files changed, 18 insertions(+), 25 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md index 06c9891fa8..7cb9fa31b2 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-nativeapp.md @@ -10,22 +10,21 @@ ms.pagetype: security ms.author: macapara author: mjcaparas ms.localizationpriority: medium -ms.date: 30/07/2018 +ms.date: 09/03/2018 --- # Use Windows Defender ATP APIs **Applies to:** - -- Windows 10 Enterprise -- Windows 10 Education -- Windows 10 Pro -- Windows 10 Pro Education - Windows Defender Advanced Threat Protection (Windows Defender ATP) >Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-exposedapis-abovefoldlink) + +[!include[Prerelease information](prerelease.md)] + + This pages describes how to create an application to get programmatical access to Windows Defender ATP on behalf of a user. If you need programmatical access Windows Defender ATP without a user, please refer to [Access Windows Defender ATP without a user](exposed-apis-create-app-webapp.md) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md index 8d0dee467f..fd70a944f0 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md @@ -1,5 +1,5 @@ --- -title: Use Windows Defender Advanced Threat Protection APIs +title: Create an app to access Windows Defender ATP without a user description: Use the exposed data and actions using a set of progammatic APIs that are part of the Microsoft Intelligence Security Graph. keywords: apis, graph api, supported apis, actor, alerts, machine, user, domain, ip, file, advanced hunting, query search.product: eADQiWindows 10XVcnh @@ -10,29 +10,26 @@ ms.pagetype: security ms.author: macapara author: mjcaparas ms.localizationpriority: medium -ms.date: 30/07/2018 +ms.date: 09/03/2018 --- # Create an app to access Windows Defender ATP without a user **Applies to:** - -- Windows 10 Enterprise -- Windows 10 Education -- Windows 10 Pro -- Windows 10 Pro Education - Windows Defender Advanced Threat Protection (Windows Defender ATP) >Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-exposedapis-abovefoldlink) +[!include[Prerelease information](prerelease.md)] + This pages describes how to create an application to get programmatical access to Windows Defender ATP without a user. If you need programmatical access Windows Defender ATP on behalf of a user, please refer to [Access Windows Defender ATP on behalf of a user](exposed-apis-create-app-nativeapp.md) -If you are not sure which access you need, you'd better read the [Introduction page](exposed-apis-intro.md) +If you are not sure which access you need, see [Use Windows Defender ATP APIs](exposed-apis-intro.md). -Windows Defender ATP exposes much of its data and actions through a set of programmatic APIs. Those APIs will enable you to automate workflows and innovate based on Windows Defender ATP capabilities. The API access requires OAuth2.0 authentication. For more information, see [OAuth 2.0 Authorization Code Flow](https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-protocols-oauth-code). +Windows Defender ATP exposes much of its data and actions through a set of programmatic APIs. Those APIs will help you automate workflows and innovate based on Windows Defender ATP capabilities. The API access requires OAuth2.0 authentication. For more information, see [OAuth 2.0 Authorization Code Flow](https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-protocols-oauth-code). In general, you’ll need to take the following steps to use the APIs: - Create an app diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-intro.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-intro.md index ccf0c67cdb..9afd0591c4 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-intro.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-intro.md @@ -10,22 +10,19 @@ ms.pagetype: security ms.author: macapara author: mjcaparas ms.localizationpriority: medium -ms.date: 30/07/2018 +ms.date: 09/03/2018 --- # Use Windows Defender ATP APIs **Applies to:** - -- Windows 10 Enterprise -- Windows 10 Education -- Windows 10 Pro -- Windows 10 Pro Education - Windows Defender Advanced Threat Protection (Windows Defender ATP) >Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-exposedapis-abovefoldlink) +[!include[Prerelease information](prerelease.md)] + Windows Defender ATP exposes much of its data and actions through a set of programmatic APIs. Those APIs will enable you to automate workflows and innovate based on Windows Defender ATP capabilities. The API access requires OAuth2.0 authentication. For more information, see [OAuth 2.0 Authorization Code Flow](https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-protocols-oauth-code). In general, you’ll need to take the following steps to use the APIs: @@ -34,18 +31,18 @@ In general, you’ll need to take the following steps to use the APIs: - Use the token to access Windows Defender ATP API -As a developer, you decide which permissions for Windows Defender ATP your app requests. When a user signs in to your app he (or, in some cases, an administrator) is given a chance to consent to these permissions. If the user consents, your app is given access to the resources and APIs that it has requested. For apps that don't take a signed-in user, permissions can be pre-consented to by an administrator when the app is installed or during sign-up. +As a developer, you decide which permissions for Windows Defender ATP your app requests. When a user signs in to your app they (or, in some cases, an administrator) are given a chance to give consent to these permissions. If the user provides consent, your app is given access to the resources and APIs that it has requested. For apps that don't take a signed-in user, permissions can be pre-approved to by an administrator when the app is installed or during sign-up. -##Delegated permissions, Application permissions, and effective permissions +# #Delegated permissions, application permissions, and effective permissions Windows Defender ATP has two types of permissions: delegated permissions and application permissions. -- Delegated permissions are used by apps that have a signed-in user present. For these apps either the user or an administrator consents to the permissions that the app requests and the app is delegated permission to act as the signed-in user when making calls to Windows Defender ATP. Some delegated permissions can be consented to by non-administrative users, but some higher-privileged permissions require administrator consent. +- Delegated permissions are used by apps that have a signed-in user present. For these apps either the user or an administrator provides consent to the permissions that the app requests and the app is delegated permission to act as the signed-in user when making calls to Windows Defender ATP. Some delegated permissions can be consented to by non-administrative users, but some higher-privileged permissions require administrator consent. - Application permissions are used by apps that run without a signed-in user present; for example, apps that run as background services or daemons. Application permissions can only be consented by an administrator. Effective permissions are the permissions that your app will have when making requests to Windows Defender ATP. It is important to understand the difference between the delegated and application permissions that your app is granted and its effective permissions when making calls to Windows Defender ATP. -- For delegated permissions, the effective permissions of your app will be the least privileged intersection of the delegated permissions the app has been granted (via consent) and the privileges of the currently signed-in user. Your app can never have more privileges than the signed-in user. Within organizations, the privileges of the signed-in user may be determined by policy or by membership in one or more administrator roles. For more information about administrator roles, see [Assigning administrator roles in Azure Active Directory](https://docs.microsoft.com/en-us/azure/active-directory/active-directory-assign-admin-roles). +- For delegated permissions, the effective permissions of your app will be the least privileged intersection of the delegated permissions the app has been granted (via consent) and the privileges of the currently signed-in user. Your app can never have more privileges than the signed-in user. Within organizations, the privileges of the signed-in user may be determined by policy or by membership in one or more administrator roles. For more information about administrator roles, see [Assigning administrator roles in Azure Active Directory](https://docs.microsoft.com/azure/active-directory/active-directory-assign-admin-roles). For example, assume your app has been granted the Machine.CollectForensics delegated permission. This permission nominally grants your app permission to collect investigation package from a machine. If the signed-in user has 'Alerts Investigation' permission, your app will be able to collect investigation package from a machine, if the machine belongs to a group the user is exposed to. However, if the signed-in user doesn't have 'Alerts Investigation' permission, your app won't be able to collect investigation package from any machine. From 6f6c7b9576691186d8f328d0bf637678ece8a564 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Sat, 25 Aug 2018 16:47:00 -0700 Subject: [PATCH 67/71] update --- .../windows-defender-atp/exposed-apis-create-app-webapp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md index fd70a944f0..dc17193063 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-create-app-webapp.md @@ -197,7 +197,7 @@ Sanity check to make sure you got a correct token: ## Use the token to access Windows Defender ATP API -- Choose the API you want to use - [Supported Windows Defender ATP APIs](exposed-apis-list.md) +- Choose the API you want to use, for more information, see [Supported Windows Defender ATP APIs](exposed-apis-list.md) - Set the Authorization header in the Http request you send to "Bearer {token}" (Bearer is the Authorization scheme) - The Expiration time of the token is 1 hour (you can send more then one request with the same token) From 1b2b3977c72158eb47833706eec5bf0ea5d89e0b Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Thu, 30 Aug 2018 16:48:32 -0700 Subject: [PATCH 68/71] add missing file --- .../run-advanced-query-sample-power-bi.md | 131 ++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi.md diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi.md new file mode 100644 index 0000000000..d3abe10318 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi.md @@ -0,0 +1,131 @@ +--- +title: Advanced Hunting API +description: Use this API to run advanced queries +keywords: apis, supported apis, advanced hunting, query +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 30/07/2018 +--- + +# Create custom reports using Power BI + +Run advanced queries and show results in Microsoft Power BI. Please read about [Advanced Hunting API](run-advanced-query-api.md) before. + +In this section we share Power BI query sample to run a query using application token. + +>**Prerequisite**: You first need to [create an app](exposed-apis-intro.md). + +## Run a query + +- Open Microsoft Power BI + +- Click **Get Data** > **Blank Query** + + ![Image of create blank query](images/power-bi-create-blank-query.png) + +- Click **Advanced Editor** + + ![Image of open advanced editor](images/power-bi-open-advanced-editor.png) + +- Copy the below and paste it in the editor, after you update the values of _TenantId, _AppId, _AppSecret, _Query + + ``` + let + + TenantId = "00000000-0000-0000-0000-000000000000", // Paste your own tenant ID here + AppId = "11111111-1111-1111-1111-111111111111", // Paste your own app ID here + AppSecret = "22222222-2222-2222-2222-222222222222", // Paste your own app secret here + Query = "MachineInfo | where EventTime > ago(7d) | summarize EventCount=count(), LastSeen=max(EventTime) by MachineId", // Paste your own query here + + ResourceAppIdUrl = "https://securitycenter.onmicrosoft.com/windowsatpservice", + OAuthUrl = Text.Combine({"https://login.windows.net/", TenantId, "/oauth2/token"}, ""), + + Resource = Text.Combine({"resource", Uri.EscapeDataString(ResourceAppIdUrl)}, "="), + ClientId = Text.Combine({"client_id", AppId}, "="), + ClientSecret = Text.Combine({"client_secret", Uri.EscapeDataString(AppSecret)}, "="), + GrantType = Text.Combine({"grant_type", "client_credentials"}, "="), + + Body = Text.Combine({Resource, ClientId, ClientSecret, GrantType}, "&"), + + AuthResponse= Json.Document(Web.Contents(OAuthUrl, [Content=Text.ToBinary(Body)])), + AccessToken= AuthResponse[access_token], + Bearer = Text.Combine({"Bearer", AccessToken}, " "), + + AdvancedHuntingUrl = "https://api.securitycenter.windows.com/advancedqueries/query", + + Response = Json.Document(Web.Contents( + AdvancedHuntingUrl, + [ + Headers = [#"Content-Type"="application/json", #"Accept"="application/json", #"Authorization"=Bearer], + Content=Json.FromValue(Query) + ] + )), + + TypeMap = #table( + { "Type", "PowerBiType" }, + { + { "Double", Double.Type }, + { "Int64", Int64.Type }, + { "Int32", Int32.Type }, + { "Int16", Int16.Type }, + { "UInt64", Number.Type }, + { "UInt32", Number.Type }, + { "UInt16", Number.Type }, + { "Byte", Byte.Type }, + { "Single", Single.Type }, + { "Decimal", Decimal.Type }, + { "TimeSpan", Duration.Type }, + { "DateTime", DateTimeZone.Type }, + { "String", Text.Type }, + { "Boolean", Logical.Type }, + { "SByte", Logical.Type }, + { "Guid", Text.Type } + }), + + Schema = Table.FromRecords(Response[Schema]), + TypedSchema = Table.Join(Table.SelectColumns(Schema, {"Name", "Type"}), {"Type"}, TypeMap , {"Type"}), + Results = Response[Results], + Rows = Table.FromRecords(Results, Schema[Name]), + Table = Table.TransformColumnTypes(Rows, Table.ToList(TypedSchema, (c) => {c{0}, c{2}})) + + in Table + + ``` + +- Click **Done** + + ![Image of create advanced query](images/power-bi-create-advanced-query.png) + +- Click **Edit Credentials** + + ![Image of edit credentials](images/power-bi-edit-credentials.png) + +- Select **Anonymous** and click **Connect** + + ![Image of set credentials](images/power-bi-set-credentials.png) + +- Repeat the previous step for the second URL + +- Click **Continue** + + ![Image of edit data privacy](images/power-bi-edit-data-privacy.png) + +- Select the privacy level you want and click **Save** + + ![Image of set data privacy](images/power-bi-set-data-privacy.png) + +- View the results of your query + + ![Image of query results](images/power-bi-query-results.png) + +## Related topic +- [Windows Defender ATP APIs](exposed-apis-intro.md) +- [Advanced Hunting API](run-advanced-query-api.md) +- [Advanced Hunting using PowerShell](run-advanced-query-sample-powershell.md) +- [Schedule Advanced Hunting](run-advanced-query-sample-ms-flow.md) From fb976635379a627105d28ef763d1af7e8a8493c8 Mon Sep 17 00:00:00 2001 From: David Laufer Date: Sun, 2 Sep 2018 09:15:49 +0300 Subject: [PATCH 69/71] WDATP API - Fixes --- .../windows-defender-atp/TOC.md | 2 +- .../exposed-apis-full-sample-powershell.md | 25 ++-- .../run-advanced-query-sample-power-bi.md | 131 ------------------ 3 files changed, 10 insertions(+), 148 deletions(-) delete mode 100644 windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi.md diff --git a/windows/security/threat-protection/windows-defender-atp/TOC.md b/windows/security/threat-protection/windows-defender-atp/TOC.md index 37387715ac..bd3158924c 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -158,7 +158,7 @@ ###### [Schedule advanced Hunting using Microsoft Flow](run-advanced-query-sample-ms-flow.md) ###### [Advanced Hunting using PowerShell](run-advanced-query-sample-powershell.md) ###### [Advanced Hunting using Python](run-advanced-query-sample-python.md) -###### [Create custom Power BI reports](run-advanced-query-sample-power-bi.md) +###### [Create custom Power BI reports](run-advanced-query-sample-power-bi-app-token.md) ##### Multiple APIs ###### [PowerShell](exposed-apis-full-sample-powershell.md) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-full-sample-powershell.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-full-sample-powershell.md index cc35edb442..3983803de5 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-full-sample-powershell.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-full-sample-powershell.md @@ -20,8 +20,7 @@ Full scenario using multiple APIs from Windows Defender ATP. In this section we share PowerShell samples to - Retrieve a token - Use token to retrieve the latest alerts in Windows Defender ATP - - Run a query to retrieve command line of the process related to the alert, if the alert has medium priority and is still in progress - - Remediate the machine related to the alert if teh command line + - For each alert, if the alert has medium or high priority and is still in progress, check how many times the machine has connected to suspicious URL. >**Prerequisite**: You first need to [create an app](exposed-apis-intro.md). @@ -42,22 +41,17 @@ Set-ExecutionPolicy -ExecutionPolicy Bypass > - $tenantId: ID of the tenant on behalf of which you want to run the query (i.e., the query will be run on the data of this tenant) > - $appId: ID of your AAD app (the app must have 'Run advanced queries' permission to WDATP) > - $appSecret: Secret of your AAD app - - -$tenantId = 'b3c1b5fc-828c-45fa-a1e1-10d74f6d6e9c' -$appId = 'c71cd133-0e50-4bd4-a1a8-ec14152af1c4' -$appSecret = '8zFkg61mDxH7DuMGFJHZd6CRr9J5HNMuJGIV6p0shMY=' - +> - $suspiciousUrl: The URL ``` $tenantId = '00000000-0000-0000-0000-000000000000' # Paste your own tenant ID here $appId = '11111111-1111-1111-1111-111111111111' # Paste your own app ID here $appSecret = '22222222-2222-2222-2222-222222222222' # Paste your own app secret here +$suspiciousUrl = 'www.suspiciousUrl.com' # Paste your own URL here $resourceAppIdUri = 'https://securitycenter.onmicrosoft.com/windowsatpservice' -$oAuthUri = "https://login.windows-ppe.net/$TenantId/oauth2/token" -# TODO!!!!!!!!! $oAuthUri = "https://login.windows.net/$TenantId/oauth2/token" +$oAuthUri = "https://login.windows.net/$TenantId/oauth2/token" $authBody = [Ordered] @{ resource = "$resourceAppIdUri" client_id = "$appId" @@ -69,8 +63,7 @@ $aadToken = $authResponse.access_token #Get latest alert -$alertUrl = "https://wdatpapi-eus-stg.cloudapp.net/api/alerts?`$top=10" -# TODO!!!!!!!!! $alertUrl = "https://api.securitycenter.windows.com/api/alerts?`$top=10" +$alertUrl = "https://api.securitycenter.windows.com/api/alerts?`$top=10" $headers = @{ 'Content-Type' = 'application/json' Accept = 'application/json' @@ -83,7 +76,7 @@ $machinesToInvestigate = New-Object System.Collections.ArrayList Foreach($alert in $alerts) { - echo $alert.id $alert.machineId $alert.severity $alert.status + #echo $alert.id $alert.machineId $alert.severity $alert.status $isSevereAlert = $alert.severity -in 'Medium', 'High' $isOpenAlert = $alert.status -in 'InProgress', 'New' @@ -100,15 +93,15 @@ $commaSeparatedMachines = '"{0}"' -f ($machinesToInvestigate -join '","') $query = "NetworkCommunicationEvents | where MachineId in ($commaSeparatedMachines) -| where RemoteUrl == `"www.bing.com`" +| where RemoteUrl == `"$suspiciousUrl`" | summarize ConnectionsCount = count() by MachineId" -$queryUrl = "https://wdatpapi-eus-stg.cloudapp.net/advancedqueries/query" -# TODO!!!!!!!!! $queryUrl = "https://api.securitycenter.windows.com/advancedqueries/query" +$queryUrl = "https://api.securitycenter.windows.com/advancedqueries/query" $queryBody = ConvertTo-Json -InputObject $query $queryResponse = Invoke-WebRequest -Method Post -Uri $queryUrl -Headers $headers -Body $queryBody -ErrorAction Stop $response = ($queryResponse | ConvertFrom-Json).Results +$response ``` diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi.md deleted file mode 100644 index d3abe10318..0000000000 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi.md +++ /dev/null @@ -1,131 +0,0 @@ ---- -title: Advanced Hunting API -description: Use this API to run advanced queries -keywords: apis, supported apis, advanced hunting, query -search.product: eADQiWindows 10XVcnh -ms.prod: w10 -ms.mktglfcycl: deploy -ms.sitesec: library -ms.pagetype: security -ms.author: macapara -author: mjcaparas -ms.localizationpriority: medium -ms.date: 30/07/2018 ---- - -# Create custom reports using Power BI - -Run advanced queries and show results in Microsoft Power BI. Please read about [Advanced Hunting API](run-advanced-query-api.md) before. - -In this section we share Power BI query sample to run a query using application token. - ->**Prerequisite**: You first need to [create an app](exposed-apis-intro.md). - -## Run a query - -- Open Microsoft Power BI - -- Click **Get Data** > **Blank Query** - - ![Image of create blank query](images/power-bi-create-blank-query.png) - -- Click **Advanced Editor** - - ![Image of open advanced editor](images/power-bi-open-advanced-editor.png) - -- Copy the below and paste it in the editor, after you update the values of _TenantId, _AppId, _AppSecret, _Query - - ``` - let - - TenantId = "00000000-0000-0000-0000-000000000000", // Paste your own tenant ID here - AppId = "11111111-1111-1111-1111-111111111111", // Paste your own app ID here - AppSecret = "22222222-2222-2222-2222-222222222222", // Paste your own app secret here - Query = "MachineInfo | where EventTime > ago(7d) | summarize EventCount=count(), LastSeen=max(EventTime) by MachineId", // Paste your own query here - - ResourceAppIdUrl = "https://securitycenter.onmicrosoft.com/windowsatpservice", - OAuthUrl = Text.Combine({"https://login.windows.net/", TenantId, "/oauth2/token"}, ""), - - Resource = Text.Combine({"resource", Uri.EscapeDataString(ResourceAppIdUrl)}, "="), - ClientId = Text.Combine({"client_id", AppId}, "="), - ClientSecret = Text.Combine({"client_secret", Uri.EscapeDataString(AppSecret)}, "="), - GrantType = Text.Combine({"grant_type", "client_credentials"}, "="), - - Body = Text.Combine({Resource, ClientId, ClientSecret, GrantType}, "&"), - - AuthResponse= Json.Document(Web.Contents(OAuthUrl, [Content=Text.ToBinary(Body)])), - AccessToken= AuthResponse[access_token], - Bearer = Text.Combine({"Bearer", AccessToken}, " "), - - AdvancedHuntingUrl = "https://api.securitycenter.windows.com/advancedqueries/query", - - Response = Json.Document(Web.Contents( - AdvancedHuntingUrl, - [ - Headers = [#"Content-Type"="application/json", #"Accept"="application/json", #"Authorization"=Bearer], - Content=Json.FromValue(Query) - ] - )), - - TypeMap = #table( - { "Type", "PowerBiType" }, - { - { "Double", Double.Type }, - { "Int64", Int64.Type }, - { "Int32", Int32.Type }, - { "Int16", Int16.Type }, - { "UInt64", Number.Type }, - { "UInt32", Number.Type }, - { "UInt16", Number.Type }, - { "Byte", Byte.Type }, - { "Single", Single.Type }, - { "Decimal", Decimal.Type }, - { "TimeSpan", Duration.Type }, - { "DateTime", DateTimeZone.Type }, - { "String", Text.Type }, - { "Boolean", Logical.Type }, - { "SByte", Logical.Type }, - { "Guid", Text.Type } - }), - - Schema = Table.FromRecords(Response[Schema]), - TypedSchema = Table.Join(Table.SelectColumns(Schema, {"Name", "Type"}), {"Type"}, TypeMap , {"Type"}), - Results = Response[Results], - Rows = Table.FromRecords(Results, Schema[Name]), - Table = Table.TransformColumnTypes(Rows, Table.ToList(TypedSchema, (c) => {c{0}, c{2}})) - - in Table - - ``` - -- Click **Done** - - ![Image of create advanced query](images/power-bi-create-advanced-query.png) - -- Click **Edit Credentials** - - ![Image of edit credentials](images/power-bi-edit-credentials.png) - -- Select **Anonymous** and click **Connect** - - ![Image of set credentials](images/power-bi-set-credentials.png) - -- Repeat the previous step for the second URL - -- Click **Continue** - - ![Image of edit data privacy](images/power-bi-edit-data-privacy.png) - -- Select the privacy level you want and click **Save** - - ![Image of set data privacy](images/power-bi-set-data-privacy.png) - -- View the results of your query - - ![Image of query results](images/power-bi-query-results.png) - -## Related topic -- [Windows Defender ATP APIs](exposed-apis-intro.md) -- [Advanced Hunting API](run-advanced-query-api.md) -- [Advanced Hunting using PowerShell](run-advanced-query-sample-powershell.md) -- [Schedule Advanced Hunting](run-advanced-query-sample-ms-flow.md) From d0d57aae1474beeebcc4876b9dd08834b1777080 Mon Sep 17 00:00:00 2001 From: David Laufer Date: Mon, 17 Sep 2018 16:13:50 +0300 Subject: [PATCH 70/71] Advanced Hunting - Fix code samples after WDATP service change --- .../exposed-apis-full-sample-powershell.md | 2 +- .../windows-defender-atp/run-advanced-query-api.md | 4 ++-- .../run-advanced-query-sample-power-bi-app-token.md | 2 +- .../run-advanced-query-sample-powershell.md | 2 +- .../windows-defender-atp/run-advanced-query-sample-python.md | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-full-sample-powershell.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-full-sample-powershell.md index 3983803de5..01f1b37243 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-full-sample-powershell.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-full-sample-powershell.md @@ -98,7 +98,7 @@ $query = "NetworkCommunicationEvents $queryUrl = "https://api.securitycenter.windows.com/advancedqueries/query" -$queryBody = ConvertTo-Json -InputObject $query +$queryBody = ConvertTo-Json -InputObject @{ 'Query' = $query } $queryResponse = Invoke-WebRequest -Method Post -Uri $queryUrl -Headers $headers -Body $queryBody -ErrorAction Stop $response = ($queryResponse | ConvertFrom-Json).Results $response diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-api.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-api.md index b53851bf20..c6dde9776c 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-api.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-api.md @@ -77,11 +77,11 @@ Here is an example of the request. POST https://api.securitycenter.windows.com/advancedqueries/query Content-type: application/json { - "ProcessCreationEvents + "Query":"ProcessCreationEvents | where InitiatingProcessFileName =~ \"powershell.exe\" | where ProcessCommandLine contains \"appdata\" | project EventTime, FileName, InitiatingProcessFileName -| limit 2"​ +| limit 2" } ``` diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi-app-token.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi-app-token.md index 39bde0a8c5..c20268f3b5 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi-app-token.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi-app-token.md @@ -65,7 +65,7 @@ If you want to use **user token** instead please refer to [this](run-advanced-qu AdvancedHuntingUrl, [ Headers = [#"Content-Type"="application/json", #"Accept"="application/json", #"Authorization"=Bearer], - Content=Json.FromValue(Query) + Content=Json.FromValue([#"Query"=Query]) ] )), diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-powershell.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-powershell.md index 0bb63ec221..982fec1b38 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-powershell.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-powershell.md @@ -71,7 +71,7 @@ $headers = @{ Accept = 'application/json' Authorization = "Bearer $aadToken" } -$body = ConvertTo-Json -InputObject $query +$body = ConvertTo-Json -InputObject @{ 'Query' = $query } $webResponse = Invoke-WebRequest -Method Post -Uri $url -Headers $headers -Body $body -ErrorAction Stop $response = $webResponse | ConvertFrom-Json $results = $response.Results diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-python.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-python.md index 0f07bf3b7d..d0c7fc7712 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-python.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-python.md @@ -74,7 +74,7 @@ headers = { 'Authorization' : "Bearer " + aadToken } -data = json.dumps(query).encode("utf-8") +data = json.dumps({ 'Query' : query }).encode("utf-8") req = urllib.request.Request(url, data, headers) response = urllib.request.urlopen(req) From 558667a073c30f8a0c1b094a2796ca46409a9d0e Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Fri, 21 Sep 2018 14:29:22 -0700 Subject: [PATCH 71/71] warning --- windows/security/threat-protection/TOC.md | 2 +- .../improverequestperformance-new.md | 18 ++++++++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index efc971485b..ed1bced79b 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -51,7 +51,7 @@ #####Machines list ###### [View and organize the Machines list](windows-defender-atp/machines-view-overview-windows-defender-advanced-threat-protection.md) -###### [Manage machine group and tags](windows-defender-atp/investigate-machines-windows-defender-advanced-threat-protection.md#manage-machine-group-and-tags) +###### [Manage machine group and tags](windows-defender-atp/investigate-machines-windows-defender-advanced-threat-protection.md) ###### [Alerts related to this machine](windows-defender-atp/investigate-machines-windows-defender-advanced-threat-protection.md#alerts-related-to-this-machine) ###### [Machine timeline](windows-defender-atp/investigate-machines-windows-defender-advanced-threat-protection.md#machine-timeline) ####### [Search for specific events](windows-defender-atp/investigate-machines-windows-defender-advanced-threat-protection.md#search-for-specific-events) diff --git a/windows/security/threat-protection/windows-defender-atp/improverequestperformance-new.md b/windows/security/threat-protection/windows-defender-atp/improverequestperformance-new.md index 169b2ffb46..afb2f9bbdd 100644 --- a/windows/security/threat-protection/windows-defender-atp/improverequestperformance-new.md +++ b/windows/security/threat-protection/windows-defender-atp/improverequestperformance-new.md @@ -1,7 +1,21 @@ --- -ms.date: 08/28/2017 -author: zavidor +title: +description: +keywords: +search.product: eADQiWindows 10XVcnh +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: security +ms.author: macapara +author: mjcaparas +ms.localizationpriority: medium +ms.date: 04/24/2018 --- + +# Improve request performance + + >[!NOTE] >For better performance, you can use server closer to your geo location: > - api-us.securitycenter.windows.com

    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 literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md index 21ca382b0b..862d9502a7 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md @@ -99,6 +99,68 @@ Before using the APIs, you’ll need to create an app that you’ll use to authe ![Image of multi tenant](images/webapp-edit-multitenant.png) +## Get an access token + +For more details on AAD token, refer to [AAD tutorial](https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-protocols-oauth-client-creds) + +### Using dedicated executable + +- Download [AadTokenGetter.zip](exe/AadTokenGetter.zip) application​ +- Unzip the application +- Open 'AadTokenGetter.exe.config' file and fill the 3 required settings: + - tenantId + - appId + - appSecret +- ​Run AadTokenGetter.exe + +The token is displayed in the application window + + +### Using Curl + +> [!NOTE] +> The below procedure supposed Curl is already installed on your computer + +- Open a command window +- ​Set CLIENT_ID to your Azure application ID +- Set CLIENT_SECRET to your Azure application secret +- Set TENANT_ID to the Azure tenant ID of the customer that wants to use your application to access WDATP application +- Run the below command: + +> [!NOTE] +> The below syntax is for curl in Windows. For Linux you should use $CLIENT_ID​ instead of %CLIENT_ID% (same for CLIENT_SECRET and TENANT_ID​) + +``` +curl -i -X POST -H "Content-Type:application/x-www-form-urlencoded" -d "grant_type=client_credentials" -d "client_id=%CLIENT_ID%" -d "scope=https://securitycenter.onmicrosoft.com/windowsatpservice​/.default" -d "client_secret=%CLIENT_SECRET%" "https://login.microsoftonline.com/%TENANT_ID​%/oauth2/v2.0/token" -k​ +``` + +You will get an answer of the form: + +``` +{"token_type":"Bearer","expires_in":3599,"ext_expires_in":0,"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIn aWReH7P0s0tjTBX8wGWqJUdDA"} +``` + +## Validate the token + +- Copy/paste into [JWT](https://jwt.io/) the token you get in the previous step +- Validate you get a 'roles' claim with the desired permission, as shown in the below screenshot + +![Image of token validation](images/webapp-validate-token.png) + +## Application consent + +You need your application to be approved in each tenant where you intend to use it. This is because your application interacts with WDATP application on behalf of your customer. + +You (or your customer if you are writing a 3rd party application) need to click the consent link and approve your application. The consent should be done with a user who has admin privileges in the active directory. + +Consent link is of the form: + +``` +https://login.microsoftonline.com/common/oauth2/authorize?prompt=consent&client_id=00000000-0000-0000-0000-000000000000&response_type=code&sso_reload=true​ +``` + +where 00000000-0000-0000-0000-000000000000​ should be replaced with your Azure application ID + ## Related topics - [Supported Windows Defender ATP APIs](supported-apis-windows-defender-advanced-threat-protection-new.md) diff --git a/windows/security/threat-protection/windows-defender-atp/images/webapp-validate-token.png b/windows/security/threat-protection/windows-defender-atp/images/webapp-validate-token.png new file mode 100644 index 0000000000000000000000000000000000000000..c813929e31086ef590792e5c1295939f28229908 GIT binary patch literal 56018 zcmce-cQl+|+cum8A$sqfAbK}MCx}k;E+RUkccK$LTJ+w#=!}UjYN8X2F6u-bZOk`* z_xC*ayWX{)_1^DV-}?T@5}V83*SYr`=W(3pv12sV6>%^rF`qnng7a2MUi-e=HgDx+bbQQ?;1CBI<9tXAEI;{oU}bAnUiu ztx2Uy4-C0Vy8iXP!SjjB)q1tJjisj3YsOGAVr|{yDkG_?`8`ljP|(&~wf<*(Sqz2} zH8ubSLpc7l7%_D?a=?xT6Bjug-i(WejvSUXiV6*T{JmPaUK!+Y(tP1MJ#tv-P!ssi zU0?Kf)#th& zL+e`A4Zh94y^1SD9O2FOZ6O@JgK8hvC+l@j$mkG8@E-^W^`V5Brp808DD`x31CG)>Flb_jg9TRD>V2r2&GK$8zX}`xvYDDa-?%idU`1TTEIss_S1wf3>DW(M zJ0jw5VTh~x*#l`W$%+L;?}Ox`8C)OkaCtHuT%Xr%BJ>&=nGs_Cme69vI$brS=d}D_ zVJfJ$P3lG}NCiG$3)Yj`{}x!1IJ}s@Lk*DgEIUM8dMr|`L}*Hos=wc5(c=c zHm{VrI|U!Y5fA%ew|}4hHb-RM_AAzpBNlNJT-|BF}WI~w0e6Thxs z?=L~C!RHze%n!Ch&z|6;47Cm>-QzM2x$FW zaFESpc=Y=90^*mHZ^6Uv)PpA6JQ&`4^!d~E7F2f+98e#0V-sBLM!6{^r5Ai13~qf* zdVi7#hE`01?@DjKA>;>51obHY0_jUvwxRmsPC_%>H{)#LZGt=Vw zF!<8=z&q&1;gS`x?LBK+kM)uT@Nhd1`C%j-5OnJeu6~&0;xcY#yQvL+iGaZtSTEI_lFk*&-s}XRh)I;X&95|)*3!>^_ za}BH&yo26I4|wRh%~k|!LwL3zmtalstrS8TF5(`F{7_}Gml*-?;fNjBu|W((A8`?U z>vTEwz!i6|0oDT}@Sw{lSQsI}0K#Vn!KDuqbPt8MJ0SB)^B-O?yg9m$q0dl5x4>{IgaUkn4nBQP`kM#w z2l)d;)X~D@f@XQ;tN`H>m*wW$T`JAIBSzv`Sh$y`3&;=C38LoY;ke?h1=Iyvg}8w} z)ZGdV#A8sIk6cgT_J6FqvpI;FBak{iuFNMq4_0CWNM1b1!VjhRxri9)&q6oAm5=*j z0FQW`N<`f&DuWu!qxlGauPj?phl4w+gNCWTS>iMNg-v|L)now#ozpF*V}jrz6egW# z<;eLrT(aB|Gmv+|P&(w)GbEw}9&-lr;Y!uf;m6Q>yj?T!rPRH|zI zs6J&uMq)Cyl7!l3RKwqXDj!Sbah)-;|94>hzk{v&Zs^t&;(n^-&-ze2l?W2RO>>UN z|CJE9Y5%`X6#x6&|Cf2@KYe^x4~Tsma}eZOqxbsi$zx`lj29)LMrrZ7G`KXwIhOoq zDCLHjx+})$!LX=RyG!FSl}uN;qP8%$zwq?koW9mNS9qcpk#b1pCMInMt|Z5MfnuMN3m%YTgj>&k!jf@?V)% zAU`zho6h58mG6;%cwyr)!IphSF2$?#*U9PjrMO}K4!47M;zs$nn)D2r(t z!;aqjOTE@p!4ro(ElCZfdd~k+XR%K7eI1%2Z0T#Lm4q%wqPC}nw;V1oF^z8W{0({4 zL*EEjP)J*hQD<_6hL`v9Qb%GRG^pk;RmHJl%yLert}eR$xpPsg)bgsYrHIy8M#9`~ z-D>_*+`Ns|URZazd48d?HZ;59CSfW+3)&v8LAd9l0SnYfTmO0+z+RXJE$#D~AaLgb z=mj-LMX-bx?~2q0)hJdP!EX&Nt57E-%`V1bmK(c#BM)fo1I|y2vI53;AUdC(X$Ksv z!x{HfN>K*vTqbJn6MkD)p$<3i&17m@cI`&T3PkqztWfn#5s}-Nez1eq0Z1JULs%9R zCc83Z&5|Z_Fo)VOnkgQY(FH$<*uBa<&z|n4h_u8d{iQMG|3Fgq$@y%g$ikBHHF^-Gv z6OSx$Rre{#EEmdd|1>O>i|u|}a;d{nAjmGkjFC=L6MW8-+(!joYEVBub0x$Bo8{bp zyq1+z%E2FAC{d|lloOOL8F%4i>TJ=S2=HPhBFQKXTPH0giceX{uh>s8Lw zW?X<@Ii2GqSFl3@&yTwsw1?qu`lQE~z5b^7+A=wv74gFHDOYqJt7fqcu)G9uE|nZy zQi5`h;&YDrqc%3wDbt`&Mhz3JzGafMj$%ii5LYf;Xn=0cIBb2|?}qjy1gNqo(kF=4 z0X3kO6FUuY0bB*2WMkkoZ!`21=J2rU*S%006QZgUF=w`aGd*{=tGqS)c6Pcg#x5`^ zeP#qPx3jEyEJ<;b|D}1w&H8=H*_B?A9tc=_V?9$j+HwZd%iy_&=fQJ<7te-Gs!v~m zGdh8$sNCu6-^W_!`RJ^goXu`c3VFblnk$_Rv9q`rt|sN?egW98A(>>O-R&qXzGK9^ zw{k-_Lgb;l5d|m<8`hqYLh_R7F9ZHQn0jksaIH2*w2=RP&2oP$!aKXX)1!_@{)D($ zB|jc@Od2zXV-dkd7a@@tcude%xc+y>xcg5eAGeA|Of~sf=%|L)_grO+XV#z3wEc&cvyp z3*OInio1g})Ht)fme+*(#ir{S2~)gu3X7~YQf{-HURTGi0S4%7syjqL%hr69?-GAQ z08HROvIum^JOY%KJMB$+1esKO#kzFiI)tHwQ)0(ZtM_Sh@Az~t@jUmMHt%k}sLow% z<#JjdO~emO$!imakY_=ukU_w)raD^tHT#szGkIqwC?`x zmRBR6_e*eS&+fw{%KNJvQs?~}ySE|)69-goD_tkjVKc=+Rjr*kX9n19Hox1AOS;=--}*2*j6)ts;lj9K zbo`a~%IpVB&$NzYw7mz0D>iyo$*#WsxDl6Jqo8;T^l87(Fz$t-Dhh;nQi^aXn%{O9X<%ONqBhN>Fy4@mpbP5X&A~li&Vv4#@)q%3La5b?*`)(D;u9Yp zh)EcqyD58+0Zp=1qsNbE32=IrcMre%mmss-WyssxZ73Nc;Y|*AaDLyDOl}bF^aV}$ z$2xvyoygt|5K*$n*pA@@T>ew7bVL0*l|SpVKX0oXPRkh4sz!x!4w(`?9zH_kljid#6Q!S*gj#GvRAorVf0P0%&wv< zz0DlcP@IZu0e-MsKPxFwVJ9trf6a&%Pd@?qmGv{4WuJg)zKnzjp+B^NP1&T$mIg14eM#u zX`_5zrC8j}ZerXowG{mf&);Nyy7WPhA=+#Y<)s^QF2R2lIn^z|y(VUI)h?LGEl1wo z9E1@6)#9ZX=tm#G$nCs~Wg!x2W%YY3$^u)FBNSypgtDI?Hl;hohi>JyIe9JWxrOI2LALHja4$11c&Qg#VzHkF(Iy0h6m4nl*!}o z>!e0cM$g`EqK53B$s}%ke`pQ*yFV&acw#KbRnCI9X}ZXIZASUe8AQh0$M@T>HJ`%t zf}?o8ruCOg@|FeJ{eQD}pc7*y<`yd)R3Z05X3W9qpW{$r3hq(GRYKQ`TiISCcgHo4pXC;-)Cf%Qn=aZp@E;CnY8D-qb!S9yKZ^v1bwz8Y<`= z9B$cPUHU^p{_g-LbToN=L@Kj%Gt2jUUyD=zy(>W8GPN`YyTttkwA_<9@eorq<{e`1 zdP3iF!2r&gMudfXV}3&6xC9T?f;DD}Si4qbmlkcIZl&kKpfutO`K6mk0pJN~B-gM@ zh>{r(77>C5>~N-u^=e(xY~_gLskZU^aCs8y!^cj5n!`C-Q5%? z23J!yM#lTI$|jS3ceo)72fr1XuIS@zL!xcj}s$DLKCa8-&l2;UDae62^N^7TnACN3eb zj(=kEnsu#Mc+yg2sFiaea-5jj=1o<3t8zw~;mT)xes4|SIM@HbiWVsv7u9w4Y+{yM zyO6R8Lo|3-19Pd-&^J7jOtP>2NUx7Z_1wj z*b@OO9j^`UG-Ow->6Q#mH3SCL2zwvLq?5C*qVMCIf25F0Yt9TTHzYq@A=Oo#!#vX( zZ9Ffrqs>Q_Q&lv9AGYJ&VTRpGiyes>e;z)lgsWnYpu-;pif^vmWs{&zY(We_* zZp+#N(f?lA4kUX{^a?mmyz zyeNiKNY}E5BKg&+^X2yKhbPUiLW|iY)T!#;?KGBcuBsqKzggG##E3`)Y~E@0<~iyRJGQ<)mTL5&%W01UB{|B|t%gV! zo14lmk*l4y#fMief0az(bvHpl}4(0Zehh+3KW7JHeHZP%<>seB*9YBa_Rut)CnhZ@taNiO`VM4QV-37PCbsw zc*O@Yt5gXAPM?=1K9IFH=P#6MsUx+`@7@&YF$XQ(iR#d47R2(+?A0@Xon%&-O<03n z2Bqnzw1_;X(wh}tN-`}R9hH}IHypdV#Co}so-LA>{ax1b`wCkY`E!N~>fqQzw})9* zU4dXPZ7eV&Q6rCVr?>ryxZ%I4lo0jD0tDp~J+R5*vg()@l{K-Y-KeuCV$}IEsI~n!&+OVwZF^0t~;{}g*1o%%0xWR5aL&2Nlw$)7F;}^1`EYMoFW<89Ks0H(2OeyETra0I z-8-$Zi_P6XlNQ*-5C^cy&x;NDbY%4*i=5jZxTtRdnD|cPr4(BBp4R}_#nRi-sLJ@% zImZNMJPUew*U5KVn-*hneN3VkU_^EkKzGj-jrX(ZZ_M)ze{s5qd=vNZXP*0(K-Y2d zAAH2!rvdyeZ7;(Y2JK9tO50^`Xezt6gsYzzSJ{oq)JGO5x*Svf$ zrL}sriq*FhUHV3vGf}9tMU{zno8~$k7*p^CSj#C^%vS`QTyq~|uKkGMn>LCixm%;h zS-opy-D~n*E9N)D83-@Qo$XZV6qRF+$J}tUdq-40>fl~*h5Jj~9>+e^X1rf8*;_oo zWo)!?^nzT#BxPjli?>EkqevTJ%R#5ZGZ{avf_3tg3YjLlk!1&Cz?SvBT`;|M=Yu&_ z#BXhXexAj3+X7tNsT*q!Way51zC4>hu~%mR+;6>K0p{aK_}KIB^GP3f1OyC8JFT!? zDIP8#dDg!r5*kAxrVVn{AuT@;uj?y09ID%|KIx0D_exz3^r`Wy4+RXzX>E{W7YcT% zNS0PGC_h|GQ1s$~<3vVdDO0$I{w_ou3f|}hxNP@ygi={jm%i?c2nE>Ka^QT!pR!Vm zSWgn1DN@A@bYwIL$hE2y+7knm8wUzj8ohA}xM|!*XwrZp3cKPCkA3R;{I||nu;s10 z?NOshQpfNE4VQg4CR#bEhbp}BcjHW!k$84ugtxyO_hN|Nq{m>+^wl+~rx>bTQM|bP z#-D|kJDQvl0YkV8sAuiW@fV9y821xS=T0E9d~ zHL*@i@hYo8nC<&roQIxLQqI^*f)CQ&iWu|IErw%=uHC{IbR3N5L;ep@w+MgDY`KtMtFhWORW z{og}Z6q(rY;2L2Q*2(fsf1*eZP7~{~2%&URNo!xuR0@Ud!e|Z(vTY+X;YO(gS#pL= z4)fG2H6x4)QrM}z#P$J57S^i^hb;Xd+!$R46i z^&ku?IkTt%Osoc?7ohjEo!p^7@_W0Ih*7O@}0z^eV>{$xIry#AKU(}Eq2>6vkNGr zMqx;i*Sy?*=ibN=_e+^!dvo@$(QgUiNqW6i(5L1Yr!OKcT-0jQTc{iCz%Sz5Z_R1; zSZamcanXjq4q$&dIZQPwI{A%tw=`jZB64OJ%z2$;Dq#9fU09_wlwB^}GT{eX5WMjE zUH5nClMvp_k1~c*-v`Xg2~I$)!?~7Id2@mijyMARDmybXm|+pJ(q*M2Sd=sDMcF@` zd_2iwsW|Ok#lG{TeeL*_Aj3oeZhTJ~VGfHhiIqKi-Ur5~z@`#VNW1xPTX8r9bX@$n z(q|Ae3KSY+JvSQ_IC`qqvYsSssDS8ledPvykl3eMu)*nEPrqo{cRH7Omo=QOU2MPk zA!|HDTz|6!Qu@W6Amrty$|R^mg5O6hs5WkceCO2XeLpaK@5gmcrz<&9*P6d}WT8F8 zn2|rjgIWh*E2dlk0^8MdhOMD_G!C1a7iQ1FLu-km$bvFK89f`@*%4DO)&nX}RyGb0 zEh17x#ANFDO5twrqoQC*ts%RsoUrU}x6L=|zl~0JdV~>YEcPI7vyL*w6^`tPze1AQ z!RgAy7oVQSO=|OPm~gyB=OWisB97|-+Adgp7uZ>v{%{bb@{X{)Q(QPTT(siF+p#cn z_ta-P5P`NO*=p{5W_78y1$sx2@%170>pl}Pl{XbH^iu*pgENFeQT`aRx9%H7-MzJy zjx5d;y^f##n0TByDo(15rpTv0hLJ)#)acG@aKp_^ge)Ge72k`-nD5m!<1Zars@`WB zQbgQe!~}%ld)x+X==mk$pRXNMmJ_me|GsH{mH6(s#Rqn=4w*@R8zIOCbrM!VgRb)D z6+_Bd_Fb!hx%`P7YZ9jEn?1M7hsjNQ&yZaS7Ij+_7G+(C1ZGujRU^#@Tnkzv{%TEN zQp`-%WAB1L&g^x}$xug(0b@@smQYb*2L59pN&O z<)0Dd%`k_FWq7iKt66&YiNsqSjg{PdS)i@{X-LJ$i-fO0WRJ+L@GDcV<@|RTT*MZI zCy!Sk?w5II{y-q#7OvyO zg)5#<;A@U`D?05*;P~Zv{($IDx|;`9$SZ;=VS73sBX>#l#WYUr|7AY5EDV9vgk;0H1$h zmu3iG7Kf0jM;40xY5)6MF5MPOG5S)^z@wa&jCy&7EpJDh$v!cDQN&C~VnA0s0nDND zXi7mHPhS622=>hBI7mNzQOzIJD|G3vAocM>;%((}fTY_w=#`ZWe`0E@^>*D74;l4! zZcf-p?-tkGf>`6<2ho86-P2t|$I4SvDwe@}3b#?nXTXXlicNfpQ z7P{zMW&Km6FpIW6c^+RU2Af_WZ1F=6_RLUT`;$SjMD3zgj2LgHplyl!`p&gC#74Yd zfL{1MJ-O524d=*{1>C+XGdgZe+|m>K8$* zVHO(4d0EKD-im;EDATa!C0T+lETY-=d-Rxv+Hd8g-_56V72b(NE&EjJ1enORI!XB* zPmTNfrk}W7Kf4Rjt?$xnW0uDLPzG|tj-nx_!U)msecIR<;m+8+`CiU;xsOjr>X?bM zXYxx(Mb4Qr((3c{{1w2$)|m3^ zE$2CbK8Jooc4+=)x4`E6pYTi;e0tE>uzgFlx4>qoRYjr-**njM&Cuc?>|sq%7g=_^ z98$g#XA1OM#+BEIGB{Wsr5Pg|Gt{X1)+#TIJmjm8M zO!&{8OcWoVavIjCknUB%nD|AT_MF<$6{Sp>F&2DzYxj|+l5y5HO&(S6+-MuZc@y*qlY{7dl+r@cKHufg@zZfS2 zGb<(n{R^J@{W#BV-|cD-NjrD76w=IwY%VLJq>XT+ey5xsx>5V}U>+dF!P6K_F(iR? zEA8~XA{KoGUfh6&vd>v}7W_1saV-Grl*WG8RRu||ztNdF3uR$&R`k!VIoQ)G%G|JCwwiBX|xmhSU4w(ElL@AlB$bvG*2(I4fNH1bU+}-4P%Xs=B3n_L)mWWnXfv}C*6?VN(Bjj{Z$}BM3w6g(<|%T1yrih51wAar7w$=k_csZO6V<$}7W+kU)!K$e6S*JC zUMu9aF`07jOW&!Tb_r8A3jVVCz%BP-5oqTP&omBLxl4EL;4x+2tP9qakEeo7NBsR& zD}82yAr+nRGCZ(_iB;mUfxJEb$k8i+pR|q<&xR&EEB`nxqbZI&0?XVPY)}}NK!-|% zK}^=h0iUXRAwd@!0pWk&neWGw`{b!nJ8GDe45!)!Aa=z))S1|KS423z{-wR{P{<-T zNlgEPfVj%@ct)OdI_9caNC$Ts_G2Gi)csMH8gT?aX>44_Ns1$1tR$j7@<3NVD}bw>A0;j4!Tk?#VH;1{2hoNUgyfY zvo4Ya$vn3BZSas}R32?O5CfO|t%Ryfna9C?nJ>y~d?xfQo6hHvR`pV@UkuqP_)z>) ztJZ9W?LB{CM1GLa8e0@GWk;GiNZvmy>YdQumy6?+XgKwHzxDRVSG?C{a#Qb!^ODJ8(aMxeH|ImTvO-LV#E~D$ z>oA#O6oXTe1y6>J%lVC;wfJu0EBvSHo=)pNHcyKRHVU*h{V&ZO%J3m`UoDbOMMvdb{^RT+LPA+mTw$KpJ927dMR0o-X{P*w zv>F7f&IL7QL?M&PtN+lZiHoKfX{f23{xcn|QcM(fIG4(0k!DjN*{wX=WQwgq{RQ;R zrfKg7;W}6CQ-->wa@VH4c8)sr&vt5fNaKP&8-O2K7`t=q3*9PqWo|9YIGUvD&RGZM zX|O)cYeZNT`88qM%a0r#yj(obhB7-Hmr2mp2v+G62A;%}SH~DZpZ77)RMetJXWX*{ z2u~hw-qzK)QL2a-w%%77I|=^n4F%SAkr?yPRMVc>rM?TPz*^m0C_!#U($&A+D9;56 zsYz5m?jb90f$EzoZ~V3o?uZ)#I6=QU>oRdO{_z0ntIes-q z3u|@lbPP|q)=t(VR?|5m*TN^$d*jmBQ$c9sxY_O`zgB#h?34b+4|?=H-p%zxbNz1*E|4U8n&t6aMmig=bi_)06AD@oE5OOs-&znl z{Mo=;wAZd?)){W`}VnLk&^x)QnDbN-8l#X#aqm)#^-aFd^8XAL;ztJU~oXM`Kgf z!896q-YX!mVLfQc;STcGFYhXiNVK+wKpqSM9vn&HWPNy>)-Np0k4N6({d;y|>YheU zO7-(QlL@~A)PKQTvGX~)B1(%ZQ4y1eJ&W^AJx%o*7T9_qE@B_#@eI{=gAn@xm9MvO z*l;_Ks01WF(=h=~uh6AHe;<)Qz~CMm{KD1O;`u@6{{nB6d}ZqxL%6nOYQUO)pbA;? zDv1>cZOaK&(G^>faf|=nzr^b=YY?3>@oMSW;%l+U^`EBf9nQ(`mlJszEARS zd`>cAFfX6~10oX0&9bEj7}56sgI|p{bTY(&UNw4T@fJ$+L@jZFGo}2R4*Co%^pq={ zX_5mY()n(NPpo!{Nzo&XPy zaB93ZRdF9vDgd{DpBEJ_B?+#zaFSUV%5P7M3=^X)ZmJjc;dVUT^#ddeT!Fb2LL6n7 zIy-2Ck9q$Y@^xwb=CK~%T9q2Par}{f3Tl=>PUMI89a8cs4QYZ9d=sP|NaeyW`X4)> zk}XM7zYKydWX-HP6QyvL&Of~Pn?C;uf8i+SNHp}3nAu?cL(BjR=Qc9xK)_Ua$`b`o z#IXG3z?{GQh;3qq|vVP3Ibpo}L=I{o&Kim*5`~T_?+h zVg}>+ke_2Y#@jucfuxpS&YM2(=aJRn)pt9{wOtE6PFaFXz(^pp+EMhs#zxAq5p77{ z+ki^jscI3|_-pdSoTnnjFUY2c_j{ z@mdE5?)sT*$(7Mtl;{|oJz=_MvXd^xik$farV^V)Z=UzHywFO$@iCk-uMS-HaXvkq zMtTU9{564sXhIK{XyojbqUK_HAl6F$G@IEh2J#Z&W74>3GiA%``MdYmadhdrvsa$A z)W6S|yq(-1!Lk!aPzyn?Ks*qk`^&f{nsE;%pVJt#)r!=C0*af4S3@H|?`BPnFG#T( z-JP}%%wwNJ{f-Ao?GR59cb2oLX8zSPk1NPVuAp!J8muz+^k`|FDQ=r&is+U7awbd% zgDCJMO~MAp9@cR=+L>E*vO~yI=A^|4mUd3o~9nVJ@-e+_Zo z`6;U)ydq-!xf|=W$T(!XL#`!C+^Ek5=`ZaLdn{&5QX^f4(IIZnCn3*@FV{MqpnLY` zZ+f+CZ(Xt#o_kf?nmL3_Aq&vL&axii>J#+jdjAHjA1&*)8_#+_dJFw>a9TF$`{r!e z`yOh8I;i+ri|6zmD*j z0De62uAWwad*^VLf0)qtciPe_Sf+>JBCwX#p5m@d#kyd=j!_aH$2nb@?mcrh&gSp} z^^c7q>pz)n*R{>E-5pME1~Xx)w^@(m`7j}p zA`1~yBd^Zzy?zv;Grt6lkyMW8pVRRlU8$k?7@?V|#`qu}K=#KeMM6VwDd!I*{vH`C zKN^tW+sqADm4R?@RZ_sbYbu4S0KS=|>pU^+zkl*v4_VW2QwyuO|ua-8|>r9@s=dMjX z=JGmmli5~1JZVBpQ`qJ~PRYFl*j6V2XxGQ1J4ko$Jf(qy4pxu#eP57Ck*odZ4&m;T z8G)6lo2bU2+3Ntly_do1b@XaxzXhuq837+&crVI^u@WczMSSsA$EqA}Qzba%O5rlu zUEOOQaf1^=%AgQ~eOJl>)}Jr8Ro?n-qoS|1=!X9Yt`{K-aOrv-5#Wv45}Vo$qDE&ELrfg!=4G;my?nbme@ki9}Av z%zA5s9dbKpBFt=QtRq0p-2t(OPDXW~>9TW_IAY!{vTwDnw8)wOZRH5XZT9@dt+e90 zT)i>`_;uw`qsaGa(AZgtRee;kqFv4Omq!cY>upeXBu9oxPPdp`(=JB)Y^SZ3%685q zX2e*btwdTB^BZQ1vMe`?zF(_wrrIWU6-8(0C72!ClAq(@d;4Ud92dx-fE35opxUh^yMk;+Kw)88 z(*Yv+nQDok;zbdD24xllokmPbGqC-cK`chSkOkhe^>}mOZ@q;0z!?er%N!~a>cTdI zcYp6>3+!@mEm6}gbmGD!@~=HRhY}$5;u>@1Kd;~FQ%+lv485b`ApbGSavr^I5X{2$ zEM_^`AN{#vm1C&Hc!1=!Tauo{8~I<9%CMYRA;B`?U4;d9-m2Pt>e z$}cMGr$L^Pc1`JXt1;tAgxLhM?kD-zGq`o)W52QdICGT13PiT0^ZK1*o7}v&>BpSG3GpEG#*LLRs!*RIe2DB* zhZC|6{Tg7)^QPt{2`{zn#R^^*a#jxI^ki?>8Pjx9+V{kM^=MvChZ5- zi6MBgba-&En#zs25q-%ZgO60sFC26xG0Y)-wr(5Y6QgE90_w6B89dDv#ekwn9osLo z))49bfJDri5vX#1G;F6LQSiIS>OH7d2`}8{jght&F{WUMp9FM_aAk-iq5XrE>cQq}}D&ksqhy8uU z$G;=A_|f%CfU#_CH-2f{*Y!^Yx7=FU&IQ#&4#_`FG4L_-)F?o7yxQIbcwlxOXn6M9 zqOJYuUN1Y7H(%wfIKi(R}?KNpxt7bE>zgJ;bdT=SqkyCN;h?jftKy-hvp7S_rxaRI>T)^#@M*S$_1>W-jWEkb;)L4OV>W_r&%?z&MPp4_%SUTia}95hm5;=Vnn)f4TCn za+ul`{#r#X+dUlGZ+9=dGQ~b;30D^W$;S%#B)Aj{#KcjKSpONxJ1_Jy5*x-&*Kawq zAP}9o4rpe4&DwO9ikUEa(I6k!(A&zmGPdXHjE&w?d0n8x!8W#rM^)~)f-wmVh&t!J z|KjCWqq^j8oJqUeu}bzJN|ZQ<`_Qs+X;b-!Poo1u#E(FpN7+tN&2{rH&oCk&$lD$rI!XOn|1X>*F(?d*=*`^idl9*bBZXPK<;v z&Er9PQ?g0T@{)o?)X2L6^X+BiHT_S2wV#bT7%8^vt={5ZtNEx;bprRFT4mM3@iB3I z6QZ-rkg@z$@hPpjJHmTTrM|`SILW@Za4;Nca56K>z{1r`qYZ_PKjQ{%8wI#;aFQ%c zuX`_j7-?Cn$ywvNzwG;J9EIY`0C773y`fdn&zxip?~Pd-y^y9Iff4qMeMxl2uaAy% zq`_S(8LMR8XHnPbCUUz%_Vq}C0=S&~?jN+#^0Hr8Cc9FVDkLV^G1F8$&@hR4xrI3! zz5fECV<`U=8m3CU&tcw^TLmjZ(QLn6W7SqZ`a0;z*0!V(HYF zA_mhxJbej*a%~GTG@=l&RD8*@=Eoc})4+a9)JFfV9e?pcyQ5%UT(jlRLif+< z_r_rsG+6@0e`)R@^KZY#pQWpkBCk!|qpzFP=2L72Z%#KZU*y)wBb|~2iCN_gtN^zj z^GJI{$7TDgnRoRp_7cXu+Pq`n`mtN8WD;^YqpDW}U1O|%=HF*9ZmG$R?w5PdkfQnl7dD(+v&&DAnJf#TRs=-Zx@1Rt9ge_YyqK{MEI6e~qyV&%FBA-bHTT7b?|` z83UE6c3)S7DB;LVZlOS-%g?5RzEE>wjwN;vR&5ujI~?gC1uk$WqHb5#{rg3N1E#T=mdujP{*F|hE&hKz?3L%w+t+*do z$uVG;uO1wcdo;S`WLMspi3!_{LMFKm7#t6zT_)`K{S>?JCS$oKeTRHMolgSt58xFt zSP9x&CZ^AI{FPc=r(Z|cHv^QfbA0gedKX3ZL-?OT8&Aw|jG0wXqXvS1?4S%}L)oUt zvL;L0F4}7%zC5JK!-ZeR{`Nz8hx?#_TM+dI^|XC4iN?Z*^n!KU0Zn)_RODBm z(h5c3NCX~<6tVYJSpj=cP3M$QHC&95u7&IGeP3I*CcwXhcP3&*O4h__0-(XHKA)Tl zp-ieaEGlCiG9v4#usjY->?4N#RD;oJ@ooj16W8=%wC{c}C7PsQLfjC9aYT-jtTR%U z2p>iqqU7b4wh&(t>bs2fIid}d_I+ci72jZ#f?#mU)7{-SO+*<;}!Ti!0=`<}v2Yf47(U67&4LCZIj%6b-FE1`=!g z(=x20Q;5*w1tW(q=jpsvwEAff(zv~je)Rg+r{>>1HbLKRv?le^o?Zn@ak(?j_Cy^H z*%|Nc;pgjxD^vb~al+OVj9SByWoxXEF6*wZxb%$HHIrFR6CRNHyFCD|R(s<~Fj4Cz zmUZ%n-^iOM!K%T*$%p%65ddUu!tI(eBD4CI7+#7A|Y62mn%EahX+>{&V;IaASKw!o3u1^i+JqWCx8T(Dh?GlTGQ z5}pVlZIyjWCliGQj&L=GeqFZa&bR3PuwH)7WhIc5E_pO?dE$m1UcH9sgA1> z_mXxDe6=}rqNnA9u4>R!mn4UQw#Tz)RHSEF0zaut>7l#Cp6fyv&IbmsYBMs<=5g_$ zFhcdX%_saTjOomldk4%YZM7Dd<03p_EuWuv>hT7;43vjm%uEu4T;9*#mIfOo>m@@0 zZmQ<_Eh~of75Y4hsQ4X=NT%^rsFd4Y*P&if054!m?^<)OJEC|IET!qd7VVB!$AWYg zktRHm=-M2U-!DnMdwbl|0^gjbH zDk2W}s1189Bvlt+NYfax4ex-Yy+9|t*$SX8rcxT$0KQei3?!~7+h1ZOWwp85}e}k`SbOA>AO2bayRMLQ+_yoQeDA z-ur*fo7em4y{_|-#fmw{9OKFRz8_qnWYHB&q3Ch^J#`QCjd;>kj+YxE_Qr;66P z8EYj(T`K8)9k%hepeT}VaL5&2v&O{h^&5Qn;1S#`+!o4c;u58bVWS24XH$ufJ$b@X z46ZoHdbF8Hd0X9n0X4PH7+x}i)30>f`fKOhSW%%YNwA4l?3FH6wh@!nN1$kM!PMa|Q)TYRVwF87A1zs~vXtT&jNhQqHM&9l^7zp#mgRgSA z8~>pi*3aFMOpKVy2aVo7TJBtZo2@*OXIU)c`CXfEqKp;FME-(^xkwrG?X91Hy8`4# z1Qdo4s*pgJw~@vw!=zheo6`^$F*G=P1K-Z=a6J(=mbAceiT{`RVy4XI2^9 z>`ay~WC;BQ7>4&gxW16mj+9ZSxG}DB1OV@Sr`wg$Jj za5;lxYnN*2%bdK4r99cAj>1=CJ%83m*`&0I{nC1DRKy0S=V{Kx17@4W**aBOXWqeP zzh534Redfi7w#s>vI%*Wb`>a9?Og*M*>TKFK#t*duu!zWARl9u42vWd6cJWu%`)S8 zV1H~;mSFKV0kykRsrOCTisuubfq%#yO~^`R)!ow6L8Y%)y=xcXDTDC7-j zhVTrzowi|J`?DvhPtD~DBRw%>;@e;*E1=E7eIWDRa+vkD_h!8Uz;){*OG1RRKW;ij zGkr)yRvR~ag*2Kk^dxF>o8++jbQ$Q##Z{4|w3L;BlBYLN$qMto@cb^=7Gc@FvK3D# zxx9DmHB(Fw)xy)6I!QwdY8oA`9nrNN56r*PHvk8%h#LoSDdmU?x*AY;6bZVgy0guk zWpdSCULsro1pbopxm{}8-YuS}R(6>Y{D)vZ^?`Zt0B6GN#;u_{(kdDo_NR`CXH!73c=hQ+V^rGqUi4TY;FT1*8F zH+981?(fR+HVU9vK-Q+H1|x|QLT_3GP?Cy*c)^k*2ACvL0|!|uH80KA=zFj!K#jNM36Tg= zm?w$}wA|+Nq+;yu{&gnFY7Tn~3fV{u*f6VBOZ%<)a0U;U0HdKSI!}G%<)o^(qFMx^ zh0xvsl8(nJP>bTPj~o!H)tW^590hdq_J_faaJ*ftTs02_bDOOOdBWDW<2?T?&<<J34$&RlG3!w$hs&_r22s6DU6MUMcMKI8m~GSb zwta~w7Gs-V;_bQx7B&`2X@vyRyU!i9I1GkkKZH6x_Jv?wuuDo4vuD)DWj2?0Ik%W9 z`IAyvW6#*JdGl709<)r%_<`m`x2T;jn(6(gVr@*}&f{#?RWD+W1_WzJZS7CK!8UZjW zhI9&?!lYNYI~kz(L)`s_5oEkP%wN2vb!iYn)^5e!_c1_&@CLYXG2Sx<>%|2zvDxlw z9WMk0NbuNq{gCesk0qiua+4EGY`%_1Rzt=Kb&b{f8afEEsh8-l09_5IM0D!%@#mIsD01yb}tFM<QZD%&S3RX@( zd~=#!R4waHPIVe1+4{y8{m3wS)FelzqHB-=fMnJe^y2~upsyB^+SUVIchvnubSPI zCyys98cO7>(F>f^ME)RTttK2?^Z?=%s721R#o|3rHt0Si>2cvN7J^-hczb;EQgCua zP^(GuK=1I$L%+6vUZP_hk9SfMQPyOiB}g9uKheOZAgt|*M zl!?~3VO5k_0GB#ft!67H4nga;*B*plud$v5pblhM%Do4(h5~av4okHUH7nKHlpZUf zjxkWtRk?EB8`4noZdPg{cdivcWNx-Rcwm#Y43+bGz50&u7Xh@qA%Rmb)O0yNCq6Xt z3Q$pFiUFRcEnrAImmkE`3gG^{;=f?PqKgZ>)bH^dAojnaL>Gh3MJqWog5^h1sM9B= zF?g$;lg8E+FQf!XFEWga0F5Jk(_7D2)qjW49KNStYqReCZ@%Lf6M|`FIy;NikLGV; zCiT3SXb!PP{0lt1XO31_e!Jn3+^wFogQY&XckSEx0?})iJSs>Rm%GJbZ)iI>l+)d? zV`E);*B-&NPL@WpgnF@;_G}#JR4GqPolR>ZZ2qtuPc=RXp==Pf6%RHVU~v8d(#Y0(zIxY50m3qqQq6uBgBW9(TNs3A89T(MMOUa%_;eY7 z&FqPY@_~y%Pk$Y|n4DW#f85rUaYK`i5y`#i zh(kOP(ur=(?bPz(<)b|l!y8N;UN+<3bl2Mg>jdqB{G?>~bs?Y>b|7wCl54;HXa&8$tW;Jj$Lcl?+zAWuh)oe}cAKYkK0s9v9zJa?0(Oa)~R-hPqsl)UTu zTz7>q(glhV?AxA~NQ?9ja{?fV`I2^5gpt*}JClf`BUfF;;R%~36xIynM2J3YKTlMp zkd6XuYCkNvZ{9CWTpD*ULpyIS*wU0lt+!qzUN5lY)Y6;`u8e+VALibyXDvz(D%BS5 ziF2dyh)FB*s>|bMIw5YfuoPi+@wbch(yfWCj_U&ob`|9Lp&k`Jfow-(>CH~Q0G77E zdezI&39-OPW(enca5WvgySgHJ?Pr%24zjcMlR?~-8t)ELo9R(SUoE7Jqx8dbSHkdp zqws28?SX11(S2;_&tdn|SL^ujLV0nu+bu~6x22vPEYh<7A^DS+d+f0$eBazIhhl?b zQXltGX3$0+Mc)pf1H}_dW;FFkw8M0g1Vtd%b&29o~XBj3S1}ZaRKzW>}p|*A3SJls5dSS{WbE#N$+{ zn1yF^Ud7Jr`r~hpgu8_fTE4Ab5sFnWk`+A>|1>J%28-}QFXTBuDH@gSwhpx{Z3$= zN_=Kjf}y}m_mJBRdd#vZl?{}8!R{lP3!Md>!)*c z5CshqmNqdXtmY_&QYqBLhcc4gHRX{-rOXMREpR3BiQ@UJM;vG3+;Gwo@8S_$iV6Pw{^dzIlC3L*W>Y5WGn%!#S z2+1#(q`@$$l@rv&T=)PXnTkmEgSr%J4V)pa=Oq+nzT*&eXYolWil*0R61}$9B#1{u zo)oZR^8K)P@+3>UC>rb)xkgBat5;?T2DnWt) zblOwp?xZL*Csy|KIZ7AmC@jbPJ}eJ?*FfRZ`!tl&&3h(E9Y~|l>BtU(U{RFj0cnkl z)|LlW+;Fq${y;$qKv=VRv0?JMna6YvlK9jumr5bx$nM0aL@5?G2rYv@R&GUzyiiYz z#ydFOAh*?;JYNt7rM zG)z2O$h=cfxv`W*vA3s=@fT&}{+b#SF;ksa@3WppaJ+3$h@Ezt9bCuwT_aziw3i5R z`|(?wrP-A8|*pFXX^P@!%N*3=mON-U2bJqn9JsvU@x4;Mf z`xn-p5%eFe^f;c%Y2Hj!C2D` z39elA;@44E()jE=Xo*(EuRmLE3-hpbk=wwP&{*JNrjJS9fHd>WE2$f1I78>5sJR>d z?%z&lR#YeXI+rpIDnCDuouK)(Jh@ zl-f$RUox;U>nPAz;UX)fipsV8ToXJUj@~TXZiD>=BW&itX==nz`n!a<7Y#bOwyZa} zT)SDsiFIV~!)z-<_+EJP*&AexA56kn_`omY+5TTP;Ss3$(zmH~eqTjd|o za~Zr0QYUU-OS=}zrR1uT21uB~l#N#_iIr5T(ytdeon{Y!4*jj-h}h=ZN%Ee}CoT7T zGL!WZ_cNBdsY_O3=EzsZD$Jl~hqJNMoW5^v)%C!5ItIth%PGYRnB9u`rS3r4rJK_& zP)hTY*RD;tPHSL0kdiw59E`G!sV^G$vsglp)sY%1Zdm)ul?f%rBJ~}VS+1oaFne!< zWb9RenQ~=7ERNU6L4FYjv|z*B1F&>`wYG6Y{(l3-L*2=~+L=DZp$FkWQNp7EQKrJ`lc4^d>e^Jzu@8BHwLY2Z0F7@JdFf%bY>;lJ zmHtaA)`&ls9Re|GhSbW9`ai^K#}u+&(3?x zy+L1T3h55bu_e@N@yn;FIP{hEyRSZ7_)fe7oqAOL^%092YzX57pK zy%mG->^9ua1!*6)(%$Paga33?!8GUP?svh6MWN2h0vZAd#x`{rk^oO zw@gZW;lFT8(C#z!QqjX2A+)=((tV^|iC>ZT1mYKJnGw1sx&kW`@Gof@@aaoh9ke96|q;@bS%!j?MPV`{q6)S+vds$BJ#?-GhT4B`#OYS*zvcAxCc1HPV;TBiDj&Y`gO0hCUp;{f_Uw`c3}q9wK&N|74sZ;GN|Z#*h^vAVa3C}U3gw1d&EDZ-_Hx9zKZt~ z$xEsU2p@L}Vc)TvD=`0dR=S}pNlF>?%>#EOK`^Ltk*hFT^!iD95W~w`g)Z*8wIVMO z`L?TCS1YUIW)e&~mTMu*vyyEA`{P!5nyhEbUCI5YM?EStoyO}^URGq{uK}p%-djS; zX#ph}E}+#)1zE_xxXUKa%KKI`W=6)rXu|RYF5Ms*vDm(}gK2{d0M@ZlY}E6bNc#yVc2Y&my2$^U6P5+3(cX<99rZdViu)-%sMcaRt|X@{^Rxh7!j9P=J7$ zk)}PJqQlr})<0Z-H4ULM=>L*`TiD|>H&TXXU)ea%$ z!m7u@5+7BLdy#Ty`0|-Kp5+6nU^AQHdVoaJrAC<}Y_)#fOXJrqfQ6qPF8Q+a92vvw zDCt!*Dfn67i+KBq;4zTixIG^EWE~IuJ%{5RzM{4i8^EQpM;~&{>dAT7_v*>3tS86lzKv>ZelYldH7qLYPC9Zy- zb}N)ODeWUQDX2$biWZXwqn+ra7T;gP+ASP~*2gROl>&G41Lm~uT_v-RxK7~ersl^U zgVS-s!M)5;QI7oNs;am{K&hVyxUUZ11AB|${dPP45DDRn$rvbTo+XJ>-VpXys&5QE zu7%rLbrw#fRoHX)IDj9d5b)PRa(}`mu(h2i?e%AK1ujMV=ek&z_6mVq;CS((0?yAjH3mM#a26Pqf z;y|-ND*$_2{oGCOt~G-`3*9r#-j>RB3$~8DN;)WwY~~U3%K*#5iu`n4?S2H86VUGm zIt;b+5^N^c(SW`*im|p>zuE&OJC$8a1B){WfW4v)>A-WsGT$ur4}Gl)h${{XpzUIb zp^aSl{wkW@!f4p1I@sB1kW%T9Hks_|n{F}Hb%ymkJVFr~vpuWUGOC~q_}}9DVeD?+ z{1Lwh=-;!0*chz)$Ub4=k(nX>`z>#q$Sy!NY@pZ4{=$uv1gIFCfi(siSmKHRR@1cm zvh!`%S9U{=Wm;Nk&6(JMb6G03*;OkBMUQo0j)2PXorvv~@bm8RgiE6@zE2~3W%v00 z^CcNx+G5DzVjbf|rrs&`g?p{j=z&wnflBKoZBx$MVISAVGS%57`fd9vmOb8Et`K{q z;;q6v#a0t{%65oZ#5uDwBU5t#4SUmQht)$1qLkTXLf_J$6Y4Jul{d*bYhUb3o#E6@ z$VT7fxsv(`0TkEs&$2^a8My@D?28Vw6uX>fr#Wbb!Diw*na zg#6HvSsm#@xfysu#G6ZlsNyo{s4=~Xq=rHv8zrQS{3}ElsbW>{=u~`!Lf}rfOiN}C zp$oM05AxZ4CC;NU&^RwS!om7)S`V`t`h(a1{t7kX)e>zcx@G!#JPiT4o)K@4z;@;e z!ITl8%?`6D?r(Lj)*|_;&9o`*_@8@2Dh43WLsTrx$f>UxK{5zZV3|QwpW?Vwf8gHV z0C-($vo@pu&&C3TPtcO_gXHOeWs18B_#eGh9$EX9niBc4q8fwlRH?bId<#N18{+x_ zq``e*9?a$;-)lJltN)p>Oh?lkJ)DEYYC&G(@OiMUk*;^6#(k_Is`YZqb%Wa*eHu@zE~0MMvms9Jjbs z^gMbKRQxjb+dGae;EI707gLA5@zblX#EVbGhY`cEt6j%o%K>E89O zXs!coVM@*$azPl$dOd}Q{m+$-+6QgQ+F5=mp{w|s7&fV^)?RE?F1Yh^CQGvq-+Q(3&XGcHOp9E>%Q!*)7X-}fa5N^nzScqh zMEXPrwK3SJ;We3Gwd{Qp6DT+~So)0A1|j6{s3NF7@YE76I$<^>Nxte3wOa|u_Is%u zen6vWgJm{yyuU-ExUXY|KK&TJd%_Y+pvj}3*3}^#uCv9w^@4)Rjt=AKwm0nUNBE$9 z-JlJDgc+I$4T$KwmZ>&gCI%U{_=Som(DYv1bv0j~T^;w8IMnXUFI{~r7_gY@tp$OfFpME20+U4I&2Zjv<^O4X~UBMey{}8(F zf?;VN@TUs>vycoRqc57&pr30htKYLjR#P<4X7h7+nL)O^qQ&v-L`qy#E?d&g`(ecM z12%Gcd#21w%@Ld%Y^>avRByZK?ssGokaF3Qa>l|bBUinOR)jho^iv|1Nl-BO4)qi4 zDpx=3T4(^gy0qUqts80ovF$CkPvS&pSBO?t%eH z*q1L(H*mbz4(}#^iIQvkQmsN_0?Q-2<>|v}LC3dC2oTlV6)>#A&2AYSV}Bt^cxdIL}XpzO}&c zt$)X>-ghC-BiB>lBCPi`43))c`_En!>klFlWmEynKmLzBLrz7OI6qve%siAEA^u~q zhgEKv{tx$@*QS!+=sVYL%R#Xf{CX=~&W@NPjl+Z(q05rzactL14@yyY zKdJLVQdt52;Q$n!3!8#BCf^WEFVgN<2F`}-1jH{-dd=t_h?lHHvW8x2wPWNSC65wp zJmvT@!$Cu<%}XPpL(93zYg!K`N;zhZEZ{c&5x?7n)n~O#IC7cp&Psj2Z)+6iVc?S3 z*IE;7y2`IN=~!}1ASXl2r3(Z(tIFV-7>=eZlDmHA68_ifn20lB@EftFSH<{v&mldH z86C+S_==)<-9c95+JIz8XE=Q5#Ci@4bu{IKbe;2;eaSUiL4KD}kL2p16tN+=VI$X- zXoDwHpCOOq?;lWX9OrhYk$~@|tKc!5V4Ya%5d>wgjV&{{9eWc$yXH_?-VfKQG-W_{ zIl<{ABy)tFDKrNlKmO=7hxk@^-`5wSeVQpJa@NKmGrx!8xERLh zBsr2~d9ZS^qQoqRx^D}$2M5M+q|O7U>)fh4d?~UhLb8kLl|_F* zmoXRp0QBl{JB)Q@c|_7~=%FCAjH3an>7KQQce!i)To$H9&2Lt`QB=%E0wz&n{Da70 ziox#WbY5?ZpRd4yvBRcCr$`o-K{J$?5SkqwpfX}XeKc66iNLlubEsI$?kOy7l zR=-{z>TE1Yf@M;o(|c%UR~4eQ9N(EM7evi6qGDq+**FYCY6LfD*NU*naM;34zif2| zyW2&C#XGzII)&x(JQb4LN)v+dbzVI9K0Vw#-4Oj3gdhKGp#BUFHC;DG5ZlZDoZx=% zcz}j|TB)O3f3vyX@mCNVI7A4*<=7WaC^tnq5u2jK`Z*L zG!MucU3g3V6(t#8;*kNu;2y}649%;;616w*C%={;1fHxa`^!djlXb@kq3%uG(%)YF zD>z{Q-I@=UuenzneX0u2<v((?Ob{39^P!Wr^xvm;q~+?D0u4sSewRwW&luS=(HW0+HL z|89!Y@fq9h3DCtFm0*=wSpqLpzL;vTN9ny0)m)$!HX2Gf)P?<^A)zA3u$-3EQ8EhR zl^89lOvd6vG&OYnA==U-{>;ukT_d8kulJHLWAGJ7=OqSIBeQTXp+ev#T_) ztWTXZIb@mUn`?=NLz+g|hypS)tKL`poMh~FRwY`pbL>Khj|OV|K_7p&JZBgWw!y3gkA^2pA3}tF^$#nG}K|$ONm%1Tl=yh@;cfZ zNGlMvCuP8wvuXFzP-44auUY@gAA(}HR2n~tFg)zH4&t*tVaPN+F2!@@@?gmgDK?&J z9l-nnSNRrdF#qr{*ag8PZ0 z1zgASY7hkzNm_Bqp7w$hBM@UN5kkpB9f6o*5ufw&V@a)7_`;+QUkqTVP^kTnqc8wr zfNm(iWFSSTag$~fFh$K;`l7TCOxBN17$k=o72L4k7Xt>eAjgmYC7PJi3htQJN6PB@ zIPfQ$h=-1yez1*}YHcQ9n;+~BFk5#{d%#Y|Wii)D(O`W)YJ;179dQ@i9lWISlvcFt~{Ew2Ie?peg9Mnz$U4*zh zEFjK6R$raAz~lEs*JhXsAAskVm%uXXo691Ii$!LdPnb&j=QHCxPvJuem;r%EYGKK4 z802bOQy0c1*Q4#LMSyA*pEu6?-Hle4>&C}w3 zmBgyxq)9C=zbBmV{vJT>{`=b$5JG3yvA2Q(x`+<47aIM_k`JTdrR?iM*c zB@ULw2f{;WadDrJK<#lQceING(AayBI$9{otd84fjEmt5jL|(|w2J&SDh9K^ZLsX{ z*M4wI*FbFUVZ<9Wj4=Phln3EK%Adp}z$G?4RXOe_an-B#{zl2mseI>!gfg%BeCd_XG2KynZm$VoGQ((nv?#FXN5R6fPg8=pGUQUKE}ll zNrwdTW>J=|yfG~zR}Y|FIp;{T%Gn)wue1bHPg?sLU;pAF1^0YJ_%(1+EsmZ;Jxvfo zz#mK0*@qrRs*L_v6wBvVG+aE>q;@}ER0fj?hBAsa%*_6HytbZpv!znf)DW9lo};UJ z;L|$1+^piM2CbipyD|%TNVAB6rK~(gYX5Nc|30URNp?llXUPBY@=pFlC4q_y3#W%> zum4ZW7Gtm373t9AhBr_@;_AK_WRXc`UBG8^Ctv|O+g4M0?J@7otQ5mW6I1Ym^wbzZ z^pc9;&E#Fh=?F{FWgcva=Yw81uq3)k!}`~fx%kQYkH{ld>sIO^7j(#-osB-{=9y0}m}IL3cIJL~xK zt0PejkEg}A6mvW^?U;KW;Gm?aAz^UU8M8A0*Wr*jmwoZHRn4dW;6~ZUJ*jAGRC-kZ z=z5eKz@FyXG`r!}zKmIu0j6XEYIFYkuUjTE<-u60T|>Y<4KV=IX`~w0u*N@Yw&PWl ztrBmvTPkWM;F3wW{M67JYbJ=vKDlg)D}k9zIv%+=e%Ws6fiNt@FV0AxEe59aMz`(% z0(JgM2d4dbt*iQ>cTg`s*Lh2pUlMxL-J}lGnwW>Yff9nZc!#5f8ZyS}cmC00zWX0^ zVQb(GUbANJvKcP7vtk|p%Q#4A)GMXWd050)xY~nozN=kALr0<3`xxEdOe^$F%GmG$ z#f>J_+xs)XlW2UrdWe{V0yc);GJ+1MCNq>7yBweZc#`mmM6)|#jp%W=Oda3&3xG%? zrq;lQ-<-N5)yW^T_Qj;H{b=GY=L^8;FMn|cSot#)guc{qRkYCA{L@1U_-+XSgU;nX zl(_eSl*f8{%|M<`;hpW=M1UbAu%%dnae-vfRl7Xso-B0qU%x_y8f0_{>plcdTWT24 zvZ;&eYak{YMZuuj;1rgdO1@}~u{m5%TXaQ7y1?WQ*YV&~?wb>Ex5%un$P!Sy88uh_ zUSz(73^OPp@8VDfWK-o2Zw^-!2w%g3SA#hL@!WwqoMsy!?*03+rT0H3!?k;f@$e>e zBgbrv17kjoH_@uq5KHczGj5oOhGhuy)ouaGv!Kw2bx*l$g0W>@PQ1qqEiOQE}kiI6F29I(@N? zGTjg9#S&~3f3k=SuIXBDPT@L%uz-zq&O%^Gs{vVmK0txW_#bwTp5S&35Vr%kC6Fa> zh~$A%cO)z8k)lN)-$PRQd!+mSIEepm#``fS)YS?<7ci^9>c;tFd`4u3OgrH$AqAFq z{Q)+BI2EVIzmML=q9pm;M%A8qgLT28Q>i0>B)9@36KvNddZ>G++jo+H={zO*&$Bbv zh{`wllu2h})nTbuh8kE;Q`jrSmv-92K`seib|SB*wq<7~juE80{m>d8$$J3%`&Dp& zsrV+m^gI1%0`EY0xpany!%dJ&$rdgASg-?_KIQo~`r7gm5VNaZ(`d-M`UZNXa}{7p zp_?Wn^e6iOalMXuJNB9*xdQ_}H13Sn#HTon9q$L`mO+WInaXvY?+|yM(=$)`$wToFAlh_=3bv z&G_Yhgye|!p#Aw7!D5F)1;ZX(X8Su4l~OEbfr%%l<~e$?amX0h@HXU&JqZ}YhM0Hh zl{$ge>ylyrI%pr(j&+~p$*1kJ92_RL9V(;@;$Q!`<8f0rJ~d z;HmC#tl_`EsMiXR&9fVv3r-iC1r#A45vM%H{(^x0xuP-B#(wbxV@~AzGi!vLH6kya zXKM>Sd?^^yznqEj_&tBcM~yO)cKJ8R@D7mjT5Oaz*4=c5r%a+^1lm9Ih9HeWB|EvmPve!(xMabj z`3_V7SdQ^)qe7|}&1l!v3hpFb^~Fp^ve%FGIh>f?d8*4FMZprO^Uu(VCl-3^1TSsC zQ?&+{j?=nq6qo8EDy^j#OFMnmxeiLeloyo7WD?GlKaWC;jQ|UnlI)D}$4h5l{`{%c z+GwY1(eM2yfd^vjA?XrV%pYv2O8=*Ixuyv@ufa~$4jK)@Ocb`dBxgg)0_QcG{DzWJ z?RWATZ-!4JhbaFXu7{!;)I)(4f{41QHC(k?jtc>MA|PHToxc>YQltTuxig-pn*Q^5cB+a!my`#)K)197lQ12F}sJRW+gvyJ8@kSFG zjsAr5c5j$LA=XFF(W{(sf1lXV@4BnhCf>D=+kgb8O(WiGIfTRS#VLE$LhVjTSdd&3 zv(z#=Fy>c1Ct1G%vg4Edd#?3z=46|eDz}c3O_3`lwBe~U3<7c^l?H1WALHygJl@6NJPPKlW$HG(Ev070-%L={ve~^ zuQJo9BU^ei?1-=gFQ25Ms%(t>ewPV;C=YVTc?@Zn@lw|glKQprNoNspNx8rw?Bc#} zrPkE7SjH`M|MkiJC_us*_$Pzh19I)3ziF37KaIzFmajwhRV(2boI6DwGEX2cTktPu ze~`}p%uR+j{SrA!PJGfe+pw+kD+8Mh+f*cZElhBcGH4%g;pYEj6AlWq-7(Af7x|G; zMbv8KN%se0gNBi)w|4+_3PJ2}?3~bRbwb4YcLgCYP&)i~+M1C%j>m#zFK*EA;dn%7 z^pH1-)O#uK9R~<7u2?&3n`7UN>y~J=*X%+8_1S-2`-EDogjUF7f(@1pat$-oz1S7^ z(9&?v!af1UBpE_9$q3-51xOu-O%- z*8HxHl2x2hUsla97Wx8e(40~v#COjzF8;QaeJ5nEC=0-VZZ;XkfE^m^Jkk4r9!obj z>F$DzY#KkWxqS0EIoBWugzgfxXVA(bfEQAhp8HYvV z*$DmWWLnpVihhkc{?N4lT9^;kpDO{1hE#$*!1npY6*M1GTpd@$ttWtkO0OuF1r@9_ z&tR?ti+=U?KXdc$fCdE+iU4DnjccpbozVQu(_7tS3DtaAUO%nfl`Y65W&=V2AUr@m zArduH0S|%x)c3x9G1b1c>NC6e6YT$`3Hra9=Ro6<`VIRF z^OSAj1Q)UfnIuJ6eCa*kGp!*OJt6LTES&@WI5){cr4kL2o9a}@e}@xYZafxGrC`Cj z4=RP}LCQcRDlF7>hDEPke8w_H^Oaa^9ztim%$Jw`g0_PiaoV$b86dR&njP$tyGClW z-HXegT3w0_|LDKaf|g5u?UIVzD{(X-v@=SdXVG|3<<>z+W?IlS#QCRiF!{=W$ zBhK?_gk@_Cafo7VjhSrBc>dKIb#CUCJbDdD0$Uj}jr7S8K~PTvB#@)Fj7w$+4}7*7 zl~i5cD&c2(ala++sI^&LaDJftALeG6w@eLi346zyHdMG?CKKy*M0_9&-{YITu3xGi z=JS!Slew&Rwm+M!;Z!_Fw*}qQQzshqO*{nqG=IuD(u;39;)@hc+^?VXo(`JUp1d<7 ztEtzzZ7=+>sEmfQQzUc2hU6ABEoCsndrX+)}6=`;p^=>5C}y zS&TgMM>JM%ydrBU42^G{G1guq>w<)-W7hkJYryDJ^zafp0=Nu2LiMl-5^WTu%zeRO zivC*da>|@1i1SLZE{+kFS#(ylw|Amw<Wk7J4 zkHL>P;vPzuqr@Jt_7sXXP~5#h>>Im}ywrM46HI4gZgvh)u1D&%SVX$ush(ntUByO| zS4sDN7yw-1AM2NaU)S&?CpmM7hJanx|?Vw;%v@jIcG$aEQ=d~)UhB>+z|1$(? zAhrLL z-hFnZ=$tbT$n7ACQ5|0ca(Csux7boYU*}xcF-!K+l`YFnWgZSXipnnu&Y05Oc4c?W zY^YV8P&RDycMnOBGIXEZok^CrajtKR797*)c^a{FPYaK*noF%HlAlj>QFdhu(*sj4 znm9TmpEQ6Oo|w?lQB`y6NJcj+1}fs*fN6en4^^x=AMJ3 z{&`^B0TLFxWf9{++1_V-=n+F&C((If=zhrqK&1d&_eJVum?K8|9v8GZ0 zRt!H)BhfQ@yuT`}B{*azYO@f}YWAfl4AR08@f_FXM2v1XF5X4BUc&bANqvOIi=7L> ziBdN-ziP`=0_52=r=L$8hlmfEa_vTt&q1}Sd59r*)@l0_Iz`CgiW*aPz(Cp z{H7BoF@fJHS(svfQZ;(U!`oKC8B3}{Yi1Gu=V%}|j){W%MNNUOj?5q+nc@^buQYWE z%&1c` z9#T^bQ#jis!&cI;qP)VcsdI>$dR<$iERm&F%HL-rTS3C!N#6N zjD zsg|AbKZPI2+39+9I|!m=Q*1#C|M z$1(vxiJK1;G9oDsf%Q`F%VBn&8drmlAG*zu1yG0=oq2l#> zAv@X-ow$}pXxa^_dt|V`&OT9KhRi++>izJSZ>y*Y0c-D7SesqPIM`-+YwNXw_BlF} zJiN>4ZK0PzAU5iZg5a)(=p%2-^=Hib5K+CK20Es}K0nIrmJgc2TT#X=!WcG^UZbBJ z$x8guB4|BZQD#p~y~rnY1jk*eJEam)BAGfKAG9V@MIskvyb6p!#(Le@vw+X&Mz@82 z#Fp6B*+3MYbz19GwNMkP;Rtv<$b+23y1#8u*k>7*Wr-`|9lHvm^++tC$fON;d>@d_ z{~(-o#q*Mhh{fr!R8sw7r5lpsh%N(TJ>rx0$#bc1Tq)Z3d0Yvc5L=iUKV>O_*O04NIw8wZ@ONBNbAgXpk^T?2X>hZ8H^ zQHI?Iz}4)B()p8Uw^~hZE>!9~U0&~7-zehWVU&wieuh^>K$d@H=E1)HxPAY|e&3FQ zaH1>Zm0RQ{e2`LPKrT!4LFKx0T7F0BKe?1y033JsUoMBa!Og6!BY+I1^N6!6R9w&& zDigZ5wlPMu7NGJmagC_t*AwdvC1;B^4iD3p%A`fpmeuc85T88jj?JpE|Eb~}qU^l! z;$`I}sAPoCq&>U_piN~d(t>PfWnda(olqUb*J)-ZtYo0}LRbpmZ~IccUWR-9tAL11JNCL5GweCEXz*ARs6W(kUP*DJbV2 z_jd37JZG5^Ip>xmrDT;YsU{`#fZ~OOB8PDHULj<}=`D`4;Zns5AoL2PQP^M72+^k9m*O$gun%yo-xh5Zk{ z1BidLH)ZJ-ir$a67{q^IQA)wr{aqu0DYb)l1-)sxCe~vXwV+ zOMe~z;`eb|9g9N*ANQI%Rh$aIko85;Hnqx2(QDV(6$VanwfFL`FtzM{twu2+-r)RV zLZ~U@`3GrE$(S=vESaQeK3y=tO**z;GPu*>cK>Bo+O=!4HQ$1A#wp=Ger5R2>aGXY z`<61%jKfp-GF#4b56R$3XNjMZ=S$kUTwP8}MUG)R8E4m}(=T-Kwne)#&PBA@gh1Am z!sqyqqVZNwfs-71Qqz*rwThNYYB}}Y)E^%>)_ZO##iw(<*o3VfNPZTZ=aDv9kq;#$ z2paN1o;JUqYq{G@U&{B_rUW&|d^jI2wLp$`-(@0~L$lK?It|gJTqzWmebW4%!1^j! z!r(j7GLd&ZE8NdvWf3po2GR=1+e%05rA#PlcyX=~_&%`gC@?+3-cfTPc0bGA!c0yd zKPs5BOkhqsY7qsI>I+8I4zxM>jQk+3kP!K-B}_y-J*933qRJ3qFT zZYIy)t8?pGvW?@Aq;3g#IzHIHZ9f-3{&(A6vf%p$-wtw>YJL&-Vf!a3TByM?;~}7q z8r;SU;%OahDtO4cHoo-MbBH_w1KIz8n={6HLYo=p-h+hjPEaSUh+?DpPC$(d_Ro-@k)t3_?=}Fae}SStx%22;Of4= zc@Y@ccvf)TeC+t|-E;yy5_qobsWVRFkoPs1vJ1eqo@aUZZ$`&hB-@pxx~rXFHUb5d zoG>MXovh7BjB#-gYj50$Mmd*Nn&Do?(7RmLc!7j+YhcHzSf8}jSf1vmYwVA6|HK=( zZ0Cx_AHpk^@-p`kY{IO1Y8%;;~DP()6jl)>Ox0+0pVS z$R7r;&8;&mqF^Zz2Bhfu&eYE;ho!tbZ70!i%pUM&@|pbwNbh4PM%t2BhqhQ^oF3JgKV~4{2cizqjj;9fwM(6A*~b}f8E#?k_OmL- zKDgl8r*U40Vy&>Gm;ufOqJlR>B9}ker6cG%%?XhD)PT)Ho~KkC)TC5D*R`DQ_F)$#RPCi6{IM^*Pk z>fBs~RBx#gQwE}ZbUxgXpNihZV!(6e*Z-}C?? zUfFw)HNLfSd`o=vk3n-`?ad?vM@Rts$#4<@=|*HST{{DTH@1xkD^=DgL5@kW0s2wi z?-Pix%M+K#9S=A$nLyv*zvB7dPEU**0+?WWx=+g9`rLGT--5dW^X1{w#oTHF+o}}` znV7W%c5iD6g=h2bf&<9^SZbwoa?|tWSIu0?Ir(kimdBkxj)6CQCT}Uq;~T6rRvq;h zYJ0q%2QhVi`2K?x|CDVA;8^M` z8>rVKkEDAdLOkZ_Qg49u0=fMyRivrLXw#Pt!)K&W%8D9$&g4Hics*3+7|KQCWpu@{ zg`YS{q4!(wVen+uncsZJ^!n&q#q_)VmjUh0>VyF%ZaAT&fKKN>*c0WY@v5Tro|A7^ zUGMl#p_kk_JG@oARb#X-b|1vsT||~2xiXc#u`K0exem4BOx_2`wI3pES&bV@E24WY zx60E}0D##YPr?otvPvj<_5h$3%*LO>mo9Wh zxgDOJvWR+pP+VB#zTsBRc$;gj4>8Co*0(cb3R}K?-xwMbe^w6u>^16%z@$E~)0Rp$ zoz#t~3q`}7OxOpw)wJY+fgJO2hk4^&e=Y_4vqh>*FG&I%)Q#GpZj=V42(bjgpWfSL z3I+stcWs%%WC^|+Lq>mr^VYS!c*t)R62zOx0_R&(7k0>yr~byYR|b9B0I53WY}v2f zyvN!IBzMk*qcsGVB+{qyK*`EZfDhpJzGy7*os~FRxl~k#ZvV)wlvjaZG;T2(q3XkP zt0=_k1QCBq+cgw7D*%in?fzm7QQ6jetc|)hkSs@C0>8{e@5IMjnR?%uC6{yOe2Khb z9%rtiNVtj?@?TQhU$#6L3zJ2*5F8KKAnNs5-A$b`Fr!(8)G^m}8I(MYBovLTy74fg zuHpG7_Dvj%$*DcS>WBzlfU0M#ueU(N~f`>L@|7)IKW zC^n!dQ2X#>g)OrIAH1mFG&uF&tCuFv-oxK~xhIjmzR$K36Ma~&{pRcZk90&l3|86f zEpMN*O9-^zXZMJ?|6y}8*%I6(*MnM!H(2+7 zc)FUB;F;F;xS%|(a8!y$-1PRfHWgp-iudVa ze87*(k)+|J{15P6L#--UGN1-Ej{u7m+^ z^T9j6OO9OzbvtP_|Gl4_7G}gvC`-QyQ}t2*5yWf8ll}l_+9F~A#$GhEoE$Y1Q*IN# zJ5y}{QOcSnRe~QtBy|UT%QiniNL!UJ^1u*OYTFT(8iXLa0uy5o~n zas-yQq_#2SuqMtEfztAH=#1pod7RJ`<dyt zY|Ki=HSuEUGAkT~2Uel@HH4UoTh$XCq&{_YcnGqK^QpwA+NxnZlNAA?Ou?tr6Gr`6 zd_%F2^9l^bm8k~ldY~%Q=^j9R5`{pJ*+}NXWRNdl;+=6oEuS>agXC`%=r-$E`282? z_UaYe`jOPF#$Lh<)JBJ2$Q>O)h?3o+kpeRTnu8%~_a1ai z3t95VeSf`aOjT0?U7T}wK7ycVu#X&f3i{~X8I5nNl1NC1;)Iyvv0-B0vHbfjym8Y_ zVkW%;>63;;)@9}|H3~`)+s5FKFi7?^yqS5ZsoHK9RZ0y6u@MoiJ}wz?+0!9dp;s!H z)W@44b^fosGz4)ir?lJx{Ug^I)GBq>r?~G0Xp-&@m2%f77RDZ3Y-S&gvTM#g zofLT+^dR_lStr9;8ZNDCv1w&6wbB^tfyGhHth1VlTZ#9;r`P`>)CpeXSXprRitml< zx?P2F{%eyetN(cBTfX}qtF~&Ad3|8PotpIcg^wK_Lz1df`)ABtFdJE;(0>l3kU>rY z7kVt8-A@$;tyiz6Q>iZdbe-Mu^Pr9NpKv5p0!f~9aiVQEx&5a)?u~yz?Nj0LbA0Q& zU64m5f^^ij4HPH-58O*5RL^zbrR3)IDpZ9ZTz^o|w!<7eBy_NvxUD9(gWg^Ck0eY? zk+NKaPS*|G57;dR(Zz8IiJYa)AH>@<08XQfKOFUXTJNo&pG0ty-&?{?FQ7)eaJ#>H zt?X#`PO!6g1|Kbp_qMKDzXjb%jchB`e=+-)_7CO35G$rjqp8?^@Fo8&M3W{to8so6 zcFNb7g3()$^sB;Lk+?vC*y_c^)r}L`?H8k-cZ3m{o51EHjJ15kF`GlDeUa{)w}lddSo+N$%gowNc=s&w1U{tv}=6GO_En~G2M_C}soF1IsH>|S`pCm*4$arcu zNbnaUKK43vw+1~5{$!svvjPew9Bt3Gbvn1uDml5!Gsms771UxW^&-#_Zq{gvr$8CG z$_7c4M@a$KJAU#0WoJd6o>V$?>U=ISVS?SHZI$By*=1Ro9ZKJqP577biCFLyvK2s* z%jcO~W)6-QVORJ2oOgT(m-5~KH!6H|va>LP~(?KakKPnnqUp@J2^617Tf;_&DLo_?KKtnpJa;`I?z~OB*05k&XOZnYR zW=IvJXBX^&spHQfss~Lk@E#(m+dtiA?>G%(nn0{LPfb!^n6f0ZVk)lGzmiT@c~iH@ z8u_{PDk1=TBkaU>-99Jr-I(ND_Nu8bh~=!P=I=Skao6~pHNo2+YT!CCPAATklh#GK zQeT?waP{7&j>QSHEo4G&sPw?EF%t5ofQ3gvz!Jt-ijM6~@xk5@=1tGYu`6#t%8z>Q z5*F-83Wm4hb;b~HCnxL983fKe58*F^-RrIc-E*b~oAdL;cYrwh-9F@obgJ`TZO*SH zrh?qb{JipuvgeQ6AATBesN+Vfv4p9_CMb5nCX55BahUx7OWpWkTS3W_gznO9mHoQt zT(%?jeGN|n>|y^Yn%$R%@g!>;;&a)+xIA=*a;Y6@2`R$JK_ws&F5L_Mp+)mEA2fAQ zd6XCfea}Kg5@-7Yse!&)DI}VmmgVafXJX`1tR+aYx5Wken^7DhFC5F&4=#EMsEBpm zTzRI*3I{A%gk7``55H4U6#6h9#0+)>gpCJ%)CUC7B=&t#C?Nt*AP^$7e~s#+qHRR< zWPTHzI5eeV0Y-90RXwY7nkC8CiiU?n=bidWh#O3TzqRAfUP-;nVZebxp?$6?-nORlWc4|48Zh=GRR>msmSi~x|>4Qmu6b`=$1%wh@X zJdOud)AMX}dvBW?nF0t62Z>fgw2sBK207d_mdG%?$C}eaelF zvwZAIyK!<3{(Qkzc-Lu=0_79VEz8*1#e=>KF&f5wqOyj9Hdd#Z(%f>S0 z7=Q%4PVch{{Q4q)0UJp!?f717(>W)Gx&pfz-F*&duz!hZ&n{ic{029Z_;^ik`J84| zeqE{U{R>^u`<*q8j3(}!r|Of6nTBx9Ee_rFyOR!pz?<>kh*P&3K%Bb0{}>55nt{rS ziWefq^Ac5Sy@LO&wKQ0I>Gm8z{GGDUOUq}`Yb1(<1kxlL;L}`#lA^=$+82FZ6Wm~( z395z#d@;Bg0UD^qh(RsdAZTG$^T;_P^~DYsrMF~@012B9NoJ3UFCNIdb@;o6r7t|> zdFFzNs-T9W)c_q@Y`k}9LzuE1d|Tjvr=1jHrOwp82r4K&!nS%WJ}Vmc+51|zm5v)H z4OTYwU1j_6grJ2By4H1v8HTq(>&J=NbNDy0#41eowdU--ZPk$oTPGhnDJS+`_~*U^ zKC5xxbAcVtLL!N2D%xLis~NU80#_L3XFopgg~W~0bb=}Gy=4hS+}5M-4=*h_pd#!B zUv3aQ*t;aY>SYy@(-Xr_1_cP*oxk64fa#oqNp20omqqBMQ4yAnR7zMx?lIV?`Tx7bosT)LaV#M1fDe$o4g~ zb#SOrKgrW;%MtXRkNa`$@Vu3;B- zt@1AfWrR%ksr(XM_iwf(R5Q`?>BKZ>Di zNy$QQ;zyI7R`&QHRNZ<{^EF%KOES!L=d`vZD5T zH}$7J6cKvu@^(Oc+}J?|$mfu0KmFp?D&5u7GhQ}9P4ZnQlwroF_9I?gEcUS&3K2Q* zVT|N*w8lX^`oqVfb|L8|!2?YBaN1K+VYRXEVJ&aOP9Axg6yW|hQHw8f0W#@(;!0mU zHnD%2uIBdSwfSFb;NRL%%s=T@KpP5*)gSb$r$RzTCyIaJ7G(C~p*%Aew^_t3I2has zx?8^*Z2Mhjv>)*|8Jp8Kzc?A#Q0btE(~QoAiSzxr;JU`5AL_A+C)cCucySBrTlTHb z|Hgz(DXDA?W;Tg`j58-p&F3)=q4G&3YRUDF&bA_KxkYe+JCV1w^BP)sZm0RT<5tHA*K%W3Wt+*>hJ^FD4qlXOE(1A~Z}4v<mIQ>Vm69<&x~zcFZC zQ!2Q}jk~_2oZ{RROAhqwiM&@`3#$D$NNGDm`FDf;N^~hR?9hi12PstbsC3@&)2WIk zKui0_JN}v!%DZK8AIXfIOdB%avj&?lMH`6x??9OB>~ckp(R5L?#=oeKCS`%Q-l^}Eu6LLPj2H}Lk-YU+-gjm|v+ z=r+ch5N+A8FEV)xsdL2%z!~6*t|W~gsi(? z`sdVoi?=a1MY9b{XZ^xeeLBC$3!u|_xc8x zQZy^8Jbgdc~{4xqTP(eY^u!TBEW*{`$dM_(cwZb$azv8#T$(8l0_u< z!a^4cW9|~N3|eMYmM82d{~Kg*LEXe;fsE4`dslJli>3;$mQDH%_?Vh6V|83~)Uy7f zg~lOS^p$`Q(FEggIYKroX`i+JC(h6d7a}T69+jj-3`Oo*jltca94f&w7~ju4i^Pt>$@BMG1j#oeT(w$f6rIq1xtK_$ z3aI;Dnjk|UYhT+nFS4<=)V87b$Y&%$kF=2+38RdAgo7D{WJzex1b#8Qfaux4RXccv zpe$`T)T5YtPJ}ayiIdk7gb4iuOAu){kF9i67xoW5T^-LXq`daMbxyFcPAh@#KD-ht z717&p7i&c(+c&-EmRfA32z0ZPGP02{u>W@br+5dOHyMHVj|5bkfpX~k%WiIYpG29t8HN8~EU3colgkRf) z`K253vj^^mAwF8fG~4vZz`fhfSWYFU_Ttt}4-@sM&CX&uj*vLV zeBEG_QgHp+J4lLG`tD-NcQIt^{IJ{P(cmIrSw73b-HCM!qUW5Zf82DuC09D*7S>56 zbZHV@2aDcHzLdqbG51lEFbYn`@VFF+PMs4tPcvM)?ecO&(Dg~wX2xlD!-O0^dFKnE zCBos(vv?G+(YvLs^I!$eu;$wa`jfI_L>Lwcie!$OL zU3M}SO!_D1t1awq%xS>id~oJ6%B<6Kp2?*%Ws0Oh%E<#}nOpnqH(pr2cuN>eZO^Y6 zGn-iKspI3t>BYav$~-g2P<*}lzC}#Yado9r;BCzo2}v0uSK0s2L?yW*>hOy(op59E z;4+rdRyYOqn(!x7gGtI~3_iJST5jo>DeX8vqxMNjKZY(2;-r4Asc;Y40t-*`Uf%Gl zvH@sJiN>+tS_bSWVv)zqc(OmxFGEi06o@UX4p*|LP1VNAT2IP9ZoVYsMb@>}c~R7^ z*1UayihoL{Gt9SOp7qV^4bE0yi(?C_Z=`TOFZU`Wk~9Lw zETyiKj>A_`sf80>`;#9c8l>qSkokE#xv^mOME_Rp81#@IJI;oRNO9-^#8xXHn7O-9 zfBONl5P3P-m?88MTk`Gc+upBVn=Jiu^|^U7wIA2GK~XcmQ*3LSmd-N@Rzui~N097% zAVJSgXCn`#K(_~2ZVh98qc9(6OiF!1Jb`w_V#6WFJ1wuLXVmj*i=eSu$8C)Qr^P4p zj6>erO&;aM=#Q)U!^XnHEW3UqNX|@H%c>B9rs9NswAw^}4B3i%6Kz}yhpb4T>>{=r zxPl~bBKf+i1^m!jsPW={nI$kA1&Q0B`-E#7qZC!M%@#Yf^uQ%G|KKO~yl+}!)DE#t zvuxPg^9dDyW!M0O=n3#2ADZnWaLU+^2#w-4d>YVL!6_W+a4s=8PY~;IJ7T7u;M!&1 z;c0aBbH{V$R>dFpj+$WtealbXl(!~_JDVM*+jo&>M=uv3e`)CY$$M@-WEzb&e>tFs z1Yh)8+L{UyHl)2@^-_KI`wtRj#I@cSWbgh$dg>);n?2ndSs}~fh zC!074i8~KoCFC3fHW+v;uFdLx{!(AXY2MYLgk3BBO1JsnFYDDC8T|-s-&#hn&0$*a zmZD&%AJv(vHYknv97?0kbVbI1qj6}c`{R437dCgz-y8iFfTrVy&xWRCe&#I;D44pZ z$D8!K{q+c^!#Pi(ntwYUi%;--Gw^SAPX9jh6Nlishlpdz^b)|a0PJWLcpHXCPWg~A zVt~X}7g&^bgS>Dwz|Z9Skn-Ys#1r_-h1(#|vRBQ+2K8ttcr@x@8cEj&PNY=WcyU(% z3_igB|HZFLAr?-71za$f_U<+(gB6}|Rb?0nFCge(_F?ucTnG1bcj)&$?G+y9gXwRF zwswco6CMohOJ zaDK?F%P1U_n>d5D!4k-ZvsDJ2UyZCBsB1D@zRP3OsW>Jab~IqgalN#7I{#b~e}3YZ z)~ot*2oN-;Zgy}isy)ZJJ8ZG4=<)ms?`;_GLAM_-eV&%7?+Qjw-6N6m9!*X8bb!0& zK6%oih?k9$ln`$VfB4h1!kNJf6_Y6&P$nH3eeNp$HfZ&`lpLWq{D)V7X}W39_D+C` z!}2{@t=n9ZN@Jl_uVMe@-yf4Lvbj7b=)@v$GrZ1M(rw($$y?Ef)uKlNjzYF_B#An;?k3!b#KPwCx zmould4#!*R$p#Y^^tO|8BcA_}$@lE;mb5uF0}D(AZ$DQ){hU`j?fh7Zsc(sYfKrN) zXvd5mQ^khtSlgFz#C-xcox?mub#X*=U5pJ>jG+7U>JKc z+-;1++Nt?InrA=Oq=lDx$NWjy{E(vaA&Da8x|i~aLS)cO!M1m<^a8PWGYxL#lgimNB?se!DOC%r3%9s^B$CMn}98A)z&7(I{X z9Nn`4AH8>hiQuEqD-yi1;OxEYi)NB?4}3j$bGoCpjJ9pkAJ@6K>j zP@X&|vOcT%T2K={nR37z>(#3co3uD0%5VOszW#0U-z2=V7+g$}F=lz!=lb8ke@3!U zZ?+~~Tfh63bcY7#uxM94;-N(5XN7swvKrEpZSjf?o*iIo4}co#(CGz^yTyBBt!z%I zI7AQbl7NwA`mXMI1{O({I(bLyrwL3Ny!SPA7VJ@*KZr>vZ{JW4HJ~lnZc<7UHDQR} znrqORef1$R$;d*j#(YBb(Pp2A=+z%H;SU%cjM{Ath*HP;oY{yXwC?^9k7~pSe;V+H zz5C#OHBs_-Jjva(*r@k;pXo ztzF+ioCpW5^R<6k2uP8WP;QLkNLU5d^(BbTuGc3zWdiU`W6rIm5`U0(0F0JFCRD9w zz^FX8)MAL6-A`9W*hPmd&E)ICJIUqt+I!AAdbK~$FoVa5FXOcg`yI;f!+9~Ek-rkP zKx!4LK0wUOSNrBUT*s`rQy;bYg#%BG++FqLL#MGp++%?eaZ5bai=U`aF+>$R2l1`1 z7I`h3jwQ88Y@^z2*RQS&Dz|5{)d|SfaG6K&JmU1=Qr|*cnb%em%H}n)Am?MyVuXzY zrzZoy^>yx39go^bwE{wn(c2tMLle72ey>~(>Y`?=4i>4$koddJrJtGtLS#wZez7Lv+!!{upTL_y+_p5BW{r)m5(5EZql2@w`A91rn#_*!0!5G%AV<)-qV~z!FYfy8R8dbdJ>1&^Y7K z^qvi!eSG2{=armM-_YQ|_8(1p^=ls8OJ6DlOG7;M(R7i?i5e$i!|N<}>sJlj+&4l4 za`$$OJ9pvn`L1L&{`gnAYRkIP9x5Uh(6DmW8*69Q3dCW7vFkwzg+I$EBMl;p+8(Y4 z3T@iX6Bq{NEd)h!=Ptw&E0lWdJ+M$xsW86dW8B(>8Py!mHeP?OAi^Jge~1#j1zyGa z)empCx#grUXOu`+fAq}d@8=PP804l0vBA*r<&)Hf@GM#DHEpb zar*+tBqR)6{Lvc=lqNsvhBtC0a_#9jfhC^ehjUW<#a;u}BjF3dO8cuuBOTi3E$Of< z_Tk3Rdc-U(D!W0>El^F}XTXsyOv>bf-*+9C3Z%;_B)4h^Rms$OzZ6_)M8_(;#U5mj zjr*!rQj`Q*K-&qg)MvGxesIys0(7`f;m6M82N4n*w@&H|ia6(ofy~)^`>r z8;1urtDf?5ex>NEzf%D!RaC~n$C(tmBYKqC6v@pg{`{eU?>fyBR~`mR(3ydFEDkLo zxkI^$foyTL%-#}e_X?DuDG9G1U}GOQz34@NW)9>%Gn4|~2vq*~pLuUeTPQgg4ny8A zzoZC~VG(jDl?@!KKdQjxFuF9e@5Yn<)vt1CAsL_c{>Tjtuv2)yq~x8D1#d3SM8YZB zsEhI#VN2c3A4vBK^sB!#Q-}?-JzPtilpv;F+fQi=@EE`t=50UWr+YeN6DsRBpT=3P z$jJ#V;1JkE!{t&cYan_E9HKGfxg`lXZzDOBF{GKH=#ewSg0+}mcN_pdCn zyFF;7Z<|-j=DFHX0EfL8Dky?or!sb2DjvBr*$2&dkxd)%-s?JMfQH+>S3UNfUX38x za$dao>gU%6Eswt8oa=RP7%7wQ1|B*z`P-VLQ(*@O8^~p}yeoU>F>$lmov_2G)uA{@ zVP}@sA?aw}l@RD79bM!fT-dDM=h4Ww*QexcW@`IfIkU%<^ywPZt!7)?Fe-IEr(4|bD8$JKA1_cOJTVsm}?DN5tH z{oo2>O>|4u8h?nSjc@IaK(|t$?3dLP2G&;gNd2f2=3(iJDhxzzI?Y*B#ZMQlw+a>$ zIFimq%lGp5jWOZRqXMYfmYY0AqEom5TZM(gKxq&^q@nlW%ua>+aHrI$N>KJk_`gCivu zSo6=0`5kGmr0$Z)sEO*ci{Ky&tc~m4=sJSVC=0n4W?`iZh5fEFs5~AC+Pp{-C;fK% zbYe-d?eO+7tzXo3Jj;6>c|ou3I#&==&ia$Gk`#qw!mcluR_u$nq9k3-@DN$P(-#9{ zg1D3L7 zp;e>7-X;ID?&dAooC(I=fIg8c%zyhJd(IL+z-d)k8q~n&eHenu0 z^ZkJH(qT$=k&Uwk`?l}gCE9Z6l>)nx$LojUr1J!tCH4GxBe`FaSvg_64)40Owr8Re zTxODtGc?EG)J*aDf?KFOUaE%eTyAwF{Me8uubVnV(Q(*vz)hVoetDNJIOe1b8=l|f zc%?!o)^Epue&@Z4!PvFKEY7lYI%6`E??`=Q9qEWNEz7Mme@ir!-+jkw}zh*h=dlQ#Y?Fj=9I z!a!*PcuXfdZnHPfB_eW}vsjl$VewI$v}OG>)rPE{t5gj#sd`s8XeKLts;9?%*^Sop z&)ga)kndOE{IMndhl4)3E(!Oe8%kE?BeW^#nygO{(k%jHX1o+iWkJtkV=6i1ePT~0 zWelW0I*Y51#R-%fD1}7A9F|QyoUwvg)^E69@JKYWy?b;(*3MvILDk{p#lz8j{#{70 zl`Up5;Qn#zSy$(3^gG*g&Yg`ImAu`Z{(IZl7Ew=Lfp}VJKZfOKoVaN75-#XqTxIze z^v8w!E{(yfPg7r{pGUw{JiZrhjMs0OKBX=~_B@$(_&Bpukf1R^^XR+P2_Xw5l()C+ zoBRT2OWbr|QS{vru|zmegJ%(w>k6KIPVBA{22O=fHOTfNN^<)y7WXP4_8HgQW}9fd zY%~D?oeXkxt)0TQb*O5{H)a*)zojCX44nKq4z{R@+{YN zE#7HNHA&u6#EGIBF(=k9>VN*!&5wN9vO_Ca6SWqwBuFLK!fgLke;gq39Fbpw_Ee@E z7TI|$oD?12NqO6hGW`?#>mOJ@zOEw5^5xumUy5va5E)uJQ1NAf%v;aW?O})`3EMDU z_pRdh=V>eI;S_P-4`IsnkJE3)FK;+5&E$=}qT^%AJMZW+cKG_Kx;keY95RSVpFK7v z*k;)a+YL@^oTl>Y%JH9~O&o`nvWA8=AmVl47Cdti8@fNs5~KQA61)Fo1I~mtMuOCSQ9ykYyu;0-tE2-_B!d0mf{!fp3@Z& zO}zgG`?;f!Znb=KqHo~w(z*84VT*Or;U%`wO;rM`_TD}M5@mc~YNXt+>Fey3bYJRp zN2NIK(&%h_mi;=-D=#5c%qw|5XL_aHM=lCeJ~RAAJnii~P^)3^F}jLZp)RCJk9bIj z#;k$X!zq7QC)29nc|!^(iU5+P45S*96Vi=vdV#EYKSI|g|Zve35e2@6e` zo9Z_pkj1v<{)m|K-KEa!pG0_ zWrPjeNkSgv-klsMO0cy-USYbu__(x0uPcJjr}T66Cjt8e+Gk^2Aqhp|Nwlcol*%zm zAd+}p*SJ|D=lo?%VA~-h)Ur}j6Hah)Z7BWe@svl)_NYBId@k`?sTb$~29{G{_VYYv z^;U*1H7d{6`ZZPEHKQbJOTOE;$;Qve2R z_ih!M18W_uoR04|KW!|}7VEl2OOnqk63czWK0E8duwc^`J)psP*m0?jfi1WBc-_(Z z$m<4#pR^slXz4krs!)v4yq`sciai_F&gVO%H&Gy7ST5=Puuf90>L3Tgp%hY{)_l38 z`+Aj-?h}PaikgtS`{W{IxB@E#$@_9_99(6H&Xb2l;^rNDF4vpG1W2Ic(v!nKK(xw{ z-FDF^!4nagafByZ;ZTSiN?W24{AOWLYUd?|002@)thy9KwMlXJ66U^Rbz z5Ntr!_84Z}HLPwqYzP#2OqBG*xCIo{(XRKN0IZP^Ol;)%EBG9+hY(Vp@zkJbG{{dM z^HHamhN1U55lyP*914E9QGs z+zA~m%ZalcNy^V(WRZ*^>Map4 z2Ex|Is{wu&eM`@QCYo28^ujgaT!eJ#QWGb|6b#AI?b^{vEW9^ObYzG4_#^qg?i6+k znfWSE3LNTrG<&xM7k4@PAr>Gtz~wWOFe`W*10%}u47Z76^C0M>=KWoo3#_4D!Si$C z`A$ek7Gvw9%{GN*w~N^zCK=ElJi(G*HX&_$3bTHWLquyUDKY7(8q3W1lUYPBm4r7I z#MoKPVf1WtyFt_*yzPsB6)$m!qdz^XtvL7);7tKawh<%5V+FQKijajJTmzUpqpIAs zrP_*^%ltH%Zuw+BYL4Wc-m0x0H^=~AM|IJl55%)8_qOn-|AW#Kd@&Rxn! z{hr>a%5jKRDxs{gj7g?<1{iPQj6`uLNIxFHz|2Fc0s-mW-o|+)LW7g{0qF{E=}w6% z!q1ZPd8J}S$7jlV^cPIDd9)Pm-jbBX3GKY4?_{`Ch2q)sYT!rFTsYX8vr7ts=pA}> zx+d7YL7n%}H0uWK@H4$5lc~VBO*PD=LOUmntR#x0#s@R4NKtA37=^y${m)m0otw%l zPjmpsd-)o2@nhHWb08#t`qTG;I)sBU-H9zSPtoKnHTuBDn_n6zLek~&aOvR>ZH3Nd z^B^t`Nk*_&X;^^X{T{+}*K9pC-WoUq7N;DtUw3|Z;RVZk(cvmcDN7bfW!Os7P2fO) z9iy_P`E^<+cl9o}S$E;43mV}5j6WRUCLC*pc&sRveSRh5cDlGR6R|%_iwG*m?_}#X z8Dydl@Lf~l$J%mJqQsWd%mlPu@d+S+XgE=rD-Aeh3zs?4pBZs{0edn|JG*JIZ(A=F z%^_L7B>SYg`9)!k>$abmWvQqOT|5^o{cT?mZLNR;*2}&hGCZ3@?hY~)hy)VeZPYYt zL%^4u2+T94!obMOYe@de`kIUlIyh2#of3#fy*;UdL4o~$9)rO_gF1QQke{w7R=R!C zAKV|xv`q@6vz0D)NbR;Se0tFlU+}60Mk<4oBL54SIAc%JAEa7;BvMfn_l!MvHsqnL zDc*ym62-)yCSJwvOW!Yw(w(~>k;wG2qw2fR;4<~X$P>Q7TM|O3+Rmuqo5)@;8}PJn zE@`=YVy4bfUg3+6oE;ep7|6_;t=(a{4>=MgXkcUKFc2isOip6B zU2845CsV{T2ScUg{kWW%n=KI}MW91km3>;!Tov}nA~K{g zl0wnGGQo&yRYsDm%?EckzsWR-0w0QJl;1pmmIXvC*M?#$1`zhFJUE9naVo-$I)D9j zxDgl|DF*v_&iSIWDco}Y z8|Rw?$IZE@5ye-6%zSdzTD~CRHzu)w8-GCQ!hfbVbUPfESjSE7Ia6;z5gzcG!L+ zJXg)N#s4l#%1&As9-0`PA`I=JTiGJGG9fSQs}B0ZVDQ38)wg5zxYsIWWqlYq&G~T! zZEppO0_v66_wL;KCjr`*80kzMbhPjCZfIzW7}#hez=!z%ryszOIseJbTTM<07Y+PV Nme-IglQ9eXzW~Nr3 Date: Sun, 29 Jul 2018 09:22:33 +0300 Subject: [PATCH 09/71] Advanced Hunting API fixes: 1. Add beta disclaimer 2. Format permissions 3. Fix link to AAD app creation --- ...-query-windows-defender-advanced-threat-protection.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md index f416c36d1a..9171ffb5a6 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md @@ -15,6 +15,9 @@ ms.date: 12/08/2017 # Advanced Hunting API +>[!NOTE] +>**Important**: This API is in preview and is subject to change. Use of this API in production applications is not recommended. + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) @@ -23,7 +26,11 @@ ms.date: 12/08/2017 Run advanced query. ## Permissions -Application needs 'Run advanced queries' role (See [How to select a permission](exposed-apis-windows-defender-advanced-threat-protection-new#create-an-app)). +One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Create your app](exposed-apis-windows-defender-advanced-threat-protection-new.md#create-an-app) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | AdvancedQuery.Read.All | 'Run advanced queries' ## HTTP request ``` From 98604d553831308c53ce30174283067b7b077bc1 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Sun, 29 Jul 2018 13:33:34 +0300 Subject: [PATCH 10/71] fix to sentence case --- ...nced-query-windows-defender-advanced-threat-protection.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md index 9171ffb5a6..0f5c1e8f21 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection.md @@ -13,10 +13,9 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Advanced Hunting API +# Advanced hunting API ->[!NOTE] ->**Important**: This API is in preview and is subject to change. Use of this API in production applications is not recommended. +[!include[Prerelease information](prerelease.md)] **Applies to:** From 90a79911be9209f36f93e85940e7c9a7e412053f Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Sun, 29 Jul 2018 13:49:20 +0300 Subject: [PATCH 11/71] remove link to zip file --- ...osed-apis-windows-defender-advanced-threat-protection-new.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md index 862d9502a7..46c1081bfb 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection-new.md @@ -105,7 +105,7 @@ For more details on AAD token, refer to [AAD tutorial](https://docs.microsoft.co ### Using dedicated executable -- Download [AadTokenGetter.zip](exe/AadTokenGetter.zip) application​ +- Download AadTokenGetter.zip application​ - Unzip the application - Open 'AadTokenGetter.exe.config' file and fill the 3 required settings: - tenantId From f638557c8d3077807f0dc91b78bc429ce1609a67 Mon Sep 17 00:00:00 2001 From: David Laufer Date: Sun, 29 Jul 2018 14:05:01 +0300 Subject: [PATCH 12/71] Advanced Hunting API: Add page for Flow instructions and page for PowerShell instructions --- .../windows-defender-atp/TOC.md | 3 + .../images/ms-flow-choose-action.png | Bin 0 -> 23892 bytes .../images/ms-flow-define-action.png | Bin 0 -> 27647 bytes .../images/ms-flow-e2e.png | Bin 0 -> 44839 bytes .../images/ms-flow-insert-db.png | Bin 0 -> 44839 bytes .../images/ms-flow-parse-json.png | Bin 0 -> 15736 bytes .../images/ms-flow-read-db.png | Bin 0 -> 66150 bytes ...vanced-threat-protection-sample-ms-flow.md | 84 ++++++++++++++++++ ...ced-threat-protection-sample-powershell.md | 76 ++++++++++++++++ ...ows-defender-advanced-threat-protection.md | 28 +++++- 10 files changed, 190 insertions(+), 1 deletion(-) create mode 100644 windows/security/threat-protection/windows-defender-atp/images/ms-flow-choose-action.png create mode 100644 windows/security/threat-protection/windows-defender-atp/images/ms-flow-define-action.png create mode 100644 windows/security/threat-protection/windows-defender-atp/images/ms-flow-e2e.png create mode 100644 windows/security/threat-protection/windows-defender-atp/images/ms-flow-insert-db.png create mode 100644 windows/security/threat-protection/windows-defender-atp/images/ms-flow-parse-json.png create mode 100644 windows/security/threat-protection/windows-defender-atp/images/ms-flow-read-db.png create mode 100644 windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md create mode 100644 windows/security/threat-protection/windows-defender-atp/run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md diff --git a/windows/security/threat-protection/windows-defender-atp/TOC.md b/windows/security/threat-protection/windows-defender-atp/TOC.md index 10b1f2f16b..2cbcc1047c 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -100,6 +100,9 @@ ### [**Beta!** Use Windows Defender ATP APIs](exposed-apis-windows-defender-advanced-threat-protection-new.md) #### [Supported Windows Defender ATP APIs](supported-apis-windows-defender-advanced-threat-protection-new.md) ##### [Advanced Hunting](run-advanced-query-windows-defender-advanced-threat-protection.md) +#### [Examples how to use APIs] +##### [Schedule advanced Hunting using Microsoft Flow](run-advanced-query-windows-defender-advanced-threat-protection-sample-ms-flow.md) +##### [Advanced Hunting using PowerShell](run-advanced-query-windows-defender-advanced-threat-protection-sample-powershell.md) ### [Use the Windows Defender ATP exposed APIs](exposed-apis-windows-defender-advanced-threat-protection.md) diff --git a/windows/security/threat-protection/windows-defender-atp/images/ms-flow-choose-action.png b/windows/security/threat-protection/windows-defender-atp/images/ms-flow-choose-action.png new file mode 100644 index 0000000000000000000000000000000000000000..867fb4d976e716ca4df29be5e03861eef9a823a4 GIT binary patch literal 23892 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 ND9dZeRmi*y{y$gQ9pnH2 literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-atp/images/ms-flow-e2e.png b/windows/security/threat-protection/windows-defender-atp/images/ms-flow-e2e.png new file mode 100644 index 0000000000000000000000000000000000000000..6017a74d89b3decbacb49d04eab9ca54502464d0 GIT binary patch literal 44839 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 `c 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 literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-atp/images/ms-flow-insert-db.png b/windows/security/threat-protection/windows-defender-atp/images/ms-flow-insert-db.png new file mode 100644 index 0000000000000000000000000000000000000000..6017a74d89b3decbacb49d04eab9ca54502464d0 GIT binary patch literal 44839 zcma%jby!qg_cn@1DIg$-q;z+8cZUebAWBM!MkfCwld-6awuf*>#h3MkUuFo?vE zGr-XKox$gQpXdG6_5H!M&z#tMt$W=o&ffbFW2mojljtrH4i3&uElpKp9Gt6$I5@Z% zf~z<#;NL~TLpexb5zn(!ojIdAU?Il1AY@e)3ory!69kG{$1(t zcyEV;Qw7sfRWkJlZJwPa(T)2cZ!YKlih1TLyFPmd;^*7ikD{O`C%f$g;SrtpaeXk) zDEp*GzItJQh$l4PIZxx4q%*!w+Wdoioy;#q*fYBB*&A^hlXHggYnvv`isGpxf8fj{ zBaF_wmPl@@Josj`XyO+!XBvz4@=J+>EQmfLuq?HzqM{=3B>0(O5N5eIGyMSJ5zJHb z=~Gtjc!oL(AuzW#?Y|wj^U@t<$BqK6^XIjvS*>aoYz_2g z>$2c;By@ACu=QE6e&0T5!LESwEMj z`Pd(2P2!EEoSo^^orastHP-Ys9WbJU5;hRa$2a2_=yr4R zb{ixFWOyVD!=6j(9ZhF(ty?|+)1irV%`R}nzK&Y*<`!gWY)G1Xa&X_=yw^tBg|UCf z551c(H%N)_5{EoPfp2$ifD*{v`%h_nrTJ1py*;-5Zay<4*>uM2NX+TGg?-LB%3p!w zo1ZOBbM$Lonucd-84HQbjc^GpU_q*Zco@8EfYesy(s)ZRptfym(1Yvk3nd#lBx+uS zuZQ8bjwLR(@hXLh*B1x!6`BnMsum_}rHCrmx8~bELB_59=;3Ps4By}q#5xE$Jv=OA zO_z|F6eDQWB>aSlr{sLSqRvvuRa%zP`pI`RfO9MGvb5Rt!6t!V1M!XBhtFk`$QTPB zE<|`68&qj}m3ipV1XE}X5Igq90+t?tn7l<4*3<7Ur=PGH()*;kAXIcRApN^3KR+R* zt8}!qOu|aPIB5fB3P)tV+Rf2#Pct(bin?07N*SZdgO*h*HUV_)VQA7ozZVk=?QE*Q zfxY*eRLY|RC((x8T!YR@))mpLArkwhWmgXAtJKkdhK+IYa0-awu-aG&e3TdAP4B~e z@L@Wizu3ZiF`s#CXo>T&F7t{b=DcsWWlSodq&!oGW*1@FgEC^ld>051QI{I&qZ|<# zS+kon=H<8)k4FeFXF32}Px%{|TPZ8n;tg=~D_DvJA3VkNg?90J9E^>PiGEi7fktdb z1<{&AlO?d1Jr7W@$%}QjS$L&b$C#!Em{7*T75jV{+#ESuescoOT?3ot>E8Sxaj}{$ z4hlN!-HCEPkYq<8i049tsv$_!g9QC|9NtYGLcs?s4;PkZ$2U;)vbASx>-|$}T~v*; z3r>h%$s*s0@~7qEE1D#hdV9&=ta}6JAACi*%~GHcN7@@X;|J!`r?dC91%nL85kJoo z#L#fzylFX-4bbY~CW8ixUq6H34+fDgiZEdCj7Ern?B*QCXcnFlcMl$L@-V=9?pMO2 z;{Afhn8k#uvn$uqB5n3!$CI85GbHof)m6;kKU zewSMCif_UbA-Fj&0Qt|LXZ%+HDK|btC{DjJH~G!EJ-s2yR6mxL@)BI{1J+{Si{EacRP#LM$l|c9tBzXCkRG9sFHp{s$BK zjwheAgj*mdCN10B9)<;ezY8G0$y24gCZ(!%bfh%A-(H(LpEn5L;6G{0w%y2Vf?x>( z_C;GWo@ZbnHe)fJhUpfs?6G6q$+{e>cN#7oI$JKh;0Il9xuOp7*>pUIBiEWBl%@EM zkny1B{<}06U*BE)es>fn4dzqA`pnyKlbglZDC;nV^1(knTADE6Lq7gGPSyKeEn}tb z;Bdp43UIpNUkIy1uMdY(sgo$n;}LwsdP|TJ#{fic7CyE=fmwR6{EPmAPmd}bh!=vA zIFxAk6E&G^1{bNp>thLTaf^)ItU$(2eQDKb3dMP)8#^;gCCf3Uw zG>6pR4{46~C4Q&_G4aNAM`z8`W}18;r^#I}b!6bG<>0Fyf4=CrOb`@t!MpNN40r6c z$=Q|M>Vf7>)Ee$r#-LrJfKecGBtf89{Qe5|;j`1k(ul$QM3S84G>NR=t;B!AJWXD` z{$cE!jJYWwBF-y^$+aKcNA+4&l*1rF3%=WOjbb?aVA{Hg%1fo6pp`44-lp1 z8Nx-4fmqhVpA5}MU3kEtc?a595)7eo8r+btgOirW`r)iG1(zB^+p&B*MU7tH0HruD zqB?Q4OB70qZeYQ8Zt`0rZiHAV`5Zs;EM-fIi~@QAJek;FyzzjQTjl*6@(i3PbT&4Rm~ftY<~ZDan)QdUsNZ2zRh!?N?E|({f&hUqeo>Lr z8Y;ECa+{y1xQpT#9O-gN-@+WL3h1`E06YjKedd{kp*`gatXhAZ- zV!+G+3?Tk(PIVPS+Pr(_-XzyaThK&3isNOeslL`GCll{R-yd_1re>f)aIHbG=+9fkH{8Z< z6s^Ek5*pQ5wlkkb)2L*M;g-pupV%yok69nLy{g0LGdw4)*b-?Xk?iw{3c#-mL>i)3 zMC9@8yZUb#TM|hK>dS7i1kfAGUc6d#s&RP4u(Wv^F~>cjHA$&DHQ>;TLy{R8DeiLJ z*gFU8LPGTtI9%R@Db;W8oy^nYh5Ih9r?V-Fml%Xhxt-&TSy^vFU~x;6`hZ{~+TcM0 zm+l1Mi2-nf7aAW?UM4wJLGuE68{5kOI5NLCBNQwR^?97Cu(W+PzrTcd7DXQ4xq1Wo zIsTz{!sZPyN(}ka{-mw*RH+}pNa$Qh_ zl{91LWQ=iO2Y3O%TchrK8@t=6!a;Tm>5ksfTN%61{`-hshWRUvdx;r&NT|DfqO%0v>Zinh{0WdC|I58F+JU>v< zphK_XSYPJ3Xp&rYmsgn0BZFUkM>bR%R#M10 zGKAk*8F>D-q^qyxY37o2wc+EI5A=>hk1}qp%EsC;C^ z5#|v2?3f{Y)ugM?T>9>ToX0QHq1=Q1_BHNGd#3)k3ue2{)~Cypi@SSA&uN@Yk)t=g zLA_WBEu^6fbu%O(5;aKacC+6U`f=K1bLEenKMAL?!LZ7ZY z6tjQzpm(3NEV`^zgITD&4^+lCNC$bUR;*xkfF1_i?ee zW~ixgw(F1nx$YN$qvgR`0Y6sMk~W~M!)N8yqxreGf0{QINOgzhKH-TCL77#sXaduo zUys#8<`2v7_db#0ri@TSxvT4t|pi z#&VIFd{O$Y4Ha))i{LR5_|83jhJq&yjkpB=h8gQafYq7QkfEPK`^p7<)?vN9dI8o} zR!N-!Nd=e~3_63HJMp~e%Y2eu|9Ls9rPX|l z%Z&mde{ia<6T%W)sc~fdCA1p6qp=$h`CA6684uw0Y=W2fPfQ{2KUTH-6KiD+#RtH* zOYUb!MHRC*92ubLXrayL?2qpW)nDXeUM0-Ppd-;OX_`M@kyiO}9Bn9Q4Iiw#3abw*`d0o_*Ok&}66jJ36s!yORk$dGKx={M^!aS?FSf zIx(B$ppwbqhR&5P$h@;2YaJnQ{n-R{F|%S6pKWlx-+TQ_Wpx8y*2b#-yF&5h*`zd=^b8lRC%y53Lg;t^Q* zj?%6f>08HSXP$pRyqlD0ksJqETQ6zAGiAgb9cwWGq-ruAUz$r=-aSJEwq*;C(>uDv z;MW6E>e<(#Pr`AX+4<^X1VJ1ULwr7+xll_itIQjjRZZxdQ zFSK{>ysz?po5Ribu$>Iu;kl2d8Ek%tN23G#u+Sr^3p1!elJ}Nq%V}t6cBy92BR6Z>*E zu8E;#4K}S~*X%PV4G&&v_AenUtKsJTj9J876P5~C(opiB6+Z&y=AM6?BFQBeA|C8J znQB5M<x<)QUv+G-$5ez*?emc% zzezBrfRdx<_Op+If6mK3Qdg`y@6_#p z6V=-afN~j2?L`C~kqzLPtM!I-9jgs|h`t<|d6HIpri3qNUrYPaTZ90CaF&+(@KNwQ zpzQiYqX?8;b*`6X7oY?-qyjx=o8JL0Y0iRy+65(aG^X~t8olxxtp#1RnXfcoUCREZ zBRr}IbS0Ru^B(iEEgLA(`os_L{g5;$S)!;DA9IoVBN;K#awOW=wrdfMzTpSV7!;e# zO$L2Gb>js3e$Z!|)I`CGm0K3b0hhR4qO>C0{#XT2zs8q=^BxfB!hy*CSMzxdc6M^0 z^Vrc*gM6>Vy{qutMYI1FaAS7rm)!Hw>g~16R3P5`(IygTmRDh^ppzUulgpq5D8}T2 zlsl+T$UPp*CRG6QNDDmqa}s_=I-c`o>!_*j{823isOo$NAj-qjyT|S2(-K)CNl4v* zq#ZbixSr)Jw~DzRk!+Y=e7jFoo?AcF0?t|#P78FOb~`-EX=C>R2K!m^%ysUOOhVXk zzeUS@)F?;zKE;rnU2Lx=bgEtjp6)4@#jv#OM#&5;phdb#&%1QVqE0+`0U^HH*8IZ& zlr!LClPo>u1G=tq(LW?GM;}e)O*42O8S%!3wb+gbp(R8_@)MoWkHXccs*gnh3?K0? z?ZHoFpvXGuto1LV-<)lK5^}HZb51^87544Sw;LcZ^Qc(s;JFYedYXdfMoIwJaInSTJu`!-)czhWdoXW;J`j`MT$1!xFMkL3;6 zs9A6Zo8AruFaGRCztUoTz$t&i9F=y|;Iu)9^ESi~LzO5k`6S%(J$Eog7n&*RG#WR6 zbk#5(oWzB8u*RU013q@3eUOUBJ^Q(K!OJ4K4XDO-Ry{!4ysJ@qPiICv+780{sdiM4 zdzjNlz=>p7zw7VD+pNXujVt`Gp2n$$+%C+UwhkHCJ8T1EXNe(II=<*~iYTuz0 z?{o6Zo1Z@be@!R=kpMQ~{JbNJF-12P0R3PK`hTB2yW^AgK~E zv35hR)o+F&>P)tdA1f$tHi!A$hPEF3mB6>vOWMf2ht0`qXB=uS;Q&TJne!J7vE3K1 zz_b|evdZ@qb|QLmueW;;JU%IUvQtD#5k{N-?iFx<*AUn}3eA{w-?tY+l`Xbd+tAcq z3q5)fcl?zq@7kRI*y^soMV(eBN00LH5uJ~9ZPXz`G-oXxuVG@R$pAaVeUNY0DT5hs zxOGYKzmze2*XGb|*2FC1MW6aGPB)q)AX!U9a&CrORY{*pZYc@!jw=cgZ>SvqwKlnd zuUIW(RMn5)ldY)a} zCUsP%=lvUJ_u=2y>u+bZ;`_B?>;}N>nT;Pii0c;JNJ_0Tmi_pXf60qvYs^kBSp7~7 z{cjMJ$q1aHj((%=2u4ZkxN65|QAxM^^mqz~N~S)7hOsyMjS%V6I@JXpX)>9QnqHIA zCN|D(ND%F*?Qu)`<7Yv0=zwLv1^nF*Aqj&T!oic9@_I;@p%L}KY-y)k=km9g42jnu zL>N%p!@74@P1BaAw2qpo1jtuqt7M#lGW23i!n$jvLpwdG2S1gR7GV|}Lz~s^uEH2n z@+*tJM{T4CI~+2H_aG>Ma9}6x%3reXl%R*yvP9%iMy?*RVUw8uKjS~Z%JdrH$oO3M zs4Rz{8iJqXo^V{tzF!mj`L)k>r%ZZIVC7_1eR`pL`vUh101xePu&8sOMl(mB2faPN z&+CS+nT2bP*Tn&M4uJvMWGr;Oz(`8@GtQMgaCdVtJV>1`W)2Dh^p1!Xyov1@UIyJ5-c!PgSG8{2$ilH8fOt)=*PPr4?Hw|A;MUe?q-uE}5kl*i7ez`|`R5A96e zN5O*nMr*P$w3U@&&Eq;d#ci<9eWN_^mwpJ0&C#uv=8C`k;$XHU$U#LM@2xl%2c)gY z-9OVam&FSe)^`TM(ciIEjKij^q4MAFG+1?>j)G4P(5dafygloh-fXhQ+4!3rmi-l2 z=EZKG*7n-E2QwA<)Yz&L@;2k&O?nvyC3#LQfNpkZ(o?>_K{r)L>nWJ1-opUgWAS3= zeZM$qrOxls@#2e|6pQ!;SBB@Hpa>*0>weI72UPx~KKWUEpw08z%3%=~WTzj?25V$R z8Z-BoUZ&7AIp8dAKaV`ng!f%GH5$myLGr~{bv^+D;O~WQ*$m#GZ6~YJ(qDa<3!t>) ze7Ecz3mNoUZ|>d+B5!@~Olb~S=}sL=o^u;s|4O+!%-HpC?|64A1qRQP2iBi10vWR< zNMp?ruV>i}bLCFc({>K`*Yw6^WMBdIKkL_WHdiVel?sA^A@HMme-GB__itoNtU%nP zo%Z2o(yn#p(}AbEuy1+Y8b-&AbUboUgQMgJ)=LczlQDT10=M*(6$OwU7 zcoTZ8?mfzug6t1|3IA0M{A_dC|K*b7Sf5Ok#}9sK-aj``Q30J7p=4!M9gS?Ua%FWv zb_CjLU0($mlRW`+KnPfDCy)Ra~2 zC;%WE$(C49@gA^(yi}W(mh*2je(>NA=DgU^fVomEX*S5ENf)F3Z;}7Sp%k9Ce!q(~ zfX;kO81`&F2gDBmB35K;AlYorzT4czu4hK4vDDfRg3W;BS?q&IXgPeNPdfm%P^R@v z&pv3sSh7xJk&`IH=+jHS`KiRJobeXu!eFhh24Hyo@;Polqukc%mRg6Wyw7Z?6Oz6; z7i2Ki`Qyht3-#*W#r9XW^pSVgB}lmw$oTMLB<@8#d3B#k(GBMZ%73Zo)Lnr2095bY ztFn5bYJYR-KaF7Qhxn|Mn-Vd10Q0S1-^MW9@5SI<4-WAeUFcBWII9i4(`H*Lv0+#+ zN>i8hP60Sr@IB4ZSjh@Y%Q~_2>FUmwJ23#pUV&kGL@EvS2QW5yhFrzi zWkjIB*8qDatAS}ezEz20L7xSm8h(&huza28m${2D9{Ltei;Otl=*v7q2k~skp7*^y zns?W?S*>)vQ9mZB7gO$F{7TF8?jKfoQ7M*Q3-tYJFuQxQ+cFJGK|brdxi^V)kK;;^ zM$5MBjGw>9j2-yA$G~b%vxU}7y%|E=945(!_NEZuOU=arhuV z!`;VSbTSNXQ$=`Br+2jWWd?ju^s-uCHu}AudCWu<{QL_1mKxHc_E;0yS#~vhc(6fv z(Nu|H0P0BmoPR=p`16S4&Wm#=q@J`{9%87kFwh&pS{pzoj!^~Bv0sI;|80xXsi@w7 zJb-KC84pIzrHpjiQx7?R~|0PD4i~*Y2oxBlw z3rh>CB{3Q-A&N208#C?;mET5r^TqDtV^6^`^1JQ{HuM}B>90E)Uf-;&mIn9*7-q0Z zJLt(IQsApGnOlD$#dVCjxBmNn{x9%cP_u&!y1}3V<}=sm&49Nz=QX000O=2UoXyU- z(1S_Tj~IJE4-5-HyVCxmQBOLdk1DKhp@l}KU%fzN=;fcQ;S#*qkedTYIwvndIEx_w zcpAF%3hU;7NNw<{PlXrAJ*fj=CWXIAl!y7pJ%14&2pDljFmx?7rPZ2wnq4Z(AWC) zwgv@)(9;U1grCvKoWpy1#&cUtl0V>TN#Dv>W!I|bNp9b9w<%y{^FJDSINT>g;f{Qa z?J`li{|GKHJx~F*cx1+=1jq~o)&DKD|7XD2Uy(I*xXjG>idPiSJU=@RnBLk`%2+336ML<{1c@4QjTdcDX*7JC!uC9!F%qD5}cFL<3_{|)+VyD)?6 zmK)_Q2DZb51-hUjmZNd{wZZjJK0Uf1bsgz=i1+s;i>Lt6RC4j$q3DwDG5Eo(F&qXL zPLIgLkv8BR?FTQEHJ;}4_HVPEZ&IIT=SC!v52`CM?T`Rtg~jqj|A>qqQ4ZZAi^Hmr z7`t`Y%Z6jG20WtZpXa%v$(L+TfL@bZCSD2Z*WHXel9M2tU(Xc_xn5pgzO2Ec$d1*B zoIW8!Vr6KqZX6w8tvxJQ;Av+!#+YW2tdvBCxYlD3o?%0{37PTVp%4y&%B}1u#qCJ> zeb$q5Fz$v}V~F>e6oK)6RXQx)O4lnPP1Vg~`E1ApOBCKWfB98;;H@QRHx;OR)0s%u zK5gnQ;`ifFOk(xE*8mBS~ju z*2ArQil~SXPv23(MtevvZIwbvAfNyUPZWWFH|i1s#RY7yWDHJpfD!EpTbq8gFcl~W z7b@_#Do8wk?DwTtL6@0P;HN?OuKq)B{f7)0xqQy)bHsy;>_WtKx-{To`|KyF_7hkXkgw;^qn|2FD;|we+-c+V${Z< z`O~$ulUyycIt|&KUlu=q9fBzJ(hbr6DOH#B;ElH$TigV{T7<@u+4CI{rO++@Vb+v; zG_jAbV5RmiC;T6^*lxwe*&xJH_TSw7b6{@l>+36edp=GAF+llVk_-gCx48*SgAXO& z;ZZX*VuF2A2?$?Y>-Zh%hgvP2F}Qg80lSNkpnV7{w4(nX-dMccVhG+DQ#kqEa-ML| zj2x*)$)23)X|odjgYFT2=(3QD?URsU{bpdk%GHv2iZgRvVqm>_55FLNFz+gD|5PV_ zpPEB2ndN!b0fWd<`!_ck;=$xg%abu!%;-Ra5_HiGEkUPoEg@V&sXzzn{-mzWVDOVO z@eJ7&InROUH{=h0O-?T&L0q<7HE+K3)H&_N^h)Fk4h8%gb)yoD{2*$aLvCEkT6?~k zS2Xr@bjU$dNHzP?0;_cB7~;h*Yus`>9!k-vCe zfaRy`fFwX4?ZU{Yjv@&PfK#7t%unV%9%JORjyq$=Ow5_N3M|!AF0|5;1kJhmNb^Op zANn|j5D_cz-B)kk@4P7BYFpBHl4NqpWp7xs#^3?#Vrs;ac_d2?SN^&#tmr>{=XTDFuNE|?;fwG}ow>O=R}={DJC3B4m=0`6a;WPaO|`#80rD>{ zLQ3i<2sHc9m5OcDhM70NS;??4Rumkc@9{~sg{st8H-FH=vvUXM>3JP;KaJflYNHmh zXMsGwm%Kcr%cTr;PY@|%)tiQww2tWR=6+gA=}sp~^>XIqhRx2-wndSyM<@~F1&%!H z=Bpnlcfh-h!Nds>Y<`+2=Pyc4{mWTpxm8|0?3x|aZr%2G%Ba?aiY6X@s5g4TBnyA6 zuTq2j5upLCkZ93}JUq7JitLaf+aPdriQOCe)SAR6q4s*HVymY(1e7J(E%TwZu!u{h zh=@z#d4sS<#g=}qJRf0VE-L{a2YCXlVqerPFn6*yOKz z!JRLcicMKpJ8)C3v}UT?M>;mgxCkM$2oH@7?YDnB_9H;l)m_hAjII)R+%=!{j;>%=uR( z`%gmP`7d9t?x;ZcX#rV^2U~G_RWEY}`(?DoYpvN04B_;9^mF!((IG#TvO6OB)|v41 z8;=v5VvWmyWu&RL%rhNOdS{ND&6wDoahSHEr@qg*S*1ZVw`=#|x$u{@0bUaA*#Dji z@LF->R4)6V3hE)rZvEV2{$xcpzVA0@6lj&V&uv?zy$77l<-m~nz0`MEN61*cxpjPD zspp|dnEuh>iECSY!)~h$Jm0mIa_qQ_6^`idH~Ad}Zpglut(<|;KJVrs9&^cQXiphn z?JbH+y!-y6E4h+0#zzKG*S^Fw^~j>^h$PwN>9E*yEzC_O3!}I}Y?{hpBg@fQNYuzb z3Mdags~Dx(@j{2)e{ZTty_$_n`k7a@&A$HY#+*Bm1Z7$kmo@Vly{B051yt&9E zXnzcY6P3UZ=kp&-e65*}f*(en59wCfh<9&#+VYoCTRXGZ%PeUsiS&MIv~5(^f3}od zC4nWuzoEGFC`y9<0uM1{2kai}E?>TuK)etmg6DL?!Fn&}r zhe6|#Jn$Wv)I}HWWLtc>vlJq5h8?GsvSUCXsI#1EX`n8h$jQ&HaPcu|_O&Uk+3Ok0 ze8?#H^!KAh!7mbDMK$|nO-exZ*8nd9q!mtD=zM0w%M4q6LnSJPt1el@JO;aUFZv%5 z^k4M=klK!SW8?jTR{c&YW`A zqJw_*AwdrlWXDbN@AkahTRf<81&NR9@k6Jh7IiLN+)|q!WvqHV_zyC+;+)#Xp}UD^y{T z4JbAn8lb*8$O<>M=vx#pd#0AG^&Q+SWtY~X(wX4!X)Da&2uy|6K2))P_$IOx `c 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 literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-atp/images/ms-flow-parse-json.png b/windows/security/threat-protection/windows-defender-atp/images/ms-flow-parse-json.png new file mode 100644 index 0000000000000000000000000000000000000000..b42c9ec193d604d6a0db6efd6829d4e6b3e101ac GIT binary patch literal 15736 zcmch8Wk6Kl_UNF1goJcRNlGdyT@unUw19MjbO-|?2!e#9)Bq|DLrOP@l;qG|(%lUM z?+o7ezxVg@(|aEn&e?nI)obmw*E#2dhMEE%4iydv1j2iv_*@GFx)TWkp;=+w0e;^+ z#;5@%(A>2YWI#oI57&VkbQ@_^X%MI+2KUMg1GvY2t!Us50^zry{?IyHaxFn1al9AL zrNKTX+Zmhg56660E_vn^$nq^iYo1ju#+?7CsDN9>_ug}P7%BM4YUI(0TjWQFM6R-Q z97b#smoBBr#2;#JIiJQ!De*gg4k0FB>(=@t`>ceGxZaK)XPkk4pIz&bE45~VCpKd! zy7ioU-xN$ebA6`J#s_zHK52_2uNihd7kqQ-z599E z@TD4MeTINbr9~D;{5=;Nyfi20AMTssU&~#z^e&R9-F-yw3SG7@FaPMBt&*QFKH?Hu z+4CAbQHRcNm(OpvDx_)%Z!c^+Zd(WLyxpgRrZ%m<-RH=eN__pbD58q*b(yk)cV6(I z#wT2z<4a_5AY}7J#l(?ap!MFS+T2skq?qa4d|JiLmyf$Q7%3BI1_=;FCpqY~aGb7s%#tfp7|&tAmzeO-7u zi?#1HT0P;ViUFhbEJ!_LXq_?`lk{z*$2~A+yI|G%k%c4PXCZIp{QzLJs_M-s%@6z9 zFhUnriNTQJ@(4{rw#JlCrUhDEB^?Gq0OyygP}KC`TL4thNKrNabMred zFuRv#d@wNLcRP}eQ}b{)-BHYuK##R+pYkWpzL#Ll1j#Gis24r&tz_ym&REH{hS;rN z3nM=hf6eIi19$-R0JnQg=3>)kJ@lhS&^n!5nKV%%p~vmCZOUNRx|p`a!Jd&D;B`Q< zro#6EZa|5<@AYd+CX^30gy#aQn3&KU6Es4O8CM^0OYRnwj!zj+t*E96Mny*-#P@Yg zS#Q4P|0R;nu@2a|vUgqlK*MDNR+W4tC>mYUoH*Vc#aEx9bLrbNQ}5)qScNBI5%A?T zT@(3<+v0r}*6XU4N@3SE(?d5$}!#=P~!5USO5CN)B#T*wNjx<%hY)GH}^ zC!MTKYZr1Zgz^VT4z8G}sPiT^b+N9&`iybwoMrdbz7)Q1LGqQtrmqR$hh_FIpMJ1g zU|rO_cOtvj(ehRFlC35-H?2RCnbAPVLOoaPJBu)uC*A zO*3nPt8Tb0$k6@claBE`u8wurr`Gp6zGRm4YK^bZuPC%;ZzsI4wo11%kQ9x!7->x+ zbL88Oz`QT~z4cxNmD`#&wYg09Ma?9(GMd6&Z(RTPW@$O4)xB^)#x}vUuqT)rer-kA z(w%;jR)GK2^+pi^W~y8WtaEGeh%%T6*!QxYL5#X)ufMArnqJw;b(nHQHhF5LY_0;f zg8u@-xX$yZonC^RLOkzChf=e+6Ag*}2hYzm;ndTg-shbjDeNZe{27{hNk7e;darpj zxQaci@U;R}-r!LArBqCZoATH!(YtHq-}~+rJWs z_i?~X{WF;EBj!DFS+E?<5AJ}SrWLyi5$_NcLi5Q@xcc3y8SxlkL)hNmvge_?EfQ=s z3(@=}9ni+rx30LGoIzMV4^qg1$>br!a$ETU z7HOMeuLnLN9Ig4VPPp4q1-&z@(maT^!t^*`goJwewek!fSd5#NoIHNq&HpsPhbnW( zV^MZXtZ?TUNx)pTE%@|qB==EyEkF9&lbO9EJJ+&Nra3kCPp@J)IXntscK*!Xb~{lPNIorkS>f2Z7itq_Y+;thN8LE-}GJ4iZ${=Ff^0581cE^HeCt6r6mFVwa;eeYnsY5f9I zT-80#Eei%my0hRxfb3FbBY`^l{k` zX_KAywr}7&6tm>6cn0aln%%j!cmg;ZR`#X!=t#V}N)5@YKCh^yUJO}lRi9%+hOx5r z4+*e;5=U+ZuwMJjM@gQ|POu(~L3UpZOyrT%ERrdi?L8`mS--hJdS)m&YH-|rcFDR<~CIhZ&^Aa?KzQW>DhR}u6B-(W*)`rC`Rr}Uv+g=;m20E@q$jojLLLGCB$3euYm zdqKisc*tL;Y=U5=y}kWNn~<2>wDB8GmGjI3twSZu1}d-KL3re$Yb&e1I3$`>-UyQx z8xZF*t7wFEj1_YxB_DG5pQh+8>G@QNX|GW$(;0#Vu8q=Em)8es83l5c!u$-)j>@YM zcRZUsNo{)b8rnWIvZ5U&RY4OeFLCYJKsG+zY4(<;nf1 zJTL&lYqsj-Z4EZ(@&g;~I2SDCZgI7Uqu}~6e}-fu4KC8^82@;WO4zaZ_ENwvcubpG zO1RV07m`})L-;keE2D&K>n!UY>X%SKzq&ur2h&=$&ap!V*>&Q^Sus1)5qL+Rc_^Y` z2rq*ygjW%Eb0fC4^t9NAJF|M&Of#oPXBT*fHF(1|HPig!Ii+iMu8iGyd9dRu4)eGz z#p5Vy20uS9umIr=TPci-*89l{**p*)S+KG@en4U>hduUt471x)g%`AsiWG7fjPTW$ z0M(Y>HrEc+%|*dU?9QW6Xp!&F-cyRzOy1)dME$isU+jjmKqtbip8KkvSLko@>5lRG`jx?_3)_4j@ ze;hNU49ABw4!|zzqL8dsz`+`CNMT|YC*DtNIP6oGwiK zXyNZgj@yjYUNkf@+r*?lPqb&RfKiP=V)l7TC%1&FpetWa@=6S^BbhbTF*fY{UN&@R z$elFgEhR&r>dJzA?GJ`TDK_*D;b({^P~EmG7hC+_+IQbrj@D7y(5vGedDws}5Cxbl z8bRh$LmH8x(7p&%gwTkqs!D(P1LVr-q4m+p3Wu5mW>nz!93Q1rNotz4Blx~L9v@W& z9^oJFFDk6?jZaK$tk)@bGlm+OzPX6la4hP5U;24yVxTeLvU+Jww8m%uQF7KWc9L4n z@6I$qCoK#=CO&O54-c?fh!&f^2=OCoj^-Y?9!*kZqb>%>gQC*>+s2Qho!wcxIHSmJ zP*8hN4w@qAhacrbY6W9==qEgW4`$AC8ws?Q1$di4c8YXfoaqg?y<&Z;cQ?qgpFw%9 zy1bwpC{1v8Ip-QU>{(2W2al<4*hQ*XGM=tKg&~fN@E*GM@raxXo8Wb(^N+4Nx;vbx z*2atVjDYAVJ$?<|yWG9L%KG8_XH_{Y@b&7X5j5)V&{R_dGzUW=ge#G+ie}$FH>-_n znaLP9&xp+m*$(%cFWa=9OPjgqQ?GE!0#<6-GewU^H@1_(6W?$j zJGrr#$|`x|xeI_4F*7dxwvu_yrbRD?jj5E=1gIQHjX9eHq*`Tq$nVfMd-M%fSQMIL zBvEseOx}%Uh_kf=NwNLl2f@D_C+V_M$`THfHV+aeus07D4g(dk-m=oVSNEUfu+neM z&C=ZG7|K;zUFA(>NDs)xN(?JmQ#Eqf^lHAhNo;RaHjI1blAaTx*@u+Tu>^7JcJAxESk`zB40f%#HsE(cu-Yw4XrrkPGklBmySd{=EB< zc&p*kIFF;Kz|9|2->DW~?})FD zQ@$NDaT{?HZ4yghZnN!3d#OZ}^My_6t6Dd;;fIdFfs7@aeKuBj4Cq)<;3>k(YSQ%0 zT5Dyd3B=)#sUP%lUr&Hm^##LrM4*~lUb%-r5hi9e1`3xM=M47aA$g0M66U>bSpy^jr~uaLRy4#57hf)tP-iz(iqob~Z3 zddaP(vJ6*Aj0|%J>sM4ME(04B*d!rJNGr!ygG74<6I7n&VVFu`iWuceCO<$@TV_9z zsCx;eVa|+Sy<14_v>qicd|KjTtNG0TSH`!8b@tt^#|bPSFr5vA_*@@$sJS&&WDKRFH(o<~6LHkVxFD)OR;J)7vsnD6j3Pp1vsDBd6LlN(Y!(ZX1 z@4QeT`f3E!&!Uw&==M|P%}hCL8!r#{ZeDCRSHJ#b;e$6T!Pmi}3c7#a%9bvy>V6t;&t&rPIoNqKw21_cv5-4>vL=rR=Y8%D9GKZ4>&Mw z=f&&IrSK}{avZPFZ(UbueU*{ajt7rZMoE=LWQMj~ZX4(ayPV0}vd|B$eZZ0XDqA%PCp*Pj1|6O7UUS{5BYm$Ls z9(|6-2TKfpbv-_&rqq|<`cc){u;Vg+MA;l;AF>;LxE^ZxF4&0BYJYHt2+W78PxbsA zjSHiil^_+S^8G_b@iR<(wpX`O7}HD=>wbOdTJ1CZl$FK&p2@b`J-)hNt z8*h~@8hkOObZi5X-z+~ojD3<=I{H>WN>_LeM+hl<_Q92p!Vc!sY< z^^Nc&Dto6?l>0u8!#Mngd+gwTjQj1S9E^>5LeD$zOFabC7Cze(s=r#7 zuYu5SM9hIau=S~ez-Y>MW7%J=i_Dkt>N;laS59w|!Hh^R^}4#_!sCl_Rq)uof8Q-O z%5rt7Xu;4isnDDDwK*l3s|Zt{8h_OFMGLwmJx}5C3Qc(|tWhfXb@7#!YDQ&tqak0D zu+WFf@^86nnZvBFbcBf=lt@6i=t<7#+cr9*$268|IUaK2zeP~l_EB9Dln!3YcVFt@ zw};Z=s33iS<@jKGXW}zr+;5n-0^WkXPkK+EOB|fTz@}rLnUhftl768T#u;$KQTl|D z_SDf+*M$@V*ry|@`<7gTeUS~bK4i-jyI1~6P3T$D7ht( zd+)og!J(SvU=C~k>N#Vy(DPdGI3HsYJyrMe8}|Wo1$M#Srnr}nafh!9>?I%Bc-wqi z)|M`0LYNnP#6=Iy(@xU8Dc%W${h0W8+Em2ALByX}U-;_kJ8(-S zI-}<(|M1WaDe)jfmxLLR^O!8f%^@yNwik&KxSJ915n^>QY1+}GQOIn$9dW5hVQ}UU z=g?qR%MB+IvHPDMU^gZ=G{0%b$xeq!v(g9!ti@ zXKt5qd~mCA9AUeiwD`OUk}`jFJDJ&e8Fzkpv)N~p`5~1$IjPq#DiE1|`7rwuldDOm z!vOHX!Utu$X(Y>s@7xTcr+#udy5nN5h=5`##v?x2cOl}7{UEbt=Y64N-O9?!;M^I+ zuU85xWg{Vbhu`?VJ4E|fS$ST39A_cNm3%jhl4lXZGSqlZb(tilGD|D^qx|Lpl&ZRW z+f?$TtaREprQ}Evt{h{jsrgmxF`W)R$9OsZ)Mx8~cyP*<*eEN`9$z?Dv6_EYH!M2Y z<9x8So;&RaDdPxOBG4~Q^>V+^YN&_52>(i{rwQULp`7qLb26Rj;K%GIuWypRahju} zI&63I1AI!wukM?7Mb(TL!De7|+UGRhM2Ru8^QG8;{<$b53B>(Y8z!urtiLoOol<%> zG%pQC*o5-@1s@1FzjWA)fGIp{*I}+;_z+CsP6JZB@7ShTad7!WH43sr^dG80oXn&M z6Th-+pmY9XD%ovK)AI5ji0CdrL-jm`UO7f$nVS9PAauT;rQkST-`XK4JoGaUx>PC3 zYzC5Jp%oCK?zf(1TsT4eC}WQy9nB{yi1Nijl)->2=$})92yy;rhatJTFU5;8F1}>9 zXp{`$Fii<5BZj1`25+nGM_^LAlkj#CI20V5TkyQh-GJ9urX=ZRjl zTyU9iB@2cj*y*Vod@ADP5W%9{biCKOs@{iONs2#8@T$MDJYAwg&P?#^KBHN)>00ge z)%3cEhAUX@8au4*ZxlVA8c&mJ`0V$dr6#c+lW=$fxxH@3jkT(@sW!BzQM{LT-)Vhy zA@(!GgH?5VMp9KB&ixqjU3^<;7J25je$rYI)AtgIs$VZAD+pEtk0(~E-mjGT*Nd<_ z2#UrK`VFoK$cFgX(--dK{}Bkv!jH*p@K5^Atl6tk%+{^&$7bD zbnos%v76l+L~8>9^lZQN*RJ^ag||F+EnQKDEN>wx zgX0)(b0e10dsMy|MO<9vmC$Vbkp#O#Rr^w;4H5Xx7qri zoc?!Ffc$%SPEUwl0d{=S^jCuAgVN5lu|5uGX+rS3Mj|G`&!(sZGK(mq>v^Cn4$6}M zz4R~OhRmjoqh2NP1 zG48GTjgkSQN}B0YdiG0PupE>wDZc&G zH5tosBg!eSEGn&)S>*%GFiHVBYimW|T3YDPnl`;XX@O^5rN@gdF^GVG83 zF6pvm7RDhN-*9YlDsK@s?O^S8Q38E%m5VPT9|Ra9V&>EgXh_*N8J^eB^#2^sgTEC% zqx6VHDT}4S{+(iscvgp*2 z#O`yMw_S1*pK-bx{J2YVa}xw4Cy;ovPT0APjqzjuT%3((@#&mX3PF?|MY-)@jgI_1#8|18iHG#ViAP3c z!!DENRzByItE&or_$H?#SVeR{Old%AD61wukzB>awPY{Vz79KBcy77!D@cq`&L>Vw z(^qA=%uI$SGx4;5r{{Qp#nRY-aC<~%_-midvFp!K(#$&tvd?P`N%LF>eUB{Vm_cNJ zS%uJMauF_VXxHE^J^eD?Buyjxoi?YLP3GP(RQO!`!r*3s8J`OFVgo)Nl^m&~P>3~L zRO-)F> zJz_#gfMMQ;R3qwE7JkXQvDmjDcdqWQzT3JDq<V~xT;xX>{(VE5KHu*k zta4na7prcEN1)PPJ<^F>!L6tn-XTS|Z( z5WhLsrCwkW-4XY|uSp!15?BcZX@uS`T|qi!AU4<@9H*7}Jv=ep_~ykHf4p4R;1BIe z6RIA9Kws01AcbDD(rEDADy$bWdhadaIYeSs_F|%O_`{1t|D-M5H^Ypx*cZDL{lWWMUDo+ zq<@3bBdU6)xOGONMVoZN`=!tS5vA%)=lBC|j zvm$RiqT5`hRFs($|G4NAf2gZ^3v(hiWqyd~AS#|JRP`&S`-fQ|pc z|Ca&&O@tC6xa&Pc=)aF7B+E<3GNyQf$cX;Fk)zf%MlfFo`Wrzb37HI78=r6U_dhES zIOf&X^E=WSMyQ>#8<|c|&-Mb9-5*OPoBa8;@u0ZW?8LFc;Y-b2z_HX3dqZ`1z9Uqe z&r6m0jrCauPTb5m0eWZzuubY-_#W%7w#8{fAB4tDz3-3Zey)I+MQCt{e3|G-Ik!TqTQABE zW7u#&JJruCg!(fFyh=|shbr|GtczTngLS|S+yIGuF3r_^H&_NJ-@%(#VlB?uH{iEs ztj6>f`37KX;GDQVXPl7ez9cDlEG}{o z7tF1rKEkmlITB-Bnar_Ai030gB6n`?nR; z|Mn>LPXI6tP<44c0C=@O=1cG>G_Ffh*6;(`0djlpKyTrn|6r!%MfI13tK3)ZNu8e- zUEE0%w3-o*$1<;xq}MgF8$DB*^}N1OFljjPRl2o-wQg-)xypxLt}G91h+5(A@~v0! zj+h>I_{-~)nAtz_8nr<4LYLp#`cf$c0y#w@svrFAUXXhq1c?0ZY#oC(%ESPVU%;|; z)6-Z=$@4Z?N{ORN`@~qmahy#2=*;TsV*BWAd*4;lxJ~MR>lED~PEFOc$O}B^WUavo z&Kk$X#*_Y#fMXYzIFuKcNim^9MMJY}2&|?@t=3NzE`(~KP287$K~6*!OvJ+nE4)(* zRP!9bY|e8LSYm81VS)!kHqiF^k}fYOt06Lc5yG7=+;CavUE5dKW(B;}men%s!}HNF zBm@(eqe0z(eKX=nAkd{K4ZFwp}agF3EHLP7`?q zA%K{vZFvMOD4?I+cSc14pe*BWOxcK~WapQ8kD;WyGy2~R3c8*YRQ3E+D&~CEa2EiX zl)E7IL#&9hLMlB@cMb*z2Qx&w-&`AlwHA|@kG{EQE`F?`tn78&peL%e~to0RKgC;^#Ko7uvf(s2*Q_5%-@lDd~O z>B@#nzK~I0O9ZRQNX9ALzTJyuHsAD3eLIv_y=d zCqi{v=vs*val&q{6OB{zL0LnKJ(MLtU#2b`grBNs^F%1N#A(NfJ{t{0FTo^{ZO5;& zFXrA(j<6Ptq0z5B86CVpPyHZ}#yz1G+9`-I7l_%8o3b_x>gq zUu^a=oh+Yq_ST1Bcfm6xetm&^`k*HuAvTTe88p zlD);Ja#yY9CEz0$|D%s65v5WDD1{t_?egf+@_x^LF&vaC_j2SL(I!{^&#oUwW==eS z>#D^gT$ws0ZXYOwqIjwI4{Ix#(Uw=NIk&r5)Sl9R5ktpH${-OkP#J& zoLA|8xWee!MgW8*+I-l^ntSbm+u6h}YSgbc-G}BTCEd;bm~tmN zH=Udm3tsQ_0#EonUF5(u2WsNgzEIU`Ol^v}!1=SV^j?OvInC<%p??I?)se7-ls9C-Rq=unm>n=E|ps=Yf~xJSbP)c zRdJ`(-9HhZAep1oYK*3qDLV2tdy zMUDGA3jC8MGpk4vr<^QRDVc7xa-$cN1zmo5)Kz}mPrrGwhQ1AXPahr{BFNOyWnw}W z_S^uxvGmt28DTOy)bUBFTGGhC6{v-SvZW4efhm-uB0WO(<4H!rR zInw`!Gys5UJWPxW!LP3xIfCrA>kcX0Kbddso{&>N4Ytoc5zT^kv8Zn~Alo}$nxC&YzBCxzQ5HYOBo=*AWGJS{gm zSqJJYZlLQpNKQS2p^T4>|Z`sTN@mQWF(T*@;(a?swBcuvV9sfny55@ zy&aHYQsRFLrIJD+D~rOu5CYf`D>&;J4p5Z<1FnF)0Gi+hw!hN0X##t^uX6D+R(r4q zE^5Xwo0wJ2|Eu5#grMs_^AXUGLqMLuvZ?Y>xwfC;_JKLOra^Q_x zBLf*?5Q%^*SdMyzOp)zF@f5N^(zSi8xTZ0Z+J7^w@YTk@8$gj&L7y!fiYi?ChSO|Npc=Gwv+qco(h1T zwBlnnsiG}46F-3BaZcy`CdQX2ti)go%Oah{W?>2ma12dl7HH z2vlIQoZuHvy7`y9oSxyU-``6Y7zv_U!sjwfOs$bM8g?tVz=Zo2f31h8vgd6tX0)q_`P*-C9 zi?_5LuC(HIV|PJPS5h)z?9tdXLBA~mr!ny=7Nf&0`8=kYufi2qp`T6~fp0d-aR95i+(HagQUkV?@rPC_%Bj zfRAjL$b=b}e4Fxty{sZUt**2tgIqj)2*m>_(g7OrX_|!zQrTkR%<2ty-q=@x2{GdH%rOYhf%v z4EjXCLr6QG@>|Gz_WuOuWIb0;w6JZDw68%oMnts`O}@n1MGt>k3!S+f5qstI&V(&O zq`m(vi5e8E1jrV#Pf`28-(oF68hcyJt1Ay36cq9f;G>?13IvjB2XvfggdH`154ib9 z+$b5zbbqZnNF2l5kKW)7TpbMy!l2orQ5xB8rtRh2YgmF=)oZ{@`xsnahww4Xr%>K*-EkAB{t&pV}eE9<3X|Il8P1R7`^ z1DhsqnArm(6ivyz&!P)@eJAlSOu-$AaSZ;3j}hm{(pToDUPkuyH7WQ}QV(ANJ7a_w zu7_1(P(djNeUj;b)W?@I%bSUxxO|-gQVeVEfWO{rv^MzoQBIj7t`PR=x0x%VdDANZ z^vvi!h!7pcqxzb;BnA;{u98B;Y%+8@mglwZ`d;7i_kb}$*B1Tf71UGmGIjgyR(yB1 z!v)@DcCC!h{5mz1&v_bI=kKC=wcJIT1vmS^!Q%9!sE-BCn!O1Es!*&uC^=a9+o;H&@M2<>z-VMipTLgq-%!XMyu)~n~fJN-$2fXp*GZ2fs$lr!0JY)s~I z6bBURaf@Xv_zh8l=OgVlUsbN3#@{`CytY-A^_+wo+3tES{$W3jCu^QasV}era$E|a z8+IlSVlWGTRM6c%;5BX@SMkIVwrR2M3C=Lh4qsJL4elLiDaVJPkne2UuGDoU8>+mS z+_ZD!i}>NkOqwa8JK=j(T&g~r0(uFva$9Sjr>3qJ&;XtJ&URzysypK_!+oT}HRDi>^tb_i6&>8ao*Nu2l`P zK(Z0MRU~i_@OS{EqQL}IDk8e~pQ$LXoVmPO{O)>*Ht>K66r_*JNg^Hn)uc~BASQIw zqLlx*x!sv+u>b_?Dr-S5HLLhVExSV?5TPibbtNmA$ZnSu>_U9HmRulw7f^)OAENd_ zMXY}?@^3VD%C^2`aDVA(SKsjl@v`T$iuOp`dG&!WCDn{fiMYO=mycZo^V)auAMeU8 z&!;s|2h3EU3Fi3T6QoE1a19H>}-z1fTt;zp)!$7D=l zyG%hf=LV$uUcfqu8BaY{3CR`VT;0Gy`0$^}NLz;S7#MZ^$Eb|Vm`sVO@pfwi^o88J z(Sa>yZ8CyY-Qy+JE_dL`S@EP%`FFvV)>*R}%eqFg$tqo-F#)hmN>ocWJyhbqYO5pW zgsp1IYsKDV-@PwKnM+N8n9xRs&u^)ijFth=DnP;ppt0GBCmX&{CPsym%D%3GcG;7t z!HdHdt%W~|sGa5oxw)Pu7{5Sg;+M0FnHrDMafv(k*gtEh^_D7N{m?a?EjN(mzE1#B z3`1io6Z0X07UN9x*)u#14W(DKX(n?0^Lh*a z#l+*KD3PU5jgQr&k_?w|M$y@n76qLDpS;%rXS3pFOIz2&^*32>wjYoiT_qHNU0M60>s7P}ynSqy*feMtK zO5Y%0}V)Y0v8#O@m@B zY@pc14GD1;?NnML_ZH?!+Uk1t+N*Vf&q7a7s?F_=m7pyxPzTE=9E3zG?sPfg;;~xT zStbsR2f+Drz(?K-GFCijbtqnhjsgz8iYw?M!&CH z^S|Ipw=OaL?T>9}=ADSuAWU^gYL{n%=T0{H+I`42PpRXFbz&Xw)lNz$)wx=#G7I~h z%07N|_fiy&Vb+*RBZ2)Ud$MlL9cd{-bb&7kOyx-F^}sv{r}Z-ZdphVx@IoTJjt|%9 zLN=#yKhONfTxHhUUs9fHIv0LU&2htMWirr+IU0ULTGj4|z5s_&(O5y!P8$OS)SxL;qZ6*3CoM_N_Ia3xjj_&m!!5z+>^B#*QGo%i909uiFOq;)gL-Pu5hP7G91eJKIrXh63qp$YM(;6$jL~jI5zWp{>h7Y|zy;1Z zQCQe`IVQR$mFNIuC8{O+zdZc>-;R2un}D&{S1a?$wRsiVWXygHB ztE^#w5b%yOaH`T`M0IeL0F+8mC_qQxbIzSAXx-j6UBlt8rQ+Fun=;_d{?@uGiLWs5 zi}+kLp-_4@O%x`r*~kzWkI}D zohQV=2L(9UnW>9*siD?Oa#DmO?#4~mH)z<+=Lf$iXn+r+L7*3MYR`*gUIqU*dYA?Y literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-atp/images/ms-flow-read-db.png b/windows/security/threat-protection/windows-defender-atp/images/ms-flow-read-db.png new file mode 100644 index 0000000000000000000000000000000000000000..89e20f3a67eb96d6b64eec60050536e04d9eb929 GIT binary patch literal 66150 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