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.
| Passo | Cosa fare |
|---|---|
| 1 | Accedi al portale Azure → App registrations. |
| 2 | Clicca + New registration, inserisci un nome. |
| 3 | Scegli il tipo di account corretto (es. Accounts in this organizational directory only). |
| 4 | Il Redirect URI può rimanere vuoto. |
| 5 | Clicca Register. Annota Application (client) ID e Directory (tenant) ID. |
| 6 | Vai a Certificates & secrets. |
| 7 | Clicca + New client secret, inserisci descrizione e data di scadenza. |
| 8 | Clicca Add. |
2. Assegnazione delle autorizzazioni API
Nella registrazione dell’app vai a API permissions → + Add a permission → Microsoft 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.