Integrasjon frå Cerebrum til Office 365

Beskrivelse av behova for ein integrasjon med Office 365, for UiA.

1   Om dokumentet

Status: Under spesifisering

Dato Status
2014-11-11 Førsteutkast frå UiA lagt til for diskusjon
2014-11-13 Oppdatert versjon etter diskusjon med UiA

2   Om Office 365

Office 365 kan beskrivast som Exchange plassert i skya, men med ekstra funksjonalitet som skytenester kan gi. Alle data om brukarkontoane styrast og oppdaterast i AD som for alle andre brukarar hos instansen. Office 365 bruker lisensiering for å styre om brukarane har tilgang til skya og kva tenester dei har tilgang til der.

Den største skilnaden frå lokale Exchange-brukarar, on premise, frå ein integrasjonsståstad:

  • Mailboksen er plassert utanfor instansen si Exchange-løysing. Dette ser du i attributta i AD som er relaterte til mailboksen.
  • Office 365 krever oppdatering av instansen sine lisensar.
  • Brukarkontoen må ha ei e-postadresse på formatet <brukernavn>@uiano.mail.onmicrosoft.com, som brukast av Office 365.
  • Plassering av mailboksen er uavhengig av om brukaren har tilgang til Office 365. Ein brukar kan til dømes ha mailboksen lokalt i Exchange, og likevel få ein lisens til å td. bruke Office-pakken i Office 365. Integrasjonen må skille på plassering av mailboks og tilgang til Office 365.

Brukarar må eksistere i lokal AD for å kunne ta i bruk Office 365. AD-brukarane vert kopiert over til skya gjennom ein eigen DirSync til MS-skyløysinga Azure.

3   Om integrasjonen

Denne integrasjonen er meint å brukast for hybridløysingar, der instansen bruker både Exchange 2013 og Office 365 i parallell. Nokre brukarar kan ha mailboks i Exchange, andre i Office 365.

Det skillast mellom tilgang til Office 365 og plassering av mailboks. Dei ulike måtane brukarar då kan vere registrerte på, som er relevant for integrasjonen:

  1. Brukaren har ikkje tilgang til verken Exchange eller Office 365.
  2. Brukaren har mailboks i Exchange.
  3. Brukaren har mailboks i Exchange, med lisens til å bruke Office 365.
  4. Brukaren har mailboks i Office 365.

Integrasjonen må støtte:

  • Gje kontoar tilgang til Office 365.
  • Fjerne kontoar frå Office 365.
  • Migrere mailboksar frå lokal Exchange til Office 365.
  • Migrere mailboksar frå Office 365 tilbake til lokal Exchange.

Integrasjonen støtter ikkje migrering frå IMAP-løysinger. UiA har sagt at studentane må sjølv kopiere over eventuelle e-postar dei vil ta med seg vidare.

Av funksjonalitet som må støttast internt i Cerebrum:

  • Brukarkontoar må kunne bli markert for tilgang til Office 365.
  • Brukarkontoar må kunne bli markert for at dei skal ha e-postkontoen sin i Office 365.
  • Oppdatering av mailboksar sine e-postadresser. Alle brukarar må få ei e-postadresse i Exchange-domenet, her <brukernavn>@uia.no, og brukarkontoar i Office 365 må få e-postadressa <brukernavn>@uiano.mail.onmicrosoft.com, heretter kalt office365-adressa. Adressa skal også kunne fjernast straks kontoen ikkje lenger er tilgjengelig i Office 365. Denne adressa skal ikkje til MX-en, men kun eksisterer internt i AD, Exchange og Office 365 for intern kommunikasjon mellom tenestene.
  • Køyrereglar og automatikk for kven som skal få tilgang og ikkje.

3.1   Lisensar

Office 365 styrer tilgangar ved hjelp av lisensar, eller lisens-planar. Nokre lisensar gjeld veldig mange brukarar og er difor ønskeleg å styrast automatisk via Cerebrum, men nokre lisensar skal berre brukast av nokre få brukarar og skal difor kunne styrast manuelt.

