Sett opp Manager i Office 365 ved å ta i bruk Okta Workflows

Sett opp Manager i Office 365 ved å ta i bruk Okta Workflows

Enn så lenge kan ikke Okta og Office 365-integrasjonen sette Manager-attributtet direkte i Office 365. Det finnes en workaround, men det krever en lokal Active Directory som håndterer deler av synkroniseringen og fungerer som mellomstasjon for Okta og O365. I artikkelen beskriver vi derfor hvordan en direktesync enkelt kan settes opp ved bruk av Okta Workflows istedenfor.

Andreas er Cloud Architect i Cloudworks og Okta Technical Champion. Han hjelper kunder på deres digitale identitetsreise ved å designe og implementere komplekse IAM-løsninger. Disse er i stor grad automatiserte for å oppnå mest mulig innvirkning med minimal brukerfriksjon.

  Dette er en teknisk beskrivelse i en serie om Okta Workflows

Office 365 funksjonen

For å sette Manager i Office 365 tilbyr Microsoft et Graph API-kall som gjør det mulig å tilordne en manager til en bruker ved å referere til deres respektive IDer: https://docs.microsoft.com/en-us/graph/api/user-post-manager?view=graph-rest-1.0&tabs=http

Assign-manager-example
Utdrag fra Microsoft Docs, eksempel på Assign Manager

Med denne informasjonen har vi allerede det vi trenger for å kunne legge denne funksjonen til Okta Workflows. Dette krever at vi legger til en API-URL med brukerens Office 365 {id} og legger til et JSON-objekt med en URL som inkluderer administratorens Office 365 {id}.

Avhengig av brukstilfelle, er man noen ganger nødt til å finne bruker og manager ID. I vårt tilfelle fungerte eksemplet ved å kun bruke e-postadresse på manager i dataene som vi brukte i oppslaget vi gjorde. Å finne ID-en er imidlertid bare et annet kall i Okta Workflows, som vi har lagt til i eksempelet for brukeren.

*Dette API-kallet fungerer kanskje ikke hvis du bruker "User sync" eller "Universal sync" da kontoen er låst av integrasjonen.

Workflowen

Vi setter opp dette som en “child flow”, slik at vi kan koble den på enhver hendelse vi ønsker å fange opp. Etter å ha samlet inn informasjon om brukeren i Okta, stopper vi workflowen dersom brukeren ikke har en "managerEmail", slik at den ikke kjører unødvendig.

Workflow-Office365-Manager
Workflow oppsett for Office 365 Manager del 1: Sjekk om manager er satt og hent bruker-IDen fra Office 365

Det siste steget i forberedelsene er å lese informasjon om brukeren i Office 365. Dette for å finne den interne Office 365 ID-en som vi deretter kan bruke i neste steg der vi bygger API-kallet.

Workflow-Office365-Manager-2
Workflow oppsett for Office 365 Manager del 2: Skriv hvilke data vi skal sende og URL-en for API-kallet og kall opp Graph API

Vi kan nå sette opp selve API-kallet, og bruker en connector for Office 365 og en "Custom API Action". (Les mer om fordelen med Custom API Action). Det eneste dette krever av oss er å spesifisere relativ URL* og hvilke data vi skal sende over. Vi komponerer begge deler fra attributtene vi innhentet i første del av workflowen; brukerens Office 365 ID fra "Read user” og e-postadressen til manager for kallets data.

Etter at vi har etablert en Custom API Action avslutter vi workflowen med en “Return Error IF” (ikke vist i skjermbildene), som returnerer en feil hvis kallet for å angi en manager mislykkes. Dette er for å rapportere feilen tilbake til workflowen for kallet slik at den blir synlig der, og dermed gjøre feilsøking enklere. Hvis vi ønsker, kan vi legge til ytterlige håndtering eller varsling hvis slike feil oppstår.

*Relativ URL er delen etter “https://graph.microsoft.com/v1.0"

Oppsummering

Mer omfattende er det ikke å sette opp Manager i Office 365 med Okta Workflows:

- Gjør deg kjent med Graph API-kallet
- Hent Manager informasjonen i Okta
- Gjør kallet for å oppdatere Office 365

Ved å sette opp en enkel workflow har vi lagt til noe funksjonalitet i den eksisterende Office 365-integrasjonen, og dermed spart tid og sikret bedre datakvalitet ettersom at attributten ikke lenger settes manuelt.