APIs mit Azure AD verwenden

Abgeschlossen

Microsoft Entra ID-Authentifizierung ist ein empfohlenes Authentifizierungsschema. Im Gegensatz zu anderen Ansätzen weist sie die folgenden eindeutigen Attribute auf:

  • Sie ermöglicht die Authentifizierung im Namen des Benutzers, der die Verbindung verwendet, was bedeutet, dass Benutzer keinen Zugriff auf die Ressourcen erhalten, auf die sie noch keinen Zugriff haben. Der Zieldienst behält die Verantwortung für die Durchsetzung dessen, was für den authentifizierten Benutzer zulässig ist.

  • Der Zieldienst kennt die Identität des Benutzers, der die Verbindung herstellt, und ermöglicht so mehr Überprüfungen mithilfe von Azure AD-Informationen, ohne einen Benutzer explizit nach weiteren Details zu fragen.

  • Es unterstützt Verwaltete Identitäten, wo durch den kontrollierten Zugriff auf die zugrunde liegende Ressource Entwickler und Benutzer keine Anmeldeinformationen mehr verwalten müssen.

Die Internen der gesicherten benutzerdefinierten Azure AD-Konnektoren ähneln einem generischen gesicherten Konnektor.

Der Hauptunterschied besteht darin, dass der benutzerdefinierte Konnektor und der Ziel-App-Dienst als die Apps in Azure AD registriert sind. Dieser Faktor ermöglicht es den Entwicklern, entsprechende Berechtigungen anzuwenden und dann die Identität des anrufenden Benutzers von einer App in Power Apps, Power Automate-Flow oder Logic Apps-Workflow bis zum zugrunde liegenden Service zu übergeben.

Der Dienst kann ein vorhandener Dienst sein, der in Azure AD registriert ist, wie Microsoft Graph API, oder es kann sich um einen benutzerdefinierten Dienst handeln, der mithilfe von z. B. Azure-Funktionen oder Microsoft Azure App Service implementiert wird. Das wichtige Merkmal des Dienstes ist, dass er den Zugriff auf die gesicherten Ressourcen mithilfe der Azure AD-Identität des Anrufers schützt und autorisiert.

Die Azure AD-Authentifizierung aktivieren

Wenn eine Organisation bereits über eine Dienstimplementierung verfügt, die entweder Azure-Funktionen oder Azure App Service verwendet, ist das Hinzufügen der Azure AD-Authentifizierung eine einfache Konfigurationsübung.

  1. Wählen Sie das Blatt Authentifizierung/Autorisierung aus.

  2. Aktivieren Sie die App-Service-Authentifizierung.

  3. Legen Sie die Standardaktion für nicht autorisierten Zugriff fest.

  4. Konfigurieren und registrieren Sie die App in Microsoft Entra ID.

Durch Aktivieren der Azure AD-Authentifizierung werden die Informationen zur Anruferidentität dem zugrunde liegenden Dienst zur Verfügung gestellt, der diese Informationen jetzt verwenden kann.

Den Konnektor konfigurieren

Anrufer können nur über einen benutzerdefinierten Konnektor auf den zugrunde liegenden Dienst zugreifen. Damit der Konnektor die Anruferidentität passieren kann, muss er als separate App in Azure AD registriert sein. Darüber hinaus müssen delegierte Berechtigungen an den API-Dienst gewährt werden, damit dieser Aktionen im Auftrag des Anrufers ausführen kann.

Da der benutzerdefinierte Konnektor im Namen des Benutzers auf die API zugreift, ist eine Zustimmung erforderlich. In der Regel werden Benutzer zur Zustimmung aufgefordert, wenn eine Verbindung vom benutzerdefinierten Konnektor erstellt wird. Für einige Berechtigungen ist möglicherweise eine Zustimmung des Administrators erforderlich, die von einem Administrator für alle Benutzer in der Organisation erteilt werden kann.

Nachdem der benutzerdefinierte Konnektor in Azure AD registriert wurde, können Sie ihn mithilfe des Assistenten für benutzerdefinierte Konnektoren konfigurieren.

Wählen Sie OAuth 2.0 als Authentifizierungstyp aus, und setzen Sie dann den Identitätsanbieter auf Microsoft Entra ID. Folgende Parameter sind erforderlich:

  • Client-ID – ID der Azure AD-App, die den Konnektor identifiziert.

  • Geheimschlüssel – Geheimschlüssel, der während der Azure AD-App-Registrierung erstellt wird.

  • Ressourcen-URL – Ressourcenbezeichner für Ihren Dienst.

Nachdem Sie die Konfiguration gespeichert haben, wird die Weiterleitungs-URL als gültiger Rückruf zur App-Registrierung hinzugefügt.

Die Konfiguration wird in der Datei apiProperties.json gespeichert, und Entwickler können auch paconn-Befehlszeilen-Tools verwenden, um die Konfiguration nach Bedarf aktualisieren. Beispielsweise kann der geheime Schlüssel nicht vom Hersteller definiert, sondern im Rahmen der Unternehmensbereitstellung automatisch verwaltet und gedreht werden.

Schritte zum Konfigurieren von Konnektoren mit Microsoft Entra ID

Befolgen Sie diese Schritte, um Konnektoren mit Azure AD einzurichten und zu konfigurieren:

  1. Zwei Azure AD-Apps registrieren:

    • Eine, um API-Dienste zu identifizieren und zu schützen

    • Eine, um Ihren Konnektor zu identifizieren und zu schützen

  2. Stellvertretungsberechtigungen Ermöglichen Sie der registrierten App Ihres Konnektors, Anrufe „im Namen“ an die Identität Ihres Dienstes zu richten.

  3. Definieren Sie Ihren Konnektor, indem Sie die Client-ID, den Schlüssel und die Ressourcen-URL-Informationen angeben.

  4. Fügen Sie der Registrierung der Konnektor-App Weiterleitungs-URLs hinzu.

  5. Wenn Ihr Dienst mit dem CORS-Schema (Cross-Origin Resource Sharing) eingerichtet ist, lassen Sie die Liste der Azure API-Verwaltungsdomänen (normalerweise azure-apim.net) für CORS in Ihrem Dienst zu.

Einrichten der Azure AD-Authentifizierung umfasst weitere Schritte zum Registrieren von Apps und Identitäten in Azure AD. Es bietet jedoch weitere Vorteile, die es zu einem bevorzugten Schema für die Sicherung benutzerdefinierter Konnektoren machen.