Herstellen einer Verbindung mit durch Azure AD gesicherten APIs in SharePoint-Framework-Lösungen

Beim Erstellen von SharePoint-Framework-Lösungen müssen Sie möglicherweise eine Verbindung mit einer durch Azure Active Directory (Azure AD) geschützten API herstellen. In SharePoint-Framework können Sie angeben, welche Azure AD-Anwendungen und Berechtigungen Ihre Lösung erfordert, und ein globaler oder SharePoint-Administrator kann ggf. die erforderlichen Berechtigungen erteilen. Mithilfe von AadHttpClient können Sie ganz einfach eine Verbindung mit durch Azure AD gesicherten APIs herstellen, ohne den OAuth-Fluss zu implementieren.

Übersicht über Web-API-Berechtigungen

Azure AD sichert eine Reihe von Ressourcen: von Office 365 bis hin zu benutzerdefinierten, von der Organisation erstellten Branchenanwendungen. Um zu diesen Ressourcen eine Verbindung herzustellen, müssen Anwendungen ein gültiges Zugriffstoken abrufen, das ihnen Zugriff auf eine bestimmte Ressource gewährt. Anwendungen können ein Zugriffstoken im Rahmen des OAuth-Autorisierungsflusses abrufen.

Clientseitige Anwendungen, die nicht in der Lage sind, einen geheimen Schlüssel zu speichern, wie z. B. SharePoint-Framework-Lösungen, verwenden einen bestimmten Typ von OAuth-Fluss namens impliziter OAuth-Fluss.

Entwickler clientseitiger Lösungen sind selbst für die Implementierung von Autorisierung mithilfe des impliziten OAuth-Flusses in ihrer Anwendung verantwortlich. In SharePoint-Framework-Lösungen erfolgt dies im Rahmen des Frameworks über MSGraphClient und AadHttpClient, die in SharePoint-Framework v1.4.1 eingeführt wurden.

Hinweis

Wenn Sie Lösungen in einer niedrigeren SharePoint-Framework-Version als v1.4.1 erstellen, können Sie weiterhin eine Verbindung mit durch Azure AD gesicherten Ressourcen herstellen. In diesem Fall müssen Sie den impliziten OAuth-Fluss direkt mithilfe von Microsoft Identity Platfomr-Authentifizierungsbibliotheken implementieren. Weitere Informationen finden Sie unter Herstellen einer Verbindung zu einer mit Azure Active Directory gesicherten API.

Im Rahmen von SharePoint-Framework wird ein bestimmter Prozess dafür definiert, wie Entwickler Berechtigungen für Ressourcen, die mit Azure AD gesichert sind, anfordern und Administratoren diese Berechtigungen erteilen können. Das folgende Schema veranschaulicht diesen Vorgang.

Schematische Darstellung des Flusses der Anforderung, Erteilung und Verwendung von Berechtigungen für Azure AD-Anwendungen

Entwickler einer SharePoint-Framework-Lösung, die Zugriff auf bestimmte, mit Azure Active Directory gesicherte Ressourcen benötigt, listen diese Ressourcen zusammen mit den erforderlichen Berechtigungsbereichen im Lösungsmanifest auf. Bei der Bereitstellung des Lösungspakets im App-Katalog erstellt SharePoint Berechtigungsanforderungen und fordert den Administrator auf, die angeforderten Berechtigungen zu verwalten. Für jede angeforderte Berechtigung kann ein globaler oder SharePoint-Administrator entscheiden, ob er die jeweilige Berechtigung erteilen oder verweigern möchte.

Alle Berechtigungen werden dem gesamten Mandanten und nicht einer bestimmten Anwendung erteilt, die sie angefordert hat. Wenn der Administrator eine bestimmte Berechtigung erteilt, wird sie der Azure AD-Anwendung SharePoint Online-Client-Erweiterbarkeit hinzugefügt, die von Microsoft in jedem Azure AD bereitgestellt und von SharePoint-Framework im OAuth-Fluss verwendet wird, um gültige Zugriffstoken für Lösungen bereitzustellen.

