Autors: Kristijan Sekereš

EWS Exchange Online beidz darboties 2027. gada 1. aprīlī: jūsu integrāciju pārcelšana uz Microsoft Graph

atvērts klēpjdators ar e-pasta iesūtni tumšā telpā

Microsoft ir sācis izslēgt Exchange Web Services (EWS) pakalpojumā Exchange Online. Pirmie izpildes soļi notiek šomēnes, un pēc tam īrnieki (tenants), kas savus EWS iestatījumus nekad nav mainījuši, tiks izslēgti cits pēc cita. Microsoft mērķis pilnībā izslēgt EWS ir 2027. gada 1. aprīlis, lai gan tā 1. oktobra Message Center paziņojumā MC1485116 sagaidāms, ka ieviešana pasaules un ASV valdības mākoņos noslēgsies līdz 2027. gada jūlija sākumam. Plānojiet uz 1. aprīli. Microsoft skaidri pateicis, ka pēc 2027. gada aprīļa izņēmumu nebūs.

Ja kaut kas, ko jūsu uzņēmums izstrādājis, sazinās ar Microsoft 365 pastkastēm caur EWS, tas pārstās darboties ne vēlāk kā šajā datumā, un, iespējams, daudz agrāk. Tipiskie kandidāti: CRM, kas klientu e-pastus piesaista kontiem, arhivēšanas vai datu saglabāšanas skripts, sanāksmju telpu rezervēšanas ekrāns, pieteikumu sistēma, kas lasa koplietotu atbalsta pastkasti, pārskatu uzdevums, kas skaita e-pastus pa komandām. Risinājums ir pārrakstīšana uz Microsoft Graph, un daļai no tā, ko spēja EWS, Graph ekvivalenta nav vispār.

Kas notiek un kad

Microsoft pārvalda EWS katram īrniekam ar iestatījumu EWSEnabled, kam ir trīs vērtības: Null (noklusējums), True un False. Blakus tam tagad ir otrs iestatījums, EWSAllowedAppIDs: saraksts ar lietotņu ID, kas joprojām drīkst izmantot EWS. Pašreizējā Microsoft Learn lapa sniedz kopainu: „October 2026: EWS starts to be disabled globally for all organizations“ (2026. gada oktobrī EWS sāk atslēgt visām organizācijām) un „April 2027: EWS is fully disabled.“ (2027. gada aprīlī EWS ir pilnībā atslēgts).

Sīkāka informācija ir Exchange komandas 1. oktobra rakstā EWS Deprecation Is Here. Pasaules komerciālajam mākonim:

  • 2026. gada 2. oktobris, dienas beigas pēc Klusā okeāna laika: Microsoft reģistrē katru īrnieku, kuram EWSEnabled ir True, bet nav atļauto sarakstu.
  • 2026. gada 8. un 9. oktobris: šiem īrniekiem Microsoft izveido atļauto sarakstu un aizpilda to ar lietotņu ID, kas iepriekšējo 60 dienu laikā izmantoja EWS.
  • No 2026. gada 10. oktobra: ja EWSEnabled ir True, atļautais saraksts ir obligāts. Lietotne, kuras tajā nav, tiek atteikta.
  • Otrais posms, pēc tam: īrniekiem, kuriem joprojām ir Null, EWSEnabled tiek iestatīts uz False, kas bloķē EWS visām lietotnēm. Katrs saņem brīdinājumu Message Center 7 dienas iepriekš, un neilgi pirms tam Microsoft aizpilda atļauto sarakstu no 60 dienu lietojuma datiem, lai administrators varētu EWS ieslēgt atpakaļ ar True.
  • 2027. gada 1. aprīlis: Microsoft mērķa datums, kad EWS būs „fully and permanently disabled“ (pilnībā un neatgriezeniski atslēgts), pēc kura īrnieku administratori vairs vispār nevar mainīt EWSEnabled. MC1485116 kā paredzamo ieviešanas beigas Worldwide, GCC, GCC High un DoD mākoņos min 2027. gada jūlija sākumu, tāpēc daži īrnieki EWS var saglabāt nedaudz ilgāk. Nevienam nevajadzētu rēķināties, ka būs starp tiem.