Dei viktigaste planane:

  • Tilgang til Office 365: Denne styrer om brukaren får tilgang til Office 365 eller ikkje. Brukaren må ha denne lisensen før ein mailboks kan migrerast til Office 365, elles vil migreringa feile.
  • Office-pakken: Tilgang til nedlasting og installasjon av Office-pakken. Denne kjem i 2015, og vil vere slik neste versjon av Microsoft Office kjem. Det vil difor kunne bli behov for å legge til denne kjapt.
  • Lync: Denne skal som oftast bli slått av, sidan dette støttast av UHAD.

Alle lisensar er Enabled som standard, så slike lisensar må i så fall bli slått av ved oppretting av brukarar.

Lisensar sine identifikatorar har formatet: INSTANS:KODENAVNFRÅMICROSOFT, til dømes uiano:STANDARDWOFFPACK_FACULTY

Sjå meir info om lisensar på http://technet.microsoft.com/en-us/library/dn530771.aspx.

Kva lisenskodar som er relevante:

  • EXCHANGE_S_ENTEPRISE: TODO: Styrer tilgangen til Office 365?
  • STANDARDWOFFPACK_FACULTY: TODO: Styrer nedlasting av Office-pakken?
  • TODO: Fleire?

4   Cerebrum-funksjonalitet

Beskrivelse av køyrereglar og automatikk i Cerebrum for integrasjonen med Office 365.

Nokre køyrereglar:

  • Brukarkontoen må eksistere i Active Directory før integrasjonen fungerer.
  • Ein brukarkonto kan ikkje både ha mailboks i lokal Exchange og Office 365. Mailboksen kan berre vere ein stad om gangen. Brukarar skal likevel ha mulighet for å ha mailboks i lokal Exchange og likevel tilgang til Office 365.

UiA ønsker å styre tilgangen til Office 365 ved hjelp av spreads:

  • Spread account@office365 betyr at brukarkontoen skal ha tilgang til Office 365, og at mailboksen skal ligge i Office 365. Dette betyr at desse brukarane skal 1) få tilgang til Office 365, og 2) få mailboksen sin migrert til Office 365.

  • Spread account@exchange betyr at mailboksen skal ligge i lokal Exchange, slik som i dag.

  • TODO: UiA ser for seg at brukarar som har både account@exchange og account@office365 betyr at mailboksen skal vere i lokal Exchange, og brukaren skal få tilgang til Office 365.

    Dette betyr at spread account@office365 styrer lisensar for Office 365, men for mailboksar styrer den det i kombinasjon med account@exchange, som ikkje er optimalt. TODO: Cerebrum utvikling må sjå på om dette er ei ok løysing.

  • TODO: UiA har sagt at brukarar med berre account@exchange også skal få lisens til Office 365. Det er overlappande med beskrivelsen over, så i dette tilfellet er det ikkje nødvendig at brukarar har begge spreads.

  • TODO: Når skal kva skje? Dvs. når skal ein brukarkonto få tilgang til Office 365, og når skal brukaren kunne bli migrert?

