Ställ in Manager i Office 365 med Okta Workflows

Ställ in Manager i Office 365 med Okta Workflows

För tillfället kan Oktas Office 365 Integration inte sätta Manager-attributet direkt i Office 365. Det finns en lösning, men den kräver en lokal Active Directory som hanterar en del av synkroniseringen och agerar mellan Okta och O365. I den här artikeln beskriver vi därför hur en direktsynkronisering enkelt kan ställas in med hjälp av Okta Workflows istället.

Andreas är molnarkitekt i Cloudworks och Okta Technical Champion. Han hjälper kunder på deras digitala identitetsresa genom att designa och implementera komplexa IAM-lösningar. Dessa har en hög grad av automatisering för att uppnå hög effekt med minimal användarfriktion.

 Detta är en teknisk beskrivning i en serie om Okta Workflows

Office 365-funktionen

För att ställa in Manager i Office 365 tillhandahåller Microsoft ett Graph API-anrop som gör det möjligt att tilldela en chef till en användare genom att referera till deras respektive ID:n:  https://docs.microsoft.com/en-us/graph/api/user-post-manager?view=graph-rest-1.0&tabs=http

Assign-manager-example
Utdrag från Microsoft Docs, exempel för tilldelning av chef

Med denna information har vi redan allt vi behöver för att helt enkelt lägga till den här funktionen i Okta Workflows. Anropet kräver att vi anropar en API-URL med användarens Office 365 {id} och lägger till ett JSON-objekt med URL:en som inkluderar chefens Office 365 {id}.

Beroende på användningsfallet kan vi behöva ta reda på användar- och chefs-ID. I vårt fall fungerade exemplet om vi bara använde chefens e-postadress i body för anropet. Emellertid är utsökning av ID:t är bara ett annat anrop i Okta Workflows, som finns tillagd i exemplet nedan.

*Det här API-anropet fungerar kanske inte om du använder "User sync" eller "Universal sync" eftersom kontot då är låst av integrationen.

Workflowet

Vi sätter upp detta som en “child flow”, så vi kan anropa funktionen från valfri händelse som vi önskar använda. Efter att ha samlat in lite information om användaren i Okta stoppar vi flödet om användaren saknar "managerEmail" inställd så att flödet inte körs i onödan.

Workflow-Office365-Manager
Arbetsflödesuppsättning Office 365 Manager del 1: Kontrollera om chefen är inställd och hämta användar-ID från Office 365

Sista steget i förberedelserna är att läsa användaren i Office 365 för att få det interna ID som vi sedan kan använda i nästa steg när vi bygger API-anropet.

Workflow-Office365-Manager-2
Arbetsflödesuppsättning Office 365 Manager del 2: Skriv body och URL:en för API-anropet och anropa Graph API

Vi kan nu bygga det huvudsakliga API-anropet genom att använda Office 365 Connector och “Custom API Action”.  (Läs mer om fördelarna med Custom API Action). Det enda detta krävs är att vi specificerar den relativa URL:en* och vilken data som ska skickas. Vi komponerar båda från de attribut som vi har hämtat i den första delen av arbetsflödet. Användarnas Office 365 ID i Office 365 "Läs användare" och chefens e-postadress för anropets data.

Efter Custom API Action stänger vi arbetsflödet med ett "Return Error IF" (visas inte på skärmdumparna) som returnerar ett fel om anropet att ställa in manager misslyckades. Detta för att rapportera tillbaka felet till anropsflödet, så att det syns där vilket underlättar felsökning. Om vi så önskar kan vi lägga till ytterligare hantering eller avisering om sådana fel uppstår.

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

Summary

Det är enkelt att ställa in Manager i Office 365 med Okta Workflows:

- Bekanta dig med Graph API-anropet
- Få Managernformation i Okta
- Gör anropet för att uppdatera Office 365

Genom att sätta upp ett enkelt arbetsflöde har vi lagt till viss funktionalitet till den befintliga Office 365-integrationen, vilket sparar tid och säkerställer bättre datakvalitet eftersom attributet inte längre konfigureras manuellt.