Īrnieki citos Microsoft mākoņos savus grafikus saņem caur Message Center.

Atļautais saraksts dod laiku, nevis risinājumu

Automātisko sarakstu veido no 60 dienu datplūsmas, un paša Microsoft 4. septembra norādījumi brīdina, ka tas „may miss applications that run infrequently“ (var nepamanīt lietotnes, kas darbojas reti). Ceturkšņa beigu eksporta vai gada beigu arhivēšanas uzdevuma tajā nebūs, un nākamajā palaišanas reizē tas cietīs neveiksmi.

Izmaiņas atļautajā sarakstā stājas spēkā pēc 24 stundām, bet EWSEnabled izmaiņas pēc aptuveni stundas. Jebkurš labojums pēc kļūmes izmaksā vismaz dienu.

Lai redzētu sava īrnieka stāvokli, administrators ar Exchange Online PowerShell var palaist:

Get-OrganizationConfig | Format-List EWSEnabled
Get-OrganizationConfig -RetrieveEwsOperationAccessPolicy | Format-List EwsAllowedAppIDs

Uz ko tas attiecas un kas var nelasīt tālāk

Lokālais Exchange Server netiek ietekmēts. Microsoft norāda, ka atteikšanās attiecas „only to Microsoft 365 and Exchange Online“ (tikai uz Microsoft 365 un Exchange Online) un ka „there are no changes to EWS in Exchange Server“ (EWS pakalpojumā Exchange Server izmaiņu nav). Ja visas jūsu pastkastes atrodas uz jūsu pašu serveriem, varat šeit beigt.

Hibrīdiem risinājumiem vajadzīga rūpīgāka pārbaude. Lokālās pastkastes var turpināt izmantot EWS; mākoņa pastkastēm jāpāriet uz Graph. Microsoft 30. septembra raksts par hibrīdiem risinājumiem apskata divus gadījumus, kuros jārīkojas tūlīt, tostarp lokālas pastkastes ar arhīviem Exchange Online, kur pagaidām ieteikums ir atstāt EWS ieslēgtu un pievienot hibrīda lietotni atļautajam sarakstam.

Gatava programmatūra ir piegādātāja ziņā. Ja EWS izsauc komerciāls produkts, Graph versijas izlaišana ir piegādātāja darbs, un jūsu darbs ir saņemt no viņa datumu un uzstādīt atjauninājumu. Microsoft pašu klienti nav izņēmums: daži joprojām parādās lietojuma pārskatos, un līdz atjaunināšanai tiem vajadzīgs atļautais saraksts.

Iekšēji izstrādāts kods ir jūsu ziņā. Skriptiem, iekšējiem pakalpojumiem, pielāgotiem atvērtā koda rīkiem un integrācijām, ko aģentūra izveidoja pirms gadiem, nav neviena, kas tos salabotu. Tieši tur ir darbs. Mērogam: exchangelib, Python bibliotēka saziņai ar Exchange caur EWS, pēdējā mēneša laikā no PyPI lejupielādēta 1 174 625 reizes. Daļa no tā ir lokāla lietošana, taču tas ļauj nojaust, cik daudz koda runā tieši ar EWS.

Pirmais solis: atrodiet visu, kas izmanto EWS

Sāciet ar EWS lietojuma pārskatu Microsoft 365 administrēšanas centrā (Reports, Usage, Exchange, tad cilne EWS usage). Katrai lietotnei tas uzrāda Microsoft Entra lietotnes ID, katru SOAP darbību, ko lietotne izsaukusi, izsaukumu apjomu un pēdējās aktivitātes datumu. Var skatīties 7, 30 vai 90 dienas atpakaļ un eksportēt uz CSV.

