Gfacility

Microsoft 365 & Google Workspace

Integrazione Office 365

Integrazione Azure 2-legged per utenti, sale e calendari — registrazione dell'app, autorizzazioni, scoping RBAC opzionale e frequenze di sincronizzazione.

Aggiornato il 4 mag 2026

Integrazioni · Autenticazione · 1.2

L’integrazione tra Gfacility e Office 365 avviene tramite un approccio 2-legged con una registrazione dell’app in Microsoft Entra ID (precedentemente Azure Active Directory). L’app Gfacility si autentica con la propria identità — niente popup separati o consent per ogni utente, quindi più stabile e più sicuro.

1. Crea una registrazione dell’app in Azure Portal

Crea una registrazione dedicata per Gfacility — indipendente da altre applicazioni, per un controllo migliore e maggiore sicurezza.

PassoCosa fare
1Accedi al portale Azure → App registrations.
2Clicca + New registration, inserisci un nome.
3Scegli il tipo di account corretto (es. Accounts in this organizational directory only).
4Il Redirect URI può rimanere vuoto.
5Clicca Register. Annota Application (client) ID e Directory (tenant) ID.
6Vai a Certificates & secrets.
7Clicca + New client secret, inserisci descrizione e data di scadenza.
8Clicca Add.

2. Assegnazione delle autorizzazioni API

Nella registrazione dell’app vai a API permissions+ Add a permissionMicrosoft Graph. Aggiungi per ogni caso d’uso:

Integrazione utenti

Per la creazione automatica e l'accesso degli utenti.

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

Sale / Sedi

Sincronizzazione automatica delle sale riunioni da Outlook.

  • Application: Place.Read.All

Eventi Outlook

Per pianificazione, analisi e room display.

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

Calendari condivisi

Accesso alle caselle di posta condivise.

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

Infine clicca su Grant admin consent for [Tenant] — altrimenti le autorizzazioni rimangono in attesa.

Come funziona l’integrazione Places?

Sincronizzazione unidirezionale da Outlook a Gfacility. Ad ogni modifica di una sala prenotabile, Gfacility aggiorna: Nome, Codice, Capacità, Link alla sala Outlook, Sede superiore. Le sedi superiori (Edificio, Piano) vengono create automaticamente se non esistono ancora.

3. Limitare l’accesso tramite Exchange Online RBAC (opzionale)

Per impostazione predefinita le Application permissions hanno accesso a tutte le caselle di posta e i calendari del tenant. Per scenari multi-tenant o di sicurezza rigorosa puoi limitarne l’ambito.

Implementazione passo-passo (PowerShell)

A. Connettersi e creare il Service Principal — usa l’Application ID e l’Object ID dell’Enterprise Application, non della App Registration:

Connect-ExchangeOnline

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

B. Definire un Management Scope — su un dominio o un gruppo mail-enabled (i normali security group non funzionano):

# Opzione 1: Basato sul dominio (i nuovi utenti rientrano automaticamente nello scope)
New-ManagementScope `
  -Name "Gfacility-DomainScope" `
  -RecipientRestrictionFilter "PrimarySmtpAddress -like '*@contoso.com'"

# Opzione 2: Basato su un gruppo mail-enabled (multi-tenant / controllo totale)
$Group = Get-DistributionGroup "Gfacility Scope"
New-ManagementScope `
  -Name "Gfacility-GroupScope" `
  -RecipientRestrictionFilter "MemberOfGroup -eq '$($Group.DistinguishedName)'"

C. Assegnare il Role Assignment e testare:

# 1. Assegna lo scope all'app
New-ManagementRoleAssignment `
  -Name "Gfacility-Calendars-Scoped" `
  -Role "Application Calendars.Read" `
  -App "<Application ID>" `
  -CustomResourceScope "Gfacility-DomainScope"

# 2. Verifica le impostazioni
Get-ManagementRoleAssignment -App "<Application ID>" | Format-List Name,Role,CustomResourceScope

# 3. Testa l'accesso a una specifica casella
Test-ServicePrincipalAuthorization -Identity "<Service Principal ID>" -Resource "[email protected]"

Vedi anche la guida Microsoft su Application RBAC in Exchange Online.

4. Comunica i dati a Gfacility

Per completare l’installazione ci servono:

  • Application (client) ID
  • Directory (tenant) ID
  • Value del client secret

Condividi queste informazioni sensibili tramite un canale sicuro (link da password manager), mai semplicemente via e-mail.

Frequenza di sincronizzazione

Utenti

Una volta a notte — i nuovi account vengono creati automaticamente.

Sedi (Places)

Una volta a notte — le sale vengono aggiornate.

Eventi Outlook

In tempo reale — per prenotazioni e display.