Data & More

EWS-adgang til Data & More – on-premise Exchange-opsætning

6 min læsning

Denne artikel beskriver, hvordan man konfigurerer EWS-adgang til Data & More på en on-premise Exchange Server (2010 SP2 – 2019), herunder opsætning af servicekonto, rolletildeling, autentificering, throttling, netværk og TLS. Den indeholder desuden en returformular med de oplysninger, der skal leveres, inden forbindelsen kan etableres.

Exchange 2010 SP2 – 2019. Vi opretter udgående forbindelse over HTTPS til https://<host>/EWS/Exchange.asmx, autentificerer som én servicekonto og repræsenterer de postkasser, der er inden for scope. Ingen Autodiscover, ingen MAPI/RPC, ingen agent installeret på Deres servere.

Forudsætninger

  • Exchange Server 2016, 2019 eller Subscription Edition (SE), on-premise

  • En postkasse-aktiveret AD-servicekonto, som vi kan autentificere som (§1)

  • ApplicationImpersonation- og Mailbox Search-rollerne på denne konto (§2)

  • EWS-den virtuelle mappe skal være tilgængelig fra internettet med Basic eller NTLM aktiveret (§3, §4)

  • En throttling-politik for kontoen, som en fuld scanning ikke udtømmer (§5)

  • TCP 443 åben fra vores udgående IP-adresser, gyldigt TLS-certifikat (§6)

Afsnit 1–6 beskriver opsætningen. Afsnit 7 er formularen, der skal returneres.


1. Servicekonto

Én dedikeret AD-konto, postkasse-aktiveret (den autentificerer sig som sig selv inden impersonering), adgangskode sat til ikke at udløbe. Ingen lokal administratoradgang, ingen interaktivt logon.

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

2. Roller

Impersonering – én tildeling dækker alle postkasser:

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

Afgræns scopet, hvis kun en del af organisationen er inden for scope:

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"

Postkasseopdagelse – vi enumererer postkasser via EWS-operationen GetSearchableMailboxes, hvilket kræver rollen Mailbox Search:

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

Foretrækkes frem for rollegruppen Discovery Management, som også tildeler Legal Hold. Hvis De ikke ønsker at tildele den, kan De i stedet sende os postkasselisten – kun automatisk opdagelse går tabt.

Rolleændringer cachelagres; giv det en time, eller genstart MSExchangeServicesAppPool.

Uden impersonering: Add-MailboxPermission -AccessRights FullAccess -AutoMapping:$false pr. postkasse fungerer også, men skal køres igen for hver ny postkasse.

3. EWS-slutpunkt

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

Send os den eksternt tilgængelige URL. Basic eller NTLM skal være aktiveret – kun Kerberos, kun certifikat og kun OAuth/ADFS understøttes ikke, og en pre-auth reverse proxy (WAP, F5 APM, NetScaler) skal give servicekontoens anmodninger videre uden ændringer.

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

Versionheaderværdier, vi accepterer: EXCHANGE_2007EXCHANGE_2013_SP1, EXCHANGE_2016. Exchange 2019 anvender EXCHANGE_2016 – der findes ingen separat værdi.

4. EWS-adgangspolitik

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

EwsEnabled må ikke være $false. Hvis politikken er EnforceAllowList, skal vores klient tilføjes – dens User-Agent er JWebServices for Exchange 2.2.140, www.independentsoft.com:

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

5. Throttling

