Spring til indholdet

Sites.Selected - adgang for en app til kun ét websted

Sites.Selected giver en app adgang til udvalgte websteder i stedet for hele tenanten. Sådan gives adgangen, rollerne, og hvad der ændrede sig fra 2021 til 2025.

Opdateret SharePoint OnlineAdgangsstyringREST-API 4 min. læsning

Sites.Selected er en tilladelse til en Entra-app, der giver adgang til ingen websteder, før en administrator udpeger de websteder, appen må nå. Alternativet er Sites.Read.All, Sites.ReadWrite.All eller Sites.FullControl.All, som gælder for alle websteder i tenanten. Tilladelsen blev annonceret i februar 2021 til Microsoft Graph (Developer Blog, 11. februar 2021) og bruges, når et script, et flow eller en integration kun skal arbejde i et enkelt websted.

Status 9. oktober 2026: Sites.Selected er generelt tilgængelig og understøttet, virker mod både Microsoft Graph og SharePoint REST og CSOM, og kan gives på fire niveauer: websted, liste, listeelement og fil (Microsoft). Den er også den vej, Microsoft peger på, når gammel app-only-adgang med Azure ACS skal erstattes, se Azure ACS og SharePoint Add-Ins udgår.

Tre trin skal være på plads#

Tre kasser i række: Entra-appen har tilladelsen Sites.Selected og samtykke fra en administrator, men alene giver det adgang til intet websted. Så giver en administrator appen en rolle på ét websted. Til sidst henter appen et token med tilladelsen og når kun det ene websted, ikke de andre.

Adgang kræver tre ting, og mangler én af dem, har appen ingen adgang (Microsoft):

  1. Appen har fået tilladelsen Sites.Selected i Entra, som application permission eller delegated permission, og en administrator har givet samtykke. Tilladelsen kan stå på Microsoft Graph, på SharePoint eller på begge.
  2. Appen er givet adgang til det enkelte websted med et kald til Graph.
  3. Appen henter et token, der indeholder tilladelsen.

Kaldet i trin 2 kræver en anden app eller en administrator med Sites.FullControl.All, fordi det at give en app fuld kontrol over et websted er så vidtgående. Det er et af de steder, hvor tilladelsen kan bruges forkert: en app, der skal give andre apps adgang, har selv tenant-dækkende rettigheder.

1POST https://graph.microsoft.com/v1.0/sites/{siteId}/permissions
2Content-Type: application/json
3
4{
5  "roles": ["write"],
6  "grantedToIdentities": [{
7    "application": { "id": "<client id>", "displayName": "<app name>" }
8  }]
9}

Det kan også gøres med PowerShell. Microsoft Graph PowerShell har New-MgSitePermission, og PnP PowerShell har Grant-PnPEntraIDAppSitePermission med Get-, Set- og Revoke- ved siden af (Grant-PnPAzureADAppSitePermission er et alias) (Microsoft Graph PowerShell, PnP PowerShell).

1Grant-PnPEntraIDAppSitePermission -AppId "<client id>" -DisplayName "Contoso Time Manager" -Site "https://contoso.sharepoint.com/sites/demo" -Permissions Write

Adgangen kan tages tilbage to steder: med DELETE på tilladelsen, som fjerner appens adgang til det ene websted, eller ved at trække samtykket til Sites.Selected tilbage i Entra, som lukker for adgangen til alle websteder, appen var givet (Microsoft).

Roller#

Fra 2021 var der to roller, read og write. Nogle administrationsopgaver kunne ikke udføres med write, og i 2023 kom manage og fullcontrol til (SharePoint-bloggen, 7. april 2023). Learn nævner i dag read, write, owner og fullcontrol, og PnP PowerShell kan sætte Manage og FullControl direkte (PnP PowerShell, ændringslog).

Flere niveauer end websteder#

Den oprindelige Sites.Selected gjaldt hele webstedet. De nyere tilladelser giver adgang til en enkelt liste (Lists.SelectedOperations.Selected), til elementer og mapper (ListItems.SelectedOperations.Selected) eller til filer (Files.SelectedOperations.Selected), og alle kan bruges både som application permission og som delegated permission (Microsoft).

Giver en app adgang til en liste, et element eller en fil, brydes arvingen af rettigheder på den ressource, og det tæller med i grænserne for unikke rettigheder. Rettigheder på webstedets øverste niveau bryder ikke arvingen. Ved delegated adgang er appens adgang desuden aldrig større end den bruger, der er logget ind, har.

Hvad der ændrede sig undervejs#

  1. Nyhed

    Sites.Selected og POST /sites/{id}/permissions annonceres til Graph, med rollerne read og write (Developer Blog)

  2. Udvidelse

    Sites.Selected kan også bruges til SharePoint CSOM og REST. Adgangen gives stadig med Graph. Microsoft bekræfter samtidig, at Sites.Selected er generelt tilgængelig og understøttet (Developer Blog)

  3. Nyhed

    Vejledning, og rollerne manage og fullcontrol er kommet til

  4. Udfasning

    Azure ACS og Add-Ins meldes udfaset (MC693863). Sites.Selected er vejen, hvis app-only-adgang skal begrænses til udvalgte websteder

  5. Ændring

    SPFx’ API-tilladelser flyttes til en ny principal i Entra ID. Løsninger med Sites.Selected skal have tilladelsen givet igen af en global administrator eller en app med Sites.FullControl.All (Developer Blog)

Certifikat, ikke secret#

Sites.Selected afløser ikke selv godkendelsen. SharePoint Online afviser andet end certifikat til app-only-adgang med SharePoint-API’er, så en app, der skal bruge CSOM eller REST, skal logge på med et certifikat og ikke med en client secret (Microsoft).

I månedsnoterne#

Tilladelsen står i februar 2021. Udvidelsen til CSOM og REST står i august 2022, vejledningen med de nye roller i april 2023 og flytningen af SPFx’ tilladelser i marts 2025.