De U-Turn SharePoint-app beperken tot één site
Stap-voor-stap handleiding voor SharePoint- / Microsoft 365-beheerders
Standaard kan de U-Turn SharePoint-koppeling elke site in de tenant zien, waardoor de bestandenbrowser ze allemaal toont. Deze handleiding beperkt de koppeling tot één site. In de voorbeelden gebruiken we Domain_PD_Test.
Menu’s in het Entra-portaal staan in het Nederlands, met de Engelse naam tussen haakjes. Namen van Graph-machtigingen (Sites.Selected, Sites.Read.All, enzovoort) blijven in het Engels; dat zijn de officiële namen.
Voordat u begint
|
Wat u nodig hebt |
Voorbeeld / toelichting |
|---|---|
|
Beheerdersrol |
Globale beheerder, of (Toepassingsbeheerder + SharePoint-beheerder) |
|
App-registratie |
|
|
Toepassings-(client)id (Guid) |
|
|
Tenant-id (Guid) |
Entra-beheercentrum → Identiteit → Overzicht |
|
URL van de doelsite |
|
|
PowerShell 7 |
Alleen nodig voor stap 1 en 4 |
|
PowerShell script |
Download hier: SharepointScript_nl.zip |
Doe dit in de juiste volgorde. Geef de app eerst toegang tot de ene site (stap 1) en verwijder daarna pas de brede machtigingen (stap 3). Anders heeft U-Turn tijdelijk helemaal geen toegang en vallen flows om.
Plan een korte onderbreking. Tussen stap 3 en het moment waarop U-Turn een nieuw token ophaalt, kunnen SharePoint-flows tot ongeveer een uur falen. Doe dit bij voorkeur buiten kantooruren, of pauzeer de betreffende flows.
Stap 1 — Geef de app toegang tot de ene site
Hiermee wordt één machtigingsregel op de site zelf gezet. Verder verandert er niets in de tenant.
-
Open PowerShell 7 in de map waar
Grant-SelectedSharePointAccess.ps1staat. -
Voer uit:
pwsh -File .\\Grant-SelectedSharePointAccess.ps1 -
Beantwoord de vragen:
-
Tenant-id
-
App-client-id
-
Weergavenaam van de app — druk op Enter voor de standaardwaarde
-
Soort doel — kies SharePoint-site
-
Rol — kies write (U-Turn-flows die bestanden uploaden hebben dit nodig)
-
Identificatie — kies Op site-URL en plak de volledige site-URL
-
-
Lees de samenvatting en typ
YESom door te gaan. -
Meld u aan met uw beheerdersaccount wanneer het browservenster verschijnt.
Controlepunt. De uitvoer eindigt met “Resource access was stamped successfully” en toont een JSON-blok met de app-naam en "roles": ["write"]. Een waarschuwing over het legen van de tokencache helemaal aan het einde is onschuldig.
Geen PowerShell? Gebruik Graph Explorer — zie de bijlage onderaan.
Stap 2 — Voeg de beperkte machtiging toe in Entra
-
Ga naar entra.microsoft.com en meld u aan als beheerder.
-
Open Identiteit → Toepassingen → App-registraties (Identity → Applications → App registrations).
-
Selecteer U-Turn Sharepoint integration.
-
Open API-machtigingen (API permissions).
-
Klik op Een machtiging toevoegen (Add a permission) → Microsoft Graph → Toepassingsmachtigingen (Application permissions).
-
Zoek op
Sites.Selected, vink die aan en klik op Machtigingen toevoegen. -
Klik op Beheerderstoestemming verlenen voor … (Grant admin consent for \<tenant\>) en bevestig.
Controlepunt. Onder Geconfigureerde machtigingen (Configured permissions) staat Sites.Selected met status Verleend (Granted) en een groen vinkje.
Stap 3 — Verwijder de brede machtigingen
Dit is de stap die de overige sites daadwerkelijk verbergt. Blijf op de pagina API-machtigingen.
3a. Verwijder ze uit de geconfigureerde lijst
In de lijst Geconfigureerde machtigingen (Configured permissions) verwijdert u elke machtiging hieronder, als die aanwezig is. Gebruik het menu … aan het einde van de rij → Machtiging verwijderen (Remove permission).
-
Sites.Read.All -
Sites.ReadWrite.All -
Sites.Manage.All -
Sites.FullControl.All -
Files.Read.All -
Files.ReadWrite.All
Houd Sites.Selected aan, en houd de gedelegeerde machtiging User.Read aan.
3b. Trek toestemming in voor machtigingen die nog steeds zijn verleend
Dit is de stap die het vaakst wordt overgeslagen. Een machtiging uit de geconfigureerde lijst halen trekt niet de toestemming in die al is gegeven. De machtiging zakt naar een tweede lijst en blijft actief. Slaat u 3b over, dan blijft de bestandenbrowser alle sites tonen.
-
Scroll naar Overige machtigingen die zijn toegekend aan … (Other permissions granted for \<tenant\>).
-
Voor elke rij van het type Toepassing (Application) die niet
Sites.Selectedis, opent u het menu…en kiest u Beheerderstoestemming intrekken (Revoke admin consent). -
Bevestig elke verwijdering en klik daarna op Vernieuwen (Refresh).
Laat de gedelegeerde machtiging User.Read staan: die laat alleen een aangemelde gebruiker het eigen profiel lezen en geeft geen toegang tot SharePoint-inhoud.
Controlepunt. Na vernieuwen is de enige toepassingsmachtiging op de hele pagina Sites.Selected.
Stap 4 (optioneel) — Controleer wat de app écht mag
Voer dit uit in PowerShell 7. Dit toont wat de app daadwerkelijk heeft, onafhankelijk van wat de pagina toont:
Connect-MgGraph -Scopes 'Application.Read.All','AppRoleAssignment.ReadWrite.All' -NoWelcome
$appId = '6d31cf7f-bce5-47fa-b079-9a6c12ab3db1'
$sp = Get-MgServicePrincipal -Filter "appId eq '$appId'"
$graph = Get-MgServicePrincipal -Filter "appId eq '00000003-0000-0000-c000-000000000000'"
Get-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $sp.Id | ForEach-Object {
$role = $graph.AppRoles | Where-Object Id -eq $_.AppRoleId
[pscustomobject]@{ Permission = $role.Value; Resource = $_.ResourceDisplayName }
}
Controlepunt. De uitvoer toont precies één regel: Sites.Selected op resource Microsoft Graph. Staat er iets anders, trek dat dan in via stap 3b.
Verschijnt een machtiging met een andere resource dan Microsoft Graph — bijvoorbeeld Office 365 SharePoint Online — dan is dat een oudere grant. Verwijder die op dezelfde manier in Bedrijfsapps (Enterprise applications) → de app → Machtigingen (Permissions).
Stap 5 — Wijs U-Turn naar de site
Zodra de app alleen Sites.Selected heeft, kan ze Microsoft niet meer om een lijst van sites vragen. De U-Turn-bestandenbrowser heeft dan op het hoogste niveau niets om te tonen. U moet U-Turn vertellen bij welke site te beginnen.
-
Open de SharePoint-applicatie (koppeling) in U-Turn.
-
Vul het veld Sites met de volledige site-URL:
<https://mooqe.sharepoint.com/sites/Mooqe_PD_Test> -
Sla de applicatie op en voer Verbinding testen uit.
Mag deze koppeling bij meer dan één site? Zet elke URL op een eigen regel, of scheid ze met een puntkomma. Elke site in dit veld moet in stap 1 zijn verleend.
Controlepunt. De bestandenbrowser opent alleen Mooqe_PD_Test, en de documentbibliotheken en mappen daarin zijn zoals voorheen te openen. Andere sitenamen verschijnen niet.
Problemen oplossen
|
Symptoom |
Oorzaak en oplossing |
|---|---|
|
Alle sites worden nog steeds getoond |
Er is nog een brede machtiging verleend. Herhaal stap 3b en controleer met stap 4. Wacht ook tot een uur, of herstart de U-Turn-service: een al uitgegeven token behoudt de oude rechten tot het verloopt. |
|
Bestandenbrowser is leeg terwijl het veld Sites is ingevuld |
De site-URL is verkeerd gespeld, of stap 1 is niet uitgevoerd voor de site. Voer stap 1 opnieuw uit met de URL uit de adresbalk van de browser. |
|
“Access denied” wanneer een flow een bestand uploadt |
De site is verleend met rol |
|
Alles faalt direct na stap 3 |
Stap 1 is overgeslagen of mislukt. Voer stap 1 uit en let op de resultaten van het script; de toegang keert terug zonder verdere wijzigingen. |
|
Foutmelding bij opslag van de site- Url’s, of niet alle ingevoerde sites worden getoond in U-Turn |
De sites zijn niet correct ingevoerd. Controleer of de sites zijn gescheiden met komma's |
Bijlage — Stap 1 zonder PowerShell
-
Open developer.microsoft.com/graph/graph-explorer en meld u aan als beheerder.
-
Voer dit
GET-verzoek uit en kopieer de waardeiduit het antwoord:
GET https://graph.microsoft.com/v1.0/sites/mooqe.sharepoint.com:/sites/Domain_PD_Test
-
Zet de methode op
POST, gebruik de URL hieronder met die id, en plak de body:
POST https://graph.microsoft.com/v1.0/sites/{site-id}/permissions
{
"roles": ["write"],
"grantedToIdentities": [
{
"application": {
"id": "6d31cf7f-bce5-47fa-b079-9a6c12ab3db1",
"displayName": "U-Turn Sharepoint integration"
}
}
]
}
-
Voer het verzoek uit. Een antwoord met
"roles": ["write"]betekent dat het is gelukt.