Sites.Selected permissions provisioning automation

Scenario You administer Microsoft 365 SharePoint Online. Part of your daily activities is providing Microsoft Graph and SharePoint Sites.Selected API permissions to other users (developers). In Aug/Sep 2023 Microsoft pushed an update that prevents site collection admins to create or update an Azure Access Control (ACS) principal (that was the way most of developers used […]

Sites.Selected API permissions for SharePoint access

Sites.Selected permissions are required to get access to a specific SharePoint site using Microsoft Graph API and/or SharePoint API.
Since Microsoft announced EOL of SharePoint App-only service principals, Sites.Selected is the only option going forward). In this article I’ll provide overview of Sites.Selected, Step-by-step how to get and configure Sites.Selected permissions,
how to secure your app credentials,
Use Sites.Selected permissions, Govern Sites.Selected permissions, Automate Sites.Selected permissions provisioning, compare Classic ACS permissions with modern Sites.Selected permissions.

Testing Sites.Selected SharePoint and MS Graph API

Sites.Selected MS Graph API permissions were introduced by Microsoft in March 2021. One year later, in 2022 they added SharePoint Sites.Selected API permissions. Why is this so important? Because MS Graph API for SharePoint is still limited and cannot cover all possible needs. I’d estimate: 90% of applications use SharePoint CSOM, so developers have to […]

Providing Permissions to a Site for Sites.Selected App

How to provide permissions for an Azure registered application with MS Graph SharePoint Sites.Selected API permissions to a specific site via calling Microsoft Graph API from PowerShell. We need an “admin” application – Azure registered application with with Sites.FullControl.All MS Graph API permissions. This method can use secret, so we need Client Id and Client […]

Sites.Selected SharePoint API brief overview and history

Sites.Selected MS Graph API permissions were introduced by Microsoft in March 2021. It was a good move towards site-level access for non-interactive (daemon) applications, but still developers were limited with only what MS Graph API provides for SharePoint. SharePoint CSOM and REST API still provides much more than MS Graph API. So developers had to […]

Install PowerShell and configure your PowerShell environment

In this article I’ll guide you through how to get PowerShell and configure your environment for PowerShell scripting against Microsoft 365. For those who do not need detailed instructions: Windows PowerShell Every Windows computer comes with PowerShell pre-installed. So if you are on a Windows machine – try the following: Start -> Windows PowerShell. You’ll […]

Connecting Azure Function App to Microsoft 365 via Graph API with Managed Identity

There is a well-known and well-documented way of connecting to Microsoft 365 SharePoint and Graph API from Azure Function App via keeping credentials (Client id and client secret) in the Azure Key Vault. In this article I explained how to configure Azure Key Vault so Azure Function can get credential and use them to access […]

Python connect to SharePoint via Graph API with Delegated Permissions

Below is the sample Python code to authenticate against Microsoft 365 as current user with MSA library and to call Microsoft Graph API – specifically get SharePoint Site, get Site lists with requests library. But first, you have to have an App Registration in Azure (Entra ID) with delegated permissions consented and authentication configured. Delegated […]

Azure ACS retirement: Track down App-Only (ACS) apps

With Microsoft officially announcing the retirement of legacy Azure Access Control Services (ACS), SharePoint administrators are now racing against time. For over a decade, ACS-based permissions—commonly known as SharePoint app-only service principals—have been widely used, with countless tutorials and blog posts guiding users on how to implement them in their applications. However, many of these […]