Trīs lietas, kas par to jāzina:

  • Dati tiek apkopoti reizi nedēļā, un to parādīšanās var aizņemt līdz 10 dienām.
  • Lietotnes ID nav īpašnieks. Salīdziniet katru ID ar Enterprise applications sadaļu Microsoft Entra, tad atrodiet personu vai komandu, kas to uztur. Rēķinieties ar dažiem ID, ko neviens neatpazīst.
  • SOAP darbību kolonna parāda, cik liels ir katrs darbs. Lietotne, kas izsauc tikai FindItem un GetItem, ir īss darbs. Tāda, kas izsauc SyncFolderItems, Subscribe un ExportItems, ir projekts.

Pat 90 dienas nenoķer ikgadējos uzdevumus, tāpēc pārbaudiet arī otru pusi: plānotos uzdevumus un cron ierakstus, kā arī koda repozitorijus, meklējot EWS galapunktu (Exchange.asmx), EWS Managed API for .NET un exchangelib. Microsoft atteikšanās lapā ir arī saite uz EWS analizatoru .NET kodam (tas Visual Studio un VS Code iezīmē EWS izsaukumus un iesaka Graph ekvivalentus) un pamācība par pārveidošanu ar AI palīdzību.

Otrais solis: izlemiet, kas notiks ar katru integrāciju

Katra lietotne sarakstā saņem vienu no četrām atbildēm:

  1. Atsakieties no tās. Dažas integrācijas pastāv tikai tāpēc, ka neviens tās neizslēdza.
  2. Atjauniniet to. Piegādātāju produkti saņem piegādātāja atjauninājumu. Vienojieties par datumu jau tagad.
  3. Pārrakstiet to uz Microsoft Graph. Noklusējuma ceļš iekšēji izstrādātam kodam.
  4. Pārprojektējiet to. Visam, kas balstās uz iespēju, kuras Graph nekad nebūs (sk. tālāk).

Microsoft kā vienu no veidiem darbplūsmas atkārtotai ieviešanai min arī Power Platform. Skriptam, kas pārsūta pielikumus uz mapi, tā var būt lētākā atbilde.

Ko pārrakstīšana uz Graph patiesībā ietver

Lielākajai daļai EWS operāciju ir tiešs Graph analogs, un Microsoft uztur EWS un Graph atbilstības tabulu. Atbilstība ir vieglā daļa. Grūtākās daļas ir tās, kuras tā nerāda.

Atļaujas kļūst šaurākas, un tā ir priekšrocība

Lietotnei, kas izmanto EWS bez pierakstījušā lietotāja, ir EWS lietotnes atļauja, ko Microsoft apraksta kā „full access to all mailboxes“ (pilna piekļuve visām pastkastēm). Graph to sadala atsevišķās atļaujās: Mail.Read, Mail.ReadBasic, Mail.Send, Calendars.ReadWrite, MailboxSettings.Read un tā tālāk.

Varat arī ierobežot, kurām pastkastēm lietotne piekļūst. RBAC for Applications in Exchange Online piešķir atļauju attiecībā pret pārvaldības tvērumu vai administratīvo vienību un aizstāj vecākās Application Access Policies. Telpu rezervēšanas ekrāns var lasīt divpadsmit telpu pastkastu kalendārus un neko citu. Viens slazds: šādi piešķirtās atļaujas tiek pieskaitītas jebkurai visa īrnieka atļaujai Microsoft Entra, tāpēc, ja Mail.Read tur joprojām ir apstiprināta, jūsu tvērums neko neierobežo. Noņemiet Entra atļauju.

Lietotņu autentifikācijai, kur iespējams, izmantojiet sertifikātus, nevis klienta noslēpumus, un neglabājiet akreditācijas datus skriptos un repozitorijos.

Sinhronizācija un paziņojumi tiek būvēti no jauna, nevis pārtulkoti

Parasti šī ir lielākā izmaiņa visam, kas glabā pastkastes datu lokālu kopiju.

