Spesifikasjon av Cerebrums API mot Exchange

Ein beskrivelse av korleis Cerebrum oppdaterer Exchange 2013 hos UiA. Denne provisjoneringa er avhengig av den vanlege AD-synken, som bl.a. oppdaterer brukarar og distribusjonsgrupper.

1   Status på dokumentet

Status: Klar for testing i produksjon.

Dato Status
2014-05-21 Første versjon klar for diskusjon.
2014-05-22 Oppdatert etter avklaringar frå UiA.
2014-08-07 Lagt til detaljar om oppsettet av integrasjonen for produksjon.
2014-08-07 Fått tilbakemeldingar om oppsett frå UiA.

2   Oppsummert

Dette dokumentet bygger på UiO sin spesifikasjon av Cerebrums API mot Exchange, som er UiO si hendelsesbaserte oppdatering av Exchange. For UiA bruker vi samme løysinga, men med visse tilpassingar sidan miljøa ikkje er like. Det som er ulikt beskrivast her, resten er som beskreve i UiO sitt dokument.

Sjå også UiA sine spesifikasjonar for AD-synk for kva Cerebrum oppdaterer i AD.

Oppsummert går endringane ut på:

  • UiA køyrer ikkje Exchange i eit ressursdomene, så vi bruker ikkje linked accounts. Dette påvirker nokre av powershell-kommandoane.

  • Oppsett av vidaresendingar gjerast på ein meir komplisert måte hos UiA. Ein del av denne funksjonaliteten oppdaterast idag gjennom den vanlege AD-synken, men det vil også kunne kreve endringar i Exchange-provisjoneringa.

    Enn så lenge vidaresendingsgruppene fungerer i Exchange 2010, også for postboksar i 2013, utsetter vi arbeidet med dette til etter første versjon.

  • UiA har ikkje andre distribusjonsgrupper enn vidaresendingsgruppene. Vi set difor ikkje opp provisjonering av reine distribusjonsgrupper i første versjon, for å begrense omfanget og nå tidsfristen.

  • Fjerning av postboksar. Dette er ikkje blitt diskutert endå, og utelatast frå første versjon, for å nå tidsfristen.

Vi deler opp arbeidet ved at vi først tester og prodsetter oppretting og oppdatering av postboksar for brukarar, men utan behandling av vidaresendingar. Funksjonalitet for vidaresendingar beheld vi i den vanlege AD-synken for dette enn så lenge. Vi tek det som gjenstår etter at vanlege postboksar fungerer som dei skal.

3   Endringar i powershell-kommandoar frå UiO

3.1   new_mailbox

Sidan UiA ikkje køyrer i eit ressurs-domene må powershell-kommandoen for å opprette ein postboks vere litt annleis:

Enable-Mailbox -Identity $username; `
Set-Mailbox -Identity $username `
            -HiddenFromAddressListsEnabled $true

Merk at vi ikkje oppgir Database ved oppretting. Dette gjer at Exchange sjølv bestemmer kva maildatabase brukaren skal ligge på. Ei ulempe er at vi ikkje kan skille på at til dømes studentar og ansatte skal til forskjellige databasar.

UiA vil berre legge inn nye brukarar i Exchange 2013. Eksisterande brukarar vil dei migrere på eit seinare tidspunkt. Vi må sjå på om desse må bli pausa i den vanlege AD-synken, for Exchange-provisjoneringa er det mest sannsynleg ikkje noko problem sidan den berre oppdaterer om det skjer noko med entiteten i Cerebrum.

3.2   Oppdatering av videresendingsadresse

Vidaresendingar på UiA fungerer i dag gjennom den vanlege AD-synken ved at vi oppretter eigne vidaresendingsgrupper, som er distribusjonsgrupper, og oppretter eit kontakt-objekt per ekstern vidaresending og legg den inn i vidaresendingsgruppa. Interne vidaresendingar gjer at objektet adressa tilhøyrer, til dømes ein annan brukarkonto, vert medlem av vidaresendingsgruppa. UiA har med dette støtte for meir enn berre ei vidaresending per postboks, som UiO ikkje tilbyr.

UiO gjekk for ei enklare løysing, å berre tilby ei vidaresending per postboks, då det tok for mykje ressursar å få lagt til støtte for fleire adresser. På UiO treng ein berre å oppdatere eit attributt for postboksen. Dette gjer at Exchange-provisjoneringa ikkje har noko støtte for å oppdatere kontakt-objekt og vidaresendingsgrupper.

Den vanlege AD-synken tek seg av å opprette vidaresendingsgruppene og kontakt-objekta, men Update-Recipient vert køyrd på UiA si side. Det som mangler for at dette skal fungere i Exchange 2013:

Merk: Vi må teste at å opprette distribusjonsgrupper for Exchange 2013 vil fungere for postboksar som er i Exchange 2010. Vi kan ikkje starte oppdateringa av vidaresendingsgrupper mot Exchange 2013 før det er blitt bekrefta at det bakoverkompatibelt.

  • Aktivere vidaresendingsgruppene i Exchange.

    Dette kan gjerast med kommandoen:

    Enable-DistributionGroup -Identity $groupname
                             -Confirm:$false
    

    Det ser ut til at vi beheld administreringa av gruppene og kontaktobjekta i AD-synken, men dersom vi skulle flytta funksjonaliteten for vidaresendingsgruppene ut av AD-synken må gruppa opprettast også, enten gjennom New-ADGroup eller berre New-DistributionGroup.

  • Opprette kontakt-objekta i Exchange.

    Dette kan gjerast med:

    Enable-MailContact -Identity $contactname
                       -ExternalEmailAddress $fwdaddress
    

    Dersom vi skulle flytta funksjonaliteten ut av AD-synken måtte vi også oppretta kontaktobjekta med New-MailContact.

  • Sette forwarding til vidaresendingsgruppa på brukaren sin postboks.

    Dette kan gjerast med kommandoen:

    Set-Mailbox -Identity $username `
                -ForwardingAddress $fwd_group_dn
    

Alternativa vi har for å løyse dette:

  • Flytte all funksjonaliteten for å behandle distribusjonsgruppene og kontaktobjekta inn i Exchange-provisjoneringa.

    Dette vil vere ei større endring, og vi vil ikkje få tid til å gjennomføre det på tida.

  • Beholde AD-synken som den er, og køyre Exchange-kommandoane gjennom eventhandteringa.

    Eventhandteringa vil køyre kjappare enn AD-synken, og vi vil kunne få situasjonar der ikkje alle innstillingar vert satt riktig. Det virker som ein tyngre jobb å få dette til å fungere saman.

  • Utvide AD-synken som tek seg av vidaresendingar med kommandoar for Exchange.

    Dette vil vere den mest overkommelege løysinga. Ei ulempe med dette alternativet er at vi vil ikkje kunne køyre Exchange-kommandoane på nytt dersom dei skulle feile. Når dei først feiler må det handterast manuelt, enten av Cerebrum drift eller feilmeldast til UiA.

Sidan vidaresendingsgruppene fungerer for Exchange 2013-postboksar er det ikkje nødvendig at dette er på plass i første runde. Vi kan difor utsette støtten for vidaresendingar. Vi utset då også avgjerslen på korleis vi skal løyse dette.

3.3   Oppdatering av namn

Vi bruker ikkje denne funksjonaliteten for Exchange, sidan brukar-objekta brukast direkte. Desse attributta tek den vanlege AD-synken seg av.

3.4   Oppdatering av synlighet

Synlighet i adressebøker gjerast enklare på UiA. Der settast alle postboksar til synlig dersom den er ein primærbrukar, alle andre skal ikkje vere synlege.

Eventhandteringa må oppdaterast for dette.

3.5   Oppdatering av AD-attributtar for Exchange

Den vanlege AD-synken oppdaterer ein del attributtar for Exchange 2010, blant anna DeliverAndRedirect. Det er usikkert om Exchange 2013 bryr seg om desse. For mange av Exchange-attributtane er det lagt som kriterium at brukaren må ha spread account@exchange, og dei fleste attributta vil bli tømd dersom brukaren har slikt spread. UiA må teste at dette er ok for Exchange 2013, eller om vi må gjere endringar i nokre attributtar.

4   Oppsett av integrasjonen

Oppsettet av Exchange-integrasjonen mot UiA sitt produksjonsmiljø:

Innstilling Verdi
Domene uia.no
WinRM server excas-grm01.uia.no
Management server exmgmt-grm01.uia.no
Exchange server exmbx-grm01.uia.no
Oppkoblingsbrukar cereauth
Domenebrukar uia.no\cerebrum
Exchange-administrator uia.no\sa_excerebrum
Brukar-spread for AD account@ad
Brukar-spread for Exchange account@exchange (gamal Exchange-versjon bruker heretter account@exch_old)
Gruppe-spread Ikkje relevant, grupper vert ikkje behandla endå.
Mailbox-OU Ikkje relevant, bruker ikkje linked accounts, knytta til brukaren direkte.
Gruppe-OU Ikkje relevant, grupper vert ikkje behandla endå.
Event-typar Sjå Endringar i powershell-kommandoar frå UiO.
Hyppighet nye forsøk 1200 sekund
Maks antal nye forsøk 10
Timeout per event 5400 sekund
Av jokim
Publisert 7. aug. 2014 11:16