Data & More

EWS-åtkomst för Data & More – lokal Exchange-konfiguration

6 min läsning

Denna artikel beskriver hur EWS-åtkomst konfigureras för Data & More mot en lokal Exchange-miljö (2010 SP2–2019), inklusive tjänstkonto, rollbehörigheter, slutpunktskonfiguration, begränsningspolicyer samt nätverks- och TLS-krav.

Exchange 2010 SP2 – 2019. Vi ansluter utgående via HTTPS till https://<host>/EWS/Exchange.asmx, autentiserar med ett tjänstkonto och personifierar de postlådor som ingår i scope. Ingen Autodiscover, inget MAPI/RPC och ingen agent installeras på era servrar.

Förutsättningar

  • Exchange Server 2016, 2019 eller Subscription Edition (SE), lokal installation

  • Ett postlådeaktiverat AD-tjänstkonto som vi kan autentisera med (§1)

  • ApplicationImpersonation och Mailbox Search-rollerna tilldelade kontot (§2)

  • EWS-den virtuella katalogen nåbar från internet med Basic eller NTLM aktiverat (§3, §4)

  • En begränsningspolicy för kontot som säkerställer att en fullständig genomsökning inte överskrider tillgänglig kvot (§5)

  • TCP 443 öppet från våra utgående IP-adresser, giltigt TLS-certifikat (§6)

Avsnitt 1–6 beskriver konfigurationen. Avsnitt 7 innehåller det formulär som ska skickas tillbaka.


1. Tjänstkonto

Ett dedikerat AD-konto, postlådeaktiverat (det autentiserar som sig självt innan det personifierar andra), med lösenord inställt att aldrig upphöra. Ingen lokal administratörsbehörighet, ingen interaktiv inloggning.

New-Mailbox -Name "svc-dataandmore" `
            -UserPrincipalName "svc-dataandmore@example.com" `
            -Password (Read-Host "Password" -AsSecureString)

2. Roller

Personifiering – en tilldelning täcker samtliga postlådor:

New-ManagementRoleAssignment -Name "DataAndMore-Impersonation" `
                             -Role "ApplicationImpersonation" `
                             -User "svc-dataandmore@example.com"

Begränsa scope om enbart en del av organisationen ska ingå:

New-ManagementScope -Name "DataAndMore-Scope" `
                    -RecipientRoot "example.com/Company Users" `
                    -RecipientRestrictionFilter { RecipientType -eq "UserMailbox" }

New-ManagementRoleAssignment -Name "DataAndMore-Impersonation" `
                             -Role "ApplicationImpersonation" `
                             -User "svc-dataandmore@example.com" `
                             -CustomRecipientWriteScope "DataAndMore-Scope"

Postlådeidentifiering – vi räknar upp postlådor via EWS-operationen GetSearchableMailboxes, vilket kräver rollen Mailbox Search:

New-ManagementRoleAssignment -Name "DataAndMore-MailboxSearch" `
                             -Role "Mailbox Search" `
                             -User "svc-dataandmore@example.com"

Föredra detta framför rollgruppen Discovery Management, som även beviljar Legal Hold. Om ni inte kan bevilja rollen, skicka i stället postlådelistan till oss – enbart automatisk identifiering går förlorad.

Rolländringar cachas; vänta en timme eller återstarta MSExchangeServicesAppPool.

Utan personifiering fungerar även Add-MailboxPermission -AccessRights FullAccess -AutoMapping:$false per postlåda, men kommandot måste köras på nytt för varje ny postlåda.

3. EWS-slutpunkt

Get-WebServicesVirtualDirectory | fl Server,ExternalUrl,BasicAuthentication,WindowsAuthentication

Skicka den externt nåbara URL:en till oss. Basic eller NTLM måste vara aktiverat – enbart Kerberos, enbart certifikat och enbart OAuth/ADFS stöds inte, och en omvänd proxy med förautentisering (WAP, F5 APM, NetScaler) måste släppa igenom tjänstkontot.

Set-WebServicesVirtualDirectory -Identity "EXCH01\EWS (Default Web Site)" -BasicAuthentication $true
iisreset /noforce

Versionshuvudvärden vi accepterar: EXCHANGE_2007EXCHANGE_2013_SP1, EXCHANGE_2016. Exchange 2019 använder EXCHANGE_2016 – det finns inget separat värde.

4. EWS-åtkomstpolicy

Get-OrganizationConfig | fl EwsEnabled,EwsApplicationAccessPolicy,EwsAllowList,EwsBlockList
Get-CASMailbox svc-dataandmore | fl EwsEnabled,EwsApplicationAccessPolicy

EwsEnabled får inte vara $false. Om policyn är inställd på EnforceAllowList, lägg till vår klient – dess User-Agent är JWebServices for Exchange 2.2.140, www.independentsoft.com:

Set-OrganizationConfig -EwsAllowList @{Add="JWebServices*"}

5. Begränsning (throttling)

Standardbudgetarna för EWS är dimensionerade för interaktiva klienter och kommer att stoppa en fullständig postlådegenomsökning. Tilldela en policy enbart till tjänstkontot (2013+):

New-ThrottlingPolicy -Name "DataAndMore-EWS" -ThrottlingPolicyScope Regular `
                     -EwsMaxConcurrency Unlimited -EwsMaxBurst Unlimited `
                     -EwsRechargeRate Unlimited -EwsCutoffBalance Unlimited

Set-ThrottlingPolicyAssociation -Identity "svc-dataandmore@example.com" `
                                -ThrottlingPolicy "DataAndMore-EWS"