Sinhronizācija. SyncFolderItems atbilst Graph ziņojumu delta vaicājumam, bet SyncFolderHierarchy pasta mapju delta vaicājumam. Ziņojumu delta strādā ar vienu mapi vienlaikus, tāpēc pilnai pastkastes sinhronizācijai jāseko mapju kokam un katrai mapei jāglabā atsevišķa delta saite. Filtrēšana ir ierobežota (tikai pēc saņemšanas datuma), un rezultātos ir dzēšanas, pārvietošanas ārā no mapes un lasīšanas stāvokļa izmaiņas pat tad, ja tās neatbilst jūsu filtram.

Paziņojumi. EWS straumēšanas un push abonementi kļūst par Graph izmaiņu paziņojumiem, kas tiek piegādāti uz jūsu uzturētu webhook vai uz Azure Event Hubs vai Event Grid. Webhook jābūt sasniedzamam no Microsoft puses, un tā ir arhitektūras izmaiņa skriptam, kas agrāk turēja savienojumu atvērtu no ugunsmūra iekšpuses. Pasta, kalendāra un kontaktu abonementi ilgst ne vairāk kā 10 080 minūtes (nedaudz mazāk par septiņām dienām) vai 1 440 minūtes, ja paziņojums satur datus, tāpēc kaut kam tie ir jāatjauno. Katra pastkaste pieļauj ne vairāk kā 1 000 aktīvu abonementu visām lietotnēm kopā.

Shēma, kas iztur: uztveriet paziņojumu kā mājienu, palaidiet delta vaicājumu, lai redzētu, kas mainījās, un palaidiet to arī pēc taimera, lai noķertu visu, kas ar nokavētu paziņojumu būtu pazudis.

Dati, ID un caurlaidspēja

  • Saglabātie ID. Ja jūsu CRM vai pieteikumu sistēma saglabāja EWS vienumu ID, lai piesaistītu e-pastus ierakstiem, šīs saites ir jākonvertē. Graph tieši šim nolūkam ir funkcija translateExchangeIds. Plānojiet konvertēšanu kā atsevišķu migrācijas soli.
  • Uzmeklēšana. ResolveNames atbilst People API, GetUserAvailability atbilst getSchedule, prombūtnes iestatījumi atbilst pastkastes iestatījumiem. Tuvi ekvivalenti, nevis identiski.
  • Ierobežošana. Graph katram lietotnes un pastkastes pārim pieļauj 10 000 pieprasījumu 10 minūtēs, četrus vienlaicīgus pieprasījumus un 150 MB augšupielāžu 5 minūtēs. Masveida uzdevums, kas pret vienu pastkasti darbināja desmitiem paralēlu EWS pavedienu, ir jāpārprojektē atbilstoši šiem skaitļiem.

Trūkumi un tas, kas nekad nenāks

Microsoft publicē ceļvedi ar EWS iespējām, kuru Graph vēl trūkst. Tajā ir pilnīgas precizitātes imports un eksports arhīva, publisko mapju un grupu pastkastēm, piekļuve iebūvētajiem arhīviem, mapju atļaujas caur Exchange Admin API un ne-melnraksta ziņojumu izveide no MIME. Lielākā daļa mērķu ir 2026. gada ceturtajā ceturksnī. Trīs bija paredzēti trešajā ceturksnī, kas nu ir beidzies: piezīmju API Graph kļuva vispārēji pieejams 2026. gada augustā, un personīgie kontaktu saraksti kopš 2026. gada jūnija ir priekšskatījumā (beta). Pārējām pirms projektēšanas pārbaudiet, kas patiešām ir izlaists. Paša Microsoft brīdinājums: ja iespējas ceļvedī nav, „don't plan on“ (neplānojiet) Graph ekvivalentu pirms EWS izslēgšanas.

Ir apstiprināts, ka trīs iespējas Graph nekad nebūs:

  • Vispārēja piekļuve publiskajām mapēm (mapju un vienumu izveide, lasīšana, atjaunināšana, dzēšana).
  • Vispārēja piekļuve Microsoft 365 grupu pastkastēm. Graph tā vietā aptver grupu sarunas, pavedienus un ierakstus.
  • Piekļuve discovery pastkastēm. Microsoft tā vietā norāda uz Purview eDiscovery.

