Anwenden bewährter Methoden auf Microsoft Graph

Abgeschlossen

In dieser Einheit werden bewährte Methoden beschrieben, die Sie anwenden können, um Microsoft Graph optimal zu nutzen und Ihre Anwendung für Endbenutzer zuverlässiger zu gestalten.

Authentifizierung

Um auf die Daten in Microsoft Graph zugreifen zu können, muss Ihre Anwendung ein OAuth 2.0-Zugriffstoken abrufen und mit einer der folgenden Methoden an Microsoft Graph übermitteln:

  • Dem HTTP-Authorization-Anforderungsheader als Bearer-Token
  • Dem Graphclientkonstruktor bei Verwendung einer Microsoft Graph-Clientbibliothek

Verwenden Sie die Microsoft-Authentifizierungsbibliotheks-API MSAL, um das Zugriffstoken für Microsoft Graph zu erhalten.

Wenden Sie die folgenden bewährten Methoden für Zustimmung und Autorisierung in Ihrer App an:

  • Verwenden Sie die geringsten Rechte. Fordern Sie nur Berechtigungen an, die erforderlich sind, und nur, wenn Sie sie benötigen. Überprüfen Sie für die APIs, die Ihre Anwendung aufruft, in den Themen zu Methoden den Abschnitt zu Berechtigungen. Informieren Sie sich beispielsweise über das Erstellen eines Benutzers, und wählen Sie die geringsten Rechte aus.

  • Verwenden Sie auf Szenarien basierend den richtigen Berechtigungstyp. Wenn Sie eine interaktive Anwendung erstellen, in der ein angemeldeter Benutzer vorkommt, sollte Ihre Anwendung delegierte Berechtigungen verwenden. Wenn Ihre Anwendung jedoch ohne angemeldeten Benutzer ausgeführt wird, z. B. ein Hintergrunddienst oder Daemon, sollte Ihre Anwendung Anwendungsberechtigungen verwenden.

    Achtung

    Wenn Sie Anwendungsberechtigungen für interaktive Szenarien verwenden, können Compliance- und Sicherheitsrisiken bei Ihrer Anwendung auftraten. Achten Sie darauf, die Berechtigungen des Benutzers zu überprüfen, um sicherzustellen, dass er keinen unerwünschten Zugriff auf Informationen hat oder die von einem Administrator konfigurierten Richtlinien umgeht.

  • Berücksichtigen Sie die Endbenutzer- und Administratorerfahrung. Dies wirkt sich direkt auf die Endbenutzer- und Administratorerfahrungen aus. Zum Beispiel:

  • Erwägen Sie mehrinstanzenfähige Anwendungen. Gehen Sie davon aus, dass Kunden über verschiedene Anwendungs- und Einwilligungssteuerungen in unterschiedlichen Zuständen verfügen. Beispiel:

    • Mandantenadministratoren können für Endbenutzer die Möglichkeit deaktivieren, in Anwendungen einzuwilligen. In diesem Fall muss ein Administrator im Namen seiner Benutzer einwilligen.

    • Mandantenadministratoren können benutzerdefinierte Autorisierungsrichtlinien festlegen, z. B. das Lesen von Profilen anderer Benutzer durch Benutzer blockieren oder die Self-Service-Gruppenerstellung auf eine begrenzte Anzahl von Benutzern beschränken. In diesem Fall sollten Sie in Ihrer Anwendung die Behandlung der Fehlerantwort 403 berücksichtigen, wenn sie im Auftrag eines Benutzers eingesetzt wird.

Effektives Behandeln von Antworten

Abhängig von den Anforderungen, die Sie an Microsoft Graph stellen, sollten Ihre Anwendungen darauf vorbereitet sein, verschiedene Arten von Antworten zu verarbeiten. Im Folgenden finden Sie einige der wichtigsten Vorgehensweisen, die Sie befolgen sollten, um sicherzustellen, dass sich Ihre Anwendung zuverlässig und für Ihre Endbenutzer vorhersagbar verhält. Zum Beispiel:

  • Paginierung: Beim Abfragen von Ressourcensammlungen sollten Sie davon ausgehen, dass Microsoft Graph das Resultset aufgrund von serverseitigen Seitengrößenbeschränkungen auf mehreren Seiten zurückgibt. Ihre Anwendung sollte immer die Möglichkeit behandeln, dass die Antworten auf mehrere Seiten verteilt sind, und die @odata.nextLink-Eigenschaft verwenden, um die nächste Ergebnisseite abzurufen, bis alle Seiten des Resultsets gelesen wurden. Die letzte Seite enthält keine @odata.nextLink Eigenschaft. Weitere Informationen finden Sie unter Paginierung.

  • Entwickelbare Enumerationen: Durch das Hinzufügen von Membern zu vorhandenen Enumerationen können Anwendungen, die diese Enumerationen bereits verwenden, unterbrochen werden. Entwickelbare Enumerationen sind ein Mechanismus, den die Microsoft Graph-API verwendet, um vorhandenen Enumerationen neue Elemente hinzuzufügen, ohne dass eine Breaking Change für Anwendungen verursacht wird. Standardmäßig gibt ein GET-Vorgang nur bekannte Member für Eigenschaften von Typen entwickelbarer Enumerationen zurück, und Ihre Anwendung muss nur die bekannten Member behandeln. Wenn Sie Ihre Anwendung so entwerfen, dass sie auch unbekannte Elemente behandelt, können Sie diese Elemente mithilfe des HTTP-Anforderungsheaders Prefer empfangen.

Lokales Speichern von Daten

Ihre Anwendung sollte im Idealfall Microsoft Graph aufrufen, um Daten nach Bedarf in Echtzeit abzurufen. Sie sollten Daten nur lokal zwischenspeichern oder speichern, wenn dies für ein bestimmtes Szenario erforderlich ist. Wenn dieser Anwendungsfall durch Ihre Nutzungsbedingungen und Datenschutzrichtlinien abgedeckt ist und nicht gegen die Nutzungsbedingungen für Microsoft-APIs verstößt, sollte Ihre Anwendung auch die entsprechenden Richtlinien zum Aufbewahren und Löschen implementieren.