Ermitteln verfügbarer Anwendungen und Berechtigungen

Das Ziel-Azure AD, das Ihren Office 365-Mandant schützt, legt fest, für welche Anwendungen Sie in Ihrer Lösung Berechtigungen anfordern können. Die Liste der verfügbaren Anwendungen richtet sich u. U. nach der Office 365-Lizenz der Organisation und den Branchenanwendungen, die sie in ihrem Azure AD registriert hat. Sofern Sie über ausreichende Berechtigungen verfügen, gibt es eine Reihe von Möglichkeiten, um anzuzeigen, welche Anwendungen und Berechtigungsbereiche in Ihrem Mandanten zur Verfügung stehen.

Verwenden des Microsoft Azure-Portals oder des Azure AD Admin Centers

Sie können herausfinden, welche Anwendung in Azure AD verfügbar sind, indem Sie zum Azure-Portal oder zum Azure AD Admin Center navigieren.

  1. Wählen Sie im Azure AD Admin Center im linken Navigationsbereich den Link Firmenanwendungen aus.

    Der hervorgehobene Link „Unternehmensanwendungen“ im Azure AD-Portal

  2. Wählen Sie auf dem Blatt Unternehmensanwendungen in der Gruppe Verwalten den Link Alle Anwendungen aus.

    Der hervorgehobene Link „Alle Anwendungen“ im Azure AD-Portal

  3. Um die Anwendung schneller zu finden, zu der Sie eine Verbindung herstellen möchten, können Sie entweder die Übersicht nach Anwendungstyp (Microsoft-Anwendungen oder Unternehmensanwendungen) filtern oder anhand des Namens oder der ID nach der Anwendung suchen.

    Wenn Sie zum Beispiel zusätzliche Berechtigungen für Microsoft Graph anfordern möchten, geben Sie im Suchfeld graph ein.

    Suchen nach „Graph“ in der Liste der verfügbaren Azure AD-Anwendungen im Azure AD-Portal

  4. Nachdem Sie die Anwendung gefunden haben, wählen Sie sie aus, um zusätzliche Informationen zu erhalten. Wählen Sie im Anwendungsblatt in der Gruppe Verwalten die Option Eigenschaften aus, um die Eigenschaften der Anwendung zu öffnen.

    Der hervorgehobene Link „Eigenschaften“ im Anwendungsblatt im Azure AD-Portal

  5. Kopieren Sie aus der Liste der Eigenschaften den Wert der Objekt-ID-Eigenschaft, den Sie benötigen, um zusätzliche Berechtigungsbereiche für Microsoft Graph anzufordern. Alternativ können Sie stattdessen den Namen der Anwendung kopieren und ihn in der Berechtigungsanforderung verwenden.

    Der Wert der Eigenschaft „Objekt-ID“ im Azure AD-Portal in die Zwischenablage kopiert

Hinweis

Während die Objekt-ID für jeden Mandanten eindeutig ist, ist der Name der Anwendung in allen Mandanten identisch. Wenn Sie Ihre Lösung einmalig erstellen und in verschiedenen Mandanten bereitstellen möchten, sollten Sie den Namen der Anwendung beim Anfordern zusätzlicher Berechtigungen in Ihrer Lösung verwenden.

Verwenden von Azure PowerShell

Hinweis

Bevor Sie die folgenden Schritte ausführen können, müssen Sie Azure PowerShell installieren. Alternativ können Sie die in diesem Abschnitt genannten Cmdlets in der Azure Cloud Shell PowerShell ausführen.

  1. Melden Sie sich bei Ihrem Azure-Abonnement an, indem Sie in PowerShell Folgendes ausführen (bei Verwendung von Azure Cloud Shell ist dies nicht nötig):

    Login-AzureRmAccount
    
  2. Geben Sie Folgendes ein, um die in Ihrem Mandanten verfügbaren Anwendungen aufzulisten:

    Get-AzureRmADServicePrincipal | sort DisplayName | ft DisplayName, Id
    

    Wenn Sie dieses Cmdlet ausführen, werden alle in Ihrem Mandanten verfügbaren Anwendungen aufgeführt. Für jede Anwendung werden der Anzeigename und die Objekt-ID angezeigt, die Sie in Ihrer SharePoint-Framework-Lösung verwenden können, um Anwendungsberechtigungen anzufordern.