Ja rīks ir atkarīgs no kādas no tām, ar koda pārnešanu nepietiek: datiem vai darbplūsmai vispirms jāpārceļas citur, un tas aizņem vairāk laika nekā pārrakstīšana.

Sešu mēnešu plāns

No šodienas līdz 2027. gada 1. aprīlim ir nedaudz mazāk par sešiem mēnešiem. Reāla secība:

2026. gada oktobris: noskaidrojiet savu stāvokli. Pārbaudiet EWSEnabled un atļauto sarakstu. Eksportējiet lietojuma pārskatu par 90 dienām. Pārskatiet Microsoft aizpildīto sarakstu, izņemiet to, kam tur nav jābūt, un pievienojiet zināmos reti palaistos uzdevumus. Ja jūsu īrniekam joprojām ir Null, apsveriet iespēju pašiem iestatīt sarakstu un True, nevis gaidīt, kad Microsoft pārslēgs uz False, un tad noskaidrot, kas salūzt.

2026. gada novembris: šķirošana. Katram lietotnes ID piešķiriet īpašnieku un atbildi (atteikties, atjaunināt, pārrakstīt, pārprojektēt). Noskenējiet kodu. Atzīmējiet visu, kas skar publiskās mapes, grupu pastkastes vai discovery pastkastes, un sāciet pārprojektēšanu tūlīt. Izveidojiet Graph lietotņu reģistrācijas ar ierobežota tvēruma atļaujām.

No 2026. gada decembra līdz 2027. gada janvārim: izstrāde. Sāciet ar integrāciju, kuras trūkumu uzņēmums sajustu pirmo. Sinhronizācijas un paziņojumu infrastruktūru izveidojiet vienreiz un izmantojiet atkārtoti. Konvertējiet saglabātos ID.

2027. gada februāris: darbiniet abus paralēli. Kamēr EWS vēl darbojas, darbiniet veco un jauno versiju pret vienām un tām pašām pastkastēm un salīdziniet rezultātus. Tiklīdz kāda tiek pieņemta, izņemiet tās ID no atļautā saraksta. Tas ir arī tests: nogaidiet 24 stundas un pārliecinieties, ka nekas cits neapstājās.

2027. gada marts: izslēdziet EWS paši. Iestatiet EWSEnabled uz False krietni pirms 1. aprīļa. Viss, ko palaidāt garām, salūzt laikā, kad EWS vēl var ieslēgt atpakaļ. Pēc 1. aprīļa šīs iespējas vairs nav. Arī ceturkšņa un gada uzdevumus pirms tam apzināti palaidiet testa režīmā: uzdevums, kas darbojas pirmā ceturkšņa noslēgumā, pirmo reizi palaidīsies tad, kad EWS jau būs pazudis.

Kur saņemt palīdzību

Grūtākais gadījums ir integrācija, kuras sākotnējais izstrādātājs ir aizgājis. Mūsu mantoto sistēmu uzturēšanas pakalpojums ir radīts tieši tam: mēs izlasām esošo kodu, pārrakstām EWS daļas uz Microsoft Graph (atļaujas, sinhronizācija, paziņojumi, ID migrācija) un darbinām veco un jauno paralēli, līdz skaitļi sakrīt. Ja jums vajadzīgi inženieri, kas strādā jūsu komandā, skatiet mūsu komandas papildināšanas pakalpojumu.

Ja jūsu lietojuma pārskats ir pilns ar lietotņu ID, kurus neviens neatpazīst, rakstiet uz office@c9group.dev.

Platformu migrācija

Jauni ceļveži un noteikumu izmaiņas e-pastā

Kad mainās kāds noteikums, pārceļas termiņš vai publicējam jaunu ceļvedi, nosūtām to e-pastā.

Vispirms nosūtām apstiprinājuma saiti. Atrakstīties varat jebkurā laikā. Privātuma politika