Gfacility

Microsoft 365 & Google Workspace

Office 365-integration

2-legged Azure-integration för användare, platser och kalendrar — appregistrering, behörigheter, valfri RBAC-omfattning och synkroniseringsfrekvenser.

Uppdaterad 7. Mai 2026

Integrationer · Autentisering · 1.2

Integrationen mellan Gfacility och Office 365 använder en 2-legged-strategi med en appregistrering i Microsoft Entra ID (tidigare Azure Active Directory). Gfacility-appen autentiserar sig med sin egen identitet — ingen separat popup eller godkännande för varje användare, vilket gör den både mer stabil och säkrare.

1. Skapa en appregistrering i Azure Portal

Skapa en dedikerad appregistrering för Gfacility — oberoende av andra applikationer, med bättre kontroll och säkerhet.

StegVad du gör
1Logga in på Azure Portal → App registrations.
2Klicka på + New registration och ange ett namn.
3Välj rätt kontotyp (t.ex. Accounts in this organizational directory only).
4Redirect URI kan lämnas tom.
5Klicka på Register. Anteckna Application (client) ID och Directory (tenant) ID.
6Gå till Certificates & secrets.
7Klicka på + New client secret, lägg till en beskrivning och ett utgångsdatum.
8Klicka på Add.

2. Tilldela API-behörigheter

I appregistreringen, gå till API permissions+ Add a permissionMicrosoft Graph. Lägg till per användningsfall:

Användarintegration

För automatisk provisionering och inloggning av användare.

  • Application: User.Read.All
  • Delegated: User.Read

Places / Platser

Automatisk synkronisering av mötesrum från Outlook.

  • Application: Place.Read.All

Outlook-händelser

För schemaläggning, analytics och rumsdisplay.

  • Application: Calendars.Read
  • Application: Calendars.ReadWrite

Delade kalendrar

Åtkomst till delade brevlådor.

  • Delegated: Calendars.Read.Shared
  • Delegated: Calendars.ReadWrite.Shared

Klicka slutligen på Grant admin consent for [Tenant] — annars förblir behörigheterna i avvaktan.

Hur fungerar Places-integrationen?

En enkelriktad synkronisering från Outlook till Gfacility. Vid varje ändring av ett bokningsbart rum uppdaterar Gfacility: Namn, Kod, Kapacitet, Länk till Outlook Room, Överordnad plats. Överordnade platser (Byggnad, Våning) skapas automatiskt om de inte redan finns.

3. Begränsa åtkomst via Exchange Online RBAC (valfritt)

Som standard har Application-behörigheter åtkomst till alla brevlådor och kalendrar i tenanten. För scenarier med flera tenants eller strikt säkerhet kan du begränsa detta.

Steg-för-steg-implementation (PowerShell)

A. Anslut och skapa Service Principal — använd Application ID och Object ID för Enterprise Application, inte App Registration:

Connect-ExchangeOnline

New-ServicePrincipal `
  -AppId "<Application ID>" `
  -ObjectId "<Enterprise App Object ID>" `
  -DisplayName "Gfacility Application RBAC"

B. Definiera ett Management Scope — baserat på en domän eller en e-postaktiverad grupp (vanliga säkerhetsgrupper fungerar inte):

# Option 1: Based on domain (new users automatically in scope)
New-ManagementScope `
  -Name "Gfacility-DomainScope" `
  -RecipientRestrictionFilter "PrimarySmtpAddress -like '*@contoso.com'"

# Option 2: Based on a mail-enabled group (multi-tenant / full control)
$Group = Get-DistributionGroup "Gfacility Scope"
New-ManagementScope `
  -Name "Gfacility-GroupScope" `
  -RecipientRestrictionFilter "MemberOfGroup -eq '$($Group.DistinguishedName)'"

C. Tilldela och testa Role Assignment:

# 1. Assign the scope to the app
New-ManagementRoleAssignment `
  -Name "Gfacility-Calendars-Scoped" `
  -Role "Application Calendars.Read" `
  -App "<Application ID>" `
  -CustomResourceScope "Gfacility-DomainScope"

# 2. Verify settings
Get-ManagementRoleAssignment -App "<Application ID>" | Format-List Name,Role,CustomResourceScope

# 3. Test access to a specific mailbox
Test-ServicePrincipalAuthorization -Identity "<Service Principal ID>" -Resource "[email protected]"

Se även Microsofts guide om Application RBAC i Exchange Online.

4. Dela uppgifterna med Gfacility

För att slutföra konfigurationen behöver vi:

  • Application (client) ID
  • Directory (tenant) ID
  • Value för client secret

Dela dessa känsliga uppgifter via en säker metod (en länk i en lösenordshanterare), aldrig löst i ett e-postmeddelande.

Synkroniseringsfrekvens

Användare

En gång per natt — nya konton skapas automatiskt.

Platser (Places)

En gång per natt — rummen hålls uppdaterade.

Outlook-händelser

I realtid — för bokningar och displayer.