Verwenden von Azure CLI

Hinweis

Bevor Sie die folgenden Schritte ausführen können, müssen Sie die Azure CLI installieren. Alternativ können Sie die Azure CLI über die Azure Cloud Shell oder als Docker-Container ausführen.

  1. Wenn Sie die CLI auf Ihrem Computer oder in einem Docker-Container ausführen, stellen Sie zunächst wie folgt eine Verbindung mit Ihrem Azure-Abonnement her:

    azure login
    
  2. Wenn die Verbindung besteht, führen Sie den folgenden Befehl zum Auflisten aller verfügbaren Azure AD-Anwendungen aus:

    azure ad sp list --query "sort_by([*].{displayName: displayName, objectId: objectId}, &displayName)" -o table
    

    Mit diesem Befehl werden alle im Mandanten verfügbaren Azure AD-Anwendungen, sortiert nach „displayName“ aufgeführt. Für jede Anwendung werden der Anzeigename und die Objekt-ID angezeigt. Darüber hinaus wird die Ausgabe als Tabelle formatiert.

Abrufen der Liste der von der Anwendung verfügbar gemachten Berechtigungsbereiche

Jede Azure AD-Anwendung macht eine Reihe von Berechtigungsbereichen verfügbar. Diese Berechtigungsbereiche beziehen sich häufig auf bestimmte Ressourcen oder Vorgänge innerhalb der Anwendung. Die verfügbaren Listenberechtigungen für die Anwendung, zu der Sie eine Verbindung herstellen möchten, finden Sie in der zugehörigen Dokumentation. Eine Liste der Berechtigungen, die in Microsoft Graph zur Verfügung stehen, finden Sie unter Referenz zu Microsoft Graph-Berechtigungen.

Anfordern von Berechtigungen für eine Azure AD-Anwendung

Wenn Ihre SharePoint-Framework-Lösung Berechtigungen für bestimmte, mit Azure AD gesicherte Ressourcen benötigt, wie z. B. Microsoft Graph oder Unternehmensanwendungen, können Sie diese Ressourcen zusammen mit den erforderlichen Berechtigungen in der Konfiguration der Lösung angeben.

  1. Öffnen Sie in Ihrem SharePoint-Framework-Projekt die Datei config/package-solution.json.

  2. Fügen Sie zur Eigenschaft solution die Eigenschaft webApiPermissionRequests hinzu, die alle Ressourcen und entsprechenden Berechtigungen, die Ihre Lösung benötigt, auflistet.

    Es folgt ein Beispiel für eine SharePoint-Framework-Lösung, die Lesezugriff auf Benutzerkalender mit Microsoft Graph anfordert:

    {
      "$schema": "https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json",
      "solution": {
        "name": "spfx-graph-client-side-solution",
        "id": "5d16587c-5e87-44d7-b658-1148988f212a",
        "version": "1.0.0.0",
        "includeClientSideAssets": true,
        "skipFeatureDeployment": true,
        "webApiPermissionRequests": [
          {
            "resource": "Microsoft Graph",
            "scope": "Calendars.Read"
          }
        ]
      },
      "paths": {
        "zippedPackage": "solution/spfx-graph.sppkg"
      }
    }
    

    Hinweis

    Für den Wert der resource-Eigenschaft müssen Sie den displayName der Anwendung angeben, für die Sie Berechtigungen anfordern möchten. Wenn Sie die Ressource mithilfe ihrer objectId angeben, erhalten Sie eine Fehlermeldung bei dem Versuch, die Berechtigungsanforderung zu genehmigen.

  3. Wenn Sie mehrere Berechtigungsbereiche für die angegebene Ressource anfordern möchten, geben Sie jeden Bereich in einem gesonderten Eintrag an. Beispiel:

    {
      "$schema": "https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json",
      "solution": {
        "name": "spfx-graph-client-side-solution",
        "id": "5d16587c-5e87-44d7-b658-1148988f212a",
        "version": "1.0.0.0",
        "includeClientSideAssets": true,
        "skipFeatureDeployment": true,
        "webApiPermissionRequests": [
          {
            "resource": "Microsoft Graph",
            "scope": "Calendars.Read"
          },
          {
            "resource": "Microsoft Graph",
            "scope": "User.ReadBasic.All"
          }
        ]
      },
      "paths": {
        "zippedPackage": "solution/spfx-graph.sppkg"
      }
    }
    
  4. Wenn diese Lösung im SharePoint-App-Katalog bereitgestellt wird, wird der Administrator aufgefordert, die angeforderten Berechtigungen zu überprüfen und entweder zu erteilen oder zu verweigern.

    Hinweis

    Unabhängig davon, ob der Administrator die angeforderten Berechtigungen ablehnt oder genehmigt, kann die Lösung auf Websites bereitgestellt und verwendet werden. Beim Erstellen von Lösungen, die zusätzliche Berechtigungen erfordern, sollten Sie niemals davon ausgehen, dass die angeforderten Berechtigungen erteilt wurden.