Oppførselen vert då:

  • Brukarar med Exchange-spread skal forbli uendra for Office 365, som i dag.

  • Brukarar som får Office365-spread skal:

    1. Få oppretta eit MailTarget i Cerebrum om det ikkje allereie eksisterer. Dette påvirker neste eksport til LDAP for MX-en.
    2. Få office-adresse på mailkontoen sin. Dette påvirker neste eksport til LDAP for MX-en.
    3. Gje brukaren tilgang til Office 365, sjå Gje tilgang til Office 365.
    4. Opprett mailboks i Office 365, sjå Migrer til Office 365. Eventuelt, dersom brukaren allereie har ein mailboks i lokal Exchange, vert denne migrert over til Office 365.
  • Brukarar som har Exchange-spread kan ikkje få Office365-spread før ein først fjerner Exchange-spreadet. TODO: Korleis migreringa utførast avhenger av kva vi gjer med mailboksen til brukarar som mister sitt Exchange-spread - dette dekkast ikkje av dette dokumentet, men dersom ein ikkje slettast med ein gang vil ein kunne migrere mailboksen til Office 365 på denne måten, utan spesielle hensyn.

  • Brukarar som mister Office365-spread skal:

    1. Miste tilgangen til Office 365.
    2. TODO: Miste office-adressa si? Dette påvirker MX-en ved neste eksport til LDAP.

    TODO: Kva skal skje med mailboksen? Skal den forbli i Office 365?

  • Brukarar som mister sitt AD-spread vil også miste sitt Office365-spread, og difor også miste tilgangen til Office 365 samtidig som brukaren vert sletta frå AD.

Obs: Det vil kunne i ein periode vere mulig å sende e-post til denne adressa, utan at e-post når fram. Dette avhenger av om LDAP-oppdateringa eller flyttinga fullfører først.

TODO: Andre endringar som må inn?

5   Integrasjonsfunksjonalitet

Ein beskrivelse av dei ulike operasjonane som integrasjonen må kunne utføre mot Office 365. Denne delen beskriver berre sjølve integrasjonen med Office 365 og Exchange, og ikkje detaljar i Cerebrum.

Nokre merknader:

  • UPN står for User Principal Name og har formatet brukarnamn@instans-domene, til dømes olano@uia.no.
  • For Office 365 treng ein eigne credentials, i koden nedanfor referert til som $O365credential.

5.1   Gje tilgang til Office 365

Brukarkontoar må kunne bli gitt tilgang til Office 365. Dette gjerast ved å koble seg opp mot Azure AD og skru lisensar av og på for brukaren.

Merk at vi ikkje gjer noko med brukaren sin eventuelle mailboks, om den eksisterer. Brukaren må ha ein mailboks lokalt eller i skya for å kunne bruke Office 365, så mailboksen opprettast om den ikkje eksisterer.

TODO: Ein vil i slike situasjonar kunne opprette mailboksar til brukarar som ikkje nødvendigvis skulle hatt det i Exchange eller Office 365. Dette vil bl.a. gjere det uklart om ein brukar har ein mailboks eller ikkje om ein berre ser på spreads, og er noko vi må tenke gjennom. Korleis unngå dette?