Begränsat alternativ: EwsMaxConcurrency 50, EwsMaxBurst 300000, EwsRechargeRate 900000, EwsCutoffBalance 600000. Ange vilket alternativ ni valde – vi anpassar vår samtidighet därefter. På 2010 SP2 heter parametrarna EWSMaxConcurrency, EWSPercentTimeInAD, EWSPercentTimeInCAS, EWSPercentTimeInMailboxRPC; ange dem till $null.

Vi använder 3–8 parallella anslutningar per källa, backar automatiskt vid 429 / "server cannot service this request right now" och kan begränsa trafiken under ett kontorstidfönster som ni väljer.

6. Nätverk och TLS

  • TCP 443 inkommande till EWS-slutpunkten från våra utgående IP-adresser (tillhandahålls separat). Ingen inkommande trafik till oss.

  • Vår läs-/anslutningstimeout är 300 s – ingen brandvägg eller lastbalanserare får avsluta inaktiva anslutningar tidigare.

  • TLS 1.2 eller senare, certifikat giltigt för den värd vi ansluter till. Intern CA: skicka certifikatkedjan som PEM.

  • Värden måste vara publikt resolverbar, eller ange värdnamn → IP så mappar vi det i vår körningsmiljö.

7. Skicka tillbaka

Skicka inloggningsuppgifter via lösenordsvalv eller annan säker kanal, inte i klartext via e-post.

Fält

Värde

EWS-URL

https://mail.example.com/EWS/Exchange.asmx

Exchange-version

EXCHANGE_2016

Autentiseringsmetod

Basic / NTLM (+ NetBIOS-domän om NTLM)

Tjänstkonto

svc-dataandmore@example.com + lösenord

Åtkomstmodell

Personifiering / Full Access

Mailbox Search beviljat

ja / nej – om nej, bifoga postlådelista

Arkiv ingår i scope

ja / nej

Testpostlåda för vår åtkomstkontroll

testuser@example.com

Begränsningspolicyvärden

Begränsningsfönster under kontorstid

t.ex. 07:00–18:00 CET

Intern CA-kedja bifogad

ja / nej / ej tillämpligt

Brandvägg öppnad för våra utgående IP-adresser

ja / nej

Teknisk kontaktperson

namn, e-postadress, telefon

Verifiera innan ni skickar:

Test-WebServicesConnectivity -ClientAccessServer EXCH01 `
    -MailboxCredential (Get-Credential example\svc-dataandmore) -TrustAnySSLCertificate
curl -sS -o /dev/null -w '%{http_code}\n' -u 'svc-dataandmore@example.com' \
     https://mail.example.com/EWS/Exchange.asmx      # 200 = ok, 401 = autentisering felaktig

Personifieringen verifierar vi från vår sida mot testpostlådan.

Arkiv

Lokala arkiv kräver ingen ytterligare behörighet – personifiering täcker dessa. Bekräfta vilka postlådor som har ett arkiv (Get-Mailbox -Archive) och att de är lokalt värdade; ett molnarkiv kopplat till en lokal postlåda utgör en separat källa. Postlådor utan arkiv hoppas automatiskt över.

Tvingande åtgärder (endast om avtalat)

Med tvingande kvarhållning aktiverat raderar vi objekt som matchar en raderingspolicy som ni definierar och aktiverar. Inget flyttas, kopieras eller skrivs till postlådan. Personifiering beviljar redan raderingsrätten; ingen ytterligare konfiguration krävs. Ange om ni enbart önskar insamling.

Använda EWS-operationer

Operation

Syfte

Typ

GetSearchableMailboxes

identifiera postlådor

läsning

FindFolder / GetFolder

traversera mappträdet, inkl. arkivrot

läsning

FindItem / GetItem

lista objekt, hämta meddelande med brödtext

läsning

GetAttachment

hämta bilaga för analys

läsning

DeleteItem

radera objekt enligt en kvarhållningspolicy

skrivning – endast vid tvingande åtgärder

Inga prenumerationer, inget SendItem, inget UpdateItem, inget MoveItem, inga mappar skapas i postlådan och ingen åtkomst sker utanför det konfigurerade scopet.

Felmeddelanden

Meddelande

Orsak

Åtgärd

401 Unauthorized

felaktigt lösenord, Basic/NTLM inaktiverat, förautentiserande proxy

§3

The account does not have permission to impersonate the requested user.

roll saknas, är cachad eller postlådan är utanför scope

§2

Access is denied on discovery

Mailbox Search saknas

§2

429 / The server cannot service this request right now / Too many concurrent connections opened

begränsningsbudget uttömd

§5

Read timed out / Connect timed out / Socket closed

inaktivitetstimeout under 300 s, eller slutpunkt ej nåbar

§6

PKIX / certificate errors

intern CA eller värdnamnsavvikelse

§6

The SMTP address has no mailbox associated with it. / Mailbox does not exist.

e-postaktiverad användare, eller postlåda flyttad till molnet

förväntat, hoppas över

The defaultFolder cannot be created by XSO

arkiv begärt men postlådan saknar arkiv

förväntat, hoppas över

The message exceeds the maximum supported size.

objekt överskrider bearbetningsgränsen

förväntat, registreras som överhoppat

Was this article helpful?