Verwalten von Berechtigungsanforderungen

Wenn Sie SharePoint-Framework-Lösungen bereitstellen, die Berechtigungen für Azure AD-Anwendungen anfordern, werden Administratoren aufgefordert, die mit der Lösung bereitgestellte Berechtigungsanforderung zu verwalten. Berechtigungsanforderungen können auf verschiedene Weise verwaltet werden.

Verwalten von Berechtigungen im neuen SharePoint Admin Center

Informationen zur Verwendung der API-Zugriffsseite im neuen SharePoint Admin Center finden Sie unter Verwalten des Zugriffs auf Azure AD-gesicherte APIs.

Verwalten von Berechtigungen mit PowerShell

Globale und SharePoint-Administratoren können die SharePoint Online-Verwaltungsshell auch zum Verwalten von Berechtigungen und Berechtigungsanforderungen in SharePoint Online verwenden.

  • Um alle ausstehenden Berechtigungsanforderungen anzuzeigen, verwenden Sie das Cmdlet Get-SPOTenantServicePrincipalPermissionRequests. Für jede Berechtigungsanforderung werden die ID (erforderlich zum Genehmigen oder Ablehnen der Anforderung), die Ressource, für die Berechtigungen angefordert wurden, und die angeforderten Berechtigungen aufgeführt.

    Hinweis

    SharePoint überprüft nicht, ob die angeforderten Berechtigungen bereits erteilt wurden. Sie müssen also vor dem Genehmigen oder Ablehnen einer Berechtigungsanforderung überprüfen, welche Berechtigungen bereits in Ihrem Mandanten erteilt wurden.

  • Um die spezifische Berechtigungsanforderung zu genehmigen, verwenden Sie das Guid-Cmdlet> Approve-SPOTenantServicePrincipalPermissionRequest -RequestId<, und geben Sie die ID der Berechtigungsanforderung an, die Sie genehmigen möchten.

    Hinweis

    Wenn Sie versuchen, die Anforderung für eine Berechtigung zu genehmigen, die bereits erteilt wurde, wird eine Fehlermeldung angezeigt.

  • Verwenden Sie das Guid-Cmdlet> Deny-SPOTenantServicePrincipalPermissionRequest -RequestId < und geben Sie die ID der Berechtigungsanforderung an, die Sie verweigern möchten, um eine Berechtigungsanforderung zu verweigern (wenn die angeforderte Berechtigung bereits erteilt wurde oder die Anforderung gegen Ihre Organisationsrichtlinien gilt).

    Hinweis

    Das Verweigern einer Berechtigungsanforderung einer SharePoint-Framework-Anwendung verhindert nicht, dass die Anwendung im App-Katalog bereitgestellt und auf Websites installiert wird.

  • Zum Anzeigen der in Ihrem Mandanten erteilten Berechtigungen verwenden Sie das Cmdlet Get-SPOTenantServicePrincipalPermissionGrants. Für jede Erteilung zeigt das Cmdlet die folgenden Informationen an:

    • ClientId: Die objectId des Dienstprinzipals, dem die Zustimmung gewährt wurde, beim Zugriff auf die Ressource (dargestellt durch die resourceId) die Identität des Benutzers anzunehmen.
    • ConsentType: Gibt an, ob die Zustimmung vom Administrator für die Organisation gewährt wurde, oder ob die Zustimmung durch eine Einzelperson gewährt wurde. Mögliche Werte sind „AllPrincipals“ oder „Principal“.
    • ObjectId: Der eindeutige Bezeichner für die Berechtigungserteilung.
    • Resource: Die Ressource, auf die Zugriff gewährt wurde.
    • ResourceId: Die objectId des Ressourcendienstprinzipals, dem Zugriff gewährt wurde.
    • Scope: Der Wert des Bereichsanspruchs, den die Ressourcenanwendung im OAuth 2.0-Zugriffstoken erwarten sollte.
  • Verwenden Sie zum Widerrufen einer zuvor erteilten Berechtigung das Cmdlet Revoke-SPOTenantServicePrincipalPermission -ObjectId <String> . Im Parameter ObjectId sollten Sie die ObjectId der Erteilung angeben, die Sie widerrufen möchten. Sie können diese mit dem Cmdlet Get-SPOTenantServicePrincipalPermissionGrants abrufen.

    Hinweis

    Durch Widerrufen einer Berechtigung werden keine Änderungen am App-Katalog oder den bereitgestellten Anwendungen ausgelöst. Die einzige Folge besteht darin, dass im Mandanten verwendete Anwendungen keine Verbindung zu den Ressourcen herstellen können, für die die Berechtigung widerrufen wurde.