Oppretting av ein konto i Office 365 krever at vi utfører:

  1. Sjekk om brukaren allereie har ein mailboks i Office 365 eller Exchange. Om brukaren ikkje har nokon mailboks må den opprettast lokalt i Exchange. Dette kan gjerast som for den eksisterande Exchange-integrasjonen:

    Nex-Mailbox ...
    
  2. Brukarkontoen må eksistere i Azure AD før brukaren kan få lisens til Office 365. Dette gjerast av instansen sitt eigen oppsatte service, DirSync, som køyrer rundt kvar 4. time.

    For å sjekke om ein brukarkonto eksisterer i Azure AD:

    $O365credential = Get-Credential
    Connect-MsolService -credential $O365Credential
    Get-MsolUser -UserPrincipalName <brukers-UPN>
    

    For å sjekke når DirSync køyrde sist:

    (Get-MsolCompanyInformation).LastDirSyncTime
    

    TODO: Cerebrum utvikling må vurdere kva som er beste løysinga her. Kan vi styre tidspunkt for neste køyring av events, eller er det ok å berre prøve på nytt og på nytt?

  3. Koble til Office 365 og tildel lisensar for brukarkontoen.

    Ein har behov for å skille på brukargrupper, til dømes studentar og tilsette, for å kunne tildele ulike lisensar. Merk at det vil muligens kunne dukke opp fleire lisensar i framtida, så Cerebrum utvikling kan vurdere om lisensar kan lagrast meir generelt, td. gjennom traits og ikkje hardkoda.

    TODO: Det må vurderast kva algoritme vi skal bruke for tildeling av lisensar. Om ein ser på person-tilknyttingar vil ein kunne gje samme lisens til alle brukarkontoane til ein person, men brukar-tilknyttingar er gjerne ikkje så oppdaterte. UiA meinte at kanskje berre primærbrukarar er godt nok, men det må vurderast, spesielt om ein skal gjere integrasjonen generell nok til å fungere for alle instansar, men det er ønskeleg å ikkje skape meirarbeid for å vedlikeholde dette.

    Powershell-kommandoane for å tildele lisensar:

    $UsageLocation = "NO"
    
    $clouduser = Get-MsolUser -UserPrincipalName <brukernavn>@<AD-domene>
    $clouduser | Set-MsolUser -UsageLocation $UsageLocation
    
    # For TILSETTE:
    
        # AccountSkuId for ansatte/tilknyttet
        $AccountSkuIdFaculty  = "uiano:STANDARDWOFFPACK_FACULTY"
        $LicenseOptionsFaculty = New-MsolLicenseOptions -AccountSkuId $AccountSkuIdFaculty -DisabledPlans MCOSTANDARD
    
        # NB! AccountSkuId for Officepakken til ansatte (ikke tilgjengelig enda!)
        #$AccountSkuIdOfficeFaculty = "uiano:OFFICESUBSCRIPTION_FACULTY"
    
        # Setter lisens for ansatt-bruker@uia.no
        $clouduser | Set-MsolUserLicense -AddLicenses $AccountSkuIdFaculty -LicenseOptions $LicenseOptionsFaculty
        # Ikke tilgjengelig enda: $clouduser | Set-MsolUserLicense -AddLicenses $AccountSkuIdOfficeFaculty
    
    # For STUDENTAR:
    
        # AccountSkuId for studenter
        $AccountSkuIdStudent = "uiano:STANDARDWOFFPACK_STUDENT"
        $LicenseOptionsStudent = New-MsolLicenseOptions -AccountSkuId $AccountSkuIdStudent -DisabledPlans MCOSTANDARD
    
        # AccountSkuId for Officepakken til Studenter
        $AccountSkuIdOfficeStudent = "uiano:OFFICESUBSCRIPTION_STUDENT"
    
        # Setter lisens for student-bruker@uia.no
        $clouduser | Set-MsolUserLicense -AddLicenses $AccountSkuIdStudent -LicenseOptions $LicenseOptionsStudent
        $clouduser | Set-MsolUserLicense -AddLicenses $AccountSkuIdOfficeStudent
    

Brukarkontoen skal etter dette ha tilgang til Office 365.

Merk: Mailboksen er framleis plassert lokalt, dette gir berre tilgang til å bruke tenester som ligg i Office 365.

5.2   Migrer til Office 365

Ein må støtte å kunne flytte mailboksar frå lokal Exchange og ut til Office 365. Brukarkontoen ha bli gitt tilgang til Office 365 før dette kan utførast, elles vil ikkje brukaren kunne logge på og få tilgang til mailboksen sin.

Det som må utførast:

  1. Sjekk at mailbox eksisterer on-premise før vi fortsetter:

    get-mailbox -Identity <UPN>
    

    TODO: Kva skal skje om den ikkje eksisterer?

  2. Start migreringa av mailboksen til brukaren:

    $O365credential = Get-Credential
    $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $O365Credential -Authentication Basic -AllowRedirection
    $Import-PSSession $Session
    
    New-MoveRequest -Remote -Identity <UPN> -RemoteHostName "outlook.uia.no" -TargetDeliveryDomain "uiano.mail.onmicrosoft.com"  -RemoteCredential $O365Credential
    

    Dette kan ta tid, avhengig av kor stor mailboksen er.

  3. Sjekk status for framdrifta. Dette gjerast med:

    (Get-MoveRequest -Identity <UPN>).status
    

    Kva som kan returnerast:

    • Completed: Flyttinga gjekk fint.
    • Failed eller CompletedWithWarning: Noko gjekk feil og Cerebrum må varsle instansen.

    Ein har også behov for å varsle dersom ei flytting ikkje er fullført innan ei viss tid, til dømes to timar.

    Hent ut detaljert info med:

    Get-MoveRequestStatistics -Identity <UPN> | fl
    

    Mulige statuser:

    • AutoSuspended
    • Completed
    • CompletedWithWarning
    • CompletionInProgress
    • Failed
    • InProgress
    • None
    • Queued

