This is an enhancement to
the security measures for administrative governance that modifies the default
procedures for SharePoint app registration via AppRegNew.aspx page and
permission updates via AppInv.aspx page. Following the implementation of this change,
site collection admin will be unable to register app or update app permissions
through above pages unless authorized explicitly by the SharePoint tenant
admin.
Upon attempting to
register an application on AppRegnew.aspx page, a notification will be
displayed stating "Your SharePoint tenant admin doesn't allow site
collection admins to create an Azure Access Control (ACS) principal. Please
contact your SharePoint tenant administrator."
Similarly, upon
attempting to update app permissions on AppInv.aspx page, a notification will
be displayed stating "Your SharePoint tenant admin doesn't allow site
collection admins to update app permissions. Please contact your SharePoint
tenant administrator."
Kindly note that app registration and permission update via Microsoft Azure portal are not impacted by this change.
The rollout process is scheduled to commence in late August and is expected to conclude in mid-September.
With this update site owners will not be able to register/update apps unless the tenant admin explicitly allows it.
To modify the default behavior, the tenant administrator must execute the following shell command to explicitly establish the flag as TRUE, thereby superseding the default value of FALSE. The service principal can only be created or updated by the tenant administrator by default. However, when the flag is set to TRUE, both the SharePoint tenant admin and site collection admin will be able to create or update the service principal through SharePoint.
The shell command is: Set-SPOTenant -SiteOwnerManageLegacyServicePrincipalEnabled $true
The property ‘SiteOwnerManageLegacyServicePrincipalEnabled’ becomes visible in tenant settings after SharePoint Online Management shell is updated to 16.0.23710.12000 or a later version. But before this rollout, the value will always be TRUE even explicitly set to FALSE. It will only automatically be switched to FALSE as the default value after the rollout is launched.