Verwalten von Berechtigungen mithilfe der CLI für Microsoft 365

Globale und SharePoint-Administratoren können die CLI für Microsoft 365 zum Verwalten von Berechtigungen und Berechtigungsanforderungen in SharePoint Online verwenden.

Hinweis

Die CLI für Microsoft 365 ist eine Open-Source-Lösung mit aktiver Community, die Support dafür bietet. Es gibt keine SLA für den Support des Open-Source-Tools durch Microsoft.

  • Um alle ausstehenden Berechtigungsanforderungen anzuzeigen, verwenden Sie den Befehl spo serviceprincipal permissionrequest list. Für jede Berechtigungsanforderung werden die ID der Befehlsliste (erforderlich zum Genehmigen oder Ablehnen der Anforderung), die Ressource, für die Berechtigungen angefordert wurden, und die angeforderten Berechtigungen aufgeführt.

    Hinweis

    SharePoint überprüft nicht, ob die angeforderten Berechtigungen bereits erteilt wurden. Sie müssen also vor dem Genehmigen oder Ablehnen einer Berechtigungsanforderung überprüfen, welche Berechtigungen bereits in Ihrem Mandanten erteilt wurden.

  • Um eine bestimmte Berechtigungsanforderung zu genehmigen, verwenden Sie den Befehl spo serviceprincipal permissionrequest approve, und geben Sie dabei die ID der Berechtigungsanforderung an, die Sie genehmigen möchten.

    Hinweis

    Wenn Sie versuchen, die Anforderung für eine Berechtigung zu genehmigen, die bereits erteilt wurde, wird eine Fehlermeldung angezeigt.

  • Um eine Berechtigungsanforderung abzulehnen (wenn die angeforderte Berechtigung bereits gewährt wurde oder die Anforderung gegen die Richtlinien Ihrer Organisation verstößt), verwenden Sie den Befehl spo serviceprincipal permissionrequest deny, und geben Sie dabei die ID der Berechtigungsanforderung an, die Sie ablehnen möchten.

    Hinweis

    Das Verweigern einer Berechtigungsanforderung einer SharePoint-Framework-Anwendung verhindert nicht, dass die Anwendung im App-Katalog bereitgestellt und auf Websites installiert wird.

  • Verwenden Sie zum Anzeigen der in Ihrem Mandanten gewährten Berechtigungen den Befehl spo serviceprincipal grant list. Für jede Erteilung zeigt der Befehl die folgenden Informationen an:

    • ObjectId: Der eindeutige Bezeichner für die Berechtigungserteilung.
    • Resource: Die Ressource, auf die Zugriff gewährt wurde.
    • ResourceId: Die objectId des Ressourcendienstprinzipals, dem Zugriff gewährt wurde.
    • Scope: Der Wert des Bereichsanspruchs, den die Ressourcenanwendung im OAuth 2.0-Zugriffstoken erwarten sollte.
  • Um eine zuvor erteilte Berechtigung zu widerrufen, verwenden Sie den Befehl spo serviceprincipal grant revoke. Geben Sie im Parameter grantId die ObjectId der Erteilung angeben, die Sie widerrufen möchten. Sie können diese mit dem Befehl spo serviceprincipal grant list abrufen.

    Hinweis

    Durch Widerrufen einer Berechtigung werden keine Änderungen am App-Katalog oder den bereitgestellten Anwendungen ausgelöst. Die einzige Folge besteht darin, dass im Mandanten verwendete Anwendungen keine Verbindung zu den Ressourcen herstellen können, für die die Berechtigung widerrufen wurde.

