Freigeben über


Beheben von Microsoft Graph-Autorisierungsfehlern

Autorisierungsfehler können als Ergebnis verschiedener Probleme auftreten, von denen die meisten einen 403-Fehler (mit einigen Ausnahmen) generieren. Die folgenden Beispiele können zu Autorisierungsfehlern führen:

Schritte zur Lösung häufiger Fehler

Um häufige Autorisierungsfehler zu beheben, probieren Sie die für den Fehler beschriebenen Schritte aus, die dem Fehler, den Sie erhalten, am ehesten entsprechen. Möglicherweise liegt mehr als ein Fehler vor. Sie können auch die bereits verfügbaren Antworten auf Microsoft Q&A auf 401-Fehler und 403-Fehler überprüfen. Wenn Sie keine Lösung für Ihr Problem finden können, stellen Sie eine neue Frage auf Microsoft Q&A , und markieren Sie sie mit microsoft-graph*.

Fehler „401 Unauthorized“: Ist Ihr Token gültig?

Stellen Sie sicher, dass Ihre Anwendung im Rahmen der Anforderung ein gültiges Zugriffstoken für Microsoft Graph vorweist. Dieser Fehler bedeutet oft, dass das Zugriffstoken im HTTP-Authentifizierungsanforderungs-Header fehlen kann oder dass das Token ungültig oder abgelaufen ist. Wir empfehlen dringend, für den Erwerb von Zugriffstoken die Microsoft Authentication Library (MSAL) zu verwenden. Außerdem kann dieser Fehler auftreten, wenn Sie versuchen, mit einem delegierten Zugriffstoken, das für ein persönliches Microsoft-Konto gewährt wurde, auf eine API zuzugreifen, die nur Geschäfts-, Schul- oder Unikonten (Organisationskonten) unterstützt.

Fehler „403 Forbidden“: Haben Sie den richtigen Berechtigungssatz ausgewählt?

Überprüfen Sie, dass Sie basierend auf den Microsoft Graph-APIs, die von Ihrer Anwendung aufgerufen werden, den richtigen Satz von Berechtigungen angefordert haben. Die Berechtigungen zu den geringsten Rechten, die wir empfehlen, sind in allen Referenzthemen zu Microsoft Graph-API-Methoden enthalten. Darüber hinaus müssen diese Berechtigungen durch einen Benutzer oder einen Administrator für die Anwendung gewährt werden. Das Erteilen von Berechtigungen erfolgt normalerweise über eine Zustimmungsseite oder durch Erteilen von Berechtigungen über das Blatt Microsoft Entra Admin Center Anwendungsregistrierung.

Fehler „403 Forbidden“: Hat Ihre Anwendung ein Token erworben, das den ausgewählten Berechtigungen entspricht?

Stellen Sie sicher, dass die Art der angeforderten oder gewährten Berechtigungen mit der Art des Zugriffstokens übereinstimmt, das von Ihrer App erworben wird. Möglicherweise fordern Sie Anwendungsberechtigungen an und gewähren diese, verwenden aber delegierte interaktive Codefluss-Token anstelle von Clientanmeldeinformationsfluss-Token, oder Sie fordern delegierte Berechtigungen an und gewähren diese, verwenden aber Clientanmeldeinformationsfluss-Token anstelle delegierter Codefluss-Token.

Fehler „403 Forbidden“: Passwort zurücksetzen

Derzeit gibt es keine Anwendungsberechtigungs-Daemon-Dienst-zu-Dienst-Berechtigungen, die das Zurücksetzen von Benutzerkennwörtern zulassen. Diese APIs werden nur unter Verwendung der interaktiven delegierten Codeflüsse mit einem angemeldeten Administrator unterstützt.

„403 Forbidden“: Hat der Benutzer Zugriff und ist er lizenziert?

