In molti tenant Microsoft 365 Education, Copilot mostra il blocco “under‑18” anche ad adulti. Questo articolo spiega perché accade, come diagnosticarlo in modo strutturato e quali azioni applicare per ripristinare Copilot per docenti e staff senza deroghe improprie.
Messaggio di errore e contesto
“Copilot is not yet available for students under age 18. We’re working on it, and you’ll have access soon.”
Il messaggio compare a utenti che, pur essendo maggiorenni (es. personale amministrativo, docenti, dirigenti), risultano al servizio come “studenti” o “minori” a causa di licenze, attributi o criteri di tenant non allineati. Il fenomeno è ricorrente nei tenant Education perché l’ambiente M365 applica policy orientate alla tutela dei minori e, per impostazione predefinita, tende a privilegiare la protezione rispetto all’abilitazione.
Perché succede: panoramica rapida
- Requisiti normativi: Microsoft limita l’uso di Copilot agli over‑18 per conformità a COPPA (USA) e GDPR (UE). Nei tenant Education il controllo è più stringente.
- Licenze/SKU: Copilot per M365 si attiva solo su SKU idonee (Microsoft 365 Copilot o Bing Chat Enterprise) e, in Education, tipicamente per Faculty/Staff. Gli SKU “Student” vengono filtrati automaticamente.
- Attributi directory: in Entra ID (ex Azure AD) esistono campi come
ageGroup
elegalAgeGroupClassification
che, se compilati in modo restrittivo o incoerente, fanno scattare il blocco under‑18 anche senza una data di nascita effettiva. - Policy di tenant: pacchetti di criteri Education (es. “Student Use Policy Package”) e impostazioni di Teams/Edu possono override dell’esperienza, disabilitando Copilot per chiunque non sia classificato come docente/staff.
Cause note (tabella di riferimento)
Area | Dettagli |
---|---|
Requisiti normativi | Microsoft limita Copilot agli over‑18 per conformità a COPPA (USA) e GDPR (UE). |
Licenze / SKU | Nelle tenancy Education viene abilitato solo se l’utente possiede Microsoft 365 Copilot o Bing Chat Enterprise ed è classificato come Faculty/Staff. Gli SKU “Student” vengono filtrati in automatico. |
Attributi directory | In Entra ID il flag di ruolo didattico (es. primary role “Student” vs “Teacher/Faculty”, spesso proveniente da School Data Sync) e gli attributi ageGroup / legalAgeGroupClassification possono indurre Copilot a credere che l’utente sia < 18, anche senza data di nascita valorizzata. |
Policy tenant | Alcuni tenant scolastici applicano, via Teams Policies o Edu Settings, un blocco generico “Under 18” a tutte le categorie non docenti. |
Nota importante sul lessico Entra ID:
Nel modello standard, userType
è “Member” o “Guest”. Nei tenant Education, però, l’informazione “Student/Teacher/Faculty” vive come ruolo didattico (ad es. proprietà educationUser.primaryRole o estensioni SDS) ed è la base su cui molti pacchetti di policy applicano eccezioni. In pratica, ciò che in interfaccia appare come “Student vs Teacher” può non coincidere con userType
; ciò che conta è la classificazione didattica e gli attributi d’età (ageGroup
/ legalAgeGroupClassification
).
Effetti collaterali che confondono la diagnosi
- Token e cache: dopo modifiche a licenze/attributi, i token esistenti possono far persistere l’errore per ore. Serve sign‑out completo e refresh della cache (browser, Teams, app Office).
- Esperienza non uniforme: Copilot può funzionare nel Web (Bing Chat Enterprise) ma non in M365, o viceversa, a seconda delle policy applicate su ciascun front‑end.
- Sincronizzazioni SDS: importazioni scolastiche (es. da School Data Sync) possono rietichettare un utente come “Student” a ogni ciclo, sovrascrivendo correzioni manuali.
Checklist di risoluzione rapida
- Verificare licenza: in Admin Center → Utenti → Licenze controlla che l’utente abbia Microsoft 365 Copilot (o Bing Chat Enterprise) e una SKU Faculty/Staff. Se vedi solo SKU “Student”, modifica l’assegnazione.
- Controllare attributi Entra ID: in Entra ID → Users → (utente) → Properties e in eventuali schede Education verifica
ageGroup
/legalAgeGroupClassification
(imposta “Adult” o rimuovi valori erronei) e la classificazione didattica (Teacher/Faculty). - Riesaminare i policy packages: se è attivo lo “Student Use Policy Package”, sostituiscilo con il pacchetto “Teacher” o crea una policy personalizzata che non blocchi Copilot.
- Propagare modifiche: chiedi sign‑out completo da M365, cancella cache browser/Teams e riconnetti l’utente. Normalmente la propagazione lato servizio richiede 2‑24 ore.
- Aprire ticket se persiste: apri un ticket M365 selezionando la categoria Copilot Education (severity “Performance/Troubleshoot”). Può trattarsi di un bug del servizio.
Procedure dettagliate passo‑passo
Verifica/assegnazione licenze e SKU
- Apri Microsoft 365 Admin Center e vai su Utenti attivi.
- Seleziona l’utente → scheda Licenze e app.
- Assicurati di vedere una licenza Copilot idonea (ad es. Microsoft 365 Copilot) o Bing Chat Enterprise. In contesti Education, verifica anche che la SKU di base non sia solo “Student”.
- Se l’utente è personale scolastico, migra a SKU Faculty/Staff o affianca una licenza idonea per Copilot.
Perché è cruciale: Copilot non viene attivato sugli SKU “Student” e non eredita permessi “a salire” se la SKU di base è restrittiva. Le policy Education possono prevalere anche in presenza della licenza Copilot se l’utente resta classificato come studente.
Controllo attributi in Entra ID (ex Azure AD)
- Vai su Entra ID → Users → (utente).
- Nella scheda Properties e nelle aree Education, verifica/aggiorna:
ageGroup
: Adult (o non valorizzato se non pertinente).legalAgeGroupClassification
: Adult (evita valori “minor*”).- Ruolo didattico / primary role: Teacher / Faculty.
department
,jobTitle
e altri metadati coerenti con lo staff.
- Salva e annota la modifica (per audit).
Suggerimento: se usi School Data Sync, valuta se correggere alla fonte (SIS) o in SDS, altrimenti la sincronizzazione successiva può ripristinare “Student”.
Riesame dei policy packages Education (Teams & co.)
- Apri Teams admin center → Users → Manage policy packages.
- Controlla se all’utente è assegnato lo Student Use Policy Package. Se sì, riassegna il pacchetto Teacher o una policy personalizzata che non disabiliti Copilot/M365 Chat.
- Verifica anche eventuali App permission policies o Messaging policies che escludano Copilot/Chat.
Propagazione e pulizia cache/token
- Browser: esegui sign‑out da Microsoft 365, chiudi tutte le schede, cancella cache e cookie, riapri e rieffettua l’accesso.
- Teams (nuovo client): Sign‑out → Quit → riavvio. Se necessario cancella la cache del profilo utente.
- Office desktop: Account → Esci → Accedi.
Il tempo di propagazione è tipicamente 2‑24 ore; in presenza di sincronizzazioni esterne o più livelli di policy può richiedere di più.
Se il problema persiste: apri un ticket mirato
Nel portale di supporto Microsoft 365 apri un ticket con queste informazioni:
- Tenant ID, UPN dell’utente, SKU assegnate (screenshot) e cronologia modifiche.
- Valori attuali di
ageGroup
,legalAgeGroupClassification
e ruolo didattico. - Policy package applicati in Teams/tenant e data/ora del test (con timezone).
- URL/ambiente in cui compare esattamente l’errore (M365 app, Teams, web, ecc.).
- Passi già eseguiti (cache, sign‑out, propagazione).
Script e API utili (amministratori)
Microsoft Graph PowerShell: controllo rapido attributi
# Modulo Graph
Install-Module Microsoft.Graph -Scope CurrentUser
Connect-MgGraph -Scopes "User.ReadWrite.All","Directory.ReadWrite.All"
Lettura attributi chiave
$upn = "[nome.cognome@scuola.edu](mailto:nome.cognome@scuola.edu)"
$user = Get-MgUser -UserId $upn -Property "id,displayName,userType,department,jobTitle,ageGroup,legalAgeGroupClassification"
$user | Select-Object displayName,userType,department,jobTitle,ageGroup,legalAgeGroupClassification
(Facoltativo) Ruolo didattico se usi Education API
$eduUser = Invoke-MgGraphRequest -Method GET -Uri "/education/users/$($user.Id)"
$eduUser.primaryRole
Aggiornare i flag d’età in modo sicuro
# Esempio: imposta età come Adult
Update-MgUser -UserId $upn -AgeGroup "Adult" -LegalAgeGroupClassification "Adult"
Per rimuovere valori errati (lasciare null), usare PATCH custom:
$body = @{ ageGroup=$null; legalAgeGroupClassification=$null } | ConvertTo-Json
Invoke-MgGraphRequest -Method PATCH -Uri "/users/$($user.Id)" -Body $body -ContentType "application/json"
Avvertenze: applica queste modifiche solo per personale d’istituto; documenta la deroga nei registri GDPR (art. 30) e, dove richiesto, aggiorna la DPIA.
Verifica licenze assegnate
Get-MgUserLicenseDetail -UserId $upn |
Select-Object SkuPartNumber,ServicePlans |
Format-List
Cerca voci come MICROSOFT365COPILOT o piani equivalenti a Bing Chat Enterprise. Assicurati che la SKU di base non sia esclusivamente “Student”.
Diagnostica guidata: albero decisionale
Vedi messaggio "under‑18"?
├── Sì → L'utente ha licenza Copilot/BCE?
│ ├── No → Assegna licenza idonea (Faculty/Staff) → Test
│ └── Sì → È classificato come Teacher/Faculty?
│ ├── No → Correggi ruolo didattico/SDS → Test
│ └── Sì → ageGroup/legalAgeGroupClassification = Adult?
│ ├── No → Imposta Adult (o rimuovi) → Test
│ └── Sì → Policy package "Student" attivo?
│ ├── Sì → Applica policy Teacher/personalizzata → Test
│ └── No → Pulisci token & cache; attendi propagazione; se persiste → Ticket MS
Confronto: Copilot M365, Copilot Web e Bing Chat Enterprise
Prodotto | Ambito | Dati organizzativi | Requisiti età | Quando usarlo |
---|---|---|---|---|
Copilot per Microsoft 365 | App M365 (Word, Excel, Teams, Outlook, ecc.) | Accesso ai contenuti M365 secondo permessi utente | Over‑18 (Education: Faculty/Staff) | Scenario primario per docenti/staff con contenuti aziendali |
Copilot sul Web | Navigazione/risposte sul web | Nessun accesso ai dati M365 | Conserva limiti d’età | Ricerca generale; non sostituisce Copilot M365 |
Bing Chat Enterprise | Chat protetta con protezioni commerciali | Non usa i dati per training; separazione commerciale | Più flessibile in attesa di Copilot M365 | Alternativa temporanea dove consentito dal tenant |
Best practice per evitare regressioni
- Allineare SDS e SIS: se la fonte dati scolastica segna lo staff come “student”, la rietichettatura tornerà ad ogni sincronizzazione.
- Standardizzare i profili: definisci valori coerenti per
department
,jobTitle
e ruolo didattico; usa gruppi dinamici per assegnare licenze e policy correttamente. - Separare studenti e staff: gruppi, OU e policy distinti; applica pacchetti “Teacher” di default agli account di personale.
- Audit: registra in modo tracciabile chi modifica
ageGroup
elegalAgeGroupClassification
; aggiorna DPIA e registro trattamenti.
FAQ
Ho impostato “Adult” ma l’errore continua: perché?
Perché un’altra regola prevale: policy package “Student”, licenza non idonea, token non aggiornati, o rietichettatura da SDS. Segui la checklist completa e assicurati di aver forzato il sign‑out e ripulito la cache.
Posso forzare Copilot per uno studente maggiorenne?
È sconsigliato: in Education i controlli non sono solo anagrafici ma di ruolo. Se valuti una deroga, documenta la decisione nel registro GDPR (art. 30) e aggiorna la DPIA.
Quali valori usare per gli attributi d’età?
In generale “Adult” è il valore atteso per lo staff. Evita varianti “minor*”. Se non sei sicuro, lascia i campi non valorizzati e gestisci l’abilitazione tramite classificazione didattica e licenze.
Copilot funziona in Teams ma non nel browser (o viceversa)
È normale quando policy e front‑end differiscono. Controlla le App permission policies di Teams e le impostazioni di sicurezza del browser; verifica anche la presenza di servizi supplementari (ad es. filtri o proxy scolastici) che modificano gli header.
Informazioni supplementari utili
- Roadmap Microsoft (settembre 2025): Copilot for Education dovrebbe estendere la disponibilità agli studenti 13‑17 anni “entro l’anno accademico 2025‑26”, con controlli parentali e limiti di profilazione pubblicitari.
- Alternativa temporanea: dove ammesso dal tenant, è possibile abilitare Bing Chat Enterprise: offre funzionalità simili senza generare dati di training e senza richiedere certificazione d’età.
- Conformità privacy: qualsiasi deroga al blocco under‑18 deve essere documentata (registri GDPR art. 30) e accompagnata da una Data Protection Impact Assessment (DPIA) aggiornata.
Esempi pratici
- Responsabile di reparto bloccato: aveva licenza Copilot ma “Student Use Policy Package” attivo. Riassegnato pacchetto “Teacher” → Copilot disponibile dopo nuovo accesso.
- Docente neoassunto: SDS lo importava come “Student” per errore di mappatura. Corretto in SIS → sincronizzato → ruolo Teacher, Copilot abilitato.
- Staff amministrativo:
legalAgeGroupClassification
= “minor*” ereditato da un template. Aggiornato a “Adult”, pulita cache, atteso il ciclo di propagazione → errore scomparso.
Modello di comunicazione per l’utente
Ciao {Nome},
abbiamo aggiornato il tuo profilo e le autorizzazioni per Copilot.
Per favore:
1) Disconnettiti da Microsoft 365 (tutte le app, Teams incluso).
2) Chiudi i browser e cancella cache/cookie.
3) Rientra con l’account istituzionale e riprova.
Se il messaggio "under‑18" persiste dopo 24 ore, rispondi a questa mail indicando
data/ora del test, applicazione usata e screenshot dell'errore.
Grazie,
IT
Riepilogo operativo
Se Copilot mostra a tutti il messaggio “non disponibile per under‑18”, la causa è quasi sempre un’attribuzione errata del ruolo (Student) o una licenza inadeguata: correggi gli attributi in Entra ID, assegna una SKU Faculty/Staff con Copilot e verifica i policy package Education. Completa con sign‑out e pulizia cache; se il problema non rientra, apri un ticket Microsoft.
Appendice A — Tabella di controllo attributi
Campo | Valore atteso per staff | Note |
---|---|---|
ageGroup | Adult (o non valorizzato) | Evita valori “minor*”. |
legalAgeGroupClassification | Adult | Influisce sui controlli under‑18. |
Ruolo didattico | Teacher / Faculty | Non confondere con userType Member/Guest. |
Licenze | Microsoft 365 Copilot o Bing Chat Enterprise + SKU staff | Gli SKU “Student” sono esclusi da Copilot per M365. |
Policy package | Teacher / Personalizzato | Evita “Student Use Policy Package”. |
Appendice B — Elenco essenziale verifiche
- Licenze idonee assegnate (Copilot/BCE) ✅
- Ruolo didattico corretto (Teacher/Faculty) ✅
ageGroup
/legalAgeGroupClassification
= Adult ✅- Nessun policy package “Student” sull’utente ✅
- Cache/token aggiornati e propagazione attesa ✅
Con queste misure, nella maggior parte dei casi Copilot si sblocca senza interventi straordinari sul tenant.