Herstellen einer Verbindung mit Azure AD-Anwendungen mithilfe von AadHttpClient

Ab Version 1.4.1 vereinfacht das SharePoint-Framework das Herstellen einer Verbindung mit APIs, die mit Azure AD gesichert sind. Mithilfe des neuen AadHttpClient können Sie ganz einfach eine Verbindung mit APIs herstellen, die mit Azure AD gesichert sind, ohne Authentifizierung und Autorisierung selbst implementieren zu müssen.

Intern implementiert der AadHttpClient den Azure AD OAuth-Fluss unter Verwendung Microsoft Identity Platform Authentifizierungsbibliotheken, indem der SharePoint Online-Clienterweiterungsdienstprinzipal verwendet wird, um ein gültiges Zugriffstoken abzurufen. Der Dienstprinzipal SharePoint Online-Clienterweiterbarkeit wird von Microsoft bereitgestellt und ist im Azure AD aller Office 365-Mandanten verfügbar.

  1. Um AadHttpClient in Ihrer SharePoint-Framework-Lösung zu verwenden, fügen Sie die folgende import-Klausel in der Hauptdatei des Webparts hinzu:

    import { AadHttpClient, HttpClientResponse } from '@microsoft/sp-http';
    
  2. Rufen Sie eine neue Instanz von AadHttpClient ab, und übergeben Sie die Ressource, zu der Sie eine Verbindung herstellen möchten, als Parameter:

    export default class HelloWorldWebPart extends BaseClientSideWebPart<IHelloWorldWebPartProps> {
      public render(): void {
        // ...
    
        this.context.aadHttpClientFactory
          .getClient('https://contoso.azurewebsites.net')
          .then((client: AadHttpClient): void => {
            // connect to the API
          });
      }
    
      // ...
    }
    

    Hinweis

    Jede Instanz von AadHttpClient ist mit der spezifischen Ressource verknüpft, daher müssen Sie für jede Ressource, mit der Sie eine Verbindung herstellen möchten, eine neue Instanz des Clients erstellen.

  3. Nachdem Sie den AadHttpClient für Ihre Ressource instanziiert haben, können Sie eine Web-Anforderung für die Kommunikation mit Ihrer API ausgeben. In diesem Beispiel gibt die API eine Liste der Aufträge zurück, die durch die an einer anderen Stelle im Projekt definierte benutzerdefinierte Schnittstelle Reihenfolge dargestellt wird:

    export default class HelloWorldWebPart extends BaseClientSideWebPart<IHelloWorldWebPartProps> {
      public render(): void {
        // ...
    
        this.context.aadHttpClientFactory
          .getClient('https://contoso.azurewebsites.net')
          .then((client: AadHttpClient): void => {
            client
              .get('https://contoso.azurewebsites.net/api/orders', AadHttpClient.configurations.v1)
              .then((response: HttpClientResponse): Promise<Order[]> => {
                return response.json();
              })
              .then((orders: Order[]): void => {
                // process data
              });
          });
      }
    
      // ...
    }
    