Bei delegierten Codeflüssen wertet Microsoft Graph aus, ob die Anforderung auf der Grundlage der der Anwendung gewährten Berechtigungen und der Berechtigungen, die der angemeldete Benutzer hat, zulässig ist. Dieser Fehler deutet im Allgemeinen darauf hin, dass der Benutzer nicht genügend Rechte besitzt, die Anforderung auszuführen, oder dass der Benutzer nicht für die Daten lizenziert ist, auf die zugegriffen wird. Nur Benutzer mit den erforderlichen Berechtigungen oder Lizenzen können die Anfrage erfolgreich stellen.

„403 Forbidden“: Haben Sie die richtige Ressourcen-API ausgewählt?

API-Dienste wie Microsoft Graph überprüfen, ob der aud-Anspruch (Zielgruppe) im empfangenen Zugriffstoken mit dem Wert übereinstimmt, den es für sich selbst erwartet, und wenn nicht, führt dies zu einem 403 Forbidden-Fehler. Ein häufiger Fehler, der diesen Fehler verursacht, ist der Versuch, ein für Azure AD-Graph-APIs, Outlook-APIs oder Microsoft Office SharePoint Online-/OneDrive-APIs erworbenes Token zu verwenden, um Microsoft Graph aufzurufen (oder umgekehrt). Stellen Sie sicher, dass die Ressource (oder der Geltungsbereich), für die Ihre Anwendung ein Token erwirbt, mit der API übereinstimmt, die von der Anwendung aufgerufen wird.

„400 Bad Request“ oder „403 Forbidden“: Entspricht der Benutzer die Richtlinien für den bedingten Zugriff (CA) des Unternehmens?

Basierend auf den CA-Richtlinien einer Organisation kann ein Benutzer, der über Ihre Anwendung auf Microsoft Graph-Ressourcen zugreift, zur Angabe zusätzlicher Informationen aufgefordert werden, die nicht in dem Zugriffstoken enthalten sind, das Ihre Anwendung ursprünglich erworben hat. In diesem Fall empfängt Ihre Anwendung den Fehler „400“ mit interaction_required beim Erwerb des Zugriffstokens oder den Fehler „403“ mit insufficient_claims beim Aufruf von Microsoft Graph. In beiden Fällen enthält die Fehlerantwort zusätzliche Informationen, die dem autorisierenden Endpunkt vorgewiesen werden können, um den Benutzer um zusätzliche Informationen zu bitten (wie Multi-Faktor-Authentifizierung oder Geräteregistrierung).

403 Verboten: Zugriff auf OData ist deaktiviert

Viele Microsoft Graph-APIs greifen auf Exchange Online zu. Diese APIs unterliegen den EWS-Anwendungsrichtlinien von Exchange Online. Anwendungen erhalten 403 Forbidden möglicherweise Fehler mit dem folgenden Antworttext.

{
    "error": {
        "code": "ErrorAccessDenied",
        "message": "Access to OData is disabled."
    }
}

Dies kann durch die EWS-Zugriffsrichtlinien Ihres organization verursacht werden. Ein Exchange-Administrator kann dies mithilfe des Exchange Online PowerShell-Moduls überprüfen.

So bestimmen Sie, ob eine organization richtlinie angewendet wurde:

Get-OrganizationConfig | fl EwsApplicationAccessPolicy,EWS*List

So bestimmen Sie, ob eine benutzerspezifische Richtlinie angewendet wurde:

Get-CASMailbox <user-principal-name> | fl EwsApplicationAccessPolicy,EWS*List

Wenn EwsApplicationAccessPolicy festgelegt ist, wird eine Richtlinie angewendet.

  • Wenn EwsApplicationAccessPolicy auf EnforceAllowListfestgelegt ist, muss der Wert Ihrer Anwendung User-Agent dem EwsAllowList-Wert hinzugefügt werden.
  • Wenn EwsApplicationAccessPolicy auf EnforceBlockListfestgelegt ist, muss der User-Agent Wert Ihrer Anwendung aus dem EwsBlockList-Wert entfernt werden.

Hinweis

Änderungen an EWS-Anwendungsrichtlinien können einige Zeit in Kraft treten. Ihre Anwendung erhält 403 Forbidden möglicherweise noch einige Zeit Fehler, nachdem Sie eine Änderung vorgenommen haben.