From e621b807f1c8cba5601928e0013fbf11a6d6abcb Mon Sep 17 00:00:00 2001 From: David Laufer Date: Tue, 24 Jul 2018 19:15:46 +0300 Subject: [PATCH 001/162] 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 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 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 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 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 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 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 002/162] 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 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

$mIo=}eKhqt(3h-PPfNjq!5l_0i%I1)ME#0#l*} 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 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 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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 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 003/162] 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 004/162] 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 005/162] 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 006/162] 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 007/162] 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 008/162] 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 013/162] 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 014/162] 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 015/162] 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 016/162] 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 017/162] 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 018/162] 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 019/162] 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 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 `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 020/162] 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 021/162] 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 022/162] 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 023/162] 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 024/162] 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 025/162] 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 026/162] 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 027/162] 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 028/162] 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 029/162] 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 030/162] 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 031/162] 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 032/162] 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 033/162] 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 034/162] 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 035/162] 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 036/162] 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 037/162] 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 038/162] 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 039/162] 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 040/162] 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 041/162] 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 042/162] 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 043/162] 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 044/162] 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 045/162] 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 046/162] 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 047/162] 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 048/162] 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 049/162] 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 050/162] 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 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 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 051/162] 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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Ⓢ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 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 052/162] 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 zcmb`NXHZjJ)ToiFQ~{A9MVcU0K&lkMP^95n^Fsk-Sv`Xk%gBGshec z?&D+bEaYkEVP5WeXe-KLRgKbbV=izVWYuJ`uxb;CuC4Ge*ALv3j6ATgNPF&%d*8T8 zpI~8eX}kr<>iU}RFOmf6oWf)dHT+5lSrX!nOVHl(c7lUbv$HOa5+dCrk0&ZY+hv9O zFdX>YBII;bV9-v7#>de${FOn>ggC8Nj3)APxnpbGC=iy{EU|CQ#A&C`X#2;P>n9rJ zGm2#6aQ^kIh~({+AM)F2R`S}~TI9`ICi0>CMz zdDKI8aa!Sb_g}nwSWtlf_B+@Sgg)ug$066^-x3Q^=VQ=BC&x@)Z{vJQjVcrM%$lY) z`E%KCj?a%7py_Pn^J`FpDIan-vHvGRbJl>ix2AEJ1x#?aB6sHm{>OS&2{@xTi|9!S z;u)pD)7SM5V~nszlBehDr8?CYCGoX+d03eu&c94rsWWS7wBAHmC7MnUJYPdUq@rS% zVco-dR7yIrT#HM%g|4-W&ZtqaUg)WZ+Vd=|qYRjtad+h$gD?WKp8HbzQO7sLm?f1bBb_?x;C zs53diRWueO!3r?uB08<~E3BM351P%tk6B`PE-o$%o89uq4jbis;2>JVTI+DcT-)~- zzVqXT!9ws{)7khxs??Dco&c*-bBXlWcYDlFYw_w-Z522{(Up{>oBMn zH({#82V=SEqm#w+Asca}c!u!&%bol}>!hp`nuFV{7KCXIu!)&4OYHdjjZ&rvo&crKw@wgh{`53vp`;{`)+Hu4ioCU0;BqkY@MhC^&92K< zT3tdJ)M&g0&xES*`k?6NmO^L~c-tNr#5e8RY|d+UQff7C(|6<(nz8SNp-wqMK+dIh z%a=^~w&PwjRxSs#%YAMMtJ2rYc?%bwZL@@8D?L(7osT^Z0`RY@GZVgl4_AWkmi4QB zFFi=g6FJ~C=L~0sVw0?D*Ot{hB$AQ2=U|-Mi({eO9TXyIzp(ZT*9$%G2CEgh7vC;t z#NTuMStX8lKQ7ZvC6MC4_Ye=1-bfQ3yJdhSkzDvGS^LKzVJbsdE4Hw! zWLz)h$CNL~6@%*CEA`>7cqpRpmKth(vol#%=7*yJd6JLk$Zhdb&g0i+%HU1vA0jvd zMa`d_$+`|Y6&caDQzo^Ihx6x)N6XC~j+AFkW(kwKQ0uWF8O4~1gVAD{?i2f9O0Bek z(NU4$sfmftY@Xj<5FyAuT<5jC3?63R2d5NT0y&hyOJYO#Z;GdNHF@y1F=8^z+c zlNtV%GuN{4>6-msACOwwM%Nx>zwy*?;e|s}%lS^*j04}rR67nCSTN{&h~;*B^g)x- zcj}~U7NXJ+yiM*65f(xw{Q#?jg%*XavzPPv(9g>Q!a7&8Seqn)t3>A@m>gmnmIcdz ztgDSz_k&6PY{Gt^z*W8C zA0DOG!=TxIvlH&?(=Ys%2m7eyWnl{uBxBSA(ltLndat+XWv*`k)Y;XP@AC6K6>=13ehQ zk&MU6hantc-&Gvc=L#LB_Rx%9u9lUK9cg5RGLhB%+E?YhAyolYLw{>am2*D}kXP(G z)0CblXmmGg0c9IRSB`R}stnrS_q;k|Q17ITo%D?SEz<{%s}4|Q($N{db=1)yPY~i0NQ%`-_dQ39bIqA0J^>s{5;Q+aiYq-nP*@^@1IyE|qIfJ_|yp*CI{oQr= z;KTX#2$YpP;1E(dR^ZiIWjmh(m{N4@TXoOW`n|C{S`AY8@x$bUpE6gI^Za=EigT}x zs73TETOoyB%bhiqqa&v4#~KUdk*uTG!%F<264|0$8^6=OZFec&-tq*W3^USSdr#Z2 z(v|57U+h4tcN%lb6Nss)sdpRy=;`V<+YA0>OPt5oK8iSE8W0bM`rKl3$1?Q@g}jT% z$l*?kNGs3nu0-E5aW=D(09oXGx*-iv$;iefUO+VA>qfE%!y048pl>oaIgZbMBuTBG zLtk}9#zd@A{ER-oym@l;yV=4zOM+;Vyq#;9J4qD%>ijh4lbBQ>b{)6Hj}lekV%7ak zfk%rbQ85lC`R0P4n%qtbncME^!{^hUL@YZAmv0X#$mQdMPo@W=qApqQGFH_8Oh`7E zA>lNb)W+FE(+&VI!~d|e5DNT%8JcEcfxJa2J~>(_Le-ofie2yTX*$vP+}FsCf(vmJ zYKdKPs(Ta5Z6A#{3t#5CfyBa*^t6$?kvZLSLkX5=R|b{|frBC6<+gzoKlPD$=7 zE-}H!B>O*Vg7>T>eSo-4+0D2Yh3HT#cTE{_Z`uyYW84je+}8)oM@lqv@fIK{T*Y}s zkU>nRDk5PG^=x(KLe|&c`bkWDd^b9qHa^!Zn1(-_Hk23Lj=RL@MZ8Lo-3JZmKNR{+uT%XiVlMxdE|sjpiFg5?0 zna-^`e^o~or&td{{a7VkIigIp-W*73M%5Lbmr5cD?Al#Zk8UeKC?C6a8Rje9zQB6P z)OWPV)OEigxp;^f+~j7ye7+qa{RqvvdfuipKEsC&UP?aFw~)Nip+%b5woj&^cax5q z72pA|g##i%#E#01Meo0%-9b8H5`-Mh2gH;C$>Vh3{1wY14QO{q^)JP!}GM1cF}r zT;_vNo9h=hL&beHui*i8Ae6V?HJcRT^q5{~{em$uq;2Gwrt{qGXno1H{ngrK?trhuV92~^oLFeDd)uyUJK7|etYgL-FJiEB5pvuv%|3SY`FdW8 zbqpnA+ivl#RttKOEZNCn+uq5#8Wb&g0Hj6EV&+Rex=jK3EF^mCf@D6A4bpJ$_^f*f zo++-0J7J!*1^kMg*7daQB4+PIfEFo9iyRO{$O|G!FU$s#PF?#AO~uc7a=tD-ICZVQ z&ZSTF??4Xtx+Wdz+Z=OTpe)!|E8+WAv`E)MUkmQetDUq-Ln@GTMD-xD2loORpq?{C zeB+98pslVRvMCEGRfIG36f&8|Y_9v*wSZ8v;!}~fODFsn9MV#Ik2*M3Zw9PN*HK%X zE`A{t3PUGVzdN}%?JU%3ks(PRoW36E&o-#t&gK6y&uklS zX^ZO@7hEPRJ<>6do|QDb&6gR`f2=f6qT}9n=HfEFc>JOTJzmeyd^^Psd(zI!dnI7# z?a6j#bLj#Aylh%`^?wjGVz}pXcsaSMS4{^1teNG}ZW|ot=*K;0VL4WAWWZiFI3z_H zKc^&5vOf*FSvSB$PA%lo?%Lcga<4DV3ZYRon>hpk-01mS_*|P3RAp|WEAX4>qN2ij z?y8Bj)e3x;f~Ozu&ZBB4UjrU(%mAOV5K@?s+{N90Lu??SQJhLn!Vk&A4RagluopPU z$3IfMQ@EsR->I&T{M8b4H7+8;$bc3rfnvr~>ug@-O+Msu@P= z_V8D65au+i!6H(2{M%}xwvFvOs|xTO57$e8uFeQ#U7se4y<{CRl)1hDxyVgZ#Li6B z)ez67q&%)LZJ`hs7iUbJn==l=BoQ(ee~H<{%+9C}A-;4!v|V3M*cA%+DiiZn`w!0? zm=JI93<4aD$|pLdU+NcV>cKBp2)8q|c{nQo#kzePUK`T7jZPNOm->%)_T9Icx0eD> z)GEx{rtVwVO;s30#m9@Jh&s=Gj${g+F??1K+E@LDWZhG6()eA-eltJNHlVV*hANap&NRFFh~64Xg?-t(ljeNE!)+p>ekYLlz4iF|WX zl=48P9f_~`HFe|dRmqeb>Xt((yl@S>h2{@wG9l6~?MDhWW)~;9Xs6FY-eTk!Ew562G+xcGJSbN3fqpYsfmsE)1{3`9~ccKe#wq~(^FSG|a&e+uCobl$&hn3q zrs5y(dgNUhk>~3yUiNb_^sPR`$|J|2cNc1C+j^GI@3=r!lRar&qqF=f_}Uj{ug!a( zB_u;UBV#@lp7U!9#9L;+|U% z4`3*B8>8@wjPX46W}~1*5QunH4v-YOBuIZxR|eY9Fmc~>@{9`(JwY?xLCe2AllI@{2yLSK zzOyzrx1D*4*?)%zh_=`Kc-5jBRpDlb8~ejOQCe?KAF~t?>0}%O&hcI01}+C;0cZ51 zIj>?%HlXeJu4U4%^TT|M_V;O|foTXifTxvi&Sx%PoLek;8y%qxgg=oh>?R%o004pp zs*@d4-41ZblQdF^cZ?^!`>K_shKw-#RT?iNDN9`e@Q5wgeZ+NyQ$tPOuim_vC=dRE zuw06ypdL%BeBIr#;P!o2pu5`5cWSZIm<^sNIo;B@k@a%3COo#hpD#X@?fwwgdZ_ml zy(9|SNkaY)!H?tfTYiLdBQs0`i<9S3drUubEs zle=Bf0h4l&din2z$<%vmTZQi>E|T}%Rv_}bjr=%Oz>ok@I_^IKz4z1TPj-6$9PENmR1*2# zTkC$Aym&o`zuIaIaZ7n>&KK|kG7Mx}htFd-1dN9H>e`BKUm0KN-b*1h{07t!;aYJH zfxP}H zxN!Vv_)6Fr%bmKeS|vyY&qeJ-8AKz9?@@|zH9stRn&{X>5|b<-Z}h`-)~nc@Oid|( z+*xq`Ko1Wo?K*~IZ<8=*zX!(#Eld7=>yp;(yrR9#r87a_jK82oD*YAIs?p`nU$GlAxGdyY5@>?lRuL|8D~$Y{{*3sT zF`0+`i?}xEU74D;e9c@`AZwZ~%{0rvOj)xDsrl^EGsu}7mhQ}zir)C7rtALthdsMG z7l*XIhy0Viyb_!B%zOlGx>Uf0Dt`5u?GK(w)b(skeZSJjV}6b?OH)^gJ_5-4BhR^g zH$TxCoP%o`!0F5B<=6K$?iR3KgM>otnMo!Q#KCUgG>%>54_Y116rOw9s)5K3A}MQxHJ9bQ!mN!K9GQ9Zw)98`^GK+vdQKc9?VQ?X z@Mj1(hhOUjDJIa`a3!uqN`c~_=Wh?7Cq%V_ldHm)u+z)^PE)XL2%kd2ZxM*>+u4ur z^$wsDZzngRpMTOVRC}`H#r@iBB`H&PKVuh|D`1($CNyYF5K}Byq2Xh(=|NfrW2dkP z-FxO^G1(@zR-w%gxRlnTt)c$=K^y}53AJY~11?Cb!(ZJCDJdQ}Iip#MVAF4(fav}N z4;pA$y?T`|#v^ACz2!<9A0m&Sz`h8Yu-2y&ykz1fI!hL28ctD3X0DT6ZA)+R+%z&JFKRWXk>Ih>aDuMqWLq8GT6mNreTXaySux)B%eu>(>U~Lf#v6IDDiZjXSccP zk|aYwT<(zNWJ%n&a86+6C&{n*6{8C&Sx{PqBQV!^fynRx&ftQ<&Y-?tqWrr|8-#u% zowq92cRI5Yx~oNmH4m!@rMzQZqNYv^-c<0z*kP7(AlVGGJabT*0+p8F$WZ!$em);% zk5G__zi9SLYiT3i_`%LPc6P10bCKG8%IPi{YkvS&@IxGME&5B#r!~B}d70DDp-~z% zmm7JyFx<$eyH#b;$;hFe^+q$+*LH|B2 z$25{5JG0cwZst{xkcexFiq70TG^|XFM zBm3?&6qXwzel$)?hSBf_JGc#;Zn zzIknP6j`N9oEe_T+tuT)Q&TvwG`Uo_!N!{j+LEGYCCqjQCy2g!RaA0vf3?vwD5DM) zoIgp#;y)hm)U<+tjk!Gw3k&1^sHv*HoT8%YYHV!ukBj;m{1cd{?4roO&a*z(5wrBh#NLN`J%dc<^XhXAq}Io0G6uc4yUGd!c;u>C{?{3$1WOJZY9a=zAn zMAm)CrHomN_lfQ3SsMW8p8aA?1ah3gG+;agGc zB>$A__{dpUi1D06Z-zzRPa(Ylc-hY4JE7svV+;F#t*sllD>ki6B~V}0R^f5KRa{p4 z5=8mD5iW`^6Xks&`S|cxs|D(^`Ep~3rHc9GgYBuW1r?+E%qs8N0=^4#@_Imd+jW9$ zA9zo8PMQF@?2N+g_Sni9)HaCZ#z4?xFT19kDu-P*G4~3Awpx!(m!9DxNm+g95AW+@ zyH-V)Cc&LSC!M9%eD$o0LXU@(T9)4-lX>dkUjOnn&}|8?X7aieO2LdgwNY7fp1aw$ z98Yuy*g{;HF5eUk@d2v4nh$$F+U9DjPy_#Nuw$GTY3gm}HZQDp(qA`IUnm!c!5_#3 z1!~ut2tCIx4EO<*nTi%n62aILFM%d%x@2*-%X1SUEnBHPNwQVj%no(4z-%X7j^BG6 zzuL8+>B5dF=BzC2KlMLZ{2s_yT1-fK^F};-SkzG>eVRLg00@E@Ym;G;Z zey@cUtCv+`$}+Km5;=Xn?nqJw_euvlJ7#uv`K63^f42D0qgezi8+-?g+qRGRbm!%` z0v$<>m^7DLt$PWFb7hvc)(>Xu`_lF;N0#iiDDe2(jY-y$!GHDUtx>8d-G+{$xd&Vy zhlYl__g|+C_dmA3-eJPTWTL+~kAhEqm*${MtPy{M5)6V2 z!=lQdWq!M`;m)@v9 z-EMKSV<6zUr3nj<;&j{J-#;I54W?}B9=fY35-&##&=1K^4gRC}y9{!dFZci+;@XAU zT8N72=%`Cg+a@|t9!L(DTI8hQ2bQ_F0|=FRx9VO4v7vTf`71%Lg@vyUk-hQzz7Sra z9etTpsEC2}gNuMRP1@I$5l)iY*=(~Wd|p*#qu4f#*?!|xRa(5Ig}9CVajE-w>afb! zJC*`mm1?Kr3uuF_;R!~zzS?GFAoB4DvyKOc0KT5B}k1eE`eA{BU z#ddT+i!9$Hn;Pt0kZtw%D>{e&X4t4p{&Gz$1`<(d zoy)K7j4yH0?J)^e1$1W!*x=XI*T-p|Qgv{7LY?O$)G|f3d6%uaMu2XQ3|I#ghq|>) zc|zaEc-X2;Ty`ggUeDq0{f3N!Db^hN&Hp3Q9Rzco&d&HSIJIp0(Gb!pIJjdP(-oZF z_M~HGP{;pMflm+<)JXsLtyrP(!`xV7SW5t@?OJM{^0zv7^!jO2P34GuJ7n@JgWJ`W08{t7)q%&liX}po1<#MMH7|K#hk9h8{7hV=ZRjs)n@rA3x zQL_bNGd+_+>ctlyb(ure0p1}&Df?iBe3WaXKR&JdsaG>eXE>8+3-M(z1gke0)zh`U zm?vRBovm@7p6S#bIo;NW$nuph4wpSG$SXh8Tk>3Fnj`YQu1^F^AP>jnD9BGe{?U$A zRmd<#@3cl;+G2j^|}zjWQy@$ zQqf!6wj7M$t|KJ+z61K$z~)AEKNfzu?T{lh)drT`#(wbjs+byE=zp_N*tDV1%*coG zP0gr51sL#s1;EOR9W(-L`F+CEuqX@DJU?mB$Px<`T?(WelR-;@!C;Ub3!xO+znvK< zOsvw+1$Pe{ZD9M zjmN7OLIT}}I{8Ksk_N((9zID`5l`5ahMpGJb+|~JrA*SIj=(OWHA;&v>3|$u?{Sx5 zo?oaDoWY8ekA!A6&6f(J;VlyJ!u^6|ykZpBuXer&ERMNEf!*}ZjZ4(C zV|sc3Fnj!y61B{~bmXUvH9%ob@CwXnQRAW4>^o3O?l?N5vihi))UJxqgTJKh`v~#! z@T|VXEO2 z7F+m~Rb*el#bYP_I=R`vp(SgWOhP)FR$wToDYS7(F#1-%L0F`qQuuN5v)%c>A_fVf z8eze&yzzhbNe7Ebx44=!Uc*zjrtGlTr5c{?C09mKd>MJlCGEr!+9CaO`k&?&L}Ayl$!%GwJh)8V1Z+vj+@(=AG>4g$`AKF ziSp1+;vOVAvx(SGV7_*IOvvjWwsgoVD(+%BZWABT0qqZrJQ7U}?1z<=OzhS9J)n3M zMtIu7kL?N?hvzz|f4A)(&An}|9*8}9XJzQ&Nm)0Qr-avuFmEuKtUs_h7KX?!YT%Va zBHQwaE4B4}M8AnSH-Qf-lfxIUrl1|gsewcN{Xa4Pj4696xT9kU0C)pkuEOm< zwYs`)^P#0Br$Ze#d5^BvGAz2UT5*wS5Aj^>?Vm-EGJr8k+$@bF$Ct&nJHRvy)rufR zXsU7ObO&7RLv3bito(_{$HTS!D8PR(ju}(sZ5kZ9OVE-hx&C7SYn*c=W^wWn{m#NK zQ(1+#_U2pQ@+C{WRf(Tx@uyY#ei`I_|tE+4b_&WqmHnXpa!rbaJZaQ=3V|UaKAy zINN;2OluM91WPC(IaNYYjPBrZFiiSeob?^qw!e@c5GW^Ljd@x+%Glc!(WY6q3xu&> z%ez3jS9sj?JnW07K*tlDMHs(FAqb}6NjZ!itHe|OWhX@i-m2%a3=n=tR#c@|0LCA= zY8|lQt?r8`KAZ8fHgloSUr!U*=1l3DpA>%?+MH#*m3f~)kS%RD6Q)}@>ea6XR;ayU ze#Clc&~iqeT2FY~sM_QU7MY$$L*Gmo2oMlEa+{?)S6p)lx;>V7-$itsj z&4NHbBd{EWzdnU={ixW;5P4c`+k$ID@9yoDXB@_3_a>SA86HKjn!;=uSEt!QSMt-U z!57>LUg%3tAI>&N59yveM^ULgN72UTAHj{Ogv|~k@2WJCSXxe2eTlqv?j&4^+PLGL z<|&u|Aq@l0L`KZ9^~`!dp-wHLFh5g$B(AFm;me-f=N90zQ7{j0`7N?tnJ?O9Omb1y zq}(k=P}hd5LB(!nr(|2n{ZZlbHtZwtN{^b!%##2b5ut zW7=Q3e2UURRzh=eWPqm{W{nb{;rQ*;w`AI};8iyw<)xmjisL?Q#81CNQa@9_7Otk0son*+iv-%?l2;jV@5+H$uNf{{aXe?TADsa#xvV>A13z~n z3RR>50)o^|y_Up(o&2qhLf0pL!dFU|mVtfHj*H^^3U=q;$TD-q9#QHHLlqT?8%;FS zsl#TQ>GzJ0nIEvw(WvJjKN*qSBndb!W6u!-0Nuyjz667Jp@^t^+ZF?Ee0v>sX;J-r z6deeuf=faHrgGt~0DU zSx*1Svb*NS9wrpxJ^#t*`qSd(4dA8b5hNrkiUs$dOIzWXzB6V29GgdQwrRjk_6?1Y zQ%wgEIr%Ju%yj7P2JiM_vg6&tF8*t5{$F~Z+Lo30f6zE% Date: Wed, 22 Aug 2018 11:34:30 +0300 Subject: [PATCH 053/162] 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 054/162] 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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

      $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__u47L_kWqK{};7q(r(K?mF-L z-5lSKJBA)$pMCaz_Ig&#IoCR&&lRNcaVT&Q2n7C987U&&I-lS6P9wUig7+ zC!_9&KwSTc{ErgHe4P>wVmdvQe~kGXo9repDiy{j;eQT2R&x?}b~3YdK;(SymVrZf zPH;%d*wN6z+|J3|)&@a>O@AAX;~orQe~vmB>myI4b27I! zMsObyV8c7u$ah}anmD=YI~XIh?XHlgLSTm`KC&(kDrt*wo1oDhfI@%3;F19_UVxs#PK;_K!B69Pep zcq%2X?DlbE+Ea@}bw+eM>aBzfqPYcEMK*%Gv?VwwpRP8eG+yIJm0G%!W}ZuFnP|1< z8J5nsgOSI$6kZn98l4*G>D6Jy?J92$)4#K7-wHYNyLAH(Bj&*^6jU;-uYa}(TogF( zOkv-;sMCF@`!KQlBR^+H_mP%KFF7$StuH|!p#;_{4>Ka{uHN47nyEW1#BwiRzI^0;>eN_#ur_Mg^7f{`F|$gZn3L0w zajq=I)X4hFg966Y{h)l!a)~d$ur95qt4c?YI0;)?TCgJpd3kT4prBlQVub~B+`4tk z>tyM}_R-PS3xO!nOFo5(|o?%%Y;SAK0{;E-%jLKXi@nK8y+{TRJ(!xoRMC%6t>#l#RvNlALv)~ppf8k(95Lpd+w+pn!=Xji+W7Z(p? zY)fL%qYmd5)V&qGSXCqpl|uN@O9tspmRYOSxY?HvSXx*#y}SGDxrWADRLtvo=f^vC zuCCG&64zv(Ju7nCG2r6nE=>-4Rem`2dTq2|p>id~&{r{;2mcnEmY*D>A+L3v`J=mc z(Z!yXY(`QGvU}{CA;c6EBI$a-;tcohVIl0!4y}Lw{HZtkT{|Q!ETEv^A!6=eR99L~ z4(~|>1-hoDrqIq$5|-NTZaEf>A75Xd5MW_7WXUJfk%poC7%~_w(6xQn_Vz7Ko<=E- zy1F_-!=k+_p0#;Hf@4_30c*6!8||v6%`ON6YaDq`~cR_b%x zti5`}k5CcPkyMRSm5%beoxGExd)=I5B3^ud*Vc-RyGRd(DN}DRY}udguO80@5Fmd1 zP;**3V+fp@rSUztXVEOfgNrwT5#*|}>Q0s^k;^~YboQNzKRxxRIayBTbK9o7PQ~X( zbo+@|_8|S8J81a$_|!JGF-hhwE{uFCJ%m>qkEl_@-B_Pdu|9&X9 zC=WNc{#1p%ztc&dfq?V-7>%lJKG8I#vCjMK z`OBBh*9Z|{p|p$)w56pb#x?23kHyoU&(U5TW6pT($&<1#{Qe!CoZNM&sjhyXkCc{{ z)@r=?&C+VaYt*lKd1!6+YPBBRH*g*&%NJ>u+q|i*6;@JGnp<9O9dO_4;oa$%B)~qc zJh`}c1IKEr;+K`qV+JBGFRwzM3lBT0;GrR9ux0qCN%azwB14^eA7PW8q?TRSWj^ps z2s50FK*Hty)xmy?(gb18vZr+Nva)~e>6V6vhV+&?^s$7bgM5?fYQ8xbz3p96Qs=Jk-=X_jRZiHtUOVW51g+j< z3^7<+wMR6}GGG`|EYY)d&UghC71HA3Vs?w6du6F5rhUbIlLqW$gp`zBBZ3Z#Sbrfo zK`N}-A9!}WS-qvkDhz>n_wLIhWu;@ek4{cb5;%CVrUTV`e6q+Sa7xG{IZn z*g*NQU*df{ADoB%Zh=p$#;xeti97uH;^oW11JqT-tS`=wq2(0!WpeOw^z`&}7O~x) z$%nQ3#2lQQf?D;ZVYeRQqzEl1znK*D)#irXINu*s^j}_tnsA_T>Ss-)6~6=8V7B6|eR`Yes+%Jt zBkL#>3rX4bBnL6KrMLfli89##^J`t}NBL!Y%x(1&D_8)S>}*kZ%yRU5k;!}TgIJAR z{#N%58MyA+8e?E|Z((tVq|eWGpPDdP^AN}*8p$;6(qI*u0`ua`h1i(eUPYg4mnRW$TI z_FS_p)v%haqt406L1^G$;Jj(F^6`8IG5JG-6*4&@;z@vfG7mP6xV8DG(ZltLQruau zJ$&SrQE>Sa4&0Z`B)+d<)w zXE|IIwPVR#Sf_DqWo2YMw|-A3L4#1{{J$_(?Myc_X;_h7<26130f?Qs>a99Sdwcuf z$p{K=9NW4R#&_@D$&Hj36^R49Di01%;t*opE2G z#-kRvQC3!V@7_H&Dg`E*i+w{sxa(Msi*RKt~zDO4tbr27Y zj!Hg=V_;&+9t|G74VLvSlu2C$+_BS2Y1`1(M-UnsnjqxP@zdauLaIoF=h5aoprZga zme$@+g7%B;L{oL%$<~&prooWq7vK^2ypGui1_xiLs01x88p#2O0zg;cv`WkwC46nMAO)$CtmV~vDUOSJ~ z)Ya!94$_;)$+0l7cZ}CML75p3d?!Q>d~xk-;+5^zfoOZY9wj`d)XgtYS&y{o*{S0W~Qd2 zEDohcYrUvch?dl$eu-tPDMXRMOpUvDX|?#5@87ROfp^LTc+it&GbOaNs34~Vbau*?c{Tc@ zN6TgcT$GZR#~;a4H_TzdGdtRxmV}c?S=9V!eb0%mAZy$I9m=`vRY{#FHpa!l#YOMx zO%;ubjwVF-X|c5dX*j)Y3G2NJ>qTxjBzw6ewymkkX8$#azsV_`++hRQqzab}3L#-( zA`%kR9Oa4Ci`-!gaA-OfmOM{PJ$*_ZtA@q^O#46m^yfg;q}9~al2;@%l~DZV)bKD+ zMNa?RM#IExo}8?Hc{a4_ghfEmCQa*&hEOZBBA=R?BBY_Y9wRfnssw*DO^Cdn_q=K9kmt!M7UzI&IZl8f?VO7F{;FDQtanHf}`XrJ?) zHlzb0(h3U+pM79!0ao-jk<&CuTbCgwEiVsG;8P^4AOyRGrDgRG-5lk&U%%dy$y9=X zV&LN=13vW$C!=+xtQ-#f{v}P@a(=ScXiw!I5CE?_?n^i2QiRBXMOnC>LGppch<*8` zH~j4tm>{@O?~j8Bi@jA~G-lXie{%x^24vQqs&*wnY_Ddg{*K_CX`r;NdF_36SajgC zmpnUH;CqqVad_TS>r4WV(h^S2*=Xs8D|Ed$b&hcFbvg1EDtXX&b z8y8R^R{X{3XuXXqCD6fJI&LU!QM9IAY&ta|$T}tVEQ0giJ(+0RQjG|>Ntsr@N{M3( z+>zUIL~pvv87|1Ua?@{4NUP3E-Ok2y@MkCq5o~0POyJL-Qe$Id$aHAu=(wgN0DBSL zwRDe_mD^KDXklx5s)+mw!=yU_C0}JSIrtfrZ1s#p*XAJn^()CByvA5Xk&eq00p|zc z0RB)!(m#K`M#*dQ)3Tt}L_`22h^FD;xM3AQcLM_hbBl|C){|w8Jw5nv zLtsBLii&Me7MLrr?VcDq?DSnuwe{^xZq+?nF+^YS%5&kE2slT8O4SLL#EZ-VL!O z0OF7}0B~VPwjGz-t&crYxjkx83I&;vDp?~xsJdDZ@EH{TNE%^T`R2gr>*^UMr#o%5 z%`GkHVqF0|?(XjEC9zD3#T07=J_pQJpyc#80dR~?N_u;I?1s!oP<=#1L}2HU8W7Nm z>|IWmb+wVeznh!a5nsQ3^Os0R^b^l{dwH=tEXv%AlZC1QY&xf_Z8`-|1vU;jg5CGh z>wMF-er@PbDd)!K<|eW@Le+){IP0z`E47&xc>n%A0s%omA16Ei=MPq>lmX9lYwMHP zJ!E+e`-J)I8{A2a#pcLW3DO|=u^kmA@RX0DzBp4ll%+sxMW;1G#*d6t9Tv!+A=TQ241 z#<%FeZ^S{KD}K4%OrTch#Sh@Tit60T%Bnj>72&@Jt~HeDbf%%CM7-}I%&3@Rb?D~c z;DGpXBMXWZ+H9_U&oHMLVnPE+jWo-wh=jQIe6Nmt zP0G2yo7+(VOT=f>B+?rIS*9uF%>DffbU*?P9o_l(`WkppOhN)y zALIY6bb^5k_Qhk zE5JrEfTSQxjIEt*K7cTTtPobi@GdqsU{uEwf1xc(8h|LkYC=N7{>)LYO;yqJZB&&4 zoe0R!zioZbD3JtgeYT#~wq^(8I*m{W;EK6%)6|VED`E+mYA`&@QOc_4RxPHqv^0xO z4cV=SIz~Mv*x1-^ko9-!ug>b-E>BiiOV6(73|sK=xmK{QI zUs&!*K88qStt)tK1i8ZvWYV1p%YuWh1}uOUEM1?u2S<)6CIW&AoB`@r`u@6M_1_?e z_lT)1)@sm|9H}_g3Bi{}TMXiFi6HF$Z>YkINO1dX98&*h`6a^7HCWz|xt~MhN!O{Z z`Wa^x@$THo<=NKRMU_>p73Zm4KZb-1@AK6A^b)9reLoa2t?2^y-=Vm1(*I<@c%lF9 z^uH>}AmT#p99!(9Y7>W=j(~(CAt{L-%U#~4$1awsC<(OwFj3T%*@Qq z@bu}!7S(Z2T+5dr%*1ntC9(&Lp8n;JY=)xc@t%!7-Y7=z0cluFd^|?P6IA$@w#4v3 zHWR@7=g=bTBE%2tP0)tOrZQL*pfg6$ydPzxUghB$qAI)g?7B! z^&tZT!&f_bj0_R;W$j`k?6+ZIKx@?GUqVeH&W2Q}k^jWWiHkXu@$Oyh0i^Kt$Pj}s zQqs)qp3mtjlQ{Or`ULmtC<{Ciez1@r;0R;C_+_b`}p055f=9K^Y4ZQ}D1(ZEYh}9{{$1GMbqGFt)?)_fKq~>FrAneEj?S$7Oo(w-f z|MPn{;9q-JS3sj40s+-W|73S5FD~SvTA6F@4nPesuKGs*7#4*7pKm!SU`Uz4YTAnHa7R}-(T%8XZXo*dM9C5{5`=p z1ae`emZJ<@T<^8_8ygz|)q>^@dAlKkl6UO1^@0iTSD;QoFqAt0u=eN2_MnG#7}a}u z03V2!xr6YzZ+v!k_5~1JL_`FcpbHCRYe>ydE>J7A09m4iO8EmjG%_`9ZfnB?&;v~m z=s=V$t}UkwE-I z-N=dxK7^RP{i8|7hYty0`BoQSq@x%Z88HBQfc%7tfX)yJY{ES@wjeFGE%t}NcL~E< z@|3MjO-JW>Kw#S5*%5bfDNA!wXcv12Xsf+l=8!TXJY34gh7FNcQ}YqMCOjOEG<>3Z z#trP<-rla~Ygsy>peqSUmxbV5LLvQbyrbQ z5wqva=VaU1x8yZ1o;I zkx5;f->NSFe2X_DP6-ap{Ng1Ys67Lz7;-)D2@P85?kAEM5CtqADVDSna>#rFkz93v zT*S+*AcHgGgUJzaP?ds=L0~S-t067Fb)II|)zzsEtmf|-T3b&uukMc=i5Pd@Ks1C9 z-S)U!d&zE=?2c^Fy>4P?;qhpFd{5o>OV> z2`s7zvN8|NeO*VM@9BHTuUR^~y3~D6CQ3E(TcH9xGHk_zbkl5fJ~*o5Y=!82Jt zJ~n3NGNltLb?uD=3Os$KR&OhlGZ2!tAKqs!&>we`C!_Z#Vt?r&4tXcIR2L)ju*-QHKhF`y4^cQsU?j=$B zmY0^bl3UmM*6KX`ie5%z_Qa<4(#m@4=FUZRaM^^!4%E!moFg$z{*aZYy z-V@UrZ7`6ww)P7(wUD&5G@dqcZW>%SkVYVPw=})MEpl2_8d2>ai0nB^tg5aCx>b_I zF6!s9w&N3VCUxK;3|O8rcz>+Ou$ITBAU2jnFvzxk^uFy41cKZMISX(xvM#XPD$31c z+DmnZk#XQ<6D+C?V;D=uI)ZZ|*{nvFBMt8zksel2i1_Xq?U3P~#Z55JN~$f@Uiw+HWz%D zapKw$&}7iK4`L1|C6WpX3Q+?@p;BWt?vB}*mjCj8NX}4nk+TQCjOMxMdCBphC<3C2 z{`j$*Q2sp@XA*%*A)3frpRyA;iD-+nOo{A^%Vzp3WRtv~ zII%v#ZidX#qcHOcLWps3rpPdOJhVBY+}8G;jRebmVPR_MoZP%Y^?^m*9||3`vLp&d zOJ?s}3994{uTxlgYoqAJPB>BpL#fTvEWb`qPw&5$CJcP9#H7c-agW$Rv_vK~MPVU{RbQRHesl%RtQgY)K^M{SC{Q~t085iM<0S{hxf6CmKZ%}qA4-G?kJ zc+hdNB0P^0ImH4B+yV@vZN%KlO3KSi=x}oyH&L$ju*jeV=Y3pUQAhQw2RA|bY|DCq zi-#xm>Q$T`gWW=CGp+j~QRAUSDTS{0!A(#CJZsC6CE>i2xVqIt9<>du}?PN|VfpHsH@rmE+>T0O- z+6X--XYBCtzqA`l=G^>zBjeyQQQ&#`$j2e-M&s%R<^sBU#|TkYcwDSDz?3SkzSJ( zWGTkKY;0^MYtS%n?C8MusHGVm9!B^L3@CvzA5QkD=?*|3Q)JV$zEp!1%mmU0h&p<3 zkVi3}33uhFv9EMOeVOt4=-Rn)z=NHYl@+W-v_I|U?miFg z0fe8w|1~=*ri8z83^96VhZ}%;kjf$CogR!Te#d1xF#EvAWe0Db zOZo~ALqp>~@Ms14O||cOHzvzH?|#b4%F=n-HkC{~t-s0ra}(Jrxg8}mz-)fN1il;5 zhVm+R*gxjYkVWZuHpYmQZa)rYR6dBInQ}QZGIbrb&uPf z+lFv=;3S~jOn-iF?$4hP2#dm` z)ld>9B!ftxUWq4A13d^S$Z)^(v3lV+>BL2P9|6+?G3fe+5RxI`;YJJZVY7;N{7ys$ zVHV(5h%{_E8SI%)P#oBcR1NGqH#dh+RaFH+9*C9-C!j@R`G)+q$|XQS$Uy-Jl7gDu zw|c(IW#+alO3++En}39M zkJLaI>F^Y3=aTl3&5H)e$)8*jSW^Z#viv^Z+~%i zo=n-SE&wx0J$~%$=}AHT{p_?RQ5AYS0Ghx^oF?6Vkf5Qb0HBuW#*ILzc{gs}q=#uV zs!HJ}+_lkp4=b8B{qSm!n$ng*gN6%Ff4l<#W#aKu{CZ+Gd&*c)>UwhB|@@nwH z2XX6BdES?`RyTEsxThjL+8=)X`o(8A=hxw#Uh5tjp;-g*S#1jah~Ge;{SBe<+&ocg zS>(8)0HP*6FYoC3qaWN%#g(24PEJnAEB#afjST~qYbhB@Io&C~j^U$WQBkI6bCykT z-SxU}gR20((N@Y2TtS4mzCKk+a(Q_vBP+|{S+G0^VonPTEC54j+yw>6dVph>u1E$s zU5Rw&vv;7^fLMXlO`zUG+W-b1^|oeeL!zRj4GnL9*RBo%bby>k19~eCk_;3c0JW%} z6ihj;%-2lt9QQtyrCcck>N@lV#RFt3g-peEF;h!RTvu0D9?t<7s(gr)a@Y4Fmr-dz zq5w>Q3Dt&#NdY=SVr(B4pcDJ4&W265E*x}FkSa&A0rc!GIvFG z*Xup}F6(5_*8ogzx7xU>XzzU6tiF7DvK0reCFDY;%zQFNmH$4o#qM|EG0Os}lu|7JH(2Vm|7&y!_Bw_{v;fK0@yb+AzTYY5MeIC zLYfuR(Mjp(mZ9#!T!)5+m|E8)sB@r(33yLy!DN#|<;M-x9Ob0NUs@t?*X6!c0x>t; zKV~`x2*#tEj&0AiwXF}mrYr0vqjen}879ZZeoQLcY*Hn?eDw+)_*I(mJ!Q}YWA}!~ zYsy7T;7F(xgPJr$OyLDcM#wJMdQGZ`H-$$2$oi2XoA;&Qyf5eZP?FdD255*0T;@v2 zZI^U^22FGTl#o)rjyJgn4+!&(KdL`fo+xU5@YCqieGn%rzl;n!V6p%4EIm4Cq-<_R zBBk}dz9`m$oSa93w1xcAQ8bUiJz*>3Sv4^%E!PxudH++@N-IWsYBqYFbz|Z$oJmOU z5u;`ypRk`4#Bp(-h!v?#YY>R6Y>a>|gWCAdH0XsZ&zALc*TnDT$M&_$F9%3Z?^+x_u|AXwwhQ zGZjTnGCIz)LGeUNK$iZ!AT>%cJQA$8@D;w0kx{&V0|z>}*cKKWJ(yETK(C{s2tcb9 z7e{##PWEect+llk19+g-*~mmEa?4>H16ob-Y}#)@rD$qx&6B{{$8ZDx=jjgjvnejHkBf>L+%fc@QN23w+SsLV_z0K>aUrl^?|J z*+$CT;W+#Bqh)fE5A7`oOv^)h3+_WRS>M`Ucp4LGyV+ zlPBf#H1_U08%NPsrLNoabsTxqs*&F&1g+GcAKz>gsGoL^^S+Kaxho$cq&B`GwD^H* zUbUY2XW(P>gu<@~@|C}yc2e=GuRJk*EW^}%3Iea|LeKpc3z%!YesP1{Ca;SeW>P2 zB`YmPl*EfEqZ=*qK@Q(4CfkO{i&m>>FxO8M`P1&%aO@iJnLSHJdlOc+{|Y74sV|7{ zfmB&APR!2%7M}hKQH8Zfrp?Cft&t6N{lSIzF9m$~zDWPgNp?F(j5+22Dn*mq+8X`q zYyb4?pCDM}W#7|R_U5;WgsI2;{8{kq<3>@aML@^|OX zfvCmUj`GM%qrq?=qM@wz`M}S3@3N_z9ZYM5-W_Cof@<^&TEcHTZN)Vw0t>EQppK6b zsS(YEN0B^0AZ&$1iD~P2-hR5hz;$)lr*XdLB`m}gvRz%N;O05{3L(~H!CS$HXXyT; zlm;i%jO>ABauIVTj_%bL3 zu9<}UEe7@RNB!Y_2aYMk=R3lxUb~}fR#(XT`l@kZ#9%VN(D0^|F8*8i$cPIuw-AU^ z7Lm_=phQ*;`@f{jEKcu$lUMyJWGYVS4S_D@@FxEyyW5RxsrG;J*UOoCw1cq?pX`4v z6u7#N$&$Jj7?f3gyjU>$;+1E1vm>#4A@N?;WQl|zy)_i(ValX*Ual|T69$9Md_Gk) zlOMu~bkZand@{g}zcc}=8FtD+P_>&s2@2x7@>I|Y z8qr7UyzQ@)(Xg+uOLkf9e&wcu^KvmL@YnP7YScbyDddF$hi$-rj`JEx~c0v{rho%jPt#ab_If*%46LVl@=M1CC+zoplX` zl{cIEY20&Po*48_?fb8gJ}^d0qkqfdl{RNJ{qjxT-{^19CI%Q6TkO`eRGdo^rf#9K!LLL==C^%~QK>Mm2uuBJ#Fy|QOq3?4Rq+MKxu&7mVGBmhx^-Kx>8lND zt(pn6TfzFr&7U73|F=IhZ{k&VPT-xU$s8_MPvfe~A@kLR^@DT&419EZ?2#%&Z)3Pd z_x5|Nfw}r>(eo1l5lxXuYF^#k`MyzzYom|3!884MEmA}xCmUqvHm>*IzihepHaWaK zAg)5mKH0|Z$$8B>h7tX4ACnW~n~ZSB1Juui>TVnHb7NP#>6GAZo~48xvoG5(`WPCO z87P9>2Q@L?rLdczfkQicTm(xK1lMjn4|k=B{H2r|&zM-a<4?R=&y5lCSW?|@-u4nP zx2}f{j_bpxNdP~lw1S!){jqMzCZ+LmHIM6)ty>5Gp8wU1f)I(ddXZio01mW%4c#w- z{>zS8Zt?*i6EkTzjdRHpk6wAMnL0})3Eo};y@{G`+q2W~m}BdqJ~B}Yw9DfZW-rF^ z-^qCb6?{L?q&Dd-kKM-`4HGdaC7+ZeQ7dXr{IuZ^>xyXY>$={VV=$&c&=UBFwV7)| zgWyeAz)g-l_+C`7;)q1t{xfF3l7O4Afh_qeLU+w-yl*Mmm6<%-T&|n_ysLT4mo5<< zwDqNo(VUBG=H^G=w9LDWeQO`+`Y0k{_BOdn{g^lo2pOzu~ekn1ltTC`2&kl(} z(t9P-*=E-sdt!der8OAlu7FK%W-cfzgkw{Y9^93L_a~8rsd;$|F3e$CyER75l1fw|BG^k+A=)Lo1(%k|*V0^iuy5*9^Qqo@z{v8Tp$+?{32t3JZVW<=e&EGQR24PWxyYub92oI~qH<*FfG-cO#rj=%EWebbH|hBJ3@dH1}!zu!ju{Z#!a zOTw;bo~cAB#Gn7x4bARxJE&*^GE&XkJEN?k?a>=|-CQF{z}O}Pe1Gs+QCRMs<8VA2 zTF9Dbd)8O6^}bE_Bij@1#&pR>3x3=bmxhn{A0FwyKyi3TPDg~_44J@cJf>S9R!H}} za!KOsBE=F}qWBqLot-;kv>{Z{&%M+yh%z9pj#Z^D+)q%P`S) zXHg2XH|=FOPra-w>TzQ}@gGJyl@UJO^hGs5%lPiJOIa{Ej(OJu^{T(=Ey6S`p6`Ti zsOss5=tv|8f&0zxUF}OF^VHSZIfaOiBVJa8I_~L%6Oos*_sgsjB^aBubUj%PV+|y= z_}4fi0e@zK$G zm8ynS2JG+Wtn!0hs`zsR!)ejz7sY>75k76#|6ert-vg@A zC~VNKg1-I5CwvJRK{J@?z$o0RzoMD-y%I(=%*@a{tl5?jT?rvHxDMY1#Q1uC?)9^^ z)u1m$7~!|n^#M5{4c|_Y6JW5& zVp3E4lH9Z968+(udPk1mvFMj!q}Ip}MAbH!%0lm{f$z9wn}7gFXR!>&Wfc^jKob_G zFp-ni@R^sK58+DD@O3E9i%-}fv>36UUAdg_-r#sql>*7~<&&1N=aBM`+UK#hCROF&FJ_d}!fAMa9e`d0{UfvX5YCu4m!d&N7rfps(uqfaj5CUhJ0;$} zHP*?Gmoms{;GU}QEf;LdSwYX7$TNqs<=9+rV_9IW;E?|Ca+d~iZf_p47uYal;W!Q? zZ`2(qB8LJ)`!Y%`yIK~IE)@qAGg{-+LqQXD=?|}R#e%NrrqX8b7Kq6w{i}YIX3qOp zdMEM!QTU`7xE+j{b(^ZrO>Z<+JY0+{TkEY>dH!2tmp$xIix_>c)y`&SqQWXe2DYY4 zL@S*38HV1L(bqf?@M!f4&(`TpF|(P5zke#(GO-*j@G@{-LKC;Sve{**7a@g?>D&u`@-}gxI&MM!ZbWbmT zDe{`*Y5m9rV(z9}v$WB7svFWsW{q>URuNv^kGr_P-Mn5|Gn?_bg0gP(HIKl4tMnM5 zpyIZR0l#C#(kXIxjeF>9tl9w>dFt9P_H`w?S&Qp4l62SxVlRrms{++ejJ%zRc03VhVDfj0X zS|)eLpc+6njAs%V7wgX%bNlF+{!Wo6SaK?frs{VMbLnpzL*1?;|0m}AU0e*#?kue@@ zDu2GZ%oq0B#RyIuuNj89>~Bnu&iP|to2R)kLY7kNl(pQ5DP9y2ix>T_*0bqi)XU& zQfXOb`a`OeKZ3=!9Zx^QV;PM>gO_lCOwCZe(`Op++x7D)G7_69zT<1nrVt-SvN~i`2A+3D(u9SNHM3{z*8au!(bY!L*DZ5 zXt4|}`6lCWL@%vD+N1nLI17gUqc2HXw`QjPeC)(2W~sD(`;G9JXngZnC$(f^Gd63r zI>Z-_*&e5%(foAVmIx_$%oxG8@f;CS)s+)Weni{?r%3rB-y+e6Mm#R ztsU5H)ZFiPwXmWqLVWEM+@L!hO3@TyLm1v9197t9IG_zABn7U`NsutcA4LxZPp_M> zq6(7yQ4&Qrdz1B~-u(7;#Xz|(%$msx>qQt;_b5#h(j8Ft4fi?Dh>r25Rp}|3d_@+NH)ufI!?@9rN2Bb)5kzw=HGDG zUQnd?kkE2q^l>BZ=ba%p>E_kE`+!eZ6_?*@@zV7t8v>ig@1c@+TmHcz=*sAa5<24u zj1`77u_Ayud_Zi)saC;g)Dl-(4u8jG@U_-Q^U0Wc`f61&{q_CRR8YZ&b+4p zM8svozF$1@GC?D8Gq$8nkFb`&q2Ps4hK9N!V9WUg6+wiyL{`}8QKWFtjB}B^nYGt_ zpYDr}^@+jgEb;IJVeMPT-^G9<6JZp5#DwhEA>6lZMmm8W_ljVrHW5HVfLk)7G1@?7 z=lcZPOb}KQqIf8NG51tQENd);;$Hw$4}<3COS7| zU|%MwY{_Ac2K^htlV0hl?+HILI{VGnG1dB;r^;#jLBB9+{hf)6m@-E&l%+E#v|uxAe-n+I$6 zWr<>Uy(%L_4QFxrU_yYcN;o_*&KcpS@`kWTyY+!NGvv802i6|4r9RRrc%w57hDQV4 zOa9s*=*ov!h7sea7A;_@!x?Nl7(y0&Zt>#UkL`$*ZlLpW;Pk%(vVKY#szy94{FgzJ z^2iLv^6BHl%4GGy`7-pBm=q@R!C%?a$^$s!DGLAadBwvBr+PW@>g z+hdV2#bI%+taqb0Uc^#Nq>YZ;E1Kw*O@J4jqoLpCRQ>%%bmqioNY%e`m$VcsmhA-L zKV6Juzv~f7%$VJ=wVvQ^_09S^eQi00Llg7q5yw2zbyC>VudkwULCGvgB5#rwe$PVFp^_-QEQ#a40HU#8-YNuaQul@V=#`?jY4#*}QTGJs^f zkEQr=7l@OAn)Yki0ye8CFDyT}tTS6Rcx4}duK(aj7Ik^L)x*o_!^M>ky3)?CVT$c7+wH-XyCI%itW7cQs?fc%Sucg1@7%MSUOj@7Do1^WFJ-Wj$0{33JZ9kZD3?9|LhfFZ0{sbc|J8|yokSTNv$TZ_t zXb%@|H*F`RRMnHf?FVh!1K5e_26rogTPmwb4-ovc8@ug3dP+x+aOU=%Q-=y4mso&o z{uDq}IZ2KXMkNkxwH++1TpS8`kl{D1!6+Ymu;m`+goF#T?56HohQV>TwuyTP+SMEb zCXsXYzcnr}Uj6kF4&aOJ0fdEk#@tw=alEemnJVXNH0`yvbpunfcRGvuYK}_Jqa|~; zln}gLq-5onXEq&4tkPd>r5gokRs{X$WUJ%bC5lV8HJ$O?OZNk%FI*75@La-5z%0T| zkqy|8{0yxDKeY}!*<&S%&Q6okbYc$lmuOaPH?)}S_$hlh2gdhkG5I4RS{@f7e9<}s z6vnQYYQm^(K=rj|JwfA249=j27c^f|+M0PI;38pIN?S>yvS}rqo{t?sp+PwBm`Kr{ z2DG1`eaBYibLBNWEp%LMTkL3KvYRJK`cF;Ph0!nEo9SYg?vS zITg6nB})NDz^qQqobZhdPSQ0OBIQPSVx-#LN&YPRxV>9EilaI05eL?gs2~EI!1ASe zKRR}V11{7IRhg2h5_~^sj5h6b3(U3)!FESBWj@MKobH5i%!$Tsbr+i}a5tA7XbuP-`(K2IcSn2*Blj*34Paqal#{pEfYJ|K!QL687@g7M|Rve%e4ugPy|{Hmi(M_mQ^=Z);?Y<3XFU*-7d4qq9BydTFHhMgx+4%R3yb;I zTfic(Q~?Tf?onXzk|vW#`ThS9LrEy=vpN;gq+YecnBCD*j&GWb6w2biCUR1LBdU5h zoI(`ALA}&x^?r|zt|j{Ey$U=9&!IP$%JZFzP7)nNqHG>}T}kR~{wRbt zEYoCS6?|xz^^nQL?!ii!S_O;9O}hskFK+ z?(|!DST(qPGJi!BZg!t-Xd3&hue@15`kQ@%TQ}{jtnYipjY#oin>Z7zFp0ZlCRSs! zY&tMxY<1}oTxIJ8<$gH766?*GN>X6J2ei1*W<4^wxOULcHo)k zF@W)g!Pf^SxdY)EA+Xgc;P|9O_tuxPjVD*u}T^96k{%eCk)Z>_w^Z}!Nsi=}# zIMt#uu$e9#FbA+?xJ+7NQfTcy9NTs2 z1v4>B{?nHy`E#*XZa$;oXDzqByaD+OKB)E5r&!qf7a&qsxj=`}T{2PXXofMfQ~%z) zToo88`0eejJZ`(TwNWk*25^PN*QipUv%TsbdlWWAW|Cw5GcQQ>d_n)HuClOyp550s z#4sdf8X=H{ZS$yPP>VsVQM16 zX>#6^N%GqpgMxF?>1XM@AJkO+WdWIh^vwN`z;5DqEQ}@ zL|KmD1heSi+4zg!Piw?|3*X*43h%4BkNT(rmNj|N6@5NZY4s1GGT9rg6WYYo$yYS9 zly5Qrgupo|u5n?O1B_i4t>$zKZtv)nq5>)oPX|6S< zh1e~YUYp8kwye`-&O4PbqFGgX9(9Ca46=LTE-S^r`pB$Nq+I9Y8pvFLuHu8&gcXzI z;BDO5qY>7!kIlsrRgxHviJSetSD5qcK3l9DLnKJfPnhg-Y1c})neA@;>^P^KS%Dg~I!%l?Tqo)YPsw-}a9-I}9YSEVICZ`16PPWFO&G+$z z(r1Mp=kY10FZjEw>RyK&g$yQke;wj! z9*%uk;I~z#7jSAA7i;x{4$X|k;X{Agrm%)DRch>VkG&4%>Uew;`uL-f*%?w&Y~$9) z*_UY=*Ec{RCpD1D7H_HBhDVZmirX$kzp;8Q|LTSI4dU?!JJ$%pVfK$>ZN9E!^sVB2 z+2~5y4NbpE(z;U!uf0SlEsRdSgUJY%;CdFln07lfyOsSNy^?Eq=v0&Yr$5ICUhYN| zW0vFdE9VN>(-?R~;*+%n!8@Kb$6;A+M?(S*eI}~K^u{wrV0|W(&jvK*fyF6pk#7#* zm>RrU)3%G&WmI~U@gy}!?{12O*mdXyki%q_|AJyw)g{s0oG=RMchB}kKR7xz_U)TU zPq-ENZWZK$YqvIpkIc|DTxKPFGI7&5ve6!!ur6VDalZD`n66cd^mS&c-q~c9k))Yj zHEkE>rN!r03aikHg5{jwJ>=I=+coW(R#SlSj81do{?mi9YsqG z>r+}?&t*DSbsb_dQ)yB2*U(MH9AHyHqqQ|Wztt9^QRkP($s5@y^V~{NcG>)4*L6aT zHjD_AcvG8LQA;ge)mQkMs+7GxoC1w9Dc&^e=2=%^_JLlEI=G4v7qQz@tz)cpEu}!hG)yy*h zd<8q5s+!YhF;jLMbxwC`wm8t&T>ym?70o;E^=rXWEg@r!{QT!!b7zd%WsSKwfq`}mTH>XGpG zq1f(>+KtrC=GLQO{<`s|>qE5e&NA=KY&N89zaMqX=*`_YpT>SEvV5EVp*=x7(OZuS z@ufhP+Bf1A%;23tHVUp$uM)1Vh+-Y*N&i!C7`)uin;VNrK6LouBJ^-;N?k5#@>z^jdokt}?M=2fKpcu4Y7jIe##t^9F6t)*?N0&hPnB zcRZ0)WNSrY7KS*uj!oQn{}~#eFvGt!*W_aqP1qWWDst^;<)%-78XzIcI2!{JO4&Gu zgd)OnszTr!OAjtND7-LWMnJ}j-nm5*=FBesJwcP2x8V+XE`JnbL-pFP^F{X86mfc% zXa(YBMOw0H@q6`CoGB(Pa5F{xA;^FBIr|qOWDFSn>u6Qe(X2XO1*$lq$%T#`)=o(g zT-{p##@GIk7)CCcXJZ`sn(& zmhYf*M#DoN*aG{W;P5)`%hSQpRa*B~jWQXpl$2tSO9l@z&&u@GDoS(cW%U)B;-r3Z zJbic3>%SOJ>9_jG;>t>2hl}4z?}+|SpdM<;qiMdX9)t&Jrm@_)eMbHduRsa+w(P$D z&&DfBd(x@}|LG1MK5x@yU;7VVah1zr8?E)9j^uxLVG{XCWx|}NaulNt+M$Z{8jj@o zNTd@Hk|^v6eqB9b7r)BscRKvOG6w!$EtWBEHL&81kXFp0=!&L!zuvVsTq-A@-s%>* z{*qx}okozqSXYZA2=5B6I2|$YOi-_T&LK@TzgB=R1as^$Hcq;+*h$?^5k}>;9j#>G z=I_^1=}eB7Rz~PZLN2YdA}V|r`CBs+I2WY9W)%?v?|%^T*0TT?mQ@NxybDF2i2Qs7 zLl5ZINJtioo|GDPIO+QT%I5thw<)!J>E5#Abk40!QyCWj`uHhpvOU`3P=Vonq$l{=vdQ4=gDDwE zV8LDSIQt|6)JIkucU?XxM<%_q4Wb$T%RH#qs=ek~luo|-ij!3JM;DnoZ8j!W$gx}z05Zy zg_xw8&{z`UUZ}k{?cM4;`Z@4KOe)Ixv6Vo2VyFfSFlPD+5MrU7Y7?{;fy`05))nDo zmc=o_#eF`{!IoOelQ)@$1$%5@${N39ybYr4qo);XUe^|AeqtuV9|uxQc+x|r!b2`= zn>(jPo}P&MB-{3?jD?7uPs=Y5O)qP&d?klc1QVMj-#mWGH!M=_aQzar4nv<=zd zf&?`B)_FOz{=l9&$9d<|J2BxQh{;kj-Td;2_jp$JJj=v~G*0F+df1rz@*yKiEFWOn z8YT@NH58&OB9O)E0-F2?x)IK=ejSfu=tgeEttQ;|e=DLF&BIE$8F75G6#ehm|Y@tlAPI;|Bxu`y*Z!wQCa~k`bYw_`kV)BaO&>gS8#CR-6cFbeI&6 z7gbhaf7rGeK{_5!ZZo}~NoVvh+q+D_@>xSFWa5k~*M6A)ylcGQQm|s*3Soktv@&nk zg$zE!`IhvC`l1GZkW7D{TpR~(AC%wO5k}=WEgk`i0C$Sh&m|zDQX(2qYB98H$1HqF zs(R;6#8Twkeyq@q3^Rs+YZ7nCz&6Ko5>TmopNRPk#^Y;w>(3~`DE$~R{RE(A>5wJ< z$75-h>QwF2h}pFOCGymhT62y~w0`#SyNv_J@9($Hc=;LCdTKj9Ht^$z9&fDU4{qL0 zQ8s2s&{+QTg^Bia_{8^LkM5gEqViu(@^D}ulxWQs+*y0**ukJwoevT-qggfO*bBY- zCK{L{&*-N3LglK6?#<9lNe{ z@{HFS0EJGPG^`J^t*1&E@rC6EDTE15h9rh)GCN-~!`r5ABumqCq5DI3ApX;ag4#HZ zYQsPzwM&PJ*rL7YyhF!HpK0wZf){rpy*ExW0SX%Ir$AjB25wV=7ncI`Y24-ej!QJv zg|EbO=W$0TRCcBaH6WGh&4Qm6Yt7R6PcQbqh>F#?xX%MpRn?H&rA923GbSME2P`V? z3|PpRO%x4QLzmYtidlZNhYj-%J`TKQ=_(9U@T+hp3~#!=YxP!*T=y2&6(op9g5TXw z)h`U4enRAdr&NsPcC`3!zwD=l%HOq_AYUUt5*JkyRi#tNQj7N(c#5HEkBb?CpL_<7 zYa{UQKdYDRk5?A&Q36skJ#iY3ti&jO?bu-=MR@Af%U- ziY0xYaaMl5@UCA8Jj4QRHn1JIi&mMhGUWzo0c_duY>{7M@(GI4jBEZEb8aI^KaVUe z8Y}@wsClK7qDi5N;W~;Ius7m!dW2&~Kff1 z`3!EkTHOWe`@0Y!N64&PG?S*va`MF+j8OuyFs;FX$?$!PJKo)2XT$|9Du713+SZj? z4ei}7>lM~!5x&SO^ zSS5KYxvk96bdRfs_OykG^o>v4ivf%7hppk2r%dB}6?YzWIKHN&0c<__eWlbH%2g%` zCi;HS`N(UhLr$po#I>_4Q5Qh{N}0nmb(;6xHEG=8Vi~ZR-!3;O`ojY;+)A68Oiv=3 zrcW^RAW2B5sa4F+Fp$51rH6yEyfwfo0nC^1N#3TV?gRIPY{Q3%*Hyv$<1#Z?QS-@2 zo5>3ADcl#Ky%BQM0E;y;H0g6F93CXjTCbHpSdvQg`Q1UxU|ve-7tAb2tsufC<~GH1HBhPPFUEPB`~L&Ev8S(um5+@`yZn< zf5YJvL_FcNe1GO1eG6=EuhLW&@`lOq^+>Yw(@1BPlm|-F1hpM6a|19xGITO*Iu-S7 zNgSZ79Q4fCT#+(vnwPn~f}wxCf~U}rXl_WHhHpuEG{ACAxY>I6SG)4N?zara`+Mi^ zt6Fi|)e!aWFH`dQ{3^*weY9?h4^Vv|*!9xvgJMY#Dh1jKTX-tm61~QryM3$bUs8uH zL#{1}*3qVtQ88eG%DLHoPyVs4mD_y4B~t&M=?wL%mW=ZjUooW8b=M>@WLg7(y(2zk zrQOP|;%If`*6;sshszAnIbyy(_KtRq}Zfee=?~IN*U6ndh`Oq z^1}_E8@#(twU-;Rs*F9(zlqAzE(Th8Amj?!M**4`I|H8`)XeCdqmYjV-bWxrb@3cF zQ-=tpE$<+x!r>;cN&VncppGzvq}$r=OS9Q4Gd3ZAMXc)UulLh`n&|h`#c2 z*=FszVxT*_fYx4oGu&8ldSjchLS%N_(Rlxp%FNFGRB6JbSfWp1yOK-Q*w9CNJS70q zCbec=RX&wfY;ZG@U5PpLNiiia8TuslFy%sk;Bb^(nG)R!p<=zX$1m-agTzKmffmX8 z5C`tbnEPOZ#38AL@?Ek=H>}!Yyr-I{n|vIhQc8t_^-fMq6$A~{0f$X@aKgXT6MmVT{J5G^WJzV{9yJ}K|8TrXiplr-88SGvJI z<1g^a8-7r`DyHx7b#`ARKKD-uL5{b!$xqC(4h-XUK=kF8H^#tFGV75fe6c|ZLaJvq zCDcecyFthTxebEySgyE2#NKhEm=DUt(R9!Uu9b|kG;<#K9z$|=nLw5t$l zzy|UAndKsL{C%Yz<^y26EyOL$)YZ}8aGfG{B=mf3Qpkb8jTnQi+9~ZZMr1r@jbva7 z^PIm-RtP8b{}T*Z)nGa}I~lMx)r0BbY|S2wZS0ZtV?jT$X;#tS6vy21F|B%64>c2z6-xob|l3T7X$wS&J37=yciI8A`JJ9zRB>j#|Ytg*fjO*Rgp4QtQ zryKK;A;RpcOPVK8!;mKT$aT9MnrU>BTp+In zzd)x~slWR>g9wQP~YHm|Itz4qV2 z9t>psw8;+P6=$=7PA%;A#8~zSYcFRF3NcD{*PL5$KFp$-;FC?NAU8IV9N%kziZ>_~EL zYri&zro%D9y1LUyl-1a&QHYG5k)ozzhqoPRd6!V|OMy8Z9Cukz!E22` zU*T7OGDJR=Rd@jCp{vj(}!xUgi!|2L`T+I4#ccsEj#=3*l?&$EEm+XXts4 zx3?Dnb7O{oZnsy-E}CmZhioPf%HHk$1oxv3dY%fY_sx>=MX@#H+5I)Fm|G5dJD2(vQXT8*r+#WC{`weIthki=@y%TM97HoqV zm)Z4HiH+;22BzVAnk+BqDM(RK<}?Ii#SK-jiz!`RyI=!Q@Ds~hj96${i74I35yFPp zxr}@nc*!T8XbVwFMhhWDO!=(Lo$BL4Q;38qso+-?-L!(We7~l8x(^DI8=R8~mb>bT zYn|DID-Zlq$Sz&${%ceK6Akblb3t9%KyAn&?u*N8Oq_NK&qneJj%!T1eBwvGZ=S~` zzC=6sI=qHy9P2~-8ZyldK0)p$+@{=#@YlGyDM_wa=)V0yH3-zh%qapI&`KlMLog z^VPRTbyTM5(<_zc<&6X=1_W_vhXuP0_HvX;ykV%fu!K%l`a|wbsInP@7C2 zYtzV`n=La~+wmqdCNmsGg@tdkLY!R^n+v&fq_51v5J9`#Sq>a~eyb3vH>l9vq^*6D zc^@x&?E0ai5kTB5;Wa*@af!S<`ZA4u>6?O!+f?Psk9-tMzN0SAEY-<~EKzQ{B`j+CYMqfEK%dcg~<5s49xnd-Vr87VnVR|6SM8DAx>1e%=1V|En?ai1Msx_7PJqg3@Eyq_SnJd1ZIh(Bt(9hvwNs zj`O)ObAGe#0}@4<=#AONDxQ5ER*~H}$_s#?UPWByD1#v^vmfXz5*7M4qh6 zk(P@J{W~#xUr&?BPX>xayBxsg`8vm;xslVH^h6)6RRMkC8MPWShAtbb-b8r=N~Lq( L092`I8}YvYQ)rLe 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 index 363bb4a32ab6fc98813bb495d9f9a68652798c46..b7c7e0926f516b3151a08868476e922df69a721d 100644 GIT binary patch literal 11871 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 literal 10183 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 literal 30641 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 From 60df1934fccbd7b14fd16dee7d454f63441adbb9 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Mon, 24 Sep 2018 16:08:47 -0700 Subject: [PATCH 076/162] update images and text --- ...defender-advanced-threat-protection-new.md | 32 ++++++++++-------- ...defender-advanced-threat-protection-new.md | 6 ++-- ...defender-advanced-threat-protection-new.md | 6 ++-- .../exposed-apis-create-app-nativeapp.md | 2 +- .../exposed-apis-create-app-webapp.md | 8 ++--- .../exposed-apis-full-sample-powershell.md | 7 +++- .../windows-defender-atp/exposed-apis-list.md | 5 --- ...defender-advanced-threat-protection-new.md | 5 +-- ...defender-advanced-threat-protection-new.md | 5 +-- ...defender-advanced-threat-protection-new.md | 5 +-- ...defender-advanced-threat-protection-new.md | 5 +-- ...defender-advanced-threat-protection-new.md | 6 +--- ...defender-advanced-threat-protection-new.md | 5 +-- ...defender-advanced-threat-protection-new.md | 6 ++-- ...defender-advanced-threat-protection-new.md | 5 +-- ...defender-advanced-threat-protection-new.md | 6 +--- ...defender-advanced-threat-protection-new.md | 5 +-- ...defender-advanced-threat-protection-new.md | 6 ++-- ...defender-advanced-threat-protection-new.md | 8 +++-- ...defender-advanced-threat-protection-new.md | 5 +-- ...defender-advanced-threat-protection-new.md | 7 ++-- ...defender-advanced-threat-protection-new.md | 5 +-- ...defender-advanced-threat-protection-new.md | 4 +-- ...defender-advanced-threat-protection-new.md | 7 ++-- ...defender-advanced-threat-protection-new.md | 6 ++-- ...defender-advanced-threat-protection-new.md | 8 +++-- ...defender-advanced-threat-protection-new.md | 4 +-- ...defender-advanced-threat-protection-new.md | 6 ++-- ...defender-advanced-threat-protection-new.md | 8 +++-- ...defender-advanced-threat-protection-new.md | 6 ++-- ...defender-advanced-threat-protection-new.md | 6 ++-- ...defender-advanced-threat-protection-new.md | 6 ++-- .../images/power-bi-query-results.png | Bin 55785 -> 60704 bytes ...defender-advanced-threat-protection-new.md | 7 ++-- ...defender-advanced-threat-protection-new.md | 6 ++-- ...defender-advanced-threat-protection-new.md | 6 ++-- ...defender-advanced-threat-protection-new.md | 5 +++ ...defender-advanced-threat-protection-new.md | 6 ++-- ...defender-advanced-threat-protection-new.md | 6 ++-- .../run-advanced-query-api.md | 15 ++++---- .../run-advanced-query-sample-ms-flow.md | 23 +++++++------ ...vanced-query-sample-power-bi-user-token.md | 8 ++++- .../run-advanced-query-sample-powershell.md | 20 +++++++---- .../run-advanced-query-sample-python.md | 10 ++++-- ...defender-advanced-threat-protection-new.md | 6 ++-- ...defender-advanced-threat-protection-new.md | 6 ++-- ...defender-advanced-threat-protection-new.md | 4 +-- ...defender-advanced-threat-protection-new.md | 5 ++- 48 files changed, 161 insertions(+), 183 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 2e9a1b2edf..b1cde1afaf 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 @@ -14,6 +14,8 @@ ms.date: 12/08/2017 --- # Alert resource type +**Applies to:** +- Windows Defender Advanced Threat Protection (Windows Defender ATP) [!include[Prereleaseinformation](prerelease.md)] @@ -22,36 +24,36 @@ 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](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](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 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). +[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](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 with the alert. +[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. -severity | String | severity of the alert. Allowed values are: 'Low', 'Medium' and 'High'. +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 +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'. +classification | String | 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. +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 6c1b1ccd6d..7e8d70c5cf 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 @@ -14,13 +14,11 @@ ms.date: 12/08/2017 --- # Collect investigation package API +**Applies to:** +- Windows Defender Advanced Threat Protection (Windows Defender ATP) [!include[Prereleaseinformation](prerelease.md)] -**Applies to:** - -- Windows Defender Advanced Threat Protection (Windows Defender ATP) - Collect investigation package from a machine. 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 f5d19d8b8c..e5e7d337a8 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 @@ -14,14 +14,14 @@ ms.date: 12/08/2017 --- # Create alert from event API - -[!include[Prereleaseinformation](prerelease.md)] - **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) +[!include[Prereleaseinformation](prerelease.md)] + + Enables using event data, as obtained from the [Advanced Hunting](run-advanced-query-api.md) for creating a new alert entity. ## Permissions 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 c1525aaa7b..28a6892fb8 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 @@ -25,7 +25,7 @@ ms.date: 09/03/2018 [!include[Prerelease information](prerelease.md)] -These pages describe how to create an application to get programmatical access to Windows Defender ATP on behalf of a user. +This page describe 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, 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 e0b16ad6af..0ae84e76b3 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 @@ -23,9 +23,9 @@ ms.date: 09/03/2018 [!include[Prerelease information](prerelease.md)] -This pages describes how to create an application to get programmatical access to Windows Defender ATP without a user. +This page 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 need programmatical access Windows Defender ATP on behalf of a user, see [Access Windows Defender ATP on behalf of a user](exposed-apis-create-app-nativeapp.md) If you are not sure which access you need, see [Use Windows Defender ATP APIs](exposed-apis-intro.md). @@ -102,9 +102,9 @@ This page explains how to create an app, get an access token to Windows Defender 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 **required** for 3rd party apps (for example, 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 **not required** if you create a service that you want to run in your tenant only (for example, 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/exposed-apis-full-sample-powershell.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-full-sample-powershell.md index 01f1b37243..ed69b07caf 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 @@ -10,10 +10,15 @@ ms.pagetype: security ms.author: macapara author: mjcaparas ms.localizationpriority: medium -ms.date: 30/07/2018 +ms.date: 09/24/2018 --- # Windows Defender ATP APIs using PowerShell +**Applies to:** +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + +[!include[Prerelease information](prerelease.md)] + Full scenario using multiple APIs from Windows Defender ATP. diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-list.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-list.md index 5b82fb439d..4afdfd5ac2 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-list.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-list.md @@ -16,11 +16,6 @@ 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) 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 d92068a830..dc9498c8f0 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 @@ -14,13 +14,10 @@ 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) +[!include[Prereleaseinformation](prerelease.md)] Retrieves an alert by its ID. 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 bf4cd3243e..6e7721ecde 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 @@ -14,13 +14,10 @@ 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) +[!include[Prereleaseinformation](prerelease.md)] Retrieves all domains related to a specific alert. 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 56d4524ea3..7fe0e0b9d5 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 @@ -14,13 +14,10 @@ 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) +[!include[Prereleaseinformation](prerelease.md)] Retrieves all files related to a specific alert. 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 4e60b78b74..29f7b7ed3e 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 @@ -14,13 +14,10 @@ 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) +[!include[Prereleaseinformation](prerelease.md)] Retrieves all IPs related to a specific alert. 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 9632c79913..279fbf2f70 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 @@ -14,14 +14,10 @@ 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) - +[!include[Prereleaseinformation](prerelease.md)] Retrieves machine that is related to a specific alert. 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 ea99a3b8d1..abdd6ee9d9 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 @@ -14,13 +14,10 @@ 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) +[!include[Prereleaseinformation](prerelease.md)] Retrieves the user associated to a specific alert. 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 15875f3291..a05d4dba9b 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 @@ -14,14 +14,12 @@ ms.date: 12/08/2017 --- # List alerts API - -[!include[Prereleaseinformation](prerelease.md)] - **Applies to:** - - Windows Defender Advanced Threat Protection (Windows Defender ATP) +[!include[Prereleaseinformation](prerelease.md)] + Retrieves top recent 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 b693400163..b8b7730bad 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 @@ -14,12 +14,13 @@ ms.date: 12/08/2017 --- # Get domain related alerts API +**Applies to:** +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + [!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 f9af7b8a81..053470d9a6 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 @@ -14,14 +14,10 @@ ms.date: 12/08/2017 --- # Get domain related machines API - -[!include[Prereleaseinformation](prerelease.md)] - **Applies to:** - - Windows Defender Advanced Threat Protection (Windows Defender ATP) - +[!include[Prereleaseinformation](prerelease.md)] Retrieves a collection of machines that have communicated to or from a given domain address. 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 8ad81fef65..1625a17a50 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 @@ -14,14 +14,11 @@ ms.date: 12/08/2017 --- # Get domain statistics API - -[!include[Prereleaseinformation](prerelease.md)] - **Applies to:** - - Windows Defender Advanced Threat Protection (Windows Defender ATP) +[!include[Prereleaseinformation](prerelease.md)] Retrieves the prevalence for the given domain. 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 2c7d7416cb..c817a1c653 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 @@ -14,13 +14,13 @@ ms.date: 12/08/2017 --- # Get file information API - -[!include[Prereleaseinformation](prerelease.md)] - **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) +[!include[Prereleaseinformation](prerelease.md)] + + 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 9a48a46092..3c3605bebb 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 @@ -14,14 +14,16 @@ ms.date: 12/08/2017 --- # Get file related alerts API - -[!include[Prereleaseinformation](prerelease.md)] - **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) +[!include[Prereleaseinformation](prerelease.md)] + + + + Retrieves a collection of alerts related to a given file hash. 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 da84931205..1a96bc4743 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 @@ -14,14 +14,11 @@ ms.date: 12/08/2017 --- # Get file related machines API - -[!include[Prereleaseinformation](prerelease.md)] - **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - +[!include[Prereleaseinformation](prerelease.md)] Retrieves a collection of machines related to a given file hash. 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 8146e74ee5..e8a8ede6fd 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 @@ -14,13 +14,14 @@ ms.date: 12/08/2017 --- # Get file statistics API - -[!include[Prereleaseinformation](prerelease.md)] - **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) +[!include[Prereleaseinformation](prerelease.md)] + + + Retrieves the prevalence for the given file. 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 130c22ad36..4d83cb3d73 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 @@ -14,14 +14,11 @@ ms.date: 12/08/2017 --- # Get IP related alerts API - -[!include[Prereleaseinformation](prerelease.md)] - **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - +[!include[Prereleaseinformation](prerelease.md)] Retrieves a collection of alerts related to a given IP address. 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 91b327d71b..ecdab586f3 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,11 +14,11 @@ ms.date: 12/08/2017 --- # Get IP related machines API +**Applies to:** +- Windows Defender Advanced Threat Protection (Windows Defender ATP) [!include[Prereleaseinformation](prerelease.md)] -**Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) Retrieves a collection of machines that communicated with or from a particular IP. 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 a33784bce5..990bd3f852 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 @@ -14,13 +14,14 @@ ms.date: 12/08/2017 --- # Get IP statistics API - -[!include[Prereleaseinformation](prerelease.md)] - **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) +[!include[Prereleaseinformation](prerelease.md)] + + + 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 ef0c177338..7a7fbac1dd 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 @@ -14,13 +14,13 @@ ms.date: 12/08/2017 --- # Get machine by ID API - -[!include[Prereleaseinformation](prerelease.md)] - **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) + +[!include[Prereleaseinformation](prerelease.md)] + 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 3811fc208f..55a04d003b 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 @@ -14,13 +14,15 @@ 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) + +[!include[Prereleaseinformation](prerelease.md)] + + + 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 1af227a95a..780354b0dd 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 @@ -14,12 +14,12 @@ ms.date: 12/08/2017 --- # Get machine related alerts API +**Applies to:** +- Windows Defender Advanced Threat Protection (Windows Defender ATP) [!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. 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 8a2fe385ab..0abd8e7cfc 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 @@ -14,13 +14,11 @@ ms.date: 12/08/2017 --- # Get machineAction API +**Applies to:** +- Windows Defender Advanced Threat Protection (Windows Defender ATP) [!include[Prereleaseinformation](prerelease.md)] -**Applies to:** - -- Windows Defender Advanced Threat Protection (Windows Defender ATP) - Get action performed on a machine. ## Permissions 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 7c13dee9ec..2eccd27c17 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 @@ -14,13 +14,15 @@ ms.date: 12/08/2017 --- # List machines API - -[!include[Prereleaseinformation](prerelease.md)] - **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) + +[!include[Prereleaseinformation](prerelease.md)] + + + Retrieves a collection of machines that have communicated with WDATP cloud on the last 30 days. ## 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 c854d33b50..b7b734a241 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 @@ -14,13 +14,11 @@ ms.date: 12/08/2017 --- # Get package SAS URI API +**Applies to:** +- Windows Defender Advanced Threat Protection (Windows Defender ATP) [!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](collect-investigation-package-windows-defender-advanced-threat-protection-new.md). ## 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 418ad94328..7bbc0c5ccb 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 @@ -14,13 +14,11 @@ ms.date: 12/08/2017 --- # Get user related alerts API +**Applies to:** +- Windows Defender Advanced Threat Protection (Windows Defender ATP) [!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 4039343929..203642ef2e 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 @@ -14,13 +14,11 @@ ms.date: 12/08/2017 --- # Get user related machines API +**Applies to:** +- Windows Defender Advanced Threat Protection (Windows Defender ATP) [!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/images/power-bi-query-results.png b/windows/security/threat-protection/windows-defender-atp/images/power-bi-query-results.png index 25392791c09314ab8e1e879385976ac309da213c..b94ee3a009eb4756a0890f73de2abe011eee8c4c 100644 GIT binary patch literal 60704 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≫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�+4gs#*hW6Qjb6JKpgoCSV=QcdA=x$0*LkS|I| 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

      8?2i+e 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 h`WvC`b-cz-ACW5Nu51}%N|Qhdt80d-S(6zj1MK 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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 055/162] 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 056/162] 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 057/162] 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 058/162] 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 059/162] 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 060/162] 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 zk-(EXYb4^a^}Q*~w7zXhudhdlA3k+S8dvnnvpS%Gmw3k)Rva-U*vEOj;!7)!PB|)} zv>iRX%4o?)N*?E%+Dus6JePJHYfze!b#F{*FR%RL3Danl>ffQy3xb<yd#ulxUr)Db9P~r&ts^p$Y z&t_=5AD&HYsjQ8;LkCZsB6(6FNXU)>#LMGaspzn6P~Fn-zz8R&k?$vZ)S$k{HU~3} zCqU1h1$ETyoeFsF<^B*@ssBih^cfI*a#uRhDSt|`%>s@tJTzGc@fyGU%)NNJAs_lp)Al;av35SSCWv4FiBg{| z{8Fl^*$hNna{TlSm#9!sGHbBKC%gVJDCD$Z7D!@INi>pjW9Wo@MPFCTMiv1Wurf|q zc8-^LUcSY@8$FelkI^JxXgfKUEIEf955fc?lMq;h*iKahPjSiND!`nCz#Zf-=?7nr zJYtfpdlrvb)FCXbr6|2dZ+=tm^lc*nPt0q|M?PKskUtu*G&9X{$>u8J$6^7C44T(z zZBQ|&(QDSMFySW>__6P2Ub#8q-TXIfRtop`$yqk6P=AwqKMY0qr!~lbiFRo@JV#P< z`5r_st?Mx^7%_yP6Nf-m3uWV8c-W`a%7~eOPcGpBt%n)c-5tB%i06ah3RnK)MO}0% zOyVeMjJyW29F@%XFWFo+Ri8h%>fb3NJS=d3?6EXv$ozDh4-s#Lh+Q7A5g0P+M4kPG z4+#2nsb9JlUp$@_C%!R!6OGR!%p@t#6}@&?+J1D^0sUbrruw7@crngBP(DBUZl@Vq zZ|!WnF_>t6Kbq3BQSB7IoYC0j_WgY$8oBs~S1V$SUPYz7XTevGd zne;-bont@$f1uz{pmBaBTg@>3KFrNF|t3Ahvti|G53s7vZ zGl`yMIbip6`6rM}Rc$oSONb2>ug#AxaYas_8A;87KGOXp;p-gY`zc_sXk@~2Mlg}% zN23uz{PXY(p3*wH^sH0%$$9I2X-_G{)E~pbS>plXgn*qGZN)X)v#ZtlYAxCsu|}=` z`W=PE*tsAXKZnXHonmIjF}G`6 zOqIsmUOxK7`xId6W+3~+zRtVSnfX(HW%!<-x>7B(z^9&6!2WUxYWy~{bw2XtD~cfQA~p5H2?L~{{-HCPYwEeCkJQ& zaQd>dL)Q@lGApPc^k0n={VB9BlLj|wzCSW$H^)AG(0jLGul3x`uScAt_JejTnE#QQ zzULYpyFP4sV^#5rM=bG5iuCX`-Brcp%shcS`{KNsTB}g?l^bpg#yK@L7HI~3jpBEO z0CF+qWAqbaI}2c9QPNcKZ?nBrS9O{GB%1bAyz6D58CUcSDmCZF7?qT}n2wouL^a{*c$ zs7%t8$mhrjt}yx!%PC~|#d)vU`~LEe87@nCQ1zIZ%lJ0g$0K!ZUg^8!d1kLWX+Pbt zD&IIe=fdBJNQ!k+gShE*taJ(TCgDW;~SP!54Xc>doAKDNE5(ye|Ap^ zWzgmd+z1hVhW5FT`hp0nRcS9ptR%BkYaMDBtmGRen?Vq&LhM%w|LzBkJl0vCaAhm! zozja`lL?gaJkpA|e>kj50#VJ13y>6^yPUR+Gk^+2PPisqp>=QTa^||4+;%Baflj~v z!gf%~4A z;lxMYk|y>z9|oDXQfL=4Ioc z0&V9ax(jL&9{nf~|NLVzbg80!RI=Ahw#0uTc&Wlczy?)Ud*}IVx<&h_Tl(SdKGGA+ zmel38WI1TOLEgH@a~F`Z60<<5aK0{S$W`V2q72D}nhP|i^UtF$J7^)C#7oWTjlaA; zCVAdU8yR;D(@@~G!Z@z;Wd_FoDrNc=fJ;)gt6GyI5X(vaQ`~MRmH%xW7z<9B79HwA z&yMBx3!5&KXAjAvR4t@rYS$jVH}LTBCx-sgb$z@9EYT=b`gUtn%IiSjkvUc%HPz6y zYEoR-@<{`x&Prlp2`i}eZ3VW+e>DxeWFR`S_vE&tNKCmPPhxe^>?SVzM;jPFaPtB^ zAc~+cJ^1L9fmqeg8&*&H*Z@Ya{vLAFI5(A@;ZxUnf!xwjvs2iev-Pq*4MYohwmzYA$tjx$kiqM~jPn({H$B z3*KF+^H((ATsGQKw&W>TdB!q&{L{~K)}xgN*=D18H@Fog3eKn+D^7TQF1K+O{QWa4 zdt58@=$7&A3ozzeu%-Uz^0<+uH7X{Vi~Oha%Eue!Z6!;Y1iZqqH*ChNwI&a<`s^JC z3h3K}hlc5r7QVY^#G5Qkz4~H!N7v3=ycTN?s?VDM28rbrRA>_}N@PuX`mD)S(aQ<5 z1t2}Gs~x>XIakLWTPL~OnVKFhidnu5AUBimH8#k46rcBvaB05FBz)=w>#A=b;_A)6 ziYCEM)b)zICTOFTOqrIm5o=bZ(~dAx2Z-J~{iV)rsT`^%Di3+I8vF>H7+{%h7=tt_ zv}@+FIm|4lvmdz!q)lf>CBg;KVtt6g;g?yMNXulsC1Vxr zuhb9f%@?A>$V15N-wkXpI}3=Ia+OU5s07-XL(>v(^O3=$<~&%d|C(T=p~7hrX?#02 z02hc1#OukeTslV1qAR3>|0ua|RxNsk0QcBYw!n#(`p#-c)DJP+?M` zj_b#IyhoZzUys%He;d?1KJot^^;{RU0VMGZ(^}@$td1QZ&$~1i=gIq|M^ zY$zrrtkgk_S=UPqG}o{&6Q#=r{|jN(|3{6!Uu9!PgJ4E7T}^XtA?NN`9dk6w3I z!PZzzZOzzu9OhzN2`@nc$5+YC_Rs zxV+x*=bd~YRi?`Smv~ANui&)kImA_8ccw7N8Z@l8FQxOByz+R9;J+y!4H?(aT2=OD zIL|cMvcn+vdhe6~ttybr{tqt97wSTu!;7t1=u^Lpb%}-Un+VYCdGKA^IdRN|jMF*r zHQSIsQyB84g4DApUEO`-XQqrkALinNYoTs1HgZhoSJJW&%nGRD0#{dvwm!OnkO{+- za=MN9`y^xF+b2Sh$O(J3mK`jKPj&y2x`<2GL};g7L+={njmapr%FwBIJHE;=vD-jZ z(nh|-&>r461}set$~~%|sM~m~E-+f4XWiXw%W?FhbMueMs#4;v>9?9X%C9)m*&zOI z%iVJO{DReiHUPbTpD;wcyTw$1O(oR3+~0W#!eo3hh!P4&9$K^@=s3`y}QkPNF(O^?h^ zZ(TOB%dNwvgXvn{1VP8z!)Z~}8$7(BFcqHz-c&*(svmEhec zWztBE1)_-Tqs zTu{#yX#&=X7$ziVMc^zow<@dW5|OjaH6}%041ZGFqP~qDkghk((V$Z%*wJo9RJaQSSD%k>|4sYW~W5&HMd*_8XyhBO`* z{O@Z%&55@LrWd|y=@Z2PEmQx7Q&k%_re(bU5NyLXJ@M?My7^WAx^N)kXzbbw!oVkeMXMyTOkuGYr5c$oJ{CY2w0t6j&>*6V zF4X^cQ{4>hdE)m?V0i7Y2yRrsTyB9m_)t&in$rLe=J(=vCjB38ex_t_SyuOjH}eQZ z*wmX#z$TP>5-;omyH`fKUeL-Fi5zL8Pt7hqbw4BEhzn>9DcGj|L-m!n#bd-pmfVrT zfgb2^?;plz08TQ?5p&m<;2~r_E%-8~BY|YK*%|0J3~Q4V+Jr>wRDOMWc3mVM;UBW9f;Y?QPnNOfj^ zSjD)|E=G3>yJ@2@vacDkr%YvSNT?FM)g2(AA;@anMaxLg*nPEtiLd>iZGDMsRZZ#c z%NL%~nn$`vy326b`)uEWWBTjb-XwFXH8Xu7ve;s)>({qW z4!0*Ke?7Zd*h*#DAJ~7~9)J|rbrc5MSl$rA7`b#u<$I2&-&jzO0JMC|Sz|=zF(%v! zAKKN`TX|Zm5OxwYJy%Xqz}*}B#c^(;ertLv z;qu-ht8O{e(7g|mR?nW7#ZZ<5Pp5{DylpG(%VU&JzUj)2n3nmQe&hqW-0(awq1c69 zP@q=fSaz_PcTaJlm%6z=z2q9yK~r{}TkeaM!qr$CD|dF0oyTmHJ2}Y!r=0<$BFTUE zwW}X}Ky<8OK}lV&j6vw9SVZPm0GC$yY&{T=Bfp}9O$XTO2w{aIiBpYJGH`e{Q9qg) zHq8xt#aqqJ%-4bVP44A#F|@=&iUHsGAgwqn|0qI?GQ)%%0}WV4MOjTs=z{HM0i8%`&`=Co2G?B_m3N$e#5MX zg+$!rC%>ET%RNzg9(hp;3EG43TtJTD!_{*RuY|a#u%)RMxq`zA1+>&;gf=uUt?#pM z@_3}1yd7Cd*PHl+k*|;<_TN^0%(B7)I9m{Q6oF3eh?Bj*RxqN*E*@(QLu`S zw1m{OtUNb-!v8%VrEWLJinz&=U-?3HwHma!?z~JREuKwsD!bNWSG}*O<~%Nvg=;d> zgk~}tuYlYYMc%1Wi2r_|0`% zf|g)CxKD50Xg)FzrKn6o)T>Vbz7px9)}$%1qu%!`T!g;T2?>57Pt#dn#lfm+ku50OTJ50=6j1PVYLp_F%Eq=QS)2xkw#?zgbyaIj5FpfULBvl;yGX>>-be+ z*fGRHO%oyDs5_OXJ&Eh1ub(waEIN<6V6M3Pk@2E(yv3y>>T#zLb6xI>nsFh)+p`4#N~p#>Aa{T**LdA3rw2J=gn z(Im=&-NUyWg|>tc+I^Q!G4ba#gQ5MdutfJA^J*nlT2S2g6p2w9<1U6lBbU zx>rg2-Q|ZeZ^BNa zLrw5h_d19AR>u2smTU#ZozAu_Nz$mu>RdwVfjl9UQkt|SQzEz!=HmZJ?Ka?jch=<` zQC5LJyny5E6t+sWrsaECs~yTiqm?fPjCJxHv2qVtjeP>2_5l55S~SD@^3C7_7?(qh zR$$f;JUF*r|A;caHMhtz&Cd^OlolV3zODEVYOuRZvlO%|3sxQ+{JW^Oci^6~d3(~C zqMnsaSRUP}bmaWd2wKsna-p}d>-VC-ELn${jIz$bGfFaGOp!L$FBwFs*6@3Z=d!7t zvJxm>4GsM_UwI~NVFmxmTlPm|-soY^^~sBuEZ?2@WV+8Q`yn=&3hnx=Q|hz-vFyMY zZ1##~p|0q7TQ$r%I{R7qAq&8Oh1HN8ReTLQade2D~LSOr256Dt~y_DtIzWiHT$1&$oiKQnfU`OmBUB;pU=x zRBFOX%d5FEdlECDzOyqnL;zS#v@ZZ>J%|m8n=(GFNgRzz}Me%`V*O~f! z+iZ{2(7d^2@{4?yyBd80x`p6>fStS{NqxgsUACE2*3=@@|6j||uP_a`ZttV%ylk4K zfMab&_Tlgw?*`GEFgLY((H*+%e#mmZrf-jA_L_5wPWmQgDzz<1i)bwj+;8|mElu+Y z9!^N;*0X|kwk3`&eOSM((w-l+0N)n#aIf1FRGlYMW%pnPG8^g29d4MR4w}HPy~$&t z^~jtW_1NqfF;Lxk#9U8jE7Pq^W2TnMONrxBmGre%QUSh9RU1yq<4`Dz9%?A#>Kk6O zjQ+(L>!2|b8bW1Ga&AAn1T%No`Nkik8fOY!#%1-P^FbYYJ>wGDITo^FQ*)(R5p~v@ ze#RcxwqqTrtx(loAIW3Ou!lWw534hBP$S-Xj4tF5JyU>vyeNN;sHTyd{qJZU-S=Hg z#nqpXkoutyV;N`pe81I|twGIHw|*{VWv;1vye&VyYhH3$R|Yhj_AR}s+A7`GnAgUv zsO?$p1ov+E@4vH>uH7eX?Z=bM?qh7R6wAnj?lI3Midekgu)8|TLZA2x>@xgN4mM>R z(TUpA%(5qOsz2Q0m=6!^7V-QKZt&;6Sur>_O17vMk*1CI-!79v{DclY{!)if?}0Q_ z458dg)ZM%6yZD`o_scIgNTr~SeVFf9l4lXLZY6zLb40`*7)z3314V?7IDr0UD;up) zob}QsriEp|L_0~`UHv{(^2$F|OaZiH>%2rN*+L8hclj?GZT)*uJJ53aY>0nCLV7^E z`AqWMJ$`~iK=5H{2Q60sGh2{04XrDREF}~un%ok2Y^QE8+IyrKf@|v!-1OIgy!N)j z*dF(A^%QwED!8Dt|J+6!xc9NKEo)aw=-ig$dccSx#0jGK*Qu}Vv*SCerjdI8ZS4|0 zUwcGT0*deio_if3H87koIhAVeH)&!pM-D3JDG3SSA9b>~UDzL|i1h9_Ebi3mZr-k( zMt!1uQh({0>bxW!g3pR?zTi9d7dyoK=Zb4;>9Sy-BVeHH59UB~c|Gom-}RH-cD-`Z zNs*sEalO4o-K84*)wy6Ys8<3XLAUrbh!k~=))qKbLXuD?b#5e#|EcUY&G>bXovRM#|+QkLC3x0TAbLIi*_J z40fE$+_HO&A(>m!J!XvQx@0kvdof=nPj9{YuYZa7?-mjKSMlRV{$D_D5J(fuEny9L z0PZW#?Jna4OF`^`X<)7Aue@Og23LYfS1^}G)sM;XdnV>jew&KSI9qf^{Ns=RM4`SF z>kdFef9aziSw4=OJNhN=aqHv6RvF{)tOjm=qUf+MW2=yXPNF$HsX84gDGc2S-rSSk zoL!UH`>Ek>_`<}Z6L;_X+0XBJSN`g!B63bn&UIbib>X|0+r#BKv3mp7E)#pO zqVdg%sX7zt*@$>TBW+A@#&}5?_gv*I!Fp zU)TOdqg|A4no+5jx13r(7q_>}>Kvt(sf=J%D>V*?J4F`^{1rBza9`AomYe5b$iY@6J$O=vX14nwhk(rbKS@yS2A*0hyIjPv6TAfa; z%mm&x)*bBAJHSgqr4`*GIXj@=9m2)@NnSlnayEaGSfXcjdj-R=Bf~r}WAP6ZV+RX! zC|An&o1FFY8+Rvt*_s%!_BJ&_dqIMDn83E z>ejf|e#s%!-w9B7%*g&4*;~Ib;FRw#EHC^Eaqj@$2n~njzo@j`NgYd?|Gb@hQ~42b zEv6F?Wz(1u<3X3|hlSd>g&dL|%uD~mqZml6Mct~HZH!Xm!lM=07lXk-c}#d8lTU5P zzJ>154RxzP7MJE}*)Q{J5d*f#nE=T(*h5y!%rrqoPhYzx^P2{P{lB8Ys7&^BIQ5X% zJGY+4<-E{FDdeEr=J(Lv)$=uXcyl(t+w_Z@VM-q9(q`4V#zmzLnc8|^t8>UHp^3xI z55A(eBLeXOmYw{ACscIHRl~M@FcPY@xn%;GY@Z3bX4jXc0;^K|FRWLFzm#S4Ehvub4mOHbBH*Iil_Gg!y=Fh$^Cw?Z-|I&X7qSjIxDMD`YOfBBkVPO71E^{D9N?iM{3 z$g|KI-*e8=vo}(`C*8i?&AKL#@iJCx;HlToZO~#u!h1HiK6c$U)BxUkqKxL^1+V_j zllf_?1!w#Dd`%`G%RTP$V)!$21?#SR?qP$0z-hjrUo_-jHDWq3b~!`UFnkdoF0aG4$2vQ{IXa6R@oRaDOCG}!mjPF-rDJ^5Bt!5 zJ63V;{q4Ok$L{8Il!cJ?8Df92k)Vd$Q+XW2_16l!^PLa2PN%{ngn3}<`|vK&vklwj z3nxmLbO{FMeOe;{N1$9=>386|u*bT<0p+ zj3a)kgNa=7Y4&@?6pxsQ6ChdChGHE)W*h@~xV++dv#??~bZueSGjk|Ym?Kc<)@<3Q zD`3(Zrh9aY$31Kn;mLDG-2r7?XW&_dV6%+Hq_U zm+!!-%F|CiS+9O(g{!Gaj`s^bXVHSauT7tk162PGtDgb4m;_ib`u^r|kC=tXxr?Ui ze=FBHKb zxLvM3gvv%zeVTFJt%A|j%8&J`y-~L`uN+;YBEto8!Ki2>PPl! z4>kAZ9Gxv)$ElH=%STq55^2u`e9KYoJ!yf0dJ{uSOG+eoltv#>i>QqKQjl3A2@qpi zi-n0X{h*&RUmPOea`6f(^nk;(1Mt_%WkqeW{?fw?gDO+wj;G~92gP)K-KlO2uTAZ< z3>W4rT3-D3_6kt^999vS+REQg1i~` zwzkqi5^ROk>dqZ=8*K)Q?(Zh$MtW*7*i_i)=J4{o-`2P14)dV!fpR?+C_yJ&3PJK^ zrYnU~@Z{ws_4wD)u~tyk)dS9;u@>Q}O-2o_YWMul1gROZ0`>UOGNCK*gOQQv_qeK; zp0@207Kn4;_n%v)5d0>enSJV=WX7%mW zGHEhfSueX;10M?bGVr^}cN#}1Zt>df_Y#OYe*W&mOjA(R{(+qD+js%cmsVeSe!4xH zsk(<2@PvNgzNk&9LE;@A_xP?zkvGt88{VewTVu8}zov=OX5IQ#rg2=JbqH#;Q^5QT z^hS%NpP2IFPL4ju`26_A)z+re*Oq)P<+{K3FPXK`qUE+E?Ms(yo@l9g(%qz56o_d! z+E6F@9jl{aapYYvGeu*hR(bdC(>mCV>qmYZ(xB$p(^5y&xDS;~JYTJJj%1!a*YNaE z(3J4_={o)8G-V>-a{TxfoI+*3tOlo5i>{TYDyBY^4GjorpOMN@Id%E`;qU*cgi0vL z$(>i_yZOTLP~D`~>Qvr%YcTxt+*IX?csjh97C@gl{Cy3=|e{N*g=0 z@ZjB+nHqlGG^-m9R~H0c_l7uk!_nJ1lc>+2L`aD1;Q5_nBE^T(FV%!t^iUf1+_?m! z!#8|GzpmjHCwIEr?6DWXSp^=yC0g`F!m4H_F`tjRvL8BBEtBZRaSvV}pBDP_eS3s4 zQr)O|NK3WG?%XzQ72m$Jut%LBbJ(&rWMBha#Zc>DH&Aq;GnF{Y;cIxFp*hld{qO+) zG|Ij|PgDl}&+X?iDte&jZ5VBX;5?kaEbBP3+%BQeT0j@9wZXI$WyDpdKU9{&bC7Cy zz02RLdY2qAhp8qwI-k#ghYH38KNfHrq^X=G6wh~ikE{_%m+XwZj7H`;yVGYj5SAqAWZO$KU z*zo+-Bi%vT^3@9NwDels>oT35zdO{6tg|WU z<&{P#zMq6G{wH^>ju!|s*qX*Bb5*s1!zBDiugdr|iiy|p)#_gIU1GA4i`O5KRld%C z&q8tpdt;;v`gvXEDezhiFPnarY7HVb(W6Q8Wo2$s`rOjD6nE&no(7A-| z4OQ16g-cQ7hrYAjRh+Ez)yI|^s^+~j9ttnyYR~9$y4uz1cyN!^Y7q?Wod%x35YzhH z-_xhv!wtoL>!hl~7$fa@%@nO{xy@C)U1RWTy{Ff@pIZyo9|^(u9J zk)w8>6MnP&PoY(NBk9!Prw_=6dWoBC2Q-Z@2OAh37Pv``PL^MhTqk;L+PZmbBU;u} za*MAB@~j$`#^%oDrz*&&JNYE-ik!!sagOF!=7kJ6tTASS=Z9C@ZR}hXtrU6%?O4=` zxih|u+y^))ySfnCU98h{q~Uv0TJNmS(>@KtZS3x9#Ig=k#ZDzZo3RX(*zT<9P`L?SPcz1P|=GdHD)MLRK zUmGo5ReRJSR+5~#n+#MFk(`e(fJ<*3&<@q`$rs_r&3|-h#OI?_9n|}SV-^NeD47Ck zx7Fr{l8}Tl;V^Xdsro#-7mP*$&*H$PUfcy_@$|AxKnhjh0l(^YA%@;08!#fhB4+2* zrQ~jcb~VSVtc#YM-AX5ZlqunWJIZxIK{Pe=P4T;1Hno11E|Ux+Pu*bCx7o*ivi)ey zKdPLo)oy3n@diyD!vhVD3vt9Y%p+WNe>aouVjM3n?Z#Sa>&19=`=)q%Mj%~Z@b0W_vpVw7BpxQzN z?Ld-WGK?}%s0W*a-;r#6>Xtzni`S{tLMR=DU(u8V%M+LfPAt*FbGK5l?LcnjV&&3O zMC%W^f1Okqpcs{xH3E&M=5O2I7> z(XOtTa?`$bAEpe5sAD_(Y~vD4|0?nC{wVQE!&X#O(@C~wLwwQ^%xdQWTeN{el*oj; zf**2Ykz9GPhg-KC%-q(jsjprxq2lhE-1l|yRHxnFm3KI*ZJr;UE`m;rBQP79Aao;= z?eoBM&{0&qjY)lsbV=KfBA|$_+t@1RX{f5k`f70v*gjsFt4+m}MPk!RJH8kgbJg!u zHWdBXybF0rQWzoO{Dy-%_$r{@ri+XZbwa!I-=?@8bl0&PE^dD(6pcA=^zeDsGf|yg zDx8t(__opk=Xcz%dEnw@5Y6E}8?wj|$>}Y-s4w(eL|who{)$X*FoVSZAW8WU8T-#B z6{@Qh92(i^l%d(@bHY?Dn3|%s0CXc}baNgQjgvtKBDLkU2o9>AAm*rCIGPXrO>byk z*n!0^cUeqT?LD}RK#Flw=}ThPqm8paKewXtj^sprB@b=Nh7{bYdy68`)=miGi(v^8 z#l%f}O7|dxWK%(wmf;P?WNtkV7fP;MrFR5rUnAm_s~t~$S~OEFds{MRt!}^?vhFM7 z;FnpP-{7xmp5(avexJLg{gQYJH#LE{JNV>n-PjMsYJ!|@YQ0a%hg+V91)hb{lF7_7 zpci9W0aT}}#$j2uqni%%7p5cm=7gCuZVL^+1fHjTfx}wN*k(lk95M){l*ixLj(95j z%a?8yjr`~0huVea+8(Q1L_4gZUw?Jz%i0_j|aV&-ZQ?*!@A_&EOC-1{_(4=@>cXFi)%0Z zVwq)eZ=ZjCIuvg8wsv=Z9j<0I_!H;SU9_P76o-2S#0kWP5!kE%PP_V*p?|BHqICJ$ zvMa`9*`HqQ@kuY&y_rKHuaD)wNvNeX>4B9{b8m=;niROC-A--8_n}kcd?}9kW^(RL z;X=#7Cm+QUOET5S9M6j&U1h2Hld=ZfuZWrul)M zv`3uvm>M~_;NlMso&jugg1GfL4r@cGut>%5`U(eA!RxnQPsR~MBg2>^TLJLsJtgvh zTm=9y;+!QO>GggJU_M8!s5flOM^diw;g(2h3{}jk<$lcPon7n`X168YB;Y9T`*|p? zRJph>6o21NYj$Pm#*~xfxLSzbQ8dh&b#RmP>$y%mKkAr(owk>~Gu+KX5U^a7$tLF0 zrxfc*ge>}21|sxjf&|CA7^8gUx4*dP(giSf2Deuqh)(Vq=YnNPC3HnjtoEH3crOXm z__96zFt*O-cCW{?$hC*3a^a2c;IMR2;{8o>Hq3AS<(LC@<_n>8H#ghXOqn?Xb>phbp$h zlJ-}dP6swhA+5LDvhxj7>W}r$ETV^&FWe`hAB45w5HVw5sRkVju*xU@XIN(03Mvyw zrND(<*qi522}^bZhjMm92F0?hO>0al;Mjc{K8^>vtNWh;{{7~% z$NCI0W@4ziM+}J>R5=F;(=RulHZ&7Pw`7a`)a7knyiaL-)N;Z7+)-M2X#2{EG8H{< z^@@#>%b6w)2TmfKHBGB|dL!IG`X8kFj8zHT%^q^K7p~e6x zwdnznYG)odKD>l3f#5}?2;vyVB0_IaZwHco9l@zJ4(XMojkh(c8geox%&YbvBQ!MQ z6QZCq3B_g6?gy5wTb1S{`(8T;FD5%7$Itco2k4>!_JAEUHgJV{d5h5XDh|5*KEPi= zHI?Zm{>%C@o-kmcM}J~*X1jy5#wq5p{dKJdVLN@``oScBq^`PCrYw@+D_LMN^Q#X| zdVXACYgf@-t)Qwzz8O$X5*#8M>0ob5?r}PYZlGN!oi!N9DJJ>hqAgMo zrk4iXQ`gt*%@K3+*>*RV1$LNN!DDt=9F1_y&;p~JarZ5!T13+8#f7{}DYR~xN?z`% zl^Hl0uEt#LKU#w6?Mp8zq5odRD=ad%fp&Cb>Kd%2wcH#Uz1ma10}`|1h0!f8fQwmV z=H8P{w-@B$YfYh3B&WGtMva-h_RemQVuUAGt?{}2kg8ty;|k)-pU!vqG5IOcjQG;z z?A7FtTU^v!s2aQSbQJFt8Jwmt1eUQ_s8n4NpP=<2x}a z-sX0H?ddH7KG#M#nX#VW_r@)Q9cT^nLiIW>s^U9#Ju&63FWwxA%+0yjSx%2Nt7x<)`-KG(2#9`#b9| z^?<97>v*`l<4V-yqaTNsLNh1JPs=uiu}Up#&q#S(QqpeSEcsq8lOSAU|0!kp!_Tc6 zv+2R-#q~zT-EEs=G~wFE=eJ%`+dm&18!GgjFlq5o@2}$(e{u_56T9+O`7jGUVGg|W zj>GLEryfnR;UtbIC}yrYnpz_hcHyO%`uU%lx7gSuHRrI+ zMlL>p8sf{EY%$Sj5@vStRi;^+d3KWPxno1hN0s)7iOXBxSGL%FldJmrE_L9KGF@^B{%#ze6TQtmNS{GQlWd=|$;tX5KOXN}W%!o*NY<|s?Wq^HPhSGh zoYVp1aCpRY%o1zbIY!7;{+Ih?kjsm~&F?M^S&F>03EP%*enKtqlRhxbf=L6tE|cu~ zEJPo{2YOlaJoDRo1kmaePon=Xg8107qTgw+7w`R($NB5OrZFmd+~_-Ed+Z?3Ul8NL z#0GB_AUctru$DN084jwcU8yL5lQ~!W$jL%_Pk5zLFcu$tHzO88o_7V^qK7{^`&1Q# z5*u_biK>mL6JGcg9_JZ+tds*oLmwmp34E zT%?bP+XFt5g6+UftJv46=j7@Gq6nfWCTiCsls|d->Sv1{*`qbcnL)#)P`)BWw+q_KL2mlZpcn1hQR=b!3I_6GUQmITZHkdRN2EfNQMiBI#; z?7caCNWAMe%-f3w$3Y^;%uJ%SZ=IfT8e?OOm|*zI!aQHGpm1@whl^Fmw_>2gA71A@ zjyZkwV-V%XhO)NKoww&kdJBv`R@|dGkhu`J6>O$_up=CI$2%9Z zKmBAGfoy(VR$BRz@QKl6&2#RcEBx84&e&kdfr(45q0P)x>_{D?zMFR-96sp@`th#t z?y6NQIaQIVrfT+6T8Ec(u1395KXiT9rxC;b`yCW8P5Ck9UfSIXtMl4s+H;Q>0w=${ zCx1YrVi6(3;}#_CG3rg+97TWrdFm;XcLaUmGQ4iWbtV{n|2*5N;`-|S@Sfv6Bh}Cy zv+8F3&xGFeU%dfDYeabs!bZJr1!Up7-J@NRQSts#LO?df$wbv@MKGHDYCebFYEQBE zRA1RcoANpK?vub0CO`* zrRAlW_vEhvj@vl%P79!~r+P6L1Gy_3*LZLW-g;JO?_~V9ZHy7${sw7{yvUgBXbZ;Z z-4QIeRAPE&9ew8Qm@sCKB)C=;K~si|SU?%Mlt4HqN z=oW#@O6p~Q%ow%U4ATb&ihEe(TJY$cYO?Na%H4>{y!~v%P}`Y@>+^Z_jBYvG%C%s}TX2b&dtvCY}0d0B3NO%j!lbc#gLA);d>-u+5RJ+Ck( z<66!**+|Ni*rUGf$5|UzMC_?A)2`f`!Z0Pi0I{u`KWi#gGh;z#1ZM?n9=`0~*?w6P zc+%)TuhCjwKY7p#lRJ}_%=a=FRZN*`36kWB=HpE75 zFW$(?b<9gVRTT(SxgHgk?qE=bd|Z`G$mo_6Y%)HCydK>&6^I?Nt0y}aNQmg?N$IF0 zkdDb$IQEHf09hwNDZcz^*mPk$JTR@pOqMObDkUxs^+RE!M8T;Vb8aSqn3DQxj}|sP%%Sk{rr;6T$e-+cb&dTbZz5F zKW7y|Dz!Y`w6P~G50ey~Bk3@W_Fq5cVKD9vom1Wa=mySr9v|XsOuE}h>-W3i{$rNi z!P!zH18V zjpzwKjZuD7G*WwVKKfG5*||Aa9>_Cjtl^tvVbms0+p-LQ@h1Ii>BI?C%*$T4E`bJGk_=Dz}zAU@*nkrq_p*)=PD2N#@muxs4`zYzMZA%#7{4FMG;`;v* zA^;Rg?yCD`^=-JOmQZXP+^A|$Xr#1MYaF~q`gO--xnt}{_J+EiSYbC)#44Mz8!6jE z?p3=BU*RVU(KnER$H=R3%hR0(Jt@>w2{d1KIG?t-!G2b&J(XYjCa#_!KmP;b0!&Nk z%maT@2DpVv@UR46^?kdR#d_E+yMvuKLS81Y9$wazAv9Tld+>sg`XWl0^f@mFyzr{j zT+&dxt3O`xrS(bOivqFa9}kOSVra3@V0u@$n-0%e_t3Ul;s`&cKPUOByR1z3L}yg) zW{>jY((7Lbr?b~y8N)35P57pyM#9f&PN)Nn!ThebW*B3Gju8cUW*OY>?&vj7Zg3UilmSZx`pa znskG&kufzTUHPYMP26Uytb1yX&BDnL5zcRm6ss>1TiiY3gvs7DPRPw#of`&eK4HeN z+NmS^$Y9ublnZDCk)`5%yBn==Y3gLNa?z!a4PmUt@=)fyr2JMtve||8ZB3(*yV>hi;Ixih z{B#2Ckt$bSBTi6Vv)t_)UHsOM$|bCb5%Wz{nWL191Q}nuXoQR7P+kA2LGZ0zuDejH zmIsQH+W0!0rLq3Vd{Y8~ay7hpgKMk0kDW_+q&I@a;OKM~#2|XG>VA6GlEoUFJgXm_ z?SiUDR=E;qXDF6iOTjxHV^D zd^xqwI2Jwe_K>dqT)hr(lYeLXr6f&Wr|MMykM7=R=f6X7C&Uv8pMS|0?09XDY^qMS zonI<(y$>Wy6uPXPfoXa6#V>N0{{+qoMeAlh26Q_&C>nI2Hn zW@bgj005#6OUTJBGW@#`5fRZtH#5EK$|oj5;p)X6Kb|TkAXo&bzA=f+=H-rqPk=m+ z&0FM7*G2tt`0z7ep-bA_@Oi4SwW$u`Kp((byb#j{?p>Wy6M~*FbtO8-)5yZx65nY4 zKJr8Dq6$Fe^8j7Ki@U5(s1jtiQ6#W?1%j{Ti22VynCzJL^QU=-Okr0~U>X(=JM_Qg zmfB8cai6uw^qrR|Jsg!t1G?DqHR=nQB_ zPEqxNLN$-ba|$YbM~k8N%x$HUq2iB$@4Ps`VHfvOxPw#jyzEYjre$*QU<6Bt={bgeSUnLi!D&s<0nzwqKaL%E;DPXp zP}rgcU^6L@B(~^lsaEyp%G7ya#yeYyV&s(s| z9Xi7X@}?ZoM27PvAl(CqJef`JRbbU?%qubFui2)Mz-(2O&yYi;76i$Q6xMFfy72^t zO`LoGQb)xVW7vOI&%uU>E(cg;_P$h?$BpG#%?6ljSK91hEWMXf;EM4;YR9u_w54O5 zmjTq-ZKF#A_ROF%F)te`{k9}=d;UW8{MYL8_NZK^_#_TOKkjEBq1)YwO0CoCrHNW6 zOAp{zd?-r+oq=21;;?Hn;u9X|T3k-XeU?RH9CUJF8GpdtrmCR(Cx1BawJEhN9Q`gl)mN#coCIrwJ3u(VUo;&#^x>*GP_6ai zhT5IlhDwovnCd4r&2*pB?Y3N>+pRH*0X($(GXDS%3-*k@uHH;I8d{3Wkufy3XTDZn zFYtZbPuiAXBJXQ&9Dn(>zZ~444ocpwsYd@CQ zt$H_0ZBjQUZv^1S<33BhR5j}r#AfIB`q|~yU2=a@*V&xHm8qF`zLTQo1^C+J6y~Ny zd&Af%Zg?j@Uwpf<^w~yKGm?b0ww>vN2qTxO9w4>GriODD8G4mpkJ#ANj#Se}kHk(z zkr-U~`FhwZ?{zZ7w&;d2F5>CRsf>?xKQ(;z;|yGFvN6l~eJnSfc*Py~#65;-j6<~l1?Q;IA>Em+tLSYSK=c8e;-e{}?#1ZO;U}zo<*|@6 z#oY06Ks}Z(>egLv-;kOS4!|+{#frGEsCu?&gy1PctTL};YVYOw$ehp^I?Pas^kUcf zBh&A{s{nV4k*z;??3(pbQg{U&=C|c4_0%bOhj`h*g_)T?xN@JB39mphQhLE~UiW-B zfCSsISlN9Nb)a0t-i;WrBkCwGnwluvi^V2zc&?}4gMP>mN7#3n9Yv$}UzJsEk-e&p za(}f`E*+{(o^Mmm*@S0?*IO6CbDf(42{i9}JW$Lmrnawu2nsk9hpu*4H9y_{S@n?+2#Mz}ITJA{}seTLK1g~VIk$b9D93{<&1BqPanaf^5AIB`^ zoQP={f@_!xH$AtbhiWr;8%W+9?YqKC0+VJwe#Bw5$Cpgv`L|SD-Ahe$`SXrLZV0{0 zhZCKRn6|xiXl_%5#Zk`)z88RB;#6FL?1-BKpeA=v_I`iK5 zS4XzYY!T~cI%WSCZkVcJ;{w_(7K=}u(TLdBbn;ud+LnFLF-7D)AAX{$!2>v_w}FD# z&>1b9F@4WtWNUv74|Un;UQX6qklX&OEA#7vR_`>aN!r)AeSdlnF8H@XIt~0@>%+si zs?J9fbQv%8%$*K%vCNzKuO~2@22>tGDSt_?Y)ZbX=mP~~`rKi`u&FV=6T3p+DSudG z?%x$Dp!~`k3i|S*^;;w5MY=iP;Yq_8UarUr3(F*3@*yN8OaPEbuS~A0i(AEx+qO27DdnR%oxf_))!%8XvcCzQDl| z6A*A@Zh2WcsP180Y;0nEv>-mTZf1Gdrsd&KA@L5V%spHP)Ey4gl*QVhx1o#rOFPLF zm1#JUlD>4~F@1q^cuvpRZAIpZsJ7N?b0KuV5t?hM>%BnIi&EVWqsQzJ%g0{6qN4@Y z7rnUnhoH?I3uM%scQGPAsdQSfb6L1|zExghS09ji6{-f*-g|NUg~6h&qFwaZ7(5v< z&yR`etS$!OJxa^czK?IC~gARkr29=!HhmT~PA0_!(6 zxYnXn#~UFB#Ak9HL^}Eufb)lU&#^lCI{`TY;lSrq+$Zlo#%)IS2}<#^AMQ>(WoPFb zPj4f8IcXe$m4z8d(AplHcP@&)mNB`e5xP5b@5|cH<@w1AAa^qlynnXkuZT9eEh-V$ zz3s0%8F}8pa{I>d2$s#CKZIBvdm_Elb_)^F$(|=8{-t&JIyJeXtY;Qb1UO>;>9{Xrd_<6fOYPB%O~)&R3d_Y#l)+i zIKoFfhxPuxjnQ3Gk8M%$)DF=!a%Qf<0VchmYOmctRxrL?MGz0a0sNKMBAlA8+Z$Qk z;@kzib+AOAEybk8;o8W!{`Kzosrrj?V?O*Iv}fX%E0FJaevpyH!MZF`5U8skkMWTA zP^@0ZSN_`vy~L~RVD0rH^oiuXG=BE$e748RrXYM$_kPgT862!*?c+hns&QX0?ppZB z7?fO7e$yj2-FF}=Xc2`?hYedYIXau^dD6Ui<29K$rZOhJ&1IASH(!IPXQ|ne*RD(T z_4o=OL&1ICWgz_BK>NzU{NCndC0JnFUqd7rXk#ybbbI96@-|xO<-kFWTkWvhMA#bn zLFnWf*TKNZ0a4K_lC#;;xlxcpOh+@6K}=+F*HoSqSnns)sHLB^ zK}wr60jlzX+pn$bI~D>qEWlUmK5&7K2u3Up^JS$O5`*EWbRcm%Q@rO!Sa5kJT6TPY~fUB1HHZwVB#zX_Z!41`hF>vC}2kczonV z6B0fweU1OvfrD1?2$zSng6!n}!UN^)((}12``W&&H|i@DMDjMb_d}~D1C)pvjLlBB z!oE&TWDQuWj$U1^*z;>MyCNi5@1Q-l&ae2PZb92#?p*W~R*+Ep;uO{Q4IqFHI97{N zc(5xGk9*Z)0IwY;-A7Xbsl+u1tS4$HCV@1j__}ZxgaVK56)Yl?r-K7%;9tB3(hV6s z*B>h-qCU$uDXg`EwfWIs78OlAB7JtFqx&{-lJ<{SJX?%Z788&`BMH(hCTkk1d;Dg+ zK2@sw&-~L`KW%kz@jr>yylTMLB3$^XKhnAIiVSZSxzJnAHaA{w0cEMZrPBQru{$mO zMDhI15g4hBx_rhyo;@DOy0F-jk>x#d+9af|+h3o;MgNN#pz22+{H9{oSt&ktA@YZV z)7Vy5gei%-(jAtZ@?oa;x}`3FeBQo4hia5YpGF_dpWcZZ5Cs4QEj(s_0Z%lHZi=}@ zqbj5%)+nC+;q<)D77Xo^*eE!a62m*!$gI<1x#ixrHt|?ko;Hc$NSfzZ+ z250ZtLe{44a3qZ^vPYcub&ZMm`A|<#U zm$E6`6_dc7lou(uHwb>G1GiKzM}K!~-BzTm=!+8|@{g^ypTW-M+E;t(O0*4^U(cMv zJmB|BS;;g61Z~Gnv;Lg?Pd~3}A~6{)Nu-n31TbRhaFtoD=8*jNf>pHU7;?Y*nxDxN zlq&PRj__F8x;eLZ5=riREnn8sMzUziW^|EZ9qzCE1UeLba}oY1Idc{Dy~`$#SVi|F z_D4Ia_vUR>m*f38=}X=)JSOa$JWKPs@j*voAbJHWwf*bfwQ|fDoww`PZ7@zsGUd6y zTDYh@d-aYCWKz0*hV=~9)rGzyAeDU;xWwDKZ6E3qWJ+)HIp50e1c&MEFSuoAxsTi# zU7k;gFz@I4b4!mhRYLNskdRu7XU{ZgXlOF(>&H%!*$i}bZT7)sf2iHILFI#mk#I+E z%~4}Ro*km}+V-b>1v%X|^uAxjhEw#Xj__hiN-_r-B1`ry@b_C)0JTUv*KhOG)WKG_ z;fyxP|5TL$Y}`C9Vb}f(71i1NNrva!E#+g^mQB18Qz|OJj7HC*IQ$0&i%=WYYrwWe z7E@6^%1F(v#a$puO1yf&H&bCHw)Ti@L4nvCGLrI{^?#T7=)<^B9*Sx_^RW)43u;ii z|3}^@)lpy&1|I*Vt@)QHY*Da)=uv74Uqzq~+1UMI>k|8oS|VNTos5wN-Kw-;1B$rQ1Bo1!w3+ur3|YsL%30y>rsI%iouKt3^8 z`r-{Gxl}|N$(C_w+7!DEh`Ap?uu-m8s4mA>r|srA&dP$T;C_1W#qB&`X5gjxE9U$b z#kQYsfq^^==)`Kl&h4FF!~!^^%V zVm31x&EhX+EW02l2dLK|ADa5TKRTslWVuO>ELs~lN{+?RxPutxd%fTuLuV9Tp}u`0 z8@J5N_G;`DD_WvX6QI=-Wc?z%cpxG3CGbwxSJM0iz4yrl2sS&)Y8YTW32=MZS|&S# z;#7_MB|`h0p9%Nz4QiTQS*Y1y+lSJb_Uw(lT3nDgERG+jp64iEN6OlkT5$e2iY%_} z(#p5Z(#C27QZ+{qfa5a`KXp^~{q)GF+u8uwkCD|p2oF)9fmvcHGk=0T6K7B#rp!XD zXVuQ05Qd%ZTz-_@#sGfGd54%)%hOUu3e$N;D8(AGox)Lx?94GH8&{P;nDT)+)Bwoz zaRP3)-QO30(f`jmzlJt5=arTn!){qN7f-cmtd1%rkOutL!IonE_;7iZ#{^mdQ6cpb z&EG>BMH6S=^K30$)#ZhG8Sg>YoG!ajm3?}Mlqko&Deg1qM{Jf|&>g(#uvj+X^>uL$ z00eKYW;Td6A3<*$o<%oPm#L#8ZPp*jKn`2T` z=5Q}S8~!ot|ELXDFMnhycIHMHuAZx#bn6^?#h*z8O_^4YhXT_pF9G}>roz@c=ah3( z__=N?b8a^TQ6lbogU`Kpdh~>@0D#I1f!t#zP6|YRX1vBjR%q*mEWh+}u9q4<+Q3mr z0n>SSauq-Y+V*-GYNg}VsZS;Eeft^QLDcvAE%d@{;Kuu!==RGJXg{oG4l@~uE>Hl> ziOitf{5pcuLOXowk)v#lR9rQ##tmjxZLTuAV#qJQ;0PI2!${D6ewsg#EJ0V_o&@qh z)>4VkTG3)DvcFxNJhQV3uvz8S1&?)C`W275 zJaj>`SRU%Po6n)6lTx)X?Yfb~vu!aF^X{3OQmT{*dkD2;^F#}OE@x=Y#5%%4AeOD0!~4;0$JbjunIdC&-s-5*TTmD!0>5PSs`Q7rXjYC9Pgm z6^`W&1s4K39$*xGLAhs}yUgMzXZ03l>z(DYJ4-y}$>y@O4U@nidiY~t$J|rOo&K+J z`oGDFDW!$#e|f@RDU8fi)0zKaoYjW@L3RI*BWTGy_ZzGR2HN*r|K9`Y{}KxDzZRIk zDX9HIf#M+W;KA1-k8u|nyH&+@K(Y?SALXHxy@pdU6u3FZUYRiGdjklp2JBU59+N?5 zB_B1_AAfOisXs(GF3nM<>!m)YX{p*Yb1P!d&BQ$n9)YO zZ>%hD{k$$WVON3Gel5bor}$e~wrt*rUqa%23<~KJq4p!X{BM_L4n1 zEM?rU1j%jHN%;3JsMECTg`WIe1Kl`=2U><>+)=r@>ud6fcnu=awi7-w7+^`?EghJ4 z(LjYmHvI8XpKekSYAp#i>}uT|V4~<uz&}lK-)S0Q@;>*L@ z^gFbp7EnQy9Sj>oM7O@TxsF(5Lu{44e%C_hs+DPoNU^K!n0?xmSD8$vligD3y7>G< z)DS}hx%tLQqFPvq9xv%=2z_As#QXVSY31#H?XlWxkueX~FZycp0G^}nHwyh&-5gj% z8%GpFxU3IN543pu-1d}wy-+R2D`%z764O@}_sZ#LG>)ic87~PK^rs)5Zn)tVqMlD# zR`zMMpdI`s_pR?pXZ2=&@gk60^(S|2%JTY8?mFIoufLuJH*det$yH59|MBmo)_>aQ zS5#~*MRVReDW8w=XAa<9yaV8$Rd;&MVAfmKRZ3O0f{lbvwajOL!$2);xo@ZCh|cOc zL26LV=XnPG9!F$_)H%VW(kxDteGcbug(tmqBW(=w;b#}VCd+1g^b0CEhH9E)F9BTj z{%VJ0_UrxoC=)39i*r4j_SguhhVI!W>n-8=8w>s1*9Vt)_5J-t-{5tpe}z;1@ZQGF z5EEL9zM`i9%X{)S6q-TU$XI~AT+#y}YbVUKy)ZNV7ebzJYF`(yXnp49v0!^kX(UHJ={l`h@pn4A@=O z+Vc&99^E>WP`A2z*YJU3-!qO=s}HK&q%_emRJ2IYO_{VK`sESU+YZ%ei)Zo9yG zvYI<`a+{4s>Ss+%Ob9xNHX->g)rGG=k9PoXpOR<|)^+W-ah9N2`|t1^=MqxNrtzD%&v3)-HsvZQpbFea z1U9%$;%ChU=@I@yBPZ3GLCv#ZPFEnhEOl|XSb53oBSdQJc#?(w;KEF%svgc+Rb3Ym z-EM>Nd@62|-&&n} zrFK2I$-W5j88t36`F1$7eHOj*%5Wym9Y4W6WnZU9l;&n=EUWr-;kjww<0Sr`LFqR@ zi!3cDXE3@t-9zAODRob?RxvA%y@_HgbZUI^JV)?@Nu3emLNR4>5)mzwHHd#Ci(r^T z8Ien61ME#Qd#{dIL`iFG-M3O@9qFlB2)i;G6A5gT$g)phLwToQ?`FLwrJ(){+w?r`7ViJFD}o6ia0 zU$^(1cDS*TP9@rP??KmfS$|JDHf%TNit2=MsV zg%*DT;^|MHKE0uBZ0yK;#N6pW>{tZh$_{yKAP?xD-B-W?Py}qi5E-R#M(k~3y zW|2c^`*;=Rmmfz%D!($->0 zWr?BuMJ@IW(2jG^fw~ z&2@ATvd92g8jv-&)JxI{s+V(~%gd2Uwyf0&8q`y97QjmdrU7e|*h)xc!!Y7=83LBO zW1M$C9o1^dVHCRU*FDqazS$4ev~3YxGX`*BsGh1;RYsjo7oJ^u9oWx=eXaB3LJjq| zT~wpj3BjVyI&?Idt9!}4ggLyhoYs8F3rJ>yJ7yd%xM0iGl^Y^|^fUN9=}P=L=_Va` zo!vEg<5PTQlCqrn>}4UzHyJwKM{un1nZU54hw?zH+EUh%I0>PEh6yi_M|?lO()E&F zohVr*QC@CPg?6RQaziQEdlS7l=}4lAyUKdC5-LXF*8Hzy%gAYfb*qmKbe@x5y|Kuo zJk!K2Q=mz|rQfnH4G{mt>1gETWTNrJZ!@AEEv&cB&+9zevxkMN!^RnvA0Z_cd?$19 z=+DqkkCF%T4fUWcBaWza9Ycqa^|34STux2fVZg{Zp?mPm9`PN`bG}HP$`yY|k>A&i zyAGI?3_;wcZ3~$j(w%046~D1>SQxqV`DFE_xeyoJJia**ll(x_7-V!ffxeNRv;UH( zg-UaZI8k(@%*5L0$MltauB`IR-Ja}klh$Ia{r%ikeLo|O-r*#-8~IH?9W}XaZO&z5 zP@X~T0t4c;gOnk^WblAYhE!kZF{gKZ@j6F(!y_zmEsZ9i5;UMeqygweO6Xy~ z=|!KLl=m5$Ty3)V;!XxZ<_I=H?U;(dMv>55;#1${w$V#346;1xsfh{sV4rxpJPHL& zSFFTYqXJ+8!a7IUjsG%RwUcg~Lw`HpxLdEDAW7-|0u!~W-?3X!bB7NW5g^S^v_w@z z1o(P5MIcS5bRP6W?AQ4sfAH{ks4fl+@b>}My!4jLV`#nz-6nKTG$$u!MMh1f)ZOtx zrq19?0$uVV@koL?Ku9~a+y@-r%2En_muG57UIwf?Rdg8HJ{m#OiqGLwGcliexD&G< zi%Q<;A>A0&8Mvo={}QDTImx!pqY8-I%#NGd&tR_KO$_p%*f{yho5%!aFuo4cTGH*6 zgxH_#jfKc%m#1mmdYv<|RQBl;TT9{G%8>pN@Lv5&GC49Q`yA+ zJ7wC9v3nhtvuu>F4r~WX0jFi-eQYzim@ z{b9h^ZXfT--4!o_4fbU`db~64FZP*wLu3N^k@4x6eSXRdx( zeM{(J?S^Io$tWMn&8rDk7j;g-utGE+8r*U3v{gq?1q+dQlN< zfJ#juAiV?#5JKo+K}1OC1PE26lOQD^0m6Nwdw<`#-x=qeeeV74xZ~dZz%dvxd3fLF zedbzo%{5m}jn(G*VlmmqOQ8b7GP7~R`Z8^~n@45uZF*d*Cv(xVJruCn*)1NWMDi83 z3=wBB!rmcN`E(Qi)v+lti7hZNDZdT9H}*%;0X!gd!JOYenk^-y&OwlrU7+G)5 zpY9^s~H=aQ466-&z8wC6Tfms>yYCYjKfVDi~ z+WOg*X75V2hbivNL+c&0O}oJIL!^=a+_6HUgl2KV>RrQW6 z?T@weyjorhdwoYX>Ydw9HF>0SSQqm%_UGg}!WxVVz73ziV_#HXrO5*9?#qP08#aK6 z1lZ8l@}m0QcUG=|_=UZq=kLzT^}ozNK#IH{Zt?qRXYnKe46)6RqQhXT!OWXw5DS7kK%IVoPuWMD3E6-cBOCvBXudWe4K=?^>Sm!x=pNO+WzI6PpuJaZAX z@XE3Q+)#WWQ&b2Wm^Iig!OL_r$)t73-S%Y6=H1*@WQro2pA<%O_@;G7lD}g zF;VIQ)4nXNu~HLGtswwpHDKOW!}?QKE;68K$dTJ)Np{CPtv&g2jrVw?Y0oVOStb>F z$jBl+pTk|}9yh%5*wdp;C*+tW6W|`CRw|%}_Ci2~YV}w@!G%g%7LYp&4l8H4pRz|>W7S%knkywPnW|k?<*pu0B*3xxb(bI&Im5Bx6UQ+nl~aH~&EyWJ7#i){+Fv!i z(05i`LT2G|Eh;AFE9$ERk>VELgXX+oR)VLqPocK$TWudPe^d7VKdr?#W`1WvHW4 z{m+HQ42*2`lRu{tqcsj-0iO~nd*eS$O;U^6vOfhK%Fy#Cmp|>D#8o<@%#=&;3de4* zMQyiD7{7&Yx<`54ybl`8|ChQnOU?UuaG^)iSh0JS6Vw?a$JB=aX}){|u--Z=@A)9D+^+%UGj|M4ZgfIlThJEymhP7SQQOw@5$T?? zJRgNMH6TT<5jOB|q_{P^^W6fU37j?;d1&D^^$lO&{i=5Av?P#{FqJu=jWJtBtuAzY zD|F2bC1g7&!X{wsHe8?nJugmsXuN*BlvU>}ut82RN$}>5zdld#|A^w-zX*u~k^4{KI^UeP-QHEqE3aN1`lQy^(;yXkG|KAp3F+sO6m z64U5QU7cw}Cahe_$Q#|-Qn?E55jV_@D**tw6nZzD_ruv&2v0y~o)irDgbDbYwMkMH ztbW#P=U-A=CE|IPG4ULD0m)5DEwPmS$Gy6Hj88&0Vm)g9h!c>-N%oASzS404leOt}#W z%#L8p`sJ%RbeDTk`ob&`E<=s8_`F=1BPVcoS$YqR37-Bb*)j(=k>aa($Qgh26YIeVZqz+YEVSsk4Av_t*$;Hec&6KxJ}f zbYf13k@(ufpUWe6_=SJn*UBcy;mF?aXIzs^HK#|spmaeoz|fop>w!VAbk2@6|JkXGYLUPAC$hs$!RfsXj5 z{>&Rl!0LM29(R?Gr*RPD;Y(Vnkwto37j!8O$xT^s(u)5*-C%>0crC!6Y_z<)%QX>7Nr1Go^*hHc+?yUMR20e%1~eYoM)n!8+ce#=oF6OG4A_?&y2a4a&ouMhRIYwMSY0tJWpAf=fAVA#n0S?ScJ zgyk22)fX?P2-avS*Bvd7q6U%-$k}!Cs4-Ojc8d|o<*%84bsVRg$Z@e}f+Fhwi)ZL~ zn30U3P_6@;OlSuecmcj6FJZBT~OG1q8QlwF#fA2r>e%7)rPW#?`M`s zGo3?#Z0UOD0eCFaU?SoUv*GB6q$p*p;KmVVlKPLi;XkJ#NA5K>Z13}&YFt)gJeX7U z@ldE(x>(_HrD$I_JW;mlQkC9y)hjP+ack@L@sOdO8H={1^8=-E!x5v%szq}l&b4A~ zQj%A;vz10(E;3gatAhQ^C?|_WzCMQKdKOD*UC&5)={S_M*H&>!O;+b-Gu3}nX#%wW zgy!zlt7S8vkGrhY*st>{o4ccbtmqe3W-tI$#7_XvDDaB7`v;wU6fgb~z z=KIuGQ=FWgO~g)`{C;ADc=m#lqT&b%3vqM%ya5!uBU?8pWXSjsGvI6WVT!atE-`}4 zK^A}Wf&cOw|NS@omTOqpGce%9w$BbGlHA@8g~Lr-?ioD3@s`qYr6N1~eJGHkmvB4T z4zP4GULEC2?Rnn1G5=W`L&}4ZX%1$44~I$qLp2e(*?_Z|xopMmuQX>$^C7z`q2u1Q z42)}zXjbW~5Lo>|%UCfK_&`|FS8C4lAv23d?C{f8eVsemYf6i{x!Kod4dbrMtd_xJ?V1M(qcf>S^Y|^)R;; zb=he@qL*+)U!`X!b9CntT7^&zYvZ1JVomI16c?U3Gf!f&(ns_6sESZjNssSURHGL z+q@R4^YDsu&>pB6vARClM0zEcQFYUIl)u3$gFev!zZ0}G-BcAyxLE0Hu0>gm3$&nU z!Q9G_HVspS;T}i$&sgzkmsc?3PVLvDiLZmWeDsBNUTS}KmvAr2XvlsxgnhPTZdb1$ zJYPOpWslI>OnJ@Y|4KRwx_k0`{8=M^Sg26qk*Jl9f=XcWmXBU}+MC75KB8N{|LunC zE6evquH-z!malv-b4qi)$?m!0q;p5tErc2@e_md8cu`_mFLhZLG;vLe(_ zSLMTc^K2*x#tS}&nQ`ZBLJ6A2P-6?# zw|Q)6-N6n`6G3JEU-AuT9C?X6hZ9)z+Kf+jKnudMjyHJg&Y(Cw#`6N8mTZ(0AoEh2 z@OITZLHz@^jWo7?r}s|Z8ToYB1g!yn)R`f-Np3XV5%CBQrS+>=y)li^El@)BR{Fkq zaa(En>^1jOXUp#~$?(H7;|_|_XU&}6Ff#Ad7#E-6ZBPA&EHfc9 zR!zCCBw1B&xnIWzyrR+UsOKsVJ_~bWw_E4$6{h)6hs-ksb-ds5g;V)cSV7Nm^Q(MS z`cU)G?11YHN)=G-WHe_?Ex0SM9Zzl?s2B0LjqvlQ+{hPohbFWb`<4xuJoNIoVExBDnYlP=f*WNgD!9jB`aqK=nfzue z5hfjO9mCV(QWd7{d$+enZ+4Ah$0Fx)kT1=&RJ!()Q~QQy%Uh!4A~Nrj(;(zhD?3lb zbm5hkVY`$1)tH&5AA;9>GZfDrsV_k+6!}IjmBwKz@Jiu=^R>qq9`Ke!PO8AWuNV9h(a*h#DcQH7Ow%gpsN^V&(%VseFTm zcO`GDxJK7cDAr15VpLb3D%hg2VU%s!r1;+0QE|holV@p03koeP$eriu<_KnxmHTwV zwJTE6i07&)e& zup=bHmeF;V*JN3TGG+}jhf?bq{9vESgGyf?56X=x+C{qoBnLmZZ05L9rMUr3_XS!y zp#51xOBS_|GPCaiv5C_h@vl$t7A>bnq`m9;6QFablu-3eWtw}?Qf^a)gPV@@R9)$w z1H@*}Ug@Cu8Q_tV|D_CouV#dOqhMlkkgQ((Wj3Z@Lq!ZqIYMjoxf0oF>Xcg`d6vBNJ+A4aJB@s9)Td^QIBNI;7G9v>d!-y+zv*4hA@c{6 zib8*p8twR&^LiF-T~zsz5@akgwV=~Nw3?O``$8Uu2!PToJnLcCHwj!iB-;vg01QSM z(Kg?o<=HZ#$m2Sdo_FUvu7k~GPE86%`}1S@^zOWQ)?wb%0IJ!x28q!3%a!eVe&?8aA_o@vS1VqdQ;3ukA>ulV2i zJf88UG}Vf{-7E}kw6gy;>sd8Qt)+>Q{q_Quhg9#8#$z$Toz03Vp994bjfm`9(EgEd zPfwpmrsQt7YoI%w0-<+vSIO{#vEjo5i^SOTqu<6dunsxSu`d8xs^bcniN1z^qHn5z zS&W_bdCQq%Yv#pyecwMfXDo8W=n&Vl*F~o4&OsX7SZD5`^5y_v!ybqCkoQuF)GL>y zslPevs3?_;@oY1uTpeGBdHL?Q@Tio9;IB?ZUbC%I&FdcH@kGiQ;0j}{wR%ULkgm_% z_3}nIR%SBh`&~M=)99OpF27I48hcclNyDvM_=a?Dx0OTdmR>{&#lwW|BMe;eP4$8L zvj;G>k}QiaPfKkpmwqp^h&w;qSC$C;rI*uZT0v*dD#|);=fo^Rdy+(<_?tbH?z&NL z+wkvPaGl*9!U1%d4Grc@8#D>GhCTG^sVi`j_;P7_RK&iP{iv}hvtn3ghqzB!*ht}; z*x@=L*Kttq^27e24|m0{)=WXdr=*B4e57W+D5zDp5_){~O|wF8;>r@|lJ+*nlrtaU zT)R~$@EhsvflUu|6uoe&MUA8H`)Tl&XdE_37N;%D8kNmX`zYji=pBXp<+Cn{1V_Dk zHk-#Q(n!dWvEjfI6_4a4^2&Jk#Pct$N${scD7-WXx^_$tMd8tLzIw7iC(W>(@0&A2oW+H6jt3VqJ}=4`;P%NS84@{N^LoylT_#fIU(kil zKTkBMpr_}(9xf6&?LkNSB^4ny)4RUQiZ8@=TWggs%zjAtJj7Mh$Q~m)AG1lWQJD03 zcYgCe`8HTGmbH=af4~2nGIq+gm+ioY%8;7purB^FW|N`zjjT zS9f92)OK^GY2qjwq_$o*T-1hJHe08*4(?6lmS-rTTx+KI7k`EZDt-Dft%c0M@cBs! zxx_x#xIw+`*O2CT5{Iz;J9iJuM~rF&UCSx7`Ln31Yp}lX_hb26?-nDfwg{1;Q~igE zyUlq3^7Y9;40q3?UYhO`-XWo#gGx;SZpd#)d#?NF$xelCpIKk4Ch>2#+KX>G_nCru z1J$HId30t;9;+OQEuaf_l%2Z&XfthJ#8x`#jdE{B_k#<;v~QUP$^l-~hVwCNa?V9) zqJ3eVN+a^*<$kNn9<%s^Ql~fwUf*O-7GGmNSjPhhZbB60T=rS9Y6@tvO%_lDZMp8VsD6C zW+o5U3?&#rG&Omo|G`gSCR#Vm>;a^6Uf4jW|RnWvzVoP+a~3 z9*rL)_|6K_>($G?+|tT5%q=M)9Npi%U@Vc09$i{0e%6w8=Lz;Mqs2byRNiJ!(B1}&&MLhEIpq+U@j&K+%ga{i~Xl^>;wRH z5swZrDfCqhX3PMfHKY-vYD04R67Ko&3vA2?ckVkk`gH=?jrj;$^4ykU;}t-$af zxpuSd&V(~;+$f{uFy?lRkKuSQwS73T&LCRu6B=&?o+2+_sJ9BW-u?M$uU)dtR@y>J*gbHC#l5Vl9}l+5*{E^q zr3xKM6oTV3v!fxAK05i7PQqQG|ZZN(#&kpC+U4W_wQn^F-7Q)NEScmGb)w~Le zNeL{PT2yVSqRgy0XifWQwWO^OI|!nO2X1WGdR+sFaY^#0R)qSNG}txp+B_mWn@zRV za+xhl7@igo#SSMf^x4TYR4LA+zITL#j5hI@8!#iOOKnsw%?5UiLNPmB({%(x+=vx% z>J+JPc(5{)lhYbi7Ud{1>Y(K`qJHucS)kWtSqCR|E#a~QfjxG6X6!q{Cg$UQ-E?1J zU4NkYlYp6XetpI_Kh-f>265!z=!@I9I=aQonh|PhtX|KIyb&2CB7G*dRp#21&YEd) zjp;VVTcCUAbhDJ-+@K0sXmmJzKsPmr^0FwA)UYL4jk)c`aC&HBj-l7~Dr5yM#BEKz zR#r(p9I4qK+rpLLZpIYg{YU%V=*e4V zeyu0;22~0qnI99^$5aQC#F7m=_N>VX_$#v#3G8j+E%-vlNfI1#IBJ^Jt#R-886R}3 z)6U2Y5ma{8qc)_D5`VP5(QH$-AEO`o%?2P@$Q&5KzJrk3kZ6iKq3(2wf#4{(u514D z?-t5c8Y4+c@iP&rr&ld8DJvt;@+>9+@K4Zm(v5Y%OJA{Q^|Su)n7Y=Hz-7;e9<;`M zzY<}@IDz!cUxh8-x8!}5Kp*<3ndoVmaOOsOA>#9QP$$kdqS-G4sG5TlGniC%#6m z@31idl@}bg7tf}dO5DxtaMnO`n`3n(aOkQRt{c2!od;9$>}$G<8?w?#cl1Lqk<1`^ zX>+EE@z!+z&j&Li5EL`1c+)9`gmwrrtuXiuw#L>S+F}<5+~s40r~AZ=%)mj9sP$o= zjs|W}_v*)!nDNu5JintOm9(ySKom|3A{URCG1_Y>^y0=>O#+yL@LOvf?t z5J0BCW0C)1=J_Yh{C98o*Q-`0=jG*j2mq)T;4$7fx`6@%Q066;46F_mG2rr(i~ny( z;Qv87E$C1x=w}lGj_guIw&r>?QiJG0-3RmwWdD zzBy6S=>;~z*PLb#Br!cj%+D@^_ydoS#?VbHQzvK zmgRoNb&T;CWDp~K_zEpuL8^3bqd87^Z&;3!GK1XXK!%4CS6d__e-Oo>nXl)CW6aVn z&%>k}deoF;j_6E0iP>=bSlWc=$bMEbxIi`hAal)#tU84frWHSt{#XDomX04Es?OK1 z#uK%jim9{VUW)mCc-=zK$t6a<3i=0AWLejV@Kot;RLhlSf!WKbO1){D9JM@2qI-?~ zpeGYdztyV@lbq36u>gr)lvqc>s0a8PONzUp$A~1g|ojv z_0*%~NzBv;ZF57tOlpq9O!YmgwPO1`uX(g-J3-h+%pgmtWW89BYx#TXQy)X_T#I%x-U-gg+D^GFf&*X06=PzJV%U8h)+X3j2ptH zq1OFdIsxpa%B{f-m-H?rBTexZc@kbo!88Dtl?;ZBAEI0{WcRsWwX(`zN|Bm>t6(;d zb>L|U=7LT3&qh@?2j73~Fy^cT1W5NGsi^BlcyX-()H%o7xy(e~VWC(9XQ}K!{1B8j zA??4*OA;b49~dEedn)Anihg*D#ae5z3{!Lk^pzGD9t&YdfM^1y(1ci=_trbkCWUkR zdX2mcDFr(NQ%{z$qr~A<(717Ls8fF1)+p~HREm)H>7dm?KlhG{?M_(+u$kM5xMf7A zqH5U~YIuG}FP46Ru&iHi#=gfkwX{4BU2EieFfNQ4!eh6&1!T8J+{d6{q3 zI(=R5%YI$!srSQ_Wfv@EwI~{33t)>qI$&Dm{NrCP#p13k9vgo!uK?j|m< zz6c4cVBCntHn}e=3mBdE2_vDUgLRXH+;hQp>cLlz-SKRqu0ic&25ib~1jaX!fv|ghYzMW~|d| zoYx6Wk*R~|M@S+J`Hp1q)g-FHidT27lkP-R6Mz5Vt?RTR>YM}HBCfqH$^_bL8?L0A zi_>G7Mok`?!+nRZzx2~GZe;exTGgr2Ai__b8)szbKUdiQ3_1PRZo3DLaze%E3M zk&i}ZTEvY^FGrG8Cq7Y-2i3Sf+(YuO&#oakB=5XIE?In62N|80%ODL_1{NN_ImN+g z=vuz}N3|oBr;6MBy{Q(uV`FekF~7X?jKps#B5vA(#mHyy(dB31zkVpTT0DF%KdDqU zyA=MwO|k6tkMJ*k8->ZD`&f99GX8o~I!MvuT^6^!hw-|Mq#lp z@U0spt1l|P=zQV+LoIp2%OQu6ML29+JWZECV2#!3*|U&*eCpvNRV6!_8t8ldeiM7n z`bH8*xnMo=I(d%1=|^rL=pmMxzB$g`YD7c2FFUn%$?FwJSiurk`1`Q9k2gV1e??AhcRQ zoy_C=^9T+L&_K@O$;WO+;w7RBgWGRTt`!2g@1L2&)gUxKXOL>R4k2Q+XBmkY=T}EGGQ9$KocR~pAwpiP%A>X zU1UP3jXzci`o8WSz4@d5{3$3y>76L?7l0R-c(b2ZkE&eEQ!|bZqMH~2zXFN*Gh@3S zv`Uide}6&b|AiXOKa7-ta~630r()ypLh1j%-tbRqRa2+g0bAN@z&2_2E&}mBZ>eU0eY2!4?tBd%{k$R(IM!6g`#T}2(Q1lz0a<{$XKL*`9bI`%70|} zp|bav$gz+$UC3x{;xdpDfy@v7M%1))B%C=^4lWh0H?-GteC9hREV)% zoX42kc9}IKfa=OD944_apOSyN3j&^S0W@Lz&9u_mT>%dPBJO>#s?)X`^VgvE!_52* z$fW)~<}xix8#mi-Wy1Jk0zVA`O)N2C@Y*SGmg;wuc+j-ymBgln$e!+$bcX+O1y^T! zI*RDb=XDF0CA65fkEi@*3V}=esvK+Shfo7FNZ1U3A)~W|%-E7MY6`-Tl29 zrEnYW=U0t!?s-M9g4hyF@OzIaN~GWDF%K5kb6wQ81#Nmqr!L{b0~#39>X^msaC#mp zpU3FIXbv?S<4y=y^k@|)hBLmH?he%H&v7*c-3fPSMR7)NhIMT8d;Cuqu(j?)IA%@% zU8V#5(=Ep$Tlr&MF-#;sBtjIwPlF?FLq z#b$dXNV2|h98twE9Nq3O3Ci3v^t1tPi6Ha&Yh~XZ($UN%EaLXomb+ES$I7Q-o`g-w zVfsg{KGUCrI}1YRs$(IIH^%SSLi4w05X)KZm9uz^;bv4kJylgTCu8RkX}yaKp+5q5 z&Wm;`J?9TLY6{!*t##iF=?A{1Y?z5-rA;-nZ&Voip4!W{m?lPcLHZs_6o$1@9(|*K zn>5$b$|;J&eI*M->R(+y3HI0S52W;R=3_WOeN&CUh?42i{x zIY)X)v=i;MG=1Vxr#qo3tad;~#m_Z;tMOZwFxIAk^W&%jpfXE}1pcF!by3sKy}FHc zaArmmv?PoXPnsiD6&uWdD`uE_&Ix3c6zt}0x^{Nj6zTcXarAbD@nGrBka5M#&=wi` zCm}h}wM^W?PFEtG=#2484%($WtEAot{qpG4;;<8E6mUe8{kUzKyWdcc1oxO*!q#3GIwdUwmP4!Vm-h2h4!pX=+m zDee`;HW`_c)t3jh6`?(`CA@uk_59VF2HeB=g=ZwrxyMt>zxxb1?S7B;cWKX^X^3^* z<7~vV+R9Vw+aFuvSAs?>9MH09siWlMx=$V$WwT#lvM+pCWB!PB(-mDVTiTaQJZuQZSGyAG zj@wXHEz&hZTJIF4Sp!EDpc2tNVBT8(g-i@5Eo8woU|&+W?vlWn+Vz^T+I}l7JxaN+ z`QXJ*2l*EX`1N5?Rz80zuk#sbm5U1oYcUMLQ^CH#h6RE2ST>u}L)47+Hn)QqJrMeQ zDMt|9YTSg8#S5E-$PFIbE*9LQo^OED^yi2a^=1A+7i<4&&u`E8cb)VC)w!Fd45v}9 zEhTu-l?S3Dmy!=tAF%2{YDQR|Pd^R@9(!{eQ%BYf)E5Ij<(>Ks)fJY|*^G_(iMAMe zGl5Ufu0bnR&L&ePdeeR3X|mt?oIPI(vO6Ey+fw&PL_mX=+XZthiU};HmQ^}*a5RwHPvoZbL4ZHk9RwJ*BMzgPo02Jax zpUaIGPCvKHyPIjuZv-%z70&%;|KYUZEvB9XWas_kAJ9LMz{uxwdhd^zeikhcTyL>( zK*;m+gP29J|J`a>MBuI8er1Ae#99n+^5~{aXaz9g-3B-yx*oEZxes`y08?$vCFG@9 nK<$`ndcRo{pfGCoIky{rREO5DkeFD(T!p5(-mTIbb`SptvFQQY literal 50344 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%0AdJ`u7w!u!<^`wjHupaBNF#PA*P&8THbO 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 From 78c691c209886e8b5532b7bbba293d0f068493e2 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Wed, 22 Aug 2018 11:10:45 -0700 Subject: [PATCH 061/162] 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 062/162] 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 063/162] 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 064/162] 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 065/162] 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 066/162] 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 067/162] 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 068/162] 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 069/162] 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 070/162] 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 071/162] 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 From 56c2a8c16074ffcf9e947b1d78b5153decd6d335 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Fri, 21 Sep 2018 17:01:04 -0700 Subject: [PATCH 072/162] add beta apis --- windows/security/threat-protection/TOC.md | 160 +++++++++++++++-- .../windows-defender-atp/TOC.md | 168 +++++++++++++++++- 2 files changed, 308 insertions(+), 20 deletions(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index d300cff5df..70ad8183e2 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -78,11 +78,12 @@ #### [Management and APIs](windows-defender-atp/management-apis.md) ##### [Understand threat intelligence concepts](windows-defender-atp/threat-indicator-concepts-windows-defender-advanced-threat-protection.md) -##### [Supported Windows Defender ATP APIs](windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection.md) -######Actor + +##### [TO BE DEPRECATED - Supported Windows Defender ATP APIs](windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection.md) +######Actor - TO BE DEPRECATED ####### [Get actor information](windows-defender-atp/get-actor-information-windows-defender-advanced-threat-protection.md) ####### [Get actor related alerts](windows-defender-atp/get-actor-related-alerts-windows-defender-advanced-threat-protection.md) -######Alerts +######Alerts - TO BE DEPRECATED ####### [Get alerts](windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection.md) ####### [Get alert information by ID](windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection.md) ####### [Get alert related actor information](windows-defender-atp/get-alert-related-actor-info-windows-defender-advanced-threat-protection.md) @@ -90,13 +91,13 @@ ####### [Get alert related file information](windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection.md) ####### [Get alert related IP information](windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection.md) ####### [Get alert related machine information](windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection.md) -#######Domain +#######Domain - TO BE DEPRECATED ######## [Get domain related alerts](windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection.md) ######## [Get domain related machines](windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection.md) ######## [Get domain statistics](windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection.md) ######## [Is domain seen in organization](windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection.md) -######File +######File - TO BE DEPRECATED ####### [Block file API](windows-defender-atp/block-file-windows-defender-advanced-threat-protection.md) ####### [Get file information](windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection.md) ####### [Get file related alerts](windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection.md) @@ -105,12 +106,12 @@ ####### [Get FileActions collection API](windows-defender-atp/get-fileactions-collection-windows-defender-advanced-threat-protection.md) ####### [Unblock file API](windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection.md) -######IP +######IP - TO BE DEPRECATED ####### [Get IP related alerts](windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection.md) ####### [Get IP related machines](windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection.md) ####### [Get IP statistics](windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection.md) ####### [Is IP seen in organization](windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection.md) -######Machines +######Machines - TO BE DEPRECATED ####### [Collect investigation package API](windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection.md) ####### [Find machine information by IP](windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection.md) ####### [Get machines](windows-defender-atp/get-machines-windows-defender-advanced-threat-protection.md) @@ -131,14 +132,14 @@ ####### [Run antivirus scan API](windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection.md) ####### [Stop and quarantine file API](windows-defender-atp/stop-quarantine-file-windows-defender-advanced-threat-protection.md) -######User +######User - TO BE DEPRECATED ####### [Get alert related user information](windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection.md) ####### [Get user information](windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection.md) ####### [Get user related alerts](windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection.md) ####### [Get user related machines](windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection.md) -##### [Managed service provider provider support](windows-defender-atp/mssp-support-windows-defender-advanced-threat-protection.md) +##### [Managed security service provider support](windows-defender-atp/mssp-support-windows-defender-advanced-threat-protection.md) #### [Microsoft threat protection](windows-defender-atp/threat-protection-integration.md) ##### [Protect users, data, and devices with conditional access](windows-defender-atp/conditional-access-windows-defender-advanced-threat-protection.md) @@ -277,9 +278,146 @@ ###### [Troubleshoot onboarding issues](windows-defender-atp/troubleshoot-onboarding-windows-defender-advanced-threat-protection.md) ####### [Troubleshoot subscription and portal access issues](windows-defender-atp/troubleshoot-onboarding-error-messages-windows-defender-advanced-threat-protection.md) -##### API for custom alerts +##### [**Beta!** Windows Defender ATP APIs](windows-defender-atp/exposed-apis-intro.md) +###### Create your app +####### [Get access on behalf of a user](windows-defender-atp/exposed-apis-create-app-nativeapp.md) +####### [Get access without a user](windows-defender-atp/exposed-apis-create-app-webapp.md) +###### [Supported Windows Defender ATP APIs](windows-defender-atp/exposed-apis-list.md) +####### [Advanced Hunting](windows-defender-atp/run-advanced-query-api.md) + +####### [Alert](windows-defender-atp/alerts-windows-defender-advanced-threat-protection-new.md) +######## [List alerts](windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection-new.md) +######## [Create alert](windows-defender-atp/create-alert-by-reference-windows-defender-advanced-threat-protection-new.md) +######## [Update Alert](windows-defender-atp/update-alert-windows-defender-advanced-threat-protection-new.md) +######## [Get alert information by ID](windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection-new.md) +######## [Get alert related domains information](windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection-new.md) +######## [Get alert related file information](windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection-new.md) +######## [Get alert related IPs information](windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection-new.md) +######## [Get alert related machine information](windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection-new.md) +######## [Get alert related user information](windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection-new.md) + +####### Domain +######## [Get domain related alerts](windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection-new.md) +######## [Get domain related machines](windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection-new.md) +######## [Get domain statistics](windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection-new.md) +######## [Is domain seen in organization](windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection-new.md) + +####### [File](windows-defender-atp/files-windows-defender-advanced-threat-protection-new.md) +######## [Get file information](windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection-new.md) +######## [Get file related alerts](windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection-new.md) +######## [Get file related machines](windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection-new.md) +######## [Get file statistics](windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection-new.md) + +####### IP +######## [Get IP related alerts](windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection-new.md) +######## [Get IP related machines](windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection-new.md) +######## [Get IP statistics](windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection-new.md) +######## [Is IP seen in organization](windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection-new.md) + +####### [Machine](windows-defender-atp/machine-windows-defender-advanced-threat-protection-new.md) +######## [Get machines](windows-defender-atp/get-machines-windows-defender-advanced-threat-protection-new.md) +######## [Get machine by ID](windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection-new.md) +######## [Get machine log on users](windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection-new.md) +######## [Get machine related alerts](windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection-new.md) + +####### [Machine Action](windows-defender-atp/machineaction-windows-defender-advanced-threat-protection-new.md) +######## [List MachineActions](windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection-new.md) +######## [Get MachineAction](windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection-new.md) +######## [Collect investigation package](windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection-new.md) +######## [Get investigation package SAS URI](windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection-new.md) +######## [Isolate machine](windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection-new.md) +######## [Release machine from isolation](windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection-new.md) +######## [Restrict app execution](windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection-new.md) +######## [Remove app restriction](windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection-new.md) +######## [Run antivirus scan](windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection-new.md) +######## [Offboard machine](windows-defender-atp/offboard-machine-api-windows-defender-advanced-threat-protection-new.md) + +####### [User](windows-defender-atp/user-windows-defender-advanced-threat-protection-new.md) +######## [Get user related alerts](windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection-new.md) +######## [Get user related machines](windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection-new.md) + +###### How to use APIs - Samples +####### Advanced Hunting API +######## [Schedule advanced Hunting using Microsoft Flow](windows-defender-atp/run-advanced-query-sample-ms-flow.md) +######## [Advanced Hunting using PowerShell](windows-defender-atp/run-advanced-query-sample-powershell.md) +######## [Advanced Hunting using Python](windows-defender-atp/run-advanced-query-sample-python.md) +######## [Create custom Power BI reports](windows-defender-atp/run-advanced-query-sample-power-bi-app-token.md) +####### Multiple APIs +######## [PowerShell](windows-defender-atp/exposed-apis-full-sample-powershell.md) + +##### [Use the Windows Defender ATP exposed APIs](windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection.md) +###### [Supported Windows Defender ATP APIs](windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection.md) +#######Actor +######## [Get actor information](windows-defender-atp/get-actor-information-windows-defender-advanced-threat-protection.md) +######## [Get actor related alerts](windows-defender-atp/get-actor-related-alerts-windows-defender-advanced-threat-protection.md) +#######Alerts +######## [Get alerts](windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection.md) +######## [Get alert information by ID](windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection.md) +######## [Get alert related actor information](windows-defender-atp/get-alert-related-actor-info-windows-defender-advanced-threat-protection.md) +######## [Get alert related domain information](windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection.md) +######## [Get alert related file information](windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection.md) +######## [Get alert related IP information](windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection.md) +######## [Get alert related machine information](windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection.md) +#######Domain +######## [Get domain related alerts](windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection.md) +######## [Get domain related machines](windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection.md) +######## [Get domain statistics](windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection.md) +######## [Is domain seen in organization](windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection.md) + +#######File +######## [Block file](windows-defender-atp/block-file-windows-defender-advanced-threat-protection.md) +######## [Get file information](windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection.md) +######## [Get file related alerts](windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection.md) +######## [Get file related machines](windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection.md) +######## [Get file statistics](windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection.md) +######## [Get FileActions collection](windows-defender-atp/get-fileactions-collection-windows-defender-advanced-threat-protection.md) +######## [Unblock file](windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection.md) + +#######IP +######## [Get IP related alerts](windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection.md) +######## [Get IP related machines](windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection.md) +######## [Get IP statistics](windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection.md) +######## [Is IP seen in organization](windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection.md) +#######Machines +######## [Collect investigation package](windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection.md) +######## [Find machine information by IP](windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection.md) +######## [Get machines](windows-defender-atp/get-machines-windows-defender-advanced-threat-protection.md) +######## [Get FileMachineAction object](windows-defender-atp/get-filemachineaction-object-windows-defender-advanced-threat-protection.md) +######## [Get FileMachineActions collection](windows-defender-atp/get-filemachineactions-collection-windows-defender-advanced-threat-protection.md) +######## [Get machine by ID](windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection.md) +######## [Get machine log on users](windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection.md) +######## [Get machine related alerts](windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection.md) +######## [Get MachineAction object](windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection.md) +######## [Get MachineActions collection](windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection.md) +######## [Get machines](windows-defender-atp/get-machines-windows-defender-advanced-threat-protection.md) +######## [Get package SAS URI](windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection.md) +######## [Isolate machine](windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection.md) +######## [Release machine from isolation](windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection.md) +######## [Remove app restriction](windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection.md) +######## [Request sample](windows-defender-atp/request-sample-windows-defender-advanced-threat-protection.md) +######## [Restrict app execution](windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection.md) +######## [Run antivirus scan](windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection.md) +######## [Stop and quarantine file](windows-defender-atp/stop-quarantine-file-windows-defender-advanced-threat-protection.md) + +#######User +######## [Get alert related user information](windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection.md) +######## [Get user information](windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection.md) +######## [Get user related alerts](windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection.md) +######## [Get user related machines](windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection.md) + + + + + + + + + + + +##### TO BE DEPRECATED - API for custom alerts ###### [Enable the custom threat intelligence application](windows-defender-atp/enable-custom-ti-windows-defender-advanced-threat-protection.md) -###### [Use the Windows Defender ATP exposed APIs](windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection.md) +###### [TO BE DEPRECATED Use the Windows Defender ATP exposed APIs](windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection.md) ####### [Use the threat intelligence API to create custom alerts](windows-defender-atp/use-custom-ti-windows-defender-advanced-threat-protection.md) ####### [Create custom threat intelligence alerts](windows-defender-atp/custom-ti-api-windows-defender-advanced-threat-protection.md) ####### [PowerShell code examples](windows-defender-atp/powershell-example-code-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 ab294c45ed..f3b08f98b0 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -78,10 +78,10 @@ ### [Management and APIs](management-apis.md) #### [Understand threat intelligence concepts](threat-indicator-concepts-windows-defender-advanced-threat-protection.md) #### [Supported Windows Defender ATP APIs](supported-apis-windows-defender-advanced-threat-protection.md) -#####Actor +#####Actor - TO BE DEPRECATED ###### [Get actor information](get-actor-information-windows-defender-advanced-threat-protection.md) ###### [Get actor related alerts](get-actor-related-alerts-windows-defender-advanced-threat-protection.md) -#####Alerts +#####Alerts - TO BE DEPRECATED ###### [Get alerts](get-alerts-windows-defender-advanced-threat-protection.md) ###### [Get alert information by ID](get-alert-info-by-id-windows-defender-advanced-threat-protection.md) ###### [Get alert related actor information](get-alert-related-actor-info-windows-defender-advanced-threat-protection.md) @@ -89,13 +89,13 @@ ###### [Get alert related file information](get-alert-related-files-info-windows-defender-advanced-threat-protection.md) ###### [Get alert related IP information](get-alert-related-ip-info-windows-defender-advanced-threat-protection.md) ###### [Get alert related machine information](get-alert-related-machine-info-windows-defender-advanced-threat-protection.md) -######Domain +######Domain - TO BE DEPRECATED ####### [Get domain related alerts](get-domain-related-alerts-windows-defender-advanced-threat-protection.md) ####### [Get domain related machines](get-domain-related-machines-windows-defender-advanced-threat-protection.md) ####### [Get domain statistics](get-domain-statistics-windows-defender-advanced-threat-protection.md) ####### [Is domain seen in organization](is-domain-seen-in-org-windows-defender-advanced-threat-protection.md) -#####File +#####File - TO BE DEPRECATED ###### [Block file API](block-file-windows-defender-advanced-threat-protection.md) ###### [Get file information](get-file-information-windows-defender-advanced-threat-protection.md) ###### [Get file related alerts](get-file-related-alerts-windows-defender-advanced-threat-protection.md) @@ -104,12 +104,12 @@ ###### [Get FileActions collection API](get-fileactions-collection-windows-defender-advanced-threat-protection.md) ###### [Unblock file API](unblock-file-windows-defender-advanced-threat-protection.md) -#####IP +#####IP - TO BE DEPRECATED ###### [Get IP related alerts](get-ip-related-alerts-windows-defender-advanced-threat-protection.md) ###### [Get IP related machines](get-ip-related-machines-windows-defender-advanced-threat-protection.md) ###### [Get IP statistics](get-ip-statistics-windows-defender-advanced-threat-protection.md) ###### [Is IP seen in organization](is-ip-seen-org-windows-defender-advanced-threat-protection.md) -#####Machines +#####Machines - TO BE DEPRECATED ###### [Collect investigation package API](collect-investigation-package-windows-defender-advanced-threat-protection.md) ###### [Find machine information by IP](find-machine-info-by-ip-windows-defender-advanced-threat-protection.md) ###### [Get machines](get-machines-windows-defender-advanced-threat-protection.md) @@ -130,14 +130,14 @@ ###### [Run antivirus scan API](run-av-scan-windows-defender-advanced-threat-protection.md) ###### [Stop and quarantine file API](stop-quarantine-file-windows-defender-advanced-threat-protection.md) -#####User +#####User - TO BE DEPRECATED ###### [Get alert related user information](get-alert-related-user-info-windows-defender-advanced-threat-protection.md) ###### [Get user information](get-user-information-windows-defender-advanced-threat-protection.md) ###### [Get user related alerts](get-user-related-alerts-windows-defender-advanced-threat-protection.md) ###### [Get user related machines](get-user-related-machines-windows-defender-advanced-threat-protection.md) -#### [Managed service provider provider support](mssp-support-windows-defender-advanced-threat-protection.md) +#### [Managed security service provider support](mssp-support-windows-defender-advanced-threat-protection.md) ### [Microsoft threat protection](threat-protection-integration.md) @@ -274,7 +274,157 @@ ##### [Troubleshoot onboarding issues](troubleshoot-onboarding-windows-defender-advanced-threat-protection.md) ###### [Troubleshoot subscription and portal access issues](troubleshoot-onboarding-error-messages-windows-defender-advanced-threat-protection.md) -#### API for custom alerts + +#### [**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) + +###### [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 +###### 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) +####### [Create custom Power BI reports](run-advanced-query-sample-power-bi-app-token.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) +######Actor +####### [Get actor information](get-actor-information-windows-defender-advanced-threat-protection.md) +####### [Get actor related alerts](get-actor-related-alerts-windows-defender-advanced-threat-protection.md) +######Alerts +####### [Get alerts](get-alerts-windows-defender-advanced-threat-protection.md) +####### [Get alert information by ID](get-alert-info-by-id-windows-defender-advanced-threat-protection.md) +####### [Get alert related actor information](get-alert-related-actor-info-windows-defender-advanced-threat-protection.md) +####### [Get alert related domain information](get-alert-related-domain-info-windows-defender-advanced-threat-protection.md) +####### [Get alert related file information](get-alert-related-files-info-windows-defender-advanced-threat-protection.md) +####### [Get alert related IP information](get-alert-related-ip-info-windows-defender-advanced-threat-protection.md) +####### [Get alert related machine information](get-alert-related-machine-info-windows-defender-advanced-threat-protection.md) +######Domain +####### [Get domain related alerts](get-domain-related-alerts-windows-defender-advanced-threat-protection.md) +####### [Get domain related machines](get-domain-related-machines-windows-defender-advanced-threat-protection.md) +####### [Get domain statistics](get-domain-statistics-windows-defender-advanced-threat-protection.md) +####### [Is domain seen in organization](is-domain-seen-in-org-windows-defender-advanced-threat-protection.md) + +######File +####### [Block file](block-file-windows-defender-advanced-threat-protection.md) +####### [Get file information](get-file-information-windows-defender-advanced-threat-protection.md) +####### [Get file related alerts](get-file-related-alerts-windows-defender-advanced-threat-protection.md) +####### [Get file related machines](get-file-related-machines-windows-defender-advanced-threat-protection.md) +####### [Get file statistics](get-file-statistics-windows-defender-advanced-threat-protection.md) +####### [Get FileActions collection](get-fileactions-collection-windows-defender-advanced-threat-protection.md) +####### [Unblock file](unblock-file-windows-defender-advanced-threat-protection.md) + +######IP +####### [Get IP related alerts](get-ip-related-alerts-windows-defender-advanced-threat-protection.md) +####### [Get IP related machines](get-ip-related-machines-windows-defender-advanced-threat-protection.md) +####### [Get IP statistics](get-ip-statistics-windows-defender-advanced-threat-protection.md) +####### [Is IP seen in organization](is-ip-seen-org-windows-defender-advanced-threat-protection.md) +######Machines +####### [Collect investigation package](collect-investigation-package-windows-defender-advanced-threat-protection.md) +####### [Find machine information by IP](find-machine-info-by-ip-windows-defender-advanced-threat-protection.md) +####### [Get machines](get-machines-windows-defender-advanced-threat-protection.md) +####### [Get FileMachineAction object](get-filemachineaction-object-windows-defender-advanced-threat-protection.md) +####### [Get FileMachineActions collection](get-filemachineactions-collection-windows-defender-advanced-threat-protection.md) +####### [Get machine by ID](get-machine-by-id-windows-defender-advanced-threat-protection.md) +####### [Get machine log on users](get-machine-log-on-users-windows-defender-advanced-threat-protection.md) +####### [Get machine related alerts](get-machine-related-alerts-windows-defender-advanced-threat-protection.md) +####### [Get MachineAction object](get-machineaction-object-windows-defender-advanced-threat-protection.md) +####### [Get MachineActions collection](get-machineactions-collection-windows-defender-advanced-threat-protection.md) +####### [Get machines](get-machines-windows-defender-advanced-threat-protection.md) +####### [Get package SAS URI](get-package-sas-uri-windows-defender-advanced-threat-protection.md) +####### [Isolate machine](isolate-machine-windows-defender-advanced-threat-protection.md) +####### [Release machine from isolation](unisolate-machine-windows-defender-advanced-threat-protection.md) +####### [Remove app restriction](unrestrict-code-execution-windows-defender-advanced-threat-protection.md) +####### [Request sample](request-sample-windows-defender-advanced-threat-protection.md) +####### [Restrict app execution](restrict-code-execution-windows-defender-advanced-threat-protection.md) +####### [Run antivirus scan](run-av-scan-windows-defender-advanced-threat-protection.md) +####### [Stop and quarantine file](stop-quarantine-file-windows-defender-advanced-threat-protection.md) + +######User +####### [Get alert related user information](get-alert-related-user-info-windows-defender-advanced-threat-protection.md) +####### [Get user information](get-user-information-windows-defender-advanced-threat-protection.md) +####### [Get user related alerts](get-user-related-alerts-windows-defender-advanced-threat-protection.md) +####### [Get user related machines](get-user-related-machines-windows-defender-advanced-threat-protection.md) + + + + + + + + + + + + + + + + + + + + + + + +#### TO BE DEPRECATED - API for custom alerts ##### [Enable the custom threat intelligence application](enable-custom-ti-windows-defender-advanced-threat-protection.md) ##### [Use the Windows Defender ATP exposed APIs](exposed-apis-windows-defender-advanced-threat-protection.md) ###### [Use the threat intelligence API to create custom alerts](use-custom-ti-windows-defender-advanced-threat-protection.md) From e0a623d24f47d750e4d4922ef911be56cb4e6de0 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Mon, 24 Sep 2018 14:43:47 -0700 Subject: [PATCH 073/162] update images --- .../exposed-apis-create-app-nativeapp.md | 23 ++++++++++-------- .../exposed-apis-intro.md | 14 ++++++----- .../images/nativeapp-add-permission.png | Bin 50358 -> 48607 bytes .../images/nativeapp-get-appid.png | Bin 20758 -> 18968 bytes .../images/nativeapp-select-permissions.png | Bin 52601 -> 50864 bytes .../images/webapp-add-permission-2.png | Bin 14912 -> 16185 bytes 6 files changed, 21 insertions(+), 16 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 7cb9fa31b2..3c5d8c3321 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 @@ -25,11 +25,11 @@ ms.date: 09/03/2018 [!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. +These pages describe 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 need programmatical access Windows Defender ATP without a user, 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) +If you are not sure which access you need, 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). @@ -40,10 +40,12 @@ 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) +>[!NOTE] +> When accessing Windows Defender ATP 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 Windows Defender ATP, see [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. +>[!TIP] +> 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 @@ -74,16 +76,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 example! + >[!IMPORTANT] + >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) 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 [run advanced queries](run-advanced-query-api.md), select 'Run advanced queries' permission + - To [isolate a machine](isolate-machine-windows-defender-advanced-threat-protection-new.md), select 'Isolate machine' permission - To determine which permission you need, please look at the **Permissions** section in the API you are interested to call. + To determine which permission you need, 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/exposed-apis-intro.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-intro.md index 9afd0591c4..0108565f75 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 @@ -33,20 +33,22 @@ In general, you’ll need to take the following steps to use the APIs: 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 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. +- **Delegated permissions**
      + 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**
      + 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. +Effective permissions are 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/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 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. +- 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 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 index 32860c3359b2d6a7f2db37b29401e4d13509d578..1f7f423e4923aed64827713292e890ff4a9e3062 100644 GIT binary patch literal 48607 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 V9|tYLc!5B4uIXLPzjFV{{{RvG)NTL( literal 50358 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 z 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 LzbbiY`0@V&$Z~~~ diff --git a/windows/security/threat-protection/windows-defender-atp/images/nativeapp-get-appid.png b/windows/security/threat-protection/windows-defender-atp/images/nativeapp-get-appid.png index dd7551d5a54ea47e66cead651a40d50027fac3e3..859e4fa8a3aea509cedf708c8fb0d1abafc5d6f5 100644 GIT binary patch literal 18968 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 Mr>mdKI;Vst0Fyi;V*mgE literal 20758 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 HfAT*7-xPsz literal 52601 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
      &p@{WtP=SR;Qw`UxU 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 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 9c00076cfdddd8010bba326ed4ae2d93888851bf..8123965c847f2c318eefc2f652f69d25541faf83 100644 GIT binary patch literal 16185 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 literal 14912 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 JU~buk|1a+D^>qLM From 05e34b0e442c875e23c6e9fbe75401a523054057 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Mon, 24 Sep 2018 14:47:22 -0700 Subject: [PATCH 074/162] update exposed apis content --- .../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 3c5d8c3321..c1525aaa7b 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 @@ -74,7 +74,7 @@ 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** > check **Read alerts** & **Collect forensics** > **Select**. +6. Click **Select permissions** > check **Read alerts** and **Collect forensics** > **Select**. >[!IMPORTANT] >You need to select the relevant permissions. 'Read alerts' and 'Collect forensics' are only an example. From 8e14ee5802e218bc17ba59a72ffba8271d1e8d29 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Mon, 24 Sep 2018 14:56:09 -0700 Subject: [PATCH 075/162] update images --- .../exposed-apis-create-app-webapp.md | 4 ++-- .../images/webapp-add-permission-end.png | Bin 5808 -> 9075 bytes .../images/webapp-add-permission.png | Bin 35593 -> 47878 bytes .../images/webapp-create-key.png | Bin 28850 -> 33958 bytes .../images/webapp-edit-multitenant.png | Bin 32504 -> 42058 bytes .../images/webapp-get-appid.png | Bin 10830 -> 15013 bytes .../images/webapp-grant-permissions.png | Bin 10183 -> 11871 bytes .../images/webapp-select-permission.png | Bin 30641 -> 44931 bytes 8 files changed, 2 insertions(+), 2 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 dc17193063..e0b16ad6af 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 @@ -73,8 +73,8 @@ This page explains how to create an app, get an access token to Windows Defender 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 [run advanced queries](run-advanced-query-api.md), select 'Run advanced queries' permission + - To [isolate a machine](isolate-machine-windows-defender-advanced-threat-protection-new.md), select 'Isolate machine' permission To determine which permission you need, please look at the **Permissions** section in the API you are interested to call. 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 index e0fb6d5cb88c90840f24e03495d072c284bf828a..40f15eb65ac4fe333f93272777a8ae970154f21a 100644 GIT binary patch literal 9075 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 literal 5808 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 LR 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 M)M~5Xr`;$14OO9>r~m)} literal 35593 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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 index 31e916edc59f75aed3a99e03b15eee1a5af2e692..4ddb1fae83bf0d1389762b427f0c797f59859f02 100644 GIT binary patch literal 33958 zcmbrm1yohr-!{4}Y!DS`P*hM65tS|zi%?0C5D<{=E{_G00wPMPARQtg4Jsuq(%s!4 zUH4g>@BhB{8{@q-?jFN&j?1;zUTem0J~h{?JCfJ;?xNd8B9Zpqym9p&iL@n>MB4Ox z2N{l(X371)e|8$*xNk-xkrxnuHu&BzAap;8QYlZXg@Y5#ZiuZvt#{aO9NQX%`uU?X|4jOHwLSUtf22z9f0+sKO_m6X!ziP_zG5%9*|x5fRJU zwY;Jt;?xh1k z7azX9w7B}u%>8|LWF86$O{CGM1yyyeI_8Kz<4Ls1=?Iky3=a?2z54G*C`$PIpU=02 z8J%4=KCPd+dwTSIYQBCwCsoYC!ZA3WH9^+-%ljyk=f)Sp)eM9gpZt5Si;pzr#%GG} zcqGflr`zO~qdbx-8=L4gh zYqqwTNfN}b3h9;j9G4IB_GLlPBdevrFtd(rT zR~k@2TrE5zf~U;?F3~uq8jlmIVk>g{FPu2xA`!^LZI#TD7MHADHC=wb>UC&nRg7%x zV0}FO$B!S6v9bB$fV7lwVN+qmmeox67_ zpKYfwG+%GcFncd-$HVGd@@_it{reI;aAB}jd&%>i2VA_oBENijy|%i%Wgj(lF&ZMl-BP6qPr=e5c|WM{Y5bS2?3Uz3wZB>IAd zY|iDa^l?tj%xrmB5x`y4q57e63P0POkTu?2!WJ4gW7Xi`NemXHoW+>|-pr5-r%t(| zQT255_(c+V?D}d~kDL<}48$EZH1XO@KPvKMEIVH%^sG?5t4>~3bF?vuw1-(FNJ@0| zP3Zc{0P+7Pr6a!RH=RS5++1H_4>%giltiVNJ+IM zg)a)H(OKsn|33UdYpLt^$15IuFDaN43S<)OIvnO1Idd0Sl(Q^9yzSOo+zNjlkP^D|=+QA>HYu&;xv}RjUexi6oIdStF;bs| z0f|=e$jiDVPD~WTJq=4Xsn?i}&tN=H7ttF{mZ`4&NqQC`JZTF3a%7e4FB!}w}UnnQQND|9ox-mf%+7BNdp zp7}N_=8=ZPfvkyKjq%ouixuv!6S>Qtvm*^N`0AfT)jT=IXB+*MrMH^htX{>hoaZR) z?d|j8ygY^@H;!l9G~&;>+_E`{|eF z#&%!q$aPrk4>Wob!0EF#o9LvL+%#;Tah#ZD4T=2=xTTWlmQ0J0$=TU$--pbV`fg=Dx2_tQNa9Rp(_>oic7naft*pG;NunNcjvXq zb8Kh3pHYZ>KyxyAOkuS3)kaIt`jl|%)z>aBkLQk9qQTQT90f7>F5tg*!O_c!xl1u7 z#YV@Yh#RUndg@fnk5IijrBL}mVSb0Dp~#W!kaL=@Nu;?zqul7^Gk?`ZL_}I0=G!d3 zVTg>mYAB#JH*MM^R(MD^CT*M|>&nYLTt3xke$|<_=&OqNFt(nN?Nx8jw$bm%ZEMVR zShno12-F^(zhL!eXw5DSe;0G7sUD;j#X!h6OglhN@789>`%NlDsA++hg`ItOWKGjg zZ#Q&d>k4{-bJ2_=U}Q!&xg$PJK2gOYL@n83L@w;yaDu!2s1;s67`>2rgY zZ$w3Cx1W(XDmI_V=RH#K&7kESkAdPd3Xb-4lcU$Ym~uw9csy`hmdv8(HGH(PFhyFK z_RqVpmY{4eKQ`8qc7T?)W)mG}W8b<=WzJMzXP&~JlaziBJnh7OdLO+m#BftNm6`b{(Kl%c4Jvl=eGNgj zrLl>*irPz)rGD%?ckH;Me#$hM=G>zl7}IeN(kg2{5~KZ>#fPTISryJ(w{MS#GmBVH ze&DLOgN3B8)Nc=?z#EK+!QDrRm2Q(^ckf>m-e|LVDas7T$8?DslVvm_xSpN(Sr!&v z^8dF>rnD(h^YLMd?3E!FE-YP=CDFtMU0ke#{=cum|9!y*rtes)1js3ME(P)$kv%Mb z$0hG*8pu<@P+<|3*<3?O{6y;?3=rA>tl(Au{q6thc9iU-wjXBU{XoA+b~)|m-Vow$ z4KK$0Pe@=+C+FnJlND{@zc|>=oT;oia-jre^9Ke+fcfa_BUcnsb!B&7uNAs=>(-7P zJ06>_zdx^?KK89ek?T|a45lHbX;2wc+M|;F5t6~pyC`3wf8sw~s}E{F!5nuj;X3ah zYN7FhzaO2MScHVKe`tI&Y%BF-6buL|uvJu3JK`m}#)m20H`}0^nC3LqT^Jr2>HFr* z)kw);MbV4Im_)k!r>FVs z7tX4vsANx2M%@{RtSe`R@@fgk0 zEBA>zlEt*5GFY%-Ft_Zuk!4meMkla`i-$*Hm+=KFYl-@gSGH@Fzf;RrNmAc-+yBhA zheLlpi>dFLY}D}L=KI#%6D`adSyM8SnCIDMXf&5TW+{j|ZJ3-wMMqaEFVm{%y-^eN>hx-BG_%r z2e^=@Zy)L~_nz`uo$lGtq&m@t} z(b3U#TQ;)RaEnAKuqjE}{@9s%$Q0bx0Ti7-;P!;*%!xMnXZyWb6vNU+~-1+nLD>o%14E_quJI@CN1qrn1 z$>-dYmQGTPN26`7jlRgr%8EXs;WvGhEO#u_cKD>@QcWmbq8?ks)YO!}xHu=k>@{m^ zzQx5wu@_aksdPPNY07rx<5TsHV+oUm#l;7hnX6DN-FF$FP$he`jbS|zS{e)+ZO@^9 zf@hr>4D&J_u8od0tkF%K2L9epPp_AqmRgq}(BLS=nR_TTt+1%b6l?bFIr@VKud1ni zoXYAQkF|U;-{U1}_@z`a>+7&FpL=6ZPY?RqV(H|mQ|fJ*7UiL$9Sdy)5WNruwO>Vy-o z$UckV+E<&lkiGWvE8IdM^c}0@jy-$AAEX(^^B*LgJ9iF$JI2EDsc!jDMubytQ#-$yE?JFKKwgajTzWu%*W@jbRk&KDk3V%<@fJ9 z`aJaH&d>5z$Bgh5?v{6J9qY?ZIB^E^mcHdvSXiJrTZ`Ma?c1egWFBQ#mX@B2vAyG) z(%0Xwp4{ZF@#)j2cf3YSm|7_*7s&R|T)cE?Q%$6l_V*{7jvYHj)4Jp7o3 zIIfKU_E&{g;Q@!0cJt2Lt>bGeJ`P&i+6NdIS_jvjKHdD1oYA#HD<9qYV>|O%^#T`x zVi_5k$#%Pmq(>z_WKLD3rKQ&36gKOt^Bx7Yx~cWcjEtg=LYOARAWv>`dG$(XI`sf0 zWkyq~Zr=qqwn#~J#RpX(!t^V1Eq$h4BO|x<^-r6am=qKg{LV1bF7jgbN=)SJ>+36W zN={A=6xQ-Dy9Qu)#((#dE!)Xyn9n)yrH?3(38yU&Mkewr4I`rj(9E6W zL+9AooPof|D44`mRG1R8r(I2y#*TgEUm3T`i*3-tNtnj%RB5sb3ODZDc|B#j^mizG zWx7mkmV=WsQRQ53LbxYAuV+vY!>LoJcI@1FL`W#e)pgg(>MAPOZW5N&h2>?{!V@E9 z6&0GzDLO%XCY#*~)$OMm;vew#bPVa#L?~OF6LMHGFV{K`bcBLwy!2P+iLJ&kzQ4A% zhW4w?I%JvEmad|e{N8RnBT_|FQ&ZEOo|hcgagXLYa^#3RlQ7-)^pU^dP$LXxCic`b zGc!kz9Qo(??YA_3)h`{dXIYGh85*9!R2^+eORSzFR;z3Aiu|)PGX&e&JI;RUl?-;f3`E7tu&L@BuX>zOHq4{T~m%7FRSmX<%zsdMnTIva&ls5WgxzT2M?0C zWj#O~_Jb1tvt|3)_u``+d7-7Hw*aNDUA%ZP*mdIjKU;>HlG${0bl&*+aT#}BJpRqJ zW}&Idv1q1Bw4*cEOJvCfux9M5LAo#1{B|p=R2`JmixQi$1PY9&_mKD8PQW^)S|{+c z>^>Hj^;y+*&Foy<9+0Hq9W#w^z~2itx<A^lrDZHmDZ}T- zv+ceiA(ApO2k)G3tEsA@2&~YO*{3%%Hy4qT@@8el{^!r1zbY&7mlRqt73n$-RG`Vu z9|V>x+WQGDNc=3AFDpB{TU^}f%U7<91a~B9TsJi}HRfY@SD`gMGjo!IgWHg)Pf|Bn zlFe>@ocmNHwO5IQ3Tl6jo=JnU6>URVm+=>~fl6DdU(I@wdSzv00NSpfKC$!!_`Q8= ziqTT8mCRL`jaA;FGK(+w<<@Q6rT`O@0T~DwnrSuB-Z}9YRl}bGO&6_v7e5FJ_g6BrPef#E3r)kC@h6I*& z&4tOXJ@h>8z{Kk6>R8CP=^75-RZwujWaQ%F68mJ=U9j`=<;yN^Zs+$)N7+b@0O{b7 z_b>^)LvK$%V_tcJkwgGoa7(Vh3b8**N=oHm?XO{IMteX8n_qqN~x8=Q6FQx^Ihk%~kMr#GQ|@ndz@` zNLY{yAtccYH|X=6$HYeQ_TYjFRCD9!+(d^LuJilDCCtFzVb>`>ur3Djo3SQqRs2*> znnb6aw;ET1kDXrKif;s)7jTo*L@@{qNmvF!2bQ0TfT93C`-OS z_W}bOfcQsqs@^6(r!}EsFXp`N)HS(SzwGSnL(!HUHvrs*hK6QyQ$WTt{EoA+rM0KD zV`@%~sICVTGugR+_;47#m7k!T<*svQtfhgX5Q~;+#;~}Zsr+pT)&twNZ6nG|os4hE z^O~Ux5!0DtXx7)SUz7Ei%8Pq33A>g&QisZ8vA^r*&&xeq6fRx*=Wd(D{Fvm^wwmX= zckhO_bp9K&uZuCYem4SFAQdfBD>%HN--J@@EFaKS-crX$k#@0ZlaKUf3^Gt4YF`1l^xS5Q}`jGb*Bl@Jmh{@4u2 z52Bk9nU6Nf7*DxnYCGP_e~441{LM+}h4%T}?Z3k*cv27KHG4AfU%qi;#~FX3#$mLd zJbk)%!f9QQLTHkNgBWY#tOvrxJU*crRZJD_a-u^+nNcMcmX_#b<*lARP*IUoR18Q8 z(J6b&0rjeNFbm`yat^VsaB^Px?`P?$gf<9;B@yV+`UYorvjENys+VYp5XZ+M`A5W!4&|B-uNzns;v zI{x;yxL%?%BcJhy{r_si-er%cdd;CBakLd$Xg7XQLv<{#Q6q>YsO4G3*}Lb6E8w&D z?tc;829_FI&RJtyG%!BiZrpaJ&8=3nRNf=M_fD4IBMxRHrIeaUUh7@zbPO-|OLujy zYBf&i&m^vTW9FXeDbw85y}Fuy&wq_i7g4OJ+T0R*G;#t}1d`A`5@)IXde#9IV58|U_W@aY+ zsj1<&n>&s1m#%b1WPQa9%tHid!Lyz&hG z9zX7l9R+j%GHf5XImj{nGAxMv6rCCppT+P&Qdd`(`B<|b$}!FIc+R{EK`%FV8uJa} zi+Ss-6N?atF9Ux=70%a6HbL$A5aFt*pwLK{4}O4;w_fe35*`0D%I^d$PE`rdGoXI; z!5BGx|LfK#9qViJ_J6CdyE6*Dz4VN1({GeTR*8T|t*3WB1V@Cn?*T0B92x4^%s0MW zbYT-gy%sSPTs%Dqp?2#-h+U5~HSa1amcng-zR?dZ{i6DR*+)vE&1f0fs&`!ZH6|`M zb~giA-8nD)k-uroQmZ1MaH^-+!@!N2lSfOabr7_=1n3_sW(YZh>lAJT=?|w)Tz<{`w#$;^@60`jzK|5g#C1Iq3D%A{HV$OjU-hv-h zErsrU|Ngz$(|3V^WiFIQjRk^FD|~tK`t?4H4qWN^^Q|h5i+utmy`T>?;DtB_G=Npt zC};K%z6o&h_VoRq#mr9n3`S`!O({CQNuo!Ne3VTfbi!Zpm-SF80|>_o;IhZU)b!ll zyLU-NP9L>Ojm*t2U>z*7od2teTS7y+YtT0{L23m}L9+#kI0WEJkUXJWUmy_+wX-wK zDXE(`ckVuP`fM}(*@q;k7Hn*6#e+b%ulCTK{m#cKEF27wO7E4q3yRANYL%$-*P6PF z2?_^3Cu}#D9Wla6becsps(wQ_)-^HiYULN^S=P2=@TNQ*#sxc7gxb=Q#)xXRFxAsL zFyI>;T!GfX6CH*>0BQ*!eKxS-AQctmzI{*9($cE^y}T&E`z#_D8v4xzPM$dN0nEX} z^E|v4v>^tdtoErd7y8dq9r(%L#u4N*Pi`kbgDI1-=>$KO_o1#3m64E7dJql-7c(mY zc|mK6UVX6hvzR}Zr%qS1`UF`JgcsIdQtzh zP0m7*q?($V{cN55BQ34z`UghJW=|EH<5_L=RZxog+v zwH(QVy89alAEYEoP$w=b>alTF3!ZubP|7tgPZalXMmdwjEp2-A=+RAsAj6=I8^p>6 zfDB{qXMR4t2k(UoZ%~gK75sJ6S{DD-NR6a)Ns8s<~5py6;^@KUv!H!UAa@ z6O&{hj{%L4^_OZ-+}1z;{3G^h7|zen7rW73n+~~sR$2Bi5%sUjakRv!Ak0~NC`=b6 zu2}-HFo-%bJOKx7c>mL$d&R4t#wo#_BGR0Da?s9PNnkjjnYhV}Be0ER-F{VYaB##6 zaBx)AsQo$~NuA{K zN8JH8>bbVM*vy4OQ8{_#*7vJkb=pPq=R8kl>Y2{Ix1vx!mm8BJDi=yCno-a1k)q6Q zIq*WnwauVqT|wEttM$B2>QdGtA&DF^k6EWhJ=4XcI>Qk+x8|i!tVLFA^cs2zdS?iA z@#d{tG4*Y>*RCc!5Pq!viZu6gSVHCu;|pq%v&pIjCuxk$BZ9GW^Fz+Q^{I!!hhpT| z?ub`8EhO0Z|0fF|ufbb2@V7>fb6A_xZ#Q%J^QxWiYQp~E%Pm+mznn9hINO{X&Utdx zYikUNtg={J+>5oirdIFwmojBvcG?z|(shl>YsD2^e}~J0>|`612va=_@-j<9lBJoW z=@HroxBL2c(^EKH>N9+@BU}B9q&~~!>UDBPFGtVyFlwIoHKSAHn;0UxdAV=;G(4>u zvcBN#dEIQsit(wje_~!t@R)9iV6x_T=d~`X8=U-b_{BF~?x6??zbP|aPkO%4?^4>z zH&_D?Rr#qtbGz2L+%;g4Sh98{C@Usub$Mxtd}UrPQLH7ed84&P?)J%C?ak!bm3aN5 zDYuN{+;Ml>!i*FtPMO1O4>Jc%V#lbnJ*=djFj?oE4V{ZU5T(v3>r86h$tZKi{&mf6 z&hfIM#VZ$cuBXp^XOCc`DpLu6G}|7Kn^>T#8g9<}U1r6j;Em$W{=V*vuX@HwbGzG% zmM?#<*K3tg$T?&=U`+nl>V-zEgG0;QCd(~exz0`+W4t!*{zD3AvqK+Bqv7&Y>IG%_ z%y-Bz=nk9L_y0Zqd7aC7I`*dcNR;ei_GJ#My#adqs9mPBar)_~ z{{B`{bD#deKNF($%26bqA6oN&>lFvM(>=dZ`Z_-4G&|9;*Duc|)J#K5`OO`kBOzLO zWYkI{jRB*(5;IT^IBxh!d&|9sa}V4g%=ohPi&$6k;muECUQiph*ZeZCk9omKH*%ZZ zUpajfrSuftmcOGmUCgUFZ#b8ye+K;8U7X7s>a%mAp}Brv*^3zp>BT0$V@AT0YZHsy z9WTcvKaA$&a|b4#2#HXA7HgKOk>#$J+m8oH^OTd4jE#+5G#*eBX|POrH4{t3RQdS6H)k4%2Q{CW2= zpM>cEn31hdh3@fN1UoBxI<0dqrq2j%tDGqs(Z5bL@W#JXLJOMstvh|gvkV^oCRU9_ zk;&gwCz*1+#8#GP!zL&dModnO^~c3#NRNJR*1lHDFh5jSW6wxO=OYa|{_oXKgRRo+6FREn`|ksyclmc_c<#Wu^Ee|Im9{^Mw6?)H0cxZ4g0A=Y7WY8Ke~)xzkBBbWmBIg z8Ny1rmYExVCNx@FkI5~`(!i{PQpQlO$V~XX>%4>#ZO*}ef9^r7=&gv%%z(U!b_#>$ z{Y{@8@5w_Hdv#v2SuQlMo1O&#!Q0R8MVlep$&;@j9B@JDfzsw_H$45}(lZce{z$1% zEkI2uSzo|Nw5mcXAe}>4gudtoG)>>q?l7-RBozS6iS-T3Om~fxsAkhwP5st%Z|xA9 zm%vgDf)Lcap~=%boO(sYYjtl}^4_&Gk!?X1=0P=$?M&8A0ne=T$a**V=WeudnBHt} zZCRPy@3oF+maI!{_t(Q@@*G$B7-cSH&78^3P8fZA5OVw0?c28)uPm6nhHI7*VE5VHH1UoAR?^@}PGvR6hdI z2RisBV}SUFJb?uMB0xvoIUym2sGBE>-D$5VDA16Oin)I`O!IyJ{wAQ@A-5M9W&`(R zWS(PDhRW_ybO%sxLI_$lKm@@`z+yP;sd~je7Hqi5;cD?J{5g%$(vdXQ{hcpFmzAb! z<>v#Wt$b{fKpNrwKFja=uFvD^>$?RQi~vC5fI31KiC=<7k9g; zb8M`w(}o0e3P=rfieHw$z>|@2f@>rHr4v-l9tkq?xiRwSaS=wHmT!ysXf^Rrk+vvZ z$Cat#qBpI8A6$+r)~65cCJ|JH;FlnK27kx%#(T{mFA_{M>ZT;8$OMQbrU~XtW2OcB z7P38$=aNc1j-Ed+{VLix^FjL5hQDuN)5{;J${?_9OngsPO(16ROkcHn^JWV3-QnPa zP9bsk%>=$)k33{o8I2*!!Qn9wVwZ5OnK~n6kUuh{;m+mesmGq%S%5|;Gu9BxveQyD zqL1lPIuBRS zeLAk%A_j4gn>E%%Z=b2^A-dgA%j0-Nz#k$OaL@mLH}g5J$`T@qcLX6o{Mr2G9g(L~ zqW$mS0F%udcLX?;&QR0y=yx_IX{6{ic>elzgP@J@R5bLrzvDAu0b)d|#M{?5A6S+a z?7`2^59$HIL^3VMO2O32G2Yqipty&oAsB|GT9Cuu^ex`DJORbMoR=V5cnvx6YGpttv}$#^PBeWIKUhjA^7ZE|Ivm2oW43zOH^BoOw7)S2zd(eM7$jMnz8s5F5 z32|J~(XfL|Ff~6v08?=bh=I`bucJ_2@1a_Ly5>f>oKWy_pxZQKVK_FC=qaMHh@{`n zojV~v(7YmSC#3V#A7k262)wEkUZLL>b}Tg?*VuSQE_pP zAcyETeSLwt$c52>_<+a!x~JecAsgwpW%?mlP}elD)&?i#I3HhQ4I~cl*x#ciLlu)B z6|V+Jfqubi>qb8D5h5IrvZ@emF2IkLK)}z=4uYUxT2{6bR`#h=yNryCdK%#$BMw*z0Sk4D z1GX;`oYl$NQiRwXSb;?Cf+S=kqG)=`rQ zc?UoNLrs2Q1(Nt5XsWoQ;p3r*k)SOJ6CCX)B{a1)tbKKa0b1NnG{K{&#MRyWj^#fuKr zoi!=#n;mQMhg|}9i$=tr4>br?H&V3j^chNT`Zq-5-36XKjQIdT4$a}wYlQxWyhc=eBd6sDM8n{?%|e&+P)izT zmFT)q-cntndw5t}+@7fDfP%upB=i)SXgW{bV09QQmmL%$3x^3egqSU*Z%$fx67sQ^ z@SH-AP>RLho&5*--8+hk&Eb|%IcyNouts2lP_3~}J%mXI zK;Q$BXg+VCY%bY&{vEa&;=nz*A$2Q7EH!O$DJe3O zTE_xUBl~nCDfq`lF0_8R;{k<9puAn_sj6!BUtZM{+Qzw=T^d&mXIT5V+Q?N5nec^e z58>PfblYtivA%GfN{YZ5TJ^&vL(RiFyf{7ovJ6_?zHXz zZ$H33w@&vsN)X^Fx2=24&?A6zp_%gYu?)wTpNPN^d%#FvkJ&yUKfa zuJgI9n$u?OzO|6~A^iul-Q6atG-f)wU4;CLz9b@dxVM(EW2~(EnVDfjAK~Jv<}2`P<#DH;XKbFvywSj9q!S|<0n%g*!^!2r&g!+ zRYHM>R{8df@-5t;Tr3sIx1<32Cl)5w)2H_!5g;xu?pyq~A#cr3b$zL!C}~<#b;qBqYPZp)s6A)R5=Z~71<$R_>z(mEcwbc>3v1v|DhWIt>Oj2o9yMg zK6Q#;OHS3{38WP;KcQ+rwGA?|HkNUy+0eZacPwma2?P?OsnMyasX;Ev!STPt8d#oa zmRp@FOQNHFV7JeWx7|i8AectXi>U(stqC8)-XcCk%y1h$hXsZL-@l|s-a-9hcb4VKGBXRKJzY+|!v9ALvv?8QJE5RV6qoO(yp}3$< zgt`fbK|Kj2%=Vhq!MF6PT3QkNH_C$d?Z-%;$_S&m4?FB9$@gZr{rVwOJM$gl?4S^lE9F&fH{pQ;^*z zr8Jjrlcn|T@`Y}lSI>L`%#nRj+I<}g$p}_WfNgn+8i=gK=l^1R(HwWApw+nkIO{b- z{`pojugEJzJe*QTwjv~G_)4ma(k*0~kX6(~Ac`14Em%Ew?%hiy&}J)91Tgdn?w#ND z5ODjc-Z++o8A?78YV6Cy8ykOGp4Up7J>;Oa7oi7&fz{x~9Ibn?uZ zi1hUIA6zPvT-P@+aNWd&3z@Ydo~*V?M1zoh$m-3& z;$_utn?C6N7?0oXM#=X9s*HtpYXVct^{I%z<7K1a6+@16Y&bYHAYj*bAWQdeOin8%AZbls)V2`YBH&XHuGRfyEfX-+FfX8sFUUo} zu69DA#JJ39)AY(r)l99l6c@s*0xeii%3P_~35TUw-62psLZB`Ska-^s4H4S{WYI*{ znPiUKD`+qzwQEG7*`<5;E+rlechtjx5)Ip!@NaZ|eiHdgs%re`S^dVdps~>1f<&D{ zz{@eQe*E}>-4tPo&AWE(!hq4nb|`Bb8_EL*o|Qc6Cc+^w&(C$o1urNIkz_08^lJY{p%|f`$x&eA9xs&A#?GkzFM ztI!V9bJR_HUSQ(^>PuJILO7>>2|j+yvwM z5eE6j)+#VG<&i{hm)0i`y}jiK)CipmWfpV_9v^|N5NHImfJ?Wx_EHS?#D|E@ImpVw>*qbSh}{8d zJw+aA_UgM{2L+X*e_vB+ z_r~9Ui!ow?K&&1n4Y}l~?;;LM#HKwY8Ab{aX^@0pjNA~*nKR`0VMwKyP!N{qC)ik7 zUxIC*UsHSB!I%#pCV{~aXc%`t2y&0BWAtGd{+l@KMk!HI3E_I_)^U_F!-DWY)A`VZS*h0r+SZj}6AD_qG#43g247+(lkfFvrC#PU1qgJZsPoG#2 z(DM-8Vr^&F5c{@1;X`JI@AqcEYG^`tk-G%yzj5>CkA{XcNsFm_J=jh5St?Y7P%>aT zb2mE5%2Hv_KY8+mtYvy?3i&H!TrMNYn`1YhV8z&4Vg<2iBxt1H6DggC4-aGO1PQUU z&XEx}Y+cITW2{=$oaF!J4UL8sCg*aGqY*Z65OX*#&K*eMwU5tFLhI2|6+Dd%L#Y0g zUW9Cc-BAS{9ifowXzI9NZZBeB(uKKLUM)D z>sgMsN*g%$_1f`@M6}rG|8}a5sF+>N(GnNmgOLhYjm^N+$m8CWluVG`D{<=`0oZs31j24umBR}HFH||NKc~v%DLLLf!B&D(ctcd}W9D)%HyG(s7Npp3n;0nGO~56U5et8Z{+(DDnU^kI%kJ zQ8*1*sxT^~PDK01({0(a^$&1|$jTyH{zE;9hN`Zp(vQ92n}i?}{a@9;yXao#+ql2? zp5Pu~w0&?3*_*~xJ!(RjhgO1qnw%2$cFE7=B@Z3BJ!_bcEP8nxnZBKPiu1$cBvBggD5Jo?QS?HZTwM+c2x+{L*70< zmyv9&{^oKablx%f%>Z+#WK#a7@7`A|nHU9KJx10xUqr$zFGSQ!wJP-bwQDbmyY&ft zJhmoQ>q~yfFUj03IIOU5<+|5HM_VT;ffV`i)4X2bfj+Q75DST&&#{@&B0-?2i5pX7 zo7nPwMSn*Z1@9fdsM(JruFa{6H>ISskvxjGO}H>>Kg++X(*8=rlcLDxJpuyrc+0`ECh{XYOhqgq%a(h^6$rxLE(6?s+3^^xhlS0;E^}IU&$lgX)~#|gum95 z-XkRzTt@YISL_5j>OWR~6A2E;O*qNTU8ivS0%Uv?5;Nx$fAq1F@0PiFO8tk8HwV<3 zDj$m^<+%>s4wX#n>i8(!W7kpQ`z+A1_#6BsQ!_It3Pm&IP7n!u(!Vsy_uBR*e5iMH z{6H|0U-5Buk+X90`C0Y(L5VN`$t)P4bOVdvCmyf=bT#zVBiE2FV!W*XF%JSjiDgBF&%pzCTCbJqg{jhuZAeX73 z&myToWhAFvFX?{5yrWaSqNBeH8C(xF#2kx|IugHpc{AaafN8=D-TghCpX@tkKKA~o zp~MsWr~rZJylBB2ia2IaWFVPIW1FPk)Wty{1Y&i>7Fivkmlu0=GhFYWo9<*?NgCg39CL z@up@Olaf9llEETz^PV46TIqW8;~nhNg$JDy*yBZ83T`tqfB5pVBqniJ0$)2cOXr#) z{h6G*VPY`2u3)HRpE!haU`OBw683n(IE4wryQ>MCoc7bwzQP*=u!X&-%XlBM_qYYP zV~vdpSf@O+Pq`}XrHa@fu?8b(8Vf6~+v5}i9n7wsJuAMo7lO{W3*PJMeLtH~8!Bw| zY6r(&+H=o|q*fx9ZKK>p)&s2KhoOBCkY#MF0&c>l6Q@sy1FaeqP0!D3qr1?7kZT&T z%?3^cM?ccpMOw+52112dO+U+Q_QI+1NmVJ@=l~{* zpFM~76hw%>HRCj$8kyyqWeJF;r+D7kqdjce~yS~=RUja3r;NT#FZy4N4 z(&ga7@S-4Yq$jjOuKQJ5s!sfyon2Z>wy6zhA6uxs5B!Er`w*0b2?rayfw2Yq1MC+~ z2{sA@l_(fuo*fWChdoVDa(O&=gJ=LXa%qW=417*&;Oe}LS3`thYc3JVOvjR4ud8g( zXO}txI!_$N&+?>AU2e##+^uY_e~8j#`(Dt0$-3XaNl%=ew*$41pr|W1l*npo9*11o z5c~j>5Qb*%;H&%K1Nb@l3yDfO0EC;6nucyl02ypj<_oUW^Yjl2a>tuW9-YGm#Qjte z@+Gs^e$?eQFew#pX_)%-@#8;$#$uifP5mol7JJg~T)ny#%9M^ttFE51WaI$~3NJko z&$`-LIQ|B46StHm1UPH$>91XFy+)*WCHn+EepQSocn^^=9+0XeHebV}Nbh?~SS$He zRbKdqyVBCc%PI(k(e(#foCuwhZ0AOALiLHILE4B=fP;i=d>$BPyx`I(LN4kic5X8< zF+t}i0`EP~lL5!!%iuOV+6*Ic+rXSe4EH;-BP92RgcT*OO?X$xZL|zOKR^1RO zjW*LhfH1=9gGmG*j|+R65PgKIN!&8FD*a0mMB&2{uP%T9PHfH=$95T%1ni^8$D0J+BY{mgI(Q*VaMt%RM`X9B-Beee z(w^5!c^BgC{R8jo$luOv|66TjZgTSRRG}0q82Ym4@$QBWb#NFOUPFexd-viIQwBf0 z_49*_j+(*qc4~66b8UHo4GfRZskNl6?7YAyLa4wFex#E?g88h*83?g)$b3I!3}G@h($e`b zp%jDc(_N(+b_Un!79yH}J&m zOk@wCIS`f+j4GOZ2cx`IA`L`~$3-XxRhy8h&CSgt^#?poVe4^0!BtY&MGLA3^b2F| z8rm()Y@AMU#5+XP$@e-RCFJ8bXcEt#XBnUQIWZTm0 z*$dV|nGJw_u~_BiGu^+YpGt*D9+4oFO5R?6THmW1j+Yz%q(z!01*s*ndg zoxvZy(cRcf0L+8Tz=!J3<^sXQ)@TgwEdzPnRu-IPrKM5P(K;p${v+Y#`T5UcVovou zpZ-ackPs0&()|1PZ*_$a$n-;K8azWF6KsXX(-Irl-4i%2Vq5?_7wz=dQ^{(Rgmpo} z#$5^u3fv96b$YB;wY9ZS`l5dRr3(_UaD@-M`e_1;gZ70E0#3wcv4_YVQZtf|3Piu0 z$-|30Hj)9LX$U`%_RyXSXH4r}F2fMN_RlVw7tx7{M$U;HFfPysJx1lS_L*z#N`;ZJ zu{#Icj>;EjMMb%wm7!u_-~JK1xlyi6r!xuU1{l098Bogem^K=A0mVjmMa~ROuPfNv_;v}N;VT;Qyu zXhMg9j!txSH3#s^moL9*b{=KnWuwCG3LPajHpni-9splojXhQtd-E+!EY1VK#|8$a zCoJkdevEK_3m;e3Su(Pqwh&q{_)@r&NFYtk0;fFH3 znb9ijE%PUNRR=#r3pby&o72bp4k*6k%I^`|A^~w@J^rRp2~7&`KMKT2ba|Xl0Li&v z3&JMSEf++10Xro1&F@P~OQS=FCJmNF%&4LgLIvGov-+2QmehT2`Koz4R_`9(RzS;Z z7-Z6>jpfgsT>J6kD3i9{7Y$BXp3Dg&_m!_j#Xc;ptnA0T6NncviJABX2OGFAJ(*!# zz}O<9qdf{erwIRUdrJ1pKYlfZ-@?9qdkc6@_Wi_V2u{R%o!l2BBWw7`Qd6af;m=v8 zRQ%`L+%weAk^1<2%w34zX^rdHVWnrGln@>LqpGTEVSnPH$n&@Jn`yYzw*uj7LYF39 zo`RK z#E$5{VtKXKSsQqog!ocYe#0y_ThTR`t9bSEvJI8{zUk+^>&~+ufjrxqn065Rnu_f=CR4mhOOugo{LMh9rQbqoWA1tq&Iv zTA9qRt*?jRw38@w*eEH8?X6oN!)q6~PzwG1eT8^)-cV%dpICWLgc#fx{^cuwYy{%@ zgw6W*z)$>ykqP)OBrHt45CW;@NXSNbhukyOwP}AM)as}oxrk0Un*jv!vz zf!Sb!N{futZCF=)02XMjV&tpOy%%u2{%^0{U=O|*#KX;1A%32kbm zWT|Y4loFLnr9vY0e|@TX<~is5mvgS`xW-(UmixYczu$NHeBRp^Nq%ug&`q-CmfMe0 zTV!e~!V`k`6tq<~=)9DdX1ssz44AUZ$HyqFNL^iBf*N?-Vs?ZLtiC%(t(wAu`z-AB z4b;F}xX099rI9Yp?P34^y|Ra{*EO?>2Q}*a&Obx=RVO4>egt|C*$b&Ks~>1m*1W8 zVM)5yEIJXNr(@j5SUcPCeF*94x+mGj@FsOMaC(Gu%!a4rYn@wly{DBmWh$L(-{4-jlpTavdfj%7E9nn0Bovmi+o7H)D>2nTvN7 ziIXIG&73`ZbTJ=Mw~@K4;N{E_XYtRvhwGy+)aPVrS~V`KeZw1&qGdho-h@P!F>Zx+ z>A1~yX=&r#o~gAWcqK96cE%{di_b26%+X z&J|EsYtX?l-N}gENleqzO|PEr>9=6<;ttE_ZhiW5uZSV84h~}(bvUShq9_$b8u>M# zK!mFJtFO%%DG?+&h!Tub1Vy5ThwG-p0^VG~`V_vheYV&Y-Y3d_Q5TM5z)EIJ+4_z zu_blaNm_aKbCjiM`Dk;g@7k2? zsnA8sHUBcXF`j)iyKNVS5(g2gC&ZZ&QUoH>yQ;1#KLjyUw4o<$_@KGI3c-05d%E;p z-?Nj1e8E4P$3#YQ%U(=@bYx%QEAVcJA;uLB9x&h)gFvNkMklj4c<}DZ%DW#~ZuFY7 zbZKA8MtDd9q-gqAytw^4#kWe(B8z_CHRq^K&v{UqQfl%bq{haz+v>FkM!vZ)@F(A+ z)o;r7oiQ?-dh5>IxQ}L*KO_?YQoI-M4R$?!^dIqn=xV zmc?nDR6ioLJm&^u6fv$o%?tuZ^w|>Yrr=pjHa1q_D{MdTkRfwYozlz8hG>|%BHq-^ z?KIr<(&uF7Y&esUdiuwx98ZUE)9fQi^?wCsjCQVAsS&`q{d&-#4p9BP5X*#xdNF8> zSW0+Rc4u?{j%ELGB8YkQxIDp2$NVb}IS zeKO3i?!Gn1Jb&M!``!i5dZ!uao_={~0(X@(qw-frP#>LJpY)_PdyIO)Q`JJY*&HO|nfv(cSi9`Gp`t}L}(eIAF{ zsVI;1j=W>8?UIl=p>}TQY2eSLb#_KAiZa(1uA4GjV=ld_`ZbrFFCF7-o}Dfp_jTL? z*uT(V=dxd%cIg`!;BC9UB%fyW%=^ka2(MU#qAykZeqR@Mz1at(b>Q)yHy&wqk5RLy zrKMq?LeuX{GV`X!`O_|E~8Oh9U==GzpcW zEU0Q)mKVcUBrOh$PKhkMIZ=Ic)+s~4saV6c*<)X4_YAF{SJ>&|@Aa=%?nz$p+%-Dc zU+%!h{vQRA=qb`=&)SE zw^S!wnlb93GTI(Kv;-7*gP#%%T=>gP*sAF7w#}J6n_RDzpf^eNdXonZ7yzHG|EvUo z8ki8zQnGtzC{?PYT8{P`5$7t!hD89iNz91k-Jhvz`Dg@G#GZLJ#&0gnmzm?`oE&3P z!q8h?DkSP5Qw%`NxQj#Pfm;D;?U}#IWSBDQ33kF1z*uEvT|^_y3wpoXGzQGmF3Tre zd${uKNb4sP0`*G_H=dONyItP#PZ(U_Lp5zP5|BiEa{BbkQ-zrjKzNKqrhD{I=YRa8 zfVi%qqQ&vD!sNon1j2;`M@>gq8nr&_lyWT?T%_wq=Vxz_Ln?V@JWpYj7HKW3!y5Z3@LiA>ahA(i1e8YF zmgXnw;Of+PkmrpKEQ)qRBx{|U9JGQO2xlJaaR$#NH?S8_snMd8eL4<$JpIN*^c_@=;(-+YJ(|3Q`i^39zD9|lwB{L ztCx3kX&a;8=ZxBd^0>XHfFw1nltX{`A-fL|(ajxswZD1pOH-%US+( z;cmM3`@S28$rWYmrktEP_+iw|*>|hV?449>KYQt@jfzFwghU){NQ>Zk&g^Kj)h6dn zZtphwBaT>KZ%RG-q_Wa}y4F?q6YF%R&j_3RQT0=FsNB`lCfkpkIQEwo;9|z52hBTr zPKe3Adl4nymD)8}sKj+We8o-G<$%sEy^r5G9UpLag=@p@&OMvsru+ALdZF-q`J+#F z&JMYHwDI$a>n|T(`$p%5bLAL*VgK4ZC8uKp@BY51wMI?1O0hU|s_DpwnD1iW8~hoT zUGZ+S9qc-F_0LC--c^p-_}yRCriqPl zl|!}mGL6ko9J8uDK7IM}VeDR`CiCI02@Xqrb05lwQ%q_cnVjw?W7|FV%iP6*S_$SS zUv2%xuIMY1hOp{?gkEWCGBrH?sa|iBaS?0Z=Kj3-&3L!L>0{ky7w(9&E~>V8rfL5w zq`{`X+tFm>MaxSPo7DX#K3c4L=|l71x2sGZyL>fcM5^I$u^x+L(s~6fb#jV`&l#t> z{mJU@4|f`$aBYF|`OYsKQ$_`jUAwttocqGlTXp!FqQv3NS2Nf~r!eWV z>CTRw3)jt88hpU#klUtyF1tRcZ*gw(edC*P!#?C~D_b8_kzmn3{KUxScd!UB(GKmU z^?3LTfA4auE(IrJI&GV>i9^_vzcG+w6uW*I(S~^VMJQ z`s?QJu$fru-L&9?WxShP5V!QlOhsXzV#bY@w(R?b~g<}8HdEK-#jz3Or+FwaN&)?dizyUh!UDhSxa*x**q_E zqQg>bioje~qX+IaQF%;=8!&t>=rc9BkV#nQ#o+q7ENdVBy7`8NtFQXuXyrYK{!sv=pHlrizN zHIc(89$C;Up9UT4f}|a-5Sv6p19{X-{wV_4ybBfmjpl$O{*mm7X$3lmTHrd68DPvx zmRFSFD%*+V1=<0=kw5_`bCr8`c6LxVCFBeYB)SOtgkk_i6n0{erCB1@#?Xhrri5)( z(g=z`za`HGA|#4^5@GWOIt+Zu1TA=4fCG)u&{!~UUJ{b-t&NR!iTCc`pH3_TmxyBy zr(nvSey(Y*I#4j^q0Pz90mh3h+2N?3pB( zkJvJ7Q@Rc+doICG+i3)4O=|Ub=QFI zXMZ>~RhM5E!>^d9fdMcoc%cdd`9}JgdhJ?hO3Clgxolty7cXAZkhtY!Q!O~r4)inF z$VImga4ES#PS&w$hJwTPB^i6SD3w)IW|IsX92^Ys3rmzNA-Q=Q6D>Q#yTRdz%b5ZQ z7=U~(<68@jjP$@PA>}$AhL#Yl4&WK$XTJrL3#J!NRfkx>uq0o;(&@m!v-4K`euc6aYUqrUCuX@tg zz#vmUPw#F$7TDdPp@XqZuBHu^*e-rU#;~HGwDdYOGhBaXV&MclO{q!Ofp7PFT3R}b zuu#%P`)Jv_qXAghWPQEv03~1PqUh-8c+RL0OmDc!1;uUjtGva7;s&1XYKm40ZOIx# zzaX-vCu+lo7vV-7Or%^W?fZ7x)*6h+zmm=k@4IsDoS8F|va@|eaA0geCoXzoR0xez z88ut2FSy$up~e!cMp;?eW}KV#SkaBs#VO42*nefLwl;1UrN2N6biANK#U9z^MMZ=W zEBLT7&O|lAGb6loHmFU&O~(E?9)*zI)21ayTSabDLp_W6b0dJLM0!9IY12@l0qOno z8tP%nNC}Z`c)3;wZOEA!o);zs$go~Ln#NK-GCe~LDTjy_JhquNYXpi|(ufe$2mQ*N z^kJA{qVwzJEJ?i2d?TZ4J4j8ft{&yhs4AgNlYA`j=~FY}<0@nKiES>|A$w_R^mw`& zIpXJQatD|Iz3(xPIVb~%aaek8t8Rqswkdj+vF`TWh{YkG6AV}ELaAqej{)!?>m-F) z>%<{II&y{&V@@G!9k%SI>v*ytwF`QN*W!zn+!a})S-K_QhbBBl76)$H4bbDfVq19K z0fPoL>qA(;mwnK^`I$IuB{_@aV*D?kNNO?Ri&w|xZ<8q1?X^vM5ysITc*(_r19W+} zzphD0I*%gQ92(FwuM z*}LjPef=niW$4iBB(@k2i*tUnUJh(R(6O1uPAw*wi>$#tQw{B~VE+6&Wgh{Uy?lL7 zteDq7U-q`XSa^L$nYz)ahZongYD$BE!$cC~OE@v;YjyQsQP?Y$=rsr5OCe7mZ))qp zOdo{0Kn@FPczZDsP1$bdqS$0fr~L8!x-ZBtFbuFEQe2Qb<$dkLvT`PAPu@6_?tyic z{b{27B?>Z)-Av+Is^V)8*z~?pG^WY&K~~mTwjBV?y$25xSJ!-UK|l5t)DAYl=uWQ| z?>&EJ1Rjkac)7}qY16fCvxO^iCQRur+q}(1RHy$^uzmbnYxZ|p@ZZx>f7cz_pbO1^ z{--+Q?-$I@%lpJVt&Tz>E;neWRMD5F(4@s(d-+?TJzr(#R5_D;w8cm8MoSk)tzk#AEixK5zU6ej zid@IXRmZvxgw;$W4xof`lnd+l1%FpE z<3UN48T0Ec^Z%IjD_DUXdjko*5Vr+1ODX4Hi9HV{jeSspct|2iqRfe5O_ZaK5HH0Y zadAe)1(-S=8G}y!bpwj1Ymm>7VG2sMFXgf>lE)$s} zrXtO+NgRY^W#Szh?P|?Cn4|T}wY@o9$Q?t&_S=bVpq3guWXOr7lLps(y!S=NfifUs zG#ze4K0z@O#JnMSKq@GterveDa-&#-1iONt`!U9Lpd^62xxWy+;~Z&AY;VlPW0xkCP~7Curz zW#dmdCqOf4k*nEh4JN+nLBm@>oq^r(NY-mWNU1>?&MQub@u+oksf3<5mk&RBA|pLr zYMMS|wX$FPA(?C}GHd*q6QJVKT{z4`lK}3077`spJwiwVrq^lg0BAc<=-qvI0D^sY zY^;{KPDfJKsegIU(L+yih6|r8(}9=q~M~HOi}^$S=0D} z6sMB3!JC>ax<;G6n!7xFXyjSnSbD(9s? z3<<%~k5>AlF>r8jU^~N938Itm+>vGhRH#D|sF5VfD2SZN zC3+!OCoYa*beA%SdqL85YSru6+O29>pTY}Y^*1y!qHq^dAq5jYPmT$$YG3hQXQ%_| zFw`f@#^}1ZOhhbp9HFUbaMQOikM$rGI6O_KH!e7m*9(vNEGtAP5PI_DUU=0>?+V%? z9bhVTJrNdmG$Nu4<=oL%wmr|X!dU4iMn-MhJIGSy9J<0K5Z=5W=$D zlb??C*0d>X=SBe{fn*Xxy>G*Z_=E%rV33m%j1u4f^UkP*hpxfYwQBLN+H{@x`g1hp zLRjhbbNP)~D1pbf;jMjqe9p?@92S7^ng1x_ox@`SKDUc;b zmozI0*O7C>D3Z>xZXgksN5*b30bYyE`!3-&Qc}`uc}7^#KcT%^!_&0VuX+?!vif2j zt={h(9l}&lpd6k>YX_Sm#WY1=R7wLKl5F?ldlL{b_Cn^W(bb#|IC5j|c+z#Iu(D`w zDo`jGLe!u^tQef}l1v$tk>B`s+_$OBp6h981(?8+SPxl%pp1V&){pBZ1)U)4zd|Yl znep;C&EG}IM&dqmtKEk@=PD!)AgQVN1JdOrro_hb#04fMH+g#RDy-e+pvRG2x3)Mv zS#s2F&jUs5ESI{uaPMHo@@i7PsdBxs63OW-5VteXrR~cWogEDk$35;w7G-Kb-V)8M ztaMVhq0SIBumt&17@gP5yLYel+~Y^MOXYMWQkp(VqUVKz61jz3Gi%S{mUGJE``+yMscYLlPTYUSKn!FmnT{fy%G` zlCTsCAm98aSO0&387!Q572I0A&-Cpg$3~#N*1!1;OI=*v6N_>wE4<2&3Yfo?K2RXy z_0h4~J;4u=vQ_F&lb0MZjaRgH=UfKZKu*h9H!6>lMOtD4uU)(7tfQ&vCkL8T(Nhsy z(n1^e#Tm{Xh|i2Y3~m;;Q%7T`bz!GYZDv`K{fOzp?stC4VtJ2^eJBY3m?l2IZr$Fo z=6G7LTGISVlwXT-97^bTiY<){KTeFD7IsZZa6#6J&FOMO%^cJqOD=EI1Rg(^nTJS3 z^7Ftwqe_8vDrMOT}!Gjyciq%{z#1P+~dkOA&EeM5|Dj+cvjVNN zv|NSqWkOR!Z7#M#qaK+n&z|251uj}dx2!D)BV?6ll#<4kY9E$0o6*Cf9$)-r|MYY$ ztJ_;89OKs7xey`Hswuhp8FdkE7d|Gw+vN;dImC$m^)CKdzV!~3&lWn|EeI>mTpHP) zg4M`y@{<>gCL#CvMDQZ0Li(M&HKjom%`fKr zBuXZm)7!(GnOGocn%=A6xw8k8e#RhaW8(6PSBh9Q!PosuB$xk}zEeH3knXIj+J@ z*WaQ3hXB8zd4{wMmT{?Rq8>^6fh-k*zlBOaObI@GB~)1yM<>w|r2UHnJV$yAYld;r zTQd$I8n!Inmn|=fgh(T$}~}AJ_&S-%8JN`DedDe>ueL=GbuPm4)lu zs1W=X3SVNx1aQ51v(t8+kEI3`wl$S4WdEoM<8*ZTDX5l^?ryJj>KqXf(cy5jq`5}9 zHrBS)8m3!f4?Kw@ezaZjTy7qSD)9s7{q&YEKWwA7vPIM^2AZ5(;oQ{hggjgG1uYNI z)+T6Kpgbs0+uR{@1+kFb6C|1TSFmyg&vG{?($ef$s%^+s=C$P7%$Z}(5GGjb&r2g- zlb*oobk~-wd3r@aN}+S%-Lv{HwzNEbM>B|H)I{4zFUL1qblDc_2RUW;mBcP^Y9aF$ z5gyWzbLqLJL5r5!y-&s-aIBfKp8mYsUn(-koKF+kF61--9=NROZk%u+xp38u0Kv3# zt~(*Mk){<<4jP6Q4XT+IZS`0~F-Sk~Me$tOuBID9?o~ACUC*T@YPjasAaf+X@qPL5 zPZw@qmf-9~Y8|C|@3HF_tqmRA(rItJU79jfus$p`xij*q#|E=Z2l*UoUIyJS{nMo1 zz-Dn5VH$tQ*q(Pd{9o+rG9bUO`L{N{qH%~H2wk+(Os@dW#rh3XoBT-WqKajKW$YQv zezit-D#~ z#xWXWm)gil9U`V>8F~1Hh2wV!6BaD^W&XOjg@Aw@(vWA-uslZV1h9RpJmh(5!P~eu zliacu{Xe`OaL&LWSmn;aH}$LAZ86LH%nLQP_ypiQh95_uARmkHuSt`F(UBhw;{-)c z4h*igt347~ZyT}2-^qOG&jF;KQEssUvE(x5M4(nn5?9X_y~X}`m=NWCDQV>Xa`q7V zyic$LiBxkfXJpR}o)D9AfqY=(Zd2uKu8l^0vb6#X5G0H)woAz0_7$``z{|Me_M(ET zc~2cCr339n>W90RO=p}8o7u7zKZ>dFzn9*=OW^*spH!=ls;bt_v1Em?}sGR zWDF(Zr4W0_TGZ?f^mF5mTSIdYDn=6Oj=YU)=^~J`&VyR|@yFh{yQBd5{PQGG^Bvb$ zwK+^UVaxKJG*H`5Hg8b5BSw%jX3m{xUXIW-vp|8i$tvgWa&qT6#L)B(9IvqBk!A7G zgOmCX9^5g>{gX)W5;=#^-u|`W#}UtK$izXHcz0|IgqD6O+%7iea3GJhVbq5&2d`Hd zGI3#Mzo>&}Cnb8Ow=Xj4tA?5@DJe;L+WdnY$kdYh)+(2kGxg9&Al_<84&0CWkGjHR z_1PsOw9k+I<{Kr>g1{R`u}3O1O}{|93ZOLB$vr%(7JXU=OuwDC1AZWo$UF6A!aUdy zkO4L!!N8COvz3c6f-On;thu?lno1~_icYFU%fiv}J~+R~g4yfoIYuk|?xZmbN{9{(hIjXn*4` zEH4keyzHJ`-M0ECB{8K>wgqR}>BMI`l~>h1?&nkP8=PgSL1ht;Q7+~}B*KhP{^Pu@ z7$86m4GmkqJ4R*yfa{f&8!M>;*Pmfload0hGiTOr-KuS9SX59jeoWQNm-Y{W`t(y( zT?1lw(K=t>(C|@yzJYD-&*7)O;}nYP4<0Noc~B4@9zI}}kx}-sh_fV3bAC9y&>ZSN zq-7mCb~LE?h||`fOndzJnTCcZv(_`wXN6^zZBt85PVTL$T50c*?%z1B-9m+8yjk@o z{{h-MZnq2)8=R}Jbh3AHDgi~bpc6WfT!y1+t+E{>6B33h%HY6(19$WCf;cN_k)gvW zyZSo6Tc=Ld;9MkXZxwje8|R4u0RchL{O@FTd2e!e!OPW0jywd%HG%9?z7NWn&WI+h z3fcL+(j^gO+q$|oF8Vk)C^JeubZvH^y{5sMl^ddsb@lYLw}z}6qf-Cs>9n#p&L!6) zqm75dlll4km)-K+Xl?COyasG8NcX50Zk%BwM)+$c^bcP=XJmWDb~hVy3yacqj*f4m z++K~#Z}Q!BFtO=b%#$3W`nTmfGEMIkaSvBpTdNV67y5)_jc25$rj8ytuUI7`Y+rdf zTfwYf1{(zTh-jx!Op1<=Z&+=wucT01dg3uLysqhX?}W7Lr;C5Y3-SHDbhC`GP6|cA zoMU#MDio7#t_)Qu6e*vC^8X%#1KTJR^8z>h+c%chn_Z6wygGI9rwt{9{2rU5P;AdE zyODgdUlzY&>iyW6HyWZpzP&L2Ie7Eo?9+kqQyL^KG|KGUu)totV^p5T0Eef1J abXWD$Hwe6WkB|+8V%7}(=@C7n|4 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

      cM!S7#9O+{zIt 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: You first need to [create an app](exposed-apis-intro.md). +## Before you begin +You first need to [create an app](exposed-apis-intro.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! +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 -You will find below a very basic flow example: +Use the following basic flow as an example. -1. Define the trigger – Recurrence by time +1. Define the trigger – Recurrence by time. -2. Add an action – Select HTTP +2. Add an action: Select HTTP. ![Image of MsFlow choose an action](images/ms-flow-choose-action.png) @@ -59,9 +60,9 @@ 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 following 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 can use other actions supported by Microsoft Flow. - Add an 'Apply to each' action - Select the Results json (which was an output of the last parse action) @@ -76,7 +77,7 @@ The output in the SQL DB is getting updates and can be used for correlation with ## Full flow definition -You can find below the full definition +You can see the full defintion in the following image: ![Image of E2E flow](images/ms-flow-e2e.png) 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 aa6da165e7..4c57316ddc 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 @@ -14,6 +14,11 @@ ms.date: 30/07/2018 --- # Create custom reports using Power BI (user authentication) +**Applies to:** +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + +[!include[Prerelease information](prerelease.md)] + Run advanced queries and show results in Microsoft Power BI. Please read about [Advanced Hunting API](run-advanced-query-api.md) before. @@ -21,7 +26,8 @@ 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.md). +## Before you begin +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 982fec1b38..ca0f03811b 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 @@ -10,18 +10,24 @@ ms.pagetype: security ms.author: macapara author: mjcaparas ms.localizationpriority: medium -ms.date: 30/07/2018 +ms.date: 09/24/2018 --- # Advanced Hunting using PowerShell +**Applies to:** +- Windows Defender Advanced Threat Protection (Windows Defender ATP) -Run advanced queries using PowerShell. Please read about [Advanced Hunting API](run-advanced-query-api.md) before. +[!include[Prerelease information](prerelease.md)] + + +Run advanced queries using PowerShell, see [Advanced Hunting API](run-advanced-query-api.md). 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-intro.md). +## Before you begin +You first need to [create an app](exposed-apis-intro.md). -## Preparation Instructions +## Preparation instructions - Open a PowerShell window. - If your policy does not allow you to run the PowerShell commands, you can run the below command: @@ -29,11 +35,11 @@ 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) +>For more details, see [PowerShell documentation](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-executionpolicy) ## Get token -- Run the below +- Run the following: ``` $tenantId = '00000000-0000-0000-0000-000000000000' # Paste your own tenant ID here @@ -60,7 +66,7 @@ where ## Run query -Run the below +Run the following query: ``` $query = 'RegistryEvents | limit 10' # Paste your own query here 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 d0c7fc7712..afd8a8d4d4 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 @@ -14,8 +14,12 @@ ms.date: 30/07/2018 --- # Advanced Hunting using Python +**Applies to:** +- Windows Defender Advanced Threat Protection (Windows Defender ATP) -Run advanced queries using Python. Please read about [Advanced Hunting API](run-advanced-query-api.md) before. +[!include[Prerelease information](prerelease.md)] + +Run advanced queries using Python, see [Advanced Hunting API](run-advanced-query-api.md). In this section we share Python samples to retrieve a token and use it to run a query. @@ -23,7 +27,7 @@ In this section we share Python samples to retrieve a token and use it to run a ## Get token -- Run the below +- Run the following: ``` @@ -62,7 +66,7 @@ where ## Run query -Run the below + Run the following query: ``` query = 'RegistryEvents | limit 10' # Paste your own query here 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 d9adb2e60f..70364ee219 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 @@ -14,13 +14,11 @@ ms.date: 12/08/2017 --- # Run antivirus scan API +**Applies to:** +- Windows Defender Advanced Threat Protection (Windows Defender ATP) [!include[Prerelease information](prerelease.md)] -**Applies to:** - -- Windows Defender Advanced Threat Protection (Windows Defender ATP) - Initiate Windows Defender Antivirus scan on a machine. ## 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 aafaac2b2f..df656faa25 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 @@ -14,13 +14,11 @@ ms.date: 12/08/2017 --- # Release machine from isolation API +**Applies to:** +- Windows Defender Advanced Threat Protection (Windows Defender ATP) [!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/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 6d624f7855..8552f37c2a 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 @@ -14,11 +14,11 @@ ms.date: 12/08/2017 --- # Remove app restriction API - **Applies to:** - - Windows Defender Advanced Threat Protection (Windows Defender ATP) +[!include[Prereleaseinformation](prerelease.md)] + Enable execution of any application on the machine. 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 40f47a0edc..81c8f8d9ac 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 @@ -14,13 +14,12 @@ ms.date: 12/08/2017 --- # Update alert - -[!include[Prereleaseinformation](prerelease.md)] - **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) + +[!include[Prereleaseinformation](prerelease.md)] Update the properties of an alert entity. ## Permissions From 55c7324602b1d525f128772d76f893f9f844cfd4 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Tue, 25 Sep 2018 15:26:02 -0700 Subject: [PATCH 077/162] move deprecation title --- windows/security/threat-protection/TOC.md | 4 ++-- .../security/threat-protection/windows-defender-atp/TOC.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 70ad8183e2..b727c322cc 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -345,7 +345,7 @@ ####### Multiple APIs ######## [PowerShell](windows-defender-atp/exposed-apis-full-sample-powershell.md) -##### [Use the Windows Defender ATP exposed APIs](windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection.md) +##### [TO BE DEPRECATED - Use the Windows Defender ATP exposed APIs](windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection.md) ###### [Supported Windows Defender ATP APIs](windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection.md) #######Actor ######## [Get actor information](windows-defender-atp/get-actor-information-windows-defender-advanced-threat-protection.md) @@ -415,7 +415,7 @@ -##### TO BE DEPRECATED - API for custom alerts +##### API for custom alerts ###### [Enable the custom threat intelligence application](windows-defender-atp/enable-custom-ti-windows-defender-advanced-threat-protection.md) ###### [TO BE DEPRECATED Use the Windows Defender ATP exposed APIs](windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection.md) ####### [Use the threat intelligence API to create custom alerts](windows-defender-atp/use-custom-ti-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 f3b08f98b0..a129e5f404 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -342,7 +342,7 @@ ###### Multiple APIs ####### [PowerShell](exposed-apis-full-sample-powershell.md) -#### [Use the Windows Defender ATP exposed APIs](exposed-apis-windows-defender-advanced-threat-protection.md) +#### [TO BE DEPRECATED - 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 ####### [Get actor information](get-actor-information-windows-defender-advanced-threat-protection.md) From 3787d7680f0f8ef884463a5c66f425692d033327 Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Thu, 27 Sep 2018 10:31:45 +0300 Subject: [PATCH 078/162] update --- ...tion-windows-defender-advanced-threat-protection-new.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) 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 51ce0684a8..83e1d345ae 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 @@ -37,11 +37,12 @@ Method|Return Type |Description 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. +type | Enum | 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. +status | Enum | Current status of the command. Possible values are: "InProgress", "Succeeded", "Failed", "TimeOut" and "Cancelled". 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. +relatedFileInfo | Class | Contains 2 Properties. 1) string 'fileIdentifier' 2) Enum 'fileIdentifierType' with the possible values: "Sha1" ,"Sha256" and "Md5". + From 530b3b4cbadcdf5c2a9e491e0bb3e4f1261ce938 Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Thu, 27 Sep 2018 10:48:40 +0300 Subject: [PATCH 079/162] s --- ...defender-advanced-threat-protection-new.md | 40 ++++++++++--------- 1 file changed, 22 insertions(+), 18 deletions(-) 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 0e8e2ed4a8..e11cd96856 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,8 @@ 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](https://www.odata.org/documentation/odata-version-2-0/uri-conventions/#FilterSystemQueryOption). + Gets collection of actions done on machines. + Get MachineAction collection API supports [OData V4 queries](https://www.odata.org/documentation/). ## 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) @@ -35,7 +36,7 @@ Delegated (work or school account) | Machine.ReadWrite | 'Read and write machine ## HTTP request ``` -GET /api/machineactions +GET https://api.securitycenter.windows.com/api/machineactions ``` ## Request headers @@ -81,10 +82,10 @@ Content-type: application/json "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" + "creationDateTimeUtc": "2018-12-04T12:43:57.2011911Z", + "lastUpdateTimeUtc": "2018-12-04T12:45:25.4049122Z", + "relatedFileInfo": null }, { "id": "2e9da30d-27f6-4208-81f2-9cd3d67893ba", @@ -92,21 +93,24 @@ Content-type: application/json "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" + "creationDateTimeUtc": "2018-12-04T12:18:27.1293487Z", + "lastUpdateTimeUtc": "2018-12-04T12:18:57.5511934Z", + "relatedFileInfo": null }, { "id": "44cffc15-0e3d-4cbf-96aa-bf76f9b27f5e", - "type": "UnrestrictCodeExecution", + "type": "StopAndQuarantineFile", "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" + "creationDateTimeUtc": "2018-12-04T12:15:40.6052029Z", + "lastUpdateTimeUtc": "2018-12-04T12:16:14.2899973Z", + "relatedFileInfo": { + "fileIdentifier": "a0c659857ccbe457fdaf5fe21d54efdcbf6f6508", + "fileIdentifierType": "Sha1" + } } ] } @@ -140,10 +144,10 @@ Content-type: application/json "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" + "creationDateTimeUtc": "2018-12-04T12:43:57.2011911Z", + "lastUpdateTimeUtc": "2018-12-04T12:45:25.4049122Z", + "relatedFileInfo": null }, { "id": "2e9da30d-27f6-4208-81f2-9cd3d67893ba", @@ -151,10 +155,10 @@ Content-type: application/json "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" + "creationDateTimeUtc": "2018-12-04T12:18:27.1293487Z", + "lastUpdateTimeUtc": "2018-12-04T12:18:57.5511934Z", + "relatedFileInfo": null } ] } From 06053c4635a3e85def8fea17682ff86b646364bf Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Thu, 27 Sep 2018 10:57:56 +0300 Subject: [PATCH 080/162] s --- ...ect-windows-defender-advanced-threat-protection-new.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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 0abd8e7cfc..bcdbd711ec 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 @@ -33,7 +33,7 @@ Delegated (work or school account) | Machine.ReadWrite | 'Read and write machine ## HTTP request ``` -GET /api/machineactions/{id} +GET https://api.securitycenter.windows.com/api/machineactions/{id} ``` ## Request headers @@ -76,10 +76,10 @@ Content-type: application/json "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" + "creationDateTimeUtc": "2018-12-04T12:18:27.1293487Z", + "lastUpdateTimeUtc": "2018-12-04T12:18:57.5511934Z", + "relatedFileInfo": null } From 706343a83f84ec91187d98d6212dce45d774dbdc Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Thu, 27 Sep 2018 10:59:35 +0300 Subject: [PATCH 081/162] s --- ...ineaction-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/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 83e1d345ae..bd5d278c34 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 @@ -44,5 +44,5 @@ status | Enum | Current status of the command. Possible values are: "InProgress" 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. -relatedFileInfo | Class | Contains 2 Properties. 1) string 'fileIdentifier' 2) Enum 'fileIdentifierType' with the possible values: "Sha1" ,"Sha256" and "Md5". +relatedFileInfo | Class | Contains two Properties. 1) string 'fileIdentifier' 2) Enum 'fileIdentifierType' with the possible values: "Sha1" ,"Sha256" and "Md5". From 10668ff09c361c087de9099d52975aa5afe55bdc Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Thu, 27 Sep 2018 11:24:37 +0300 Subject: [PATCH 082/162] s --- ...age-windows-defender-advanced-threat-protection-new.md | 8 ++++---- ...uri-windows-defender-advanced-threat-protection-new.md | 2 +- ...ine-windows-defender-advanced-threat-protection-new.md | 6 +++--- ...api-windows-defender-advanced-threat-protection-new.md | 8 ++++---- ...ion-windows-defender-advanced-threat-protection-new.md | 8 ++++---- ...can-windows-defender-advanced-threat-protection-new.md | 8 ++++---- ...ine-windows-defender-advanced-threat-protection-new.md | 8 ++++---- ...ion-windows-defender-advanced-threat-protection-new.md | 8 ++++---- 8 files changed, 28 insertions(+), 28 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 7e8d70c5cf..5123a977a5 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 @@ -33,7 +33,7 @@ Delegated (work or school account) | Machine.CollectForensics | 'Collect forensi ## HTTP request ``` -POST /api/machines/{id}/collectInvestigationPackage +POST https://api.securitycenter.windows.com/api/machines/{id}/collectInvestigationPackage ``` ## Request headers @@ -84,10 +84,10 @@ Content-type: application/json "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" + "creationDateTimeUtc": "2018-12-04T12:09:24.1785079Z", + "lastUpdateTimeUtc": "2018-12-04T12:09:24.1785079Z", + "relatedFileInfo": 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 index b7b734a241..b59b11034b 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 @@ -31,7 +31,7 @@ Delegated (work or school account) | Machine.CollectForensics | 'Collect forensi ## HTTP request ``` -GET /api/machineactions/{machine action id}/getPackageUri +GET https://api.securitycenter.windows.com/api/machineactions/{machine action id}/getPackageUri ``` ## Request headers 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 87e3e1531b..f40b7c7b57 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 @@ -31,7 +31,7 @@ Delegated (work or school account) | Machine.Isolate | 'Isolate machine' ## HTTP request ``` -POST /api/machines/{id}/isolate +POST https://api.securitycenter.windows.com/api/machines/{id}/isolate ``` ## Request headers @@ -89,10 +89,10 @@ Content-type: application/json "requestor": "Analyst@contoso.com ", "requestorComment": "Isolate machine due to alert 1234", "status": "InProgress", - "error": "None", "machineId": "1e5bc9d7e413ddd7902c2932e418702b84d0cc07", "creationDateTimeUtc": "2017-12-04T12:12:18.9725659Z", - "lastUpdateTimeUtc": "2017-12-04T12:12:18.9725659Z" + "lastUpdateTimeUtc": "2017-12-04T12:12:18.9725659Z", + "relatedFileInfo": null } ``` 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 050e18c993..9f95e08bc0 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 @@ -31,7 +31,7 @@ Delegated (work or school account) | Machine.Offboard | 'Offboard machine' ## HTTP request ``` -POST /api/machines/{id}/offboard +POST https://api.securitycenter.windows.com/api/machines/{id}/offboard ``` ## Request headers @@ -82,10 +82,10 @@ Content-type: application/json "requestor": "Analyst@contoso.com", "requestorComment": "offboard machine by automation", "status": "InProgress", - "error": "None", "machineId": "1e5bc9d7e413ddd7902c2932e418702b84d0cc07", - "creationDateTimeUtc": "2017-12-04T12:09:24.1785079Z", - "lastUpdateTimeUtc": "2017-12-04T12:09:24.1785079Z" + "creationDateTimeUtc": "2018-12-04T12:09:24.1785079Z", + "lastUpdateTimeUtc": "2018-12-04T12:09:24.1785079Z", + "relatedFileInfo": null } ``` 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 486f9db534..1ba77ea104 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 @@ -31,7 +31,7 @@ Delegated (work or school account) | Machine.RestrictExecution | 'Restrict code ## HTTP request ``` -POST /api/machines/{id}/restrictCodeExecution +POST https://api.securitycenter.windows.com/api/machines/{id}/restrictCodeExecution ``` ## Request headers @@ -82,10 +82,10 @@ Content-type: application/json "requestor": "Analyst@contoso.com ", "requestorComment": "Restrict code execution due to alert 1234", "status": "InProgress", - "error": "None", "machineId": "1e5bc9d7e413ddd7902c2932e418702b84d0cc07", - "creationDateTimeUtc": "2017-12-04T12:15:04.3825985Z", - "lastUpdateTimeUtc": "2017-12-04T12:15:04.3825985Z" + "creationDateTimeUtc": "2018-12-04T12:15:04.3825985Z", + "lastUpdateTimeUtc": "2018-12-04T12:15:04.3825985Z", + "relatedFileInfo": null } ``` 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 70364ee219..d12d5e8480 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 @@ -31,7 +31,7 @@ Delegated (work or school account) | Machine.Scan | 'Scan machine' ## HTTP request ``` -POST /api/machines/{id}/runAntiVirusScan +POST https://api.securitycenter.windows.com/api/machines/{id}/runAntiVirusScan ``` ## Request headers @@ -91,10 +91,10 @@ Content-type: application/json "requestor": "Analyst@contoso.com", "requestorComment": "Check machine for viruses due to alert 3212", "status": "InProgress", - "error": "None", "machineId": "1e5bc9d7e413ddd7902c2932e418702b84d0cc07", - "creationDateTimeUtc": "2017-12-04T12:18:27.1293487Z", - "lastUpdateTimeUtc": "2017-12-04T12:18:27.1293487Z" + "creationDateTimeUtc": "2018-12-04T12:18:27.1293487Z", + "lastUpdateTimeUtc": "2018-12-04T12:18:27.1293487Z", + "relatedFileInfo": null } ``` 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 df656faa25..5aaccd64f1 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 @@ -31,7 +31,7 @@ Delegated (work or school account) | Machine.Isolate | 'Isolate machine' ## HTTP request ``` -POST /api/machines/{id}/unisolate +POST https://api.securitycenter.windows.com/api/machines/{id}/unisolate ``` ## Request headers @@ -86,10 +86,10 @@ Content-type: application/json "requestor": "Analyst@contoso.com ", "requestorComment": "Unisolate machine since it was clean and validated ", "status": "InProgress", - "error": "None", "machineId": "1e5bc9d7e413ddd7902c2932e418702b84d0cc07", - "creationDateTimeUtc": "2017-12-04T12:13:15.0104931Z", - "lastUpdateTimeUtc": "2017-12-04T12:13:15.0104931Z" + "creationDateTimeUtc": "2018-12-04T12:13:15.0104931Z", + "lastUpdateTimeUtc": "2018-12-04T12:13:15.0104931Z", + "relatedFileInfo": null } ``` 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 8552f37c2a..4deeaa4646 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 @@ -33,7 +33,7 @@ Delegated (work or school account) | Machine.RestrictExecution | 'Restrict code ## HTTP request ``` -POST /api/machines/{id}/unrestrictCodeExecution +POST https://api.securitycenter.windows.com/api/machines/{id}/unrestrictCodeExecution ``` ## Request headers @@ -84,10 +84,10 @@ Content-type: application/json "requestor": "Analyst@contoso.com", "requestorComment": "Unrestrict code execution since machine was cleaned and validated ", "status": "InProgress", - "error": "None", "machineId": "1e5bc9d7e413ddd7902c2932e418702b84d0cc07", - "creationDateTimeUtc": "2017-12-04T12:15:40.6052029Z", - "lastUpdateTimeUtc": "2017-12-04T12:15:40.6052029Z" + "creationDateTimeUtc": "2018-12-04T12:15:40.6052029Z", + "lastUpdateTimeUtc": "2018-12-04T12:15:40.6052029Z", + "relatedFileInfo": null } ``` From 9d38230f90aea8f72e54da64f250e61e2a47440b Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Thu, 27 Sep 2018 11:39:14 +0300 Subject: [PATCH 083/162] s --- ...ineaction-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/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 bd5d278c34..8d755ed764 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 @@ -37,7 +37,7 @@ Method|Return Type |Description Property | Type | Description :---|:---|:--- id | Guid | Identity of the [Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) entity. -type | Enum | Type of the action. +type | Enum | Type of the action. Possible values are: "RunAntiVirusScan", "Offboarding", "CollectInvestigationPackage", "Isolate", "Unisolate", "StopAndQuarantineFile", "RestrictCodeExecution" and "UnrestrictCodeExecution" requestor | String | Identity of the person that executed the action. requestorComment | String | Comment that was written when issuing the action. status | Enum | Current status of the command. Possible values are: "InProgress", "Succeeded", "Failed", "TimeOut" and "Cancelled". From 7eec07b404368e6cb8c28e81c171147701551898 Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Thu, 27 Sep 2018 11:51:51 +0300 Subject: [PATCH 084/162] s --- .../images/ms-flow-define-action.png | Bin 27647 -> 40584 bytes .../images/ms-flow-e2e.png | Bin 44839 -> 42989 bytes .../run-advanced-query-sample-ms-flow.md | 5 +++-- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/images/ms-flow-define-action.png b/windows/security/threat-protection/windows-defender-atp/images/ms-flow-define-action.png index f3d0b2ba6858315ad147a9ecf8ec9c4b9616f0b4..51588e0bdcca35b07e425c7ce2710daf272bf015 100644 GIT binary patch literal 40584 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 hxq3uQh_a_v zEe8v~ID|YrY362}TH0HoM-E5=ZVw~+SBZNjn{UsM`}KpmNw=F~ZkMmj{Ppu+(mktn zbk%GA;nlu3+l;Jl-f0R=LGbGbAN-gZVmQy%IfpiWQjNz%zdkxSo(`g?*aZlktR&rp zq&25MzDO)Y96$1QjHRpGR8syLhg7FUezvFBuDL53g(H#20Yd&bAE)U3FANrKe=`;C z@dM`&gbwcq>KdO%3kX{Y3x@OL{1#X% z9W_0DCCim9&bOf#Z9+eLIX8rw2^^O_^iA028;qoI->pZzxQuXi*iMOh{YO!iOIY8- z&^+s9hI)lW*jJuRvqpE&o$?pHLA!D@&J}D;7K#AF@qW@#Ggo&!QNQs;n+DMQ=us#8 z)Vi+*qCCKEbaDsmZy)gDqbEO1s7e_FVTZhJZM_(hftKl;17`c8aAwJf2!;8@ z!6_A#Y9CG5O6()?BL=!G6Q7by|1Ow@vG>N)D>Q0qT|HGkw~KWWqaa+VilV%e`#`c` z!s+^n&JjF*ouwB4hAN5g1@jw^P+rdUpC+VNLUDS6qVGb2x8jQlT|fJolF!=sV)9qz zQaA(Y9k&vt*b7%x>9R{>5l0itM)QFN^KglW)5ARPo?mh_(-DDp2iLK&`-~!Cwim^W zl1=f`IuKn;rEIe*+8=`HdHh5_nG#5T{d{Gmn3;C=f#N8~ukvAnkxsFNSJ_iSOZ{c$ zONaI^5l%^L+&Iad`t$)``O7s)zBRk(QQ%WH5B3E}9b^NC{L5*^j#y-ZqRQcA4V99ORR0qtJ zB_Z~d179vXH3ah6ZF`3yo}pekvwAD{*Gn!sr3t|{6T_VT2elU~+2aRHiby@)z1Lr5 z3@Az;OqHf{!defjOoAZmNeOPBWxP(Q&%09{Da(Jvo#|oub3$U;Vk_YCR-0h@2PAc+ z>WSN$ge!6hxl@sGdu@w6WktT^C~L^i^H+(BI#3Gx3!eCacFQmOj&6hKEL)`@gyU=P zmqhxf;H%P8Zrl%`1^#CDi zdg+-!ANrqIc~oiYE0asd3o7}%==>p#@k6KUbO|Lf1kYLY*R5|jhPTl)Y$>oE0~!c z1WVFU9)#iYN`ZLRK|H3{kaoe1M|c%fX1?1|Mfukk7O%>kWSPOE6p#syLABz&A-b+t_->JGU$ywx*+Ory| z1H7A}4qK~BravCd+Xb$oMEVD8d#^4sQ6-g|v&mt&Tc*cksc9f`uewn?xd?(@m*z%) z&>Lz5IH%3-eZLrhOo`ZiR6ha-AgACf_c29z_}*i2Up%L^aoqsr%Mh6hOw$8qg}!k` z=aY?oRF>0tecUV7vd@}*HI_d&DLG_^rqD08^z_ti0xq@`upCA?!YowBBk^e5SLo9j z|H?qNjA@sK$E0bq%A`RAL7nqzr!0LgB-)zjGQu>=?|0Ls#?C?X_f@ss2dHmLEJXKl3!iiCsaP~7n|r|xM37?*dYIW zZ-(nvJbqEgmWu+}NAr-8@#YN6+gv&cYhilIcQ&rjnpQKS8_U$QqiIR(Y|u%2{=txk zooCjW^M_}K{<2tb>WkuLsC;DJw56z+L!+cRWp1W#7}%c^G698$ebS?w zGqyUBzDYzvuUoJW6d12AN?Pe3c{};#pHAmv69zba$f`KSl((TUY_#Kh1^`pnc}ylt z*XV9+-}!ss^qyx7Z0s@9OITNen!L^;oYZelh z2nbGf6$H&`EfzPp+w=|+UC`9nbO<_4H0*BQ}78BT=%T;SjK({wfjFO?ChQ0O|Z z@Z4L^qMwZD7ySqtts;eF75CL2Me}9%fiPZM(9_S>U!8YGER%zduRh#hUampf%OUDy zTN{H?O=ThIC{MX3Z0J%#L&W)SuH-d%}PsrpYt{<#N zsWgT)P@#+8&pz?ANKfEG7H34{(j>UpKF-}OW+9V)7mQQA2Z}Q@&BaCYc!&rN=y(gF z!Cw{v`Jq4YYeQe2GMq}M2^K2PU9PSc53>j-pxJe~dGhcZk%h9Q?G2B=_M?nAix#{! zW>P(2$clSTAI`_I_f-vgojN(P%8t~;Au&H6GI6{Hi(u|K-=R3_o_GG<89$aG5_x10 zOu)6|{H6@DGg1X=^4R<0QL^g%rf3FE+bq^Vvvv6^v)e zDiuEef~_}Jpq<~uP)1Z{0_Y{N>I{(l5a6gem{{#r0?dzh5#em+?CORloZwH<1*Ac5$6ZaOcVao?6n4RfP3Mh+QWRmJCRES}ZSXlO z4EvDPH-5Zhwt390nX}40Srhpi!pz`_^l(I8Jove}8m_khw=|f6PvMn6SX4dx8n;uv zoi)#}yXw#iT6nVB$WJhHj@U(J3W|S7#WiX3Qs)WuuHz;>FEX~Rz-p-omGz(y z_g_vEkh~0x{k_&`)o?4{<`?ZJ;IS2}jv2g59CMFPdq>>b)9^aNm2kil`6p+hM4_{B zGh)hD7rMg*s^P~ehchczZh4Sil>Y7qfue|*9HqFB1BH7|-u*j< z{U5v0WKascbuEX@l8=gjo%F$aHc4V~K~p9+1CU)?`G8kXv$?^yLkB#uY{5g=)=lfV z1{Du&2@xV;6}E*k^9nY_KFl#7(YfK5JX2=wXI4?TdY0Z~$@cq=`Jcq7hBkJV(c^eV z{|5pSkxu=#)0VZ{U|-`A=mE=3bR5n+MVfgtBT;>e2ZmIg)t%q?Eu5&P@CVlJf+h~O_GybBXculg&1f`Z&m3&dt z#5){4zUsq?jU$vc7EH4A9I92S^OPG0?y2}AEVujEL*0wzhOGayfq06gL){PX9^Tjb zfDc(+1kcJOPuKA&5;7yYUd8V+ZxMU5=RMde1f0^C5Im00t9Qj{-r)QmJ zf}R#L;24S;IrH7z|E|62aN_K_~+xe$vx^!}J#rK~tWMyaDOZ8}r*0q>Do^hxW zKB*YR7FR4XUk6R(OLZcB!EOgR4d|;ZS(mL8N{ic2o{WQM(jTjg?Ym0GZin{HxT`V8 zKB=T$jk*EJ`E^W|zxG{G=>cfVBODHP;sx6@1+HE-Jtevl-nToI@3Uqp4#Uo+2-{j} z`8m#!j7ajCLx)_PbzxysAHr^zequ6w7SbQL5F1N?am(zI710^@(}&TxG>`?noB;F5 z?8-iBBj$i>du+bP)-T`KgC<#PNPQ~L6;UtM^!dP6T=lg5YKM2>ixI8V85sPd603_<}N3^Fw_DJj2nYH2(bQ*0;6G|iCjFon0Cy}(@*f0qe!}xZRd}4ZJR+5 zx;Hj2FDhUe^SQYGF|I79Sqx3)_yM>)0?8+dkq}Jjl+NanpHoa?y8po=|D9FtkFrw` z(B`xFqUe9YP=zfZdk9XewdP9_=4d-`tsUMmTW^IO`I}H`cds{}ZFiK=@Tx>k_Z}Vp zY*!FRO!-bBk6YSXZ*_b@0fO?rO1^f_0S6I;#&mJ#Yl&<#Fm}Y-@rkzDy8oj1e|-Jk z>TynwpaZH3a)Cfb5KB2$7jI@H>nOguiY zDb_r=ut{%c6UB`oBpBNCnt2z59WnCy!l7~z#nP1`5 z6MC(gQjhH5o4R0)9Wajg=Vc2zWz~QGZ%09Kj->O>6WPDkQ^VwHP0_x*1i-c` zo_=>nRe$~oPwp+qbc=0g1*w@6_ZOU@@)e))3l^&F{G9ybEvL(Y=m1$($Dc#HZ@pC0@Od<@Nu zqJN8&W%%5}6FwMt6zTYTg15tLu|VOl3H$1a-H8E_5AFa`PWP--u*ct*n3?msJ;hJq zoe~2uKKnbdYFz?fdB8X(8dOk%>;*? z=l)Zk(7%t2qfS_*=@(?gKGSzyCS(G;Z%z?Tw@p%iAVLV*sBGTe#08|D&h7j1r|MUx zE7y*RzWpc4$V4l8`rPKBXcsl$e8H6HqlAc);XEkh9DZDdwYTA(HPw7D=D*>+Mw-nh zgRJSx4m?}Xoikix*|3clxcV&g;O{Zr8^I!u+C;~{N0blQyRMP9TzdDZJ~KbJ)y%@P z1@}t+(u|KT=0{?!sq=5zMRfCBgqz_^=C})P{X$CgGvyGYquU*ZiXU;s>3b8GEmc=k zjb{FMf6m)?TyZFZLA2J^HPpuM4O2l`GpUb4hpj(C8O33ZXOcq|)W%uAD)V8n01Kx3 zBJAH>@n4zCIH+kWuyr(bo|H;@FYED!?p$I#Su)>MZuCAgEsE$+d2xiysAFcjloLUw z?Vn$X*gS2hWHm79(T#+RFY(s$^BM&lQHA`xPpz1`E7OCU5R176-#tr1R@%1?^rq<< zjWG-(`?Vrh6XK`RS5)-jS<#uXZ|F%y6|C}_9sDjho@<_P!74D=?p%dftRRG1SVqReEQ#Y8t}+xr?Ir6sP)48{CRFt;j02`%aO=A~4LVJ7EntV6gI)2v+lCmyDO2H?nWoIk(K;DAS4mX|cs$Q&HbOeKswfbf1-La|p zR?c_kXKrZQAy_%>%pFGlE1`WHJ2RDbybXtKeju5^+v{4_KUu8CtHTNacfb~z##|UK zC6964DN2C(8fQ!&p1X~Bt+%o9=z{1%c<7V?%!Y%g{t5wl`gt0H<64*Xo}JQWg5J7z zHr-yT9~bMXrkzEf3Y{Hvt*Pnhja9KPrS7gzN*fV0c*ha~;llYbTbp0pKMk(;rdG4A z4hF8q%~m^Rr)7oTp;i;lXVPWvF1c_?DGgpKOd5NxTTx==58fc|Bz&(2dHilovm@@{ zlOJtFHW{X9cZb)c_vvxq*@aB|cCqPv435_Q$BjkjucZn5R<`f155qR^ z&UiDTZ~G;>tfB?NIm5%5HtyDE?=J59ITkN_OQ&p^(rRUU8LpS;x5ZC#CwUi93$Pu5 z2sPkxs;7ruWWAtzL%=2GYQFs&a~c1;5Sd!3i&JWxcq8==pdwZ&>+SFb!9_f!&C>H1 zj~bK{2tY(V3N$AV?z9sa)~%Nb12jlr_oajjG^LB~8y&?ywQ9Tll2P$u0yV3I@V2}C zT*}1puzmQQxH4iF!efGe`-}3AZmx)Mn7A zu?HEiwmgPzHW#z*Ms>@_Uw01Pbh`lgJj> z^q4Zfaim;0865nB$$R5zDt2!Fjg><9&_jB=Kk7Z1oV84E14xY&Os@-ZjUj$ zze_Jmfjv|R-BLyIPfpB^)`bB9(_WB339hAz0j{M{YI)3hx-911n#y*zdidesx}auU zC`q|+)zejW$N8-3Uqyt7AirgwhKRspdS37K_S+!8VIN0F4_^-_FEj{CW)!^Xh|PHw z6ZzO<^>q)G@+DS=58j(&H@-6Uuz3c88(*`~B(L+_e9&nL(oyDQlU?TILa?d)3A;t? zo~s|*>*39}2=13>{jYzO&n+eIg2Y*xN6Z2l$vNK9J>T^8YY>IJD>+!N(ZIh?vWrScAJ{X1h1q(?$kX|(tQZ1Dw z#Ddv>z{1gw5jQK4IEEa9NRnEW4Hh3`qiU8~4^>Hb=(hBY z$6^|dSATU9^@egb=G$rM?&Ii@u%a2Y69nE%5V>vM;p{-n-tPvzlnu(;?r*?Z+TX3EXIrAI;}P`=n4HMOk5VI3d=w$_iC7YDL@z z({XfNG#>budV{W)3De<+V>q9vKK$uP=CT^dfVK$CCPSspOU+olOQ`6~9n>EJm2p91 zZ@lZDsZ2cS$rWtGcpCs@QjU?Z7R1_?EqV8OiM7tlL9SGDx>CP!!^Vcln$=Btd0b#Z zwMzN}HP`&hL}&!|Zkx+oP?e0dMhTO;d+KJuXo7Ig_c9{RiS6UaaLz8O2KA%l5BUSG z=kuQR2Z+62x}|lzgWdY8A^yXHV_bpf>y~JUZNiGq73DF4yMW&BM&c6VaXn7_=^u|m zkD}ffw&{Q)^~qi);&U1gaO<}43eTFo*oe0{a#^y2YZNJW__5D2(gv|MlnZx@yrh=P zYw;LRbOb`_f2PYMi=9m`w2Vk`^sqfzY?S2?0n+9JSGy|hCg*e$j$O+tWUcCQ($(19i=%j3A;A>H{k;Bap^LJ zm*bwwQCEk#s88*HPJp+u#(@!w4|^mFSH!E{AYSV7yy6K$-KcC~zp9e@6pX}KSZJny z<1e-_X~E<&_(byb=R4JuuBj4GmzJeHC9j1pOW{PL56709I@7ORz1jFGcv6*dmmY!T z97WYIsdSm3WtFr={Ug-j{~QIWY}^Nw)v&#mo#>1h_V^mJQ@)qAi9e@l$+241^0x$b z2Z@W9nTz87SEq}&dy71E=`&M5ViKc+kl2FACMfq_TecCl6jg87^V%Y>NWNN%pSrk) zUaDntq+9Ob-_(Y0DP@Vj1wt>If`a$)qsJBP^DW?js6FC!`eY-~6cd8U0Lzngh{?;& zk_xqI+_o+f&v(mpM=H!LHlBLwou*eKsb$ywi`V`2nD}wW$um zy(iH~K*tTv&}nQHQfOGj4z6g?a6CPE-mzM4q7FnC)V&kJ6KTrzX>ms201ttOsOVuz z4h3EA%bP_wp0Cp!4oLs@LDCU#j@7zDz4+f0C`?QG+fAQZ(1FrkDORBF=j^Qk^JcN$ z+#_A_-&eif|Apg}J)i&cnUroXiE@Yt{$8&N;&~a31>lJm8*EsyS&*VxN{CJg%K9$R5tt^pwTR|V@xL(~sB@>k4u2Vo?~Fsloe z*}--QwLV&{ea0Q;3c-{pfee1+5B-2v!Y1X{B1Qh)(}xUCn$!+@#? z8lZBqLKC!5U?4#s>?W-3mBcSKI_xC&#hl@lfMuS(lEcG8qi!ScqE@2%&sV2oxo%rX zmKd9Pq3C3q?_YY%;}<}3*en_($_w3O(36_HpTKv69yKcr^Os!=(H*j$A+O0i!-OO( zpq6vu;=2l}`Wug*Yb%Vb9t*1w5*p^q4_4iqVb62-<&Y@Ws)gdpp9}>zIp(~S1X^ET zrdui%Ey@Wn57AUp{5NX(7e6}mie*)GxIVo}`_65BG9d-8;4TM1Hxl1A;mJsHXIAQb z%IpKIS_q0;7FS2?Srz|AAf8iC<^jR9-bbFgcW=b+Mt95@gG4ZZK^j=uAGfyn8AY z{TG#@0)%_RN-6HqGpPbe9(tDl5yx}PIKZ={R#!M;PuS(zOgj8EC}2)}luyRIpqe?B zkXzn~;n68cU+h}+Z(Q?E0C*BUFE63AYqoS2jvlJn6LTi;NoK3+YrJ)rL9A*6ae^#OMs{*Bz@Y*SN7}uT{f-KSn)}EP(ZmLc54Z zwR7vBjzUOqn}EYSJp!O9UQyqp^lG`j)>|>-hgE?^zi*^tr9XxtlXh7QlboLpz>XMF zD9q)El=Y?Qz(RI4u{($WvUgE2>nD^=W5q2KPmj0KIVN%~f%+>O*f|5cgpbc->Y@>d zb8f#oG)Z-?*+gj-kHkF#Fs-?SnU%m0f^ezgZ3LgL@bxwn3c&W9U3xBT!#$hqoc;Ab z4f1coYM~(=0fH!$QRb>&PKsmmU*t8LeBYALj6B`8KFWI7{JP;ZJYwz2HtohTp7w`U zXQH=PX{cE(RVXQZigrp#4uwh zGxVZJ@9u*JLd__U*~%JHY+lgOHF-X6RjbJ5g{n^a9S>Xiz3@7h`zznjT@5XQE)wQc zb9_cvr1j{fOg93KD2SDFDO2Q%7WmE26RkB9+Iq$;bT+llN?+)AKL6yZ$o90|lC3Zk z^74stmjals*D{C=oct{?i%<{e+3f&(VW4-ZyO$ke^q)_j8!zxUicpyuChPWvoG~K5uc%2 zJ5MK@-s|qKOurQC>=5>q7drdIQ*KQCOUJTnh69=xyWxd@X=Ww2mD zATR-#;Ebq3Gp&<{+911guOq;t-8o8XBNmf&H&|5NC3*TdCIlWBBQfWMzaQYlocW{~ z6z{Q2$9grvK-d4vQk<`5(CWXx zCapgndrHwQ2C|X*vcOOq2*QWpM|?UYJMw!%c%XhWkM@X)fK?u#j`+Dtd`I=93k+M1 zU!9Zd4b8|9rl6k1fAlemMj1JW<7PLR<}l4fE$2RDmSpF5fc=C~4L2K4urUoISHgi@ zS($lTmEovbk2R5Bo~M-LL(dr@6Fd8A2`t2R!~o^18h@eh|G`H~VjSmA%8;j*^5^73 z5f?L;g&&g2V^-hHdF`A@5sbBcI)&$|IRA6>U+}`??dP!e0~7y+`dD zsL(J+9W3NAKh^YzpDJeMSxjoYT>SL9IrTIRl?5{(7fr8X#G*hTE7XPbjbWo!WMzAb zeuyxu(&xB_ev<;@niQWum}lzYIzQH)c8Pg?bl2BR(X&fhcY4Cwk_)XGm69h3ZCFt- zuPuqI>RWFPu)v(+7E;Vg;oT$TbOYcG+0Sw~#x&L}dX`dRxE24(_!P5BZ#2a2R$pCR zYMw%gMMw8jIEC!E5Y1ct8RE-hV)0KgH0&>g&o`&Acl^ZdxhIxL-WW+6Y-l{}LXvM`V zy1h3Km(7idAR$=G!_YAA!=0ZgB;PC~pfn(*u3rMjhN7m!_t{Ozw!B$p^V<+NjDPXd zf0QUtsjoADi96(fsZvbKMIb%4tcO`wPupCS#>rPtp{t2VHm9(d?1lqW$AS9QW2RVV z*$J^5i%?_M33$Z1?>PmtK)6M+{xK@4;0gMar_@=Vw9^+btxux2@_PZSWf^PriT_sW zI7;2jd$9n?Xm2;eoZS_%7?5Dgu5kRvwDH{dOzLj_h-icA_Vd7Ky@H6Ee&^6r zjd>7fle!c}w%5Mz$OEHClSHy{ElCX|((y+)Ev{gce}H8r2>&T4wWag_%ga&dWL26z z8U2d3{$lijLeCVy-r%_H{L*52G)y@w+(7GH3kV{Wb`cWWivy8K$Z|5D&|7#OE8}6= zRYHPV-uF!r!Ng+zoN^-9|wayL=CuP4@w$BQR?Xi-MFrmtCIz)MD zil$r5F*sY&N&HNie`*8*Q2)LRW=bkhla4SFEulKWn}5VC`knOeOqR-=&$*)R!pA^2 zY4kZen>4*cRljS$!~}6tyP^>kmm1Y#R1omQmmEPM{(b)6wV%C5Rh}^(;MrYu(mFna zefl0<@zItVQxPDJYBO^nLpK|J_2)y(yh2_076C>m9#bdl4=P|1{}#{PsmyH~q#I-L zV)++?f)BRvocgVdOyf~}gvmwVbu+L3gnkukEG;z){+^BjN!& z)d4&E^#>w@T%`@c>vDwB7MkBl<+q~ZAX+YA;oP&RpAK&(P=6T~%&{2DnHbiT9*EA( zhJ27ta(fUt5b!k|PZh#5@U&1k1_$lZajwSs=IZR9);M0&d~mL(FJAvBO^idUMc>>X z*EJ2x3ass9H7Dg$`&MGocs1ub*#EA=wWs2{oz&H4?mqK8x`8CBT<-@8MD@>^$uof~ zI!gvgUf?rx3f#B*f5v)gdULR~xk=;3+jQ}yXv;<0=xs#&GD;=QF6&A;HD_~Ylf0wD z!^O*t0J=voveF-Kr`}q8IDHG(<}BHJ-2d(GI&MbyN+i{vs$cZV>EXPlDNo`K{(Xrm zJ$w=h8{?xlt{^xT_uQuwy52~4)PlLW&AWaY^bo!-Ww?uw30$9^T)4i}mht~ilw2oU zvAMZvdtZ2`xt-2CFmAY#11`%5O8XlwN@;A}zkBC5vJa4jlr#n170c8gUIc!=0W`Vo zkBRbh|lJU9aYfh`cUWmYVc=EL;hWr&GdJ zfAclpm-C>_uJ7G#qI7R z|3WTYv?2xmc-3;jd6eDg%133Po%wTTV8`k}=#Dh|<=QhLI$1tksf*`0NkFTE-wzmA z6$LJLDq5($4rr`sCY0s_C-wUX40hFlN7@M&Me@>Kh=8O+bS{=Oj7^U|;|qmAA5KGm zmv>k#bSiGAyzZ$1PW*;92#CPW&EB09{T33RaMh~C>YkDzU?R3g zpc<@7Tg#?)=7n@Ey&B_*4DdB-mP63BuCrwwU_C&?!(Uby#E2vM|Qf+q-3n$^7t*A_?MWK2*^;-#M z1;&ei2{C|I^(LjvV?z)sDMJa}-AQS-R0*!>X{ko~Fo1?!vD%mAU|oD)b9c>c4)J8^ z`I6e!#%`#a3G6_eKB-m{`_f($Hq2dHXi+j$^wq@rrOFX@JIkVe!7|4SQicJ8=X}Lh zMMV7p3eRD!W6F^}V;eg`5(F{1;b8lpngmtxj90~>KMn2p<_GHTPB&`fKmF z2X9ZWWsuQCO@Du(`FzT;g$#y~P8`?ln2Z|!ynBK3k6G1o!UM_kuEB(gl}X;a3z>{N zUqXi+68^P{7x<{|=#Qg3sm_78gY!&SDF&V@AN|a+X48l?**uD2@HHyGFbE@UW=fVXA4FT* zy!C~KqI>LV!7TW_spVP##!t+KcA=+u$8)rRkBo0%g`?7;-#x@SF*c`J<~{Ja3g|^3 zhG5&zK-R7cYxIx}VJXQe0N|s0hs2s4@eBMxg4ea?mFL3veS#@_EVfir1*JauD-~k4 zpXnZ2_!WkKKo1;!@?VqjuQ^*@4VG5CkM#Qf+ZsNdf*fdw)IPn2`*yrm_w1 z=JRe5Yc`HhsNThNH;&%j`~X>}qx$=fd5kXz<2)k&%Zr`|6@s!Nt%ycYgZDfD%DjUJ7h zX5vM)Fc5;jBZ;Pk4>`qYA2y?UVMjdrGg`Qro0!Gf zpoyHz#$Cx7I(_;L2TKb{wv*$X)r*U65;qn-r^UGPnsNem=_ zZ}E%VE*zN8473;QZ?oDeZk-7L7S~bHo)}aVw^-C~)QSH1GFXMH9Gzn6Ea*;Ki5E5A z5X{Q;yVa0{gwQRwNWwuLEaVF`9y@GpYA%pVF=nOZ_r~uni_C59G}#THjTZUh-lte@ z5sJfsZQ1F(0h^472NpZ^TGG6fc7jqw3jjq^CZv=J8;Bl04ijL~zEFj|?Ja+&u8?9P z`=U-ma;DUQE}SwdOk|Kdb@#Eut8yz@ip!8TSmE!-0s6wKN|6p>K;_x>%kOlvPv+@x zlk*;iJM~f>a}@RgrJqqKXOOW@-NH8_q=%^Rvk4Chj^<}&TC^IEf5a_VQ#JBP$L17z zbep1o7;i-jBqpf~w8g~i<_~x4`>BpAOYuGF8em-os)FNy7Ejus2Jgh%|_)Bmzn0OjuUzZTXQ z{{H~cH4$X8y;PtZO2cNc^I0C!u3h>_Sfy)%KZ+qL--H--doh?q7}bS;(B!#rxl9BU-ZyDFLWn`74s&M(D;Bd|}yw%GwhViGT zM;T(lx1ByRt8#SWA@n`oVbKlJ9wFI zTufDjRv9wR*wgkC?3BFf$XEc$<#A7i1tvu*K?^(vL0erOa>@NDio2lSEua#h%LMJWW$4*7tVKj>B|Tygb%-y z5-ROg!UwlZf3DDr=?(Zf`G9TK+P7t+pe$As=BzLcb)F0QGM`-^=Q5sW=)`3! z@Y-QDP|IF%M2bxlb42*8jeyc(w*a#Y#y!HsZ|J7#w(YFGVd-KCU z0-1aAmrd$j=EbMw@B8Zqmwp^2*fQVcZxc}M4mqd{{z6rLnt*WLx-KMlk9BTCYIG5N z1S9<}j?$L`+|pxcWGy<8ZX*8uad6o1;uLZ9p^@x(iyiEr)ot>zJ2a<6LKtF zX_V)qN;VHMi}kw>nB>^q86whM-S1C}?6>pfuciqL{-!2l**qE{I99kl>3&Y zw2QF*^HZJDm21%yJLT?gQaFME^dC6nd}Dz36kEfBAx1hVQ^LxfS;tuy%-u`Jp}`m3 zc!*Wz@9-DhN{*=%rjpTj0VDnQ1p_8J_}>I~rZ;Du$<)OQ*B0a7B^T<6B2zFq2SVDP zB?keA=gBn<7@DK7`OphPT(ms9M&HbS`&R-4Xhh(U<8*O^JYAd14>ox|5U?ol)wb;O zo34O|1Tmr~RWU(Zhh_)OLFi!#j7;NDJ1ggdr-9E^S$Sl3*#sVH;ti$IYT%Km7VmKQ|_fn$ip7!^5j%!{3eG zPn6z|foe+=0eA169>%$%Cv+J9LWO@jD;-H5F&hSpfiCn&;vG`oc}i*}lwg-{{Qf>& z!MS~ktiv6W;AiqY`$TFZCNZL}yX~hJ;p3^n@+4jucbW@W0HA5dKBpOOa37y*7(UP55p;B*__$SqDQthHIXH<{Ai-eXRobRQJ; z_56X-WMbXQ{HI#M7w>xUnNedw2>zO1RJMY=u&WQn^<|GWn8iynQoZ?-wipT!$9<-1 zENn^G8z4(f>k9Ev2NvT_+#r2uZki-yp8V&?3TAJAc?zj3KmQjBM9v&$?Y>`8B+ZUP zGxPjUfi5P4%s-TNC*Xb-dL4=}E|EBC zN&m6}rwBRNVoB*%4UhB~RZhzOs@fWP*>j4n#s9@MsKHhO1+`z9t>hjux*sx%W!?qX zNf-U)&@Gbun3FWY?~I{G>RUA68$4qU3DrsolBDxVd=RtKZu2wo2T=IAcaj!uqiFPH zK<&blEkM?k4nE^QCN1|yo$9f`uaPEkO7kDN#-`1FsiEozx*i-R_bBz{c_~t8Dn4Q= zXze;MFn+N4InJM%XwGV;$Ln>4lPt>CS>TMcy`QZ8XL`1hdGH9?)E!y8gdS+9kL_PtS`pZ?#Z z@N%ere4YK7l&YLwEcE&)l5LHFC5EN)YLoUtFKusgM+R0rvOc?a@IA69@J!)ZHBPRoj$`{f-XCI$5 zt*BA)w>f^FUg{Lj){Di7@%f!_GxZ;!KL z?l&cZI*n^LiEum|_K5~ldIC2#3TcQ78mzp2g`J+n)a-3=)nm#zwS=e_9ICh?s@=&C zE2g0pW9bhV=|%_TD8TG`i8{(vLro8dG`iQ;-S2B8(2>Slk;80*?OaO77BY`z98dj6 z-A?KJnxB1{vx8X&q|{VozdS|P_17FK-q!<^i;ysf7i2MPtY$H5u`}XkddwVxNOlqL zw<1ikT;lDOFxTypwy$6!i5U(?Q0X~-@8xNz6-F~r%}G?;cV{Sr5wKTcb4;kRL)ais z)SYpb2V62#d&w<0Z1 zlQWAx=@8JM+g;1{GiPY7vwR-%jH>pl?W@9ImyG0L;Vi(B{1069cP!eB6z|5kyoCRX zBCzE*YZG)eOhL`$`fW#zx<|LQ#Vwf=+Dj6C?+wcqoQ^lyJl3UuNoR09nEWzpa4DO) zFhwuol+V)SDm&ymLgh>Am*TZJc0DlVF9N-opm!#YBUr8(>5Nq<6B3o?BetVS`^hr* zMWGf2!>3N*iCTF#mDnku;g#1Y_sx8{^y`GN$?BfLsEOG%SE)j@4*{hs(sq>6i6;$< zhFLJeUuT`^1ZEa&T4-`WGqS zqzbC3pXnT&RImm)ffp6En)^^qrwWQelxv@7i}=fKANIQMlivP`s}kTW4#jS@>`(Vx zrT7uHlv4%os>9z79LP=RbvLk0nl-Dz*j39COZB)MJu+GiOiv7Q7giS-)#DlBM+Y$X zTZ;!cvh47Zd8mAg_BJt3$9Zi_!pKzNRupsIGcR2i_}V%Iqa}l~mBy_? z2v!!CpO2<0`-|e=g>qSi%nJo@IoF>)NS>dV{#hr@d-oyl;9Auux^IQE4f;A(&p>6YTFJ2x@TYmmtUSA|L2gkL9NK`i+JxK4>u8JkJlvHTC+d0lg zmmxrc7rKnOV20$bRO+4+Pw8nznKL8}##KRa5H9`JL8;3_V|-d=9E(5Xb9e3{3o!z> zXQ90>A4Lf*Foy^I@WEVZ!VqWC-)d}+B5@-O(%($<3z{)j4<<=>Q%j%R+mX`zwS8wu zl!TK5B^||B_zuc7D^cTG>Rub#EUc$ugcPl^u8YL7nMKyM#6YAl?s||t6! zks2PX9#!5P{gLhKR8aJpqKH4iWi4epnpVuBFCagIV|;1BoM}tNcKKaP(=0mo27c|# z@Sj2v)_MG_cFMS9AiMxSEw<}?G*Uh)>jz+_9%V)3H+x+sCs10X6aBF%w>ys5K{O6W z^`)@5fD)g|c%+>r`9^n^Kvz3tV$Uuvi>o2_)2y*1)cYSy&VM+G23>adg|It<=)N$a zNE#UDsPSQ;r*5;0I74NQs`D?ISu~b;qMN8SRXi5t(}h|nMJpKPqS*UfRWReX4j6KS z1!G!d2 zfZZ%?tPf-?w7*T7rCubj)6(Ej?|Zv6Q0Q*Z?J5_i$-LPxx5DI5)^Al;wA5gVS|RxY zE)8oZl-R{hx&C&lea^J-DX~LM)^6AA-J{d^t?jCLExdFaaPs6u^iRxHTLOANDHL~?TwB@N;?oDKW0Z^W2ektSG&U95CrOR^DgA4HAAfh%Q5Z4}TfP0#bP!FQ^VFWr#)|ykW3b zK|-Rt4*YAg(YS;$Nb6B2lomSt>rE4j&h%)loS$NamWG>3V|$)nT$L20zcQ@8J!J=5 zDZ;Ey&=h$>WSLO+T3@d6buDeJv?1K2);?Ad6d)bgZ@KA`X6t^TpJ$sg#r`_`Cyz|2 z%srEgnEU*S)16E~Q6}~9IGgHO?3?eC1E7+sZ_BdEcnPin-IGjwO|}AWRsYS6{wH(x zN5i+dAC>zpNfM$w?#pibmQAc#TUZ>#M0qG3!YxT# z%5>{umu~-&B*qA%wb+;>@yj(O-?l;oSj#uOBm5VF1YTsg$G! zty@rS@4l<)xw-MX$(kz;o>~Yo0hput?cC{TA*y#F+aNqkx3EW#)~%B!a6N#Z*pUurpG$C?sy!nx9jtY5gLVK0yG(jy9D$UY zMyCbM{s{cYF&kHBPZSp1J>DeAfObNlR_|39%&#(gWrQR+842hTE!fWQ-hW>_xoAo8 z&YeX{D-R3L!hg8Wke9`NcW3wVjaaISLVKSi-tKOTv-Y?H@3(>Us$%t*nHVxF>2!F^ z?Imf4#*Ku$pYV@HUxXCRM;ZC>Q1RTGLeTa(NJ7)h`4lndi2riKZprM_Sf9V#ReiF| zD8k#^pTk?K`~JVcW+i%X_M#I(>Sh2Q$)x+XxqN!SH9BopR&=n`DHzDHC*^70tsKE9 zD68fwoDNalAY!-UuJwTJNMKk`#!bZ$tuI>8c+a#`d=|OD_*IdQh3ES_qQ+;ry*}W2 zFV-Mf)VEo`d!M46_vE`lfH;pt!izB@?#zBC?o5>)`O>~Y&3d7dqAdt825xqQZP!mK{{ZJfn2S=TT4a}w*jt_fOHecnaSntsVWt5+ZM?bcNjdGdaC_@ygzGgwVr6 zf@S-N+`a*aJB@FJKzLFg(jWD)W?Pqg4DsRWadb+wjy=)1FBV_4A&t`UQ?HPWDVjJb z&1(XcuDH_k-XQVr1~Bnc#pF-X@7^JgQ9|Y~ml~%CGo)M2j{j(BFxB9(zH2qH!qcLV zI)4bL2q{y6oTI?k9dM}+xxnqHdq`)LKAv?;JN-Sz@pt8<@)ra8)4%@V|L~yy3XYJn z-8i(P1S()n2cc>oZSkMAD#_T5G!2-v%t|?(^O!Iilo-f6m0<%?RYZXoL(scco7X1Y zJ?PlCCa-#S)!}uyoSoaVe3qLe;#{<_O8YW{8!-;$Gp9A50zypO*@*Irl@nvYN)@`tZoy8cCxtY&B*>>qmhg``G1`>E zaCAJANW>fCvmO>)RtlAL*vBFQxyq*a)sk*oBdW_Ev50m9ZB$nb-8in z{J3k^*&bm_FTJ09yDrm7l151`Lz>(Pf$1;tCX|B402n#0ZL5b>I;3SX#wtg z>zq{rZj$@$ZRv`wZgh9iK{cgHOD%2x0ep#VoF@G#tr!!IFUXq58aifX%(= zy`uRdu$Q-EAaqj>XV2D717C+1#}r-jNa_3nxX1dYp4BQPP^N@=Wfm&pg*B$@QHCigH+CHHhP#@%16Rd~h2KF1{XN2R74l zFpJddL;#6qB}mEcfoFHjF)mLk)hI4Q?J(jtPS+@m+(TdA+3$B^vELi*;BDidmD_PP zHSrF|^wc0{znD4Zf(U?Jo>JxSJv^B2?t@!JG9Fq1OAYjYD<`&54rw?Lzz z=(I?qTv#@Z%OH&fPhvYRlh?>|-$)q1RMqkX{R)ENtkpdB=inDF52dLXI4in4fW~`EEpDBZWvyrrLj7_fJLZ>b0MgUEoVqu##&YG8E>3X4*AShT) zxX5^~XUFO}9xZHPCh!;~={`J~3@$b7Y!-YFn!FY;b9wO;5%>`!?Ay?Nn?`C=f7nhf zt5#3&@AR(PyKFUQv3$ao&cy!P5-XKZ+8?^ZBF@#HgoVn@* zdbAUA;tw@+#;d_FpSG##ShkaIZRO~-eII8)iH@n44^8y;sO=KJnt*CEcFn&rW05}4 zg)yKQ(o~Av$7$wFdz*MUY3azMS;f9<5ZcLXGI>TddHNNhyvLo=r}pwh1ULw=-*LDg zm+MbWkm@zYy1l$UL(OJe{5F&Qyfpwaa%2+VeV;B@8B2c-6jCyV+J?V~G$~|5o}D;+ zpB{*p)VR==Tpb?_8|NnouWL$^Otzlgw)oPT3coL-t3#6BGngn!2-X7TY5Z`AB8n+q z(g`X($&IK~EQ8)(yo#Qred+mz&E`-YZ()4?4KYnVe2C8I7#{WhwCe;YwZAn75d_x} zmB#_UtwMID+zDMLYZ;S?Hunzhuof-OI&cv7MH6%$|G0{HR;P_=dzZwi19=AbcwIWV zx9>OSh$F?87hGm6sf+*D<9_`Yj^gcOAxcQ0&VQweGi3QP+wP0g>XL`-#y|F;6%Q8c zEhLa}{-zqT(7ZwK{nFwt%x)to#4lR>)k4V1*O`XWc3mtVOAb4qT3sXI@^DBHK|6RqM5ADE@T-bokpN)75&xeVpQy$b8v zJEEF|*U>$tyM;L-^y^XgTLHMVhW=#WfvK%8}l)T{dr|9dhvYy%;CU1uj^t zitVECy+~X6Ccl0nIJ=j`P%(4H!3|q*=FYe$Sd?};=9*HqdmrV4gIc?X_gRE z6u)UKJ1C{(eCMf)0Xkj?#>5WeT{OIf!yk3}mB#E7ui^~ySC$*-R5NEKQ&hY6=34B^ zjWh2=xVngD6VQ4ee0j|4;&M~wJZn@*$-ujy_X!YYmvX1VWywPC9yG#gUQPOui zkXN%muIN>%&Rx1>adCRkLFIeueu}-j^z3~33#H`|T)4)VLn-rv)(E~Q;e#r+#-c5C zTIopl5x7hQ{}%<+K(Iiv?JCAMHb#Khx02*T)>!U>^~FPeRUi z+^;qySDq9MnVIH{@`{=4AbFglMTGbBqrwhsHC_?HFbcBP8n9fZrBUi7h%sIkMdNwq zwMRGMz$+2ei|FlEX>|z;jwvEI*>Qj1`2m_kdV+Ce0o>2m(C%{;w~cM?J5`k{ni#sTv+-sO>muv9%bdtkE`{L<48!_>OwAQYk8{qAIJFDZ;PUh>f~ z(vO;a*RRUUCGeIvWTpRYbAhUA16sy_%VImgHeZLkzWY-s46g zLoKJ0%f(MivMobGEbI|wNgl-EgM1>VrYOcHY5y0zkgOF3ehzb2hl_mdf{wK$&;Nb*nnDtY({)_^9c?4Fbp#$K$dQC`wMzpbXds2P2$oW9*ny8HmHK!LNTIyXa#Pj3B&kd+ zAtyJJ`_AK-4L{uXe8{jm*O&pV|GqjdJrM2wO@%R)!e!X!B`*B&qu2@0Y22?nEuuho zgWGh==paMS9sXyrFD1I^2G7<P)qbImu?zRj*nKBxBYU+<@M9M6(4>=g#aDoel=p%v%#&o7^xu634y_L2f; zUV83eJU{cRA(U*r!^s2LG2=~3?Y-W%c>Yu3F3u?ln!wp@H^(6Qf)J3T?q^3%$Me?? zIFLXa?9{0k_MFQv8zMilUUT$Z0gu{Xv#AZDL!p5r1^gETdIJ*qdakV1XFz&ptj%_d z9(pKG7$!t-EiZ)TLT>Q+b;)nyiuDek>x=8tWqTin+Qh)vD3g=NMGjnrltYcBW?}6# zXf6dx_U*^h8TRkbfn?yeY9L4U8^2`#$$6jP`+Z+7Kk*o*KpQamTjEra+4mWO_I(>v zY6;s~uVl1@nEN1a=8X96MRj+c0p-j!;rGMdZC0jE9m< zSh!SgiUI~aH;Yn?Zj2rnr;aetPSDUAhgH3}gn*M)M94`BJjlOxu}cG)s=(zs*vZgM zx5`1$$HU)eCtE0g2fCY8vW_>7fsDab ziBDEJbr9t4@Ks=$?}1chu8yk%AkW(O*OwMcOv=|m)Y5XdSF@(Y^v2csA$O>dM3Cc` zi>HoOVTK-?MMEiE&o8&@#|Q;}VLuD~Gc&u2Pn8793dV#ZppNtP4DP;$9_K$7^UCnW zD9EC^HsEi|ZQ2^XaGnDB-cY_4Ii8TSyWT4HmR$$halGE&BKWrT`sRQ==*UIi7-Q`A zYWygAS%5>}b9nW8@AK#OjiZ*kU&uaPzy5u2WpT3;)bUnLaSmcJU6PPYEjY_`XB<-RBO*l{FzGByWbZ(hrYW9p6$>dt38}H#=pxXq?bN0{ajD0%1RG%Urp8e@N-btQeT)p}C zkX6vqYF|NF|+V}{iDu{LtqSkOid*!xXEz^gTIW5?yex22R)l-s^ ziqg_WpgLcRsbconm0=bFO*ixgMrg0PfnK1?`W!(OdNyG-9X|Wno}aHTIxOaT3y+$JY%l=fbJ+FPeg4ype9&9aSkI{QopBG7PD{X#t)@+GmDA7IoI%A zV#sNKlDXK$)T?gs^e5it;o}ssdSjO7*^J#9Arm8#V7#k=H0F3M_v-rB`A#)FJZaDu zA{ju*h0mENDM@csQlACVA9f-*-JtvK_!PPTrbaZ z-qWr8{+c^I_C_a1c?lJCXpp%rONnc-Qv1$4<{_E|Q_K55YZ(qm?HkVKZ0b4RE2nLk z(k+3f58I`|IMhQGb`sL9m~~ez`&YhLkwyd&y-SrFwir8um<)jEm2_pCAzTX8bv+)T zv525V9}uP|R|f<*sP9&?FTd>rXU9430(&0>yBZ8y7W4i^d%anNIJ@{Y9`pOKmsX$S zLAd9M99hS8!NwqGn}_2KkZ#?fhF#-q?k$WAD+pNZmFNECjR!ZZd{leWxH3uN`eI;B zc@i|l*2gi+iK^^$qC$opqLssj;cHJ(H9lV_UN5bokP!K51z2Uazi~oW1fF`g`{Yxe zOyHR}&8_ESfy^#Qtd}s4rmU85+Kt{T6Bx`EI2a3Pr`til4>w=^{??qs9^B2@(DV8F z=kJ-8Q?KK$SG{{D!u4W{O+90xfV6A1Dz%OSnrTt^lZw0gVO!G>?cnIx*iO3V{_5{T zu@>qJj2Q)0MnO-Hlb=B27lNCSUR^=m=DxJ!&2q-3p%2_2gb1355Z{24Y-cgB&;0Y^ zRr(yQ@@oIgRhtB|@ zL$fo9x-SkgQvuyoJ@ackh}O{S>i4tD99q}YsmxN#?!V_p9p=AFrahM_|B#;jau#zO zI8@Q>_bS9sfZqBwljiOE-o>8?Go#T9kVp8;uTFbM0koN53|bL8W9}@GM+iXzC%*zj z^mTw-j{D3^@{4E2B+pF3I)3+Bcbwd4ckEh+llSfmS&%>E6Z`NxD4E<ZL!%AMk!@)ir*(~_>#BPoU5X65ZwF(q+Hy`LAWFy#90d_cP8W{TWZ>QWu%Izq zMyG7(>3l`5929_x8e`R*e!8E*NdUKepE;=ZI$iT~*!`d+RJYWYf=NxahB{23e;1B)l zhMIPJMG;E6(&P~S1U?fOE|-cWl=MLVFZ&1VdN43v;I_~^lQ0V)TmCHhGU~fJf#eBE z$ai}D0cKpBfq~#so(JsD^Am9@FW~Cl2Q4w$)2?%$HVV_{R!@FyczB-oJl}CyB}qm~ z5P1xKg0BLMBk-(`-&4Dn>2<@PkDiK@5|wPpPt#|UAJGj}^=fNYK7*43`;3*Ub8he#>e)t*S+dTmc>J4Ww`Y}Z z%2e0L-127`YOBr_J8;bjb3Pt7N>PvUT8D0MZ!-8n${<>{R3ukqRmnInVv8^1QVL8znf@F!7~e;g z{oyxVX*t&f9?^jdV^XhaL>qE06cg&NUnt14Z#p&)rI+pn`#(3wVMxLP>F5}n8R_bR z*3Br2bnBDdu)77OMB@tQO&aMINqAJiZxgob7?s7?I5e_|O5`oWn!8Ck9JfA?V`e{Q z_&maL-pElg%(N9nL(rgGSBGc}ZzkwGcTh?rC@*C<6-3OnywFLgk9eVl`chdN30K=v zxffyfrs30YOcp;lYLd&Zdo(;XpN&$1z!>u&y@yQQoRu&VTk?KUaBSbc)@6=9t7I!9 zh(aOUkK|?9M8LQrs*(ZP9dBNMf^Z?~Y#r>?bdEyQ?(1wp&4Q+?-qe&&>*L*t)1eNn zv61&L`Iy7diP9xxbCGsQ$i#mg4~Wj4GGE=$9RR>fb?O7_ftLU^l1^n(AqKLBg&!sHM6%)_*cm0SsI_h~Qtl_#!p^*hj< zx~P;3UQ^%7Vn!37F2{K+!{odFQ$Ps;eF^%fJ|&XGgeXbg%HIqoq!7!WAe8qs;{74duZ(*xJZQL_SvwA&b-db|ESo4%>Hgj9d)d4fu`j z@1d7B0UHkRKVr>;^UPs4$|jyl|H%46UP`41DMG(^i*1mRR02Weu*(^ly(ce3L8LGr zK)0+>cY|~#PzaUGnfs2(dWdhg`Shr7G`?4khK7-3t#6jE7nk{ASI0HJ*Mh!>g1gnL zz%ze{mE$df8$D_5S`BA}%$8p9F&st)uuLVT@Xz+h`QaQT zAIu4PR=Q3dn^hI;@I$@v@Ny9z*nB9VfhI6jxtP*Im3HRwo5*YJsTduj{`es)hO8Yl zhOjy>`4!Y`L&I=Rv65~IzI_|nFut^LX-`}6k8<2cg&XbAN3@JOW>mmeAl9{qCnV4T7}*3EtmHb zJ}g!io)dX8MbK|j9cCOaem(U>g}1$^C6htmumnvrc73d8lliiUA5wqD-nX!i=J9M>azUid-U2`(PE=g_l0j`xVf!Sir;7Rcfa9QbqKmAC)gAh(A0NlH zFP^pv^gM#K(Y*YDpz+*B)p)J3pDuX@E%2N!sgPcDYV zz42wPpWs)=;l_J^1hNbn_H#JJx*eWakJtqu{ZHqMrattK`s}%k(SQL>Po7mV>SD!R zuXAw4tyx&^0hP$kZHRIfirm$$l=jenY7JU7ixW^E0?9QzcX5C-GfP1>cX}v;1BgL# z3PyAAFh>ZJJYYBAWe@5A^$Se6u$VErJ|XUt>R1j#MQZn85DT=WBgbdB!0F-{73`i~ zd@?ZF#-$K7RoZiy7QY)Ch5|I5oxv3EY1eYOE?J_20Kp&SG1<`LbML;wq2~Ijb5row zH|Fvs?SZL!PxQhOS`uACGOqr*$wE>d{M1xo%j0wD1dnAfB&nV<9+)s{3D9^(b69XV z`-(iCEbozx8`y8pQ?VL$u`C6#G%0)%f}wtw+H|EVn%OKPTLNxOjIKK%UusvP~2g`Dz} zg}ehUd6pqwsopPxs8YZlvqm#X{Y!l+9$jPfZ0CKFL<;Mv)@aQ3VaB~Lz4m2*`Z6EA z>xAd$2|ypyAyRmPo$hM*=_!3^UjxZxeUFQ0 z+`1iNC0C(X9F*)lk9!!x3ZCP!Cy5IT$OGrnW@qvB@(#N@zzJao?6Av?$-_7b-U$^} zp!;aT>B!cx%M?mNWi!sEDiVOz1huFA<1~>Tk*fXL-DPgqjMKcw=*KBPRAv@-=$(ll zJ)FZ>0TxNR&&V)B0;&t9TCvxx!ckz%*kIsv6k&c0U!6Sq^@dT4dvb>k9){iDH4)=d z5(dkcpHx#!sj?^=P}|Z$ELY_6876sjPZLs&aHgDDf#yy(V3ug6o{QNMpQ2O32C~r7>^Y1RsZ@^dDzvYy2@>9RvN(Wswt}x zSkpgQ_eZ8QL@7tIj0-V~DATxo_2cs1gq5h|6f-i}-by*gt&~Rr#XdycUmkZ(Q2(*E zz=1TsJ&-?+gn$!F8T^m${jt4|Jm>;r6FzR_;sXcyU)|_`;-ZPo3jRPsCoiombR?jM z{^l_MFSw|9=@#t-teF0?2F^GAt)nmr_Mdn-!VM{`xplY8o;=t{fB?t;Z!iC6Fe^NX z8(}5PO|ILKx9}vEP%@aC0H`fA)}rx*ZQ*=-+;4365jkO~{Ps8zG;w@W0X6iH91 zbL^V+mL$pZ;CmBKYy%HcRpy)Wd!!tISi$B>u*`cpNgIB-jT*t7Ie|f@YOVK@DP_qoXGB3( zDdr`DL)I2jE7#})ouGivm=HYohLO~OgoL&zSsDFTO}w!ft~Jzhh(FY&oSCXLgl$id zZy-QYQ5FokK1cK>oKNJ655skIb@e0BkcfhO8@zNCS!n3d>al?)a4p2wIt8(kph$`7 z%MVJ7(>i8juRP$e11-0S_@VD6RXu}L$Xuq1+1ptUDl|XpkdY+yZwu27A1J}MPU?ne z@7L)%-8gmiY7nc6a_{Uq6RQ)WnKM|QW9CuaBF{o&0pl=|P#laYKWU5D#<(j)Cew6o zJ|AP}qbi!G9Sm46lvf);CTrafl>^%1XB9@$1(+{PP{{kdzFPjxB2~5ex~N2P+=xOf zdQ4oi{QlJ3)^ewX12Y9IKS@ob#x%X!Qr#6SBQ80f7&IM!gww8@@WQUjxxBa6quj|Y zwkmI{VXtzumx2WE&*T+IiC-~&!$;8wq?x*#ST_0f>klI=Ep_dWEOdB9>K>KXVeX?L zD(#?fDSx<{u9cd;Zk_s6gDfCrc=bH6HdQt6T@jKe6q_Iy*;i3~Wp_p5lR))JHLD_$mr~d!Qg+&dx4HBc%h|GGdpuHqRo#$&78h|66lo#^1m=;9FUHsbn1~V|#1x z?2`daRGTiE^2dYwl-Abm>o|L{lYi}I`2lQzViY9Qovy7GvknhqZO;m*l6YH6Wcv|{ zGc?YG)*H`@Xf3qbw?f|!JW^AH*z2|v4u+cvZ?;;*#V5!X6%|_6C8|jxwbWkZ1)rLorHN(OCILtbE*ny@9hd`#`d#K&if}MyMa<&hmAUge(*y;3c($pcf}y4zZ*g ze#i!O{BkIROrXct<{yRn$04qC9hVQmy0Ow$*&M2L@`;dvdk{ml5>xn#w}PByC2$EJ z(Mm@5hYgjq@x{&nnKaIQ%;7kyTQuY4C@P=e|J7!2@aOU?>8uT=Kp=i|zIte_0Ac9} z_ira@Atf*BA|$lP(}bJ+Ossq#K20*f*s1WPx?%W*OuEonLM;NuhBKf^KFxL?M%hG{ zb!CvsJ@W7>$p5ecu2*-eV2s(1Zrai-XDbz|a_?cH)&oZYa4@>_lTe2P)2C0*Sq*Gf5AfwzfJr@CpK*PdlNGZ z+UUiMk6{?`>G3bHqOHR^^1n8O5+)LZn@jYiXU&iX_#l$k?+VMerWvfqTN|E<$jB_f zY$djAdgTw-1`S>`qS4b8D_sR)AM6lV%U=Y&tdbw4ItR+^ffEcipMt!F99-;D>dgvg zJg2{~TgIF8Q=3i~XFsgcgLi8PK0^un9lM@;v_JiAD> zDPNA|dM@;0PZv#7RTQc{PXsVlrv&CQyQ-t0oCo}zj$V{O^oPrZH&k!q&huJh8DB}k z=GzN{^cbpKba2?dMcX+wS&Vx(IQWv#PcJg-e&XY-degcT^skkE^6 z-Objg8V@!>0Cs1qEL;&sWn72+UK{4n&l^xO4?FhzFCGk&blLiur1p^2sIWu933GWOeC=uiR_T+TVa2GwL*SUaW>NH$BqGjL=jmE1u2nNm=8HV^E8C zV(*p+?OLvkFu8zh&Vfph;|8{VtDKry8kD2MSiQPVXwcQduq~A#!FXK;sn94aMhh8s zlde=&PGMFJOjRT(?@^msjfi%XNS^6Tx zVV>+$Q>=Hdm8q`Ih_-8urUiUSGwVO>k<`UTy;ufesH9$WL1RE+5<{8~uk&Wh`xOxs zQ;wRfS>#38#q&|6UgY-_&JRy|OvWFK<)CX#Z)o%sN{r>e$gsKk)OrSk%> z*rsi|s@T}clB++&NOomQQ9zi8vo+LKl>DdZt#Q1Ns>p#oxd4qZOh~f&tk8amgpPlB zpx>31mZxr>dVks7&IhvC=S~$m7iy|>DSQTghQ2eScUZek5D@uQYgQ=h#^@`Jssw+uC@>>6I)u+rsYq68UPZpH@1**r5zt`hCROKs0M&I?n$3_dzZ#CNmFl4lz5u>9gJ?@#@KRH+3oY zMyjteW)PH3g^E^!tm#6co&Ngg!GWc^>|#ZAQ_<9*-oV}}C7glP$~O((ylwFeqe z#u@JSkP;r6Nr}j}jZ*HBk_?iKk35T~M)iC|KS^^1h)CfFdf2Ag8VHrLbR)KC$@D_A zkxd*#eVs(M;R4bqm>r#plV=koiUQcIy2t-TtpA7N|C?31rHKFKYpDPn*eW58e&qhc zA!|FS&lo~GtTc}5VJ zeVl79J-I<|;COp$?imoXN2cCn6LF=jX%)dWjvMBE>M*k=riyP_g6Z+Zlc0N$U=&QMh-521w9>2J%4j$C>wV?Z+&==o+1T~ph~5n z?Hkf{OQT`p1TzQ^^i^+{h_JM5d?eki>C&+Bk+G#SOpN^=l~%7&)D+myaqm{X(Ss25 z@>x8Or(5`V+4(s|r5|xzz~B@*&sK)2$d_TXE4;}Vjq01c{#8bfLa--&>IiIl8g2%~ZI8^BprA6iTB zd)C#)ZK4MNPPf62sq_a!InuI)Lb&mKX^&c9VL^rb&;&Qp#%(Hgj!RCVU>$Ka>7$Re z<^ADN@=a)Ek=sR^@F# z8*%kCSeL|XAZk$8nhtMpz}b>C(C6U_wTk7H#N zIMEckz7CM!A}IFUlsUV{!vq6+GkeVedwv_VO9etyS$r(~+B&U9S&~MMqV)A9Yj4@G z%fcI52NbJJ=m7l-Z8~!@)WcdyW-2S}(zARBDOA6eE}aRGbuQ|vsE+3q;;d(qqVvFA zQAQ?|Vy}y5pPu>m$(0AuQ`Th>KpE_Y4L~}|)JN_VoKascW+mZg~>z%jJIO>ng zJs!6N|KBM5f8_;CyDL5X0CKE6rigu;GZ5G%T|sCjbwlp)2BDbt@i zN~8${^nuQ)KqMu#cYIXnFzLQa*TS+2^AtDQBMI!1-Xxu$nL;~bKUCt2_LW-*i^wC7 z87wr5z2DDZIJYDv1?o)o;~OIxA6A=LOu?clR<%C zjm4huf5y81^-yjRbZ%O5lPh_zu>j5LuX`xsIZcGpJkMI!Y*QQD<-bKHoy5Gs9kB;N zOa(dit3t$lcCth4Lp^^Vha4=Aq)~6jd~AvNsS)pmQL@LGJp~=o3354fdDAN8And>C z$H+#J8~80F8G$CJ0T02OdlxR{r~hqhn-+ouBpM>O_v=ZF@A~aiUj}aD=2C1x^jPls zd0s&Rr>WehupF;rdV=Lv(RcfCTuVoUQrorUQ$25s1wLP&eKX9R&`1~Z+I~F$og)q- zDPe6$o*jE&_4Lx~IMk~*khH7>6ySFz9JfEFmF% ztY~($7I9Dq4ke=_%K1Ttp`=u}{(PziOEo(WcZAY7V-@U5o~13%+-<0rNHUS}WY%U+ z4ye3J7nq%W2-A<6AIyKw;~e%Jud1Jvvn)?OhE3FMBLBX;JI*0>^n{IOk!I2tF)LgN zIN7CyK&~u3Kc6xvQHKF1QZ=lsJeQo3QzNppl0Lo%y^c=QRx^jtX#>^?R$Ji3@DG<^ zW;}~_tZZxGMA9QHUG7Oj8PPo3C@5{VYZ;X}i{7|2JFMt~k~#Ke3zE&9edBr6;yARG zj~?;bh9$05=qSpF$&>w*RybtFdUbQ+^qmm*goz$pH2lCFdzQ#h{*`=PLnw#dW|tK> zDI#)hO-V~eRp&*SYG+NL8e$;&`)4$U!l@v>-m7Ea2mwKX1dtLs zf*gv7RHYgzhZ2?7@Fe*i)2zWm{bI*)3&dj=N-Tcg-tZ%(< zp8f3o?EO7)WB(1sPP&204i1g;tn>K!rVG#vtW7t9TvzE+gA;$20U)A8*H;s=m)CG@}{tf9$O{R(VjSn*43? zaT_nKQVl7Jl%_VM!_DgtnxfsY)>UqZ;}O^kxIp=nYr{`_v{ z9A_dr$j6YBut}FeGmsM^SW5rC!Qy^+ew*)JvrUtjYi)J0?{UepKn0wvx>~qA8~Quc z%Cj_8t@(~Brbk%IIfTbR~Kq}MpaQGN#LnN=tIcs@b^<=fTbky&Z=|F z;qObc)lo;Kx7zs#59i5Y+Gczr=Hh;Y+uoO|-VjTy<@*}tl<=p6d`ZEB%w~TcD7A^j zKrLqNyn4~0$xBmzsk2ZD!XOa0PQ<;@ICaR-#Z*+N(^5M-YkhW#Bf4xBy#az(EszoFU+o}2GZz(xEjKnXL zJ`oV@w){Zau391=hjp@b5LFeIgwWx;lml;B@R3PYUQ(U%S73IZ6!a0y9m22R{ z@(TVOB1L@L6OK6JxlH3&Rf0-;CU4{Cy{Fa7`Fb{em>J?%M{UfHgXT1K0!Wx4S^)5; zr;7ayK7Yrwzx-JLzvsKp5V5uJ(3W9W+cIBvmmj`D`WPVLy9-wPEp0w}-PWY#Xo$P> z_xJl&nlk(nuhw=nNo}k(L`bzlKW&X2?2b9;17ujFV6UyK3^wNEg8W7sI_|c+^<5aU zvJa2;$4aU{uQ56AwS5Q^Iv)D7|J9m} z!J0ZQ(9C>vIoQ6D%wN+R+jf^Y1Rp#~B39u|Gu4!|ILydK?-GXr=9Dm2T3=!vz&Ju6 zqSE5!=6a77J^e(^?kO#W*^$Z`53f9Cq$6fRs3ijFIsDFy{4jQcc6pt^V%QesGdEf% zp7wrR5$`FWg29`gvbh{jNVh59mPItmlVytDo+#Dp{h%PUEUUlR6)h4|fmD{kNR?8p z-aXaTNbG=It;%F@?LZ=qh*6Enk?VS$hrrAic~cMYE0Hs~6l~T*(?teILns-pvMlu3 z=)=>!ez&uV&AU(XqWxOCM?ABw#S~Rzj=1$^@^V7>%;q>aR_{f;FvQEgX=d!XE}Y?gN!tQxt}h7%$rR1L5wu1XoZM$_$rn-<<8eQg{5pE00ji1zBY69jSE178?AB!m%*y>|Aq! zhV07z98Mn04L0IbnIJlxvDbmvkjj)`v0UKWC32&uIC&%duqjWhuixvgGDMX6Jr|H^ z#K{;xFinyru9`WY`lAb>&;u@(h7v_`SX1Ajn2M_GqkKHCD6biW$&?e^P3v)T4Bd$~_Yhv^o}$&wE7yE*2lc{cpOtI4D3XbkZy@uK;tUpPRS8T?l3(DtIR4 z8wlzSBb?hu-I-JWaM=E$@b`bhPfnx))%M*s$ChXueM3w_v2Fc?P-U3G4C|(#@l#`% z*vlX0P@Vq%pX``Hk~+RLM|2C=2rH=-9rv6uX!!eA2F&8+s{6vR$=0dm=_ooL4I(6; z4|o|q){-MBQp4&;1!fq{SXln{^34sO7vM=t$cODKA;5bnCs*JkW!$njk}ByTdsj8U z6wZgOqO*}l#~?uSp4ST`2&qrP=mW-T0JP8`S1a+;Z9I-Q>si{o?@o*dZ6==%Y z@j+ZW$!Mgt8UECXn|KeIl~Ib%9N12o9uQ>|&euB&jP=zq9~XImrrQ-uYqy=q z84LT^;L_sqhD}P+@GJjbl@E62xuRKX%K5a;_Pk(Sr%s5&^ZF17iS2&HuzUo5-!u6% zsaVTbVti#3KvUaPru2|wt+9?7MLP%MDUJiqgB}Raf~q<-Ubl{W$G8lRRAmXiK)wsc0N2yAs9m5qzhcHC-(@idG35iKmv; zb%%JkV*IQv;1${kJy_!%aT^(VOypp48`4}uQ`GjwHCbfNaidHN*GzEw4H|-@Z$=n*{FN{D%%>U^C5g*@ zZa%^Ju?$o6jj)y2aU1}8!bsqxA zqQ0a_oC2(|P9}zTw(iEYVTc{IT+S)SCdq|#f5dc5rHufQ3&>u|=ZrUnki-)lp%@Pr zwKEvPf;J>pxKTwiwS@b&>~+N+F(LUrbF;qn)GA5LM!2B#q{a>!ouceK@wfrd2&rZ=Fy~eh??0|1*7ADGz zeN1+-p@Ht+0VhelkJ~&&t-5QY>Z>(9UmRx1HuS(5yF`9R!nYpOIP_6Hv#GGD{oa_9 z)YjlTAfj3Leh~!JubWRau@t;C6{V@gcRnykqrL-Cu`leFdj)YLIDaA$bvu2}E%RYW z>82x1yeG)m|J6{D=1tHZj_YdQPo1trBHcq8yCILiN?$rCIz3;JR+^|-LM;yE4nZ=NaX|_7->J>%(rqZFzJkUGE2_02qp3gAE&pzUUhC}s zV=;q(O*dW==d4U0@97X;XO>U`%SI3HmN3kwX!-gq#M=*R5k&0YytAq;u#vdgTZsQK z{pMN~5@WT`p|;~`BHquh(C>8fjfAaqHF=EzHZe_g2umB_>mLWLu;wyy%NPLp0a10w zM+}fGKmh%91^97%d=8Vj&e8chT?6BYkn$psk^7$Pyg3;UUj){1r23wHac4I+<;p<&kh#ciB`mDQ7-$v=K1RH**q^139K;A{sXO$+*pEN4s_ zgp?NSWbiiTZ)zz=1DiHz2mXxB-J5gaaTRbCeH}K%muD*8t=@~!+MtN%>7{jvm%r8G z2m|7UfP1cUwkTrn>|-Ewn%Cz!o9)F7eLm}U1;}4Ef@#m!muFpB?Lhd{C9cM)#n-UW76Yj0^pL5QB z&ilQ;z8`bVtm&EQ>Z-e{?yl|?`CeHTK8G%1p>xOTuB@PqBaic(F7L!8_`it#{~icwfpse>~|Pv-S`nni=N6qExg%AQJM#_x)(FuQzVC z(4!&e?uR9+fV~FCyb$lf6j!2_whX09?LCjp&-|ILEv9#V z_X#T@LFXm^S817g`rTtZt%}rEW56g_HMbx1g+`&c_%W z>6c$F`)~R=!Pj+rv$Sdc4~lW#ZSJ{{q5$)%gF^@*;$J)md|0l zW31%sA~vKA0tdqsVoX?I{&=PGhMJ;RDtN|H^aGpB zw|By&+)`Ywwd2_JT95uCyHw4pcW&JTh?*xUqK4VkZq3Y25hVup(Hm<&6^BlJt*hF? zbUP4caGsvj;8?b-}1$ zyf==YK7*pArQMuAGG`0RVI!mbWVq-Vc9|aX+vs`8TlPI0UUPRz7uip_ z#V2BH0~`52W-9At%wSxe?%jTZuMF6}@1wI=3P|PJz=cC^Gp+pc*%~@zB|F!gkX`My zGaKg(W@33`x2#~xCBt@DAB)v~_P%v(`{T-+EjwjaN$57NPY{?Gjf~8|9Q`iM#q9Al z%Z0W4m-F4#o+a=*MSEc>Gu95{-4@O8*QfnWC)#WIH4}vV4gRAqWRQOV`;n6A9_r;H z;1LP!INUGgA(A%d_n3dYb1`&DoEP$yUcf^U4q*l34dT%iWX0gF`4ysD(3XFj?aTI!| z&i8OXwmGD_3XNzeau5^%0!4|qA>#0O8L(E_v;XL zl5Gb*j?Rf!C1f_JK`382eD3Y!bp1-S2L$Bw-!Bg{Q);!uE{JQ(#(S$nTE9tZLC)>3 zJue7BJru-bbd!HNBAmG~;df{`zJX ztMOiBEILWnuRhEPDUA85JZ043bLY)9UGi`d|LRQ#wD?`SYg9L9?S&73Tjod81+;=C z&iNh+Y=cnn=Z1%4a>dAs+V>9xekmNivvL+lKdg-7)bHVk-Ys(=u=mF>o;;pFBpyV6 zqBv&rD)tFGxpnS8A4r+4Za-NEx){m)404%nisKaJn{#b*rL2DW#Kz+Wit$`+5UQQE zCGjCio2a@6y{`+y_zpq?3#L*9v=0ovxo`%{sR&$pSVP}TxDi($2GYJK3F{}4)7flr z8r;_)BKS#frSK#-lt|blepLNDLe`V4YnbI+#BB5UEx_l~UEE0kYmqkY=w*(#BGl}0 zIW%8wfaPtN(7od(y;N?%b&FLF@FX=ARq;C-oa{qO5Xrln7lMn`7sm9(dg&NeWp+H} zyU88G8vyb=M#UMlNg8~oJGV&IeYS#^{f~Di4nrL-pCcQ~nLat)E2g(PL)-WM!qFBWAJ>$u{T97(S-w9AmGZgV=C%v#iei z-Bdm-M1Yrx$n9^<0_sx@(li~NlJ<4L`lY|wMkavq5 zJ1Rh-r$T%eUu9G&v~;Cl^Eg)jz3;e9FQM?6EOHDai#l*N4nmAt4|yIuyI`F&_3<5Rc#Cp{%uPdM!Py43rECQ^Rld~B+fN|zY^`;X!UG+z6U zr6cTMrDaf+Ib8&Y`oezyGy>+cWOKTlEvr5j+@33C4)u{B9p3h*PN1!E!DMFLYpVZ z*#^kor*vWF@ zi0?DaJSO(*9I3wL4lYabili)QY4waWUZGfoMKu9%_7Yju<(syy{b0HWq}#Fjg4{N`$oxm z?6Aoj1-I{v`BvG8b(d0oxUd-7;OLTj=i_3Rb2^o3<7stFs(ltT7+CtgG2dVey4`)F z2?JiRSUXd`25+3P;p$oDIPw%U4A~PBoYMOnQ+h1zI=)FP8ClY+Ur}r3SpNx2~HuByc!FCTD2t3&pIq?rTujULY|4wBktRqSrq>dSajXQT6@A>Qh!kPryY z@x|V!VND-A+ zHTBZkv+5~E&yR^WpNnhyZeVR6$LzE=t>1sSVI3qY@=05f+3cz&F3PDV_mXXP=bJr$+JOIM{OCM&qheb-a>g%*|74%t$IuKV0puvav!54E!&j3)~6`kc?@ua z_VPp5U-w_%ssNDHXvV%5;l1W-01GO&Q|exEV2%#S~qkW$l9)3&ZKd}%ewf|>1btS z!FXwragiV*mFwFkms^~sy24{>d-uKOerW5KsRCr}7%RWB<}bjS8~s6@JB=5E68`7$ zxb~){-7d$1okL{d(<2nr@~b({22SLLs(k$O zm{NZjt{2PB$agPpfCc$wZUi3a-@-jqp0GAzzd-5zxM_?6t3|Vv2xmP{cypTg_Y?zI zIS13sr?(3C)Pi>{S=ie|@JTt5&zi@Vx+XH zSj5z^2oyfeal5oD65jF_biH63Cv-l5#M*AG`bV!;od*J@kpV9^0WX)6D&HoU5B{ao zn%0|8u;`K+H=f!7I=d$-+9~gs8T}pHZ)BuG^W zXhXF4*(d3zSFX_ngBqk|izATqA9kuQYmIyJFXL^aPuugtKOTUBu!NE3-tP4IX_3Q& zTjAAs%W!u0uLDWHrg2aoXk8{zjT3@<97{j?FUu2e71yz9>1<=}l~m74AD0I>7td8E zAC#9Jt63X~GFpq~eCbw$bMCTZF?xdbyIaZi<6RKh!t=K*uTD7G-?g-tmP$H2f(Ju& zD6ov^Le&UFm!Zj9CV3!H-e$Ci2V2m(-SL6%{G-VK04RSJrw()$#KQCZlCAf(hPbFSL{0mK>}AmcBpC3{B?mGF$~~~MR#8u3 z4k@ia9KQMEEJJNLHpD_XUY;k>QCy5?Snn$B%;OAVFaC(Se$pGBhc^9`g?4YdKdrk> zHw8?M;tIv#J>6a-ne2rC_kQ`Gu2!nmgu=m3u-AXvQQU&u((0oD7|u} zc`lgOnhMVBn=manA+mIi4R*+FR9MV!_z+zDH7n z)?H48;(Bi=g6+uhjW$6|N0+&7_oJKQ&OIk%3k7t!;5<4eMk>Eh+askSfUVDTYj##C zy0n^d&f!zVp+&|bVjBKYW9wiQSYurWD|ld^VX13XyipC>Aw3GlkYXE&(5@9=*KA>P+teDBWbOq=CBGZc zzdwwsx;$~J+0PuS4XnO4-i{oK^g1bsj$!*{aaj~-Xg=Y|RpTSfK@puGB1GQ-<$O)C ziiONmlV$|<MgKYNTKZoOv*i}P=$P1`! z2x~q%kVfp7nh<;S*oxMx#IKsX&#W3v%_hw@_;SB%NrDct)jOf?Zh8>NC*6e_TQ66lMPdOBT#gbCQ3#v^}PcP14%ErB|HE@ z>Kz3P7W!YMN5lkJ2Sat_FZFaM%K0S#poia=*pryALS=KFZBF>Uy0^!F2ll^%P|7s0 z8~!RB+6y)ic~~OcN=S@Ww%=+bp88@P`=ezf%cz(U8hgm}AY#SVF{Ig?+{Te><2NUR z@E?CU%UDk%ipw^~z z_VPP|-?=@rsg$s)d(AFKO|2bs!oH)WC(xV!3Xe>hy#CX!^=DPJZL^ub+fJFmeGM_V zjVc$skY80Tzd0_>f(AO#P?2|i4a4lQ7?X$?k$v*NV1Wkp%n5X{ zya6&nK4GEdq)4#5`L!*d{(hNf!cY+LJbcT2iW~gc-!}MN?A(8wqrME^_aCI<#1XC| z0@N-GH-B^jlxGGv4Jo*N6RDgCr=^{sPYC2bGbD`PvttT&;A+j8RWa%~udBp^X5JWi zC|-RU=*9q#+sc(@GZ6XHIf70YIG#M+pByfC-(-oV{6|0h`fiIKFlbvIPn)!oo!jLv z$V4t|D%Gk1KIiXz$j%k5125d)CN3KAn9G){Rq0TCK4^@lldC<5y+ZpgA=(@FiGUXY z+!Nm3JIoJFuYLX_UYocfJ(V}H_n-D{Wxzz0dvJS^^fIIUbXcnWk$vNTADw%b8X5@B zqnb^VZSD^K-VPz&9d5+|S0{UY(9|1gKCV}&sKI2P^gP%;-Ufc)#jS0Pdqvnk=+WO^ z&<^PUyaKDMuYZZFA2dujDgT89!vNn%>`-01D-uo5n=dS_# z_K$R%yF}wT&jN>pXazYA%i{;B-#A)mZ08w2_?KM(z|_YA{+GGy}-zLyF(E>qMiM z@sZn(yD3(=QP=FM#k?zZY>nEw3aFzI+eB(`$|xBpFBe)bgWVl3S}#X|qA!84b_>DqG5$g8(BBOWr=hsGgaz;jyv7zB{ zqW-GZ&w*bvtGiIt?rMNC!4HwMVHx9@l?^?t(wwA|9U9e;xxX8ySA}_ zx$FS3MBIxQl8QW^#U1wFrgc9fe&n3u-N&8ceLa6fgWt=&EjQg3zJ9*e&U$C~gJ8@1 zQcu21PISzAo$%VAzZVaEyKdihO)q;O=dPfsG3C;)?{MFtWzfu1^i;e$7h+FOWXdsC z#p4)p`UWOkV9zJ^6UcNvF3GQ3qnE;R9csheSs*Ul0K`xPc{h-1y+y4gI6Svr9ot&=)4z>|vGxJZ1Z~M32?$ z-mXTE0V!TnNM0Fjj#-GE>vWA|ov6wd%77z-+vJi{<8upDrZma|>6moAH)46*jk2Ep z@(ajdTY!&N*sEnsTm!AiyLsIuYpf{`MeACS=+nN+EYy#fWTU5Pqu$5T;+#6`q1Y?o z6v(&6`0%-(Ivp8Sfmx_l#oy=m_tD3b^8DN`^J{DaFyqx-*@g|pk}$Ii613-{vQkTe7}7?a3;*C&s@PZh3H6u_ESr2lRRosR9CB00`T;nIR{ z8d-znLo&Hd7-7Iri+n8b6Vj1_@x40(U`=Mowi>vTH#v!C=-Dax=ILf;Zau9$u)jy` z#U5{G!>!f#sO+xy+D04}65;;TbJA1G7$*Rl-fs1JUTvi_}SYg4MUq96#?P$c`6iTnYD{f3J;Cxf}lQKnqE1Gbb~Rn*TTyWdoeWUd#N?Fz_&t4Y`u9Q5c? zLsB~z33Il9E&Q(_Mc1(iH15E!9~xZ7%TYPTF$k`EqJ)5y!_krZdNbLF2)NTtThg)6 z2buK*e~v{Rd;%>I?sn`;$)owjLeG~XQQeQ<{Bk(sKU-7=gOcoU1=ajM^Cpd_`3=}+ zeg%=t-uQA6#6%4WiBtfpsj?1#SWj1YR4egoBP|1(5SLw#`-eZ4Ny)ktd|CT#gu)Ha z9i}v(-j|HmYaRr(_Nb|jks8n|MJON7)L6a?686C~{Pm`u4vQ#7gx-!NI!?0@3Q3Q;i$Ax4510#a)1 z8?($F)+Vyb$<9}YPoUPNo$-=vg@wCZSF6Go@=>RSg8?n9`tSOXPj2!}>S}X%&bkaO zk$!vJ@{RIgbBW0?iVb8Aw4vHeaNZ}3ZQri73+ClI7V|ADfR4+i+9Yo!HQce>ojDar zsrR3cE)o+x8{@KJ|sd1_jY}UW8H_i&{l7 z?aRu~pvXdA%@r^@xL*7j!3x*JTW-MRk?gmEJ{zW^5WW7MoZJzLlH$v8n@ zigD>uJ|WgP5-hf||G3A;*q?#$>a~USF+lu@=R-JSFnAK^dCIuv(HW0Og96op$?B6c z2f2!aGF!7;k#QOZ4K6X8Cg0p<{o2A1eGCU}W5@(lozclXtWtSRR=YZ2^xfs$_(>1> z!*nJ54wz`kKE#lInO+GEy5JPFw22~rF2_v>t$%Y&Cu>X;;nqdjbrL39W)(LoGgTJZi2_Kld%1P37zjSAGOq- zh@wMbUM+dYZP0iU!)eSuXEvOQHe@x;63G|v<%{g^B1%2_)9UO5q{G~-EaF+lAL@Qu zVisC)>f!JGcnPmNBYJ^PaEgfKxcMpIm6h>20MU71wS; zb$GP}$hTm$g7Ut`vm2QIOT0fKc8D~;opC5NNdpHwWF6wFq^S54#Ic+yD@ zqGKw=Xair@yvu+m%Xl}Sc`=^mS@OY^lp6>`vL6v-f2DkoF)mxJi@ZcZfNT@xEV0Tqf%;#fwpISlAr>+=xQO{q? zre^LFU4M!Hgv@Tj-<68*!dBz7XR67C=Vh6Ye9C56Kt^MAQQR+yNAk}hIP;;wNonsTublZw`WT?Qi}UnuUoq^o zNw!|Ss$7w5l5{a)rBb9uJp{G>k~M({GoGkR8`kC6K2cc0Pq4^=e3w7pf!`(3b-F2s zH07QLeey*_K{J%ZVPxQANjCnV1&r`;NX)xI`Lb-~gr~pz1&mYpeRE2h*@PDqdr?~G zUb%W&aR6RE(;6m@+39;7arpWfv!v|pe=Q!cZ}eo@YuejNU3}D# z8C__hN;FSlJsd2|HO;}5KGSJy%`acjKZWxCc*AtM*&S8LJT=e-41x6R%tZ{0lERvsAvh2#wg8^{>)cp>ZPt{hv3C1e|mq%oBob(dE-erQgRq9~D%*Xj+IgT{o zF{&TW_$8!1UHOnmP(?S6>TW}VJHZl`hC}4$DKRU zye`0R)N$=9Bhv6z4C=Wr80)dgmVR>Gm?!m+Ha-Y}ZjKCp`Ucx{ic(xn7tR_fv~FVV z14#lO?zB;V==6s+!}EPRWW|bz?8Nf?Ir@3l@h0BHGvs5K@^88|4~?mM2aLxx`7>Vt z5m_l_m#c#92Og;B3twy!FoksIL@DgU?rD~Tz+^D+IkP_f>F^;ljZ9mNl^j`FIZVAp zJC7BZYZ5!z+=)NFjz7%7GI5MX#O2IDRpM$KDWb(An$kbbMMIVES_&i)mobpn5C1%e z&lKIePILSHj5<+(tT&Ku%b0j90Nzh>ZQXQ9!_2!=stPp1qPbe&R}&!dH~slTgBH3W z?`h9YuHN;jYn&wwQ;~xL9I4|z?-wS*9);4ncbY@r-_8>rW&C78#B=AVJ;}bS#ni0( z*by7kebuo&6lsVRlGQIs;2$D2*~G$MtEwr--l>-#f-2!F#I&c!ahJbR+rhj})%GLOwlY!uOL$ylhm%NT=YmHD z9DX$TtJTSMvDG6g3dK)F!rNaAUG48>AZ!}fH4_h1^hRilu|BY--cn9BDYU#7j{b_} zcjLzF2U4s{XejtFfcatw6yC;BFF7{oe4Wf>&+xkE)RT(NLEbw|7#F=9`)B!|ajxF4 zKA+y(^B-hpMe2DdtDLU4=LZ~9ew0*g%S|KrL6YOx(qhV@&t0<#& z`nd{(0-ben=^#XB?1FPg*P1%Q{bawz>a`+}tsguRe77$g@}QMqr7eB8J=*cHE)0ax z*n@DTbREw133%RS^kkUzTwDwo3;2V)|3M+ocQe1k(yE_MGoM{nRtlS({9_zX6LT*p zVRwHe**e@9Q|+!fL$O$T^Td2A(Dx>?8nUE6Gz6OQ-a0BTCvjf-Q0Y98{;a{Zi&B*9 zpt9Q5vcQo#wj+7Gok1hpSnWomJ=KHS$MuY{9Kzi z-hCq{KuT$~COOq{-#y=9>vSmWtD>Ko0kGb@5;igf;#x)SZ-ybC$zKf`1bA&k(h5nT zqFw<#N=}hN?pFk-ZeS(+PDu_Ppz=UB1ENb$gD+Rp9?y>FFWy)hjIiCDIK3 zf!T33rAG#W1TN^xNog=Skb6Jjd?y11-Z2*XrAO@FS>=8Yqn?LTTu$YJX5!{lR!Rrm z?{XqNb{mbXjQ*L5Pv_>yDS(>ICc!rraiy~o&5-Q%;S-RX{+YDgx z67!hH+{uiNL{5Te!6l}a!4CK2VUr~@0wyrSpwR6Mpk(hZO3fwgvV1iA*l;HhRfeH9IFb>cRr{aLh;hZt3 zDq;7l;22A)fR9{ExPmT`8PL{0Def9X-v((&qfT$9p^EeT%iX8u{1OqUJcfy@$<3IwG*N zYlv?@;{Vskt!tX)d7b{HqE8z%DBWOPKK!MZf9ekmcl)&|J0=gx;}Ze=&-VD!(rP$2 zJtyyf$-?e9Y0JX`X&vCKx&g=4meG277pkk0dg{wV)IJ_v@gcscTAR|Fe_Y0XO@kgl zz`!je;Uwwx^h_7!GnJO`N$#^Qokk|hdlH>OOIRA}&u{pz1#)3XO8nUAz0o&_F$OE? zq*O{ftyd0l7&PO$$ZhayO}Qi*r2`72Gky$27q=eaVKFy6ew6i9uV?b^QdgPU6f3brb*m_S?>*-T+sRki1nx27iG0dj*Hh|+n=WEZ zFw*9iF-i1HH)PiMgn17HFq+69qM=ZR-l0ZD>1pn_G+XGX-i~uvSm&VU(zG@w@DWB9 znYSqF7ks0y)9$M4>0Op(e@`<>>^f-=?Fts`G4nK$@pvU!xqAL_udBJA(l#nM3W8{X8%H%=@ zj|iLhkMRka02508#=W(BQwUddZe<^u4IKELxm_Cgpp6x%s5YJVOL}5XywP+g)xO(| zxXoS{MX;ZU=r8Ub4~<^#PoGv!z1pL|zBaPa*u=%;r`7#_rOU-+st0&r_}kRkJ9naA zl?#WACDruCG|f5TMzcKUVKVpGwaji!CeS09>~RhLi;voml#EVGr(8PprWNm5)xhty z@3gt_hl;5xnW{f!=5f*kZI@N;FNw3|~jfd*wXt+bJ> zM>2129DFj0Pk7K(w7d#ju3Wmkubf?8=n3hNL!=s!Nwt{(4O$4Y)?MgwVieI(7)Ut3 zS#>QG&#>kPxL9Tx7y%vyvrv<~Ry%jHJ=HrnGmn)rH#VVxL(k7;yE%&(6XPxnfSwO$ za;Y^e-=(8-e7Gc{VrLI;Y=hNeVU7YnVyu()RQllc*gM2x0ckc;rLcHYDRgc$?7)FS zkchMXV4hcXY4!QK>2$d*{Ku}y4Zk8J0GltqIWD!Vc{G%C`K{<#f7nM1u?pOQzDu8k zhcDhI(o1r8TePC`P8T6{@>|hFLfLEbkbjKGkFFQ#gYw6VoypzZ+W(kxOYAReAw~Hh z(VbX|J2{9q)Ll-ZCO9q&Z=0SL=Oitlgv8to$F5V%5@O%rPWAZZ8-W*}KNojnVewwF z5e>^K|Ag9*iCQt2R*dg+{2{2kE8Q_=`oPf*kXX7#B{<4I4PDZ_z(ut%ON1l8B9BJ% zz3`+5e~Ia8iD6G1o3{on6C#2r+*fD}1ID>Mb8BG4r9ZA-tiq(jvNjZT9N^Zkv~+%k zOXoiyHy0}A;)yBJjvx*S4&D|nh-xlGnY%HaN;o{&vIYmuF%GA2t>mw9CL3W9y)Lu8F?7gw zDN;+t`CfHo24@oM%x0%A z>mV8F$FX}U^D(kP-n^@YMuR?7g^U5ETw^Sj@WV=C^~flqmv!ts4V-c#c-~Rw{8?&0 zW)9QaQ&jv?QxxW~G=ylsd`o$;ouUDWA*Sfd=MsF|R(nR%N>yANruqCLYgIQv`&TO- z3N^Lo>Md!bH_;*L)}rNPmi>HZ4o?v3ItSxKRTiY)rm-}Do|*xv=}H^LKO-3?7oLv$ z!vRjmEdHHqLIsV%a~-EC%r>SDioShTE6v=q1A zX;kmxr{c3Fv2NhmECl_rQkxMr5VT@AuILF)SG;O8p)2pw!y}q}J9ebmL8~ zg=RsnkjB!Wm^uXx5o3f-Nmc)j9+3a^wang1qw(_^7vfd)A(1?NFKB7jx=Q}u`om8^ z)#muRC`xlR(HEpNJUkWTE6nWpROX!11&CP~AUYk9uJf|w@E0FpYC|NBjSB@jV^Lhh zP<6p*LU)Ug`=NMk3^*R{tAAJ_06|Zrkef(y`}^eN*_!#MW`Bipmiz8Hjir0!=%voU zwGE6e)$h@!?&-*-?&RBj$UFJe0bOGG19_|}t0k1ZV%2XIHNOl;c@LuOC*}kW95kuQvg98)xaT^VU@@YOF ze)NB(io0!o-$NSt}p`KYedyZ(~ON2&F2^r>N$qGK;_` zmLVUNeUTh8F#L5k!jk(X&t|%7ePL9EZ|sW5_}axZBZywE3T?by+53^P%J5CuxDQRx zO|knYdO~2{A!Lfwyi1F2#)z-j!Yzp>Wo@|#lAq=FYYCr3$&;f2^r*7we5P|P)tluI z&_(w9jDR`yS%SUC#cUGXHY}{>bhz`u*OW={Qvd^ixr17uHLZrJH%5xFg$sxKgOd+d z)R!fT;x>cBC@A0qAlsU(CBEO16-M# z?f@pPgQe*7By(Supli5}gyfzao}1=e=?`E#6Vntk=mKK5xxHGrsy`S{`b(SQYLu5EnHDGF)_JZ!{c95clFf~Q9p}9|C zhndD$yTE2#&285vXhoIZIotZgj20w#uEbkr-9@lk*;Mr2- zLj{<1VNLJ**>OfRy|rVmN5^0Edqbi|d0n<(z3+iiSxxy(p({IDYANx1eVWA+fwMAr zK(0q2YSZ*0>0G#ArI29peiZrt3dCT4e<=B3U#sZPeWV*Mi#wL2*5X;$XGz5YqsekS z@FDxdp5<1hDyd5C;g^g!SOuE%MuwW(x!4qsv(9`^VUR%7Sh&aGhoU!t#v_T{zH9+e za8C;~fT>FT#7QDLcMEiv5_C$oytQWQI^^M#n=RZpVw5`&vf7jNJbN!OO^(Rf>4F^1 zx&Zmiv@9OAtsO~T>yj$M-00PF0?MbEwn8;HY&FhEJVs_KzeG7vrRt_EW2S|PiD7$s z)s$uD^XPk!QC_`V0(cvceVXK`1zC+M@WEWr!eS;{5>geeG(4kOmPf{y`fcroy#Ki$ z&MF=?xgv8i(~qT@DTx6`_r+G0G{U|a8*W#)S0E@Y@#%7)Z8WmQhLL)zLTpvI<@k?C z&fvuCB|x}`SQN_3q4iY_s4e*yW4%n*9BfT>biGrg%$NFAWQjQU!EufpK1IZwaytRJ z5}~jeV_d1Xsr=4Ns?~_nRcc#@SE-Bo#+U*yg3EsZRr+Q`yeGz*j&q?y2r?u&qggfD zxnJQ1%2J!I!NM|!QtF@~15&sVne*#7f z-t$n%nQ^~F3Ec!H)x=9ja&jUB98aECumMMxaVyw~xo7f!#eso46Y>9WM(dd7?fmeZ zLn3Drm>x#xsI2F1rUs=u=!X5XQ!q%ZmoyW!##bps!eHP5qE3tm0P9k;;O53@LoOP>(W63s~@vBfa;P? zqi7>osR9#`^$XXsEj`$w_FI-$8cxHcgaZ3WR=P$rjP-ru#Os*G0Nn=p|6I%MJJ*nWgVFwB-VR5zpB_Mg6t zTxk~V;gm;s9uG=**)^^n256=YJSk>Eo5yc45p?58wyAWkN=e*Q;FQ5b72%=LUZVT&;xX6Be4xTQxHZE8BfP z)gw%rvlpL|#OiC}7_?>_!8Y{Gh2V^XD7q-TyEMXwr?GIeb5QIW!QKqKDq;Q}!mf{# zh$lE8!#Bu$3i@3FnzQURN1seM+GndeReFhtSZg<`+zB92i1*f9pWtV$UbGZ{Ri zLI|ThfpX$gapj7PBpRx@^!vWo5*}QOt1@I`A=dJhotq7f;cX8k$#bE!v@Z>2i1(&0 z2ZCMMkfswAYzlb;^Y#+Prty0E#H;VUTQ<$X6|JcEX=sU zC8B10zBPv+8q{*v{`^zBPPZmmsXKtIfI%P>3Wr>7W8qys>RTGG zQCM<$;^B|iO4{=wc@1gYRJhu`1;0J`L+}!_&LMBVb^R%@tUk01Xp`b8?9`r<2Cv1 zb&RsE5yOKO*SMFu7eRNnI_aF8D0S@LhFmC6VPBs`w$-~X<+%#f%xIYeF+q|EH? zG~EJfqn)E_?{Sg5y1;n4NdQCESkOs!)PAE8q=3y^5D=J?>H5mtgz~8WFT+K_<=v+N z_xVpY^nb^)9c~j!7L?gtj(X@k-&5ISUTKt`Lu0rT`7pff{!RK%V=A6^7TiR*xq*Cp z7Q#G~#;}HnwsZAHD1Q~9(x8ir?k(efbARs~9CYNX@j0axFt_0&U9`nyvblIt#cD$F ziP|8&x++&rQVTn$r&VJ2lf!n_>dn;N#7-d~?!qRTU159qo`t2PV! zIW6~d7!K=3(MG0Bp(#I;xxRG?A}I~mr8<`iY*2CcCMnsJEaYPGrR!%BoF-t1r4W(w zNZKKiq(pvIJ07kuZ|p}(Ktd2H)oc`;8%=me%_d$fup$O{o z7ZZ0LT(hXLvM`}@;7S|U(v`q3&0}bwd-G(&=&aClTvu*xy$PIxI5ds))n_a4e6BMb zAl8vA;z2+jk>t_BY) zH>#X-hYzVUH!a83()yQ&{*!nZ+{8E&5Wiv?%6I<%NJ-zCul%nlLs#H#)Ic$iu+vRCfbQfo$o>^sW7CaEb0!T8R92!FL3g_jOYp7C0MoX)hIIg1N=t z34hGk$%vNZ$6s;BGI~+6K=I#=;IW+*3ek3LD7m%Bw+xWSGLQFfsvM7?)3*5rqxCMo z7LUQc228dRa5X@MKR2M=b7i7Z-0BrVZ<2)>Zceh~uy)F<8XXxDbzwEM_8sc5LL_A)XNgR!xPBEj}UbSi6 z*ew4yLHgg^2`<`a-&1bF8{GTf3rzo`dI6_JMI!I@a`F%N!z(qMWLMh{L`Y0ZFxS7Z z;^KqyYb@WD94SN%7$YnGJR|Le4_|8Qns3vc3km-5}X-#u&Nj3;gzhXy|3ROy#7w_O?9o5J(9DfA;C#~AEZbQ;?6sdqNz<*5LRu+Vk z9}0~YjAD(@>*(ReBgrJDFhx4hN>i3~dD>FCrO{6Qwz$Sheb5g=rxQ(}%GIARicpm! z8l25w>NVP+D(}S^IC=F0gC=vK3&<)Sa;ejNpCNWnz&FYha!r--*)Q0BK1!qd&v?Ig zN_TNjktDf7_FAN?BbyWQ9S$%Q2j-5Y$1I`<6M^82@HLt?d8b8PlRDg7i zv-DQQ7T)m|@?zs?_!|ZD|GS%i!iIm(BL7?FV3HFAOJxRUgB+Ax2f10U@Z095&3>$H zxDc1G1YUF|l>!xCzkPCC1su`F+Oc8gH#1V%ihwbD$l-S(+IFQz12>6s3JZ@ECgze^ zpS5vlDZfuH_<@5Pw=&G$B{gtRfELH=t-6)xqq`kec(o_{{i;9ZjlI^e!1c|0f^PBy z>1D^zenK{K^^M%b`&sm!6Si{4lTPq$mkbv{S+Jb<`AXBOkPSDs{U{2kuKzY!7YSu3 zW3dK}!YSU6U7lCUPxVZIDriI%rmyo&+g)5(V<2oBc5WjZ_Cx`OSqi*9O&Xnm`wgNV z;ME$C^aPYBUT$X={WyFNa%hhk?Bo! zvuoB7JVOH=76Xef0^cA? zwaG5rRq3?$x(T|ulLbzxTG1B^2$;j{b>qoklRF{R7^$Tar5FKy=TPP_)hU^n-1U3 z14x3ec3y54`Xz!FM@T8~4k=ry*y(u;%ZYzobB@O1$K55ZeZ-+y+lOS!^;oyXE{CI$ ztNo25pg$emdK|*Mi!=BTHOvWBRI6-xj5N4HT3oDt(oT<^0MFdAgOmudUpJFex4Qax zssV>7I13)|Sl6AId7g9uI)b>_xY2){a~_BZfuf z&=7BU;LggB4_)nUjdNPxhO7j`gWRTDtnv&&Cq+mO)@J7LT;*?hxC){1^|OH&ahE&w zqQv6*s|y(umpgIhZJ26x{uyxKPGmm-^bRhg+i$*z*r^ur{OY{WWi*k)#+Lk)gpJ;; z>1=~UQFp*trUFv|Tc6MEjydXT5IsPIF7NLk(hY#R)4l<)4l$hH9edyx!dsK;U0f=UZS`f5>bQ&pA%BV!T)H#DC8N~2`=2Bk zI~LIrpuZQuJZQ)5d!-zse2-yHj7RkQh8m|>fH8JIu?5^at`)uUw(zqP+kWi4t(JGN z?HPI+R&*}TOwVnhBCkDuhSnOw9?lzz{kV8S@<|Cs`)yOLgFt=u&UX2MNpvPn|ESu` zEAcoL6L7!E$}^MxTRlT`MmM^-@qGgA|UV;%}-^REpk z%~*-YF%#8EJBn50(kRua^FpOKU-y=_S5*H~iB4I^^s%#pqmd1g|> zVPo>!9TE3rw;dI(4@GwQ1jV$Rp|&^ia6Y4R zc(Y-#%hN8|I@8!PSvWrV$Amj0+(>oaUg2eqBK{!0nrN|_pMn^PAXCaA9!#{$tuc0W z;I_wl9)o0htEG?#Vc>2!+&n;JU;|fT7^_9OGW>6LBf+yoK9-yw&V+-rW@p!3J4ttd zC=ZTl8`{~S6Fxv-L5?I|F1hlH1t|W=!N9?o%m~tCRzGss65!RmD6@hpLxqOcBRD4n z-#~mAC1RmG9Zaq&9GUK-w4!^6U%hIVOyM(P?;pRAgrXL@w~Y=E^CMAVu5&F^odROf z>{pkVt4pBB<)HOwu9H^lI|kWy)sDk(U*7VLlYR2FTHW&eQM)T;eOc7PLqmiB7ee>$ zUuYuVEOOM3wN^TxtI}&mYv@zFlRinzpI;fNN{cjkZ1M7bjiLRw%kQt7^t{KIfMHGQbv!RKL6K|m35|7~Ds;&u5)-y5O zfW^FkZ0NM@5VXxFyz(K}d$S6DgR?(j?!WyZ>wI}cFMh9sfalYccG@xwK|`?NZ%s>} z>a+KJ_d9GfN>Y?5vLQ?1GAx*SJ6-+S-)vskMOQ}^*i?C?%Y?GT zQPZHy80NB8@{I5M0&Jmxq1Y|+QKYYHA%YOb)Q}Q&sjb|?x`m1Bxiu?GAZPdpv4~*r*m`K^RIV#L6Upv3d zSM6+8DzzmeHb)E-D;^pen8K!EZxhR`IF}9YOt)(zTYbFG&X8B|2vXoQUE3}MSBlfa zC!kUx5Fue~C&}T;4bgeWJ!9ICRbC(#I;HiuA4i3|++7+S(G&KTl@&z-8<9r?y z9)ao2#*nYUj&9Nf<}NIVdaS{2pQ0gE#wM0t%S}Csd!1j-UL7t(V_O}0-tc+3|K<0? z?IOr>B+y#ha%Py(#6LApF>JZFF+Y?O(J8&S)f#Di`y^|+r-#QV>*8znQrSL2xm@K{ z+~F6au}v+dPCw3NrOD1Nl<_x4{8EP;u4rn!peSlwNP{%8l^D8%n5GribS(`Q!~nx* zTrhL-PSDJ+UZ!Rt&Yk3N6Q?Qcg`L}A!gzXO54iz~*m|4lQSe0E(`<}B@F9SG(NSAX zm&ra9LD{n=u)s~ox~Tg(pf`5Y#HV7t;XrJ~AxfV@@-Bksld^|cFCL093WsMG@yz}0 z2ybQqpnE-J6uU_=)hAhY;BqJ{B&0cF+WY>5g_a-L;ty-IYYSp7u673Mc;W~>fZ%7~_ zN(?Gabk6oHPcLLomh*bfKeR)gpN-MByjo4|E4<4>)#FG5eNZdekHKQ3yY|yIC!qa; z@dctE;~7QGWAjc)jlI}I;KJf(j&jKDDW8W^jrkM$Orey3VPjg2CzFY#Jw^YJMye|j ze8He;0W48>73%1ixFEBvek4xIN_B^_>6LzzzJ!X;Oaug? z9VO~xbUmLSB2f=}Z0{TF1=<=I2~#WM_B$!G3ogGex=a}@aS+#sziZ^DatWs>D?(kbFbIUDm2FjwRA{R$zwy~TUjQi6vsrM=`MvzV-ssjQSJB*30B{5;|e-n58dnk=ZsYU(VvFTmEn_- zHe=pl8(sV8_GJx4n&Wfej)^M%U}OuW1^hz>0G#5<|Jl?0%YyYGqhxTx?XgFB)q=4G z`&zyE3VrEYkpfNikAg!jPM?$p_??2WX2^R zjp;eHET@7kDps0o;fZ5v7gt!3=uZzWmdGA~TZa$oV+;sqyE=`-mAcEID4<#1YzFK7 zy>b^eMl({CwI}uGVkCW^k_E_nYfB9VtXgK*I?(nqru5`JdYmL`BP<={Nv4O(%TKSR zYl?(OIL2HW3M09#*)DKyicj%my^7m!U_jL9#92_nbni}K0UG=tfc%YrhwQzcf1bW- z_bGVNpBjT>t29ox*BV1v6vrsK`KiY1DI%562e@|DX=j$d*uyBsm$f)# z>H}1T`x`TDyyhj|iMDttZr(O;#m*c&-Fok(1($ef)b#-TxKw<^3kk6rHEsNj-Z^cT zvgKgtUQftT-sxo2`v}z>(w!CC-8=`z>S@x=ZRr|lkhi^sxy_ZDXethqFR9Qyht+m?*6f;Vio8}Bh83T|0h-|JJe!mbU~Bvma+b`q}MK8Xkx z%g)rQQGI4Wa11Riu9ga?fa{kx+uv+>K(^^-B2zDwM7Y?q$QwBxMU{IeigamAJXt4R^nbdQ|A)P2Ib;vz=hYD@X2{#S)oY z(E)@NMyjS0d(};h#0}BDoTuo~kcg^OCJsJxx4me%D3?vmGs7g7!voEEkJ~RJEu(pL z4aRr3b@|jT$vm{KFTenthN%C-Y2y*Z!Oa?#vj*b=1@XqM^)Fdj%yWpOxuzCtKYJ|1 z}6Xoct{Buv`VaMmzto36xu|n^OuGF)=Wqlpxi;`WR z*iljH62*xa|HB(-r0Wox+-N2ut_Wo_I!6xUn9#=E&g~mN7x<2%+^G{#d5upV&N)!y znB}bRY2J)u3DbTpq;bSJ?K|#1^M$jb9BOlTBN5{8EK+z~(u~P=^)=k>0v(z!(&}^YwS^@2Nf}kmc5w;jx>np)8~+{sM&u zgM`p|i}K3g9O$;a))U+BEC|b5UeQpi^+g$FWoH(WhGa@KfRKJvo3)u7Qp!`#SW?G4 zDwh|x4AUZ%TTj{4dvf=_Tu|QV)~0ZwiwNG#up`wjlGKVmR=|wOtj5yYg7ZoNM5Us6 z$e$>^g3cS$v|Z#F6Ql*6(C}Vb>ANw`E9z{mdzKdDN-pf{YCuK~{ct?pI8;aIew(1H z$PyLRU9@7*c_jTlZYf>HGHBHVa`~L#++WtQQYtPnMtf>Et zj;M!^*e>KV-$Y+S%Z+gc4~VAw$w-8Wq*A7sAr-wgGWhdX-jsOI6THf)N*kSkokafd z@H4clIsC{og~3Pe?F6lcw{3NHljhxb1{Cx9-Qc(g`ga|zETpOVQVB` z!w|;V6_v!{H1_7D7?}`Wa`j94cka*q2WV!L_LyxH#ae*=9$;8D(0Lq@sk!$j5j5-s zCa2&kT)#lG4}HLLkJCfOT#aP=4oqU8QeM>?Io)8`W`mS>ISC*8oG{3>T|1<{+?)ge zcZ;{U4B;+vMW>)cAE}UUX?Q~{Q9N~@zdvnW8s;I;i=!InCeSi5(n$`WX&AhXWKj-%>2vM}yyS0->pM*+5%2jY? zf~)OZvR_Rl({Nx@NdI7T#n(f=PzupZxd5o_0RKvtx>6ukxBmceaJ9g(|K{NS$#s*- zD2ZlcSVQAi0Ob0cf`aMo_+4Y{iN8};X&4wPThX7;&|Dqo>op-zUB%}m>`wrY}t=aP4HG0}l4 zE?vq}M#23a@90$`#$z9qYK*n0%4<9uX`DIq$C0x;4qnrZv~5^^((RJ%lJOs9s2-`Q zb52SMrjl|&s0x8vettvPH8r$R|K#vKm-Zlah;pNsvpx*feCX4?J>6lCdRGlkRG6)B zu_|tw%uh{r7y1}#te{Xs2BOBQ*8g0?+d)L?aT8z|{b|Tr+Oxmm4@JU4` zy)ECjIH~FF+nY1}I$h%jqlL853svP7qm4nKpWpH4tZ?wAZ~zy2R&X%SwMYv@IUbz< z!-*i+-Ad$f9d6F$8OQ>G=)c;a>UvCO+-d8^#3Y-1rDR%4!XG!`QvhXJ^Xkb5o#fDX zq9JGG?|A_2(J9EQE>#9!8PpWKc6d*51$f!H`%dRhVz-RMGd*imR!?@UI6W5i3FEx$T-zJ=c1b0p=sCb*FpYd^MB5 zp4+nL4;LAgq^9IIi<)1u7^ys8E+lZ)dUw7NsD|%!{7BuXSL3x*ZnC%OKnZg5L4OD9 z60DnDkJ)Fu*Ue#Is4e1n*{HbOFnT@C#A`CoYLeyMbN)9e|{^^+t+C~oYQ5{ zfLE-QdbEHw;pfV&F0!SrS*+@(mbqi7{h^{n+??F%M`K5`Z-xy8|cDTsG7>|$4) z%Z6Ds2g_<;!_g8z#U>U6lJ08iCcOLnt!8`z6er>PY*|;Se zFNV)}nvYD~(nqq}E_mR{a_SwjdzL31+9n(=flqBr4oApMmSEx}TOG28jG*eiGi{>I z4cW`nq^J?1%-NADU7tM^6}f4XhrCR&I<5*YqYa0|DS86#wmoo0Plj&u1x75B91gY^HFpt_NDEWFcW{%CrQOMLj`a6UrZ>`wPc{v{ zOP6wxSF}j@pQx-Sc7sbLE2n#-iZN`V&Jn&lCwBnM(GLdDXN38|E=5nDtht}nrpVVu zk!6zoHw|ZNEP`8LGLIYoj=%vB$TpB&|4UA>{pdPhc6|9aZtYJcE_ku`EqAqJNDS9A z)Oi!On%mJvn02A$LmB*?xYuq~{Ummz9iu$v9Op!<%H^mSvUCTlr;0c=@wUt zK7hRUUMH{!W}v~Cpxbth-y29}pgBOExh6K`Ivhp+n+OK*hOcF=(H{;<@&dJeUA{8@ z0@O?mq-%S#8@&s`haldk-x>{c$=D`9g}EtM-nD$ZZ8Jz^iPd?aoQI2;>t*ztll^oA z6F|-`KP}pC1?FdVGBl-|`UAr*x993b(H|G4?zMUq7M-G_j7;gckEdIK%9`#N7=*K) zHvX~jAIEd+>mfsWHY`Jn_Zk>|lDjxrd{mPiQ%#|DEer9W3J)tiIOb2mwv< zB71m<5V+oxi%lxW7VG~t$bbRy{i^}_2jc#Vz8CCYi3h9!HU<3L99ce?E#lDFm6bRh zbv!yk6iIA~N{|5iOS}o#{Bh;J)EPl6NekKiu?%^^9O@Nh{R{C+sziN}cFDT(ms`1* zv=ec58cr6Ht1kkCZA;sF&gCDI>c6v5dWTbMF5;m{J3FcR#a_se!2TJudx!7gi!N3G z%T>@mBZvz+F`*8|KTer_@%G9OM6 zD=SaItM+qTr>Kvg?1_drxx}B(E>6=O9@eMOcg6a8p{gm}6G&@ICYihUdAsr_f080& zvWl89vGOrz^#^v5B*T_KsYF9q$yc_}cr&R#1Cf6g%U>MZwH!_JeizQLY1n1XrlLO% z0G5|&_4@mKNEkDMfchNzQ_!&V8ccZ!2yW=E3wHk7g^VSOtHUcCIeP?6_peVd;7hx1 ND9dZeRmi*y{y$gQ9pnH2 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 index 6017a74d89b3decbacb49d04eab9ca54502464d0..f33aa046827406672d00d27691b6d0473915e43f 100644 GIT binary patch literal 42989 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 LI%*{stwR0-Y_=Q0 literal 44839 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 `c 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 diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-ms-flow.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-ms-flow.md index c15d2c10b3..e0ae5f9b2d 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-ms-flow.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-ms-flow.md @@ -26,7 +26,8 @@ You first need to [create an app](exposed-apis-intro.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. +A common scenario is scheduling an advanced query and using the results for follow up actions and processing. +In this section we share sample for this purpose using [Microsoft Flow](https://flow.microsoft.com/) (or [Logic Apps](https://azure.microsoft.com/en-us/services/logic-apps/)). ## Define a flow to run query and parse results @@ -77,7 +78,7 @@ The output in the SQL DB is getting updates and can be used for correlation with ## Full flow definition -You can see the full defintion in the following image: +You can find below the full definition ![Image of E2E flow](images/ms-flow-e2e.png) From f94e6e5fe962354334f5c2fd5de7e9935fdd88dc Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Thu, 27 Sep 2018 11:59:10 +0300 Subject: [PATCH 085/162] s --- ...ineaction-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/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 8d755ed764..6c225819b2 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 @@ -37,7 +37,7 @@ Method|Return Type |Description Property | Type | Description :---|:---|:--- id | Guid | Identity of the [Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) entity. -type | Enum | Type of the action. Possible values are: "RunAntiVirusScan", "Offboarding", "CollectInvestigationPackage", "Isolate", "Unisolate", "StopAndQuarantineFile", "RestrictCodeExecution" and "UnrestrictCodeExecution" +type | Enum | Type of the action. Possible values are: "RunAntiVirusScan", "Offboard", "CollectInvestigationPackage", "Isolate", "Unisolate", "StopAndQuarantineFile", "RestrictCodeExecution" and "UnrestrictCodeExecution" requestor | String | Identity of the person that executed the action. requestorComment | String | Comment that was written when issuing the action. status | Enum | Current status of the command. Possible values are: "InProgress", "Succeeded", "Failed", "TimeOut" and "Cancelled". From a19416f915f3df6af3058e4f0cb936ecaa55cf39 Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Thu, 27 Sep 2018 13:56:59 +0300 Subject: [PATCH 086/162] s --- ...package-windows-defender-advanced-threat-protection-new.md | 3 +++ ...machine-windows-defender-advanced-threat-protection-new.md | 4 ++++ ...ine-api-windows-defender-advanced-threat-protection-new.md | 3 +++ ...ecution-windows-defender-advanced-threat-protection-new.md | 4 ++++ ...av-scan-windows-defender-advanced-threat-protection-new.md | 4 ++++ 5 files changed, 18 insertions(+) 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 5123a977a5..0070c9376a 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,9 @@ Permission type | Permission | Permission display name Application | Machine.CollectForensics | 'Collect forensics' Delegated (work or school account) | Machine.CollectForensics | 'Collect forensics' +>[!IMPORTANT] +> This response action is available for machines on Windows 10, version 1703 or later. + ## HTTP request ``` POST https://api.securitycenter.windows.com/api/machines/{id}/collectInvestigationPackage 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 f40b7c7b57..604f6fe959 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,10 @@ Permission type | Permission | Permission display name Application | Machine.Isolate | 'Isolate machine' Delegated (work or school account) | Machine.Isolate | 'Isolate machine' +>[!IMPORTANT] +>- Full isolation is available for machines on Windows 10, version 1703. +>- Selective isolation is available for machines on Windows 10, version 1709 or later. + ## HTTP request ``` POST https://api.securitycenter.windows.com/api/machines/{id}/isolate 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 9f95e08bc0..b40d39cbc3 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,9 @@ Permission type | Permission | Permission display name Application | Machine.Offboard | 'Offboard machine' Delegated (work or school account) | Machine.Offboard | 'Offboard machine' +>[!IMPORTANT] +> This response action is available for machines on Windows 10, version 1703 or later. + ## HTTP request ``` POST https://api.securitycenter.windows.com/api/machines/{id}/offboard 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 1ba77ea104..962dad7581 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,10 @@ Permission type | Permission | Permission display name Application | Machine.RestrictExecution | 'Restrict code execution' Delegated (work or school account) | Machine.RestrictExecution | 'Restrict code execution' +>[!IMPORTANT] +> - This action is available for machines on Windows 10, version 1709 or later. +> - This action needs to meet the Windows Defender Application Control code integrity policy formats and signing requirements. For more information, see [Code integrity policy formats and signing](https://docs.microsoft.com/en-us/windows/device-security/device-guard/requirements-and-deployment-planning-guidelines-for-device-guard#code-integrity-policy-formats-and-signing). + ## HTTP request ``` POST https://api.securitycenter.windows.com/api/machines/{id}/restrictCodeExecution 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 d12d5e8480..85c37a2cc6 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,10 @@ Permission type | Permission | Permission display name Application | Machine.Scan | 'Scan machine' Delegated (work or school account) | Machine.Scan | 'Scan machine' +>[!IMPORTANT] +>- This action is available for machines on Windows 10, version 1709 or later. +>- A Windows Defender Antivirus (Windows Defender AV) scan can run alongside other antivirus solutions, whether Windows Defender AV is the active antivirus solution or not. Windows Defender AV can be in Passive mode. For more information, see [Windows Defender Antivirus compatibility](../windows-defender-antivirus/windows-defender-antivirus-compatibility.md). + ## HTTP request ``` POST https://api.securitycenter.windows.com/api/machines/{id}/runAntiVirusScan From f35962ddceee6987bd165b7d817376bba8c1977c Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Thu, 27 Sep 2018 14:14:04 +0300 Subject: [PATCH 087/162] s --- ...ws-defender-advanced-threat-protection-new.md | 9 ++++----- ...ws-defender-advanced-threat-protection-new.md | 16 ++++++++-------- ...ws-defender-advanced-threat-protection-new.md | 4 ++-- 3 files changed, 14 insertions(+), 15 deletions(-) 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 7a7fbac1dd..4683167dfb 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 @@ -14,13 +14,12 @@ ms.date: 12/08/2017 --- # Get machine by ID API -**Applies to:** - -- Windows Defender Advanced Threat Protection (Windows Defender ATP) - [!include[Prereleaseinformation](prerelease.md)] +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) Retrieves a machine entity by ID. ## Permissions @@ -78,13 +77,13 @@ Content-type: application/json "id": "1e5bc9d7e413ddd7902c2932e418702b84d0cc07", "computerDnsName": "mymachine1.contoso.com", "firstSeen": "2018-08-02T14:55:03.7791856Z", + "lastSeen": "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, 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 2eccd27c17..d114cf97cb 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 @@ -14,16 +14,16 @@ ms.date: 12/08/2017 --- # List machines API + +[!include[Prereleaseinformation](prerelease.md)] + **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - -[!include[Prereleaseinformation](prerelease.md)] - - - Retrieves a collection of machines that have communicated with WDATP cloud on the last 30 days. +Get Machines collection API supports [OData V4 queries](https://www.odata.org/documentation/). +The OData's Filter query is supported on: "Id", "ComputerDnsName", "LastSeen", "LastIpAddress", "HealthStatus", "OsPlatform", "RiskScore" and "RbacGroupId" ## Permissions @@ -36,7 +36,7 @@ Delegated (work or school account) | Machine.ReadWrite | 'Read and write machine ## HTTP request ``` -GET /api/machines +GET https://api.securitycenter.windows.com/api/machines ``` ## Request headers @@ -80,13 +80,13 @@ Content-type: application/json "id": "1e5bc9d7e413ddd7902c2932e418702b84d0cc07", "computerDnsName": "mymachine1.contoso.com", "firstSeen": "2018-08-02T14:55:03.7791856Z", + "lastSeen": "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, @@ -99,13 +99,13 @@ Content-type: application/json "id": "7292e4b8cb74ff1cc3d8a495eb29dc8858b732f7", "computerDnsName": "mymachine2.contoso.com", "firstSeen": "2018-07-09T13:22:45.1250071Z", + "lastSeen": "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, 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 093e47ba79..1384b99ca0 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 @@ -30,14 +30,14 @@ 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. +lastSeen | DateTimeOffset | Last 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. +healthStatus | Enum | [machine](machine-windows-defender-advanced-threat-protection-new.md) health status. Possible values are: "Active", "Inactive", "ImpairedCommunication", "NoSensorData" and "NoSensorDataImpairedCommunication" 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. From 52a867befd2b6052df51be7a8f64c2213b8a8c5f Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Thu, 27 Sep 2018 14:49:48 +0300 Subject: [PATCH 088/162] s --- windows/security/threat-protection/TOC.md | 1 + .../windows-defender-atp/TOC.md | 1 + ...defender-advanced-threat-protection-new.md | 106 ++++++++++++++++++ ...defender-advanced-threat-protection-new.md | 7 +- ...defender-advanced-threat-protection-new.md | 5 +- 5 files changed, 112 insertions(+), 8 deletions(-) create mode 100644 windows/security/threat-protection/windows-defender-atp/add-or-remove-machine-tags-windows-defender-advanced-threat-protection-new.md diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index b727c322cc..204c70c03a 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -319,6 +319,7 @@ ######## [Get machine by ID](windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection-new.md) ######## [Get machine log on users](windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection-new.md) ######## [Get machine related alerts](windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection-new.md) +######## [Add or Remove machine tags](windows-defender-atp/add-or-remove-machine-tags-windows-defender-advanced-threat-protection-new.md) ####### [Machine Action](windows-defender-atp/machineaction-windows-defender-advanced-threat-protection-new.md) ######## [List MachineActions](windows-defender-atp/get-machineactions-collection-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 a129e5f404..82189e4b5a 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -316,6 +316,7 @@ ####### [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) +####### [Add or Remove machine tags](add-or-remove-machine-tags-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) diff --git a/windows/security/threat-protection/windows-defender-atp/add-or-remove-machine-tags-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/add-or-remove-machine-tags-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..7a889cde8b --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/add-or-remove-machine-tags-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,106 @@ +--- +title: Add or Remove Machine Tags API +description: Use this API to Add or Remove machine tags. +keywords: apis, graph api, supported apis, tags, machine tags +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 +--- + +# Add or Remove Machine Tags API + +[!include[Prerelease information](prerelease.md)] + +**Applies to:** +- Windows Defender Advanced Threat Protection (Windows Defender ATP) +Adds or remove tag to a specific machine. + +## 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) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Machine.ReadWrite.All | 'Read and write all machine information' +Delegated (work or school account) | Machine.ReadWrite | 'Read and write machine information' + + +## HTTP request +``` +POST https://api.securitycenter.windows.com/api/machines/{id}/tags +``` + +## 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 +:---|:---|:--- +Value | String | The tag name. **Required**. +Action | Enum | Add or Remove. Allowed values are: 'Add' or 'Remove'. **Required**. + + +## Response +If successful, this method returns 200 - Ok response code and the updated Machine in the response body. + + +## Example + +**Request** + +Here is an example of a request that adds machine tag. + +[!include[Improve request performance](improverequestperformance-new.md)] + +``` +POST https://api.securitycenter.windows.com/api/machines/863fed4b174465c703c6e412965a31b5e1884cc4/tags +Content-type: application/json +{ + "Value" : "Test Tag", + "Action": "Add" +} + +``` +**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": "863fed4b174465c703c6e412965a31b5e1884cc4", + "computerDnsName": "mymachine2.contoso.com", + "firstSeen": "2018-07-31T14:20:55.8223496Z", + "lastSeen": "2018-09-27T08:44:05.6228836Z", + "osPlatform": "Windows10", + "osVersion": null, + "lastIpAddress": "10.248.240.38", + "lastExternalIpAddress": "167.220.2.166", + "agentVersion": "10.3720.16299.98", + "osBuild": 16299, + "healthStatus": "Active", + "isAadJoined": true, + "machineTags": [ + "Test Tag" + ], + "rbacGroupId": 75, + "riskScore": "Medium", + "aadDeviceId": null +} + +``` + +To remove machine tag, send the same request with the Action 'Remove' instead of 'Add' in the request body. \ No newline at end of file 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 55a04d003b..61cb0e8c02 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 @@ -14,15 +14,12 @@ ms.date: 12/08/2017 --- # Get machine log on users API -**Applies to:** - -- Windows Defender Advanced Threat Protection (Windows Defender ATP) - [!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 780354b0dd..16fef6228a 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 @@ -14,13 +14,12 @@ ms.date: 12/08/2017 --- # Get machine related alerts API -**Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) [!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 From 2fdc625a9e8a8e1b26fb7279516fcfe88b20b24b Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Thu, 27 Sep 2018 14:52:26 +0300 Subject: [PATCH 089/162] s --- .../machine-windows-defender-advanced-threat-protection-new.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 1384b99ca0..dee80dc601 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 @@ -20,9 +20,10 @@ ms.date: 12/08/2017 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 machine](get-machine-by-id-windows-defender-advanced-threat-protection-new.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). +[Add or Remove machine tags](add-or-remove-machine-tags-windows-defender-advanced-threat-protection-new.md) | [machine](machine-windows-defender-advanced-threat-protection-new.md) | Add or Remove tag to a specific machine. # Properties Property | Type | Description From 9a421f5900c3063a6b122b47dbeb49a34ddeaa77 Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Thu, 27 Sep 2018 15:01:01 +0300 Subject: [PATCH 090/162] s --- ...hine-tags-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/add-or-remove-machine-tags-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/add-or-remove-machine-tags-windows-defender-advanced-threat-protection-new.md index 7a889cde8b..ce6b1f362e 100644 --- a/windows/security/threat-protection/windows-defender-atp/add-or-remove-machine-tags-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/add-or-remove-machine-tags-windows-defender-advanced-threat-protection-new.md @@ -103,4 +103,4 @@ Content-type: application/json ``` -To remove machine tag, send the same request with the Action 'Remove' instead of 'Add' in the request body. \ No newline at end of file +To remove machine tag, set the Action to 'Remove' instead of 'Add' in the request body. \ No newline at end of file From bfac67f33e21e365f987b799a860d3c978ad8fb4 Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Thu, 27 Sep 2018 15:29:51 +0300 Subject: [PATCH 091/162] s --- windows/security/threat-protection/TOC.md | 1 + .../windows-defender-atp/TOC.md | 1 + ...defender-advanced-threat-protection-new.md | 6 +- ...defender-advanced-threat-protection-new.md | 100 ++++++++++++++++++ 4 files changed, 105 insertions(+), 3 deletions(-) create mode 100644 windows/security/threat-protection/windows-defender-atp/find-machines-by-ip-windows-defender-advanced-threat-protection-new.md diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 204c70c03a..c0557b023b 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -320,6 +320,7 @@ ######## [Get machine log on users](windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection-new.md) ######## [Get machine related alerts](windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection-new.md) ######## [Add or Remove machine tags](windows-defender-atp/add-or-remove-machine-tags-windows-defender-advanced-threat-protection-new.md) +######## [Find machines by IP](windows-defender-atp/find-machines-by-ip-windows-defender-advanced-threat-protection-new.md) ####### [Machine Action](windows-defender-atp/machineaction-windows-defender-advanced-threat-protection-new.md) ######## [List MachineActions](windows-defender-atp/get-machineactions-collection-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 82189e4b5a..512fee13c9 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -317,6 +317,7 @@ ####### [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) ####### [Add or Remove machine tags](add-or-remove-machine-tags-windows-defender-advanced-threat-protection-new.md) +####### [Find machines by IP](find-machines-by-ip-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) diff --git a/windows/security/threat-protection/windows-defender-atp/add-or-remove-machine-tags-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/add-or-remove-machine-tags-windows-defender-advanced-threat-protection-new.md index ce6b1f362e..65ac87525b 100644 --- a/windows/security/threat-protection/windows-defender-atp/add-or-remove-machine-tags-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/add-or-remove-machine-tags-windows-defender-advanced-threat-protection-new.md @@ -19,7 +19,7 @@ ms.date: 12/08/2017 **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) -Adds or remove tag to a specific machine. +- Adds or remove tag to a specific machine. ## 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) @@ -80,9 +80,9 @@ 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", + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#Machine/$entity", "id": "863fed4b174465c703c6e412965a31b5e1884cc4", - "computerDnsName": "mymachine2.contoso.com", + "computerDnsName": "mymachine55.contoso.com", "firstSeen": "2018-07-31T14:20:55.8223496Z", "lastSeen": "2018-09-27T08:44:05.6228836Z", "osPlatform": "Windows10", diff --git a/windows/security/threat-protection/windows-defender-atp/find-machines-by-ip-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/find-machines-by-ip-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..c2a99efc69 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/find-machines-by-ip-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,100 @@ +--- +title: Find machines by IP API +description: Find machines seen with IP in the time range of 15 minutes prior and after a given timestamp +keywords: apis, graph api, supported apis, get, machine, IP, find, find machine, by ip, 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 +--- + +# Find machines by IP + +[!include[Prereleaseinformation](prerelease.md)] + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- Find machines seen with IP in the time range of 15 minutes prior and after a given timestamp +- The given timestamp must be in the past 30 days. + +## 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) + +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 +``` +GET /api/machines/findbyip(ip='{IP}',timestamp={TimeStamp}) +``` + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | String | Bearer {token}. **Required**. + + +## Request body +Empty + +## Response +If successful and machines were found - 200 OK with list of the machines in the response body. +If no machine found - 404 Not Found. +If the timestamp is not in the past 30 days - 400 Bad Request. + + +## Example + +**Request** + +Here is an example of the request. + +[!include[Improve request performance](improverequestperformance-new.md)] + +``` +GET https://api.securitycenter.windows.com/api/machines/findbyip(ip='10.248.240.38',timestamp=2018-09-22T08:44:05Z) +``` + +**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": "863fed4b174465c703c6e412965a31b5e1884cc4", + "computerDnsName": "mymachine33.contoso.com", + "firstSeen": "2018-07-31T14:20:55.8223496Z", + "lastSeen": null, + "osPlatform": "Windows10", + "osVersion": null, + "lastIpAddress": "10.248.240.38", + "lastExternalIpAddress": "167.220.2.166", + "agentVersion": "10.3720.16299.98", + "osBuild": 16299, + "healthStatus": "Active", + "isAadJoined": true, + "machineTags": [], + "rbacGroupId": 75, + "riskScore": "Medium", + "aadDeviceId": null + } + ] +} +``` From 045e2a90d8abfe133b1b82f605ab88211cf9102f Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Thu, 27 Sep 2018 16:03:12 +0300 Subject: [PATCH 092/162] s --- ...ne-info-windows-defender-advanced-threat-protection-new.md | 2 +- ...achines-windows-defender-advanced-threat-protection-new.md | 4 ++-- ...achines-windows-defender-advanced-threat-protection-new.md | 4 ++-- ...achines-windows-defender-advanced-threat-protection-new.md | 4 ++-- ...achines-windows-defender-advanced-threat-protection-new.md | 4 ++-- ...machine-windows-defender-advanced-threat-protection-new.md | 1 + 6 files changed, 10 insertions(+), 9 deletions(-) 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 279fbf2f70..2b6aadf542 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 @@ -76,13 +76,13 @@ Content-type: application/json "id": "ff0c3800ed8d66738a514971cd6867166809369f", "computerDnsName": "amazingmachine.contoso.com", "firstSeen": "2017-12-10T07:47:34.4269783Z", + "lasttSeen": "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, 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 053470d9a6..a039d49807 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 @@ -78,13 +78,13 @@ Content-type: application/json "id": "02ea9a24e8bd39c247ed7ca0edae879c321684e5", "computerDnsName": "testMachine1", "firstSeen": "2018-07-30T20:12:00.3708661Z", + "lastSeen": "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, @@ -97,13 +97,13 @@ Content-type: application/json "id": "02efb9a9b85f07749a018fbf3f962b4700b3b949", "computerDnsName": "testMachine2", "firstSeen": "2018-07-30T19:50:47.3618349Z", + "lastSeen": "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, 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 1a96bc4743..e977dc59f9 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 @@ -79,13 +79,13 @@ Content-type: application/json "id": "1e5bc9d7e413ddd7902c2932e418702b84d0cc07", "computerDnsName": "mymachine1.contoso.com", "firstSeen": "2018-08-02T14:55:03.7791856Z", + "lasttSeen": "2018-07-09T13:22:45.1250071Z", "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, @@ -98,13 +98,13 @@ Content-type: application/json "id": "7292e4b8cb74ff1cc3d8a495eb29dc8858b732f7", "computerDnsName": "mymachine2.contoso.com", "firstSeen": "2018-07-09T13:22:45.1250071Z", + "lasttSeen": "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, 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 ecdab586f3..c2e1dcab6e 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 @@ -79,13 +79,13 @@ Content-type: application/json "id": "1e5bc9d7e413ddd7902c2932e418702b84d0cc07", "computerDnsName": "mymachine1.contoso.com", "firstSeen": "2018-08-02T14:55:03.7791856Z", + "lastSeen": "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, @@ -98,13 +98,13 @@ Content-type: application/json "id": "7292e4b8cb74ff1cc3d8a495eb29dc8858b732f7", "computerDnsName": "mymachine2.contoso.com", "firstSeen": "2018-07-09T13:22:45.1250071Z", + "lastSeen": "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, 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 203642ef2e..676602504f 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 @@ -77,13 +77,13 @@ Content-type: application/json "id": "1e5bc9d7e413ddd7902c2932e418702b84d0cc07", "computerDnsName": "mymachine1.contoso.com", "firstSeen": "2018-08-02T14:55:03.7791856Z", + "lastSeen": "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, @@ -96,13 +96,13 @@ Content-type: application/json "id": "7292e4b8cb74ff1cc3d8a495eb29dc8858b732f7", "computerDnsName": "mymachine2.contoso.com", "firstSeen": "2018-07-09T13:22:45.1250071Z", + "lastSeen": "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, 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 dee80dc601..020621ef49 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 @@ -24,6 +24,7 @@ Method|Return Type |Description [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). [Add or Remove machine tags](add-or-remove-machine-tags-windows-defender-advanced-threat-protection-new.md) | [machine](machine-windows-defender-advanced-threat-protection-new.md) | Add or Remove tag to a specific machine. +[Find machines by IP](find-machines-by-ip-windows-defender-advanced-threat-protection-new.md) | [machine](machine-windows-defender-advanced-threat-protection-new.md) collection | Find machines seen with IP. # Properties Property | Type | Description From 3bf9ebbab5c61cae00c9ec529f14e64694cfd16c Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Thu, 27 Sep 2018 16:13:52 +0300 Subject: [PATCH 093/162] s --- ...by-ip-windows-defender-advanced-threat-protection-new.md | 6 +++--- ...-info-windows-defender-advanced-threat-protection-new.md | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/find-machines-by-ip-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/find-machines-by-ip-windows-defender-advanced-threat-protection-new.md index c2a99efc69..422958d5cb 100644 --- a/windows/security/threat-protection/windows-defender-atp/find-machines-by-ip-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/find-machines-by-ip-windows-defender-advanced-threat-protection-new.md @@ -1,6 +1,6 @@ --- -title: Find machines by IP API -description: Find machines seen with IP in the time range of 15 minutes prior and after a given timestamp +title: Find machines by internal IP API +description: Find machines seen with internal IP in the time range of 15 minutes prior and after a given timestamp keywords: apis, graph api, supported apis, get, machine, IP, find, find machine, by ip, ip search.product: eADQiWindows 10XVcnh ms.prod: w10 @@ -13,7 +13,7 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Find machines by IP +# Find machines by internal IP API [!include[Prereleaseinformation](prerelease.md)] 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 2b6aadf542..20d5a2ffac 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 @@ -76,7 +76,7 @@ Content-type: application/json "id": "ff0c3800ed8d66738a514971cd6867166809369f", "computerDnsName": "amazingmachine.contoso.com", "firstSeen": "2017-12-10T07:47:34.4269783Z", - "lasttSeen": "2017-12-10T07:47:34.4269783Z", + "lastSeen": "2017-12-10T07:47:34.4269783Z", "osPlatform": "Windows10", "osVersion": "10.0.0.0", "systemProductName": null, From 90d4bdca18ff0008636d1e12f3b9a1203628a74f Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Thu, 27 Sep 2018 16:15:10 +0300 Subject: [PATCH 094/162] s --- ...s-by-ip-windows-defender-advanced-threat-protection-new.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/find-machines-by-ip-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/find-machines-by-ip-windows-defender-advanced-threat-protection-new.md index 422958d5cb..15d829c27a 100644 --- a/windows/security/threat-protection/windows-defender-atp/find-machines-by-ip-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/find-machines-by-ip-windows-defender-advanced-threat-protection-new.md @@ -1,6 +1,6 @@ --- title: Find machines by internal IP API -description: Find machines seen with internal IP in the time range of 15 minutes prior and after a given timestamp +description: Find machines seen with the requested internal IP in the time range of 15 minutes prior and after a given timestamp keywords: apis, graph api, supported apis, get, machine, IP, find, find machine, by ip, ip search.product: eADQiWindows 10XVcnh ms.prod: w10 @@ -20,7 +20,7 @@ ms.date: 12/08/2017 **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) -- Find machines seen with IP in the time range of 15 minutes prior and after a given timestamp +- Find machines seen with the requested internal IP in the time range of 15 minutes prior and after a given timestamp - The given timestamp must be in the past 30 days. ## Permissions From 3f4f0477033754c46be7286f15db8a4d784a20a9 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Tue, 2 Oct 2018 14:42:46 -0700 Subject: [PATCH 095/162] remove deprecated label --- 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 512fee13c9..ff0b92b2f8 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -426,7 +426,7 @@ -#### TO BE DEPRECATED - API for custom alerts +#### API for custom alerts ##### [Enable the custom threat intelligence application](enable-custom-ti-windows-defender-advanced-threat-protection.md) ##### [Use the Windows Defender ATP exposed APIs](exposed-apis-windows-defender-advanced-threat-protection.md) ###### [Use the threat intelligence API to create custom alerts](use-custom-ti-windows-defender-advanced-threat-protection.md) From 20a4c1d66002f08b5a4306a3449d6301becd93aa Mon Sep 17 00:00:00 2001 From: Zvi Avidor Date: Thu, 4 Oct 2018 12:09:47 +0300 Subject: [PATCH 096/162] Suggested fix for isolation --- ...-windows-defender-advanced-threat-protection-new.md | 10 ++++++++++ 1 file changed, 10 insertions(+) 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 604f6fe959..aa65623516 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 @@ -21,6 +21,9 @@ ms.date: 12/08/2017 Isolates a machine from accessing external network. +>[!Note] +> This page focus on activating machine action via API. See [take response actions on a machine](respond-machine-alerts-windows-defender-advanced-threat-protection.md) for more information about response actions functionality via WDATP. + ## 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) @@ -29,6 +32,13 @@ Permission type | Permission | Permission display name Application | Machine.Isolate | 'Isolate machine' Delegated (work or school account) | Machine.Isolate | 'Isolate machine' +>[!Note] +> When obtaining a token using user credentials: +>- The user need to have at least the following role permission: 'Active remediation actions' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user have access to this machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + + + >[!IMPORTANT] >- Full isolation is available for machines on Windows 10, version 1703. >- Selective isolation is available for machines on Windows 10, version 1709 or later. From d180a05566a97594490a9ce35ca9ddfa74dc7ea0 Mon Sep 17 00:00:00 2001 From: Zvi Avidor Date: Thu, 4 Oct 2018 12:51:59 +0300 Subject: [PATCH 097/162] small fix --- ...hine-windows-defender-advanced-threat-protection-new.md | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) 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 aa65623516..4123a2d5c8 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 @@ -35,14 +35,9 @@ Delegated (work or school account) | Machine.Isolate | 'Isolate machine' >[!Note] > When obtaining a token using user credentials: >- The user need to have at least the following role permission: 'Active remediation actions' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) ->- The user have access to this machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) +>- The user need to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) - ->[!IMPORTANT] ->- Full isolation is available for machines on Windows 10, version 1703. ->- Selective isolation is available for machines on Windows 10, version 1709 or later. - ## HTTP request ``` POST https://api.securitycenter.windows.com/api/machines/{id}/isolate From 1ed3b286d6751c7232bf578b7ecba1101f6da9eb Mon Sep 17 00:00:00 2001 From: Zvi Avidor Date: Thu, 4 Oct 2018 13:25:48 +0300 Subject: [PATCH 098/162] Add machine actions link to all machine actions API --- ...ge-windows-defender-advanced-threat-protection-new.md | 4 ++-- ...ne-windows-defender-advanced-threat-protection-new.md | 9 ++++----- .../windows-defender-atp/machineactionsnote.md | 5 +++++ ...pi-windows-defender-advanced-threat-protection-new.md | 2 ++ ...alerts-windows-defender-advanced-threat-protection.md | 4 ++-- ...on-windows-defender-advanced-threat-protection-new.md | 2 ++ ...an-windows-defender-advanced-threat-protection-new.md | 2 ++ ...on-windows-defender-advanced-threat-protection-new.md | 4 ++-- 8 files changed, 21 insertions(+), 11 deletions(-) create mode 100644 windows/security/threat-protection/windows-defender-atp/machineactionsnote.md 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 0070c9376a..adb088ebb4 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 @@ -19,10 +19,10 @@ ms.date: 12/08/2017 [!include[Prereleaseinformation](prerelease.md)] - - Collect investigation package from a machine. +[!include[Machine actions note](machineactionsnote.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/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 4123a2d5c8..33e7130f36 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 @@ -21,8 +21,7 @@ ms.date: 12/08/2017 Isolates a machine from accessing external network. ->[!Note] -> This page focus on activating machine action via API. See [take response actions on a machine](respond-machine-alerts-windows-defender-advanced-threat-protection.md) for more information about response actions functionality via WDATP. +[!include[Machine actions note](machineactionsnote.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) @@ -34,8 +33,8 @@ Delegated (work or school account) | Machine.Isolate | 'Isolate machine' >[!Note] > When obtaining a token using user credentials: ->- The user need to have at least the following role permission: 'Active remediation actions' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) ->- The user need to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) +>- The user needs to have at least the following role permission: 'Active remediation actions' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user needs to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) ## HTTP request @@ -60,7 +59,7 @@ IsolationType | String | Type of the isolation. Allowed values are: 'Full' or 'S **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 +- Selective – Restrict only limited set of applications from accessing the network (see [Isolate machines from the network](respond-machine-alerts-windows-defender-advanced-threat-protection.md#isolate-machines-from-the-network) for more details) ## Response diff --git a/windows/security/threat-protection/windows-defender-atp/machineactionsnote.md b/windows/security/threat-protection/windows-defender-atp/machineactionsnote.md new file mode 100644 index 0000000000..ecc1cebee3 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/machineactionsnote.md @@ -0,0 +1,5 @@ +--- +ms.date: 08/28/2017 +--- +>[!Note] +> This page focuses on performing a machine action via API. See [take response actions on a machine](respond-machine-alerts-windows-defender-advanced-threat-protection.md) for more information about response actions functionality via WDATP. 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 b40d39cbc3..c766797e14 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 @@ -21,6 +21,8 @@ ms.date: 12/08/2017 Offboard machine from WDATP. +[!include[Machine actions note](machineactionsnote.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/respond-machine-alerts-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/respond-machine-alerts-windows-defender-advanced-threat-protection.md index 064fb37360..132ae5943b 100644 --- a/windows/security/threat-protection/windows-defender-atp/respond-machine-alerts-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/respond-machine-alerts-windows-defender-advanced-threat-protection.md @@ -181,7 +181,7 @@ Depending on the severity of the attack and the sensitivity of the machine, you This machine isolation feature disconnects the compromised machine from the network while retaining connectivity to the Windows Defender ATP service, which continues to monitor the machine. -On Windows 10, version 1709 or later, you'll have additional control over the network isolation level. You can also choose to enable Outlook and Skype for Business connectivity. +On Windows 10, version 1709 or later, you'll have additional control over the network isolation level. You can also choose to enable Outlook and Skype for Business connectivity (a.k.a 'Selective Isolation'). >[!NOTE] >You’ll be able to reconnect the machine back to the network at any time. @@ -197,7 +197,7 @@ On Windows 10, version 1709 or later, you'll have additional control over the ne ![Image of isolate machine](images/atp-actions-isolate-machine.png) -3. Select the check-box if you'd like to enable Outlook and Skype communication while the machine is isolated. +3. Select the check-box if you'd like to enable Outlook and Skype communication while the machine is isolated (a.k.a. 'Selective Isolation'). ![Image of isolation confirmation](images/atp-confirm-isolate.png) 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 962dad7581..2f72e196ee 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,6 +21,8 @@ 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) +[!include[Machine actions note](machineactionsnote.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/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 85c37a2cc6..10db12f264 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,6 +21,8 @@ ms.date: 12/08/2017 Initiate Windows Defender Antivirus scan on a machine. +[!include[Machine actions note](machineactionsnote.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/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 4deeaa4646..b449ad9983 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 @@ -19,10 +19,10 @@ ms.date: 12/08/2017 [!include[Prereleaseinformation](prerelease.md)] - - Enable execution of any application on the machine. +[!include[Machine actions note](machineactionsnote.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) From 4bc3a56d7c03de2ba56f48a191815eb59482f8c2 Mon Sep 17 00:00:00 2001 From: Zvi Avidor Date: Thu, 4 Oct 2018 15:13:10 +0300 Subject: [PATCH 099/162] Add data about roles to all documentation pages --- ...age-windows-defender-advanced-threat-protection-new.md | 6 ++++-- ...nce-windows-defender-advanced-threat-protection-new.md | 5 +++++ ...-ip-windows-defender-advanced-threat-protection-new.md | 5 +++++ ...nfo-windows-defender-advanced-threat-protection-new.md | 5 +++++ ...nfo-windows-defender-advanced-threat-protection-new.md | 5 +++++ ...nfo-windows-defender-advanced-threat-protection-new.md | 5 +++++ ...nfo-windows-defender-advanced-threat-protection-new.md | 5 +++++ ...rts-windows-defender-advanced-threat-protection-new.md | 5 +++++ ...rts-windows-defender-advanced-threat-protection-new.md | 5 +++++ ...nes-windows-defender-advanced-threat-protection-new.md | 5 +++++ ...ics-windows-defender-advanced-threat-protection-new.md | 4 ++++ ...ion-windows-defender-advanced-threat-protection-new.md | 8 +++++--- ...rts-windows-defender-advanced-threat-protection-new.md | 8 +++++--- ...nes-windows-defender-advanced-threat-protection-new.md | 5 +++++ ...ics-windows-defender-advanced-threat-protection-new.md | 4 ++++ ...rts-windows-defender-advanced-threat-protection-new.md | 5 +++++ ...nes-windows-defender-advanced-threat-protection-new.md | 5 +++++ ...ics-windows-defender-advanced-threat-protection-new.md | 4 ++++ ...-id-windows-defender-advanced-threat-protection-new.md | 6 ++++++ ...ers-windows-defender-advanced-threat-protection-new.md | 5 +++++ ...rts-windows-defender-advanced-threat-protection-new.md | 5 +++++ ...ect-windows-defender-advanced-threat-protection-new.md | 4 ++++ ...ion-windows-defender-advanced-threat-protection-new.md | 4 ++++ ...nes-windows-defender-advanced-threat-protection-new.md | 5 +++++ ...uri-windows-defender-advanced-threat-protection-new.md | 5 +++++ ...api-windows-defender-advanced-threat-protection-new.md | 6 ++++-- ...ion-windows-defender-advanced-threat-protection-new.md | 7 ++++--- .../windows-defender-atp/run-advanced-query-api.md | 5 +++++ ...can-windows-defender-advanced-threat-protection-new.md | 7 ++++--- ...ine-windows-defender-advanced-threat-protection-new.md | 5 +++++ ...ion-windows-defender-advanced-threat-protection-new.md | 5 +++++ ...ert-windows-defender-advanced-threat-protection-new.md | 5 +++++ 32 files changed, 152 insertions(+), 16 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 adb088ebb4..7783e25c09 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,8 +31,10 @@ Permission type | Permission | Permission display name Application | Machine.CollectForensics | 'Collect forensics' Delegated (work or school account) | Machine.CollectForensics | 'Collect forensics' ->[!IMPORTANT] -> This response action is available for machines on Windows 10, version 1703 or later. +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'Alerts Investigation' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user needs to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) ## 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 e5e7d337a8..bdf5be889f 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 @@ -32,6 +32,11 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'Alerts Investigation' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user needs to have access to the machine associated with the alert, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` POST /api/CreateAlertByReference diff --git a/windows/security/threat-protection/windows-defender-atp/find-machines-by-ip-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/find-machines-by-ip-windows-defender-advanced-threat-protection-new.md index 15d829c27a..61c158ed1b 100644 --- a/windows/security/threat-protection/windows-defender-atp/find-machines-by-ip-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/find-machines-by-ip-windows-defender-advanced-threat-protection-new.md @@ -33,6 +33,11 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- Response will include only machines,that the user have access to, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/machines/findbyip(ip='{IP}',timestamp={TimeStamp}) 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 6e7721ecde..6ed27e2648 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 @@ -29,6 +29,11 @@ Permission type | Permission | Permission display name Application | URL.Read.All | 'Read URLs' Delegated (work or school account) | URL.Read.All | 'Read URLs' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user needs to have access to the machine associated with the alert, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/alerts/{id}/domains 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 7fe0e0b9d5..951363752e 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 @@ -29,6 +29,11 @@ Permission type | Permission | Permission display name Application | File.Read.All | 'Read file profiles' Delegated (work or school account) | File.Read.All | 'Read file profiles' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user needs to have access to the machine associated with the alert, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/alerts/{id}/files 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 20d5a2ffac..2aaf342cae 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 @@ -31,6 +31,11 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user needs to have access to the machine associated with the alert, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/alerts/{id}/machine 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 abdd6ee9d9..8e6501fcf1 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 @@ -30,6 +30,11 @@ Permission type | Permission | Permission display name Application | User.Read.All | 'Read user profiles' Delegated (work or school account) | User.Read.All | 'Read user profiles' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user needs to have access to the machine associated with the alert, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/alerts/{id}/user 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 a05d4dba9b..520380e0fd 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 @@ -34,6 +34,11 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'Alerts Investigation' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user needs to have access to the machine associated with the alert, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /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 b8b7730bad..fc469816ef 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 @@ -36,6 +36,11 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- Response will include only alerts, associated with machines, that the user have access to, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/domains/{domain}/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 a039d49807..e1d21e0582 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 @@ -35,6 +35,11 @@ Delegated (work or school account) | Machine.ReadWrite | 'Read and write machine ``` GET /api/domains/{domain}/machines ``` +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- Only machines that the user can access, based on machine group settings will be listed (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## Request headers 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 1625a17a50..7bfd097dd2 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,6 +30,10 @@ Permission type | Permission | Permission display name Application | URL.Read.All | 'Read URLs' Delegated (work or school account) | URL.Read.All | 'Read URLs' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/domains/{domain}/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 c817a1c653..63aabdd191 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 @@ -21,9 +21,6 @@ ms.date: 12/08/2017 [!include[Prereleaseinformation](prerelease.md)] - - - Retrieves a file by identifier Sha1, Sha256, or MD5. ## Permissions @@ -34,6 +31,11 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) + + ## HTTP request ``` GET /api/files/{id} 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 3c3605bebb..284cb68225 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 @@ -22,9 +22,6 @@ ms.date: 12/08/2017 [!include[Prereleaseinformation](prerelease.md)] - - - Retrieves a collection of alerts related to a given file hash. ## Permissions @@ -37,6 +34,11 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- Response will include only alerts, associated with machines, that the user have access to, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/files/{id}/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 e977dc59f9..ca74749c35 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,11 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- Response will include only machines, that the user have access to, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/files/{id}/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 e8a8ede6fd..a53c06b80a 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 @@ -34,6 +34,10 @@ Permission type | Permission | Permission display name Application | File.Read.All | 'Read file profiles' Delegated (work or school account) | File.Read.All | 'Read file profiles' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/files/{id}/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 4d83cb3d73..92ca8d53d4 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,11 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- Response will include only alerts, associated with machines, that the user have access to, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/ips/{ip}/alerts 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 c2e1dcab6e..f68e1e12b1 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 @@ -32,6 +32,11 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- Response will include only machines, that the user have access to, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/ips/{ip}/machines 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 990bd3f852..cdeaa1e441 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 @@ -32,6 +32,10 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/ips/{ip}/stats 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 4683167dfb..ed3fde05b1 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 @@ -32,6 +32,12 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- Response will include only machines, that the user have access to, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + + ## HTTP request ``` GET /api/machines/{id} 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 61cb0e8c02..5dad09904f 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 @@ -30,6 +30,11 @@ Permission type | Permission | Permission display name Application | User.Read.All | 'Read user profiles' Delegated (work or school account) | User.Read.All | 'Read user profiles' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- Response will include users only if the machine is visible to the user, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/machines/{id}/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 16fef6228a..0a8170f0fd 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 @@ -32,6 +32,11 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- Response will include only alerts, associated with machines, that the user have access to, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/machines/{id}/alerts 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 bcdbd711ec..17e20f0b73 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 @@ -31,6 +31,10 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET https://api.securitycenter.windows.com/api/machineactions/{id} 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 e11cd96856..d057cb5c85 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 @@ -34,6 +34,10 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET https://api.securitycenter.windows.com/api/machineactions 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 d114cf97cb..8f2008c14a 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 @@ -34,6 +34,11 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- Response will include only machines,that the user have access to, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` 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 b59b11034b..bf4cb3c934 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,11 @@ Permission type | Permission | Permission display name Application | Machine.CollectForensics | 'Collect forensics' Delegated (work or school account) | Machine.CollectForensics | 'Collect forensics' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'Alerts Investigation' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user needs to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET https://api.securitycenter.windows.com/api/machineactions/{machine action id}/getPackageUri 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 c766797e14..13b8574222 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 @@ -31,8 +31,10 @@ Permission type | Permission | Permission display name Application | Machine.Offboard | 'Offboard machine' Delegated (work or school account) | Machine.Offboard | 'Offboard machine' ->[!IMPORTANT] -> This response action is available for machines on Windows 10, version 1703 or later. +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to 'Global Admin' AD role +>- The user needs to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) ## 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 2f72e196ee..90321fb7ff 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 @@ -31,9 +31,10 @@ Permission type | Permission | Permission display name Application | Machine.RestrictExecution | 'Restrict code execution' Delegated (work or school account) | Machine.RestrictExecution | 'Restrict code execution' ->[!IMPORTANT] -> - This action is available for machines on Windows 10, version 1709 or later. -> - This action needs to meet the Windows Defender Application Control code integrity policy formats and signing requirements. For more information, see [Code integrity policy formats and signing](https://docs.microsoft.com/en-us/windows/device-security/device-guard/requirements-and-deployment-planning-guidelines-for-device-guard#code-integrity-policy-formats-and-signing). +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'Active remediation actions' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user needs to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) ## HTTP request ``` 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 7e312d08e8..86899b1396 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 @@ -39,6 +39,11 @@ Permission type | Permission | Permission display name Application | AdvancedQuery.Read.All | 'Run advanced queries' Delegated (work or school account) | AdvancedQuery.Read | 'Run advanced queries' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to 'Global Admin' AD role +>- The user needs to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` POST /advancedqueries/query 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 10db12f264..f8a0432c1d 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 @@ -31,9 +31,10 @@ Permission type | Permission | Permission display name Application | Machine.Scan | 'Scan machine' Delegated (work or school account) | Machine.Scan | 'Scan machine' ->[!IMPORTANT] ->- This action is available for machines on Windows 10, version 1709 or later. ->- A Windows Defender Antivirus (Windows Defender AV) scan can run alongside other antivirus solutions, whether Windows Defender AV is the active antivirus solution or not. Windows Defender AV can be in Passive mode. For more information, see [Windows Defender Antivirus compatibility](../windows-defender-antivirus/windows-defender-antivirus-compatibility.md). +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'Active remediation actions' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user needs to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) ## 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 5aaccd64f1..205ee3432c 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,11 @@ Permission type | Permission | Permission display name Application | Machine.Isolate | 'Isolate machine' Delegated (work or school account) | Machine.Isolate | 'Isolate machine' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'Active remediation actions' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user needs to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` POST https://api.securitycenter.windows.com/api/machines/{id}/unisolate 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 b449ad9983..fd0479fd8a 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 @@ -31,6 +31,11 @@ Permission type | Permission | Permission display name Application | Machine.RestrictExecution | 'Restrict code execution' Delegated (work or school account) | Machine.RestrictExecution | 'Restrict code execution' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'Active remediation actions' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user needs to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` POST https://api.securitycenter.windows.com/api/machines/{id}/unrestrictCodeExecution 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 81c8f8d9ac..762ae2251a 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 @@ -30,6 +30,11 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user needs to have access to the machine associated with the alert, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` PATCH /api/alerts/{id} From 504faf5b34dec29bdbb54fab4538051f4693c209 Mon Sep 17 00:00:00 2001 From: Zvi Avidor Date: Thu, 4 Oct 2018 16:00:20 +0300 Subject: [PATCH 100/162] self review 1 --- ...rence-windows-defender-advanced-threat-protection-new.md | 6 ------ ...lerts-windows-defender-advanced-threat-protection-new.md | 2 +- .../windows-defender-atp/machineactionsnote.md | 1 + 3 files changed, 2 insertions(+), 7 deletions(-) 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 bdf5be889f..94288d30d6 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,12 +30,6 @@ 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' - ->[!Note] -> When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'Alerts Investigation' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) ->- The user needs to have access to the machine associated with the alert, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) ## 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 520380e0fd..205805378d 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 @@ -36,7 +36,7 @@ Delegated (work or school account) | Alert.ReadWrite | 'Read and write alerts' >[!Note] > When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'Alerts Investigation' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) >- The user needs to have access to the machine associated with the alert, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) ## HTTP request diff --git a/windows/security/threat-protection/windows-defender-atp/machineactionsnote.md b/windows/security/threat-protection/windows-defender-atp/machineactionsnote.md index ecc1cebee3..fcbd68ecec 100644 --- a/windows/security/threat-protection/windows-defender-atp/machineactionsnote.md +++ b/windows/security/threat-protection/windows-defender-atp/machineactionsnote.md @@ -1,5 +1,6 @@ --- ms.date: 08/28/2017 +author: zavidor --- >[!Note] > This page focuses on performing a machine action via API. See [take response actions on a machine](respond-machine-alerts-windows-defender-advanced-threat-protection.md) for more information about response actions functionality via WDATP. From b7b38cf0c294b96f431a90ee0c8aa76ca86dd2b5 Mon Sep 17 00:00:00 2001 From: Zvi Avidor Date: Thu, 4 Oct 2018 16:13:42 +0300 Subject: [PATCH 101/162] Revert "self review 1" This reverts commit 504faf5b34dec29bdbb54fab4538051f4693c209. --- ...rence-windows-defender-advanced-threat-protection-new.md | 6 ++++++ ...lerts-windows-defender-advanced-threat-protection-new.md | 2 +- .../windows-defender-atp/machineactionsnote.md | 1 - 3 files changed, 7 insertions(+), 2 deletions(-) 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 94288d30d6..bdf5be889f 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,12 @@ 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' + +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'Alerts Investigation' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user needs to have access to the machine associated with the alert, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) ## 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 205805378d..520380e0fd 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 @@ -36,7 +36,7 @@ Delegated (work or school account) | Alert.ReadWrite | 'Read and write alerts' >[!Note] > When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user needs to have at least the following role permission: 'Alerts Investigation' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) >- The user needs to have access to the machine associated with the alert, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) ## HTTP request diff --git a/windows/security/threat-protection/windows-defender-atp/machineactionsnote.md b/windows/security/threat-protection/windows-defender-atp/machineactionsnote.md index fcbd68ecec..ecc1cebee3 100644 --- a/windows/security/threat-protection/windows-defender-atp/machineactionsnote.md +++ b/windows/security/threat-protection/windows-defender-atp/machineactionsnote.md @@ -1,6 +1,5 @@ --- ms.date: 08/28/2017 -author: zavidor --- >[!Note] > This page focuses on performing a machine action via API. See [take response actions on a machine](respond-machine-alerts-windows-defender-advanced-threat-protection.md) for more information about response actions functionality via WDATP. From 432eaf711ac8e67c5f6c43c1c34f3fa4b9e0c46f Mon Sep 17 00:00:00 2001 From: Zvi Avidor Date: Thu, 4 Oct 2018 16:13:47 +0300 Subject: [PATCH 102/162] Revert "Add data about roles to all documentation pages" This reverts commit 4bc3a56d7c03de2ba56f48a191815eb59482f8c2. --- ...age-windows-defender-advanced-threat-protection-new.md | 6 ++---- ...nce-windows-defender-advanced-threat-protection-new.md | 5 ----- ...-ip-windows-defender-advanced-threat-protection-new.md | 5 ----- ...nfo-windows-defender-advanced-threat-protection-new.md | 5 ----- ...nfo-windows-defender-advanced-threat-protection-new.md | 5 ----- ...nfo-windows-defender-advanced-threat-protection-new.md | 5 ----- ...nfo-windows-defender-advanced-threat-protection-new.md | 5 ----- ...rts-windows-defender-advanced-threat-protection-new.md | 5 ----- ...rts-windows-defender-advanced-threat-protection-new.md | 5 ----- ...nes-windows-defender-advanced-threat-protection-new.md | 5 ----- ...ics-windows-defender-advanced-threat-protection-new.md | 4 ---- ...ion-windows-defender-advanced-threat-protection-new.md | 8 +++----- ...rts-windows-defender-advanced-threat-protection-new.md | 8 +++----- ...nes-windows-defender-advanced-threat-protection-new.md | 5 ----- ...ics-windows-defender-advanced-threat-protection-new.md | 4 ---- ...rts-windows-defender-advanced-threat-protection-new.md | 5 ----- ...nes-windows-defender-advanced-threat-protection-new.md | 5 ----- ...ics-windows-defender-advanced-threat-protection-new.md | 4 ---- ...-id-windows-defender-advanced-threat-protection-new.md | 6 ------ ...ers-windows-defender-advanced-threat-protection-new.md | 5 ----- ...rts-windows-defender-advanced-threat-protection-new.md | 5 ----- ...ect-windows-defender-advanced-threat-protection-new.md | 4 ---- ...ion-windows-defender-advanced-threat-protection-new.md | 4 ---- ...nes-windows-defender-advanced-threat-protection-new.md | 5 ----- ...uri-windows-defender-advanced-threat-protection-new.md | 5 ----- ...api-windows-defender-advanced-threat-protection-new.md | 6 ++---- ...ion-windows-defender-advanced-threat-protection-new.md | 7 +++---- .../windows-defender-atp/run-advanced-query-api.md | 5 ----- ...can-windows-defender-advanced-threat-protection-new.md | 7 +++---- ...ine-windows-defender-advanced-threat-protection-new.md | 5 ----- ...ion-windows-defender-advanced-threat-protection-new.md | 5 ----- ...ert-windows-defender-advanced-threat-protection-new.md | 5 ----- 32 files changed, 16 insertions(+), 152 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 7783e25c09..adb088ebb4 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,10 +31,8 @@ Permission type | Permission | Permission display name Application | Machine.CollectForensics | 'Collect forensics' Delegated (work or school account) | Machine.CollectForensics | 'Collect forensics' ->[!Note] -> When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'Alerts Investigation' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) ->- The user needs to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) +>[!IMPORTANT] +> This response action is available for machines on Windows 10, version 1703 or later. ## 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 bdf5be889f..e5e7d337a8 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 @@ -32,11 +32,6 @@ 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' ->[!Note] -> When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'Alerts Investigation' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) ->- The user needs to have access to the machine associated with the alert, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) - ## HTTP request ``` POST /api/CreateAlertByReference diff --git a/windows/security/threat-protection/windows-defender-atp/find-machines-by-ip-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/find-machines-by-ip-windows-defender-advanced-threat-protection-new.md index 61c158ed1b..15d829c27a 100644 --- a/windows/security/threat-protection/windows-defender-atp/find-machines-by-ip-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/find-machines-by-ip-windows-defender-advanced-threat-protection-new.md @@ -33,11 +33,6 @@ 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' ->[!Note] -> When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) ->- Response will include only machines,that the user have access to, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) - ## HTTP request ``` GET /api/machines/findbyip(ip='{IP}',timestamp={TimeStamp}) 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 6ed27e2648..6e7721ecde 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 @@ -29,11 +29,6 @@ Permission type | Permission | Permission display name Application | URL.Read.All | 'Read URLs' Delegated (work or school account) | URL.Read.All | 'Read URLs' ->[!Note] -> When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) ->- The user needs to have access to the machine associated with the alert, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) - ## HTTP request ``` GET /api/alerts/{id}/domains 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 951363752e..7fe0e0b9d5 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 @@ -29,11 +29,6 @@ Permission type | Permission | Permission display name Application | File.Read.All | 'Read file profiles' Delegated (work or school account) | File.Read.All | 'Read file profiles' ->[!Note] -> When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) ->- The user needs to have access to the machine associated with the alert, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) - ## HTTP request ``` GET /api/alerts/{id}/files 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 2aaf342cae..20d5a2ffac 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 @@ -31,11 +31,6 @@ 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' ->[!Note] -> When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) ->- The user needs to have access to the machine associated with the alert, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) - ## HTTP request ``` GET /api/alerts/{id}/machine 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 8e6501fcf1..abdd6ee9d9 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 @@ -30,11 +30,6 @@ Permission type | Permission | Permission display name Application | User.Read.All | 'Read user profiles' Delegated (work or school account) | User.Read.All | 'Read user profiles' ->[!Note] -> When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) ->- The user needs to have access to the machine associated with the alert, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) - ## HTTP request ``` GET /api/alerts/{id}/user 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 520380e0fd..a05d4dba9b 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 @@ -34,11 +34,6 @@ 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' ->[!Note] -> When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'Alerts Investigation' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) ->- The user needs to have access to the machine associated with the alert, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) - ## HTTP request ``` GET /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 fc469816ef..b8b7730bad 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 @@ -36,11 +36,6 @@ 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' ->[!Note] -> When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) ->- Response will include only alerts, associated with machines, that the user have access to, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) - ## HTTP request ``` GET /api/domains/{domain}/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 e1d21e0582..a039d49807 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 @@ -35,11 +35,6 @@ Delegated (work or school account) | Machine.ReadWrite | 'Read and write machine ``` GET /api/domains/{domain}/machines ``` ->[!Note] -> When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) ->- Only machines that the user can access, based on machine group settings will be listed (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) - ## Request headers 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 7bfd097dd2..1625a17a50 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,10 +30,6 @@ Permission type | Permission | Permission display name Application | URL.Read.All | 'Read URLs' Delegated (work or school account) | URL.Read.All | 'Read URLs' ->[!Note] -> When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) - ## HTTP request ``` GET /api/domains/{domain}/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 63aabdd191..c817a1c653 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 @@ -21,6 +21,9 @@ ms.date: 12/08/2017 [!include[Prereleaseinformation](prerelease.md)] + + + Retrieves a file by identifier Sha1, Sha256, or MD5. ## Permissions @@ -31,11 +34,6 @@ 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' ->[!Note] -> When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) - - ## HTTP request ``` GET /api/files/{id} 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 284cb68225..3c3605bebb 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 @@ -22,6 +22,9 @@ ms.date: 12/08/2017 [!include[Prereleaseinformation](prerelease.md)] + + + Retrieves a collection of alerts related to a given file hash. ## Permissions @@ -34,11 +37,6 @@ 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' ->[!Note] -> When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) ->- Response will include only alerts, associated with machines, that the user have access to, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) - ## HTTP request ``` GET /api/files/{id}/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 ca74749c35..e977dc59f9 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,11 +32,6 @@ 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' ->[!Note] -> When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) ->- Response will include only machines, that the user have access to, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) - ## HTTP request ``` GET /api/files/{id}/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 a53c06b80a..e8a8ede6fd 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 @@ -34,10 +34,6 @@ Permission type | Permission | Permission display name Application | File.Read.All | 'Read file profiles' Delegated (work or school account) | File.Read.All | 'Read file profiles' ->[!Note] -> When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) - ## HTTP request ``` GET /api/files/{id}/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 92ca8d53d4..4d83cb3d73 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,11 +32,6 @@ 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' ->[!Note] -> When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) ->- Response will include only alerts, associated with machines, that the user have access to, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) - ## HTTP request ``` GET /api/ips/{ip}/alerts 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 f68e1e12b1..c2e1dcab6e 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 @@ -32,11 +32,6 @@ 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' ->[!Note] -> When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) ->- Response will include only machines, that the user have access to, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) - ## HTTP request ``` GET /api/ips/{ip}/machines 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 cdeaa1e441..990bd3f852 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 @@ -32,10 +32,6 @@ 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' ->[!Note] -> When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) - ## HTTP request ``` GET /api/ips/{ip}/stats 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 ed3fde05b1..4683167dfb 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 @@ -32,12 +32,6 @@ 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' ->[!Note] -> When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) ->- Response will include only machines, that the user have access to, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) - - ## HTTP request ``` GET /api/machines/{id} 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 5dad09904f..61cb0e8c02 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 @@ -30,11 +30,6 @@ Permission type | Permission | Permission display name Application | User.Read.All | 'Read user profiles' Delegated (work or school account) | User.Read.All | 'Read user profiles' ->[!Note] -> When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) ->- Response will include users only if the machine is visible to the user, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) - ## HTTP request ``` GET /api/machines/{id}/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 0a8170f0fd..16fef6228a 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 @@ -32,11 +32,6 @@ 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' ->[!Note] -> When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) ->- Response will include only alerts, associated with machines, that the user have access to, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) - ## HTTP request ``` GET /api/machines/{id}/alerts 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 17e20f0b73..bcdbd711ec 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 @@ -31,10 +31,6 @@ 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' ->[!Note] -> When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) - ## HTTP request ``` GET https://api.securitycenter.windows.com/api/machineactions/{id} 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 d057cb5c85..e11cd96856 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 @@ -34,10 +34,6 @@ 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' ->[!Note] -> When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) - ## HTTP request ``` GET https://api.securitycenter.windows.com/api/machineactions 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 8f2008c14a..d114cf97cb 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 @@ -34,11 +34,6 @@ 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' ->[!Note] -> When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) ->- Response will include only machines,that the user have access to, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) - ## HTTP request ``` 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 bf4cb3c934..b59b11034b 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,11 +29,6 @@ Permission type | Permission | Permission display name Application | Machine.CollectForensics | 'Collect forensics' Delegated (work or school account) | Machine.CollectForensics | 'Collect forensics' ->[!Note] -> When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'Alerts Investigation' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) ->- The user needs to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) - ## HTTP request ``` GET https://api.securitycenter.windows.com/api/machineactions/{machine action id}/getPackageUri 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 13b8574222..c766797e14 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 @@ -31,10 +31,8 @@ Permission type | Permission | Permission display name Application | Machine.Offboard | 'Offboard machine' Delegated (work or school account) | Machine.Offboard | 'Offboard machine' ->[!Note] -> When obtaining a token using user credentials: ->- The user needs to 'Global Admin' AD role ->- The user needs to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) +>[!IMPORTANT] +> This response action is available for machines on Windows 10, version 1703 or later. ## 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 90321fb7ff..2f72e196ee 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 @@ -31,10 +31,9 @@ Permission type | Permission | Permission display name Application | Machine.RestrictExecution | 'Restrict code execution' Delegated (work or school account) | Machine.RestrictExecution | 'Restrict code execution' ->[!Note] -> When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'Active remediation actions' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) ->- The user needs to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) +>[!IMPORTANT] +> - This action is available for machines on Windows 10, version 1709 or later. +> - This action needs to meet the Windows Defender Application Control code integrity policy formats and signing requirements. For more information, see [Code integrity policy formats and signing](https://docs.microsoft.com/en-us/windows/device-security/device-guard/requirements-and-deployment-planning-guidelines-for-device-guard#code-integrity-policy-formats-and-signing). ## HTTP request ``` 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 86899b1396..7e312d08e8 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 @@ -39,11 +39,6 @@ Permission type | Permission | Permission display name Application | AdvancedQuery.Read.All | 'Run advanced queries' Delegated (work or school account) | AdvancedQuery.Read | 'Run advanced queries' ->[!Note] -> When obtaining a token using user credentials: ->- The user needs to 'Global Admin' AD role ->- The user needs to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) - ## HTTP request ``` POST /advancedqueries/query 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 f8a0432c1d..10db12f264 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 @@ -31,10 +31,9 @@ Permission type | Permission | Permission display name Application | Machine.Scan | 'Scan machine' Delegated (work or school account) | Machine.Scan | 'Scan machine' ->[!Note] -> When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'Active remediation actions' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) ->- The user needs to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) +>[!IMPORTANT] +>- This action is available for machines on Windows 10, version 1709 or later. +>- A Windows Defender Antivirus (Windows Defender AV) scan can run alongside other antivirus solutions, whether Windows Defender AV is the active antivirus solution or not. Windows Defender AV can be in Passive mode. For more information, see [Windows Defender Antivirus compatibility](../windows-defender-antivirus/windows-defender-antivirus-compatibility.md). ## 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 205ee3432c..5aaccd64f1 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,11 +29,6 @@ Permission type | Permission | Permission display name Application | Machine.Isolate | 'Isolate machine' Delegated (work or school account) | Machine.Isolate | 'Isolate machine' ->[!Note] -> When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'Active remediation actions' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) ->- The user needs to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) - ## HTTP request ``` POST https://api.securitycenter.windows.com/api/machines/{id}/unisolate 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 fd0479fd8a..b449ad9983 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 @@ -31,11 +31,6 @@ Permission type | Permission | Permission display name Application | Machine.RestrictExecution | 'Restrict code execution' Delegated (work or school account) | Machine.RestrictExecution | 'Restrict code execution' ->[!Note] -> When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'Active remediation actions' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) ->- The user needs to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) - ## HTTP request ``` POST https://api.securitycenter.windows.com/api/machines/{id}/unrestrictCodeExecution 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 762ae2251a..81c8f8d9ac 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 @@ -30,11 +30,6 @@ 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' ->[!Note] -> When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) ->- The user needs to have access to the machine associated with the alert, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) - ## HTTP request ``` PATCH /api/alerts/{id} From 94d76a391c354eff889cdae1201667dd57e6d95e Mon Sep 17 00:00:00 2001 From: Zvi Avidor Date: Thu, 4 Oct 2018 16:13:54 +0300 Subject: [PATCH 103/162] Revert "Add machine actions link to all machine actions API" This reverts commit 1ed3b286d6751c7232bf578b7ecba1101f6da9eb. --- ...ge-windows-defender-advanced-threat-protection-new.md | 4 ++-- ...ne-windows-defender-advanced-threat-protection-new.md | 9 +++++---- .../windows-defender-atp/machineactionsnote.md | 5 ----- ...pi-windows-defender-advanced-threat-protection-new.md | 2 -- ...alerts-windows-defender-advanced-threat-protection.md | 4 ++-- ...on-windows-defender-advanced-threat-protection-new.md | 2 -- ...an-windows-defender-advanced-threat-protection-new.md | 2 -- ...on-windows-defender-advanced-threat-protection-new.md | 4 ++-- 8 files changed, 11 insertions(+), 21 deletions(-) delete mode 100644 windows/security/threat-protection/windows-defender-atp/machineactionsnote.md 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 adb088ebb4..0070c9376a 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 @@ -19,9 +19,9 @@ ms.date: 12/08/2017 [!include[Prereleaseinformation](prerelease.md)] -Collect investigation package from a machine. -[!include[Machine actions note](machineactionsnote.md)] + +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 [Use Windows Defender ATP APIs](exposed-apis-intro.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 33e7130f36..4123a2d5c8 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 @@ -21,7 +21,8 @@ ms.date: 12/08/2017 Isolates a machine from accessing external network. -[!include[Machine actions note](machineactionsnote.md)] +>[!Note] +> This page focus on activating machine action via API. See [take response actions on a machine](respond-machine-alerts-windows-defender-advanced-threat-protection.md) for more information about response actions functionality via WDATP. ## 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) @@ -33,8 +34,8 @@ Delegated (work or school account) | Machine.Isolate | 'Isolate machine' >[!Note] > When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'Active remediation actions' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) ->- The user needs to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) +>- The user need to have at least the following role permission: 'Active remediation actions' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user need to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) ## HTTP request @@ -59,7 +60,7 @@ IsolationType | String | Type of the isolation. Allowed values are: 'Full' or 'S **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 (see [Isolate machines from the network](respond-machine-alerts-windows-defender-advanced-threat-protection.md#isolate-machines-from-the-network) for more details) +- Selective – Restrict only limited set of applications from accessing the network ## Response diff --git a/windows/security/threat-protection/windows-defender-atp/machineactionsnote.md b/windows/security/threat-protection/windows-defender-atp/machineactionsnote.md deleted file mode 100644 index ecc1cebee3..0000000000 --- a/windows/security/threat-protection/windows-defender-atp/machineactionsnote.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -ms.date: 08/28/2017 ---- ->[!Note] -> This page focuses on performing a machine action via API. See [take response actions on a machine](respond-machine-alerts-windows-defender-advanced-threat-protection.md) for more information about response actions functionality via WDATP. 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 c766797e14..b40d39cbc3 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 @@ -21,8 +21,6 @@ ms.date: 12/08/2017 Offboard machine from WDATP. -[!include[Machine actions note](machineactionsnote.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/respond-machine-alerts-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/respond-machine-alerts-windows-defender-advanced-threat-protection.md index 132ae5943b..064fb37360 100644 --- a/windows/security/threat-protection/windows-defender-atp/respond-machine-alerts-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/respond-machine-alerts-windows-defender-advanced-threat-protection.md @@ -181,7 +181,7 @@ Depending on the severity of the attack and the sensitivity of the machine, you This machine isolation feature disconnects the compromised machine from the network while retaining connectivity to the Windows Defender ATP service, which continues to monitor the machine. -On Windows 10, version 1709 or later, you'll have additional control over the network isolation level. You can also choose to enable Outlook and Skype for Business connectivity (a.k.a 'Selective Isolation'). +On Windows 10, version 1709 or later, you'll have additional control over the network isolation level. You can also choose to enable Outlook and Skype for Business connectivity. >[!NOTE] >You’ll be able to reconnect the machine back to the network at any time. @@ -197,7 +197,7 @@ On Windows 10, version 1709 or later, you'll have additional control over the ne ![Image of isolate machine](images/atp-actions-isolate-machine.png) -3. Select the check-box if you'd like to enable Outlook and Skype communication while the machine is isolated (a.k.a. 'Selective Isolation'). +3. Select the check-box if you'd like to enable Outlook and Skype communication while the machine is isolated. ![Image of isolation confirmation](images/atp-confirm-isolate.png) 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 2f72e196ee..962dad7581 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,8 +21,6 @@ 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) -[!include[Machine actions note](machineactionsnote.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/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 10db12f264..85c37a2cc6 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,8 +21,6 @@ ms.date: 12/08/2017 Initiate Windows Defender Antivirus scan on a machine. -[!include[Machine actions note](machineactionsnote.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/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 b449ad9983..4deeaa4646 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 @@ -19,9 +19,9 @@ ms.date: 12/08/2017 [!include[Prereleaseinformation](prerelease.md)] -Enable execution of any application on the machine. -[!include[Machine actions note](machineactionsnote.md)] + +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 [Use Windows Defender ATP APIs](exposed-apis-intro.md) From 6bbb70af367a0e4e7117d27905a6b7108cc3da18 Mon Sep 17 00:00:00 2001 From: Zvi Avidor Date: Thu, 4 Oct 2018 16:13:59 +0300 Subject: [PATCH 104/162] Revert "small fix" This reverts commit d180a05566a97594490a9ce35ca9ddfa74dc7ea0. --- ...hine-windows-defender-advanced-threat-protection-new.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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 4123a2d5c8..aa65623516 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 @@ -35,9 +35,14 @@ Delegated (work or school account) | Machine.Isolate | 'Isolate machine' >[!Note] > When obtaining a token using user credentials: >- The user need to have at least the following role permission: 'Active remediation actions' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) ->- The user need to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) +>- The user have access to this machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + +>[!IMPORTANT] +>- Full isolation is available for machines on Windows 10, version 1703. +>- Selective isolation is available for machines on Windows 10, version 1709 or later. + ## HTTP request ``` POST https://api.securitycenter.windows.com/api/machines/{id}/isolate From 01e839ad12a37f4ebf84011822cb4f9052a4ea78 Mon Sep 17 00:00:00 2001 From: Zvi Avidor Date: Thu, 4 Oct 2018 16:14:05 +0300 Subject: [PATCH 105/162] Revert "Suggested fix for isolation" This reverts commit 20a4c1d66002f08b5a4306a3449d6301becd93aa. --- ...-windows-defender-advanced-threat-protection-new.md | 10 ---------- 1 file changed, 10 deletions(-) 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 aa65623516..604f6fe959 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 @@ -21,9 +21,6 @@ ms.date: 12/08/2017 Isolates a machine from accessing external network. ->[!Note] -> This page focus on activating machine action via API. See [take response actions on a machine](respond-machine-alerts-windows-defender-advanced-threat-protection.md) for more information about response actions functionality via WDATP. - ## 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) @@ -32,13 +29,6 @@ Permission type | Permission | Permission display name Application | Machine.Isolate | 'Isolate machine' Delegated (work or school account) | Machine.Isolate | 'Isolate machine' ->[!Note] -> When obtaining a token using user credentials: ->- The user need to have at least the following role permission: 'Active remediation actions' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) ->- The user have access to this machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) - - - >[!IMPORTANT] >- Full isolation is available for machines on Windows 10, version 1703. >- Selective isolation is available for machines on Windows 10, version 1709 or later. From c456731193fa5ad666d17f613b1cb6eac45c9a8a Mon Sep 17 00:00:00 2001 From: Zvi Avidor Date: Thu, 4 Oct 2018 16:17:11 +0300 Subject: [PATCH 106/162] add roles info to docs --- ...indows-defender-advanced-threat-protection-new.md | 10 ++++++---- ...indows-defender-advanced-threat-protection-new.md | 1 - ...indows-defender-advanced-threat-protection-new.md | 5 +++++ ...indows-defender-advanced-threat-protection-new.md | 5 +++++ ...indows-defender-advanced-threat-protection-new.md | 5 +++++ ...indows-defender-advanced-threat-protection-new.md | 5 +++++ ...indows-defender-advanced-threat-protection-new.md | 5 +++++ ...indows-defender-advanced-threat-protection-new.md | 5 +++++ ...indows-defender-advanced-threat-protection-new.md | 5 +++++ ...indows-defender-advanced-threat-protection-new.md | 5 +++++ ...indows-defender-advanced-threat-protection-new.md | 4 ++++ ...indows-defender-advanced-threat-protection-new.md | 8 +++++--- ...indows-defender-advanced-threat-protection-new.md | 8 +++++--- ...indows-defender-advanced-threat-protection-new.md | 5 +++++ ...indows-defender-advanced-threat-protection-new.md | 4 ++++ ...indows-defender-advanced-threat-protection-new.md | 5 +++++ ...indows-defender-advanced-threat-protection-new.md | 5 +++++ ...indows-defender-advanced-threat-protection-new.md | 4 ++++ ...indows-defender-advanced-threat-protection-new.md | 6 ++++++ ...indows-defender-advanced-threat-protection-new.md | 5 +++++ ...indows-defender-advanced-threat-protection-new.md | 5 +++++ ...indows-defender-advanced-threat-protection-new.md | 4 ++++ ...indows-defender-advanced-threat-protection-new.md | 4 ++++ ...indows-defender-advanced-threat-protection-new.md | 5 +++++ ...indows-defender-advanced-threat-protection-new.md | 5 +++++ ...indows-defender-advanced-threat-protection-new.md | 12 ++++++++---- .../windows-defender-atp/machineactionsnote.md | 6 ++++++ ...indows-defender-advanced-threat-protection-new.md | 8 ++++++-- ...ts-windows-defender-advanced-threat-protection.md | 4 ++-- ...indows-defender-advanced-threat-protection-new.md | 9 ++++++--- .../windows-defender-atp/run-advanced-query-api.md | 5 +++++ ...indows-defender-advanced-threat-protection-new.md | 9 ++++++--- ...indows-defender-advanced-threat-protection-new.md | 5 +++++ ...indows-defender-advanced-threat-protection-new.md | 9 +++++++-- ...indows-defender-advanced-threat-protection-new.md | 5 +++++ 35 files changed, 173 insertions(+), 27 deletions(-) create mode 100644 windows/security/threat-protection/windows-defender-atp/machineactionsnote.md 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 0070c9376a..7783e25c09 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 @@ -19,10 +19,10 @@ ms.date: 12/08/2017 [!include[Prereleaseinformation](prerelease.md)] - - Collect investigation package from a machine. +[!include[Machine actions note](machineactionsnote.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) @@ -31,8 +31,10 @@ Permission type | Permission | Permission display name Application | Machine.CollectForensics | 'Collect forensics' Delegated (work or school account) | Machine.CollectForensics | 'Collect forensics' ->[!IMPORTANT] -> This response action is available for machines on Windows 10, version 1703 or later. +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'Alerts Investigation' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user needs to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) ## 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 e5e7d337a8..94288d30d6 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,7 +30,6 @@ 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/find-machines-by-ip-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/find-machines-by-ip-windows-defender-advanced-threat-protection-new.md index 15d829c27a..61c158ed1b 100644 --- a/windows/security/threat-protection/windows-defender-atp/find-machines-by-ip-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/find-machines-by-ip-windows-defender-advanced-threat-protection-new.md @@ -33,6 +33,11 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- Response will include only machines,that the user have access to, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/machines/findbyip(ip='{IP}',timestamp={TimeStamp}) 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 6e7721ecde..6ed27e2648 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 @@ -29,6 +29,11 @@ Permission type | Permission | Permission display name Application | URL.Read.All | 'Read URLs' Delegated (work or school account) | URL.Read.All | 'Read URLs' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user needs to have access to the machine associated with the alert, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/alerts/{id}/domains 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 7fe0e0b9d5..951363752e 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 @@ -29,6 +29,11 @@ Permission type | Permission | Permission display name Application | File.Read.All | 'Read file profiles' Delegated (work or school account) | File.Read.All | 'Read file profiles' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user needs to have access to the machine associated with the alert, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/alerts/{id}/files 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 20d5a2ffac..2aaf342cae 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 @@ -31,6 +31,11 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user needs to have access to the machine associated with the alert, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/alerts/{id}/machine 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 abdd6ee9d9..8e6501fcf1 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 @@ -30,6 +30,11 @@ Permission type | Permission | Permission display name Application | User.Read.All | 'Read user profiles' Delegated (work or school account) | User.Read.All | 'Read user profiles' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user needs to have access to the machine associated with the alert, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/alerts/{id}/user 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 a05d4dba9b..205805378d 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 @@ -34,6 +34,11 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user needs to have access to the machine associated with the alert, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /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 b8b7730bad..fc469816ef 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 @@ -36,6 +36,11 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- Response will include only alerts, associated with machines, that the user have access to, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/domains/{domain}/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 a039d49807..e1d21e0582 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 @@ -35,6 +35,11 @@ Delegated (work or school account) | Machine.ReadWrite | 'Read and write machine ``` GET /api/domains/{domain}/machines ``` +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- Only machines that the user can access, based on machine group settings will be listed (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## Request headers 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 1625a17a50..7bfd097dd2 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,6 +30,10 @@ Permission type | Permission | Permission display name Application | URL.Read.All | 'Read URLs' Delegated (work or school account) | URL.Read.All | 'Read URLs' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/domains/{domain}/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 c817a1c653..63aabdd191 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 @@ -21,9 +21,6 @@ ms.date: 12/08/2017 [!include[Prereleaseinformation](prerelease.md)] - - - Retrieves a file by identifier Sha1, Sha256, or MD5. ## Permissions @@ -34,6 +31,11 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) + + ## HTTP request ``` GET /api/files/{id} 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 3c3605bebb..284cb68225 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 @@ -22,9 +22,6 @@ ms.date: 12/08/2017 [!include[Prereleaseinformation](prerelease.md)] - - - Retrieves a collection of alerts related to a given file hash. ## Permissions @@ -37,6 +34,11 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- Response will include only alerts, associated with machines, that the user have access to, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/files/{id}/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 e977dc59f9..ca74749c35 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,11 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- Response will include only machines, that the user have access to, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/files/{id}/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 e8a8ede6fd..a53c06b80a 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 @@ -34,6 +34,10 @@ Permission type | Permission | Permission display name Application | File.Read.All | 'Read file profiles' Delegated (work or school account) | File.Read.All | 'Read file profiles' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/files/{id}/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 4d83cb3d73..92ca8d53d4 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,11 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- Response will include only alerts, associated with machines, that the user have access to, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/ips/{ip}/alerts 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 c2e1dcab6e..f68e1e12b1 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 @@ -32,6 +32,11 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- Response will include only machines, that the user have access to, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/ips/{ip}/machines 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 990bd3f852..cdeaa1e441 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 @@ -32,6 +32,10 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/ips/{ip}/stats 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 4683167dfb..ed3fde05b1 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 @@ -32,6 +32,12 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- Response will include only machines, that the user have access to, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + + ## HTTP request ``` GET /api/machines/{id} 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 61cb0e8c02..5dad09904f 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 @@ -30,6 +30,11 @@ Permission type | Permission | Permission display name Application | User.Read.All | 'Read user profiles' Delegated (work or school account) | User.Read.All | 'Read user profiles' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- Response will include users only if the machine is visible to the user, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/machines/{id}/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 16fef6228a..0a8170f0fd 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 @@ -32,6 +32,11 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- Response will include only alerts, associated with machines, that the user have access to, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/machines/{id}/alerts 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 bcdbd711ec..17e20f0b73 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 @@ -31,6 +31,10 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET https://api.securitycenter.windows.com/api/machineactions/{id} 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 e11cd96856..d057cb5c85 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 @@ -34,6 +34,10 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET https://api.securitycenter.windows.com/api/machineactions 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 d114cf97cb..8f2008c14a 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 @@ -34,6 +34,11 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- Response will include only machines,that the user have access to, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` 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 b59b11034b..bf4cb3c934 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,11 @@ Permission type | Permission | Permission display name Application | Machine.CollectForensics | 'Collect forensics' Delegated (work or school account) | Machine.CollectForensics | 'Collect forensics' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'Alerts Investigation' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user needs to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET https://api.securitycenter.windows.com/api/machineactions/{machine action id}/getPackageUri 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 604f6fe959..33e7130f36 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 @@ -21,6 +21,8 @@ ms.date: 12/08/2017 Isolates a machine from accessing external network. +[!include[Machine actions note](machineactionsnote.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) @@ -29,9 +31,11 @@ Permission type | Permission | Permission display name Application | Machine.Isolate | 'Isolate machine' Delegated (work or school account) | Machine.Isolate | 'Isolate machine' ->[!IMPORTANT] ->- Full isolation is available for machines on Windows 10, version 1703. ->- Selective isolation is available for machines on Windows 10, version 1709 or later. +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'Active remediation actions' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user needs to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` @@ -55,7 +59,7 @@ IsolationType | String | Type of the isolation. Allowed values are: 'Full' or 'S **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 +- Selective – Restrict only limited set of applications from accessing the network (see [Isolate machines from the network](respond-machine-alerts-windows-defender-advanced-threat-protection.md#isolate-machines-from-the-network) for more details) ## Response diff --git a/windows/security/threat-protection/windows-defender-atp/machineactionsnote.md b/windows/security/threat-protection/windows-defender-atp/machineactionsnote.md new file mode 100644 index 0000000000..fcbd68ecec --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/machineactionsnote.md @@ -0,0 +1,6 @@ +--- +ms.date: 08/28/2017 +author: zavidor +--- +>[!Note] +> This page focuses on performing a machine action via API. See [take response actions on a machine](respond-machine-alerts-windows-defender-advanced-threat-protection.md) for more information about response actions functionality via WDATP. 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 b40d39cbc3..13b8574222 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 @@ -21,6 +21,8 @@ ms.date: 12/08/2017 Offboard machine from WDATP. +[!include[Machine actions note](machineactionsnote.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) @@ -29,8 +31,10 @@ Permission type | Permission | Permission display name Application | Machine.Offboard | 'Offboard machine' Delegated (work or school account) | Machine.Offboard | 'Offboard machine' ->[!IMPORTANT] -> This response action is available for machines on Windows 10, version 1703 or later. +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to 'Global Admin' AD role +>- The user needs to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) ## HTTP request ``` diff --git a/windows/security/threat-protection/windows-defender-atp/respond-machine-alerts-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/respond-machine-alerts-windows-defender-advanced-threat-protection.md index 064fb37360..132ae5943b 100644 --- a/windows/security/threat-protection/windows-defender-atp/respond-machine-alerts-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/respond-machine-alerts-windows-defender-advanced-threat-protection.md @@ -181,7 +181,7 @@ Depending on the severity of the attack and the sensitivity of the machine, you This machine isolation feature disconnects the compromised machine from the network while retaining connectivity to the Windows Defender ATP service, which continues to monitor the machine. -On Windows 10, version 1709 or later, you'll have additional control over the network isolation level. You can also choose to enable Outlook and Skype for Business connectivity. +On Windows 10, version 1709 or later, you'll have additional control over the network isolation level. You can also choose to enable Outlook and Skype for Business connectivity (a.k.a 'Selective Isolation'). >[!NOTE] >You’ll be able to reconnect the machine back to the network at any time. @@ -197,7 +197,7 @@ On Windows 10, version 1709 or later, you'll have additional control over the ne ![Image of isolate machine](images/atp-actions-isolate-machine.png) -3. Select the check-box if you'd like to enable Outlook and Skype communication while the machine is isolated. +3. Select the check-box if you'd like to enable Outlook and Skype communication while the machine is isolated (a.k.a. 'Selective Isolation'). ![Image of isolation confirmation](images/atp-confirm-isolate.png) 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 962dad7581..90321fb7ff 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,6 +21,8 @@ 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) +[!include[Machine actions note](machineactionsnote.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) @@ -29,9 +31,10 @@ Permission type | Permission | Permission display name Application | Machine.RestrictExecution | 'Restrict code execution' Delegated (work or school account) | Machine.RestrictExecution | 'Restrict code execution' ->[!IMPORTANT] -> - This action is available for machines on Windows 10, version 1709 or later. -> - This action needs to meet the Windows Defender Application Control code integrity policy formats and signing requirements. For more information, see [Code integrity policy formats and signing](https://docs.microsoft.com/en-us/windows/device-security/device-guard/requirements-and-deployment-planning-guidelines-for-device-guard#code-integrity-policy-formats-and-signing). +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'Active remediation actions' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user needs to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) ## HTTP request ``` 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 7e312d08e8..86899b1396 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 @@ -39,6 +39,11 @@ Permission type | Permission | Permission display name Application | AdvancedQuery.Read.All | 'Run advanced queries' Delegated (work or school account) | AdvancedQuery.Read | 'Run advanced queries' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to 'Global Admin' AD role +>- The user needs to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` POST /advancedqueries/query 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 85c37a2cc6..f8a0432c1d 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,6 +21,8 @@ ms.date: 12/08/2017 Initiate Windows Defender Antivirus scan on a machine. +[!include[Machine actions note](machineactionsnote.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) @@ -29,9 +31,10 @@ Permission type | Permission | Permission display name Application | Machine.Scan | 'Scan machine' Delegated (work or school account) | Machine.Scan | 'Scan machine' ->[!IMPORTANT] ->- This action is available for machines on Windows 10, version 1709 or later. ->- A Windows Defender Antivirus (Windows Defender AV) scan can run alongside other antivirus solutions, whether Windows Defender AV is the active antivirus solution or not. Windows Defender AV can be in Passive mode. For more information, see [Windows Defender Antivirus compatibility](../windows-defender-antivirus/windows-defender-antivirus-compatibility.md). +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'Active remediation actions' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user needs to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) ## 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 5aaccd64f1..205ee3432c 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,11 @@ Permission type | Permission | Permission display name Application | Machine.Isolate | 'Isolate machine' Delegated (work or school account) | Machine.Isolate | 'Isolate machine' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'Active remediation actions' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user needs to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` POST https://api.securitycenter.windows.com/api/machines/{id}/unisolate 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 4deeaa4646..fd0479fd8a 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 @@ -19,10 +19,10 @@ ms.date: 12/08/2017 [!include[Prereleaseinformation](prerelease.md)] - - Enable execution of any application on the machine. +[!include[Machine actions note](machineactionsnote.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) @@ -31,6 +31,11 @@ Permission type | Permission | Permission display name Application | Machine.RestrictExecution | 'Restrict code execution' Delegated (work or school account) | Machine.RestrictExecution | 'Restrict code execution' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'Active remediation actions' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user needs to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` POST https://api.securitycenter.windows.com/api/machines/{id}/unrestrictCodeExecution 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 81c8f8d9ac..762ae2251a 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 @@ -30,6 +30,11 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user needs to have access to the machine associated with the alert, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` PATCH /api/alerts/{id} From 6c54e6e8ccc8d261a7bd7a35cef749ae03b1dc5e Mon Sep 17 00:00:00 2001 From: Zvi Avidor Date: Thu, 4 Oct 2018 17:53:49 +0300 Subject: [PATCH 107/162] self review 1 --- ...windows-defender-advanced-threat-protection-new.md | 4 ++++ ...windows-defender-advanced-threat-protection-new.md | 5 +++++ ...windows-defender-advanced-threat-protection-new.md | 5 +++++ ...windows-defender-advanced-threat-protection-new.md | 2 +- ...windows-defender-advanced-threat-protection-new.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 | 5 +++++ ...windows-defender-advanced-threat-protection-new.md | 5 +++++ ...windows-defender-advanced-threat-protection-new.md | 4 ++++ ...windows-defender-advanced-threat-protection-new.md | 4 ++++ 11 files changed, 40 insertions(+), 9 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/add-or-remove-machine-tags-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/add-or-remove-machine-tags-windows-defender-advanced-threat-protection-new.md index 65ac87525b..db36c8aa7e 100644 --- a/windows/security/threat-protection/windows-defender-atp/add-or-remove-machine-tags-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/add-or-remove-machine-tags-windows-defender-advanced-threat-protection-new.md @@ -29,6 +29,10 @@ Permission type | Permission | Permission display name Application | Machine.ReadWrite.All | 'Read and write all machine information' Delegated (work or school account) | Machine.ReadWrite | 'Read and write machine information' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'Manage security setting' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- User needs to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) ## 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 dc9498c8f0..2ad984ccf6 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,11 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user needs to have access to the machine associated with the alert, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/alerts/{id} 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 29f7b7ed3e..45eca676f9 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 @@ -30,6 +30,11 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user needs to have access to the machine associated with the alert, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/alerts/{id}/ips 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 205805378d..4d4e5e0cb0 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 @@ -37,7 +37,7 @@ Delegated (work or school account) | Alert.ReadWrite | 'Read and write alerts' >[!Note] > When obtaining a token using user credentials: >- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) ->- The user needs to have access to the machine associated with the alert, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) +>- The response will include only alerts that are associated with machines that the user can access, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) ## 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 e1d21e0582..6542d0bebd 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 @@ -31,16 +31,15 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- Response will include only machines that the user can access, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/domains/{domain}/machines ``` ->[!Note] -> When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) ->- Only machines that the user can access, based on machine group settings will be listed (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) - - ## Request headers Name | Type | Description 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 ed3fde05b1..335b6efcb7 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 @@ -35,7 +35,7 @@ Delegated (work or school account) | Machine.ReadWrite | 'Read and write machine >[!Note] > When obtaining a token using user credentials: >- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) ->- Response will include only machines, that the user have access to, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) +>- User needs to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) ## 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 0a8170f0fd..2fd9e07d99 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 @@ -35,7 +35,7 @@ Delegated (work or school account) | Alert.ReadWrite | 'Read and write alerts' >[!Note] > When obtaining a token using user credentials: >- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) ->- Response will include only alerts, associated with machines, that the user have access to, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) +>- User needs to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) ## 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 7bbc0c5ccb..bca064ca3f 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 @@ -31,6 +31,11 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- Response will include only alerts, associated with machines, that the user have access to, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/users/{id}/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 676602504f..2198203628 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 @@ -31,6 +31,11 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- Response will include only machines that the user can access, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/users/{id}/machines 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 e3fc93951d..22bf9eb5a9 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 @@ -30,6 +30,10 @@ Permission type | Permission | Permission display name Application | Url.Read.All | 'Read URLs' Delegated (work or school account) | URL.Read.All | 'Read URLs' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/domains/{domain} 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 575b792100..b976177106 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 @@ -31,6 +31,10 @@ 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' +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) + ## HTTP request ``` GET /api/ips/{ip} From c5dfea4a7990991d9ad11bbc484641bd12d60e35 Mon Sep 17 00:00:00 2001 From: Zvi Avidor Date: Sun, 7 Oct 2018 11:34:28 +0300 Subject: [PATCH 108/162] dalaufer's comment --- ...-machines-windows-defender-advanced-threat-protection-new.md | 1 + .../windows-defender-atp/run-advanced-query-api.md | 2 +- ...e-machine-windows-defender-advanced-threat-protection-new.md | 2 ++ ...ate-alert-windows-defender-advanced-threat-protection-new.md | 2 +- 4 files changed, 5 insertions(+), 2 deletions(-) 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 6542d0bebd..f1fd36c675 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 @@ -40,6 +40,7 @@ Delegated (work or school account) | Machine.ReadWrite | 'Read and write machine ``` GET /api/domains/{domain}/machines ``` + ## Request headers Name | Type | Description 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 86899b1396..775c140d57 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 @@ -41,7 +41,7 @@ Delegated (work or school account) | AdvancedQuery.Read | 'Run advanced queries' >[!Note] > When obtaining a token using user credentials: ->- The user needs to 'Global Admin' AD role +>- The user needs to have 'Global Admin' AD role >- The user needs to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) ## 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 205ee3432c..237350b465 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 @@ -21,6 +21,8 @@ ms.date: 12/08/2017 Undo isolation of a machine. +[!include[Machine actions note](machineactionsnote.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/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 762ae2251a..7d7bc5537c 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 @@ -32,7 +32,7 @@ Delegated (work or school account) | Alert.ReadWrite | 'Read and write alerts' >[!Note] > When obtaining a token using user credentials: ->- The user needs to have at least the following role permission: 'View Data' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user needs to have at least the following role permission: 'Alerts investigation' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) >- The user needs to have access to the machine associated with the alert, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) ## HTTP request From bd20e7864cdacead08670d14f6bd29b3fbc3ed23 Mon Sep 17 00:00:00 2001 From: Zvi Avidor Date: Mon, 8 Oct 2018 14:03:52 +0300 Subject: [PATCH 109/162] add documentation for createalert support with delegated creds --- ...rence-windows-defender-advanced-threat-protection-new.md | 6 ++++++ 1 file changed, 6 insertions(+) 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 94288d30d6..46747a3c0d 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,12 @@ 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' + +>[!Note] +> When obtaining a token using user credentials: +>- The user needs to have at least the following role permission: 'Alerts investigation' (See [Create and manage roles](user-roles-windows-defender-advanced-threat-protection.md) for more information) +>- The user needs to have access to the machine associated with the alert, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) ## HTTP request ``` From f88875a724eba8b387a33e178a88d4449a2e2fa3 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Tue, 16 Oct 2018 14:19:37 -0700 Subject: [PATCH 110/162] update toc --- windows/security/threat-protection/TOC.md | 178 ++++++----------- .../windows-defender-atp/TOC.md | 179 ++++++------------ 2 files changed, 119 insertions(+), 238 deletions(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index ad7b2466c4..8712899bda 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -85,66 +85,7 @@ #### [Management and APIs](windows-defender-atp/management-apis.md) ##### [Understand threat intelligence concepts](windows-defender-atp/threat-indicator-concepts-windows-defender-advanced-threat-protection.md) -##### [TO BE DEPRECATED - Supported Windows Defender ATP APIs](windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection.md) -######Actor - TO BE DEPRECATED -####### [Get actor information](windows-defender-atp/get-actor-information-windows-defender-advanced-threat-protection.md) -####### [Get actor related alerts](windows-defender-atp/get-actor-related-alerts-windows-defender-advanced-threat-protection.md) -######Alerts - TO BE DEPRECATED -####### [Get alerts](windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection.md) -####### [Get alert information by ID](windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection.md) -####### [Get alert related actor information](windows-defender-atp/get-alert-related-actor-info-windows-defender-advanced-threat-protection.md) -####### [Get alert related domain information](windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection.md) -####### [Get alert related file information](windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection.md) -####### [Get alert related IP information](windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection.md) -####### [Get alert related machine information](windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection.md) -#######Domain - TO BE DEPRECATED -######## [Get domain related alerts](windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection.md) -######## [Get domain related machines](windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection.md) -######## [Get domain statistics](windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection.md) -######## [Is domain seen in organization](windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection.md) -######File - TO BE DEPRECATED -####### [Block file API](windows-defender-atp/block-file-windows-defender-advanced-threat-protection.md) -####### [Get file information](windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection.md) -####### [Get file related alerts](windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection.md) -####### [Get file related machines](windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection.md) -####### [Get file statistics](windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection.md) -####### [Get FileActions collection API](windows-defender-atp/get-fileactions-collection-windows-defender-advanced-threat-protection.md) -####### [Unblock file API](windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection.md) - -######IP - TO BE DEPRECATED -####### [Get IP related alerts](windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection.md) -####### [Get IP related machines](windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection.md) -####### [Get IP statistics](windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection.md) -####### [Is IP seen in organization](windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection.md) -######Machines - TO BE DEPRECATED -####### [Collect investigation package API](windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection.md) -####### [Find machine information by IP](windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection.md) -####### [Get machines](windows-defender-atp/get-machines-windows-defender-advanced-threat-protection.md) -####### [Get FileMachineAction object API](windows-defender-atp/get-filemachineaction-object-windows-defender-advanced-threat-protection.md) -####### [Get FileMachineActions collection API](windows-defender-atp/get-filemachineactions-collection-windows-defender-advanced-threat-protection.md) -####### [Get machine by ID](windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection.md) -####### [Get machine log on users](windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection.md) -####### [Get machine related alerts](windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection.md) -####### [Get MachineAction object API](windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection.md) -####### [Get MachineActions collection API](windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection.md) -####### [Get machines](windows-defender-atp/get-machines-windows-defender-advanced-threat-protection.md) -####### [Get package SAS URI API](windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection.md) -####### [Isolate machine API](windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection.md) -####### [Release machine from isolation API](windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection.md) -####### [Remove app restriction API](windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection.md) -####### [Request sample API](windows-defender-atp/request-sample-windows-defender-advanced-threat-protection.md) -####### [Restrict app execution API](windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection.md) -####### [Run antivirus scan API](windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection.md) -####### [Stop and quarantine file API](windows-defender-atp/stop-quarantine-file-windows-defender-advanced-threat-protection.md) - -######User - TO BE DEPRECATED -####### [Get alert related user information](windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection.md) -####### [Get user information](windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection.md) -####### [Get user related alerts](windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection.md) -####### [Get user related machines](windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection.md) - - ##### [Managed security service provider support](windows-defender-atp/mssp-support-windows-defender-advanced-threat-protection.md) #### [Microsoft threat protection](windows-defender-atp/threat-protection-integration.md) @@ -284,7 +225,7 @@ ###### [Troubleshoot onboarding issues](windows-defender-atp/troubleshoot-onboarding-windows-defender-advanced-threat-protection.md) ####### [Troubleshoot subscription and portal access issues](windows-defender-atp/troubleshoot-onboarding-error-messages-windows-defender-advanced-threat-protection.md) -##### [**Beta!** Windows Defender ATP APIs](windows-defender-atp/exposed-apis-intro.md) +##### [Windows Defender ATP APIs](windows-defender-atp/exposed-apis-intro.md) ###### Create your app ####### [Get access on behalf of a user](windows-defender-atp/exposed-apis-create-app-nativeapp.md) ####### [Get access without a user](windows-defender-atp/exposed-apis-create-app-webapp.md) @@ -343,7 +284,6 @@ ####### [User](windows-defender-atp/user-windows-defender-advanced-threat-protection-new.md) ######## [Get user related alerts](windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection-new.md) ######## [Get user related machines](windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection-new.md) - ###### How to use APIs - Samples ####### Advanced Hunting API ######## [Schedule advanced Hunting using Microsoft Flow](windows-defender-atp/run-advanced-query-sample-ms-flow.md) @@ -353,65 +293,65 @@ ####### Multiple APIs ######## [PowerShell](windows-defender-atp/exposed-apis-full-sample-powershell.md) -##### [TO BE DEPRECATED - Use the Windows Defender ATP exposed APIs](windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection.md) -###### [Supported Windows Defender ATP APIs](windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection.md) -#######Actor -######## [Get actor information](windows-defender-atp/get-actor-information-windows-defender-advanced-threat-protection.md) -######## [Get actor related alerts](windows-defender-atp/get-actor-related-alerts-windows-defender-advanced-threat-protection.md) -#######Alerts -######## [Get alerts](windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection.md) -######## [Get alert information by ID](windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection.md) -######## [Get alert related actor information](windows-defender-atp/get-alert-related-actor-info-windows-defender-advanced-threat-protection.md) -######## [Get alert related domain information](windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection.md) -######## [Get alert related file information](windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection.md) -######## [Get alert related IP information](windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection.md) -######## [Get alert related machine information](windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection.md) -#######Domain -######## [Get domain related alerts](windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection.md) -######## [Get domain related machines](windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection.md) -######## [Get domain statistics](windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection.md) -######## [Is domain seen in organization](windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection.md) +###### [Use the Windows Defender ATP exposed APIs (deprecated)](windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection.md) +####### [Supported Windows Defender ATP APIs](windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection.md) +########Actor +######### [Get actor information](windows-defender-atp/get-actor-information-windows-defender-advanced-threat-protection.md) +######### [Get actor related alerts](windows-defender-atp/get-actor-related-alerts-windows-defender-advanced-threat-protection.md) +########Alerts +######### [Get alerts](windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection.md) +######### [Get alert information by ID](windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection.md) +######### [Get alert related actor information](windows-defender-atp/get-alert-related-actor-info-windows-defender-advanced-threat-protection.md) +######### [Get alert related domain information](windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection.md) +######### [Get alert related file information](windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection.md) +######### [Get alert related IP information](windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection.md) +######### [Get alert related machine information](windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection.md) +########Domain +######### [Get domain related alerts](windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection.md) +######### [Get domain related machines](windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection.md) +######### [Get domain statistics](windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection.md) +######### [Is domain seen in organization](windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection.md) + +########File +######### [Block file](windows-defender-atp/block-file-windows-defender-advanced-threat-protection.md) +######### [Get file information](windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection.md) +######### [Get file related alerts](windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection.md) +######### [Get file related machines](windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection.md) +######### [Get file statistics](windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection.md) +######### [Get FileActions collection](windows-defender-atp/get-fileactions-collection-windows-defender-advanced-threat-protection.md) +######### [Unblock file](windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection.md) -#######File -######## [Block file](windows-defender-atp/block-file-windows-defender-advanced-threat-protection.md) -######## [Get file information](windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection.md) -######## [Get file related alerts](windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection.md) -######## [Get file related machines](windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection.md) -######## [Get file statistics](windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection.md) -######## [Get FileActions collection](windows-defender-atp/get-fileactions-collection-windows-defender-advanced-threat-protection.md) -######## [Unblock file](windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection.md) - -#######IP -######## [Get IP related alerts](windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection.md) -######## [Get IP related machines](windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection.md) -######## [Get IP statistics](windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection.md) -######## [Is IP seen in organization](windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection.md) -#######Machines -######## [Collect investigation package](windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection.md) -######## [Find machine information by IP](windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection.md) -######## [Get machines](windows-defender-atp/get-machines-windows-defender-advanced-threat-protection.md) -######## [Get FileMachineAction object](windows-defender-atp/get-filemachineaction-object-windows-defender-advanced-threat-protection.md) -######## [Get FileMachineActions collection](windows-defender-atp/get-filemachineactions-collection-windows-defender-advanced-threat-protection.md) -######## [Get machine by ID](windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection.md) -######## [Get machine log on users](windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection.md) -######## [Get machine related alerts](windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection.md) -######## [Get MachineAction object](windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection.md) -######## [Get MachineActions collection](windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection.md) -######## [Get machines](windows-defender-atp/get-machines-windows-defender-advanced-threat-protection.md) -######## [Get package SAS URI](windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection.md) -######## [Isolate machine](windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection.md) -######## [Release machine from isolation](windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection.md) -######## [Remove app restriction](windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection.md) -######## [Request sample](windows-defender-atp/request-sample-windows-defender-advanced-threat-protection.md) -######## [Restrict app execution](windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection.md) -######## [Run antivirus scan](windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection.md) -######## [Stop and quarantine file](windows-defender-atp/stop-quarantine-file-windows-defender-advanced-threat-protection.md) - -#######User -######## [Get alert related user information](windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection.md) -######## [Get user information](windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection.md) -######## [Get user related alerts](windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection.md) -######## [Get user related machines](windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection.md) +########IP +######### [Get IP related alerts](windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection.md) +######### [Get IP related machines](windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection.md) +######### [Get IP statistics](windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection.md) +######### [Is IP seen in organization](windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection.md) +########Machines +######### [Collect investigation package](windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection.md) +######### [Find machine information by IP](windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection.md) +######### [Get machines](windows-defender-atp/get-machines-windows-defender-advanced-threat-protection.md) +######### [Get FileMachineAction object](windows-defender-atp/get-filemachineaction-object-windows-defender-advanced-threat-protection.md) +######### [Get FileMachineActions collection](windows-defender-atp/get-filemachineactions-collection-windows-defender-advanced-threat-protection.md) +######### [Get machine by ID](windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection.md) +######### [Get machine log on users](windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection.md) +######### [Get machine related alerts](windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection.md) +######### [Get MachineAction object](windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection.md) +######### [Get MachineActions collection](windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection.md) +######### [Get machines](windows-defender-atp/get-machines-windows-defender-advanced-threat-protection.md) +######### [Get package SAS URI](windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection.md) +######### [Isolate machine](windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection.md) +######### [Release machine from isolation](windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection.md) +######### [Remove app restriction](windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection.md) +######### [Request sample](windows-defender-atp/request-sample-windows-defender-advanced-threat-protection.md) +######### [Restrict app execution](windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection.md) +######### [Run antivirus scan](windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection.md) +######### [Stop and quarantine file](windows-defender-atp/stop-quarantine-file-windows-defender-advanced-threat-protection.md) + +########User +######### [Get alert related user information](windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection.md) +######### [Get user information](windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection.md) +######### [Get user related alerts](windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection.md) +######### [Get user related machines](windows-defender-atp/get-user-related-machines-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 f1178724e0..c5917b622d 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -84,66 +84,7 @@ ### [Management and APIs](management-apis.md) #### [Understand threat intelligence concepts](threat-indicator-concepts-windows-defender-advanced-threat-protection.md) -#### [Supported Windows Defender ATP APIs](supported-apis-windows-defender-advanced-threat-protection.md) -#####Actor - TO BE DEPRECATED -###### [Get actor information](get-actor-information-windows-defender-advanced-threat-protection.md) -###### [Get actor related alerts](get-actor-related-alerts-windows-defender-advanced-threat-protection.md) -#####Alerts - TO BE DEPRECATED -###### [Get alerts](get-alerts-windows-defender-advanced-threat-protection.md) -###### [Get alert information by ID](get-alert-info-by-id-windows-defender-advanced-threat-protection.md) -###### [Get alert related actor information](get-alert-related-actor-info-windows-defender-advanced-threat-protection.md) -###### [Get alert related domain information](get-alert-related-domain-info-windows-defender-advanced-threat-protection.md) -###### [Get alert related file information](get-alert-related-files-info-windows-defender-advanced-threat-protection.md) -###### [Get alert related IP information](get-alert-related-ip-info-windows-defender-advanced-threat-protection.md) -###### [Get alert related machine information](get-alert-related-machine-info-windows-defender-advanced-threat-protection.md) -######Domain - TO BE DEPRECATED -####### [Get domain related alerts](get-domain-related-alerts-windows-defender-advanced-threat-protection.md) -####### [Get domain related machines](get-domain-related-machines-windows-defender-advanced-threat-protection.md) -####### [Get domain statistics](get-domain-statistics-windows-defender-advanced-threat-protection.md) -####### [Is domain seen in organization](is-domain-seen-in-org-windows-defender-advanced-threat-protection.md) -#####File - TO BE DEPRECATED -###### [Block file API](block-file-windows-defender-advanced-threat-protection.md) -###### [Get file information](get-file-information-windows-defender-advanced-threat-protection.md) -###### [Get file related alerts](get-file-related-alerts-windows-defender-advanced-threat-protection.md) -###### [Get file related machines](get-file-related-machines-windows-defender-advanced-threat-protection.md) -###### [Get file statistics](get-file-statistics-windows-defender-advanced-threat-protection.md) -###### [Get FileActions collection API](get-fileactions-collection-windows-defender-advanced-threat-protection.md) -###### [Unblock file API](unblock-file-windows-defender-advanced-threat-protection.md) - -#####IP - TO BE DEPRECATED -###### [Get IP related alerts](get-ip-related-alerts-windows-defender-advanced-threat-protection.md) -###### [Get IP related machines](get-ip-related-machines-windows-defender-advanced-threat-protection.md) -###### [Get IP statistics](get-ip-statistics-windows-defender-advanced-threat-protection.md) -###### [Is IP seen in organization](is-ip-seen-org-windows-defender-advanced-threat-protection.md) -#####Machines - TO BE DEPRECATED -###### [Collect investigation package API](collect-investigation-package-windows-defender-advanced-threat-protection.md) -###### [Find machine information by IP](find-machine-info-by-ip-windows-defender-advanced-threat-protection.md) -###### [Get machines](get-machines-windows-defender-advanced-threat-protection.md) -###### [Get FileMachineAction object API](get-filemachineaction-object-windows-defender-advanced-threat-protection.md) -###### [Get FileMachineActions collection API](get-filemachineactions-collection-windows-defender-advanced-threat-protection.md) -###### [Get machine by ID](get-machine-by-id-windows-defender-advanced-threat-protection.md) -###### [Get machine log on users](get-machine-log-on-users-windows-defender-advanced-threat-protection.md) -###### [Get machine related alerts](get-machine-related-alerts-windows-defender-advanced-threat-protection.md) -###### [Get MachineAction object API](get-machineaction-object-windows-defender-advanced-threat-protection.md) -###### [Get MachineActions collection API](get-machineactions-collection-windows-defender-advanced-threat-protection.md) -###### [Get machines](get-machines-windows-defender-advanced-threat-protection.md) -###### [Get package SAS URI API](get-package-sas-uri-windows-defender-advanced-threat-protection.md) -###### [Isolate machine API](isolate-machine-windows-defender-advanced-threat-protection.md) -###### [Release machine from isolation API](unisolate-machine-windows-defender-advanced-threat-protection.md) -###### [Remove app restriction API](unrestrict-code-execution-windows-defender-advanced-threat-protection.md) -###### [Request sample API](request-sample-windows-defender-advanced-threat-protection.md) -###### [Restrict app execution API](restrict-code-execution-windows-defender-advanced-threat-protection.md) -###### [Run antivirus scan API](run-av-scan-windows-defender-advanced-threat-protection.md) -###### [Stop and quarantine file API](stop-quarantine-file-windows-defender-advanced-threat-protection.md) - -#####User - TO BE DEPRECATED -###### [Get alert related user information](get-alert-related-user-info-windows-defender-advanced-threat-protection.md) -###### [Get user information](get-user-information-windows-defender-advanced-threat-protection.md) -###### [Get user related alerts](get-user-related-alerts-windows-defender-advanced-threat-protection.md) -###### [Get user related machines](get-user-related-machines-windows-defender-advanced-threat-protection.md) - - #### [Managed security service provider support](mssp-support-windows-defender-advanced-threat-protection.md) @@ -282,7 +223,7 @@ ###### [Troubleshoot subscription and portal access issues](troubleshoot-onboarding-error-messages-windows-defender-advanced-threat-protection.md) -#### [**Beta!** Windows Defender ATP APIs](exposed-apis-intro.md) +#### [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) @@ -351,65 +292,65 @@ ###### Multiple APIs ####### [PowerShell](exposed-apis-full-sample-powershell.md) -#### [TO BE DEPRECATED - 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 -####### [Get actor information](get-actor-information-windows-defender-advanced-threat-protection.md) -####### [Get actor related alerts](get-actor-related-alerts-windows-defender-advanced-threat-protection.md) -######Alerts -####### [Get alerts](get-alerts-windows-defender-advanced-threat-protection.md) -####### [Get alert information by ID](get-alert-info-by-id-windows-defender-advanced-threat-protection.md) -####### [Get alert related actor information](get-alert-related-actor-info-windows-defender-advanced-threat-protection.md) -####### [Get alert related domain information](get-alert-related-domain-info-windows-defender-advanced-threat-protection.md) -####### [Get alert related file information](get-alert-related-files-info-windows-defender-advanced-threat-protection.md) -####### [Get alert related IP information](get-alert-related-ip-info-windows-defender-advanced-threat-protection.md) -####### [Get alert related machine information](get-alert-related-machine-info-windows-defender-advanced-threat-protection.md) -######Domain -####### [Get domain related alerts](get-domain-related-alerts-windows-defender-advanced-threat-protection.md) -####### [Get domain related machines](get-domain-related-machines-windows-defender-advanced-threat-protection.md) -####### [Get domain statistics](get-domain-statistics-windows-defender-advanced-threat-protection.md) -####### [Is domain seen in organization](is-domain-seen-in-org-windows-defender-advanced-threat-protection.md) - -######File -####### [Block file](block-file-windows-defender-advanced-threat-protection.md) -####### [Get file information](get-file-information-windows-defender-advanced-threat-protection.md) -####### [Get file related alerts](get-file-related-alerts-windows-defender-advanced-threat-protection.md) -####### [Get file related machines](get-file-related-machines-windows-defender-advanced-threat-protection.md) -####### [Get file statistics](get-file-statistics-windows-defender-advanced-threat-protection.md) -####### [Get FileActions collection](get-fileactions-collection-windows-defender-advanced-threat-protection.md) -####### [Unblock file](unblock-file-windows-defender-advanced-threat-protection.md) - -######IP -####### [Get IP related alerts](get-ip-related-alerts-windows-defender-advanced-threat-protection.md) -####### [Get IP related machines](get-ip-related-machines-windows-defender-advanced-threat-protection.md) -####### [Get IP statistics](get-ip-statistics-windows-defender-advanced-threat-protection.md) -####### [Is IP seen in organization](is-ip-seen-org-windows-defender-advanced-threat-protection.md) -######Machines -####### [Collect investigation package](collect-investigation-package-windows-defender-advanced-threat-protection.md) -####### [Find machine information by IP](find-machine-info-by-ip-windows-defender-advanced-threat-protection.md) -####### [Get machines](get-machines-windows-defender-advanced-threat-protection.md) -####### [Get FileMachineAction object](get-filemachineaction-object-windows-defender-advanced-threat-protection.md) -####### [Get FileMachineActions collection](get-filemachineactions-collection-windows-defender-advanced-threat-protection.md) -####### [Get machine by ID](get-machine-by-id-windows-defender-advanced-threat-protection.md) -####### [Get machine log on users](get-machine-log-on-users-windows-defender-advanced-threat-protection.md) -####### [Get machine related alerts](get-machine-related-alerts-windows-defender-advanced-threat-protection.md) -####### [Get MachineAction object](get-machineaction-object-windows-defender-advanced-threat-protection.md) -####### [Get MachineActions collection](get-machineactions-collection-windows-defender-advanced-threat-protection.md) -####### [Get machines](get-machines-windows-defender-advanced-threat-protection.md) -####### [Get package SAS URI](get-package-sas-uri-windows-defender-advanced-threat-protection.md) -####### [Isolate machine](isolate-machine-windows-defender-advanced-threat-protection.md) -####### [Release machine from isolation](unisolate-machine-windows-defender-advanced-threat-protection.md) -####### [Remove app restriction](unrestrict-code-execution-windows-defender-advanced-threat-protection.md) -####### [Request sample](request-sample-windows-defender-advanced-threat-protection.md) -####### [Restrict app execution](restrict-code-execution-windows-defender-advanced-threat-protection.md) -####### [Run antivirus scan](run-av-scan-windows-defender-advanced-threat-protection.md) -####### [Stop and quarantine file](stop-quarantine-file-windows-defender-advanced-threat-protection.md) - -######User -####### [Get alert related user information](get-alert-related-user-info-windows-defender-advanced-threat-protection.md) -####### [Get user information](get-user-information-windows-defender-advanced-threat-protection.md) -####### [Get user related alerts](get-user-related-alerts-windows-defender-advanced-threat-protection.md) -####### [Get user related machines](get-user-related-machines-windows-defender-advanced-threat-protection.md) +##### [Use the Windows Defender ATP exposed APIs (deprecated)](exposed-apis-windows-defender-advanced-threat-protection.md) +###### [Supported Windows Defender ATP APIs (deprecated)](supported-apis-windows-defender-advanced-threat-protection.md) +#######Actor +######## [Get actor information](get-actor-information-windows-defender-advanced-threat-protection.md) +######## [Get actor related alerts](get-actor-related-alerts-windows-defender-advanced-threat-protection.md) +#######Alerts +######## [Get alerts](get-alerts-windows-defender-advanced-threat-protection.md) +######## [Get alert information by ID](get-alert-info-by-id-windows-defender-advanced-threat-protection.md) +######## [Get alert related actor information](get-alert-related-actor-info-windows-defender-advanced-threat-protection.md) +######## [Get alert related domain information](get-alert-related-domain-info-windows-defender-advanced-threat-protection.md) +######## [Get alert related file information](get-alert-related-files-info-windows-defender-advanced-threat-protection.md) +######## [Get alert related IP information](get-alert-related-ip-info-windows-defender-advanced-threat-protection.md) +######## [Get alert related machine information](get-alert-related-machine-info-windows-defender-advanced-threat-protection.md) +#######Domain +######## [Get domain related alerts](get-domain-related-alerts-windows-defender-advanced-threat-protection.md) +######## [Get domain related machines](get-domain-related-machines-windows-defender-advanced-threat-protection.md) +######## [Get domain statistics](get-domain-statistics-windows-defender-advanced-threat-protection.md) +######## [Is domain seen in organization](is-domain-seen-in-org-windows-defender-advanced-threat-protection.md) + +#######File +######## [Block file](block-file-windows-defender-advanced-threat-protection.md) +######## [Get file information](get-file-information-windows-defender-advanced-threat-protection.md) +######## [Get file related alerts](get-file-related-alerts-windows-defender-advanced-threat-protection.md) +######## [Get file related machines](get-file-related-machines-windows-defender-advanced-threat-protection.md) +######## [Get file statistics](get-file-statistics-windows-defender-advanced-threat-protection.md) +######## [Get FileActions collection](get-fileactions-collection-windows-defender-advanced-threat-protection.md) +######## [Unblock file](unblock-file-windows-defender-advanced-threat-protection.md) + +#######IP +######## [Get IP related alerts](get-ip-related-alerts-windows-defender-advanced-threat-protection.md) +######## [Get IP related machines](get-ip-related-machines-windows-defender-advanced-threat-protection.md) +######## [Get IP statistics](get-ip-statistics-windows-defender-advanced-threat-protection.md) +######## [Is IP seen in organization](is-ip-seen-org-windows-defender-advanced-threat-protection.md) +#######Machines +######## [Collect investigation package](collect-investigation-package-windows-defender-advanced-threat-protection.md) +######## [Find machine information by IP](find-machine-info-by-ip-windows-defender-advanced-threat-protection.md) +######## [Get machines](get-machines-windows-defender-advanced-threat-protection.md) +######## [Get FileMachineAction object](get-filemachineaction-object-windows-defender-advanced-threat-protection.md) +######## [Get FileMachineActions collection](get-filemachineactions-collection-windows-defender-advanced-threat-protection.md) +######## [Get machine by ID](get-machine-by-id-windows-defender-advanced-threat-protection.md) +######## [Get machine log on users](get-machine-log-on-users-windows-defender-advanced-threat-protection.md) +######## [Get machine related alerts](get-machine-related-alerts-windows-defender-advanced-threat-protection.md) +######## [Get MachineAction object](get-machineaction-object-windows-defender-advanced-threat-protection.md) +######## [Get MachineActions collection](get-machineactions-collection-windows-defender-advanced-threat-protection.md) +######## [Get machines](get-machines-windows-defender-advanced-threat-protection.md) +######## [Get package SAS URI](get-package-sas-uri-windows-defender-advanced-threat-protection.md) +######## [Isolate machine](isolate-machine-windows-defender-advanced-threat-protection.md) +######## [Release machine from isolation](unisolate-machine-windows-defender-advanced-threat-protection.md) +######## [Remove app restriction](unrestrict-code-execution-windows-defender-advanced-threat-protection.md) +######## [Request sample](request-sample-windows-defender-advanced-threat-protection.md) +######## [Restrict app execution](restrict-code-execution-windows-defender-advanced-threat-protection.md) +######## [Run antivirus scan](run-av-scan-windows-defender-advanced-threat-protection.md) +######## [Stop and quarantine file](stop-quarantine-file-windows-defender-advanced-threat-protection.md) + +#######User +######## [Get alert related user information](get-alert-related-user-info-windows-defender-advanced-threat-protection.md) +######## [Get user information](get-user-information-windows-defender-advanced-threat-protection.md) +######## [Get user related alerts](get-user-related-alerts-windows-defender-advanced-threat-protection.md) +######## [Get user related machines](get-user-related-machines-windows-defender-advanced-threat-protection.md) From d3ac1fe65330bed0ba504f62d1364eb96bfccdff Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Tue, 16 Oct 2018 15:03:33 -0700 Subject: [PATCH 111/162] add get kb info --- windows/security/threat-protection/TOC.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 8712899bda..68f0cc9af8 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -354,7 +354,11 @@ ######### [Get user related machines](windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection.md) - +######Windows updates (KB) info +####### [Get KbInfo collection](windows-defender-atp/get-kbinfo-collection-windows-defender-advanced-threat-protection.md) +######Common Vulnerabilities and Exposures (CVE) to KB map +####### [Get CVE-KB map](windows-defender-atp/get-cvekbmap-collection-windows-defender-advanced-threat-protection.md) + From 67dcba0f43830af5a9c5718d9129a19b1ace1494 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Tue, 16 Oct 2018 15:09:40 -0700 Subject: [PATCH 112/162] update custom alerts --- windows/security/threat-protection/TOC.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 68f0cc9af8..9b9bb99e11 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -369,7 +369,7 @@ ##### API for custom alerts ###### [Enable the custom threat intelligence application](windows-defender-atp/enable-custom-ti-windows-defender-advanced-threat-protection.md) -###### [TO BE DEPRECATED Use the Windows Defender ATP exposed APIs](windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection.md) +###### [Use the Windows Defender ATP exposed APIs](windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection.md) ####### [Use the threat intelligence API to create custom alerts](windows-defender-atp/use-custom-ti-windows-defender-advanced-threat-protection.md) ####### [Create custom threat intelligence alerts](windows-defender-atp/custom-ti-api-windows-defender-advanced-threat-protection.md) ####### [PowerShell code examples](windows-defender-atp/powershell-example-code-windows-defender-advanced-threat-protection.md) From c374eb81e30e1bdfe5d6902befdc19b762612500 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Tue, 16 Oct 2018 15:12:03 -0700 Subject: [PATCH 113/162] update toc --- .../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 c5917b622d..bb86581bf3 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -88,7 +88,7 @@ #### [Managed security service provider support](mssp-support-windows-defender-advanced-threat-protection.md) -### [Microsoft threat protection](threat-protection-integration.md) +### [Microsoft Threat Protection](threat-protection-integration.md) #### [Protect users, data, and devices with conditional access](conditional-access-windows-defender-advanced-threat-protection.md) #### [Microsoft Cloud App Security integration overview](microsoft-cloud-app-security-integration.md) @@ -405,7 +405,7 @@ #### [Configure managed security service provider (MSSP) support](configure-mssp-support-windows-defender-advanced-threat-protection.md) -### Configure Microsoft threat protection integration +### Configure Microsoft Threat Protection integration #### [Configure conditional access](configure-conditional-access-windows-defender-advanced-threat-protection.md) #### [Configure Microsoft Cloud App Security integration](microsoft-cloud-app-security-config.md) From 48343183b79b223c3e185261e3c1e6e3f16a0f6f Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Tue, 16 Oct 2018 15:20:30 -0700 Subject: [PATCH 114/162] revert --- windows/security/threat-protection/TOC.md | 67 +++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 9b9bb99e11..e317707977 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -80,7 +80,74 @@ ###### [Advanced hunting query language best practices](windows-defender-atp/advanced-hunting-best-practices-windows-defender-advanced-threat-protection.md) ##### [Custom detections](windows-defender-atp/overview-custom-detections.md) ###### [Create custom detections rules](windows-defender-atp/custom-detection-rules.md) +##### [Supported Windows Defender ATP APIs](windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection.md) +######Actor +####### [Get actor information](windows-defender-atp/get-actor-information-windows-defender-advanced-threat-protection.md) +####### [Get actor related alerts](windows-defender-atp/get-actor-related-alerts-windows-defender-advanced-threat-protection.md) +######Alerts +####### [Get alerts](windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection.md) +####### [Get alert information by ID](windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection.md) +####### [Get alert related actor information](windows-defender-atp/get-alert-related-actor-info-windows-defender-advanced-threat-protection.md) +####### [Get alert related domain information](windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection.md) +####### [Get alert related file information](windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection.md) +####### [Get alert related IP information](windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection.md) +####### [Get alert related machine information](windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection.md) +######Domain +####### [Get domain related alerts](windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection.md) +####### [Get domain related machines](windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection.md) +####### [Get domain statistics](windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection.md) +####### [Is domain seen in organization](windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection.md) +######File +####### [Block file API](windows-defender-atp/block-file-windows-defender-advanced-threat-protection.md) +####### [Get file information](windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection.md) +####### [Get file related alerts](windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection.md) +####### [Get file related machines](windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection.md) +####### [Get file statistics](windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection.md) +####### [Get FileActions collection API](windows-defender-atp/get-fileactions-collection-windows-defender-advanced-threat-protection.md) +####### [Unblock file API](windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection.md) + +######IP +####### [Get IP related alerts](windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection.md) +####### [Get IP related machines](windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection.md) +####### [Get IP statistics](windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection.md) +####### [Is IP seen in organization](windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection.md) +######Machines +####### [Collect investigation package API](windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection.md) +####### [Find machine information by IP](windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection.md) +####### [Get machines](windows-defender-atp/get-machines-windows-defender-advanced-threat-protection.md) +####### [Get FileMachineAction object API](windows-defender-atp/get-filemachineaction-object-windows-defender-advanced-threat-protection.md) +####### [Get FileMachineActions collection API](windows-defender-atp/get-filemachineactions-collection-windows-defender-advanced-threat-protection.md) +####### [Get machine by ID](windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection.md) +####### [Get machine log on users](windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection.md) +####### [Get machine related alerts](windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection.md) +####### [Get MachineAction object API](windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection.md) +####### [Get MachineActions collection API](windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection.md) +####### [Get machines](windows-defender-atp/get-machines-windows-defender-advanced-threat-protection.md) +####### [Get package SAS URI API](windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection.md) +####### [Isolate machine API](windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection.md) +####### [Release machine from isolation API](windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection.md) +####### [Remove app restriction API](windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection.md) +####### [Request sample API](windows-defender-atp/request-sample-windows-defender-advanced-threat-protection.md) +####### [Restrict app execution API](windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection.md) +####### [Run antivirus scan API](windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection.md) +####### [Stop and quarantine file API](windows-defender-atp/stop-quarantine-file-windows-defender-advanced-threat-protection.md) +######Machines Security States +####### [Get MachineSecurityStates collection](windows-defender-atp/get-machinesecuritystates-collection-windows-defender-advanced-threat-protection.md) +######Machine Groups +####### [Get MachineGroups collection](windows-defender-atp/get-machinegroups-collection-windows-defender-advanced-threat-protection.md) + +######User +####### [Get alert related user information](windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection.md) +####### [Get user information](windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection.md) +####### [Get user related alerts](windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection.md) +####### [Get user related machines](windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection.md) + +######Windows updates (KB) info +####### [Get KbInfo collection](windows-defender-atp/get-kbinfo-collection-windows-defender-advanced-threat-protection.md) +######Common Vulnerabilities and Exposures (CVE) to KB map +####### [Get CVE-KB map](windows-defender-atp/get-cvekbmap-collection-windows-defender-advanced-threat-protection.md) + #### [Management and APIs](windows-defender-atp/management-apis.md) ##### [Understand threat intelligence concepts](windows-defender-atp/threat-indicator-concepts-windows-defender-advanced-threat-protection.md) From bad8b5baeac7db3df465d0015be24ccd1371fe52 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Tue, 16 Oct 2018 16:36:47 -0700 Subject: [PATCH 115/162] add in missing files --- .../windows-defender-atp/incidents-queue.md | 35 +++++++++ ...ows-defender-advanced-threat-protection.md | 78 +++++++++++++++++++ ...ows-defender-advanced-threat-protection.md | 61 +++++++++++++++ .../view-incidents-queue.md | 74 ++++++++++++++++++ 4 files changed, 248 insertions(+) create mode 100644 windows/security/threat-protection/windows-defender-atp/incidents-queue.md create mode 100644 windows/security/threat-protection/windows-defender-atp/investigate-incidents-windows-defender-advanced-threat-protection.md create mode 100644 windows/security/threat-protection/windows-defender-atp/manage-incidents-windows-defender-advanced-threat-protection.md create mode 100644 windows/security/threat-protection/windows-defender-atp/view-incidents-queue.md diff --git a/windows/security/threat-protection/windows-defender-atp/incidents-queue.md b/windows/security/threat-protection/windows-defender-atp/incidents-queue.md new file mode 100644 index 0000000000..783f74ac70 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/incidents-queue.md @@ -0,0 +1,35 @@ +--- +title: Incidents queue in Windows Defender ATP +description: +keywords: incidents, aggregate, investigations, queue, ttp +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/08/2018 +--- + +# Incidents queue in Windows Defender ATP +**Applies to:** +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + +[!include[Prerelease information](prerelease.md)] + +When a cybersecurity threat is emerging, or a potential attacker is deploying its tactics, techniques/tools, and procedures (TTPs) on the network, Windows Defender ATP will quickly trigger alerts and launch matching automatic investigations. + +Windows Defender ATP applies correlation analytics and aggregates all related alerts and investigations into an incident. Doing so helps narrate a broader story of an attack, thus providing you with the right visuals (upgraded incident graph) and data representations to understand and deal with complex cross-entity threats to your organization's network. + + +## In this section + +Topic | Description +:---|:--- +[View and organize the Incidents queue](view-incidents-queue.md)| See the list of incidents and learn how to apply filters to limit the list and get a more focused view. +[Manage incidents](manage-incidents-windows-defender-advanced-threat-protection.md) | Learn how to manage incidents by assigning it, updating its status, or setting its classification and other actions. +[Investigate incidents](investigate-incidents-windows-defender-advanced-threat-protection.md)| See associated alerts, manage the incident, see alert metadata, and visualizations to help you investigate an incident. + + diff --git a/windows/security/threat-protection/windows-defender-atp/investigate-incidents-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/investigate-incidents-windows-defender-advanced-threat-protection.md new file mode 100644 index 0000000000..596bd63508 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/investigate-incidents-windows-defender-advanced-threat-protection.md @@ -0,0 +1,78 @@ +--- +title: Investigate incidents in Windows Defender ATP +description: See associated alerts, manage the incident, and see alert metadata to help you investigate an incident +keywords: investigate, incident, alerts, metadata, risk, detection source, affected machines, patterns, correlation +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/08/2018 +--- + +# Investigate incidents in Windows Defender ATP + +**Applies to:** +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + +[!include[Prerelease information](prerelease.md)] + +Investigate incidents that affect your network, understand what they mean, and collate evidence to resolve them. + +## Analyze incident details +Click an incident to see the **Incident pane**. Select **Open incident page** to see the incident details and related information (alerts, machines, investigations, evidence, graph). + +![Image of incident details](images/atp-incident-details.png) + +### Alerts +You can investigate the alerts and see how they were linked together in an incident. +Alerts are grouped into incidents based on the following reasons: +- Automated investigation - The automated investigation triggered the linked alert while investigating the original alert +- File characteristics - The files associated with the alert have similar characteristics +- Manual association - A user manually linked the alerts +- Proximate time - The alerts were triggered on the same machine within a certain timeframe +- Same file - The files associated with the alert are exactly the same + +![Image of alerts tab in incident page showing the Linked by tool tip](images/atp-incidents-alerts-tooltip.png) + +![Image of alerts tab with incident details page showing the reasons the alerts were linked together in that incident](images/atp-incidents-alerts-reason.png) + +You can also manage an alert and see alert metadata along with other information. For more information, see [Investigate alerts](investigate-alerts-windows-defender-advanced-threat-protection.md). + +### Machines +You can also investigate the machines that are part of, or related to, a given incident. For more information, see [Investigate machines](investigate-machines-windows-defender-advanced-threat-protection.md). + +![Image of machines tab in incident details page](images/atp-incident-machine-tab.png) + +### Investigations +Select **Investigations** to see all the automatic investigations launched by the system in response to the incident alerts. + +![Image of investigations tab in incident details page](images/atp-incident-investigations-tab.png) + +## Going through the evidence +Windows Defender Advanced Threat Protection automatically investigates all the incidents' supported events and suspicious entities in the alerts, providing you with auto-response and information about the important files, processes, services, and more. This helps quickly detect and block potential threats in the incident. +Each of the analyzed entities will be marked as infected, remediated, or suspicious. + +![Image of evidence tab in incident details page](images/atp-incident-evidence-tab.png) + +## Visualizing associated cybersecurity threats +Windows Defender Advanced Threat Protection aggregates the threat information into an incident so you can see the patterns and correlations coming in from various data points. You can view such correlation through the incident graph. + +### Incident graph +The **Graph** tells the story of the cybersecurity attack. For example, it shows you what was the entry point, which indicator of compromise or activity was observed on which machine. etc. + +![Image of the incident graph](images/atp-incident-graph-tab.png) + +You can click the circles on the incident graph to view the details of the malicious files, associated file detections, how many instances has there been worldwide, whether it’s been observed in your organization, if so, how many instances. + +![Image of indcident details](images/atp-incident-graph-details.png) + +## Related topics +- [Incidents queue](incidents-queue.md) +- [View and organize the Incidents queue](view-incidents-queue.md) +- [Manage incidents](manage-incidents-windows-defender-advanced-threat-protection.md) + + diff --git a/windows/security/threat-protection/windows-defender-atp/manage-incidents-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/manage-incidents-windows-defender-advanced-threat-protection.md new file mode 100644 index 0000000000..2df623ec62 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/manage-incidents-windows-defender-advanced-threat-protection.md @@ -0,0 +1,61 @@ +--- +title: Manage Windows Defender ATP incidents +description: Manage incidents by assigning it, updating its status, or setting its classification. +keywords: incidents, manage, assign, status, classification, true alert, false alert +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: 010/08/2018 +--- + +# Manage Windows Defender ATP incidents + +**Applies to:** +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + +[!include[Prerelease information](prerelease.md)] + + +Managing incidents is an important part of every cybersecurity operation. You can manage incidents by selecting an incident from the **Incidents queue** or the **Incidents management pane**. You can assign incidents to yourself, change the status, classify, rename, or comment on them to keep track of their progress. + +![Image of the incidents management pane](images/atp-incidents-mgt-pane.png) + +Selecting an incident from the **Incidents queue** brings up the **Incident management pane** where you can open the incident page for details. + +![Image of incident detail page](images/atp-incident-details-page.png) + + +## Assign incidents +If an incident has not been assigned yet, you can select **Assign to me** to assign the incident to yourself. Doing so assumes ownership of not just the incident, but also all the alerts associated with it. + +## Change the incident status +You can categorize incidents (as **Active**, or **Resolved**) by changing their status as your investigation progresses. This helps you organize and manage how your team can respond to incidents. + +For example, your SoC analyst can review the urgent **Active** incidents for the day, and decide to assign them to himself for investigation. + +Alternatively, your SoC analyst might set the incident as **Resolved** if the incident has been remediated. + +## Classify the incident +You can choose not to set a classification, or decide to specify whether an incident is true or false. Doing so helps the team see patterns and learn from them. + +## Rename incident +By default, incidents are assigned with numbers. You can rename the incident if your organization uses a naming convention for easier cybersecurity threat identification. + +![Image of incident renaming](images/atp-rename-incident.png) + +## Add comments and view the history of an incident +You can add comments and view historical events about an incident to see previous changes made to it. + +Whenever a change or comment is made to an alert, it is recorded in the Comments and history section. + +Added comments instantly appear on the pane. + +## Related topics +- [Incidents queue](incidents-queue.md) +- [View and organize the Incidents queue](view-incidents-queue.md) +- [Investigate incidents](investigate-incidents-windows-defender-advanced-threat-protection.md) diff --git a/windows/security/threat-protection/windows-defender-atp/view-incidents-queue.md b/windows/security/threat-protection/windows-defender-atp/view-incidents-queue.md new file mode 100644 index 0000000000..823c7f396e --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/view-incidents-queue.md @@ -0,0 +1,74 @@ +--- +title: View and organize the Incidents queue +description: See the list of incidents and learn how to apply filters to limit the list and get a more focused view. +keywords: view, organize, incidents, aggregate, investigations, queue, ttp +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/08/2018 +--- + +# View and organize the Windows Defender Advanced Threat Protection Incidents queue +**Applies to:** +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + +[!include[Prerelease information](prerelease.md)] + +The **Incidents queue** shows a collection of incidents that were flagged from machines in your network. It helps you sort through incidents to prioritize and create an informed cybersecurity response decision. + +By default, the queue displays incidents seen in the last 30 days, with the most recent incident showing at the top of the list, helping you see the most recent incidents first. + +There are several options you can choose from to customize the Incidents queue view. + +On the top navigation you can: +- Customize columns to add or remove columns +- Modify the number of items to view per page +- Select the items to show per page +- Batch-select the incidents to assign +- Navigate between pages +- Apply filters + +![Image of incidents queue](images/atp-incident-queue.png) + +## Sort and filter the incidents queue +You can apply the following filters to limit the list of incidents and get a more focused view. + +Incident severity | Description +:---|:--- +High
      (Red) | Threats often associated with advanced persistent threats (APT). These incidents indicate a high risk due to the severity of damage they can inflict on machines. +Medium
      (Orange) | Threats rarely observed in the organization, such as anomalous registry change, execution of suspicious files, and observed behaviors typical of attack stages. +Low
      (Yellow) | Threats associated with prevalent malware and hack-tools that do not necessarily indicate an advanced threat targeting the organization. +Informational
      (Grey) | Informational incidents are those that might not be considered harmful to the network but might be good to keep track of. + +### Category +Incidents are categorized based on the description of the stage by which the cybersecurity kill chain is in. This view helps the threat analyst to determine priority, urgency, and corresponding response strategy to deploy based on context. + +### Alerts +Indicates the number of alerts associated with or part of the incidents. + + +### Machines +You can limit to show only the machines at risk which are associated with incidents. + +### Users +You can limit to show only the users of the machines at risk which are associated with incidents. + +### Assigned to +You can choose to show between unassigned incidents or those which are assigned to you. + +### Status +You can choose to limit the list of incidents shown based on their status to see which ones are active or resolved + +### Classification +Use this filter to choose between focusing on incidents flagged as true or false incidents. + +## Related topics +- [Incidents queue](incidents-queue.md) +- [Manage incidents](manage-incidents-windows-defender-advanced-threat-protection.md) +- [Investigate incidents](investigate-incidents-windows-defender-advanced-threat-protection.md) + From 57fc8104581652b70724e795a5d0eff23a953bb3 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Wed, 17 Oct 2018 22:29:48 +0000 Subject: [PATCH 116/162] Updated TOC.md --- windows/security/threat-protection/TOC.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 81e46aca83..2c640449e9 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -17,6 +17,10 @@ #### [Endpoint detection and response](windows-defender-atp/overview-endpoint-detection-response.md) ##### [Security operations dashboard](windows-defender-atp/security-operations-dashboard-windows-defender-advanced-threat-protection.md) +##### [Incidents queue](windows-defender-atp/incidents-queue.md) +###### [View and organize the Incidents queue](windows-defender-atp/view-incidents-queue.md) +###### [Manage incidents](windows-defender-atp/manage-incidents-windows-defender-advanced-threat-protection.md) +###### [Investigate incidents](windows-defender-atp/investigate-incidents-windows-defender-advanced-threat-protection.md) From 317f1ad478e8eee20df160f75b9838e75455589a Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Wed, 17 Oct 2018 17:32:17 -0700 Subject: [PATCH 117/162] update toc and add deprecation notes --- windows/security/threat-protection/TOC.md | 114 +++++++++--------- .../{exposed-apis-intro.md => apis-intro.md} | 6 +- ...ows-defender-advanced-threat-protection.md | 3 +- ...ows-defender-advanced-threat-protection.md | 4 +- .../windows-defender-atp/deprecate.md | 7 ++ ...ows-defender-advanced-threat-protection.md | 7 +- ...ows-defender-advanced-threat-protection.md | 3 +- ...ows-defender-advanced-threat-protection.md | 3 +- ...ows-defender-advanced-threat-protection.md | 3 +- ...ows-defender-advanced-threat-protection.md | 3 +- ...ows-defender-advanced-threat-protection.md | 3 +- ...ows-defender-advanced-threat-protection.md | 5 +- ...ows-defender-advanced-threat-protection.md | 3 +- ...ows-defender-advanced-threat-protection.md | 3 +- ...ows-defender-advanced-threat-protection.md | 3 +- ...ows-defender-advanced-threat-protection.md | 4 +- ...ows-defender-advanced-threat-protection.md | 1 + ...ows-defender-advanced-threat-protection.md | 4 +- ...ows-defender-advanced-threat-protection.md | 3 +- ...ows-defender-advanced-threat-protection.md | 3 +- ...ows-defender-advanced-threat-protection.md | 4 +- ...ows-defender-advanced-threat-protection.md | 4 +- ...ows-defender-advanced-threat-protection.md | 4 +- ...ows-defender-advanced-threat-protection.md | 4 +- ...ows-defender-advanced-threat-protection.md | 4 +- ...ows-defender-advanced-threat-protection.md | 4 +- ...ows-defender-advanced-threat-protection.md | 4 +- ...ows-defender-advanced-threat-protection.md | 4 +- ...ows-defender-advanced-threat-protection.md | 4 +- ...ows-defender-advanced-threat-protection.md | 4 +- ...ows-defender-advanced-threat-protection.md | 4 +- ...ows-defender-advanced-threat-protection.md | 4 +- ...ows-defender-advanced-threat-protection.md | 4 +- ...ows-defender-advanced-threat-protection.md | 3 +- ...ows-defender-advanced-threat-protection.md | 4 +- ...ows-defender-advanced-threat-protection.md | 4 +- ...ows-defender-advanced-threat-protection.md | 4 +- ...ows-defender-advanced-threat-protection.md | 4 +- ...ows-defender-advanced-threat-protection.md | 7 +- ...ows-defender-advanced-threat-protection.md | 4 +- ...ows-defender-advanced-threat-protection.md | 4 +- ...ows-defender-advanced-threat-protection.md | 4 +- ...ows-defender-advanced-threat-protection.md | 4 +- ...ows-defender-advanced-threat-protection.md | 4 +- ...ows-defender-advanced-threat-protection.md | 4 +- ...ows-defender-advanced-threat-protection.md | 8 +- ...ows-defender-advanced-threat-protection.md | 4 +- ...ows-defender-advanced-threat-protection.md | 4 +- ...ows-defender-advanced-threat-protection.md | 4 +- .../windows-defender-atp/use-apis.md | 26 ++++ 50 files changed, 193 insertions(+), 140 deletions(-) rename windows/security/threat-protection/windows-defender-atp/{exposed-apis-intro.md => apis-intro.md} (94%) create mode 100644 windows/security/threat-protection/windows-defender-atp/deprecate.md create mode 100644 windows/security/threat-protection/windows-defender-atp/use-apis.md diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 2c640449e9..5c6903520e 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -152,6 +152,8 @@ #### [Management and APIs](windows-defender-atp/management-apis.md) ##### [Understand threat intelligence concepts](windows-defender-atp/threat-indicator-concepts-windows-defender-advanced-threat-protection.md) +##### [Windows Defender ATP APIs](windows-defender-atp/apis-intro.md) + ##### [Managed security service provider support](windows-defender-atp/mssp-support-windows-defender-advanced-threat-protection.md) @@ -292,7 +294,7 @@ ###### [Troubleshoot onboarding issues](windows-defender-atp/troubleshoot-onboarding-windows-defender-advanced-threat-protection.md) ####### [Troubleshoot subscription and portal access issues](windows-defender-atp/troubleshoot-onboarding-error-messages-windows-defender-advanced-threat-protection.md) -##### [Windows Defender ATP APIs](windows-defender-atp/exposed-apis-intro.md) +##### [Windows Defender ATP APIs](windows-defender-atp/use-apis.md) ###### Create your app ####### [Get access on behalf of a user](windows-defender-atp/exposed-apis-create-app-nativeapp.md) ####### [Get access without a user](windows-defender-atp/exposed-apis-create-app-webapp.md) @@ -360,65 +362,65 @@ ####### Multiple APIs ######## [PowerShell](windows-defender-atp/exposed-apis-full-sample-powershell.md) -###### [Use the Windows Defender ATP exposed APIs (deprecated)](windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection.md) -####### [Supported Windows Defender ATP APIs](windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection.md) -########Actor -######### [Get actor information](windows-defender-atp/get-actor-information-windows-defender-advanced-threat-protection.md) -######### [Get actor related alerts](windows-defender-atp/get-actor-related-alerts-windows-defender-advanced-threat-protection.md) -########Alerts -######### [Get alerts](windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection.md) -######### [Get alert information by ID](windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection.md) -######### [Get alert related actor information](windows-defender-atp/get-alert-related-actor-info-windows-defender-advanced-threat-protection.md) -######### [Get alert related domain information](windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection.md) +###### [Windows Defender ATP exposed APIs (deprecated)](windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection.md) +####### [Supported Windows Defender ATP APIs (deprecated)](windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection.md) +########Actor (deprecated) +######### [Get actor information (deprecated)](windows-defender-atp/get-actor-information-windows-defender-advanced-threat-protection.md) +######### [Get actor related alerts (deprecated)](windows-defender-atp/get-actor-related-alerts-windows-defender-advanced-threat-protection.md) +########Alerts (deprecated) +######### [Get alerts (deprecated)](windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection.md) +######### [Get alert information by ID (deprecated)](windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection.md) +######### [Get alert related actor information (deprecated)](windows-defender-atp/get-alert-related-actor-info-windows-defender-advanced-threat-protection.md) +######### [Get alert related domain information (deprecated)](windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection.md) ######### [Get alert related file information](windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection.md) -######### [Get alert related IP information](windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection.md) -######### [Get alert related machine information](windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection.md) -########Domain -######### [Get domain related alerts](windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection.md) -######### [Get domain related machines](windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection.md) -######### [Get domain statistics](windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection.md) -######### [Is domain seen in organization](windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection.md) +######### [Get alert related IP information (deprecated)](windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection.md) +######### [Get alert related machine information (deprecated)](windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection.md) +########Domain (deprecated) +######### [Get domain related alerts (deprecated)](windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection.md) +######### [Get domain related machines (deprecated)](windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection.md) +######### [Get domain statistics (deprecated)](windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection.md) +######### [Is domain seen in organization (deprecated)](windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection.md) -########File -######### [Block file](windows-defender-atp/block-file-windows-defender-advanced-threat-protection.md) -######### [Get file information](windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection.md) -######### [Get file related alerts](windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection.md) -######### [Get file related machines](windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection.md) -######### [Get file statistics](windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection.md) -######### [Get FileActions collection](windows-defender-atp/get-fileactions-collection-windows-defender-advanced-threat-protection.md) -######### [Unblock file](windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection.md) +########File(deprecated) +######### [Block file (deprecated)](windows-defender-atp/block-file-windows-defender-advanced-threat-protection.md) +######### [Get file information (deprecated)](windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection.md) +######### [Get file related alerts (deprecated)](windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection.md) +######### [Get file related machines (deprecated)](windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection.md) +######### [Get file statistics (deprecated)](windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection.md) +######### [Get FileActions collection (deprecated)](windows-defender-atp/get-fileactions-collection-windows-defender-advanced-threat-protection.md) +######### [Unblock file (deprecated)](windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection.md) -########IP -######### [Get IP related alerts](windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection.md) -######### [Get IP related machines](windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection.md) -######### [Get IP statistics](windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection.md) -######### [Is IP seen in organization](windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection.md) -########Machines -######### [Collect investigation package](windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection.md) -######### [Find machine information by IP](windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection.md) -######### [Get machines](windows-defender-atp/get-machines-windows-defender-advanced-threat-protection.md) -######### [Get FileMachineAction object](windows-defender-atp/get-filemachineaction-object-windows-defender-advanced-threat-protection.md) -######### [Get FileMachineActions collection](windows-defender-atp/get-filemachineactions-collection-windows-defender-advanced-threat-protection.md) -######### [Get machine by ID](windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection.md) -######### [Get machine log on users](windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection.md) -######### [Get machine related alerts](windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection.md) -######### [Get MachineAction object](windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection.md) -######### [Get MachineActions collection](windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection.md) -######### [Get machines](windows-defender-atp/get-machines-windows-defender-advanced-threat-protection.md) -######### [Get package SAS URI](windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection.md) -######### [Isolate machine](windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection.md) -######### [Release machine from isolation](windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection.md) -######### [Remove app restriction](windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection.md) -######### [Request sample](windows-defender-atp/request-sample-windows-defender-advanced-threat-protection.md) -######### [Restrict app execution](windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection.md) -######### [Run antivirus scan](windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection.md) -######### [Stop and quarantine file](windows-defender-atp/stop-quarantine-file-windows-defender-advanced-threat-protection.md) +########IP (deprecated) +######### [Get IP related alerts (deprecated)](windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection.md) +######### [Get IP related machines (deprecated)](windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection.md) +######### [Get IP statistics (deprecated)](windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection.md) +######### [Is IP seen in organization (deprecated)](windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection.md) +########Machines (deprecated) +######### [Collect investigation package (deprecated)](windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection.md) +######### [Find machine information by IP (deprecated)](windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection.md) +######### [Get machines (deprecated)](windows-defender-atp/get-machines-windows-defender-advanced-threat-protection.md) +######### [Get FileMachineAction object (deprecated)](windows-defender-atp/get-filemachineaction-object-windows-defender-advanced-threat-protection.md) +######### [Get FileMachineActions collection (deprecated)](windows-defender-atp/get-filemachineactions-collection-windows-defender-advanced-threat-protection.md) +######### [Get machine by ID (deprecated)](windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection.md) +######### [Get machine log on users (deprecated)](windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection.md) +######### [Get machine related alerts (deprecated)](windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection.md) +######### [Get MachineAction object (deprecated)](windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection.md) +######### [Get MachineActions collection (deprecated)](windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection.md) +######### [Get machines (deprecated)](windows-defender-atp/get-machines-windows-defender-advanced-threat-protection.md) +######### [Get package SAS URI (deprecated)](windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection.md) +######### [Isolate machine (deprecated)](windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection.md) +######### [Release machine from isolation (deprecated)](windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection.md) +######### [Remove app restriction (deprecated)](windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection.md) +######### [Request sample (deprecated)](windows-defender-atp/request-sample-windows-defender-advanced-threat-protection.md) +######### [Restrict app execution (deprecated)](windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection.md) +######### [Run antivirus scan (deprecated)](windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection.md) +######### [Stop and quarantine file (deprecated)](windows-defender-atp/stop-quarantine-file-windows-defender-advanced-threat-protection.md) -########User -######### [Get alert related user information](windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection.md) -######### [Get user information](windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection.md) -######### [Get user related alerts](windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection.md) -######### [Get user related machines](windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection.md) +########User (deprecated) +######### [Get alert related user information (deprecated)](windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection.md) +######### [Get user information (deprecated)](windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection.md) +######### [Get user related alerts (deprecated)](windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection.md) +######### [Get user related machines (deprecated)](windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection.md) ######Windows updates (KB) info diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-intro.md b/windows/security/threat-protection/windows-defender-atp/apis-intro.md similarity index 94% rename from windows/security/threat-protection/windows-defender-atp/exposed-apis-intro.md rename to windows/security/threat-protection/windows-defender-atp/apis-intro.md index 0108565f75..304eed3564 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-intro.md +++ b/windows/security/threat-protection/windows-defender-atp/apis-intro.md @@ -1,6 +1,6 @@ --- -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. +title: Windows Defender Advanced Threat Protection API overview +description: Learn how you can use APIs to automate workflows and innovate based on Windows Defender ATP capabilities keywords: apis, graph api, supported apis, actor, alerts, machine, user, domain, ip, file, advanced hunting, query search.product: eADQiWindows 10XVcnh ms.prod: w10 @@ -13,7 +13,7 @@ ms.localizationpriority: medium ms.date: 09/03/2018 --- -# Use Windows Defender ATP APIs +# Windows Defender ATP API overview **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) 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 index 933ac113b2..a891b4a9c3 100644 --- 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 @@ -13,12 +13,13 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Block file API +# Block file API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) +[!include[Deprecatedinformation](deprecate.md)] Prevent a file from being executed in the organization using Windows Defender Antivirus. diff --git a/windows/security/threat-protection/windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection.md index 1d19deb5cb..dfbfeaec6a 100644 --- a/windows/security/threat-protection/windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection.md @@ -13,13 +13,13 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Collect investigation package API +# Collect investigation package API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - +[!include[Deprecatedinformation](deprecate.md)] Collect investigation package from a machine. diff --git a/windows/security/threat-protection/windows-defender-atp/deprecate.md b/windows/security/threat-protection/windows-defender-atp/deprecate.md new file mode 100644 index 0000000000..fe73a4d416 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/deprecate.md @@ -0,0 +1,7 @@ +--- +ms.date: 10/17/2018 +--- +>[!WARNING] + + +> This page documents a feature that will soon be deprecated. For the updated and supported version, see [Use the Windows Defender ATP APIs](use-apis.md). \ No newline at end of file diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection.md index 860ff1eee2..0f1e5cd627 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection.md @@ -13,16 +13,13 @@ ms.localizationpriority: medium ms.date: 10/23/2017 --- -# Use the Windows Defender ATP exposed APIs +# Use the Windows Defender ATP exposed APIs (deprecated) **Applies to:** - - - 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[Deprecated information](deprecate.md)] Windows Defender ATP exposes much of the available data and actions using a set of programmatic APIs that are part of the Microsoft Intelligence Security Graph. 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). diff --git a/windows/security/threat-protection/windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection.md index 94cb8338ce..8598b0c94c 100644 --- a/windows/security/threat-protection/windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection.md @@ -13,12 +13,13 @@ ms.localizationpriority: medium ms.date: 07/25/2018 --- -# Find machine information by internal IP API +# Find machine information by internal IP API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) +[!include[Deprecated information](deprecate.md)] Find a machine entity around a specific timestamp by internal IP. diff --git a/windows/security/threat-protection/windows-defender-atp/get-actor-information-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-actor-information-windows-defender-advanced-threat-protection.md index 11933fc1f8..09b0a252c5 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-actor-information-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-actor-information-windows-defender-advanced-threat-protection.md @@ -14,12 +14,13 @@ ms.date: 12/08/2017 --- -# Get actor information API +# Get actor information API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) +[!include[Deprecatedinformation](deprecate.md)] Retrieves an actor information report. diff --git a/windows/security/threat-protection/windows-defender-atp/get-actor-related-alerts-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-actor-related-alerts-windows-defender-advanced-threat-protection.md index 7d607f80b0..2970e635c3 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-actor-related-alerts-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-actor-related-alerts-windows-defender-advanced-threat-protection.md @@ -13,12 +13,13 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Get actor related alerts API +# Get actor related alerts API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) +[!include[Deprecated information](deprecate.md)] Retrieves all alerts related to a given actor. diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection.md index 7bd281c1c2..57ab1ced2c 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection.md @@ -13,12 +13,13 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Get alert information by ID API +# Get alert information by ID API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) +[!include[Deprecated information](deprecate.md)] Retrieves an alert by its ID. diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-actor-info-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-actor-info-windows-defender-advanced-threat-protection.md index feb7c72977..6947d62190 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-related-actor-info-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-actor-info-windows-defender-advanced-threat-protection.md @@ -13,12 +13,13 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Get alert related actor information API +# Get alert related actor information API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) +[!include[Deprecatedinformation](deprecate.md)] Retrieves the actor information related to the specific alert. diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection.md index 1dc2400622..9877e14edf 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection.md @@ -13,13 +13,16 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Get alert related domain information API +# Get alert related domain information API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) +[!include[Deprecatedinformation](deprecate.md)] + + Retrieves all domains related to a specific alert. diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection.md index 692038dece..e6e39a20ad 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection.md @@ -13,12 +13,13 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Get alert related files information API +# Get alert related files information API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) +[!include[Deprecated information](deprecate.md)] Retrieves all files related to a specific alert. diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection.md index 13d6fa451e..55b5fbfb01 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection.md @@ -13,12 +13,13 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Get alert related IP information API +# Get alert related IP information API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) +[!include[Deprecated information](deprecate.md)] Retrieves all IPs related to a specific alert. diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection.md index c65563b583..cbf74f8d93 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection.md @@ -13,12 +13,13 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Get alert related machine information API +# Get alert related machine information API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) +[!include[Deprecated information](deprecate.md)] Retrieves all machines related to a specific alert. diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection.md index 0ca328f129..687a2e5b8d 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection.md @@ -13,13 +13,13 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Get alert related user information API +# Get alert related user information API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - +[!include[Deprecated information](deprecate.md)] Retrieves the user associated to a specific alert. diff --git a/windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection.md index 91370e6ab4..45aab8f699 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection.md @@ -19,6 +19,7 @@ ms.date: 12/08/2017 - Windows Defender Advanced Threat Protection (Windows Defender ATP) +[!include[Deprecated information](deprecate.md)] Retrieves top recent alerts. diff --git a/windows/security/threat-protection/windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection.md index edf69b8cc2..6018ccf4c1 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection.md @@ -13,13 +13,15 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Get domain related alerts API +# Get domain related alerts API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) +[!include[Deprecated information](deprecate.md)] + Retrieves a collection of alerts related to a given domain address. diff --git a/windows/security/threat-protection/windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection.md index 42274f276d..11b50e0847 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection.md @@ -13,12 +13,13 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Get domain related machines API +# Get domain related machines API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) +[!include[Deprecated information](deprecate.md)] Retrieves a collection of machines related to a given domain address. diff --git a/windows/security/threat-protection/windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection.md index a8d16cda6c..8186d2a9c7 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection.md @@ -13,12 +13,13 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Get domain statistics API +# Get domain statistics API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) +[!include[Deprecatedinformation](deprecate.md)] Retrieves the prevalence for the given domain. diff --git a/windows/security/threat-protection/windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection.md index 3a8aecdcdc..c3173ccd69 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection.md @@ -13,13 +13,13 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Get file information API +# Get file information API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - +[!include[Deprecated information](deprecate.md)] Retrieves a file by identifier Sha1, Sha256, or MD5. diff --git a/windows/security/threat-protection/windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection.md index 3bc108f4c5..1a1d1f8e98 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection.md @@ -13,13 +13,13 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Get file related alerts API +# Get file related alerts API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - +[!include[Deprecated information](deprecate.md)] Retrieves a collection of alerts related to a given file hash. diff --git a/windows/security/threat-protection/windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection.md index 46a55266b9..a88a44c8fc 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection.md @@ -13,13 +13,13 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Get file related machines API +# Get file related machines API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - +[!include[Deprecated information](deprecate.md)] Retrieves a collection of machines related to a given file hash. diff --git a/windows/security/threat-protection/windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection.md index 379a272b7f..4c7b62fc97 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection.md @@ -13,13 +13,13 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Get file statistics API +# Get file statistics API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - +[!include[Deprecatedinformation](deprecate.md)] Retrieves the prevalence for the given file. diff --git a/windows/security/threat-protection/windows-defender-atp/get-fileactions-collection-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-fileactions-collection-windows-defender-advanced-threat-protection.md index 58ec0179eb..7bfa6eedd6 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-fileactions-collection-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-fileactions-collection-windows-defender-advanced-threat-protection.md @@ -13,13 +13,13 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Get FileActions collection API +# Get FileActions collection API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - +[!include[Deprecatedinformation](deprecate.md)] Gets collection of actions done on files. Get FileActions collection API supports OData V4 queries. diff --git a/windows/security/threat-protection/windows-defender-atp/get-filemachineaction-object-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-filemachineaction-object-windows-defender-advanced-threat-protection.md index e30ca834b1..cf42bd089d 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-filemachineaction-object-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-filemachineaction-object-windows-defender-advanced-threat-protection.md @@ -13,13 +13,13 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Get FileMachineAction object API +# Get FileMachineAction object API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - +[!include[Deprecatedinformation](deprecate.md)] Gets file and machine actions. diff --git a/windows/security/threat-protection/windows-defender-atp/get-filemachineactions-collection-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-filemachineactions-collection-windows-defender-advanced-threat-protection.md index 4f981ccd54..05445a5892 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-filemachineactions-collection-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-filemachineactions-collection-windows-defender-advanced-threat-protection.md @@ -13,13 +13,13 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Get FileMachineActions collection API +# Get FileMachineActions collection API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - +[!include[Deprecatedinformation](deprecate.md)] Get collection of file and machine actions. Get FileMachineActions collection API supports OData V4 queries. diff --git a/windows/security/threat-protection/windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection.md index b1ad30ecd5..7c415a2e28 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection.md @@ -13,13 +13,13 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Get IP related alerts API +# Get IP related alerts API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - +[!include[Deprecated information](deprecate.md)] Retrieves a collection of alerts related to a given IP address. diff --git a/windows/security/threat-protection/windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection.md index cdb7691d99..bf925ff4c9 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection.md @@ -13,13 +13,13 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Get machine by ID API +# Get machine by ID API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - +[!include[Deprecated information](deprecate.md)] Retrieves a machine entity by ID. diff --git a/windows/security/threat-protection/windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection.md index f73f0600fd..b292daf44b 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection.md @@ -13,13 +13,13 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Get machine log on users API +# Get machine log on users API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - +[!include[Deprecated information](deprecate.md)] Retrieves a collection of logged on users. diff --git a/windows/security/threat-protection/windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection.md index 2cbf47c5da..b808e8b8fa 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection.md @@ -13,13 +13,13 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Get machine related alerts API +# Get machine related alerts API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - +[!include[Deprecated information](deprecate.md)] Retrieves a collection of alerts related to a given machine ID. diff --git a/windows/security/threat-protection/windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection.md index 21214216c0..7372742b21 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection.md @@ -13,13 +13,13 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Get MachineAction object API +# Get MachineAction object API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - +[!include[Deprecatedinformation](deprecate.md)] Get actions done on a machine. diff --git a/windows/security/threat-protection/windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection.md index 4f8250057a..4fcf7888d5 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection.md @@ -13,13 +13,13 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Get MachineActions collection API +# Get MachineActions collection API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - +[!include[Deprecatedinformation](deprecate.md)] Gets collection of actions done on machines. Get MachineAction collection API supports OData V4 queries. diff --git a/windows/security/threat-protection/windows-defender-atp/get-machines-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-machines-windows-defender-advanced-threat-protection.md index 15f5915642..f68499ed5e 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machines-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machines-windows-defender-advanced-threat-protection.md @@ -13,12 +13,13 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Get machines API +# Get machines API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) +[!include[Deprecated information](deprecate.md)] Retrieves a collection of recently seen machines. diff --git a/windows/security/threat-protection/windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection.md index b000396208..d8e26ffdac 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection.md @@ -13,13 +13,13 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Get package SAS URI API +# Get package SAS URI API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - +[!include[Deprecated information](deprecate.md)] Get a URI that allows downloading of an investigation package. diff --git a/windows/security/threat-protection/windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection.md index 44a41412fe..94075eb308 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection.md @@ -13,13 +13,13 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Get user information API +# Get user information API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - +[!include[Deprecated information](deprecate.md)] Retrieve a User entity by key (user name or domain\user). diff --git a/windows/security/threat-protection/windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection.md index 12c741d3fe..8b7e5eda35 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection.md @@ -13,13 +13,13 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Get user related alerts API +# Get user related alerts API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - +[!include[Deprecated information](deprecate.md)] Retrieves a collection of alerts related to a given user ID. diff --git a/windows/security/threat-protection/windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection.md index 80a2b92234..19a799b453 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection.md @@ -13,13 +13,13 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Get user related machines API +# Get user related machines API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - +[!include[Deprecated information](deprecate.md)] Retrieves a collection of machines related to a given user ID. diff --git a/windows/security/threat-protection/windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection.md index 3bda2052aa..916e302306 100644 --- a/windows/security/threat-protection/windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection.md @@ -13,9 +13,14 @@ ms.localizationpriority: medium ms.date: 04/24/2018 --- -# Is domain seen in org +# Is domain seen in org (deprecated) Answers whether a domain was seen in the organization. +[!include[Deprecatedinformation](deprecate.md)] + + + + ## Permissions User needs read permissions. diff --git a/windows/security/threat-protection/windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection.md index 0e5cdd372b..95bf3682bd 100644 --- a/windows/security/threat-protection/windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection.md @@ -13,13 +13,13 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Is IP seen in org +# Is IP seen in org (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - +[!include[Deprecatedinformation](deprecate.md)] Answers whether an IP was seen in the organization. diff --git a/windows/security/threat-protection/windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection.md index 8a1af5560e..3a37f4c80f 100644 --- a/windows/security/threat-protection/windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection.md @@ -13,13 +13,13 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Isolate machine API +# Isolate machine API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - +[!include[Deprecated information](deprecate.md)] Isolates a machine from accessing external network. diff --git a/windows/security/threat-protection/windows-defender-atp/request-sample-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/request-sample-windows-defender-advanced-threat-protection.md index 5e12dabe3d..093ff11454 100644 --- a/windows/security/threat-protection/windows-defender-atp/request-sample-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/request-sample-windows-defender-advanced-threat-protection.md @@ -13,13 +13,13 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Request sample API +# Request sample API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - +[!include[Deprecatedinformation](deprecate.md)] Request sample of a file from a specific machine. File will be collected from the machine and uploaded to a secure storage. diff --git a/windows/security/threat-protection/windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection.md index 985a82d123..c824b807e9 100644 --- a/windows/security/threat-protection/windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection.md @@ -13,12 +13,12 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Restrict app execution API +# Restrict app execution API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - +[!include[Deprecatedinformation](deprecate.md)] Restrict execution of set of predefined applications. diff --git a/windows/security/threat-protection/windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection.md index 9132144898..6b199045d5 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection.md @@ -13,12 +13,12 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Run antivirus scan API +# Run antivirus scan API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - +[!include[Deprecated information](deprecate.md)] Initiate Windows Defender Antivirus scan on the machine. diff --git a/windows/security/threat-protection/windows-defender-atp/stop-quarantine-file-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/stop-quarantine-file-windows-defender-advanced-threat-protection.md index 2e4f1e0fd1..57a1075f9c 100644 --- a/windows/security/threat-protection/windows-defender-atp/stop-quarantine-file-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/stop-quarantine-file-windows-defender-advanced-threat-protection.md @@ -13,12 +13,12 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Stop and quarantine file API +# Stop and quarantine file API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - +[!include[Deprecated information](deprecate.md)] Stop execution of a file on a machine and ensure it’s not executed again on that machine. diff --git a/windows/security/threat-protection/windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection.md index bc16fe2624..dfe1d46e2d 100644 --- a/windows/security/threat-protection/windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection.md @@ -13,15 +13,14 @@ ms.localizationpriority: medium ms.date: 09/03/2018 --- -# Supported Windows Defender ATP query APIs +# Supported Windows Defender ATP query APIs (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) +[!include[Deprecatedinformation](deprecate.md)] ->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 @@ -37,5 +36,4 @@ User | Run API calls such as get alert related user information, user informatio KbInfo | Run API call that gets list of Windows KB's information CveKbMap | Run API call that gets mapping of CVE's to corresponding KB's MachineSecurityStates | Run API call that gets list of machines with their security properties and versions -MachineGroups | Run API call that gets list of machine group definitions - +MachineGroups | Run API call that gets list of machine group definitions \ No newline at end of file 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 index 7ea3ec1258..affe46ec82 100644 --- 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 @@ -13,13 +13,13 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Unblock file API +# Unblock file API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - +[!include[Deprecatedinformation](deprecate.md)] Allow a file to be executed in the organization, using Windows Defender Antivirus. diff --git a/windows/security/threat-protection/windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection.md index c0ef9d02f6..e7d66a1166 100644 --- a/windows/security/threat-protection/windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection.md @@ -13,13 +13,13 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Release machine from isolation API +# Release machine from isolation API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - +[!include[Deprecatedinformation](deprecate.md)] Undo isolation of a machine. diff --git a/windows/security/threat-protection/windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection.md index 4c8788c337..ad5ef448fd 100644 --- a/windows/security/threat-protection/windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection.md @@ -13,13 +13,13 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Remove app restriction API +# Remove app restriction API (deprecated) **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) - +[!include[Deprecatedinformation](deprecate.md)] Unrestrict execution of set of predefined applications. diff --git a/windows/security/threat-protection/windows-defender-atp/use-apis.md b/windows/security/threat-protection/windows-defender-atp/use-apis.md new file mode 100644 index 0000000000..29347f933e --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/use-apis.md @@ -0,0 +1,26 @@ +--- +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 +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 APIs + +**Applies to:** +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + +## In this section +Topic | Description +:---|:--- +Create your app | Learn how to create an application to get programmatical access to Windows Defender ATP on behalf of a user or without a user. +Supported Windows Defender ATP APIs | 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. +How to use APIs - Samples | Learn how to use Advanced hunting APIs and multiple APIs such as PowerShell. From 0a834c1bc20657781726043ab63f4ea3eecbb15b Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Wed, 17 Oct 2018 17:39:59 -0700 Subject: [PATCH 118/162] update atp toc --- .../windows-defender-atp/TOC.md | 110 +++++++++--------- 1 file changed, 55 insertions(+), 55 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/TOC.md b/windows/security/threat-protection/windows-defender-atp/TOC.md index bb86581bf3..77d493783a 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -294,63 +294,63 @@ ##### [Use the Windows Defender ATP exposed APIs (deprecated)](exposed-apis-windows-defender-advanced-threat-protection.md) ###### [Supported Windows Defender ATP APIs (deprecated)](supported-apis-windows-defender-advanced-threat-protection.md) -#######Actor -######## [Get actor information](get-actor-information-windows-defender-advanced-threat-protection.md) -######## [Get actor related alerts](get-actor-related-alerts-windows-defender-advanced-threat-protection.md) -#######Alerts -######## [Get alerts](get-alerts-windows-defender-advanced-threat-protection.md) -######## [Get alert information by ID](get-alert-info-by-id-windows-defender-advanced-threat-protection.md) -######## [Get alert related actor information](get-alert-related-actor-info-windows-defender-advanced-threat-protection.md) -######## [Get alert related domain information](get-alert-related-domain-info-windows-defender-advanced-threat-protection.md) -######## [Get alert related file information](get-alert-related-files-info-windows-defender-advanced-threat-protection.md) -######## [Get alert related IP information](get-alert-related-ip-info-windows-defender-advanced-threat-protection.md) -######## [Get alert related machine information](get-alert-related-machine-info-windows-defender-advanced-threat-protection.md) -#######Domain -######## [Get domain related alerts](get-domain-related-alerts-windows-defender-advanced-threat-protection.md) -######## [Get domain related machines](get-domain-related-machines-windows-defender-advanced-threat-protection.md) -######## [Get domain statistics](get-domain-statistics-windows-defender-advanced-threat-protection.md) -######## [Is domain seen in organization](is-domain-seen-in-org-windows-defender-advanced-threat-protection.md) +#######Actor (deprecated) +######## [Get actor information (deprecated)](windows-defender-atp/get-actor-information-windows-defender-advanced-threat-protection.md) +######## [Get actor related alerts (deprecated)](windows-defender-atp/get-actor-related-alerts-windows-defender-advanced-threat-protection.md) +#######Alerts (deprecated) +######## [Get alerts (deprecated)](windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection.md) +######## [Get alert information by ID (deprecated)](windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection.md) +######## [Get alert related actor information (deprecated)](windows-defender-atp/get-alert-related-actor-info-windows-defender-advanced-threat-protection.md) +######## [Get alert related domain information (deprecated)](windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection.md) +######## [Get alert related file information](windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection.md) +######## [Get alert related IP information (deprecated)](windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection.md) +######## [Get alert related machine information (deprecated)](windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection.md) +#######Domain (deprecated) +######## [Get domain related alerts (deprecated)](windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection.md) +######## [Get domain related machines (deprecated)](windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection.md) +######## [Get domain statistics (deprecated)](windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection.md) +######## [Is domain seen in organization (deprecated)](windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection.md) -#######File -######## [Block file](block-file-windows-defender-advanced-threat-protection.md) -######## [Get file information](get-file-information-windows-defender-advanced-threat-protection.md) -######## [Get file related alerts](get-file-related-alerts-windows-defender-advanced-threat-protection.md) -######## [Get file related machines](get-file-related-machines-windows-defender-advanced-threat-protection.md) -######## [Get file statistics](get-file-statistics-windows-defender-advanced-threat-protection.md) -######## [Get FileActions collection](get-fileactions-collection-windows-defender-advanced-threat-protection.md) -######## [Unblock file](unblock-file-windows-defender-advanced-threat-protection.md) +#######File(deprecated) +######## [Block file (deprecated)](windows-defender-atp/block-file-windows-defender-advanced-threat-protection.md) +######## [Get file information (deprecated)](get-file-information-windows-defender-advanced-threat-protection.md) +######## [Get file related alerts (deprecated)](get-file-related-alerts-windows-defender-advanced-threat-protection.md) +######## [Get file related machines (deprecated)](get-file-related-machines-windows-defender-advanced-threat-protection.md) +######## [Get file statistics (deprecated)](get-file-statistics-windows-defender-advanced-threat-protection.md) +######## [Get FileActions collection (deprecated)](get-fileactions-collection-windows-defender-advanced-threat-protection.md) +######## [Unblock file (deprecated)](unblock-file-windows-defender-advanced-threat-protection.md) + +#######IP (deprecated) +######## [Get IP related alerts (deprecated)](get-ip-related-alerts-windows-defender-advanced-threat-protection.md) +######## [Get IP related machines (deprecated)](get-ip-related-machines-windows-defender-advanced-threat-protection.md) +######## [Get IP statistics (deprecated)](get-ip-statistics-windows-defender-advanced-threat-protection.md) +######## [Is IP seen in organization (deprecated)](is-ip-seen-org-windows-defender-advanced-threat-protection.md) +#######Machines (deprecated) +######## [Collect investigation package (deprecated)](collect-investigation-package-windows-defender-advanced-threat-protection.md) +######## [Find machine information by IP (deprecated)](find-machine-info-by-ip-windows-defender-advanced-threat-protection.md) +######## [Get machines (deprecated)](get-machines-windows-defender-advanced-threat-protection.md) +######## [Get FileMachineAction object (deprecated)](get-filemachineaction-object-windows-defender-advanced-threat-protection.md) +######## [Get FileMachineActions collection (deprecated)](get-filemachineactions-collection-windows-defender-advanced-threat-protection.md) +######## [Get machine by ID (deprecated)](get-machine-by-id-windows-defender-advanced-threat-protection.md) +######## [Get machine log on users (deprecated)](get-machine-log-on-users-windows-defender-advanced-threat-protection.md) +######## [Get machine related alerts (deprecated)](get-machine-related-alerts-windows-defender-advanced-threat-protection.md) +######## [Get MachineAction object (deprecated)](get-machineaction-object-windows-defender-advanced-threat-protection.md) +######## [Get MachineActions collection (deprecated)](get-machineactions-collection-windows-defender-advanced-threat-protection.md) +######## [Get machines (deprecated)](get-machines-windows-defender-advanced-threat-protection.md) +######## [Get package SAS URI (deprecated)](get-package-sas-uri-windows-defender-advanced-threat-protection.md) +######## [Isolate machine (deprecated)](isolate-machine-windows-defender-advanced-threat-protection.md) +######## [Release machine from isolation (deprecated)](unisolate-machine-windows-defender-advanced-threat-protection.md) +######## [Remove app restriction (deprecated)](unrestrict-code-execution-windows-defender-advanced-threat-protection.md) +######## [Request sample (deprecated)](request-sample-windows-defender-advanced-threat-protection.md) +######## [Restrict app execution (deprecated)](restrict-code-execution-windows-defender-advanced-threat-protection.md) +######## [Run antivirus scan (deprecated)](run-av-scan-windows-defender-advanced-threat-protection.md) +######## [Stop and quarantine file (deprecated)](stop-quarantine-file-windows-defender-advanced-threat-protection.md) -#######IP -######## [Get IP related alerts](get-ip-related-alerts-windows-defender-advanced-threat-protection.md) -######## [Get IP related machines](get-ip-related-machines-windows-defender-advanced-threat-protection.md) -######## [Get IP statistics](get-ip-statistics-windows-defender-advanced-threat-protection.md) -######## [Is IP seen in organization](is-ip-seen-org-windows-defender-advanced-threat-protection.md) -#######Machines -######## [Collect investigation package](collect-investigation-package-windows-defender-advanced-threat-protection.md) -######## [Find machine information by IP](find-machine-info-by-ip-windows-defender-advanced-threat-protection.md) -######## [Get machines](get-machines-windows-defender-advanced-threat-protection.md) -######## [Get FileMachineAction object](get-filemachineaction-object-windows-defender-advanced-threat-protection.md) -######## [Get FileMachineActions collection](get-filemachineactions-collection-windows-defender-advanced-threat-protection.md) -######## [Get machine by ID](get-machine-by-id-windows-defender-advanced-threat-protection.md) -######## [Get machine log on users](get-machine-log-on-users-windows-defender-advanced-threat-protection.md) -######## [Get machine related alerts](get-machine-related-alerts-windows-defender-advanced-threat-protection.md) -######## [Get MachineAction object](get-machineaction-object-windows-defender-advanced-threat-protection.md) -######## [Get MachineActions collection](get-machineactions-collection-windows-defender-advanced-threat-protection.md) -######## [Get machines](get-machines-windows-defender-advanced-threat-protection.md) -######## [Get package SAS URI](get-package-sas-uri-windows-defender-advanced-threat-protection.md) -######## [Isolate machine](isolate-machine-windows-defender-advanced-threat-protection.md) -######## [Release machine from isolation](unisolate-machine-windows-defender-advanced-threat-protection.md) -######## [Remove app restriction](unrestrict-code-execution-windows-defender-advanced-threat-protection.md) -######## [Request sample](request-sample-windows-defender-advanced-threat-protection.md) -######## [Restrict app execution](restrict-code-execution-windows-defender-advanced-threat-protection.md) -######## [Run antivirus scan](run-av-scan-windows-defender-advanced-threat-protection.md) -######## [Stop and quarantine file](stop-quarantine-file-windows-defender-advanced-threat-protection.md) - -#######User -######## [Get alert related user information](get-alert-related-user-info-windows-defender-advanced-threat-protection.md) -######## [Get user information](get-user-information-windows-defender-advanced-threat-protection.md) -######## [Get user related alerts](get-user-related-alerts-windows-defender-advanced-threat-protection.md) -######## [Get user related machines](get-user-related-machines-windows-defender-advanced-threat-protection.md) +#######User (deprecated) +######## [Get alert related user information (deprecated)](get-alert-related-user-info-windows-defender-advanced-threat-protection.md) +######## [Get user information (deprecated)](get-user-information-windows-defender-advanced-threat-protection.md) +######## [Get user related alerts (deprecated)](get-user-related-alerts-windows-defender-advanced-threat-protection.md) +######## [Get user related machines (deprecated)](get-user-related-machines-windows-defender-advanced-threat-protection.md) From eba15dc3a310f4bed66038366aba9b0691139341 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Fri, 19 Oct 2018 14:48:30 -0700 Subject: [PATCH 119/162] fix links --- windows/security/threat-protection/TOC.md | 2 +- .../windows-defender-atp/TOC.md | 30 +++++++++---------- ...defender-advanced-threat-protection-new.md | 2 +- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 5c6903520e..5ee476d097 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -190,7 +190,7 @@ ### [Configure and manage capabilities](windows-defender-atp/onboard.md) #### [Configure attack surface reduction](windows-defender-atp/configure-attack-surface-reduction.md) ##### [Hardware-based isolation](windows-defender-application-guard/install-wd-app-guard.md) -###### [Confguration settings](windows-defender-application-guard/configure-wd-app-guard.md) +###### [Configuration settings](windows-defender-application-guard/configure-wd-app-guard.md) ##### [Application control](windows-defender-application-control/windows-defender-application-control.md) ##### [Device control](device-guard/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md) ###### [Memory integrity](windows-defender-exploit-guard/memory-integrity.md) diff --git a/windows/security/threat-protection/windows-defender-atp/TOC.md b/windows/security/threat-protection/windows-defender-atp/TOC.md index 77d493783a..778e78596d 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -223,7 +223,7 @@ ###### [Troubleshoot subscription and portal access issues](troubleshoot-onboarding-error-messages-windows-defender-advanced-threat-protection.md) -#### [Windows Defender ATP APIs](exposed-apis-intro.md) +#### [Windows Defender ATP APIs](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) @@ -295,24 +295,24 @@ ##### [Use the Windows Defender ATP exposed APIs (deprecated)](exposed-apis-windows-defender-advanced-threat-protection.md) ###### [Supported Windows Defender ATP APIs (deprecated)](supported-apis-windows-defender-advanced-threat-protection.md) #######Actor (deprecated) -######## [Get actor information (deprecated)](windows-defender-atp/get-actor-information-windows-defender-advanced-threat-protection.md) -######## [Get actor related alerts (deprecated)](windows-defender-atp/get-actor-related-alerts-windows-defender-advanced-threat-protection.md) +######## [Get actor information (deprecated)](get-actor-information-windows-defender-advanced-threat-protection.md) +######## [Get actor related alerts (deprecated)](get-actor-related-alerts-windows-defender-advanced-threat-protection.md) #######Alerts (deprecated) -######## [Get alerts (deprecated)](windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection.md) -######## [Get alert information by ID (deprecated)](windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection.md) -######## [Get alert related actor information (deprecated)](windows-defender-atp/get-alert-related-actor-info-windows-defender-advanced-threat-protection.md) -######## [Get alert related domain information (deprecated)](windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection.md) -######## [Get alert related file information](windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection.md) -######## [Get alert related IP information (deprecated)](windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection.md) -######## [Get alert related machine information (deprecated)](windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection.md) +######## [Get alerts (deprecated)](get-alerts-windows-defender-advanced-threat-protection.md) +######## [Get alert information by ID (deprecated)](get-alert-info-by-id-windows-defender-advanced-threat-protection.md) +######## [Get alert related actor information (deprecated)](get-alert-related-actor-info-windows-defender-advanced-threat-protection.md) +######## [Get alert related domain information (deprecated)](get-alert-related-domain-info-windows-defender-advanced-threat-protection.md) +######## [Get alert related file information](get-alert-related-files-info-windows-defender-advanced-threat-protection.md) +######## [Get alert related IP information (deprecated)](get-alert-related-ip-info-windows-defender-advanced-threat-protection.md) +######## [Get alert related machine information (deprecated)](get-alert-related-machine-info-windows-defender-advanced-threat-protection.md) #######Domain (deprecated) -######## [Get domain related alerts (deprecated)](windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection.md) -######## [Get domain related machines (deprecated)](windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection.md) -######## [Get domain statistics (deprecated)](windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection.md) -######## [Is domain seen in organization (deprecated)](windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection.md) +######## [Get domain related alerts (deprecated)](get-domain-related-alerts-windows-defender-advanced-threat-protection.md) +######## [Get domain related machines (deprecated)](get-domain-related-machines-windows-defender-advanced-threat-protection.md) +######## [Get domain statistics (deprecated)](get-domain-statistics-windows-defender-advanced-threat-protection.md) +######## [Is domain seen in organization (deprecated)](is-domain-seen-in-org-windows-defender-advanced-threat-protection.md) #######File(deprecated) -######## [Block file (deprecated)](windows-defender-atp/block-file-windows-defender-advanced-threat-protection.md) +######## [Block file (deprecated)](block-file-windows-defender-advanced-threat-protection.md) ######## [Get file information (deprecated)](get-file-information-windows-defender-advanced-threat-protection.md) ######## [Get file related alerts (deprecated)](get-file-related-alerts-windows-defender-advanced-threat-protection.md) ######## [Get file related machines (deprecated)](get-file-related-machines-windows-defender-advanced-threat-protection.md) diff --git a/windows/security/threat-protection/windows-defender-atp/add-or-remove-machine-tags-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/add-or-remove-machine-tags-windows-defender-advanced-threat-protection-new.md index db36c8aa7e..e28bac587b 100644 --- a/windows/security/threat-protection/windows-defender-atp/add-or-remove-machine-tags-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/add-or-remove-machine-tags-windows-defender-advanced-threat-protection-new.md @@ -22,7 +22,7 @@ ms.date: 12/08/2017 - Adds or remove tag to a specific machine. ## 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) +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](apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- From 713af4035600d33ed2b7796e347c5c0d0eef9fa7 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Fri, 19 Oct 2018 15:53:13 -0700 Subject: [PATCH 120/162] fix links add intro to toc --- windows/security/threat-protection/TOC.md | 3 --- .../security/threat-protection/windows-defender-atp/TOC.md | 2 +- ...package-windows-defender-advanced-threat-protection-new.md | 2 +- ...ference-windows-defender-advanced-threat-protection-new.md | 2 +- .../windows-defender-atp/exposed-apis-create-app-nativeapp.md | 4 ++-- .../windows-defender-atp/exposed-apis-create-app-webapp.md | 4 ++-- .../exposed-apis-full-sample-powershell.md | 4 ++-- .../windows-defender-atp/exposed-apis-list.md | 2 +- ...o-by-ip-windows-defender-advanced-threat-protection-new.md | 2 +- ...s-by-ip-windows-defender-advanced-threat-protection-new.md | 2 +- ...o-by-id-windows-defender-advanced-threat-protection-new.md | 2 +- ...in-info-windows-defender-advanced-threat-protection-new.md | 2 +- ...es-info-windows-defender-advanced-threat-protection-new.md | 2 +- ...ip-info-windows-defender-advanced-threat-protection-new.md | 2 +- ...ne-info-windows-defender-advanced-threat-protection-new.md | 2 +- ...er-info-windows-defender-advanced-threat-protection-new.md | 2 +- ...-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 | 2 +- ...rmation-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 | 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 | 2 +- ...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 +- ...sas-uri-windows-defender-advanced-threat-protection-new.md | 2 +- ...rmation-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 +- ...-in-org-windows-defender-advanced-threat-protection-new.md | 2 +- ...een-org-windows-defender-advanced-threat-protection-new.md | 2 +- ...machine-windows-defender-advanced-threat-protection-new.md | 2 +- ...ine-api-windows-defender-advanced-threat-protection-new.md | 2 +- ...ecution-windows-defender-advanced-threat-protection-new.md | 2 +- .../windows-defender-atp/run-advanced-query-api.md | 4 ++-- .../windows-defender-atp/run-advanced-query-sample-ms-flow.md | 4 ++-- .../run-advanced-query-sample-power-bi-app-token.md | 2 +- .../run-advanced-query-sample-power-bi-user-token.md | 2 +- .../run-advanced-query-sample-powershell.md | 4 ++-- .../windows-defender-atp/run-advanced-query-sample-python.md | 4 ++-- ...av-scan-windows-defender-advanced-threat-protection-new.md | 2 +- ...machine-windows-defender-advanced-threat-protection-new.md | 2 +- ...ecution-windows-defender-advanced-threat-protection-new.md | 2 +- ...e-alert-windows-defender-advanced-threat-protection-new.md | 2 +- 51 files changed, 57 insertions(+), 60 deletions(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 5ee476d097..8f9ed77c75 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -151,10 +151,7 @@ #### [Management and APIs](windows-defender-atp/management-apis.md) ##### [Understand threat intelligence concepts](windows-defender-atp/threat-indicator-concepts-windows-defender-advanced-threat-protection.md) - ##### [Windows Defender ATP APIs](windows-defender-atp/apis-intro.md) - - ##### [Managed security service provider support](windows-defender-atp/mssp-support-windows-defender-advanced-threat-protection.md) #### [Microsoft threat protection](windows-defender-atp/threat-protection-integration.md) diff --git a/windows/security/threat-protection/windows-defender-atp/TOC.md b/windows/security/threat-protection/windows-defender-atp/TOC.md index 778e78596d..6cd151e73c 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -84,7 +84,7 @@ ### [Management and APIs](management-apis.md) #### [Understand threat intelligence concepts](threat-indicator-concepts-windows-defender-advanced-threat-protection.md) - +#### [Windows Defender ATP APIs](apis-intro.md) #### [Managed security service provider support](mssp-support-windows-defender-advanced-threat-protection.md) 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 7783e25c09..bcd6861b37 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 @@ -24,7 +24,7 @@ Collect investigation package from a machine. [!include[Machine actions note](machineactionsnote.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) +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](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 46747a3c0d..16b7b0524d 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 [Use Windows Defender ATP APIs](exposed-apis-intro.md) +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](apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- 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 28a6892fb8..679dc47866 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 @@ -29,7 +29,7 @@ This page describe how to create an application to get programmatical access to If you need programmatical access Windows Defender ATP without a user, refer to [Access Windows Defender ATP without a user](exposed-apis-create-app-webapp.md). -If you are not sure which access you need, read the [Introduction page](exposed-apis-intro.md). +If you are not sure which access you need, read the [Introduction page](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). @@ -170,6 +170,6 @@ Sanity check to make sure you got a correct token: ``` ## Related topics -- [Windows Defender ATP APIs](exposed-apis-intro.md) +- [Windows Defender ATP APIs](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 index 0ae84e76b3..ca0153916b 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 @@ -27,7 +27,7 @@ This page describes how to create an application to get programmatical access to If you need programmatical access Windows Defender ATP on behalf of a user, see [Access Windows Defender ATP on behalf of a user](exposed-apis-create-app-nativeapp.md) -If you are not sure which access you need, see [Use Windows Defender ATP APIs](exposed-apis-intro.md). +If you are not sure which access you need, see [Use Windows Defender ATP APIs](apis-intro.md). 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). @@ -215,6 +215,6 @@ Sanity check to make sure you got a correct token: ``` ## Related topics -- [Windows Defender ATP APIs](exposed-apis-intro.md) +- [Windows Defender ATP APIs](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-full-sample-powershell.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-full-sample-powershell.md index ed69b07caf..0ff6172338 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 @@ -27,7 +27,7 @@ In this section we share PowerShell samples to - Use token to retrieve the latest alerts in Windows Defender ATP - 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). +>**Prerequisite**: You first need to [create an app](apis-intro.md). ## Preparation Instructions @@ -112,7 +112,7 @@ $response ## Related topic -- [Windows Defender ATP APIs](exposed-apis-intro.md) +- [Windows Defender ATP APIs](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/exposed-apis-list.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-list.md index 4afdfd5ac2..d8edf97d46 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-list.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-list.md @@ -36,4 +36,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 -- [Windows Defender ATP APIs](exposed-apis-intro.md) +- [Windows Defender ATP APIs](apis-intro.md) 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 443b86b728..5f1df97182 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 [Use Windows Defender ATP APIs](exposed-apis-intro.md) +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](apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- diff --git a/windows/security/threat-protection/windows-defender-atp/find-machines-by-ip-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/find-machines-by-ip-windows-defender-advanced-threat-protection-new.md index 61c158ed1b..495830551e 100644 --- a/windows/security/threat-protection/windows-defender-atp/find-machines-by-ip-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/find-machines-by-ip-windows-defender-advanced-threat-protection-new.md @@ -24,7 +24,7 @@ ms.date: 12/08/2017 - The given timestamp must be in the past 30 days. ## 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) +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](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 2ad984ccf6..d2187f343b 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 @@ -22,7 +22,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 [Use Windows Defender ATP APIs](exposed-apis-intro.md) +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](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 6ed27e2648..0df45988d6 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 @@ -22,7 +22,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 [Use Windows Defender ATP APIs](exposed-apis-intro.md) +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](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 951363752e..0761a7b22c 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 @@ -22,7 +22,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 [Use Windows Defender ATP APIs](exposed-apis-intro.md) +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](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 45eca676f9..0aa81fbd10 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 @@ -23,7 +23,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 [Use Windows Defender ATP APIs](exposed-apis-intro.md) +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](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 2aaf342cae..5eec325056 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 @@ -22,7 +22,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 [Use Windows Defender ATP APIs](exposed-apis-intro.md) +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](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 8e6501fcf1..143f06474b 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 @@ -23,7 +23,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 [Use Windows Defender ATP APIs](exposed-apis-intro.md) +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](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 4d4e5e0cb0..c68a75f6be 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 @@ -25,7 +25,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 [Use Windows Defender ATP APIs](exposed-apis-intro.md) +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](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 fc469816ef..ee1404dd5e 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 @@ -27,7 +27,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 [Use Windows Defender ATP APIs](exposed-apis-intro.md) +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](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 f1fd36c675..4d69da1a53 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 @@ -22,7 +22,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 [Use Windows Defender ATP APIs](exposed-apis-intro.md) +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](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 7bfd097dd2..d3dd0b2f72 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 @@ -23,7 +23,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 [Use Windows Defender ATP APIs](exposed-apis-intro.md) +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](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 63aabdd191..2080cabc06 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 @@ -24,7 +24,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 [Use Windows Defender ATP APIs](exposed-apis-intro.md) +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](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 284cb68225..0ef637c98e 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 @@ -25,7 +25,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 [Use Windows Defender ATP APIs](exposed-apis-intro.md) +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](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 ca74749c35..94de515e8e 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 @@ -23,7 +23,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 [Use Windows Defender ATP APIs](exposed-apis-intro.md) +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](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 a53c06b80a..31913eb556 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 @@ -27,7 +27,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 [Use Windows Defender ATP APIs](exposed-apis-intro.md) +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](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 92ca8d53d4..27c06e86a8 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 @@ -23,7 +23,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 [Use Windows Defender ATP APIs](exposed-apis-intro.md) +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](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 f68e1e12b1..20449184f7 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 [Use Windows Defender ATP APIs](exposed-apis-intro.md) +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](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 cdeaa1e441..763444713a 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 @@ -25,7 +25,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 [Use Windows Defender ATP APIs](exposed-apis-intro.md) +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](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 335b6efcb7..4211bbbb1f 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 @@ -23,7 +23,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 [Use Windows Defender ATP APIs](exposed-apis-intro.md) +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](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 5dad09904f..31988d7d7b 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 @@ -23,7 +23,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 [Use Windows Defender ATP APIs](exposed-apis-intro.md) +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](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 2fd9e07d99..fc89631378 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 @@ -23,7 +23,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 [Use Windows Defender ATP APIs](exposed-apis-intro.md) +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](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 17e20f0b73..96a4953581 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 @@ -22,7 +22,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 [Use Windows Defender ATP APIs](exposed-apis-intro.md) +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](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 d057cb5c85..77fcc41c80 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 @@ -25,7 +25,7 @@ ms.date: 12/08/2017 Get MachineAction collection API supports [OData V4 queries](https://www.odata.org/documentation/). ## 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) +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](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 bf4cb3c934..6b90d0ff62 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 @@ -22,7 +22,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.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) +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](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 b0c31a0088..ea4a25eca2 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 [Use Windows Defender ATP APIs](exposed-apis-intro.md) +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](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 bca064ca3f..2ff5212e4b 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 @@ -22,7 +22,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 [Use Windows Defender ATP APIs](exposed-apis-intro.md) +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](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 2198203628..53e0047b39 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 @@ -22,7 +22,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 [Use Windows Defender ATP APIs](exposed-apis-intro.md) +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](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 22bf9eb5a9..066dac83dd 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 @@ -23,7 +23,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 [Use Windows Defender ATP APIs](exposed-apis-intro.md) +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](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 b976177106..fc6b531fc1 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 [Use Windows Defender ATP APIs](exposed-apis-intro.md) +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](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 33e7130f36..696d961f94 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 @@ Isolates a machine from accessing external network. [!include[Machine actions note](machineactionsnote.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) +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](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 13b8574222..0200975d55 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 @@ Offboard machine from WDATP. [!include[Machine actions note](machineactionsnote.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) +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](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 90321fb7ff..d57876fdc0 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 @@ Restrict execution of all applications on the machine except a predefined set (s [!include[Machine actions note](machineactionsnote.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) +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](apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- 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 775c140d57..cb0a5624af 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 @@ -32,7 +32,7 @@ This API is a beta version only and is currently restricted to the following act 3. The number 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 [Use Windows Defender ATP APIs](exposed-apis-intro.md) +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](apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- @@ -145,7 +145,7 @@ Content-Type: application/json​ ## Related topic -- [Windows Defender ATP APIs](exposed-apis-intro.md) +- [Windows Defender ATP APIs](apis-intro.md) - [Advanced Hunting from Portal](advanced-hunting-windows-defender-advanced-threat-protection.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-sample-ms-flow.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-ms-flow.md index e0ae5f9b2d..dd62b3ea19 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-ms-flow.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-ms-flow.md @@ -22,7 +22,7 @@ ms.date: 09/24/2018 Schedule advanced query. ## Before you begin -You first need to [create an app](exposed-apis-intro.md). +You first need to [create an app](apis-intro.md). ## Use case @@ -83,6 +83,6 @@ You can find below the full definition ![Image of E2E flow](images/ms-flow-e2e.png) ## Related topic -- [Windows Defender ATP APIs](exposed-apis-intro.md) +- [Windows Defender ATP APIs](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-sample-power-bi-app-token.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-power-bi-app-token.md index c20268f3b5..04c224b498 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 @@ -128,7 +128,7 @@ If you want to use **user token** instead please refer to [this](run-advanced-qu ## 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) +- [Windows Defender ATP APIs](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) 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 4c57316ddc..333683cda5 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 @@ -112,7 +112,7 @@ You first need to [create an app](exposed-apis-create-app-nativeapp.md). ## 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) +- [Windows Defender ATP APIs](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) 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 ca0f03811b..ae59b2fe28 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 @@ -25,7 +25,7 @@ Run advanced queries using PowerShell, see [Advanced Hunting API](run-advanced-q In this section we share PowerShell samples to retrieve a token and use it to run a query. ## Before you begin -You first need to [create an app](exposed-apis-intro.md). +You first need to [create an app](apis-intro.md). ## Preparation instructions @@ -113,7 +113,7 @@ $results | ConvertTo-Json | Set-Content file1.json ## Related topic -- [Windows Defender ATP APIs](exposed-apis-intro.md) +- [Windows Defender ATP APIs](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-sample-python.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-python.md index afd8a8d4d4..fd546b266a 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 @@ -23,7 +23,7 @@ Run advanced queries using Python, see [Advanced Hunting API](run-advanced-query 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-intro.md). +>**Prerequisite**: You first need to [create an app](apis-intro.md). ## Get token @@ -140,7 +140,7 @@ outputFile.close() ## Related topic -- [Windows Defender ATP APIs](exposed-apis-intro.md) +- [Windows Defender ATP APIs](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) 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 f8a0432c1d..c9ae44eb2b 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 @@ Initiate Windows Defender Antivirus scan on a machine. [!include[Machine actions note](machineactionsnote.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) +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](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 237350b465..0b654aa63c 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 @@ Undo isolation of a machine. [!include[Machine actions note](machineactionsnote.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) +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](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 fd0479fd8a..8ca7430854 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 @@ Enable execution of any application on the machine. [!include[Machine actions note](machineactionsnote.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) +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](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 7d7bc5537c..37d8b92160 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 @@ -23,7 +23,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 [Use Windows Defender ATP APIs](exposed-apis-intro.md) +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](apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- From 2cb6f106c639d3f6a6eb93fcc3c0eaf2043698e1 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Fri, 19 Oct 2018 16:36:16 -0700 Subject: [PATCH 121/162] update toc --- windows/security/threat-protection/TOC.md | 126 +++++++++--------- .../windows-defender-atp/TOC.md | 118 ++++++++-------- .../windows-defender-atp/use-apis.md | 2 +- 3 files changed, 123 insertions(+), 123 deletions(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 8f9ed77c75..8cb9e6a5b1 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -291,7 +291,7 @@ ###### [Troubleshoot onboarding issues](windows-defender-atp/troubleshoot-onboarding-windows-defender-advanced-threat-protection.md) ####### [Troubleshoot subscription and portal access issues](windows-defender-atp/troubleshoot-onboarding-error-messages-windows-defender-advanced-threat-protection.md) -##### [Windows Defender ATP APIs](windows-defender-atp/use-apis.md) +##### [Use the Windows Defender ATP exposed APIs](windows-defender-atp/use-apis.md) ###### Create your app ####### [Get access on behalf of a user](windows-defender-atp/exposed-apis-create-app-nativeapp.md) ####### [Get access without a user](windows-defender-atp/exposed-apis-create-app-webapp.md) @@ -359,71 +359,71 @@ ####### Multiple APIs ######## [PowerShell](windows-defender-atp/exposed-apis-full-sample-powershell.md) -###### [Windows Defender ATP exposed APIs (deprecated)](windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection.md) -####### [Supported Windows Defender ATP APIs (deprecated)](windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection.md) -########Actor (deprecated) -######### [Get actor information (deprecated)](windows-defender-atp/get-actor-information-windows-defender-advanced-threat-protection.md) -######### [Get actor related alerts (deprecated)](windows-defender-atp/get-actor-related-alerts-windows-defender-advanced-threat-protection.md) -########Alerts (deprecated) -######### [Get alerts (deprecated)](windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection.md) -######### [Get alert information by ID (deprecated)](windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection.md) -######### [Get alert related actor information (deprecated)](windows-defender-atp/get-alert-related-actor-info-windows-defender-advanced-threat-protection.md) -######### [Get alert related domain information (deprecated)](windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection.md) -######### [Get alert related file information](windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection.md) -######### [Get alert related IP information (deprecated)](windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection.md) -######### [Get alert related machine information (deprecated)](windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection.md) -########Domain (deprecated) -######### [Get domain related alerts (deprecated)](windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection.md) -######### [Get domain related machines (deprecated)](windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection.md) -######### [Get domain statistics (deprecated)](windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection.md) -######### [Is domain seen in organization (deprecated)](windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection.md) - -########File(deprecated) -######### [Block file (deprecated)](windows-defender-atp/block-file-windows-defender-advanced-threat-protection.md) -######### [Get file information (deprecated)](windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection.md) -######### [Get file related alerts (deprecated)](windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection.md) -######### [Get file related machines (deprecated)](windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection.md) -######### [Get file statistics (deprecated)](windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection.md) -######### [Get FileActions collection (deprecated)](windows-defender-atp/get-fileactions-collection-windows-defender-advanced-threat-protection.md) -######### [Unblock file (deprecated)](windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection.md) +##### [Use the Windows Defender ATP exposed APIs (deprecated)](windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection.md) +###### [Supported Windows Defender ATP APIs (deprecated)](windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection.md) +#######Actor (deprecated) +######## [Get actor information (deprecated)](windows-defender-atp/get-actor-information-windows-defender-advanced-threat-protection.md) +######## [Get actor related alerts (deprecated)](windows-defender-atp/get-actor-related-alerts-windows-defender-advanced-threat-protection.md) +#######Alerts (deprecated) +######## [Get alerts (deprecated)](windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection.md) +######## [Get alert information by ID (deprecated)](windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection.md) +######## [Get alert related actor information (deprecated)](windows-defender-atp/get-alert-related-actor-info-windows-defender-advanced-threat-protection.md) +######## [Get alert related domain information (deprecated)](windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection.md) +######## [Get alert related file information (deprecated)](windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection.md) +######## [Get alert related IP information (deprecated)](windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection.md) +######## [Get alert related machine information (deprecated)](windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection.md) +#######Domain (deprecated) +######## [Get domain related alerts (deprecated)](windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection.md) +######## [Get domain related machines (deprecated)](windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection.md) +######## [Get domain statistics (deprecated)](windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection.md) +######## [Is domain seen in organization (deprecated)](windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection.md) -########IP (deprecated) -######### [Get IP related alerts (deprecated)](windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection.md) -######### [Get IP related machines (deprecated)](windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection.md) -######### [Get IP statistics (deprecated)](windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection.md) -######### [Is IP seen in organization (deprecated)](windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection.md) -########Machines (deprecated) -######### [Collect investigation package (deprecated)](windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection.md) -######### [Find machine information by IP (deprecated)](windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection.md) -######### [Get machines (deprecated)](windows-defender-atp/get-machines-windows-defender-advanced-threat-protection.md) -######### [Get FileMachineAction object (deprecated)](windows-defender-atp/get-filemachineaction-object-windows-defender-advanced-threat-protection.md) -######### [Get FileMachineActions collection (deprecated)](windows-defender-atp/get-filemachineactions-collection-windows-defender-advanced-threat-protection.md) -######### [Get machine by ID (deprecated)](windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection.md) -######### [Get machine log on users (deprecated)](windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection.md) -######### [Get machine related alerts (deprecated)](windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection.md) -######### [Get MachineAction object (deprecated)](windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection.md) -######### [Get MachineActions collection (deprecated)](windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection.md) -######### [Get machines (deprecated)](windows-defender-atp/get-machines-windows-defender-advanced-threat-protection.md) -######### [Get package SAS URI (deprecated)](windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection.md) -######### [Isolate machine (deprecated)](windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection.md) -######### [Release machine from isolation (deprecated)](windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection.md) -######### [Remove app restriction (deprecated)](windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection.md) -######### [Request sample (deprecated)](windows-defender-atp/request-sample-windows-defender-advanced-threat-protection.md) -######### [Restrict app execution (deprecated)](windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection.md) -######### [Run antivirus scan (deprecated)](windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection.md) -######### [Stop and quarantine file (deprecated)](windows-defender-atp/stop-quarantine-file-windows-defender-advanced-threat-protection.md) - -########User (deprecated) -######### [Get alert related user information (deprecated)](windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection.md) -######### [Get user information (deprecated)](windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection.md) -######### [Get user related alerts (deprecated)](windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection.md) -######### [Get user related machines (deprecated)](windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection.md) +#######File(deprecated) +######## [Block file (deprecated)](windows-defender-atp/block-file-windows-defender-advanced-threat-protection.md) +######## [Get file information (deprecated)](windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection.md) +######## [Get file related alerts (deprecated)](windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection.md) +######## [Get file related machines (deprecated)](windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection.md) +######## [Get file statistics (deprecated)](windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection.md) +######## [Get FileActions collection (deprecated)](windows-defender-atp/get-fileactions-collection-windows-defender-advanced-threat-protection.md) +######## [Unblock file (deprecated)](windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection.md) + +#######IP (deprecated) +######## [Get IP related alerts (deprecated)](windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection.md) +######## [Get IP related machines (deprecated)](windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection.md) +######## [Get IP statistics (deprecated)](windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection.md) +######## [Is IP seen in organization (deprecated)](windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection.md) +#######Machines (deprecated) +######## [Collect investigation package (deprecated)](windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection.md) +######## [Find machine information by IP (deprecated)](windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection.md) +######## [Get machines (deprecated)](windows-defender-atp/get-machines-windows-defender-advanced-threat-protection.md) +######## [Get FileMachineAction object (deprecated)](windows-defender-atp/get-filemachineaction-object-windows-defender-advanced-threat-protection.md) +######## [Get FileMachineActions collection (deprecated)](windows-defender-atp/get-filemachineactions-collection-windows-defender-advanced-threat-protection.md) +######## [Get machine by ID (deprecated)](windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection.md) +######## [Get machine log on users (deprecated)](windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection.md) +######## [Get machine related alerts (deprecated)](windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection.md) +######## [Get MachineAction object (deprecated)](windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection.md) +######## [Get MachineActions collection (deprecated)](windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection.md) +######## [Get machines (deprecated)](windows-defender-atp/get-machines-windows-defender-advanced-threat-protection.md) +######## [Get package SAS URI (deprecated)](windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection.md) +######## [Isolate machine (deprecated)](windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection.md) +######## [Release machine from isolation (deprecated)](windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection.md) +######## [Remove app restriction (deprecated)](windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection.md) +######## [Request sample (deprecated)](windows-defender-atp/request-sample-windows-defender-advanced-threat-protection.md) +######## [Restrict app execution (deprecated)](windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection.md) +######## [Run antivirus scan (deprecated)](windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection.md) +######## [Stop and quarantine file (deprecated)](windows-defender-atp/stop-quarantine-file-windows-defender-advanced-threat-protection.md) + +#######User (deprecated) +######## [Get alert related user information (deprecated)](windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection.md) +######## [Get user information (deprecated)](windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection.md) +######## [Get user related alerts (deprecated)](windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection.md) +######## [Get user related machines (deprecated)](windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection.md) -######Windows updates (KB) info -####### [Get KbInfo collection](windows-defender-atp/get-kbinfo-collection-windows-defender-advanced-threat-protection.md) -######Common Vulnerabilities and Exposures (CVE) to KB map -####### [Get CVE-KB map](windows-defender-atp/get-cvekbmap-collection-windows-defender-advanced-threat-protection.md) +#####Windows updates (KB) info +###### [Get KbInfo collection](windows-defender-atp/get-kbinfo-collection-windows-defender-advanced-threat-protection.md) +#####Common Vulnerabilities and Exposures (CVE) to KB map +###### [Get CVE-KB map](windows-defender-atp/get-cvekbmap-collection-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 6cd151e73c..9a1df0211a 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -223,7 +223,7 @@ ###### [Troubleshoot subscription and portal access issues](troubleshoot-onboarding-error-messages-windows-defender-advanced-threat-protection.md) -#### [Windows Defender ATP APIs](apis-intro.md) +#### [Use the Windows Defender ATP exposed APIs](use-apis.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) @@ -292,65 +292,65 @@ ###### Multiple APIs ####### [PowerShell](exposed-apis-full-sample-powershell.md) -##### [Use the Windows Defender ATP exposed APIs (deprecated)](exposed-apis-windows-defender-advanced-threat-protection.md) -###### [Supported Windows Defender ATP APIs (deprecated)](supported-apis-windows-defender-advanced-threat-protection.md) -#######Actor (deprecated) -######## [Get actor information (deprecated)](get-actor-information-windows-defender-advanced-threat-protection.md) -######## [Get actor related alerts (deprecated)](get-actor-related-alerts-windows-defender-advanced-threat-protection.md) -#######Alerts (deprecated) -######## [Get alerts (deprecated)](get-alerts-windows-defender-advanced-threat-protection.md) -######## [Get alert information by ID (deprecated)](get-alert-info-by-id-windows-defender-advanced-threat-protection.md) -######## [Get alert related actor information (deprecated)](get-alert-related-actor-info-windows-defender-advanced-threat-protection.md) -######## [Get alert related domain information (deprecated)](get-alert-related-domain-info-windows-defender-advanced-threat-protection.md) -######## [Get alert related file information](get-alert-related-files-info-windows-defender-advanced-threat-protection.md) -######## [Get alert related IP information (deprecated)](get-alert-related-ip-info-windows-defender-advanced-threat-protection.md) -######## [Get alert related machine information (deprecated)](get-alert-related-machine-info-windows-defender-advanced-threat-protection.md) -#######Domain (deprecated) -######## [Get domain related alerts (deprecated)](get-domain-related-alerts-windows-defender-advanced-threat-protection.md) -######## [Get domain related machines (deprecated)](get-domain-related-machines-windows-defender-advanced-threat-protection.md) -######## [Get domain statistics (deprecated)](get-domain-statistics-windows-defender-advanced-threat-protection.md) -######## [Is domain seen in organization (deprecated)](is-domain-seen-in-org-windows-defender-advanced-threat-protection.md) - -#######File(deprecated) -######## [Block file (deprecated)](block-file-windows-defender-advanced-threat-protection.md) -######## [Get file information (deprecated)](get-file-information-windows-defender-advanced-threat-protection.md) -######## [Get file related alerts (deprecated)](get-file-related-alerts-windows-defender-advanced-threat-protection.md) -######## [Get file related machines (deprecated)](get-file-related-machines-windows-defender-advanced-threat-protection.md) -######## [Get file statistics (deprecated)](get-file-statistics-windows-defender-advanced-threat-protection.md) -######## [Get FileActions collection (deprecated)](get-fileactions-collection-windows-defender-advanced-threat-protection.md) -######## [Unblock file (deprecated)](unblock-file-windows-defender-advanced-threat-protection.md) +#### [Use the Windows Defender ATP exposed APIs (deprecated)](exposed-apis-windows-defender-advanced-threat-protection.md) +##### [Supported Windows Defender ATP APIs (deprecated)](supported-apis-windows-defender-advanced-threat-protection.md) +######Actor (deprecated) +####### [Get actor information (deprecated)](get-actor-information-windows-defender-advanced-threat-protection.md) +####### [Get actor related alerts (deprecated)](get-actor-related-alerts-windows-defender-advanced-threat-protection.md) +######Alerts (deprecated) +####### [Get alerts (deprecated)](get-alerts-windows-defender-advanced-threat-protection.md) +####### [Get alert information by ID (deprecated)](get-alert-info-by-id-windows-defender-advanced-threat-protection.md) +####### [Get alert related actor information (deprecated)](get-alert-related-actor-info-windows-defender-advanced-threat-protection.md) +####### [Get alert related domain information (deprecated)](get-alert-related-domain-info-windows-defender-advanced-threat-protection.md) +####### [Get alert related file information (deprecated)](get-alert-related-files-info-windows-defender-advanced-threat-protection.md) +####### [Get alert related IP information (deprecated)](get-alert-related-ip-info-windows-defender-advanced-threat-protection.md) +####### [Get alert related machine information (deprecated)](get-alert-related-machine-info-windows-defender-advanced-threat-protection.md) +######Domain (deprecated) +####### [Get domain related alerts (deprecated)](get-domain-related-alerts-windows-defender-advanced-threat-protection.md) +####### [Get domain related machines (deprecated)](get-domain-related-machines-windows-defender-advanced-threat-protection.md) +####### [Get domain statistics (deprecated)](get-domain-statistics-windows-defender-advanced-threat-protection.md) +####### [Is domain seen in organization (deprecated)](is-domain-seen-in-org-windows-defender-advanced-threat-protection.md) -#######IP (deprecated) -######## [Get IP related alerts (deprecated)](get-ip-related-alerts-windows-defender-advanced-threat-protection.md) -######## [Get IP related machines (deprecated)](get-ip-related-machines-windows-defender-advanced-threat-protection.md) -######## [Get IP statistics (deprecated)](get-ip-statistics-windows-defender-advanced-threat-protection.md) -######## [Is IP seen in organization (deprecated)](is-ip-seen-org-windows-defender-advanced-threat-protection.md) -#######Machines (deprecated) -######## [Collect investigation package (deprecated)](collect-investigation-package-windows-defender-advanced-threat-protection.md) -######## [Find machine information by IP (deprecated)](find-machine-info-by-ip-windows-defender-advanced-threat-protection.md) -######## [Get machines (deprecated)](get-machines-windows-defender-advanced-threat-protection.md) -######## [Get FileMachineAction object (deprecated)](get-filemachineaction-object-windows-defender-advanced-threat-protection.md) -######## [Get FileMachineActions collection (deprecated)](get-filemachineactions-collection-windows-defender-advanced-threat-protection.md) -######## [Get machine by ID (deprecated)](get-machine-by-id-windows-defender-advanced-threat-protection.md) -######## [Get machine log on users (deprecated)](get-machine-log-on-users-windows-defender-advanced-threat-protection.md) -######## [Get machine related alerts (deprecated)](get-machine-related-alerts-windows-defender-advanced-threat-protection.md) -######## [Get MachineAction object (deprecated)](get-machineaction-object-windows-defender-advanced-threat-protection.md) -######## [Get MachineActions collection (deprecated)](get-machineactions-collection-windows-defender-advanced-threat-protection.md) -######## [Get machines (deprecated)](get-machines-windows-defender-advanced-threat-protection.md) -######## [Get package SAS URI (deprecated)](get-package-sas-uri-windows-defender-advanced-threat-protection.md) -######## [Isolate machine (deprecated)](isolate-machine-windows-defender-advanced-threat-protection.md) -######## [Release machine from isolation (deprecated)](unisolate-machine-windows-defender-advanced-threat-protection.md) -######## [Remove app restriction (deprecated)](unrestrict-code-execution-windows-defender-advanced-threat-protection.md) -######## [Request sample (deprecated)](request-sample-windows-defender-advanced-threat-protection.md) -######## [Restrict app execution (deprecated)](restrict-code-execution-windows-defender-advanced-threat-protection.md) -######## [Run antivirus scan (deprecated)](run-av-scan-windows-defender-advanced-threat-protection.md) -######## [Stop and quarantine file (deprecated)](stop-quarantine-file-windows-defender-advanced-threat-protection.md) - -#######User (deprecated) -######## [Get alert related user information (deprecated)](get-alert-related-user-info-windows-defender-advanced-threat-protection.md) -######## [Get user information (deprecated)](get-user-information-windows-defender-advanced-threat-protection.md) -######## [Get user related alerts (deprecated)](get-user-related-alerts-windows-defender-advanced-threat-protection.md) -######## [Get user related machines (deprecated)](get-user-related-machines-windows-defender-advanced-threat-protection.md) +######File(deprecated) +####### [Block file (deprecated)](block-file-windows-defender-advanced-threat-protection.md) +####### [Get file information (deprecated)](get-file-information-windows-defender-advanced-threat-protection.md) +####### [Get file related alerts (deprecated)](get-file-related-alerts-windows-defender-advanced-threat-protection.md) +####### [Get file related machines (deprecated)](get-file-related-machines-windows-defender-advanced-threat-protection.md) +####### [Get file statistics (deprecated)](get-file-statistics-windows-defender-advanced-threat-protection.md) +####### [Get FileActions collection (deprecated)](get-fileactions-collection-windows-defender-advanced-threat-protection.md) +####### [Unblock file (deprecated)](unblock-file-windows-defender-advanced-threat-protection.md) + +######IP (deprecated) +####### [Get IP related alerts (deprecated)](get-ip-related-alerts-windows-defender-advanced-threat-protection.md) +####### [Get IP related machines (deprecated)](get-ip-related-machines-windows-defender-advanced-threat-protection.md) +####### [Get IP statistics (deprecated)](get-ip-statistics-windows-defender-advanced-threat-protection.md) +####### [Is IP seen in organization (deprecated)](is-ip-seen-org-windows-defender-advanced-threat-protection.md) +######Machines (deprecated) +####### [Collect investigation package (deprecated)](collect-investigation-package-windows-defender-advanced-threat-protection.md) +####### [Find machine information by IP (deprecated)](find-machine-info-by-ip-windows-defender-advanced-threat-protection.md) +####### [Get machines (deprecated)](get-machines-windows-defender-advanced-threat-protection.md) +####### [Get FileMachineAction object (deprecated)](get-filemachineaction-object-windows-defender-advanced-threat-protection.md) +####### [Get FileMachineActions collection (deprecated)](get-filemachineactions-collection-windows-defender-advanced-threat-protection.md) +####### [Get machine by ID (deprecated)](get-machine-by-id-windows-defender-advanced-threat-protection.md) +####### [Get machine log on users (deprecated)](get-machine-log-on-users-windows-defender-advanced-threat-protection.md) +####### [Get machine related alerts (deprecated)](get-machine-related-alerts-windows-defender-advanced-threat-protection.md) +####### [Get MachineAction object (deprecated)](get-machineaction-object-windows-defender-advanced-threat-protection.md) +####### [Get MachineActions collection (deprecated)](get-machineactions-collection-windows-defender-advanced-threat-protection.md) +####### [Get machines (deprecated)](get-machines-windows-defender-advanced-threat-protection.md) +####### [Get package SAS URI (deprecated)](get-package-sas-uri-windows-defender-advanced-threat-protection.md) +####### [Isolate machine (deprecated)](isolate-machine-windows-defender-advanced-threat-protection.md) +####### [Release machine from isolation (deprecated)](unisolate-machine-windows-defender-advanced-threat-protection.md) +####### [Remove app restriction (deprecated)](unrestrict-code-execution-windows-defender-advanced-threat-protection.md) +####### [Request sample (deprecated)](request-sample-windows-defender-advanced-threat-protection.md) +####### [Restrict app execution (deprecated)](restrict-code-execution-windows-defender-advanced-threat-protection.md) +####### [Run antivirus scan (deprecated)](run-av-scan-windows-defender-advanced-threat-protection.md) +####### [Stop and quarantine file (deprecated)](stop-quarantine-file-windows-defender-advanced-threat-protection.md) + +######User (deprecated) +####### [Get alert related user information (deprecated)](get-alert-related-user-info-windows-defender-advanced-threat-protection.md) +####### [Get user information (deprecated)](get-user-information-windows-defender-advanced-threat-protection.md) +####### [Get user related alerts (deprecated)](get-user-related-alerts-windows-defender-advanced-threat-protection.md) +####### [Get user related machines (deprecated)](get-user-related-machines-windows-defender-advanced-threat-protection.md) diff --git a/windows/security/threat-protection/windows-defender-atp/use-apis.md b/windows/security/threat-protection/windows-defender-atp/use-apis.md index 29347f933e..0232e57b31 100644 --- a/windows/security/threat-protection/windows-defender-atp/use-apis.md +++ b/windows/security/threat-protection/windows-defender-atp/use-apis.md @@ -13,7 +13,7 @@ ms.localizationpriority: medium ms.date: 10/23/2017 --- -# Use the Windows Defender ATP APIs +# Use the Windows Defender ATP exposed APIs **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) From 38113b40c0e55629112f830b44ebfef42aa0e254 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Mon, 22 Oct 2018 13:55:55 -0700 Subject: [PATCH 122/162] add deprecated --- .../get-alerts-windows-defender-advanced-threat-protection.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection.md index 45aab8f699..b676d92442 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection.md @@ -13,7 +13,7 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Get alerts API +# Get alerts API (deprecated) **Applies to:** From add209943508cda2d5c8ecac0ed3b194c38cea41 Mon Sep 17 00:00:00 2001 From: David Laufer Date: Wed, 24 Oct 2018 16:20:08 +0300 Subject: [PATCH 123/162] [WDATP] Update advanced hunting URL --- ...-windows-defender-advanced-threat-protection-new.md | 2 +- .../exposed-apis-full-sample-powershell.md | 2 +- ...-windows-defender-advanced-threat-protection-new.md | 2 +- .../windows-defender-atp/run-advanced-query-api.md | 4 ++-- .../run-advanced-query-sample-ms-flow.md | 10 +++++----- .../run-advanced-query-sample-power-bi-app-token.md | 2 +- .../run-advanced-query-sample-power-bi-user-token.md | 2 +- .../run-advanced-query-sample-powershell.md | 2 +- .../run-advanced-query-sample-python.md | 2 +- 9 files changed, 14 insertions(+), 14 deletions(-) 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 16b7b0524d..53054cc36b 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 @@ -39,7 +39,7 @@ Delegated (work or school account) | Alert.ReadWrite | 'Read and write alerts' ## HTTP request ``` -POST /api/CreateAlertByReference +POST https://api.securitycenter.windows.com/api/CreateAlertByReference ``` ## Request headers 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 0ff6172338..5c554d4040 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 @@ -101,7 +101,7 @@ $query = "NetworkCommunicationEvents | where RemoteUrl == `"$suspiciousUrl`" | summarize ConnectionsCount = count() by MachineId" -$queryUrl = "https://api.securitycenter.windows.com/advancedqueries/query" +$queryUrl = "https://api.securitycenter.windows.com/api/advancedqueries/run" $queryBody = ConvertTo-Json -InputObject @{ 'Query' = $query } $queryResponse = Invoke-WebRequest -Method Post -Uri $queryUrl -Headers $headers -Body $queryBody -ErrorAction Stop 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 8f2008c14a..5d41431d83 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 @@ -23,7 +23,7 @@ ms.date: 12/08/2017 Retrieves a collection of machines that have communicated with WDATP cloud on the last 30 days. Get Machines collection API supports [OData V4 queries](https://www.odata.org/documentation/). -The OData's Filter query is supported on: "Id", "ComputerDnsName", "LastSeen", "LastIpAddress", "HealthStatus", "OsPlatform", "RiskScore" and "RbacGroupId" +The OData's Filter query is supported on: "Id", "ComputerDnsName", "LastSeen", "LastIpAddress", "HealthStatus", "OsPlatform", "RiskScore", "MachineTags" and "RbacGroupId" ## Permissions 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 cb0a5624af..4281f9dd00 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 @@ -46,7 +46,7 @@ Delegated (work or school account) | AdvancedQuery.Read | 'Run advanced queries' ## HTTP request ``` -POST /advancedqueries/query +POST https://api.securitycenter.windows.com/api/advancedqueries/run ``` ## Request headers @@ -80,7 +80,7 @@ Here is an example of the request. > - api-uk.securitycenter.windows.com ``` -POST https://api.securitycenter.windows.com/advancedqueries/query +POST https://api.securitycenter.windows.com/api/advancedqueries/run Content-type: application/json { "Query":"ProcessCreationEvents diff --git a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-ms-flow.md b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-ms-flow.md index dd62b3ea19..d5e16fbf5a 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-ms-flow.md +++ b/windows/security/threat-protection/windows-defender-atp/run-advanced-query-sample-ms-flow.md @@ -40,15 +40,15 @@ Use the following basic flow as an example. ![Image of MsFlow choose an action](images/ms-flow-choose-action.png) - Set method to be POST - - Uri is https://api.securitycenter.windows.com/advancedqueries/query or one of the region specific locations - - US: https://api-us.securitycenter.windows.com/advancedqueries/query - - Europe: https://api-eu.securitycenter.windows.com/advancedqueries/query - - United Kingdom: https://api-uk.securitycenter.windows.com/advancedqueries/query + - Uri is https://api.securitycenter.windows.com/api/advancedqueries/run or one of the region specific locations + - US: https://api-us.securitycenter.windows.com/api/advancedqueries/run + - Europe: https://api-eu.securitycenter.windows.com/api/advancedqueries/run + - United Kingdom: https://api-uk.securitycenter.windows.com/api/advancedqueries/run - Add the Header: Content-Type application/json - In the body write your query surrounded by single quotation mark (') - In the Advanced options select Authentication to be Active Directory OAuth - Set the Tenant with proper AAD Tenant Id - - Audience is https://securitycenter.onmicrosoft.com/windowsatpservice + - Audience is https://api.securitycenter.windows.com - Client ID is your application ID - Credential Type should be Secret - Secret is the application secret generated in the Azure Active directory. 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 04c224b498..ce6ccb012c 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 @@ -59,7 +59,7 @@ If you want to use **user token** instead please refer to [this](run-advanced-qu AccessToken= AuthResponse[access_token], Bearer = Text.Combine({"Bearer", AccessToken}, " "), - AdvancedHuntingUrl = "https://api.securitycenter.windows.com/advancedqueries/query", + AdvancedHuntingUrl = "https://api.securitycenter.windows.com/api/advancedqueries/run", Response = Json.Document(Web.Contents( AdvancedHuntingUrl, 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 333683cda5..202d338c71 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 @@ -48,7 +48,7 @@ You first need to [create an app](exposed-apis-create-app-nativeapp.md). Query = "MachineInfo | where EventTime > ago(7d) | summarize EventCount=count(), LastSeen=max(EventTime) by MachineId", - AdvancedHuntingUrl = "https://api.securitycenter.windows.com/advancedqueries/query", + AdvancedHuntingUrl = "https://api.securitycenter.windows.com/api/advancedqueries/run", Response = Json.Document(Web.Contents( AdvancedHuntingUrl, 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 ae59b2fe28..76fa741ab6 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 @@ Run the following query: ``` $query = 'RegistryEvents | limit 10' # Paste your own query here -$url = "https://api.securitycenter.windows.com/advancedqueries/query" +$url = "https://api.securitycenter.windows.com/api/advancedqueries/run" $headers = @{ 'Content-Type' = 'application/json' Accept = 'application/json' 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 fd546b266a..71784d6ccd 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 @@ -71,7 +71,7 @@ where ``` query = 'RegistryEvents | limit 10' # Paste your own query here -url = "https://api.securitycenter.windows.com/advancedqueries/query" +url = "https://api.securitycenter.windows.com/api/advancedqueries/run" headers = { 'Content-Type' : 'application/json', 'Accept' : 'application/json', From 1831d6f0a89c7c0dc4499d7999c31791ff50fe2a Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Thu, 25 Oct 2018 09:06:04 +0300 Subject: [PATCH 124/162] s --- ...defender-advanced-threat-protection-new.md | 4 +- ...defender-advanced-threat-protection-new.md | 109 ++++++++++++++++++ ...defender-advanced-threat-protection-new.md | 41 +++++++ 3 files changed, 152 insertions(+), 2 deletions(-) create mode 100644 windows/security/threat-protection/windows-defender-atp/get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md create mode 100644 windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.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 77fcc41c80..5a137cb5a8 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 @@ -13,7 +13,7 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# List machineActions API +# List MachineActions API [!include[Prereleaseinformation](prerelease.md)] @@ -140,7 +140,7 @@ 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#MachineActions", + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#MachineActions", "value": [ { "id": "69dc3630-1ccc-4342-acf3-35286eec741d", diff --git a/windows/security/threat-protection/windows-defender-atp/get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..a4dc9a8ac3 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,109 @@ +--- +title: List TiIndicators API +description: Use this API to create calls related to get TiIndicators collection +keywords: apis, public api, supported apis, TiIndicators 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 +--- + +# List TiIndicators API + +[!include[Prereleaseinformation](prerelease.md)] + +>[!Note] +> Currently this API is supported only for AppOnly context requests. (See [Get access without a user](exposed-apis-create-app-webapp.md) for more information) + + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + + Gets collection of Ti Indicators. + Get TiIndicators collection API supports [OData V4 queries](https://www.odata.org/documentation/). + +## 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](apis-intro.md) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Ti_ReadWrite | 'Read and write Ti Indicators' + + +## HTTP request +``` +GET https://api.securitycenter.windows.com/api/tiindicators +``` + +## 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 [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entities. + +>[!Note] +> The response will only include Ti Indicators that submitted by the calling Application. + + +## Example + +**Request** + +Here is an example of a request that gets all Ti Indicators + +``` +GET https://api.securitycenter.windows.com/api/tiindicators +``` + +[!include[Improve request performance](improverequestperformance-new.md)] + +**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#TiIndicators", + "value": [ + { + "indicator": "12.13.14.15", + "indicatorType": "IpAddress", + "title": "test", + "creationTimeDateTimeUtc": "2018-10-24T11:15:35.3688259Z", + "createdBy": "45097602-1234-5678-1234-9f453233e62c", + "expirationTime": "2020-12-12T00:00:00Z", + "action": "AlertAndBlock", + "severity": "Informational", + "description": "test", + "recommendedActions": "test" + }, + { + "indicator": "220e7d15b0b3d7fac48f2bd61114db1022197f7f", + "indicatorType": "FileSha1", + "title": "test", + "creationTimeDateTimeUtc": "2018-10-24T10:54:23.2009016Z", + "createdBy": "45097602-1234-5678-1234-9f453233e62c", + "expirationTime": "2020-12-12T00:00:00Z", + "action": "AlertAndBlock", + "severity": "Informational", + "description": "test", + "recommendedActions": "TEST" + } + ] +} +``` diff --git a/windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..e3cc47f323 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,41 @@ +--- +title: TiIndicator resource type +description: TiIndicator entity description. +keywords: apis, supported apis, get, TiIndicator, 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 +--- + +# TiIndicator resource type + +**Applies to:** +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + +[!include[Prereleaseinformation](prerelease.md)] + +Method|Return Type |Description +:---|:---|:--- +[List TiIndicators](get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md) | [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) | List [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entities. + +# Properties +Property | Type | Description +:---|:---|:--- +indicator | String | Identity of the [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity. +indicatorType | Enum | Type of the indicator. Possible values are: "FileSha1", "FileSha256", "IpAddress", "DomainName" and "Url" +title | String | Ti indicator title. +creationTimeDateTimeUtc | DateTimeOffset | The date and time when the indicator was created. +createdBy | String | Identity of the user/application that created the indicator. +expirationTime | DateTimeOffset | The expiration time of the indicator +action | Enum | The action that will be taken when the indicator will be discovered in the organization. Possible values are: "Alert", "AlertAndBlock", and "Allowed" +severity | Enum | The severity of the indicator. possible values are: "Informational", "Low", "Medium" and "High" +description | String | Description of the indicator. +recommendedActions | String | Recommended actions for the indicator. + + From a7ee8fea98aceeb08580073b5f736cb7d2d87fc6 Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Thu, 25 Oct 2018 09:11:11 +0300 Subject: [PATCH 125/162] s --- windows/security/threat-protection/TOC.md | 4 ++++ .../security/threat-protection/windows-defender-atp/TOC.md | 3 +++ 2 files changed, 7 insertions(+) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 8cb9e6a5b1..212cd5618f 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -350,6 +350,10 @@ ####### [User](windows-defender-atp/user-windows-defender-advanced-threat-protection-new.md) ######## [Get user related alerts](windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection-new.md) ######## [Get user related machines](windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection-new.md) + +####### [Ti Indicator](windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md) +######## [List TiIndicators](windows-defender-atp/get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md) + ###### How to use APIs - Samples ####### Advanced Hunting API ######## [Schedule advanced Hunting using Microsoft Flow](windows-defender-atp/run-advanced-query-sample-ms-flow.md) diff --git a/windows/security/threat-protection/windows-defender-atp/TOC.md b/windows/security/threat-protection/windows-defender-atp/TOC.md index 71c2a82d6f..fdf3ee51b8 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -287,6 +287,9 @@ ####### [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) +###### [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) +####### [List TiIndicators](get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md) + ##### How to use APIs - Samples ###### Advanced Hunting API ####### [Schedule advanced Hunting using Microsoft Flow](run-advanced-query-sample-ms-flow.md) From 0a9bbd5920827b7816e223f069a912a2bf72e144 Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Thu, 25 Oct 2018 09:52:49 +0300 Subject: [PATCH 126/162] s --- ...defender-advanced-threat-protection-new.md | 113 ++++++++++++++++++ ...defender-advanced-threat-protection-new.md | 2 +- 2 files changed, 114 insertions(+), 1 deletion(-) create mode 100644 windows/security/threat-protection/windows-defender-atp/post-ti-indicator-windows-defender-advanced-threat-protection-new.md diff --git a/windows/security/threat-protection/windows-defender-atp/post-ti-indicator-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/post-ti-indicator-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..7fdf4d6915 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/post-ti-indicator-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,113 @@ +--- +title: Submit Ti Indicator API +description: Use this API to submit Ti Indicator. +keywords: apis, graph api, supported apis, submit, ti, ti indicator +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 +--- + +# Submit Ti Indicator API + +[!include[Prerelease information](prerelease.md)] + +>[!Note] +> Currently this API is supported only for AppOnly context requests. (See [Get access without a user](exposed-apis-create-app-webapp.md) for more information) + + +**Applies to:** +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + +Submits new [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity. + +## 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](apis-intro.md) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Ti_ReadWrite | 'Read and write Ti Indicators' + + +## HTTP request +``` +POST https://api.securitycenter.windows.com/api/tiindicators +``` + +[!include[Improve request performance](improverequestperformance-new.md)] + + +## 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 +:---|:---|:--- +indicator | String | Identity of the [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity. **Required** +indicatorType | Enum | Type of the indicator. Possible values are: "FileSha1", "FileSha256", "IpAddress", "DomainName" and "Url". **Required** +title | String | Ti indicator title. +expirationTime | DateTimeOffset | The expiration time of the indicator. +action | Enum | The action that will be taken when the indicator will be discovered in the organization. Possible values are: "Alert", "AlertAndBlock", and "Allowed". **Required** +severity | Enum | The severity of the indicator. possible values are: "Informational", "Low", "Medium" and "High". +description | String | Description of the indicator. +recommendedActions | String | Recommended actions for the indicator. + + +## Response +If successful, this method returns 201 - Created response code and the created [Ti Indicator](ti-indicator-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/tiindicators +Content-type: application/json +{ + "indicator": "220e7d15b0b3d7fac48f2bd61114db1022197f7f", + "indicatorType": "FileSha1", + "title": "test", + "expirationTime": "2020-12-12T00:00:00Z", + "action": "AlertAndBlock", + "severity": "Informational", + "description": "test", + "recommendedActions": "TEST" +} + +``` +**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", + "indicator": "220e7d15b0b3d7fac48f2bd61114db1022197f7f", + "indicatorType": "FileSha1", + "title": "test", + "creationTimeDateTimeUtc": "2018-10-24T10:54:23.2009016Z", + "createdBy": "45097602-1234-5678-1234-9f453233e62c", + "expirationTime": "2020-12-12T00:00:00Z", + "action": "AlertAndBlock", + "severity": "Informational", + "description": "test", + "recommendedActions": "TEST" +} + +``` diff --git a/windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md index e3cc47f323..d194ebfcf3 100644 --- a/windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md @@ -31,7 +31,7 @@ indicator | String | Identity of the [Ti Indicator](ti-indicator-windows-defende indicatorType | Enum | Type of the indicator. Possible values are: "FileSha1", "FileSha256", "IpAddress", "DomainName" and "Url" title | String | Ti indicator title. creationTimeDateTimeUtc | DateTimeOffset | The date and time when the indicator was created. -createdBy | String | Identity of the user/application that created the indicator. +createdBy | String | Identity of the user/application that submitted the indicator. expirationTime | DateTimeOffset | The expiration time of the indicator action | Enum | The action that will be taken when the indicator will be discovered in the organization. Possible values are: "Alert", "AlertAndBlock", and "Allowed" severity | Enum | The severity of the indicator. possible values are: "Informational", "Low", "Medium" and "High" From 8617788970cad13b41f7574fc5e21a9fbd161748 Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Thu, 25 Oct 2018 10:10:00 +0300 Subject: [PATCH 127/162] s --- windows/security/threat-protection/TOC.md | 1 + .../security/threat-protection/windows-defender-atp/TOC.md | 1 + ...lection-windows-defender-advanced-threat-protection-new.md | 4 ++-- ...dicator-windows-defender-advanced-threat-protection-new.md | 4 +++- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 212cd5618f..5847327d5d 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -353,6 +353,7 @@ ####### [Ti Indicator](windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md) ######## [List TiIndicators](windows-defender-atp/get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md) +######## [Submit TiIndicator](windows-defender-atp/post-ti-indicator-windows-defender-advanced-threat-protection-new.md) ###### How to use APIs - Samples ####### Advanced Hunting API diff --git a/windows/security/threat-protection/windows-defender-atp/TOC.md b/windows/security/threat-protection/windows-defender-atp/TOC.md index fdf3ee51b8..dce77004ba 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -289,6 +289,7 @@ ###### [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) ####### [List TiIndicators](get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md) +####### [Submit TiIndicator](post-ti-indicator-windows-defender-advanced-threat-protection-new.md) ##### How to use APIs - Samples ###### Advanced Hunting API diff --git a/windows/security/threat-protection/windows-defender-atp/get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md index a4dc9a8ac3..ccc20899c0 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md @@ -41,6 +41,8 @@ Application | Ti_ReadWrite | 'Read and write Ti Indicators' GET https://api.securitycenter.windows.com/api/tiindicators ``` +[!include[Improve request performance](improverequestperformance-new.md)] + ## Request headers Name | Type | Description @@ -68,8 +70,6 @@ Here is an example of a request that gets all Ti Indicators GET https://api.securitycenter.windows.com/api/tiindicators ``` -[!include[Improve request performance](improverequestperformance-new.md)] - **Response** Here is an example of the response. diff --git a/windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md index d194ebfcf3..ff7490cb45 100644 --- a/windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md @@ -22,7 +22,9 @@ ms.date: 12/08/2017 Method|Return Type |Description :---|:---|:--- -[List TiIndicators](get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md) | [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) | List [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entities. +[List TiIndicators](get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md) | [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) Collection | List [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entities. +[Submit TiIndicator](post-ti-indicator-windows-defender-advanced-threat-protection-new.md) | [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) | Submits [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity. + # Properties Property | Type | Description From f4e25119980203f620b9afe87e434866a865e6ab Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Thu, 25 Oct 2018 10:24:04 +0300 Subject: [PATCH 128/162] s --- windows/security/threat-protection/TOC.md | 1 + .../windows-defender-atp/TOC.md | 1 + ...defender-advanced-threat-protection-new.md | 92 +++++++++++++++++++ ...defender-advanced-threat-protection-new.md | 1 + 4 files changed, 95 insertions(+) create mode 100644 windows/security/threat-protection/windows-defender-atp/get-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 5847327d5d..0d23d46f02 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -352,6 +352,7 @@ ######## [Get user related machines](windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection-new.md) ####### [Ti Indicator](windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md) +######## [Get TiIndicator by ID](windows-defender-atp/get-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md) ######## [List TiIndicators](windows-defender-atp/get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md) ######## [Submit TiIndicator](windows-defender-atp/post-ti-indicator-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 dce77004ba..0f3417f61c 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -289,6 +289,7 @@ ###### [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) ####### [List TiIndicators](get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md) +####### [Get TiIndicator by ID](get-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md) ####### [Submit TiIndicator](post-ti-indicator-windows-defender-advanced-threat-protection-new.md) ##### How to use APIs - Samples diff --git a/windows/security/threat-protection/windows-defender-atp/get-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..5363e99022 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/get-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,92 @@ +--- +title: Get Ti Indicator by ID API +description: Retrieves Ti Indicator entity by ID. +keywords: apis, public api, supported apis, get, ti indicator, 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 Ti Indicator by ID API + +[!include[Prereleaseinformation](prerelease.md)] + +>[!Note] +> Currently this API is supported only for AppOnly context requests. (See [Get access without a user](exposed-apis-create-app-webapp.md) for more information) + + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) +Retrieves a Ti Indicator entity by ID. + +## 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](apis-intro.md) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Ti_ReadWrite | 'Read and write Ti Indicators' + + +## HTTP request +``` +GET https://api.securitycenter.windows.com/api/tiindicators/{id} +``` + +[!include[Improve request performance](improverequestperformance-new.md)] + + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | String | Bearer {token}. **Required**. + + +## Request body +Empty + +## Response +If successful and machine exists - 200 OK with the [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity in the body. +If Ti Indicator with the specified id was not found - 404 Not Found. + + +## Example + +**Request** + +Here is an example of the request. + +``` +GET https://api.securitycenter.windows.com/api/tiindicators/220e7d15b0b3d7fac48f2bd61114db1022197f7f +``` + +**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#TiIndicators/$entity", + "indicator": "220e7d15b0b3d7fac48f2bd61114db1022197f7f", + "indicatorType": "FileSha1", + "title": "test", + "creationTimeDateTimeUtc": "2018-10-24T10:54:23.2009016Z", + "createdBy": "45097602-0cfe-4cc6-925f-9f453233e62c", + "expirationTime": "2020-12-12T00:00:00Z", + "action": "AlertAndBlock", + "severity": "Informational", + "description": "test", + "recommendedActions": "TEST" +} + +``` diff --git a/windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md index ff7490cb45..9378118bc3 100644 --- a/windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md @@ -23,6 +23,7 @@ ms.date: 12/08/2017 Method|Return Type |Description :---|:---|:--- [List TiIndicators](get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md) | [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) Collection | List [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entities. +[Get TiIndicator by ID](get-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md) | [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) | Gets the requested [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity. [Submit TiIndicator](post-ti-indicator-windows-defender-advanced-threat-protection-new.md) | [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) | Submits [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity. From c4be1c7e9a34461800441157a969b70512845266 Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Thu, 25 Oct 2018 10:27:24 +0300 Subject: [PATCH 129/162] s --- ...dicator-windows-defender-advanced-threat-protection-new.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/windows/security/threat-protection/windows-defender-atp/post-ti-indicator-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/post-ti-indicator-windows-defender-advanced-threat-protection-new.md index 7fdf4d6915..06d719aea1 100644 --- a/windows/security/threat-protection/windows-defender-atp/post-ti-indicator-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/post-ti-indicator-windows-defender-advanced-threat-protection-new.md @@ -22,9 +22,11 @@ ms.date: 12/08/2017 **Applies to:** + - Windows Defender Advanced Threat Protection (Windows Defender ATP) -Submits new [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity. +- Submits new [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity. + ## 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](apis-intro.md) From aeb9f1e9605b0480f53a00ade4da0c12e29af1d7 Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Thu, 25 Oct 2018 10:30:44 +0300 Subject: [PATCH 130/162] s --- ...r-by-id-windows-defender-advanced-threat-protection-new.md | 2 +- ...lection-windows-defender-advanced-threat-protection-new.md | 2 +- ...dicator-windows-defender-advanced-threat-protection-new.md | 4 ++-- ...dicator-windows-defender-advanced-threat-protection-new.md | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/get-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md index 5363e99022..9bccb48149 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md @@ -31,7 +31,7 @@ One of the following permissions is required to call this API. To learn more, in Permission type | Permission | Permission display name :---|:---|:--- -Application | Ti_ReadWrite | 'Read and write Ti Indicators' +Application | Ti.ReadWrite | 'Read and write Ti Indicators' ## HTTP request diff --git a/windows/security/threat-protection/windows-defender-atp/get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md index ccc20899c0..a20702696c 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md @@ -33,7 +33,7 @@ One of the following permissions is required to call this API. To learn more, in Permission type | Permission | Permission display name :---|:---|:--- -Application | Ti_ReadWrite | 'Read and write Ti Indicators' +Application | Ti.ReadWrite | 'Read and write Ti Indicators' ## HTTP request diff --git a/windows/security/threat-protection/windows-defender-atp/post-ti-indicator-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/post-ti-indicator-windows-defender-advanced-threat-protection-new.md index 06d719aea1..e6ca8b30aa 100644 --- a/windows/security/threat-protection/windows-defender-atp/post-ti-indicator-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/post-ti-indicator-windows-defender-advanced-threat-protection-new.md @@ -33,7 +33,7 @@ One of the following permissions is required to call this API. To learn more, in Permission type | Permission | Permission display name :---|:---|:--- -Application | Ti_ReadWrite | 'Read and write Ti Indicators' +Application | Ti.ReadWrite | 'Read and write Ti Indicators' ## HTTP request @@ -58,9 +58,9 @@ Parameter | Type | Description :---|:---|:--- indicator | String | Identity of the [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity. **Required** indicatorType | Enum | Type of the indicator. Possible values are: "FileSha1", "FileSha256", "IpAddress", "DomainName" and "Url". **Required** +action | Enum | The action that will be taken if the indicator will be discovered in the organization. Possible values are: "Alert", "AlertAndBlock", and "Allowed". **Required** title | String | Ti indicator title. expirationTime | DateTimeOffset | The expiration time of the indicator. -action | Enum | The action that will be taken when the indicator will be discovered in the organization. Possible values are: "Alert", "AlertAndBlock", and "Allowed". **Required** severity | Enum | The severity of the indicator. possible values are: "Informational", "Low", "Medium" and "High". description | String | Description of the indicator. recommendedActions | String | Recommended actions for the indicator. diff --git a/windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md index 9378118bc3..3316f2755c 100644 --- a/windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md @@ -36,7 +36,7 @@ title | String | Ti indicator title. creationTimeDateTimeUtc | DateTimeOffset | The date and time when the indicator was created. createdBy | String | Identity of the user/application that submitted the indicator. expirationTime | DateTimeOffset | The expiration time of the indicator -action | Enum | The action that will be taken when the indicator will be discovered in the organization. Possible values are: "Alert", "AlertAndBlock", and "Allowed" +action | Enum | The action that will be taken if the indicator will be discovered in the organization. Possible values are: "Alert", "AlertAndBlock", and "Allowed" severity | Enum | The severity of the indicator. possible values are: "Informational", "Low", "Medium" and "High" description | String | Description of the indicator. recommendedActions | String | Recommended actions for the indicator. From 8c849a40aff9f43742e907ca2dd7b1cba90d6d43 Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Thu, 25 Oct 2018 11:37:45 +0300 Subject: [PATCH 131/162] s --- windows/security/threat-protection/TOC.md | 1 + .../windows-defender-atp/TOC.md | 1 + ...defender-advanced-threat-protection-new.md | 1 + ...defender-advanced-threat-protection-new.md | 4 +- ...defender-advanced-threat-protection-new.md | 105 ++++++++++++++++++ 5 files changed, 110 insertions(+), 2 deletions(-) create mode 100644 windows/security/threat-protection/windows-defender-atp/update-ti-indicator-windows-defender-advanced-threat-protection-new.md diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 0d23d46f02..7bfd43887d 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -355,6 +355,7 @@ ######## [Get TiIndicator by ID](windows-defender-atp/get-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md) ######## [List TiIndicators](windows-defender-atp/get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md) ######## [Submit TiIndicator](windows-defender-atp/post-ti-indicator-windows-defender-advanced-threat-protection-new.md) +######## [Update TiIndicator](windows-defender-atp/update-ti-indicator-windows-defender-advanced-threat-protection-new.md) ###### How to use APIs - Samples ####### Advanced Hunting API diff --git a/windows/security/threat-protection/windows-defender-atp/TOC.md b/windows/security/threat-protection/windows-defender-atp/TOC.md index 0f3417f61c..04c42b236f 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -291,6 +291,7 @@ ####### [List TiIndicators](get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md) ####### [Get TiIndicator by ID](get-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md) ####### [Submit TiIndicator](post-ti-indicator-windows-defender-advanced-threat-protection-new.md) +####### [Update TiIndicator](update-ti-indicator-windows-defender-advanced-threat-protection-new.md) ##### How to use APIs - Samples ###### Advanced Hunting API diff --git a/windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md index 3316f2755c..7591eb7ea2 100644 --- a/windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md @@ -25,6 +25,7 @@ Method|Return Type |Description [List TiIndicators](get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md) | [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) Collection | List [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entities. [Get TiIndicator by ID](get-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md) | [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) | Gets the requested [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity. [Submit TiIndicator](post-ti-indicator-windows-defender-advanced-threat-protection-new.md) | [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) | Submits [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity. +[Update TiIndicator](update-ti-indicator-windows-defender-advanced-threat-protection-new.md) | [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) | Updates [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity. # Properties 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 37d8b92160..1ce73605cf 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 @@ -49,13 +49,13 @@ 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. +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 changes 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'. +classification | String | Specifies 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' diff --git a/windows/security/threat-protection/windows-defender-atp/update-ti-indicator-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/update-ti-indicator-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..39402786b5 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/update-ti-indicator-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,105 @@ +--- +title: Update Ti Indicator +description: Updates a specific Ti Indicator +keywords: apis, public api, supported apis, patch, update, ti indicator, 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 TiIndicator + +[!include[Prereleaseinformation](prerelease.md)] + +>[!Note] +> Currently this API is supported only for AppOnly context requests. (See [Get access without a user](exposed-apis-create-app-webapp.md) for more information) + + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + +- 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 [Use Windows Defender ATP APIs](apis-intro.md) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Ti.ReadWrite | 'Read and write Ti Indicators' + + +## HTTP request +``` +PATCH https://api.securitycenter.windows.com/api/tiindicators/{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 changes to other property values. For best performance you shouldn't include existing values that haven't change. + +Property | Type | Description +:---|:---|:--- +expirationTime | DateTimeOffset | The expiration time of the indicator. +title | String | Ti indicator title. +severity | Enum | The severity of the indicator. possible values are: "Informational", "Low", "Medium" and "High" +description | String | Description of the indicator. +recommendedActions | String | Recommended actions for the indicator. + +## Response +If successful, this method returns 200 - OK, and the updated [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity. +In case of incorrect Body, the return type will be 400 - Bad request, with message that indicates the reason. +If the Ti Indicator is not exist, 404 - Not found. + + +## Example + +**Request** + +Here is an example of the request. + +[!include[Improve request performance](improverequestperformance-new.md)] + +``` +PATCH https://api.securitycenter.windows.com/api/tiindicators/220e7d15b0b3d7fac48f2bd61114db1022197f7f +Content-Type: application/json +{ + "title": "Ben2", + "severity": "High", + "description": "test2", + "expirationTime": "2020-12-12T00:00:00Z" +} +``` + +**Response** + +Here is an example of the response. + +``` +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#TiIndicators/$entity", + "indicator": "220e7d15b0b3d7fac48f2bd61114db1022197f7f", + "indicatorType": "FileSha1", + "title": "Ben2", + "creationTimeDateTimeUtc": "2018-10-24T10:54:23.2009016Z", + "createdBy": "45097602-0cfe-4cc6-925f-9f453233e62c", + "expirationTime": "2020-12-12T00:00:00Z", + "action": "AlertAndBlock", + "severity": "High", + "description": "test", + "recommendedActions": "TEST2" +} +``` From c33f51f67c28e02e5052b3ce9c24be67d21df891 Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Thu, 25 Oct 2018 12:54:09 +0300 Subject: [PATCH 132/162] s --- windows/security/threat-protection/TOC.md | 6 +- .../windows-defender-atp/TOC.md | 4 +- ...defender-advanced-threat-protection-new.md | 77 +++++++++++++ ...defender-advanced-threat-protection-new.md | 14 +-- ...defender-advanced-threat-protection-new.md | 4 +- ...defender-advanced-threat-protection-new.md | 105 ------------------ 6 files changed, 91 insertions(+), 119 deletions(-) create mode 100644 windows/security/threat-protection/windows-defender-atp/delete-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md delete mode 100644 windows/security/threat-protection/windows-defender-atp/update-ti-indicator-windows-defender-advanced-threat-protection-new.md diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 7bfd43887d..2a3bb8ddea 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -352,10 +352,10 @@ ######## [Get user related machines](windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection-new.md) ####### [Ti Indicator](windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md) -######## [Get TiIndicator by ID](windows-defender-atp/get-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md) ######## [List TiIndicators](windows-defender-atp/get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md) -######## [Submit TiIndicator](windows-defender-atp/post-ti-indicator-windows-defender-advanced-threat-protection-new.md) -######## [Update TiIndicator](windows-defender-atp/update-ti-indicator-windows-defender-advanced-threat-protection-new.md) +######## [Get TiIndicator by ID](windows-defender-atp/get-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md) +######## [Submit or Update TiIndicator](windows-defender-atp/post-ti-indicator-windows-defender-advanced-threat-protection-new.md) +######## [Delete TiIndicator](windows-defender-atp/delete-ti-indicator-windows-defender-advanced-threat-protection-new.md) ###### How to use APIs - Samples ####### Advanced Hunting API diff --git a/windows/security/threat-protection/windows-defender-atp/TOC.md b/windows/security/threat-protection/windows-defender-atp/TOC.md index 04c42b236f..5776de1442 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -290,8 +290,8 @@ ###### [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) ####### [List TiIndicators](get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md) ####### [Get TiIndicator by ID](get-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md) -####### [Submit TiIndicator](post-ti-indicator-windows-defender-advanced-threat-protection-new.md) -####### [Update TiIndicator](update-ti-indicator-windows-defender-advanced-threat-protection-new.md) +####### [Submit or Update TiIndicator](post-ti-indicator-windows-defender-advanced-threat-protection-new.md) +####### [Delete TiIndicator](delete-ti-indicator-windows-defender-advanced-threat-protection-new.md) ##### How to use APIs - Samples ###### Advanced Hunting API diff --git a/windows/security/threat-protection/windows-defender-atp/delete-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/delete-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md new file mode 100644 index 0000000000..bad34080f3 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/delete-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md @@ -0,0 +1,77 @@ +--- +title: Delete Ti Indicator. +description: Deletes Ti Indicator entity by ID. +keywords: apis, public api, supported apis, delete, ti indicator, 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 +--- + +# Delete Ti Indicator API + +[!include[Prereleaseinformation](prerelease.md)] + +>[!Note] +> Currently this API is supported only for AppOnly context requests. (See [Get access without a user](exposed-apis-create-app-webapp.md) for more information) + + +**Applies to:** + +- Windows Defender Advanced Threat Protection (Windows Defender ATP) +Retrieves a Ti Indicator entity by ID. + +## 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](apis-intro.md) + +Permission type | Permission | Permission display name +:---|:---|:--- +Application | Ti.ReadWrite | 'Read and write Ti Indicators' + + +## HTTP request +``` +Delete https://api.securitycenter.windows.com/api/tiindicators/{id} +``` + +[!include[Improve request performance](improverequestperformance-new.md)] + + +## Request headers + +Name | Type | Description +:---|:---|:--- +Authorization | String | Bearer {token}. **Required**. + + +## Request body +Empty + +## Response +If successful and machine exists - 204 OK without content. +If Ti Indicator with the specified id was not found - 404 Not Found. + +## Example + +**Request** + +Here is an example of the request. + +``` +DELETE https://api.securitycenter.windows.com/api/tiindicators/220e7d15b0b3d7fac48f2bd61114db1022197f7f +``` + +**Response** + +Here is an example of the response. + + +``` +HTTP/1.1 204 NO CONTENT + +``` diff --git a/windows/security/threat-protection/windows-defender-atp/post-ti-indicator-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/post-ti-indicator-windows-defender-advanced-threat-protection-new.md index e6ca8b30aa..a947298374 100644 --- a/windows/security/threat-protection/windows-defender-atp/post-ti-indicator-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/post-ti-indicator-windows-defender-advanced-threat-protection-new.md @@ -1,7 +1,7 @@ --- -title: Submit Ti Indicator API -description: Use this API to submit Ti Indicator. -keywords: apis, graph api, supported apis, submit, ti, ti indicator +title: Submit or Update Ti Indicator API +description: Use this API to submit or Update Ti Indicator. +keywords: apis, graph api, supported apis, submit, ti, ti indicator, update search.product: eADQiWindows 10XVcnh ms.prod: w10 ms.mktglfcycl: deploy @@ -13,7 +13,7 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Submit Ti Indicator API +# Submit or Update Ti Indicator API [!include[Prerelease information](prerelease.md)] @@ -25,7 +25,7 @@ ms.date: 12/08/2017 - Windows Defender Advanced Threat Protection (Windows Defender ATP) -- Submits new [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity. +- Submits or Updates new [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity. ## Permissions @@ -67,7 +67,7 @@ recommendedActions | String | Recommended actions for the indicator. ## Response -If successful, this method returns 201 - Created response code and the created [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) in the response body. +If successful, this method returns 200 - OK response code and the created / updated [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity in the response body. ## Example @@ -96,7 +96,7 @@ Content-type: application/json Here is an example of the response. ``` -HTTP/1.1 201 Created +HTTP/1.1 200 OK Content-type: application/json { "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#MachineActions/$entity", diff --git a/windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md index 7591eb7ea2..36bff33024 100644 --- a/windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md @@ -24,8 +24,8 @@ Method|Return Type |Description :---|:---|:--- [List TiIndicators](get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md) | [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) Collection | List [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entities. [Get TiIndicator by ID](get-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md) | [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) | Gets the requested [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity. -[Submit TiIndicator](post-ti-indicator-windows-defender-advanced-threat-protection-new.md) | [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) | Submits [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity. -[Update TiIndicator](update-ti-indicator-windows-defender-advanced-threat-protection-new.md) | [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) | Updates [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity. +[Submit or Update TiIndicator](post-ti-indicator-windows-defender-advanced-threat-protection-new.md) | [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) | Submits [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity. +[Delete TiIndicator](delete-ti-indicator-windows-defender-advanced-threat-protection-new.md) | No Content | Deletes [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity. # Properties diff --git a/windows/security/threat-protection/windows-defender-atp/update-ti-indicator-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/update-ti-indicator-windows-defender-advanced-threat-protection-new.md deleted file mode 100644 index 39402786b5..0000000000 --- a/windows/security/threat-protection/windows-defender-atp/update-ti-indicator-windows-defender-advanced-threat-protection-new.md +++ /dev/null @@ -1,105 +0,0 @@ ---- -title: Update Ti Indicator -description: Updates a specific Ti Indicator -keywords: apis, public api, supported apis, patch, update, ti indicator, 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 TiIndicator - -[!include[Prereleaseinformation](prerelease.md)] - ->[!Note] -> Currently this API is supported only for AppOnly context requests. (See [Get access without a user](exposed-apis-create-app-webapp.md) for more information) - - -**Applies to:** - -- Windows Defender Advanced Threat Protection (Windows Defender ATP) - -- 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 [Use Windows Defender ATP APIs](apis-intro.md) - -Permission type | Permission | Permission display name -:---|:---|:--- -Application | Ti.ReadWrite | 'Read and write Ti Indicators' - - -## HTTP request -``` -PATCH https://api.securitycenter.windows.com/api/tiindicators/{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 changes to other property values. For best performance you shouldn't include existing values that haven't change. - -Property | Type | Description -:---|:---|:--- -expirationTime | DateTimeOffset | The expiration time of the indicator. -title | String | Ti indicator title. -severity | Enum | The severity of the indicator. possible values are: "Informational", "Low", "Medium" and "High" -description | String | Description of the indicator. -recommendedActions | String | Recommended actions for the indicator. - -## Response -If successful, this method returns 200 - OK, and the updated [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity. -In case of incorrect Body, the return type will be 400 - Bad request, with message that indicates the reason. -If the Ti Indicator is not exist, 404 - Not found. - - -## Example - -**Request** - -Here is an example of the request. - -[!include[Improve request performance](improverequestperformance-new.md)] - -``` -PATCH https://api.securitycenter.windows.com/api/tiindicators/220e7d15b0b3d7fac48f2bd61114db1022197f7f -Content-Type: application/json -{ - "title": "Ben2", - "severity": "High", - "description": "test2", - "expirationTime": "2020-12-12T00:00:00Z" -} -``` - -**Response** - -Here is an example of the response. - -``` -{ - "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#TiIndicators/$entity", - "indicator": "220e7d15b0b3d7fac48f2bd61114db1022197f7f", - "indicatorType": "FileSha1", - "title": "Ben2", - "creationTimeDateTimeUtc": "2018-10-24T10:54:23.2009016Z", - "createdBy": "45097602-0cfe-4cc6-925f-9f453233e62c", - "expirationTime": "2020-12-12T00:00:00Z", - "action": "AlertAndBlock", - "severity": "High", - "description": "test", - "recommendedActions": "TEST2" -} -``` From 943b274b622abaaf1193e4fb9440c3f34c6ef85c Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Thu, 25 Oct 2018 14:57:53 +0300 Subject: [PATCH 133/162] s --- ...dicator-windows-defender-advanced-threat-protection-new.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/post-ti-indicator-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/post-ti-indicator-windows-defender-advanced-threat-protection-new.md index a947298374..c85c4bbb6f 100644 --- a/windows/security/threat-protection/windows-defender-atp/post-ti-indicator-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/post-ti-indicator-windows-defender-advanced-threat-protection-new.md @@ -67,8 +67,8 @@ recommendedActions | String | Recommended actions for the indicator. ## Response -If successful, this method returns 200 - OK response code and the created / updated [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity in the response body. - +- If successful, this method returns 200 - OK response code and the created / updated [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity in the response body. +- If not successful: this method return 400 - Bad Request / 409 - Conflict with the failure reason. Bad request usually indicates incorrect body and Conflict can happen if you try to submit a Ti Indicator with existing indicator value but with different Indicator type or Action. ## Example From 20d62cdc00f6a21468a8b6e5b3c75c72592367a0 Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Sun, 28 Oct 2018 08:27:23 +0200 Subject: [PATCH 134/162] s --- windows/security/threat-protection/TOC.md | 10 +++++----- .../threat-protection/windows-defender-atp/TOC.md | 10 +++++----- ...dows-defender-advanced-threat-protection-new.md | 10 +++++----- ...dows-defender-advanced-threat-protection-new.md | 10 +++++----- ...dows-defender-advanced-threat-protection-new.md | 12 ++++++------ ...dows-defender-advanced-threat-protection-new.md | 14 +++++++------- ...dows-defender-advanced-threat-protection-new.md | 12 ++++++------ 7 files changed, 39 insertions(+), 39 deletions(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 2a3bb8ddea..b2568ff5d9 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -351,11 +351,11 @@ ######## [Get user related alerts](windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection-new.md) ######## [Get user related machines](windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection-new.md) -####### [Ti Indicator](windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md) -######## [List TiIndicators](windows-defender-atp/get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md) -######## [Get TiIndicator by ID](windows-defender-atp/get-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md) -######## [Submit or Update TiIndicator](windows-defender-atp/post-ti-indicator-windows-defender-advanced-threat-protection-new.md) -######## [Delete TiIndicator](windows-defender-atp/delete-ti-indicator-windows-defender-advanced-threat-protection-new.md) +####### [TI Indicator](windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md) +######## [List TI Indicators](windows-defender-atp/get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md) +######## [Get TI Indicator by ID](windows-defender-atp/get-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md) +######## [Submit TI Indicator](windows-defender-atp/post-ti-indicator-windows-defender-advanced-threat-protection-new.md) +######## [Delete TI Indicator](windows-defender-atp/delete-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md) ###### How to use APIs - Samples ####### Advanced Hunting API diff --git a/windows/security/threat-protection/windows-defender-atp/TOC.md b/windows/security/threat-protection/windows-defender-atp/TOC.md index 5776de1442..273cc66efe 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -287,11 +287,11 @@ ####### [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) -###### [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) -####### [List TiIndicators](get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md) -####### [Get TiIndicator by ID](get-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md) -####### [Submit or Update TiIndicator](post-ti-indicator-windows-defender-advanced-threat-protection-new.md) -####### [Delete TiIndicator](delete-ti-indicator-windows-defender-advanced-threat-protection-new.md) +###### [TI Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) +####### [List TI Indicators](get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md) +####### [Get TI Indicator by ID](get-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md) +####### [Submit TI Indicator](post-ti-indicator-windows-defender-advanced-threat-protection-new.md) +####### [Delete TI Indicator](delete-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md) ##### How to use APIs - Samples ###### Advanced Hunting API diff --git a/windows/security/threat-protection/windows-defender-atp/delete-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/delete-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md index bad34080f3..b0d3efb765 100644 --- a/windows/security/threat-protection/windows-defender-atp/delete-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/delete-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md @@ -13,7 +13,7 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Delete Ti Indicator API +# Delete TI Indicator API [!include[Prereleaseinformation](prerelease.md)] @@ -24,14 +24,14 @@ ms.date: 12/08/2017 **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) -Retrieves a Ti Indicator entity by ID. +Retrieves a TI Indicator entity by ID. ## 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](apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- -Application | Ti.ReadWrite | 'Read and write Ti Indicators' +Application | Ti.ReadWrite | 'Read and write TI Indicators' ## HTTP request @@ -53,8 +53,8 @@ Authorization | String | Bearer {token}. **Required**. Empty ## Response -If successful and machine exists - 204 OK without content. -If Ti Indicator with the specified id was not found - 404 Not Found. +If TI Indicator exist and deleted successfully - 204 OK without content. +If TI Indicator with the specified id was not found - 404 Not Found. ## Example diff --git a/windows/security/threat-protection/windows-defender-atp/get-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md index 9bccb48149..ccd438a908 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md @@ -13,7 +13,7 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Get Ti Indicator by ID API +# Get TI Indicator by ID API [!include[Prereleaseinformation](prerelease.md)] @@ -24,14 +24,14 @@ ms.date: 12/08/2017 **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) -Retrieves a Ti Indicator entity by ID. +Retrieves a TI Indicator entity by ID. ## 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](apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- -Application | Ti.ReadWrite | 'Read and write Ti Indicators' +Application | Ti.ReadWrite | 'Read and write TI Indicators' ## HTTP request @@ -53,8 +53,8 @@ Authorization | String | Bearer {token}. **Required**. Empty ## Response -If successful and machine exists - 200 OK with the [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity in the body. -If Ti Indicator with the specified id was not found - 404 Not Found. +If successful and TI Indicator exists - 200 OK with the [TI Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity in the body. +If TI Indicator with the specified id was not found - 404 Not Found. ## Example diff --git a/windows/security/threat-protection/windows-defender-atp/get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md index a20702696c..d2c398ee0f 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md @@ -25,15 +25,15 @@ ms.date: 12/08/2017 - Windows Defender Advanced Threat Protection (Windows Defender ATP) - Gets collection of Ti Indicators. - Get TiIndicators collection API supports [OData V4 queries](https://www.odata.org/documentation/). + Gets collection of TI Indicators. + Get TI Indicators collection API supports [OData V4 queries](https://www.odata.org/documentation/). ## 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](apis-intro.md) Permission type | Permission | Permission display name :---|:---|:--- -Application | Ti.ReadWrite | 'Read and write Ti Indicators' +Application | Ti.ReadWrite | 'Read and write TI Indicators' ## HTTP request @@ -54,17 +54,17 @@ Authorization | String | Bearer {token}. **Required**. Empty ## Response -If successful, this method returns 200, Ok response code with a collection of [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entities. +If successful, this method returns 200, Ok response code with a collection of [TI Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entities. >[!Note] -> The response will only include Ti Indicators that submitted by the calling Application. +> The response will only include TI Indicators that submitted by the calling Application. ## Example **Request** -Here is an example of a request that gets all Ti Indicators +Here is an example of a request that gets all TI Indicators ``` GET https://api.securitycenter.windows.com/api/tiindicators diff --git a/windows/security/threat-protection/windows-defender-atp/post-ti-indicator-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/post-ti-indicator-windows-defender-advanced-threat-protection-new.md index c85c4bbb6f..59030b2ebd 100644 --- a/windows/security/threat-protection/windows-defender-atp/post-ti-indicator-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/post-ti-indicator-windows-defender-advanced-threat-protection-new.md @@ -13,7 +13,7 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# Submit or Update Ti Indicator API +# Submit or Update TI Indicator API [!include[Prerelease information](prerelease.md)] @@ -25,7 +25,7 @@ ms.date: 12/08/2017 - Windows Defender Advanced Threat Protection (Windows Defender ATP) -- Submits or Updates new [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity. +- Submits or Updates new [TI Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity. ## Permissions @@ -33,7 +33,7 @@ One of the following permissions is required to call this API. To learn more, in Permission type | Permission | Permission display name :---|:---|:--- -Application | Ti.ReadWrite | 'Read and write Ti Indicators' +Application | Ti.ReadWrite | 'Read and write TI Indicators' ## HTTP request @@ -56,10 +56,10 @@ In the request body, supply a JSON object with the following parameters: Parameter | Type | Description :---|:---|:--- -indicator | String | Identity of the [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity. **Required** +indicator | String | Identity of the [TI Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity. **Required** indicatorType | Enum | Type of the indicator. Possible values are: "FileSha1", "FileSha256", "IpAddress", "DomainName" and "Url". **Required** action | Enum | The action that will be taken if the indicator will be discovered in the organization. Possible values are: "Alert", "AlertAndBlock", and "Allowed". **Required** -title | String | Ti indicator title. +title | String | TI indicator title. expirationTime | DateTimeOffset | The expiration time of the indicator. severity | Enum | The severity of the indicator. possible values are: "Informational", "Low", "Medium" and "High". description | String | Description of the indicator. @@ -67,8 +67,8 @@ recommendedActions | String | Recommended actions for the indicator. ## Response -- If successful, this method returns 200 - OK response code and the created / updated [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity in the response body. -- If not successful: this method return 400 - Bad Request / 409 - Conflict with the failure reason. Bad request usually indicates incorrect body and Conflict can happen if you try to submit a Ti Indicator with existing indicator value but with different Indicator type or Action. +- If successful, this method returns 200 - OK response code and the created / updated [TI Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity in the response body. +- If not successful: this method return 400 - Bad Request / 409 - Conflict with the failure reason. Bad request usually indicates incorrect body and Conflict can happen if you try to submit a TI Indicator with existing indicator value but with different Indicator type or Action. ## Example diff --git a/windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md index 36bff33024..3d3df87d11 100644 --- a/windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md @@ -13,7 +13,7 @@ ms.localizationpriority: medium ms.date: 12/08/2017 --- -# TiIndicator resource type +# TI(threat intelligence) Indicator resource type **Applies to:** - Windows Defender Advanced Threat Protection (Windows Defender ATP) @@ -22,16 +22,16 @@ ms.date: 12/08/2017 Method|Return Type |Description :---|:---|:--- -[List TiIndicators](get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md) | [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) Collection | List [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entities. -[Get TiIndicator by ID](get-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md) | [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) | Gets the requested [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity. -[Submit or Update TiIndicator](post-ti-indicator-windows-defender-advanced-threat-protection-new.md) | [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) | Submits [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity. -[Delete TiIndicator](delete-ti-indicator-windows-defender-advanced-threat-protection-new.md) | No Content | Deletes [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity. +[List TI Indicators](get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md) | [TI Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) Collection | List [TI Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entities. +[Get TI Indicator by ID](get-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md) | [TI Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) | Gets the requested [TI Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity. +[Submit TI Indicator](post-ti-indicator-windows-defender-advanced-threat-protection-new.md) | [TI Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) | Submits [TI Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity. +[Delete TI Indicator](delete-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md) | No Content | Deletes [TI Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity. # Properties Property | Type | Description :---|:---|:--- -indicator | String | Identity of the [Ti Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity. +indicator | String | Identity of the [TI Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity. indicatorType | Enum | Type of the indicator. Possible values are: "FileSha1", "FileSha256", "IpAddress", "DomainName" and "Url" title | String | Ti indicator title. creationTimeDateTimeUtc | DateTimeOffset | The date and time when the indicator was created. From 2cb8a34f95d68b4cf9e53bf9bc9a6e1255d62ba5 Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Sun, 28 Oct 2018 13:05:15 +0200 Subject: [PATCH 135/162] s --- ...-windows-defender-advanced-threat-protection-new.md | 10 +++++----- ...-windows-defender-advanced-threat-protection-new.md | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/post-ti-indicator-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/post-ti-indicator-windows-defender-advanced-threat-protection-new.md index 59030b2ebd..1a2575ea36 100644 --- a/windows/security/threat-protection/windows-defender-atp/post-ti-indicator-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/post-ti-indicator-windows-defender-advanced-threat-protection-new.md @@ -59,11 +59,11 @@ Parameter | Type | Description indicator | String | Identity of the [TI Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity. **Required** indicatorType | Enum | Type of the indicator. Possible values are: "FileSha1", "FileSha256", "IpAddress", "DomainName" and "Url". **Required** action | Enum | The action that will be taken if the indicator will be discovered in the organization. Possible values are: "Alert", "AlertAndBlock", and "Allowed". **Required** -title | String | TI indicator title. -expirationTime | DateTimeOffset | The expiration time of the indicator. -severity | Enum | The severity of the indicator. possible values are: "Informational", "Low", "Medium" and "High". -description | String | Description of the indicator. -recommendedActions | String | Recommended actions for the indicator. +title | String | TI indicator alert title. **Optional** +expirationTime | DateTimeOffset | The expiration time of the indicator. **Optional** +severity | Enum | The severity of the indicator. possible values are: "Informational", "Low", "Medium" and "High". **Optional** +description | String | Description of the indicator. **Optional** +recommendedActions | String | TI indicator alert recommended actions. **Optional** ## Response diff --git a/windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md b/windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md index 3d3df87d11..d8693cd298 100644 --- a/windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md +++ b/windows/security/threat-protection/windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md @@ -33,13 +33,13 @@ Property | Type | Description :---|:---|:--- indicator | String | Identity of the [TI Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) entity. indicatorType | Enum | Type of the indicator. Possible values are: "FileSha1", "FileSha256", "IpAddress", "DomainName" and "Url" -title | String | Ti indicator title. +title | String | Ti indicator alert title. creationTimeDateTimeUtc | DateTimeOffset | The date and time when the indicator was created. createdBy | String | Identity of the user/application that submitted the indicator. expirationTime | DateTimeOffset | The expiration time of the indicator action | Enum | The action that will be taken if the indicator will be discovered in the organization. Possible values are: "Alert", "AlertAndBlock", and "Allowed" severity | Enum | The severity of the indicator. possible values are: "Informational", "Low", "Medium" and "High" description | String | Description of the indicator. -recommendedActions | String | Recommended actions for the indicator. +recommendedActions | String | TI indicator alert recommended actions. From 9a1053054c5bd7fc28e6e378a5be95bf4a7a3e8c Mon Sep 17 00:00:00 2001 From: David Laufer Date: Mon, 5 Nov 2018 09:32:35 +0200 Subject: [PATCH 136/162] Fix Advanced Hunting with Power BI --- ...advanced-query-sample-power-bi-user-token.md | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) 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 202d338c71..b065578d98 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 @@ -47,15 +47,12 @@ You first need to [create an app](exposed-apis-create-app-nativeapp.md). let Query = "MachineInfo | where EventTime > ago(7d) | summarize EventCount=count(), LastSeen=max(EventTime) by MachineId", - - AdvancedHuntingUrl = "https://api.securitycenter.windows.com/api/advancedqueries/run", - - Response = Json.Document(Web.Contents( - AdvancedHuntingUrl, - [ - Query=[#"queryText"=Query] - ] - )), + + FormattedQuery= Uri.EscapeDataString(Query), + + AdvancedHuntingUrl = "https://api.securitycenter.windows.com/api/advancedqueries?key=" & FormattedQuery, + + Response = Json.Document(Web.Contents(AdvancedHuntingUrl)), TypeMap = #table( { "Type", "PowerBiType" }, @@ -83,7 +80,7 @@ You first need to [create an app](exposed-apis-create-app-nativeapp.md). Results = Response[Results], Rows = Table.FromRecords(Results, Schema[Name]), Table = Table.TransformColumnTypes(Rows, Table.ToList(TypedSchema, (c) => {c{0}, c{2}})) - + in Table ``` From fcc1cac35a4ad1f91f7d35b194fb55393b04c403 Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Thu, 8 Nov 2018 11:25:05 +0200 Subject: [PATCH 137/162] Hide TI Indicators from the navigation bar --- windows/security/threat-protection/TOC.md | 6 ------ .../security/threat-protection/windows-defender-atp/TOC.md | 6 ------ 2 files changed, 12 deletions(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index b2568ff5d9..27b8022e11 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -351,12 +351,6 @@ ######## [Get user related alerts](windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection-new.md) ######## [Get user related machines](windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection-new.md) -####### [TI Indicator](windows-defender-atp/ti-indicator-windows-defender-advanced-threat-protection-new.md) -######## [List TI Indicators](windows-defender-atp/get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md) -######## [Get TI Indicator by ID](windows-defender-atp/get-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md) -######## [Submit TI Indicator](windows-defender-atp/post-ti-indicator-windows-defender-advanced-threat-protection-new.md) -######## [Delete TI Indicator](windows-defender-atp/delete-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md) - ###### How to use APIs - Samples ####### Advanced Hunting API ######## [Schedule advanced Hunting using Microsoft Flow](windows-defender-atp/run-advanced-query-sample-ms-flow.md) diff --git a/windows/security/threat-protection/windows-defender-atp/TOC.md b/windows/security/threat-protection/windows-defender-atp/TOC.md index 273cc66efe..71c2a82d6f 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -287,12 +287,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) -###### [TI Indicator](ti-indicator-windows-defender-advanced-threat-protection-new.md) -####### [List TI Indicators](get-ti-indicators-collection-windows-defender-advanced-threat-protection-new.md) -####### [Get TI Indicator by ID](get-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md) -####### [Submit TI Indicator](post-ti-indicator-windows-defender-advanced-threat-protection-new.md) -####### [Delete TI Indicator](delete-ti-indicator-by-id-windows-defender-advanced-threat-protection-new.md) - ##### How to use APIs - Samples ###### Advanced Hunting API ####### [Schedule advanced Hunting using Microsoft Flow](run-advanced-query-sample-ms-flow.md) From afd83cf3acc50c1d41d8ea45a688ac8bd454da57 Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Thu, 8 Nov 2018 14:21:40 +0200 Subject: [PATCH 138/162] remove file name --- .../custom-ti-api-windows-defender-advanced-threat-protection.md | 1 - 1 file changed, 1 deletion(-) diff --git a/windows/security/threat-protection/windows-defender-atp/custom-ti-api-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/custom-ti-api-windows-defender-advanced-threat-protection.md index 229300b01e..c7717dff75 100644 --- a/windows/security/threat-protection/windows-defender-atp/custom-ti-api-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/custom-ti-api-windows-defender-advanced-threat-protection.md @@ -186,7 +186,6 @@ The API currently supports the following IOC types: - Sha1 - Sha256 - Md5 -- FileName - IpAddress - DomainName From a0f6a05599161ecf6160573cf1e724535e52cce8 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Fri, 9 Nov 2018 15:56:18 -0800 Subject: [PATCH 139/162] add deprecated --- .../exposed-apis-windows-defender-advanced-threat-protection.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.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection.md index 82d6912c6d..67ec69e0e1 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection.md @@ -14,7 +14,7 @@ ms.localizationpriority: medium ms.date: 10/23/2017 --- -# Use the Windows Defender ATP exposed APIs +# Use the Windows Defender ATP exposed APIs (deprecated) **Applies to:** From be2399cba2d330f63eeea8928586838163173d47 Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Sat, 10 Nov 2018 10:39:15 -0500 Subject: [PATCH 140/162] typo: visbility -> visibility --- .../client-management/manage-settings-app-with-group-policy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/client-management/manage-settings-app-with-group-policy.md b/windows/client-management/manage-settings-app-with-group-policy.md index aa9b63bd2b..7b80381b7c 100644 --- a/windows/client-management/manage-settings-app-with-group-policy.md +++ b/windows/client-management/manage-settings-app-with-group-policy.md @@ -38,7 +38,7 @@ Policy paths: The Group Policy can be configured in one of two ways: specify a list of pages that are shown or specify a list of pages to hide. To do this, add either **ShowOnly:** or **Hide:** followed by a semicolon delimited list of URIs in **Settings Page Visiblity**. For a full list of URIs, see the URI scheme reference section in [Launch the Windows Settings app](https://docs.microsoft.com/windows/uwp/launch-resume/launch-settings-app#ms-settings-uri-scheme-reference). >[!NOTE] -> When you specify the URI in the Settings Page Visbility textbox, don't include **ms-settings:** in the string. +> When you specify the URI in the Settings Page Visibility textbox, don't include **ms-settings:** in the string. Here are some examples: From a027e34ffd597eb14d60f07626aa0a64d77b72e7 Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Sat, 10 Nov 2018 10:59:56 -0500 Subject: [PATCH 141/162] typo: Additonal -> Additional --- .../mdm/bulk-enrollment-using-windows-provisioning-tool.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/client-management/mdm/bulk-enrollment-using-windows-provisioning-tool.md b/windows/client-management/mdm/bulk-enrollment-using-windows-provisioning-tool.md index 4e860c0b4b..8aa018c18c 100644 --- a/windows/client-management/mdm/bulk-enrollment-using-windows-provisioning-tool.md +++ b/windows/client-management/mdm/bulk-enrollment-using-windows-provisioning-tool.md @@ -79,7 +79,7 @@ Using the ICD, create a provisioning package using the enrollment information re 12. Enter the values for your package and specify the package output location. ![enter package information](images/bulk-enrollment3.png) - ![enter additonal information for package information](images/bulk-enrollment4.png) + ![enter additional information for package information](images/bulk-enrollment4.png) ![specify file location](images/bulk-enrollment6.png) 13. Click **Build**. From e75db18d7f4f6978d1f05c0eb47f2934854eca2f Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Sat, 10 Nov 2018 11:27:29 -0500 Subject: [PATCH 142/162] Update gdpr-win10-whitepaper.md --- windows/privacy/gdpr-win10-whitepaper.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/privacy/gdpr-win10-whitepaper.md b/windows/privacy/gdpr-win10-whitepaper.md index 5a54e998e6..a8a0214f4a 100644 --- a/windows/privacy/gdpr-win10-whitepaper.md +++ b/windows/privacy/gdpr-win10-whitepaper.md @@ -293,7 +293,7 @@ For example, employees can’t send protected work files from a personal email a #### Capabilities to classify, assign permissions and share data Windows Information Protection is designed to coexist with advanced data loss prevention (DLP) capabilities found in Office 365 ProPlus, Azure Information Protection, and Azure Rights Management. Advanced DLP prevents printing, for example, or protects work data that is emailed outside your company. -To continously protect your data, regardless of where it is stored, with whom it is shared, or if the device is running iOS, Android or Windows, the classification and protection needs to be built into the file itself, so this protection can travel with the data wherever it goes. Microsoft Azure Information Protection (AIP) is designed to provide this persistent data protection both on-premises and in the cloud. +To continuously protect your data, regardless of where it is stored, with whom it is shared, or if the device is running iOS, Android or Windows, the classification and protection needs to be built into the file itself, so this protection can travel with the data wherever it goes. Microsoft Azure Information Protection (AIP) is designed to provide this persistent data protection both on-premises and in the cloud. Data classification is an important part of any data governance plan. Adopting a classification scheme that applies throughout your business can be particularly helpful in responding to what the GDPR calls data subject (for example, your EU employee or customer) requests, because it enables enterprises to identify more readily and process personal data requests. @@ -332,4 +332,4 @@ This article does not provide you with any legal rights to any intellectual prop Published September 2017
      Version 1.0
      -© 2017 Microsoft. All rights reserved. \ No newline at end of file +© 2017 Microsoft. All rights reserved. From b1db2507f1ad429da66ca9ad375867246a086f36 Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Sat, 10 Nov 2018 12:17:33 -0500 Subject: [PATCH 143/162] typo: Controler -> Controller --- ...-down-system-immediately-if-unable-to-log-security-audits.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/security-policy-settings/audit-shut-down-system-immediately-if-unable-to-log-security-audits.md b/windows/security/threat-protection/security-policy-settings/audit-shut-down-system-immediately-if-unable-to-log-security-audits.md index 5b63d093b8..d5b8c58676 100644 --- a/windows/security/threat-protection/security-policy-settings/audit-shut-down-system-immediately-if-unable-to-log-security-audits.md +++ b/windows/security/threat-protection/security-policy-settings/audit-shut-down-system-immediately-if-unable-to-log-security-audits.md @@ -60,7 +60,7 @@ The following table lists the actual and effective default values for this polic | Server type or GPO | Default value | | - | - | | Default Domain Policy | Not defined -| Default Domain Controler Policy | Not defined +| Default Domain Controller Policy | Not defined | Stand-Alone Server Default Settings | Disabled | DC Effective Default Settings | Disabled | Member Server Effective Default Settings | Disabled From 87c4ab1a319bd73f953cd7ba7aced8f0b2e13b35 Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Sat, 10 Nov 2018 18:38:16 -0500 Subject: [PATCH 144/162] typo: Availabilty -> Availability --- .../hello-for-business/hello-hybrid-aadj-sso-cert.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/identity-protection/hello-for-business/hello-hybrid-aadj-sso-cert.md b/windows/security/identity-protection/hello-for-business/hello-hybrid-aadj-sso-cert.md index d47f46ccc8..d855efc036 100644 --- a/windows/security/identity-protection/hello-for-business/hello-hybrid-aadj-sso-cert.md +++ b/windows/security/identity-protection/hello-for-business/hello-hybrid-aadj-sso-cert.md @@ -100,7 +100,7 @@ Sign-in to a domain controller or management workstation with access equivalent 4. Type **NDES Servers** in **Enter the object names to select**. Click **OK**. Click **OK** on the **Active Directory Domain Services** success dialog. > [!NOTE] -> For high-availabilty, you should have more than one NDES server to service Windows Hello for Business certificate requests. You should add additional Windows Hello for Business NDES servers to this group to ensure they receive the proper configuration. +> For high-availability, you should have more than one NDES server to service Windows Hello for Business certificate requests. You should add additional Windows Hello for Business NDES servers to this group to ensure they receive the proper configuration. ### Create the NDES Service Account The Network Device Enrollment Services (NDES) role runs under a service account. Typically, it is preferential to run services using a Group Managed Service Account (GMSA). While the NDES role can be configured to run using a GMSA, the Intune Certificate Connector was not designed nor tested using a GMSA and is considered an unsupported configuration. The deployment uses a normal services account. @@ -686,4 +686,4 @@ You have successfully completed the configuration. Add users that need to enrol > * Install and Configure the NDES Role > * Configure Network Device Enrollment Services to work with Microsoft Intune > * Download, Install, and Configure the Intune Certificate Connector -> * Create and Assign a Simple Certificate Enrollment Protocol (SCEP Certificate Profile) \ No newline at end of file +> * Create and Assign a Simple Certificate Enrollment Protocol (SCEP Certificate Profile) From 7da89e0d2640e7de18890be1751d6167b95cd643 Mon Sep 17 00:00:00 2001 From: David Laufer Date: Sun, 11 Nov 2018 13:25:34 +0200 Subject: [PATCH 145/162] Advanced Hunting API --- .../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 4281f9dd00..8decfce57c 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 @@ -29,7 +29,7 @@ This API allows you to run programmatic queries that you are used to running fro This API is a beta version only and is currently restricted to the following actions: 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 number of executions is limited​ (up to 15 minutes every hour and 4 hours a day) +3. The number of executions is limited​ (up to 15 calls per minute, 15 minutes of running time every hour and 4 hours of running time a day) ## 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](apis-intro.md) @@ -41,7 +41,7 @@ Delegated (work or school account) | AdvancedQuery.Read | 'Run advanced queries' >[!Note] > When obtaining a token using user credentials: ->- The user needs to have 'Global Admin' AD role +>- The user needs to have 'Global Admin' AD role (note: will be updated soon to 'View Data') >- The user needs to have access to the machine, based on machine group settings (See [Create and manage machine groups](machine-groups-windows-defender-advanced-threat-protection.md) for more information) ## HTTP request From ad87d4675f614de93b90b3ed3b6c51489240588e Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Mon, 12 Nov 2018 05:30:54 +0000 Subject: [PATCH 146/162] Updated TOC.md --- .../threat-protection/windows-defender-atp/TOC.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/windows/security/threat-protection/windows-defender-atp/TOC.md b/windows/security/threat-protection/windows-defender-atp/TOC.md index 71c2a82d6f..1238a4b2af 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -283,10 +283,21 @@ ####### [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) +###### Machines Security States +####### [Get MachineSecurityStates collection](get-machinesecuritystates-collection-windows-defender-advanced-threat-protection.md) +###### Machine Groups +####### [Get MachineGroups collection](get-machinegroups-collection-windows-defender-advanced-threat-protection.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) +###### Windows updates (KB) info +####### [Get KbInfo collection](get-kbinfo-collection-windows-defender-advanced-threat-protection.md) +###### Common Vulnerabilities and Exposures (CVE) to KB map +####### [Get CVE-KB map](get-cvekbmap-collection-windows-defender-advanced-threat-protection.md) + ##### How to use APIs - Samples ###### Advanced Hunting API ####### [Schedule advanced Hunting using Microsoft Flow](run-advanced-query-sample-ms-flow.md) From 4c14df90b6fc85d30e748a3b8fabbfcb6f0b2de2 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Mon, 12 Nov 2018 05:34:35 +0000 Subject: [PATCH 147/162] Updated machine-windows-defender-advanced-threat-protection-new.md --- ...ine-windows-defender-advanced-threat-protection-new.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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 020621ef49..8c70bf4419 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,6 +1,6 @@ --- -title: machine resource type -description: Retrieves top machines. +title: Machine resource type +description: Retrieves top machines keywords: apis, supported apis, get, machines search.product: eADQiWindows 10XVcnh ms.prod: w10 @@ -10,10 +10,10 @@ ms.pagetype: security ms.author: macapara author: mjcaparas ms.localizationpriority: medium -ms.date: 12/08/2017 +ms.date: 11/11/2018 --- -# machine resource type +# Machine resource type # Methods From 5fe3519baa351979c446937ee93a2db10787e990 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Mon, 12 Nov 2018 05:52:47 +0000 Subject: [PATCH 149/162] Updated TOC.md --- windows/security/threat-protection/TOC.md | 79 ++++------------------- 1 file changed, 13 insertions(+), 66 deletions(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 12f3ab52ff..ba67fd3160 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -80,73 +80,7 @@ ###### [Advanced hunting query language best practices](windows-defender-atp/advanced-hunting-best-practices-windows-defender-advanced-threat-protection.md) ##### [Custom detections](windows-defender-atp/overview-custom-detections.md) ###### [Create custom detections rules](windows-defender-atp/custom-detection-rules.md) -##### [Supported Windows Defender ATP APIs](windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection.md) -######Actor -####### [Get actor information](windows-defender-atp/get-actor-information-windows-defender-advanced-threat-protection.md) -####### [Get actor related alerts](windows-defender-atp/get-actor-related-alerts-windows-defender-advanced-threat-protection.md) -######Alerts -####### [Get alerts](windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection.md) -####### [Get alert information by ID](windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection.md) -####### [Get alert related actor information](windows-defender-atp/get-alert-related-actor-info-windows-defender-advanced-threat-protection.md) -####### [Get alert related domain information](windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection.md) -####### [Get alert related file information](windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection.md) -####### [Get alert related IP information](windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection.md) -####### [Get alert related machine information](windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection.md) -######Domain -####### [Get domain related alerts](windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection.md) -####### [Get domain related machines](windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection.md) -####### [Get domain statistics](windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection.md) -####### [Is domain seen in organization](windows-defender-atp/is-domain-seen-in-org-windows-defender-advanced-threat-protection.md) -######File -####### [Block file API](windows-defender-atp/block-file-windows-defender-advanced-threat-protection.md) -####### [Get file information](windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection.md) -####### [Get file related alerts](windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection.md) -####### [Get file related machines](windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection.md) -####### [Get file statistics](windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection.md) -####### [Get FileActions collection API](windows-defender-atp/get-fileactions-collection-windows-defender-advanced-threat-protection.md) -####### [Unblock file API](windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection.md) - -######IP -####### [Get IP related alerts](windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection.md) -####### [Get IP related machines](windows-defender-atp/get-ip-related-machines-windows-defender-advanced-threat-protection.md) -####### [Get IP statistics](windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection.md) -####### [Is IP seen in organization](windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection.md) -######Machines -####### [Collect investigation package API](windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection.md) -####### [Find machine information by IP](windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection.md) -####### [Get machines](windows-defender-atp/get-machines-windows-defender-advanced-threat-protection.md) -####### [Get FileMachineAction object API](windows-defender-atp/get-filemachineaction-object-windows-defender-advanced-threat-protection.md) -####### [Get FileMachineActions collection API](windows-defender-atp/get-filemachineactions-collection-windows-defender-advanced-threat-protection.md) -####### [Get machine by ID](windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection.md) -####### [Get machine log on users](windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection.md) -####### [Get machine related alerts](windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection.md) -####### [Get MachineAction object API](windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection.md) -####### [Get MachineActions collection API](windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection.md) -####### [Get machines](windows-defender-atp/get-machines-windows-defender-advanced-threat-protection.md) -####### [Get package SAS URI API](windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection.md) -####### [Isolate machine API](windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection.md) -####### [Release machine from isolation API](windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection.md) -####### [Remove app restriction API](windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection.md) -####### [Request sample API](windows-defender-atp/request-sample-windows-defender-advanced-threat-protection.md) -####### [Restrict app execution API](windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection.md) -####### [Run antivirus scan API](windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection.md) -####### [Stop and quarantine file API](windows-defender-atp/stop-quarantine-file-windows-defender-advanced-threat-protection.md) -######Machines Security States -####### [Get MachineSecurityStates collection](windows-defender-atp/get-machinesecuritystates-collection-windows-defender-advanced-threat-protection.md) -######Machine Groups -####### [Get MachineGroups collection](windows-defender-atp/get-machinegroups-collection-windows-defender-advanced-threat-protection.md) - -######User -####### [Get alert related user information](windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection.md) -####### [Get user information](windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection.md) -####### [Get user related alerts](windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection.md) -####### [Get user related machines](windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection.md) - -######Windows updates (KB) info -####### [Get KbInfo collection](windows-defender-atp/get-kbinfo-collection-windows-defender-advanced-threat-protection.md) -######Common Vulnerabilities and Exposures (CVE) to KB map -####### [Get CVE-KB map](windows-defender-atp/get-cvekbmap-collection-windows-defender-advanced-threat-protection.md) #### [Management and APIs](windows-defender-atp/management-apis.md) @@ -335,6 +269,12 @@ ######## [Add or Remove machine tags](windows-defender-atp/add-or-remove-machine-tags-windows-defender-advanced-threat-protection-new.md) ######## [Find machines by IP](windows-defender-atp/find-machines-by-ip-windows-defender-advanced-threat-protection-new.md) +####### Machines Security States +######## [Get MachineSecurityStates collection](windows-defender-atp/get-machinesecuritystates-collection-windows-defender-advanced-threat-protection.md) +####### Machine Groups +######## [Get MachineGroups collection](windows-defender-atp/get-machinegroups-collection-windows-defender-advanced-threat-protection.md) + + ####### [Machine Action](windows-defender-atp/machineaction-windows-defender-advanced-threat-protection-new.md) ######## [List MachineActions](windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection-new.md) ######## [Get MachineAction](windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection-new.md) @@ -351,6 +291,13 @@ ######## [Get user related alerts](windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection-new.md) ######## [Get user related machines](windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection-new.md) + +####### Windows updates (KB) info +######## [Get KbInfo collection](windows-defender-atp/get-kbinfo-collection-windows-defender-advanced-threat-protection.md) +####### Common Vulnerabilities and Exposures (CVE) to KB map +######## [Get CVE-KB map](windows-defender-atp/get-cvekbmap-collection-windows-defender-advanced-threat-protection.md) + + ###### How to use APIs - Samples ####### Advanced Hunting API ######## [Schedule advanced Hunting using Microsoft Flow](windows-defender-atp/run-advanced-query-sample-ms-flow.md) From 2427f9694ae0cc3c8a2db421f5c2a1bc7976ed57 Mon Sep 17 00:00:00 2001 From: CCDFischer <38050005+CCDFischer@users.noreply.github.com> Date: Mon, 12 Nov 2018 08:55:07 -0500 Subject: [PATCH 150/162] Update how-to-download-and-deploy-mdop-group-policy--admx--templates.md add instructions on how to expand the downloaded .cab file --- ...to-download-and-deploy-mdop-group-policy--admx--templates.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mdop/solutions/how-to-download-and-deploy-mdop-group-policy--admx--templates.md b/mdop/solutions/how-to-download-and-deploy-mdop-group-policy--admx--templates.md index b183080d0a..bb717d6751 100644 --- a/mdop/solutions/how-to-download-and-deploy-mdop-group-policy--admx--templates.md +++ b/mdop/solutions/how-to-download-and-deploy-mdop-group-policy--admx--templates.md @@ -22,7 +22,7 @@ You can manage the feature settings of certain Microsoft Desktop Optimization Pa 1. Download the latest [MDOP Group Policy templates](https://www.microsoft.com/en-us/download/details.aspx?id=55531) -2. Run the downloaded file to extract the template folders. +2. Expand the downloaded .cab file by running `expand \MDOP_ADMX_Templates.cab -F:* ` **Warning**   Do not extract the templates directly to the Group Policy deployment directory. Multiple technologies and versions are bundled in this file. From db587ec0a244efff6ae97f0c412685acd273cb80 Mon Sep 17 00:00:00 2001 From: Kartikay Sharma <44971599+SharmaKartikay@users.noreply.github.com> Date: Mon, 12 Nov 2018 19:29:01 +0530 Subject: [PATCH 151/162] Updated the TPM 2.0 Heal Time Info The Heal Time for TPM 2.0 on Windows 10 is 10 Minutes where as the document says 2 hours which is not correct. --- .../security/information-protection/tpm/manage-tpm-lockout.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/information-protection/tpm/manage-tpm-lockout.md b/windows/security/information-protection/tpm/manage-tpm-lockout.md index db918c0ba6..6f31a72d96 100644 --- a/windows/security/information-protection/tpm/manage-tpm-lockout.md +++ b/windows/security/information-protection/tpm/manage-tpm-lockout.md @@ -31,7 +31,7 @@ The industry standards from the Trusted Computing Group (TCG) specify that TPM m **TPM 2.0** -TPM 2.0 devices have standardized lockout behavior which is configured by Windows. TPM 2.0 devices have a maximum count threshold and a healing time. Windows configures the maximum count to be 32 and the healing time to be 2 hours. This means that every continuous two hours of powered on operation without an event which increases the counter will cause the counter to decrease by 1. +TPM 2.0 devices have standardized lockout behavior which is configured by Windows. TPM 2.0 devices have a maximum count threshold and a healing time. Windows 10 configures the maximum count to be 32 and the healing time to be 10 minutes. This means that every continuous ten minutes of powered on operation without an event which increases the counter will cause the counter to decrease by 1. If your TPM has entered lockout mode or is responding slowly to commands, you can reset the lockout value by using the following procedures. Resetting the TPM lockout requires the TPM owner’s authorization. This value is no longer retained by default starting with Windows 10 version 1607. From 3965fd992c839d3f1317e8165d44b5bc240881e1 Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Mon, 12 Nov 2018 17:06:44 +0200 Subject: [PATCH 152/162] s --- .../windows-defender-atp/exposed-apis-list.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-list.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-list.md index d8edf97d46..31a700d1dc 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-list.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-list.md @@ -22,6 +22,25 @@ 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-supportedapis-abovefoldlink) +## End Point URI and Versioning + +### End Point URI: + +> The service base URI is: https://api.securitycenter.windows.com + +> The queries based OData have the '/api' prefix. For example, to get Alerts you can send GET request to https://api.securitycenter.windows.com/api/alerts + +### Versioning: + +> The API supports versioning. + +> The current version is **V1.0**. + +> To use a specific version use this format: https://api.securitycenter.windows.com/api/{Version}. For example: https://api.securitycenter.windows.com/api/v1.0/alerts + +> If you dont specify any version ( without /v1.0/ ) you will get to the latest version. + + 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 From fb57c43f1ea6da267525a9f0a223f4e9d84c7eff Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Mon, 12 Nov 2018 18:14:15 +0200 Subject: [PATCH 153/162] s --- .../exposed-apis-odata-samples.md | 146 ++++++++++++++++++ 1 file changed, 146 insertions(+) create mode 100644 windows/security/threat-protection/windows-defender-atp/exposed-apis-odata-samples.md diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-odata-samples.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-odata-samples.md new file mode 100644 index 0000000000..0f80a2b138 --- /dev/null +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-odata-samples.md @@ -0,0 +1,146 @@ +--- +title: OData queries with Windows Defender ATP +description: OData queries with Windows Defender ATP +keywords: apis, supported apis, odata, 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: 09/24/2018 +--- + +# OData queries with Windows Defender ATP +**Applies to:** +- Windows Defender Advanced Threat Protection (Windows Defender ATP) + +[!include[Prerelease information](prerelease.md)] + +If you are not familliar with OData queries, please see: [OData V4 queries](https://www.odata.org/documentation/) + +** Currently, [Machine](machine-windows-defender-advanced-threat-protection-new.md) and [Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) entities supports all OData queries.** +** [Alert](alerts-windows-defender-advanced-threat-protection-new.md) entity support all OData queries except $filter.** + +### Example 1 + +**Get top 100 machines with 'HealthStatus' not equals to 'Active'** + +``` +HTTP GET https://api.securitycenter.windows.com/api/machines?$filter=healthStatus ne 'Active'&$top=100 +``` + +**Response:** + +``` +HTTP/1.1 200 OK +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#Machines", + "value": [ + { + "id": "e3a77eeddb83d581238792387b1239b01286b2f", + "computerDnsName": "examples.dev.corp.microsoft.com", + "firstSeen": "2016-11-02T23:26:03.7882168Z", + "lastSeen": "2018-11-12T10:27:08.708723Z", + "osPlatform": "Windows10", + "osVersion": "10.0.0.0", + "lastIpAddress": "123.123.10.33", + "lastExternalIpAddress": "124.124.160.172", + "agentVersion": "10.6300.18279.1001", + "osBuild": 18279, + "healthStatus": "ImpairedCommunication", + "isAadJoined": true, + "machineTags": [], + "rbacGroupId": 5, + "rbacGroupName": "North", + "riskScore": "Medium", + "aadDeviceId": "d90b0b99-1234-1234-1234-b91d50c6796a" + }, + . + . + . + ] +} +``` + +### Example 2 + +**Get all the machines that last seen after 2018-10-20** + +``` +HTTP GET https://api.securitycenter.windows.com/api/machines?$filter=lastSeen gt 2018-10-20Z +``` + +**Response:** + +``` +HTTP/1.1 200 OK +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#Machines", + "value": [ + { + "id": "83123465ffceca4a731234e5dcde3357e026e873", + "computerDnsName": "k0107-vm10", + "firstSeen": "2018-11-12T16:07:50.1706168Z", + "lastSeen": "2018-11-12T16:07:50.1706168Z", + "osPlatform": "WindowsServer2019", + "osVersion": null, + "lastIpAddress": "10.123.72.35", + "lastExternalIpAddress": "123.220.2.3", + "agentVersion": "10.6300.18281.1000", + "osBuild": 18281, + "healthStatus": "Active", + "isAadJoined": false, + "machineTags": [], + "rbacGroupId": 4, + "rbacGroupName": "East", + "riskScore": "None", + "aadDeviceId": null + }, + . + . + . + ] +} +``` + +### Example 2 + +**Get all the anti virus scans that the user Analyst@examples.onmicrosoft.com created using WDATP** + +``` +HTTP GET https://api.securitycenter.windows.com/api/machineactions?$filter=requestor eq 'Analyst@WcdTestPrd.onmicrosoft.com' and type eq 'RunAntiVirusScan' +``` + +**Response:** + +``` +HTTP/1.1 200 OK +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#MachineActions", + "value": [ + { + "id": "5c3e3322-d993-1234-986b-dfb136ebc8c5", + "type": "RunAntiVirusScan", + "requestor": "Analyst@examples.onmicrosoft.com", + "requestorComment": "1533", + "status": "Succeeded", + "machineId": "123321c10e44a82877af76b1d0161a17843f688a", + "creationDateTimeUtc": "2018-11-12T13:33:24.5755657Z", + "lastUpdateDateTimeUtc": "2018-11-12T13:34:32.0319826Z", + "relatedFileInfo": null + }, + . + . + . + ] +} +``` + +## Related topic +- [Windows Defender ATP APIs](apis-intro.md) From f43a23e29a0d6bae8b1e406ab13bb2c13943a215 Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Mon, 12 Nov 2018 18:17:01 +0200 Subject: [PATCH 154/162] s --- windows/security/threat-protection/TOC.md | 1 + 1 file changed, 1 insertion(+) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index ba67fd3160..a621eece20 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -306,6 +306,7 @@ ######## [Create custom Power BI reports](windows-defender-atp/run-advanced-query-sample-power-bi-app-token.md) ####### Multiple APIs ######## [PowerShell](windows-defender-atp/exposed-apis-full-sample-powershell.md) +####### [Using OData Queries](exposed-apis-odata-samples.md) ##### [Use the Windows Defender ATP exposed APIs (deprecated)](windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection.md) ###### [Supported Windows Defender ATP APIs (deprecated)](windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection.md) From 1eb13f7bf75f6b0c840f34312da5b78cf8c20b92 Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Mon, 12 Nov 2018 18:25:26 +0200 Subject: [PATCH 155/162] s --- windows/security/threat-protection/TOC.md | 2 +- .../windows-defender-atp/exposed-apis-list.md | 2 +- .../windows-defender-atp/exposed-apis-odata-samples.md | 2 +- ...-alerts-windows-defender-advanced-threat-protection-new.md | 4 +++- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index a621eece20..b298869bff 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -306,7 +306,7 @@ ######## [Create custom Power BI reports](windows-defender-atp/run-advanced-query-sample-power-bi-app-token.md) ####### Multiple APIs ######## [PowerShell](windows-defender-atp/exposed-apis-full-sample-powershell.md) -####### [Using OData Queries](exposed-apis-odata-samples.md) +####### [Using OData Queries](exposed-apis-odata-samples.) ##### [Use the Windows Defender ATP exposed APIs (deprecated)](windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection.md) ###### [Supported Windows Defender ATP APIs (deprecated)](windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection.md) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-list.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-list.md index 31a700d1dc..c2822f4178 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-list.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-list.md @@ -38,7 +38,7 @@ ms.date: 30/07/2018 > To use a specific version use this format: https://api.securitycenter.windows.com/api/{Version}. For example: https://api.securitycenter.windows.com/api/v1.0/alerts -> If you dont specify any version ( without /v1.0/ ) you will get to the latest version. +> If you don't specify any version ( without /v1.0/ ) you will get to the latest version. 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/exposed-apis-odata-samples.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-odata-samples.md index 0f80a2b138..940cb92430 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-odata-samples.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-odata-samples.md @@ -19,7 +19,7 @@ ms.date: 09/24/2018 [!include[Prerelease information](prerelease.md)] -If you are not familliar with OData queries, please see: [OData V4 queries](https://www.odata.org/documentation/) +If you are not familiar with OData queries, please see: [OData V4 queries](https://www.odata.org/documentation/) ** Currently, [Machine](machine-windows-defender-advanced-threat-protection-new.md) and [Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) entities supports all OData queries.** ** [Alert](alerts-windows-defender-advanced-threat-protection-new.md) entity support all OData queries except $filter.** 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 2ff5212e4b..e109d17851 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 @@ -41,6 +41,8 @@ Delegated (work or school account) | Alert.ReadWrite | 'Read and write alerts' GET /api/users/{id}/alerts ``` +**Note that the id is not the Full UPN, its only the user name. For example, for user1@contoso.com you will need to send /api/users/user1/alerts** + ## Request headers Name | Type | Description @@ -64,7 +66,7 @@ Here is an example of the request. [!include[Improve request performance](improverequestperformance-new.md)] ``` -GET https://api.securitycenter.windows.com/api/users/user1@contoso.com/alerts +GET https://api.securitycenter.windows.com/api/users/user1/alerts ``` **Response** From dfb70cafbd9e968c90dac7be9cac3e7829350c69 Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Mon, 12 Nov 2018 18:27:23 +0200 Subject: [PATCH 156/162] s --- windows/security/threat-protection/TOC.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index b298869bff..a621eece20 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -306,7 +306,7 @@ ######## [Create custom Power BI reports](windows-defender-atp/run-advanced-query-sample-power-bi-app-token.md) ####### Multiple APIs ######## [PowerShell](windows-defender-atp/exposed-apis-full-sample-powershell.md) -####### [Using OData Queries](exposed-apis-odata-samples.) +####### [Using OData Queries](exposed-apis-odata-samples.md) ##### [Use the Windows Defender ATP exposed APIs (deprecated)](windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection.md) ###### [Supported Windows Defender ATP APIs (deprecated)](windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection.md) From 22e6d5ec91d3d90c3f0f86acb85f273c1f204719 Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Mon, 12 Nov 2018 18:56:24 +0200 Subject: [PATCH 157/162] s --- windows/security/threat-protection/TOC.md | 2 +- .../security/threat-protection/windows-defender-atp/TOC.md | 1 + .../windows-defender-atp/exposed-apis-list.md | 2 +- ...chines-windows-defender-advanced-threat-protection-new.md | 5 ++++- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index a621eece20..1a627ddd6d 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -306,7 +306,7 @@ ######## [Create custom Power BI reports](windows-defender-atp/run-advanced-query-sample-power-bi-app-token.md) ####### Multiple APIs ######## [PowerShell](windows-defender-atp/exposed-apis-full-sample-powershell.md) -####### [Using OData Queries](exposed-apis-odata-samples.md) +####### [Using OData Queries](windows-defender-atp/exposed-apis-odata-samples.md) ##### [Use the Windows Defender ATP exposed APIs (deprecated)](windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection.md) ###### [Supported Windows Defender ATP APIs (deprecated)](windows-defender-atp/supported-apis-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 1238a4b2af..f1eaae8d85 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -306,6 +306,7 @@ ####### [Create custom Power BI reports](run-advanced-query-sample-power-bi-app-token.md) ###### Multiple APIs ####### [PowerShell](exposed-apis-full-sample-powershell.md) +###### [Using OData Queries](exposed-apis-odata-samples.md) #### [Use the Windows Defender ATP exposed APIs (deprecated)](exposed-apis-windows-defender-advanced-threat-protection.md) ##### [Supported Windows Defender ATP APIs (deprecated)](supported-apis-windows-defender-advanced-threat-protection.md) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-list.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-list.md index c2822f4178..aaf42956c2 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-list.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-list.md @@ -36,7 +36,7 @@ ms.date: 30/07/2018 > The current version is **V1.0**. -> To use a specific version use this format: https://api.securitycenter.windows.com/api/{Version}. For example: https://api.securitycenter.windows.com/api/v1.0/alerts +> To use a specific version, use this format: https://api.securitycenter.windows.com/api/{Version}. For example: https://api.securitycenter.windows.com/api/v1.0/alerts > If you don't specify any version ( without /v1.0/ ) you will get to the latest version. 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 53e0047b39..35a87d200a 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 @@ -41,6 +41,9 @@ Delegated (work or school account) | Machine.ReadWrite | 'Read and write machine GET /api/users/{id}/machines ``` +**Note that the id is not the Full UPN, its only the user name. For example, for user1@contoso.com you will need to send /api/users/user1/machines** + + ## Request headers Name | Type | Description @@ -64,7 +67,7 @@ Here is an example of the request. [!include[Improve request performance](improverequestperformance-new.md)] ``` -GET https://api.securitycenter.windows.com/api/users/user1@contoso.com/machines +GET https://api.securitycenter.windows.com/api/users/user1/machines ``` **Response** From abc402b107f32aea6e259303716016f155ee5fa2 Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Mon, 12 Nov 2018 19:02:00 +0200 Subject: [PATCH 158/162] s --- .../windows-defender-atp/exposed-apis-odata-samples.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-odata-samples.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-odata-samples.md index 940cb92430..a13bd1415e 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-odata-samples.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-odata-samples.md @@ -19,10 +19,10 @@ ms.date: 09/24/2018 [!include[Prerelease information](prerelease.md)] -If you are not familiar with OData queries, please see: [OData V4 queries](https://www.odata.org/documentation/) +> If you are not familiar with OData queries, please see: [OData V4 queries](https://www.odata.org/documentation/) -** Currently, [Machine](machine-windows-defender-advanced-threat-protection-new.md) and [Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) entities supports all OData queries.** -** [Alert](alerts-windows-defender-advanced-threat-protection-new.md) entity support all OData queries except $filter.** +> ** Currently, [Machine](machine-windows-defender-advanced-threat-protection-new.md) and [Machine Action](machineaction-windows-defender-advanced-threat-protection-new.md) entities supports all OData queries.** +> ** [Alert](alerts-windows-defender-advanced-threat-protection-new.md) entity support all OData queries except $filter.** ### Example 1 @@ -108,9 +108,9 @@ Content-type: application/json } ``` -### Example 2 +### Example 3 -**Get all the anti virus scans that the user Analyst@examples.onmicrosoft.com created using WDATP** +**Get all the Anti-Virus scans that the user Analyst@examples.onmicrosoft.com created using WDATP** ``` HTTP GET https://api.securitycenter.windows.com/api/machineactions?$filter=requestor eq 'Analyst@WcdTestPrd.onmicrosoft.com' and type eq 'RunAntiVirusScan' From 60e1b1d178ccf013eb2e255130466bd80f326360 Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Mon, 12 Nov 2018 19:07:04 +0200 Subject: [PATCH 159/162] s --- .../exposed-apis-odata-samples.md | 56 ++++++++++++++++--- 1 file changed, 49 insertions(+), 7 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-odata-samples.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-odata-samples.md index a13bd1415e..a7384d989f 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-odata-samples.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-odata-samples.md @@ -26,10 +26,10 @@ ms.date: 09/24/2018 ### Example 1 -**Get top 100 machines with 'HealthStatus' not equals to 'Active'** +**Get all the machines with 'High' 'RiskScore'** ``` -HTTP GET https://api.securitycenter.windows.com/api/machines?$filter=healthStatus ne 'Active'&$top=100 +HTTP GET https://api.securitycenter.windows.com/api/machines?$filter=riskScore eq 'High' ``` **Response:** @@ -56,7 +56,7 @@ Content-type: application/json "machineTags": [], "rbacGroupId": 5, "rbacGroupName": "North", - "riskScore": "Medium", + "riskScore": "High", "aadDeviceId": "d90b0b99-1234-1234-1234-b91d50c6796a" }, . @@ -68,6 +68,48 @@ Content-type: application/json ### Example 2 +**Get top 100 machines with 'HealthStatus' not equals to 'Active'** + +``` +HTTP GET https://api.securitycenter.windows.com/api/machines?$filter=healthStatus ne 'Active'&$top=100 +``` + +**Response:** + +``` +HTTP/1.1 200 OK +Content-type: application/json +{ + "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#Machines", + "value": [ + { + "id": "1113333ddb83d581238792387b1239b01286b2f", + "computerDnsName": "examples.dev.corp.microsoft.com", + "firstSeen": "2016-11-02T23:26:03.7882168Z", + "lastSeen": "2018-11-12T10:27:08.708723Z", + "osPlatform": "Windows10", + "osVersion": "10.0.0.0", + "lastIpAddress": "123.123.10.33", + "lastExternalIpAddress": "124.124.160.172", + "agentVersion": "10.6300.18279.1001", + "osBuild": 18279, + "healthStatus": "ImpairedCommunication", + "isAadJoined": true, + "machineTags": [], + "rbacGroupId": 5, + "rbacGroupName": "North", + "riskScore": "Medium", + "aadDeviceId": "d90b0b99-1234-1234-1234-b91d50c6796a" + }, + . + . + . + ] +} +``` + +### Example 3 + **Get all the machines that last seen after 2018-10-20** ``` @@ -83,8 +125,8 @@ Content-type: application/json "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#Machines", "value": [ { - "id": "83123465ffceca4a731234e5dcde3357e026e873", - "computerDnsName": "k0107-vm10", + "id": "83113465ffceca4a731234e5dcde3357e026e873", + "computerDnsName": "examples-vm10", "firstSeen": "2018-11-12T16:07:50.1706168Z", "lastSeen": "2018-11-12T16:07:50.1706168Z", "osPlatform": "WindowsServer2019", @@ -108,7 +150,7 @@ Content-type: application/json } ``` -### Example 3 +### Example 4 **Get all the Anti-Virus scans that the user Analyst@examples.onmicrosoft.com created using WDATP** @@ -125,7 +167,7 @@ Content-type: application/json "@odata.context": "https://api.securitycenter.windows.com/api/$metadata#MachineActions", "value": [ { - "id": "5c3e3322-d993-1234-986b-dfb136ebc8c5", + "id": "5c3e3322-d993-1234-1111-dfb136ebc8c5", "type": "RunAntiVirusScan", "requestor": "Analyst@examples.onmicrosoft.com", "requestorComment": "1533", From 4de5a6c4afde5df0bc0e728d697943f699e6f764 Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Mon, 12 Nov 2018 19:29:52 +0200 Subject: [PATCH 160/162] s --- windows/security/threat-protection/TOC.md | 6 ------ .../security/threat-protection/windows-defender-atp/TOC.md | 5 ----- 2 files changed, 11 deletions(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 1a627ddd6d..52a4a8c499 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -292,12 +292,6 @@ ######## [Get user related machines](windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection-new.md) -####### Windows updates (KB) info -######## [Get KbInfo collection](windows-defender-atp/get-kbinfo-collection-windows-defender-advanced-threat-protection.md) -####### Common Vulnerabilities and Exposures (CVE) to KB map -######## [Get CVE-KB map](windows-defender-atp/get-cvekbmap-collection-windows-defender-advanced-threat-protection.md) - - ###### How to use APIs - Samples ####### Advanced Hunting API ######## [Schedule advanced Hunting using Microsoft Flow](windows-defender-atp/run-advanced-query-sample-ms-flow.md) diff --git a/windows/security/threat-protection/windows-defender-atp/TOC.md b/windows/security/threat-protection/windows-defender-atp/TOC.md index f1eaae8d85..08e1ecbe5a 100644 --- a/windows/security/threat-protection/windows-defender-atp/TOC.md +++ b/windows/security/threat-protection/windows-defender-atp/TOC.md @@ -293,11 +293,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) -###### Windows updates (KB) info -####### [Get KbInfo collection](get-kbinfo-collection-windows-defender-advanced-threat-protection.md) -###### Common Vulnerabilities and Exposures (CVE) to KB map -####### [Get CVE-KB map](get-cvekbmap-collection-windows-defender-advanced-threat-protection.md) - ##### How to use APIs - Samples ###### Advanced Hunting API ####### [Schedule advanced Hunting using Microsoft Flow](run-advanced-query-sample-ms-flow.md) From b01a6eb6ad0a9257fd66d80a43bf0bf0db1359fb Mon Sep 17 00:00:00 2001 From: John Rajunas Date: Mon, 12 Nov 2018 12:38:41 -0500 Subject: [PATCH 161/162] Spelling correction Add Missing letter, changing "indows Defender ATP uses . . ." to "Windows Defender ATP uses . . ." --- .../windows-defender-advanced-threat-protection.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/windows-defender-atp/windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/windows-defender-advanced-threat-protection.md index 6d9b834f75..743cb4b2da 100644 --- a/windows/security/threat-protection/windows-defender-atp/windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/windows-defender-advanced-threat-protection.md @@ -22,7 +22,7 @@ ms.date: 11/07/2018 Windows Defender Advanced Threat Protection is a platform designed to help enterprise networks prevent, detect, investigate, and respond to advanced threats. -indows Defender ATP uses the following combination of technology built into Windows 10 and Microsoft's robust cloud service: +Windows Defender ATP uses the following combination of technology built into Windows 10 and Microsoft's robust cloud service: - **Endpoint behavioral sensors**: Embedded in Windows 10, these sensors collect and process behavioral signals from the operating system and sends this sensor data to your private, isolated, cloud instance of Windows Defender ATP. From 638303a66097731565ec8b600f656ac037673e12 Mon Sep 17 00:00:00 2001 From: "Andrea Bichsel (Aquent LLC)" Date: Mon, 12 Nov 2018 18:20:07 +0000 Subject: [PATCH 162/162] Update broken links. --- ...r-virtualization-based-protection-of-code-integrity.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md b/windows/security/threat-protection/windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md index 1eb3ac9b72..640fe4cc29 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md @@ -33,9 +33,9 @@ The following tables provide more information about the hardware, firmware, and |--------------------------------|----------------------------------------------------|-------------------| | Hardware: **64-bit CPU** | A 64-bit computer is required for the Windows hypervisor to provide VBS. | | | Hardware: **CPU virtualization extensions**,
      plus **extended page tables** | These hardware features are required for VBS:
      One of the following virtualization extensions:
      • VT-x (Intel) or
      • AMD-V
      And:
      • Extended page tables, also called Second Level Address Translation (SLAT). | VBS provides isolation of the secure kernel from the normal operating system. Vulnerabilities and zero-days in the normal operating system cannot be exploited because of this isolation. | -| Firmware: **UEFI firmware version 2.3.1.c or higher with UEFI Secure Boot** | See the following Windows Hardware Compatibility Program requirement: [System.Fundamentals.Firmware.UEFISecureBoot](https://docs.microsoft.com/windows-hardware/design/compatibility/systems#systemfundamentalsfirmwareuefisecureboot) | UEFI Secure Boot helps ensure that the device boots only authorized code. This can prevent boot kits and root kits from installing and persisting across reboots. | -| Firmware: **Secure firmware update process** | UEFI firmware must support secure firmware update found under the following Windows Hardware Compatibility Program requirement: [System.Fundamentals.Firmware.UEFISecureBoot](https://docs.microsoft.com/windows-hardware/design/compatibility/systems#systemfundamentalsfirmwareuefisecureboot) | UEFI firmware just like software can have security vulnerabilities that, when found, need to be patched through firmware updates. Patching helps prevent root kits from getting installed. | -| Software: **HVCI compatible drivers** | See the Windows Hardware Compatibility Program requirements under [Filter.Driver.DeviceGuard.DriverCompatibility](https://docs.microsoft.com/windows-hardware/design/compatibility/filter#filterdriverdeviceguarddrivercompatibility).| [HVCI Compatible](https://blogs.msdn.microsoft.com/windows_hardware_certification/2015/05/22/driver-compatibility-with-device-guard-in-windows-10/) drivers help ensure that VBS can maintain appropriate memory permissions. This increases resistance to bypassing vulnerable kernel drivers and helps ensure that malware cannot run in kernel. Only code verified through code integrity can run in kernel mode. | +| Firmware: **UEFI firmware version 2.3.1.c or higher with UEFI Secure Boot** | See the System.Fundamentals.Firmware.UEFISecureBoot requirement in the [Windows Hardware Compatibility Specifications for Windows 10, version 1809 and Windows Server 2019 - Systems download](https://go.microsoft.com/fwlink/?linkid=2027110). You can find previous versions of the Windows Hardware Compatibility Program Specifications and Policies [here](https://docs.microsoft.com/en-us/windows-hardware/design/compatibility/whcp-specifications-policies). | UEFI Secure Boot helps ensure that the device boots only authorized code. This can prevent boot kits and root kits from installing and persisting across reboots. | +| Firmware: **Secure firmware update process** | UEFI firmware must support secure firmware update found under the System.Fundamentals.Firmware.UEFISecureBoot requirement in the [Windows Hardware Compatibility Specifications for Windows 10, version 1809 and Windows Server 2019 - Systems download](https://go.microsoft.com/fwlink/?linkid=2027110). You can find previous versions of the Windows Hardware Compatibility Program Specifications and Policies [here](https://docs.microsoft.com/en-us/windows-hardware/design/compatibility/whcp-specifications-policies). | UEFI firmware just like software can have security vulnerabilities that, when found, need to be patched through firmware updates. Patching helps prevent root kits from getting installed. | +| Software: **HVCI compatible drivers** | See the Filter.Driver.DeviceGuard.DriverCompatibility requirement in the [Windows Hardware Compatibility Specifications for Windows 10, version 1809 and Windows Server 2019 - Filter driver download](https://go.microsoft.com/fwlink/?linkid=2027110). You can find previous versions of the Windows Hardware Compatibility Program Specifications and Policies [here](https://docs.microsoft.com/en-us/windows-hardware/design/compatibility/whcp-specifications-policies). | [HVCI Compatible](https://blogs.msdn.microsoft.com/windows_hardware_certification/2015/05/22/driver-compatibility-with-device-guard-in-windows-10/) drivers help ensure that VBS can maintain appropriate memory permissions. This increases resistance to bypassing vulnerable kernel drivers and helps ensure that malware cannot run in kernel. Only code verified through code integrity can run in kernel mode. | | Software: Qualified **Windows operating system** | Windows 10 Enterprise, Windows 10 Education, Windows Server 2016, or Windows 10 IoT Enterprise

      Important:
      Windows Server 2016 running as a domain controller does not support Windows Defender Credential Guard. Only virtualization-based protection of code integrity is supported in this configuration.

      | Support for VBS and for management features that simplify configuration of Windows Defender Device Guard. | > **Important**  The following tables list additional qualifications for improved security. You can use Windows Defender Device Guard with hardware, firmware, and software that support baseline protections, even if they do not support protections for improved security. However, we strongly recommend meeting these additional qualifications to significantly strengthen the level of security that Windows Defender Device Guard can provide. @@ -58,7 +58,7 @@ The following tables describe additional hardware and firmware qualifications, a | Protections for Improved Security | Description | Security benefits | |---------------------------------------------|----------------------------------------------------|-----| -| Firmware: **Hardware Rooted Trust Platform Secure Boot** | • Boot Integrity (Platform Secure Boot) must be supported. See the Windows Hardware Compatibility Program requirements under [System.Fundamentals.Firmware.CS.UEFISecureBoot.ConnectedStandby](https://docs.microsoft.com/windows-hardware/design/compatibility/systems#systemfundamentalsfirmwarecsuefisecurebootconnectedstandby)
      • The Hardware Security Test Interface (HSTI) 1.1.a must be implemented. See [Hardware Security Testability Specification](https://docs.microsoft.com/windows-hardware/test/hlk/testref/hardware-security-testability-specification). | • Boot Integrity (Platform Secure Boot) from Power-On provides protections against physically present attackers, and defense-in-depth against malware.
      • HSTI 1.1.a provides additional security assurance for correctly secured silicon and platform. | +| Firmware: **Hardware Rooted Trust Platform Secure Boot** | • Boot Integrity (Platform Secure Boot) must be supported. See the System.Fundamentals.Firmware.CS.UEFISecureBoot.ConnectedStandby requirement in the [Windows Hardware Compatibility Specifications for Windows 10, version 1809 and Windows Server 2019 - Systems download](https://go.microsoft.com/fwlink/?linkid=2027110). You can find previous versions of the Windows Hardware Compatibility Program Specifications and Policies [here](https://docs.microsoft.com/en-us/windows-hardware/design/compatibility/whcp-specifications-policies).
      • The Hardware Security Test Interface (HSTI) 1.1.a must be implemented. See [Hardware Security Testability Specification](https://docs.microsoft.com/windows-hardware/test/hlk/testref/hardware-security-testability-specification). | • Boot Integrity (Platform Secure Boot) from Power-On provides protections against physically present attackers, and defense-in-depth against malware.
      • HSTI 1.1.a provides additional security assurance for correctly secured silicon and platform. | | Firmware: **Firmware Update through Windows Update** | Firmware must support field updates through Windows Update and UEFI encapsulation update. | Helps ensure that firmware updates are fast, secure, and reliable. | | Firmware: **Securing Boot Configuration and Management** | • Required BIOS capabilities: Ability of OEM to add ISV, OEM, or Enterprise Certificate in Secure Boot DB at manufacturing time.
      • Required configurations: Microsoft UEFI CA must be removed from Secure Boot DB. Support for 3rd-party UEFI modules is permitted but should leverage ISV-provided certificates or OEM certificate for the specific UEFI software.| • Enterprises can choose to allow proprietary EFI drivers/applications to run.
      • Removing Microsoft UEFI CA from Secure Boot DB provides full control to enterprises over software that runs before the operating system boots. |

    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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 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 Nme-IglQ9eXzW~Nr3 Date: Sun, 29 Jul 2018 09:22:33 +0300 Subject: [PATCH 009/162] 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 010/162] 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 011/162] 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 012/162] 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 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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-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 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 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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