Standard EWS-budgetter er dimensioneret til interaktive klienter og vil blokere en fuld postkassescanning. Tildel en politik udelukkende til servicekonten (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"

Alternativ med loft: EwsMaxConcurrency 50, EwsMaxBurst 300000, EwsRechargeRate 900000, EwsCutoffBalance 600000. Angiv venligst, hvilken De har anvendt – vi tilpasser vores parallelitet hertil. På 2010 SP2 hedder parametrene EWSMaxConcurrency, EWSPercentTimeInAD, EWSPercentTimeInCAS, EWSPercentTimeInMailboxRPC; sæt dem til $null.

Vi kører 3–8 parallelle forbindelser pr. kilde, backer automatisk af ved 429 / "server cannot service this request right now", og kan throttle i et forretningsvindue, De selv vælger.

6. Netværk og TLS

  • TCP 443 indgående til EWS-slutpunktet fra vores udgående IP-adresser (leveres separat). Ingen indgående trafik til os.

  • Vores læse-/forbindelsestimeout er 300 s – ingen firewall eller load balancer må afbryde inaktive forbindelser tidligere.

  • TLS 1.2+, certifikat gyldigt for den vært, vi opretter forbindelse til. Intern CA: send os kæden som PEM.

  • Værten skal være offentligt opløselig, eller angiv hostname → IP, så vi mapper det i vores runtime.

7. Returner følgende oplysninger

Legitimationsoplysninger sendes via en adgangskodehvælving eller en anden sikker kanal – ikke via almindelig e-mail.

Felt

Værdi

EWS-URL

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

Exchange-version

EXCHANGE_2016

Autentificeringsmetode

Basic / NTLM (+ NetBIOS-domæne hvis NTLM)

Servicekonto

svc-dataandmore@example.com + adgangskode

Adgangsmodel

Impersonering / Fuld adgang

Mailbox Search tildelt

ja / nej – hvis nej, vedlæg postkasseliste

Arkiver inden for scope

ja / nej

Testpostkasse til vores adgangskontrol

testuser@example.com

Throttling-politikværdier

Throttling-vindue i åbningstiden

f.eks. 07:00–18:00 CET

Intern CA-kæde vedlagt

ja / nej / ikke relevant

Firewall åbnet for vores udgående IP-adresser

ja / nej

Teknisk kontaktperson

navn, e-mail, telefon

Verificér inden afsendelse:

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 = forkert autentificering

Impersonering verificerer vi selv fra vores side mod testpostkassen.

Arkiver

In-place-arkiver kræver ingen yderligere tilladelse – impersonering dækker dem. Bekræft, hvilke postkasser der har et arkiv (Get-Mailbox -Archive), og at de er hostet on-premise; et cloudarkiv på en on-premise-postkasse er en separat kilde. Postkasser uden arkiv springes automatisk over.

Håndhævelse (kun hvis kontraktligt aftalt)

Med håndhævelse af opbevaringspolitik aktiveret sletter vi elementer, der matcher en sletningspolitik, som De definerer og aktiverer. Intet flyttes, kopieres eller skrives til postkassen. Impersonering giver allerede sletteretten; der kræves ingen yderligere konfiguration. Angiv venligst, hvis De udelukkende ønsker indsamling.

Anvendte EWS-operationer

Operation

Formål

Type

GetSearchableMailboxes

enumerer postkasser

læsning

FindFolder / GetFolder

gennemgå mappestrukturen, inkl. arkivrod

læsning

FindItem / GetItem

list elementer, hent besked med indhold

læsning

GetAttachment

hent vedhæftning til analyse

læsning

DeleteItem

slet et element i henhold til en opbevaringspolitik

skrivning – kun ved håndhævelse

Ingen abonnementer, ingen SendItem, ingen UpdateItem, ingen MoveItem, ingen mapper oprettes i postkassen, og ingen adgang uden for det konfigurerede scope.

Fejl

Meddelelse

Årsag

Løsning

401 Unauthorized

forkert adgangskode, Basic/NTLM deaktiveret, pre-auth proxy

§3

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

rolle mangler, cachelagret, eller postkasse uden for scope

§2

Access is denied on discovery

Mailbox Search mangler

§2

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

throttling-budget udtømt

§5

Read timed out / Connect timed out / Socket closed

inaktivitetstimeout under 300 s, eller slutpunkt utilgængeligt

§6

PKIX / certifikatfejl

intern CA eller uoverensstemmelse i værtsnavn

§6

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

mail-aktiveret bruger, eller postkasse flyttet til cloud

forventet, springes over

The defaultFolder cannot be created by XSO

arkiv anmodet, postkasse har intet

forventet, springes over

The message exceeds the maximum supported size.

element overskrider behandlingsgrænsen

forventet, registreres som sprunget over

Was this article helpful?