Überlegungen

Im Folgenden werden einige Aspekte aufgeführt, die Sie beim Arbeiten mit Web-API-Berechtigungen berücksichtigen sollten.

Anfordern von Berechtigungen über SharePoint-Framework-Lösungen

Zu diesem Zeitpunkt können zusätzliche Berechtigungen nur über eine SharePoint-Framework-Lösung angefordert werden. Die Anforderung wird gestartet, wenn das Lösungspaket (.sppkg) mit Berechtigungsanforderungen im App-Katalog bereitgestellt wird. Nachdem die Anforderung gestartet wurde, kann sie durch einen globalen oder SharePoint-Administrator genehmigt oder abgelehnt werden.

Erteilte Berechtigungen gelten für alle Lösungen

Obwohl Berechtigungen für Azure AD-Ressourcen von einer SharePoint-Framework-Lösung angefordert werden, gelten sie, wenn sie einmal gewährt wurden, für den gesamten Mandanten und können von jeder beliebigen Lösung in diesem Mandanten genutzt werden.

Durch Entfernen der Lösung werden Berechtigungen nicht widerrufen

Durch Entfernen der Lösung, die die jeweilige Berechtigung ursprünglich angefordert hat, wird die erteilte Berechtigung nicht widerrufen. Administratoren müssen Berechtigungen, die über SharePoint-Framework-Anwendungsanforderungen erteilt wurden, manuell widerrufen.

Durch Widerrufen zuvor erteilter Berechtigungen werden ausgegebene Zugriffstoken nicht ungültig

Durch Widerrufen zuvor erteilter Berechtigungen werden an Benutzer ausgegebene Zugriffstoken nicht ungültig. Stattdessen bleiben diese Zugriffstoken gültig, bis sie ablaufen.

Berechtigungsanforderungen haben keine Auswirkungen auf die Lösungsbereitstellung

Unabhängig davon, ob der Administrator von der Lösung angeforderte Berechtigungen genehmigt oder ablehnt, kann die Lösung bereitgestellt und auf Websites verwendet werden. Beim Erstellen von Lösungen, die zusätzliche Berechtigungen erfordern, sollten Sie niemals davon ausgehen, dass die angeforderten Berechtigungen erteilt wurden.

Steuern des Dienstprinzipals des SharePoint Online-Clients

Alle über Web-API-Anforderungen erteilten Berechtigungen werden mit der Azure AD-Anwendung SharePoint Online-Clienterweiterbarkeit gespeichert. Wenn Administratoren nicht möchten, dass Entwickler das Web-API-Anforderungsmodell sowie MSGraphClient und AadHttpClient in ihren Lösungen verwenden, können sie den Dienstprinzipal SharePoint Online-Clienterweiterbarkeit über PowerShell mithilfe des Cmdlets Disable-SPOTenantServicePrincipal deaktivieren.

Der Dienstprinzipal kann mit dem Cmdlet Enable-SPOTenantServicePrincipal wieder aktiviert werden. Alternativ besteht auch die Möglichkeit, den Dienstprinzipal für die SharePoint Online-Clienterweiterbarkeit über die CLI für Microsoft 365 mithilfe des Befehls spo serviceprincipal set zu aktivieren oder zu deaktivieren.