Brukeren skal nå være migrert til Office 365.

5.3   Migrer tilbake til lokal Exchange

Brukarkontoar må kunne bli migrerte tilbake til lokal Exchange.

  1. Sjekk om brukaren har ein mailboks, og kor denne ligg. Om mailboksen ligg i lokal Exchange er jobben fullført. TODO: Om ingen mailboks eksisterer skal det feilmeldast?

  2. Migrere brukeren til Exchange 2013 On-premise:

    $ADCredential = Get-Credential
    $O365credential = Get-Credential
    $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $O365Credential -Authentication Basic -AllowRedirection
    $Import-PSSession $Session
    New-MoveRequest -OutBound -Identity <UPN> -RemoteHostName "outlook.uia.no" -TargetDeliveryDomain "uia.no"  -RemoteCredential $ADCredential
    

    Dette kan ta tid, avhengig av storleiken på mailboksen.

  3. Sjekk status inntil den er Completed:

    (Get-MoveRequest -Identity <UPN>).status
    

    Varsle instansen dersom resultatet er CompletedWithWarning eller Failed. Detaljert info kan hentast ut med:

    Get-MoveRequestStatistics -Identity <UPN> | fl
    

    Mulige statuser:

    • AutoSuspended
    • Completed
    • CompletedWithWarning
    • CompletionInProgress
    • Failed
    • InProgress
    • None
    • Queued

    Ein har også behov for å varsle dersom ei flytting ikkje er fullført innan ei viss tid, til dømes to timar.

Brukaren er no migrert tilbake til Exchange 2013 On-premise.

5.4   Fjerne tilgang frå Office 365

Når ein brukarkonto ikkje lenger skal vere i Office 365, må ein bl.a. fjerne lisensen til brukaren:

# AccountSkuId for studenter
$AccountSkuIdStudent = "uiano:STANDARDWOFFPACK_STUDENT"
$LicenseOptionsStudent = New-MsolLicenseOptions -AccountSkuId $AccountSkuIdStudent -DisabledPlans MCOSTANDARD

# AccountSkuId for Officepakken til Studenter
$AccountSkuIdOfficeStudent = "uiano:OFFICESUBSCRIPTION_STUDENT"

# Fjerner lisens for student-bruker@uia.no
$clouduser = Get-MsolUser -UserPrincipalName <brukernavn>@<AD-domene>
$clouduser | Set-MsolUser -UsageLocation $UsageLocation
$clouduser | Set-MsolUserLicense -RemoveLicenses $AccountSkuIdStudent -LicenseOptions $LicenseOptions
$clouduser | Set-MsolUserLicense -RemoveLicenses $AccountSkuIdOfficeStudent

Det er ikkje klart kva anna Cerebrum bør gjere når ein brukar skal fjernast frå Office 365, dette er ikkje ferdigspesifisert.

5.5   Sletting av mailboks

Dette er ikkje spesifisert endå.

Det er ønskeleg at sletting av mailboksar ikkje skal skje omgåande, men etter ei stund så ein har mulighet for å angre slettinga.

5.6   Oppdatering av lisensar

Dette er ikkje spesifisert endå.

Det er behov for å oppdatere lisensar til brukarar når visse typer events dukker opp i Cerebrum. Dette er til dømes ved endringar i spreads og tilknyttingar.

Av Hans Erik Conrad Hansen <hans.e.hansen@uia.no> og jokim
Publisert 16. des. 2014 15:22