Microsoft 365 opsætning for dit miljø
Der er to måder at forbinde Microsoft 365 til dit AI-School-miljø på. Vælg først, hvilken vej der passer til din organisation.
| Rute | Hvornår | Hvad du gør |
|---|---|---|
| AI-Schools centrale app (standard) | Personlige forbindelser med Outlook Mail, Outlook Kalender, Teams og SharePoint/OneDrive. | En Entra-administrator giver organisationstilladelse via Microsoft 365 koble til. Derefter aktiverer du integrationerne som i trin 5 i denne artikel. Der er ikke behov for en egen app, client secret eller Identity Provider. |
| Egen Entra-app | Du vil centralt importere SharePoint-mapper i vidensbanken, medarbejdere logger allerede ind med Microsoft via en egen app, eller du vil selv administrere appen. | Følg denne artikel fra trin 1. |
Logger din organisation allerede ind med Microsoft via en egen app (feltet Microsoft ID i miljøet er udfyldt), så bruger alle forbindelser den egen app. Den centrale rute er så ikke relevant.
Egen Entra-app
Med en egen Microsoft Entra-app kan din organisation bruge den samme app til log ind med Microsoft og til Outlook, Teams og SharePoint. Du bestemmer centralt, hvilke integrationer og skrivehandlinger der er tilgængelige. Brugerne slår derefter kun deres personlige forbindelser til eller fra i Indstillinger → Tools → Forbindelser.
De personlige integrationer fungerer med understøttede modeller fra OpenAI, Claude, Gemini og Mistral. Den valgte model skal kunne bruge værktøjer. Ved personlige forbindelser følger adgangen den tilmeldte Microsoft-brugers rettigheder. Organisationstilladelse logger ikke automatisk alle medarbejdere ind og giver ikke AI'en selvstændig adgang til alle postkasser. Den centrale SharePoint-vidensbank bruger separate apptilladelser og de eksisterende vidensbankrettigheder, som beskrevet senere i denne artikel.
Hvad har du brug for?
- En Microsoft 365-organisation med Microsoft Entra ID og konti med adgang til de ønskede tjenester.
- En administrator, der må registrere en app og give organisationstilladelse til de valgte Microsoft Graph-rettigheder. En Azure-abonnementsrolle er ikke nok til dette; din Entra-rolle skal tillade denne tilladelse.
- Administratorrettigheder i det rigtige AI-miljø til at gøre integrationer tilgængelige.
- En platformadministrator, der kan konfigurere Microsoft Identity Provider for dette AI-miljø i Google Cloud Identity Platform.
- En app registration i din egen Microsoft-directory, med en client secret og de to omdirigerings-URL'er for det rigtige brand.
Log ind med Microsoft og adgang til Microsoft-data er to separate funktioner. Bare en fungerende Microsoft-login betyder ikke, at Outlook, Teams eller SharePoint er sat op.
1. Registrer én organisationsapp
Åbn Microsoft Entra-administrationscentret og gå til App registrations → New registration. Brug et genkendeligt navn, for eksempel AI-School – dit organisationsnavn. Vælg for en egen organisation Accounts in this organizational directory only (Single tenant).
Gem følgende oplysninger fra Overview:
| Oplysning | Hvad bruges det til? |
|---|---|
| Directory (tenant) ID | Microsoft-directoryen for din organisation; dette kommer i feltet Microsoft ID i AI-miljøet. |
| Application (client) ID | Den registrerede app; dette kommer i Microsoft Identity Provider. |
Disse to ID'er er forskellige. Udfyld ikke client ID eller Firebase-tenant-ID i feltet Microsoft ID.
2. Sæt de rigtige omdirigerings-URL'er op
Gå til Authentication → Add a platform → Web. Tilføj for dit brand begge nedenstående URL'er, præcis som vist. Den første håndterer login; den anden håndterer tilladelse til arbejdsaccount-integrationerne.
| Brand | Log ind med Microsoft | Arbejdskonto-integrationer |
|---|---|---|
| AI-School | https://ai-school-pro.firebaseapp.com/__/auth/handler | https://europe-west1-ai-school-pro.cloudfunctions.net/completeConnectorOAuth |
| AI-Corporate | https://ai-corporate.firebaseapp.com/__/auth/handler | https://europe-west1-ai-corporate.cloudfunctions.net/completeConnectorOAuth |
| AI-Public | https://ai-public-pro.firebaseapp.com/__/auth/handler | https://europe-west1-ai-public-pro.cloudfunctions.net/completeConnectorOAuth |
Brug URL'erne for det brand, dit miljø kører på. Dit eget organisationsnavn eller tenant-ID behøver ikke at blive udfyldt i disse URL'er. Website-URL, dashboard-URL og .web.app-URL erstatter ikke disse callbacks. Registrer dem som Web, også selv om du bruger integrationen fra en browser. Du behøver ikke at aktivere implicit tokenudstedelse eller public-client-flow til dette.
3. Opret en client secret og tildel rettigheder
Gå til Certificates & secrets → Client secrets → New client secret. Vælg en passende levetid og gem Value sikkert, så snart den bliver synlig. Aflever værdien via den aftalte sikre kanal til platformadministration; Secret ID er ikke client secret. Hold øje med udløbsdatoen og udskift secret'en før den dato, også i Identity Provider.
Gå derefter til API permissions → Add a permission → Microsoft Graph → Delegated permissions. Tilføj kun de rettigheder, der svarer til de integrationer og handlinger, din organisation vil tilbyde.
| Integration | Læserettigheder | Ekstra rettigheder til skrivning |
|---|---|---|
| Profil / basis | User.Read; loginflowet beder også om openid, profile, email og offline_access | Ingen |
| Outlook Mail | Mail.Read | Kladder: Mail.ReadWrite. Send: Mail.Send. |
| Outlook Kalender | Calendars.Read | Skriv: Calendars.ReadWrite. |
| Microsoft Teams | Chat.Read, ChannelMessage.Read.All | Post: Team.ReadBasic.All, Channel.ReadBasic.All, ChannelMessage.Send. |
| SharePoint / OneDrive | Sites.Read.All, Files.Read.All | Denne arbejdskonto-integration tilbyder ingen skrivehandlinger her. |
Mail.ReadWrite giver ikke sendetilladelse; dertil kræves separat Mail.Send. Teams-posting skriver tekstbeskeder i en valgt kanal, ikke private chatbeskeder. Til denne integration bruger du Delegated permissions, ikke Application permissions. Også ved rettigheder med All i navnet er delegeret adgang stadig begrænset af brugerens adgang.
Klik på Grant admin consent for din organisation og kontroller, at de valgte rettigheder vises som givet. Så kan medarbejdere bruge den godkendte adgang uden selv at skulle give organisationstilladelser. Microsoft kan stadig bede om login, MFA eller fornyet samtykke, afhængigt af din politik.
4. Knyt appen til AI-miljøet på to steder
Lad platformadministratoren vælge det rigtige miljø og udføre disse indstillinger:
- I Admin → Miljø → Tenant: slå loginmetoden Microsoft til og udfyld Microsoft ID med Directory (tenant) ID.
- I Google Cloud → Identity Platform → den pågældende tenant → Identity providers → Microsoft: slå provider'en til og udfyld Application (client) ID og client secret Value fra den samme Entra-app.
Identity Provider hører til Firebase/Identity Platform-tenant'en for dit AI-miljø, ikke til en anden organisation eller det generelle Admin-miljø. Arbejdskonto-integrationen genbruger appen fra denne provider. Client secret'en hører ikke hjemme i brugerindstillinger, chatbeskeder eller almindelige miljøfelter.
Giv platformadministration organisationsnavn, brand, Directory ID, client ID, secret-værdien via den sikre kanal, udløbsdatoen og de ønskede integrationer/rettigheder. Et app-ID alene er ikke nok.
5. Giv integrationerne og skrivehandlingerne fri
Åbn administrationsmiljøet for din organisation → Tools → MCP. Slå integrationen Microsoft 365 til under Suite-snarveje. Microsoft-rækkerne bliver synlige; når hele suiten er slået fra, forbliver disse rækker skjult.
Vælg for hver integration, om den skal være tilgængelig. I kolonnen Skrivehandlinger vælger du separat:
- Outlook Mail → Kladder: oprette og ændre kladder.
- Outlook Mail → Send: sende en eksisterende kladde.
- Outlook Kalender → Skriv: oprette og ændre aftaler.
- Microsoft Teams → Post: placere tekstbeskeder i en valgt Teams-kanal.
Klik på Gem. En skrivehandling virker kun, hvis både integrationen og den tilhørende administratortilladelse er slået til, Microsoft har givet de nødvendige rettigheder, og brugeren personligt har slået forbindelsen til. Brugeren får ikke en ekstra formular til skriveadgang.
Indstillingerne skal også understøttes af backend'en for dit brand. Denne skriveudvidelse blev målrettet offentliggjort og testet den 7. oktober 2026 for OnderwijsSupport på AI-Corporate. Det betyder ikke automatisk, at den samme udvidelse allerede er frigivet til AI-School, AI-Public eller noget andet miljø. Bed platformadministration om bekræftelse, hvis skrivehandlinger mangler.
6. Kontroller opsætningen
Lad en bruger logge ind på det rigtige AI-miljø og slå den ønskede integration til i henhold til brug af Microsoft-integrationer. Kontroller, om Microsoft viser navnet på din egen Entra-app.
Test først en genkendelig kladde og en aftale uden deltagere. Kontroller de gemte elementer i Outlook. Test derefter afsendelse med en aftalt testmodtager og Teams-posting i en aftalt testkanal. En aftale med deltagere kan sende invitationer eller opdateringer. En accepteret sendeopgave er ikke det samme som en bekræftet levering.
Ved udvidelse af rettigheder forsøger forbindelsen at forny tokens. Hvis Microsoft kræver login eller samtykke igen, skal brugeren forbinde den eksisterende forbindelse igen. Der skal ikke oprettes en anden app eller en særskilt brugerindstilling.
Fejlfinding
| Problem | Tjek |
|---|---|
AADSTS50011 / redirect mismatch | Begge callbacks registreret præcist som Web, for det rigtige brand. |
| Et andet appnavn vises ved tilladelse | Den rigtige AI-omgivelse, Directory ID og tenant-specifikke Microsoft Identity Provider; forbind igen. |
| Login virker, men integrationen ikke | Kontroller også connector-callback, Graph-rettigheder og organisationstilladelse. |
| Læsning virker, skrivning ikke | Kontroller administratortilladelse, den tilhørende delegerede Graph-rettighed, givet samtykke og backend-tilgængelighed. |
| Client secret ugyldig eller udløbet | Value, ikke Secret ID; opdater den nye secret i Identity Provider. |
| Integration mangler for brugeren | Kontroller tilgængelighed i Tools, brugerrettigheder for forbindelser og det valgte AI-miljø. |
Mere information
- Administrer Tools
- Brug Microsoft-integrationer
- Microsoft: registrer en app
- Microsoft: omdirigerings-URL'er
- Microsoft Graph: rettighedsoversigt
Centrale SharePoint-vidensbank: Microsoft opsætning
En centralt tilknyttet mappe fungerer via organisationsappen, uden at hver medarbejder slår en personlig SharePoint-forbindelse til. Der kræves to separate tilladelser: en apptilladelse med admin consent, og en read-grant på præcis den mappe (eller det site), som appen må læse. En fungerende Microsoft-login eller kun admin consent giver endnu ikke adgang.
Der er to måder. Vælg én måde pr. tilknyttet mappe; AI-miljøet falder aldrig automatisk tilbage på den anden.
| Mappegrant (anbefalet) | Sitegrant | |
|---|---|---|
| Apptilladelse | Files.SelectedOperations.Selected | Sites.Selected |
| Grant på | Den valgte mappe i et dokumentbibliotek | Hele sitet |
| Hvad appen kan læse | Denne mappe og undermapper, der arver grant'en | Alle biblioteker og mapper på sitet |
| Eksisterende SharePoint-opsætning | Bevares; intet separat site nødvendigt | Helst et separat site til delt viden |
| Konsekvens i SharePoint | Mappens nedarvning af rettigheder brydes (se nedenfor) | Ingen konsekvens for nedarvning |
1. Kontroller organisationsappen
Brug den samme single-tenant app registration som til Microsoft-login i dit AI-miljø. En eksisterende app kan udvides; der er ikke behov for en anden integrationsapp. Kontroller i Microsoft Entra → App registrations → din app → Overview Directory (tenant) ID og Application (client) ID. Brug client ID nedenfor, ikke Object ID.
Directory ID skal stå i Admin → Miljø → Tenant → Microsoft ID. Client ID og Value fra en gyldig client secret skal stå hos Microsoft Identity Provider for netop det AI-miljø. Denne konfiguration vedligeholdes af platformadministration. En udløbet secret forhindrer også den centrale import; hold øje med udløbsdatoen, og udskift secret'en i god tid.
Den centrale serverforbindelse bruger client_credentials og kræver ingen ekstra redirect-URL. De eksisterende Web-redirects til login og personlige arbejdskonto-integrationer er stadig nødvendige; brug de brand-specifikke URL'er fra tabellen tidligere i denne artikel.
2. Tilføj apptilladelsen og giv admin consent
- Åbn API permissions → Add a permission → Microsoft Graph → Application permissions.
- Søg efter Files.SelectedOperations.Selected (mappegrant) eller Sites.Selected (sitegrant), vælg rettigheden og klik på Add permissions.
- Lad en kompetent Entra-administrator udføre Grant admin consent for din organisation.
- Kontroller, at rettigheden, type Application, vises som givet.
Vidensbank-appen behøver kun læserettigheder. Giv den ikke apptilladelsen Sites.Read.All, Files.Read.All, Sites.ReadWrite.All, Files.ReadWrite.All eller Sites.FullControl.All. Sådanne brede rettigheder giver adgang uden for den valgte mappe og skjuler en manglende eller tilbagekaldt mappegrant. Vælger du mappegrant, så fjern også en tidligere tilføjet Sites.Selected og den tilhørende sitegrant, så mappegrant'en er den eneste grænse. Kildelisten i AI-School advarer, når appen har sådanne yderligere rettigheder.
De delegerede rettigheder til personlige Outlook-, Teams- og SharePoint-forbindelser kan blive på samme app. De erstatter ikke apptilladelsen for den centrale vidensbank.
3. Giv appen læseadgang til mappen eller sitet
Denne administrative handling kan udføres med Microsoft Graph Explorer. Brug en administratorkonto i samme Microsoft-directory, med SharePoint Administrator eller en højere egnet administratorrolle og adgang til den pågældende site. En Azure-abonnementsrolle eller kun ejerskab af appen er ikke nok til dette.
- Log administrator-kontoen ind i Graph Explorer og kontroller den viste organisation.
- Åbn din profilmenu → Consent to permissions, find Sites.FullControl.All og vælg Consent. Dette er en delegated administratortilladelse, som Graph Explorer bruger til at administrere grants; tilføj den ikke som apptilladelse på vidensbank-appen. Brug kontobaseret samtykke, når organisationstilladelse for alle brugere ikke er nødvendig.
- Find mappens drive-ID og item-ID. I tilknytningsformularen i AI-School står den færdige GET-forespørgsel, så snart mappe-URL'en er udfyldt. Du kan også selv sammensætte den: kod mappe-URL'en som base64url (uden
=til sidst) og sætu!foran.
GET https://graph.microsoft.com/v1.0/shares/u!GECODEERDE-MAP-URL/driveItem?$select=id,name,webUrl,parentReference
I svaret er id mappens item-ID og parentReference.driveId bibliotekets drive-ID (begynder med b!). Kontroller name og webUrl: det skal være den mappe, du vil dele. Virker share-forespørgslen ikke, så brug biblioteket og stien:
GET https://graph.microsoft.com/v1.0/sites/uworganisatie.sharepoint.com:/sites/uwsite:/drives?$select=id,name,webUrl
GET https://graph.microsoft.com/v1.0/drives/DRIVE-ID/root:/Pad/Naar/Map?$select=id,name,webUrl
- Kontroller først eksisterende grants på mappen. Står dit client ID der allerede med rollen
read, behøver du ikke oprette en anden grant.
GET https://graph.microsoft.com/v1.0/drives/DRIVE-ID/items/MAP-ID/permissions
- Mangler grant'en, vælg POST på samme adresse og udfyld følgende JSON under Request Body.
CLIENT-ID-VAN-UW-APPer Application (client) ID for din integrationsapp, ikke Graph Explorer-appen. Brug udelukkende rollenread.
{
"roles": ["read"],
"grantedToV2": {
"application": {
"id": "CLIENT-ID-VAN-UW-APP"
}
}
}
- Vælg Run query. En vellykket tilføjelse giver 201 Created. Kontroller i svaret rollen
readog client ID, og gem permission-ID'et (id) til senere kontrol eller tilbagekaldelse. - Gentag kun dette for hver anden mappe, som du bevidst vil tilknytte. Hver tilknyttet mappe har sin egen grant.
Microsoft bryder nedarvningen af rettigheder på den mappe, hvor du sætter en applikationsgrant. Mappens eksisterende brugerrettigheder kopieres i det øjeblik, men senere ændringer i rettighederne på det overordnede site eller bibliotek gælder ikke længere automatisk for denne mappe. Kontroller derfor mappens brugerrettigheder efter tildelingen, og administrer dem fremover på selve mappen. Tag højde for Microsofts grænse for unikke rettigheder pr. bibliotek. Sæt ikke mappen tilbage til nedarvede rettigheder: så forsvinder også appens grant.
Undermapper og filer med egne rettigheder. Undermapper og filer, der arver rettighederne fra den valgte mappe, er omfattet af grant'en. Har en undermappe eller fil egne (brudte) rettigheder uden appen, kan appen ikke læse den. AI-School springer en sådan undermappe helt over og viser antallet i kildelisten; tidligere importerede dokumenter derfra trækkes tilbage. En nabomappe eller et andet bibliotek kan aldrig læses.
Sitegrant (alternativ)
Bruger du Sites.Selected, så find site-ID'et med GET https://graph.microsoft.com/v1.0/sites/uworganisatie.sharepoint.com:/sites/uwsite?$select=id,displayName,webUrl, kontroller eksisterende grants med GET .../sites/SITE-ID/permissions, og tilføj om nødvendigt grant'en med POST på samme adresse:
{
"roles": ["read"],
"grantedToIdentities": [
{
"application": {
"id": "CLIENT-ID-VAN-UW-APP",
"displayName": "NAAM-VAN-UW-INTEGRATIE-APP"
}
}
]
}
En sitegrant giver appen læseadgang til hele sitet. AI-School importerer kun den valgte mappe, men det filter er ikke en autorisationsgrænse i Microsoft.
4. Knyt mappen og kontroller resultatet
Åbn Administration → Vidensbase → Tilføj → SharePoint-mapper → Tilknyt mappe. Udfyld den rigtige mappe-URL fra adresselinjen i biblioteket eller i OneDrive (ikke et invitationslink), og vælg mappegrant eller sitegrant under Organisationens apps Microsoft-adgang. Ved mappegrant udfylder du drive-ID og item-ID fra trin 3. AI-School læser så kun den mappe og kontrollerer, at mappe-URL'en hører til ID'erne; ved en uoverensstemmelse afvises tilknytningen. En mappe i OneDrive for Business kan også tilknyttes, men den tilhører én medarbejder: Forlader medarbejderen organisationen, forsvinder mappen og dermed videnskilden. Brug helst et SharePoint-site til varig viden. Vælg omfang, målgruppe og publiceringsstatus i henhold til vidensbankvejledningen.
Kontroller med Opdater, om dokumenterne er behandlet uden fejl. Brug Synkroniser nu til en ny kontrol og stil derefter et konkret chatspørgsmål om et importeret dokument. Kontroller, at svaret nævner den rigtige centrale videnskilde.
Grant'en bestemmer, hvilken mappe appen må læse. Hvilke brugere der får de importerede dokumenter, bestemmer vidensbankrettighederne i AI-School (skole, målgruppe, afdelinger). Individuelle SharePoint-rettigheder overtages ikke. Tilknyt derfor kun lukket sektions- eller teamindhold med en lige så lukket målgruppe i vidensbanken.
5. Tilbagekald grant'en
Slet grant'en med DELETE på https://graph.microsoft.com/v1.0/drives/DRIVE-ID/items/MAP-ID/permissions/PERMISSION-ID (sitegrant: .../sites/SITE-ID/permissions/PERMISSION-ID). Tilbagekaldelse af admin consent blokerer appen for alle grants på én gang.
Ved den næste kontrol får AI-School ikke længere adgang til mappen. Ingen dokumenter fra den kilde tilbydes så længere, heller ikke i chatsvar, og kildelisten viser, at Microsoft afviser adgangen. Det sker ikke straks: den automatiske kontrol kører hvert 15. minut for højst 20 kilder pr. runde, så med flere kilder tager det længere tid. Brug Synkroniser nu eller Afbryd for øjeblikkelig virkning. Det samme gælder for en flyttet eller slettet mappe.
| Problem | Tjek på Microsoft-siden |
|---|---|
| Login virker, men den centrale mappe ikke | Apptilladelsen skal være af typen Application og have admin consent; kontroller også den separate grant på mappen eller sitet. |
| "Microsoft afviser adgang til mappen" | Korrekt Microsoft-directory, drive-ID, mappe-ID, client ID og read-grant; er mappen flyttet, slettet eller sat tilbage til nedarvede rettigheder? |
| Tilknytning afvist, selvom grant'en findes | Mappe-URL'en hører ikke til de udfyldte ID'er. Kopier URL'en igen fra biblioteket, og kontroller webUrl i Graph-svaret. |
| Advarsel om yderligere rettigheder | Fjern brede apptilladelser og, ved mappegrant, Sites.Selected med sitegrant'en. |
| Undermapper sprunget over | Disse undermapper har egne rettigheder uden appen. Lad dem arve rettighederne, eller giv bevidst en egen read-grant. |
403 ved den administrative handling i Graph Explorer | Delegated Sites.FullControl.All, givet samtykke, administratorrolle og adgang til sitet. Tilføj ikke en bred rettighed til integrationsappen som løsning. |
| "Organisationens app kunne ikke logge på Microsoft" | Lad platformadministration opdatere den nye secret Value i den rigtige Microsoft Identity Provider; kontroller admin consent. |
For OnderwijsSupport på AI-Corporate blev den centrale forbindelse med sitegrant offentliggjort og testet den 14. oktober 2026. Mappegrant er tilgængelig, så snart den pågældende release er offentliggjort. Tilgængelighed på AI-School, AI-Public eller et andet miljø skal bekræftes af platformadministration.
Microsoft-dokumentation: Selected permissions, tilføj grant på en mappe, kod share-URL og tilføj sitegrant.