Freigeben über


Microsoft Entra ID, Azure API Management und SAP für SSO über den SAP OData-Konnektor einrichten

Sie können den Power Platform SAP OData-Konnektor so einrichten, dass Microsoft Entra ID-Anmeldeinformationen für Single Sign-On-basiertes (SOP) in SAP verwendet werden. Ihre Benutzer können auf SAP-Daten in Power Platform Lösungen zugreifen, ohne sich mehrmals bei mehreren Diensten anmelden zu müssen, und dabei ihre Berechtigungen und zugewiesenen Rollen in SAP berücksichtigen.

Dieser Artikel führt Sie durch den Prozess, einschließlich der Einrichtung einer Vertrauensstellung zwischen SAP und Microsoft Entra ID und der Konfiguration von Azure API Management zum Konvertieren des Microsoft Entra ID-OAuth-Tokens in ein SAML-Token, das für OData-Aufrufe an SAP verwendet wird.

Lösungsdiagramm, das den Datenverkehrs-Flow von Power Platform und Copilot zu SAP über Azure API Management zeigt.

In diesem Blogbeitrag erhalten Sie zusätzliche Einblicke und Kontext zum Einrichtungsprozess.

Anforderungen

  • SAP-Instanz
  • Azure API-Managementressource

SAML-Metadaten des lokalen Anbieters von SAP herunterladen

Um eine Vertrauensstellung zwischen SAP und Microsoft Entra ID mit SAML 2.0 einzurichten, laden Sie zunächst die Metadaten-XML-Datei von SAP herunter.

Führen Sie diese Schritte als SAP-Basis-Administrator im SAP GUI aus.

  1. Führen Sie im SAP GUI die Transaktion SAML2 aus, um den entsprechenden SAP-mandantenabhängigen Assistenten zu öffnen, und wählen Sie die Registerkarte Lokaler Anbieter .

  2. Klicken Sie auf Metadaten, und wählen Sie Metadaten herunterladen aus. Sie werden die SAP-SAML-Metadaten in Microsoft Entra ID in einem späteren Schritt hochladen.

  3. Notieren Sie sich den URI-kompatiblen Anbieternamen.

Anmerkung

Microsoft Entra ID erfordert, dass dieser Wert URI-konform ist. Wenn der Anbietername bereits festgelegt und nicht URI-konform ist, sollten Sie ihn nicht ändern, ohne vorher Ihr SAP-Basis-Team zu konsultieren. Das Ändern des Anbieternamens kann bestehende SAML-Konfigurationen beeinträchtigen. Die Schritte zum Ändern würden den Rahmen dieses Artikels sprengen. Wenden Sie sich an Ihr SAML-Basis-Team, um Unterstützung zu erhalten.

Weitere Informationen finden Sie in der offiziellen SAP-Dokumentation .

SAP-Metadaten in Microsoft Entra ID-Unternehmensanwendung importieren

Führen Sie diese Schritte als Microsoft Entra ID-Administrator im Azure-Portal aus.

  1. Wählen Sie Microsoft Entra ID>Unternehmensanwendungen.

  2. Wählen Sie Neue Anwendung aus.

  3. Suchen Sie nach SAP Netweaver.

  4. Geben Sie der Unternehmensanwendung einen Namen,und wählen Sie dann Erstellen aus.

  5. Wechseln Sie zu Single Sign-On, und wählen Sie SAML aus.

  6. Wählen Sie Metadatendatei hochladen und dann die Metadatendatei aus, die Sie aus SAP heruntergeladen haben.

  7. Wählen Sie Hinzufügen aus.

  8. Ändern Sie die Antwort-URL (Assertionsverbraucherdienst-URL) in den SAP-OAuth-Token-Endpunkt. Die URL hat das Format https://<SAP server>:<port>/sap/bc/sec/oauth2/token.

  9. Ändern Sie die Anmelde-URL in einen URI-kompatiblen Wert. Dieser Parameter wird nicht verwendet und kann auf einen beliebigen, URI-kompatiblen Wert festgelegt werden.

  10. Wählen Sie Speichern.

  11. Unter Attribute und Ansprüche wählen Sie Bearbeiten.

  12. Vergewissern Sie sich, dass Anspruchsname – eindeutige Benutzer-ID (Namens-ID) auf user.userprincipalname [nameid=format:emailAddress] festgelegt ist.

  13. Wählen Sie unter SAML-Zertifikate Herunterladen für Zertifikat (Base64) und Verbundmetadaten-XML aus.

Microsoft Entra ID als vertrauenswürdigen Identitätsanbieter für OAuth 2.0 in SAP konfigurieren

  1. Gehen Sie wie im Abschnitt Microsoft Entra ID-Dokumentation Abschnitt für SAP NetWeaver und OAuth2 beschrieben vor.

  2. Kehren Sie zu diesem Artikel zurück, sobald der OAuth2-Client in SAP erstellt wurde.

Weitere Informationen finden Sie in der offiziellen Dokumentation von SAP.

Erstellen Sie eine Microsoft Entra ID-Anwendung, welche die Azure API-Management-Ressource darstellt

Richten Sie eine Microsoft Entra ID-Anwendung ein, die Zugriff auf den Microsoft Power Platform SAP-OData-Konnektor gewährt. Diese Anwendung ermöglicht es einer Azure API Management-Ressource, OAuth-Token in SAML-Token zu konvertieren.

Führen Sie diese Schritte als Microsoft Entra ID-Administrator im Azure-Portal aus.

  1. Wählen Sie Microsoft Entra ID>App-Registrierung>Neue Registrierung aus.

  2. Geben Sie einen Namen ein, und wählen Sie Registrieren aus.

  3. Wählen Sie Zertifikate und Geheimnisse>Neuer geheimer Clientschlüssel aus.

  4. Geben Sie eine Beschreibung ein, und wählen Sie dann Hinzufügen aus.

  5. Kopieren Sie dieses Geheimnis und speichern Sie ihn an einem sicheren Ort.

  6. Wählen Sie API-Berechtigungen>Berechtigung hinzufügen aus.

  7. Wählen Sie Microsoft Graph>Delegierte Berechtigungen aus.

  8. Suchen Sie nach openid und wählen Sie es aus.

  9. Wählen Sie Berechtigungen hinzufügen aus.

  10. Wählen Sie Authentifizierung>Plattform hinzufügen>Web aus.

  11. Legen Sie Umleitungs-URIs auf https://localhost:44326/signin-oidc fest.

  12. Wählen Sie Zugriffstoken und ID-Token und dann Konfigurieren aus.

  13. Wählen Sie API bereitstellen aus.

  14. Wählen Sie neben Anwendung-ID-URI Hinzufügen aus.

  15. Übernehmen Sie den Standardwert und wählen Sie Speichern aus.

  16. Wählen Sie Ein Bereich hinzufügen.

  17. Stellen Sie Bereichsnamen auf user_impersonation ein.

  18. Stellen Sie Wer kann zustimmen? auf Administratoren und Benutzer ein.

  19. Wählen Sie Ein Bereich hinzufügen.

  20. Kopieren Sie die Anwendungs- (Client-)ID.

Autorisieren Sie die Azure API Management-Ressource für den Zugriff auf SAP Netweaver mit der Microsoft Entra ID-Unternehmensanwendung

  1. Wenn eine Microsoft Entra ID-Unternehmensanwendung erstellt wird, wird eine entsprechende App-Registrierung erstellt. Suchen Sie die App-Registrierung , die der Microsoft Entra ID-Unternehmensanwendung entspricht, die Sie für SAP NetWeaver erstellt haben.

  2. Wählen Sie Eine API bereitstellen>Eine Client-Anwendung hinzufügen aus.

  3. Fügen Sie die Anwendungs-ID (Client-ID) der Microsoft Entra ID-App-Registrierung Ihrer Azure API Management-Instanz in die Client-ID ein.

  4. Wählen Sie den Bereich user_impersonation und dann Anwendung hinzufügen aus.

Autorisieren des SAP OData-Konnektors für den Zugriff auf APIs, die Microsoft Power Platform von Azure API Management verfügbar gemacht werden

  1. Wählen Sie in der Microsoft Entra ID-App-Registrierung von Azure API Management die Option API verfügbar machen aus> . Fügen Sie die Client-ID des Power Platform SAP OData-Konnektors 6bee4d13-fd19-43de-b82c-4b6401d174c3 unter Autorisierte Clientanwendungen hinzu.

  2. Wählen Sie den Bereich user_impersonation und wählen Sie dann Speichern aus.

SAP OAuth konfigurieren

Erstellen Sie einen OAuth 2.0-Client in SAP, der es Azure API Management ermöglicht, Token im Namen von Benutzern abzurufen.

Weitere Informationen finden Sie in der offiziellen Dokumentation von SAP.

Führen Sie diese Schritte als SAP-Basis-Administrator im SAP GUI aus.

  1. Führen Sie die Transaktion SOAUTH2 aus.

  2. Wählen Sie Erstellen aus.

  3. Gehen Sie auf der Seite Client-ID wie folgt vor:

    • Wählen Sie für OAuth 2.0 Client-ID einen SAP-Systembenutzer aus.
    • Geben Sie eine Beschreibung ein, und wählen Sie dann Weiter aus.
  4. Wählen Sie auf der Seite Client-Authentifizierung Weiter aus.

  5. Gehen Sie auf der Seite Typeneinstellungen gewähren wie folgt vor:

    • Wählen Sie für Vertrauenswürdiger OAuth 2.0-IdP den Microsoft Entra ID-Eintrag aus.
    • Wählen Sie Aktualisierung zulässig, und dann Weiter.
  6. Wählen Sie auf der Seite Bereichszuweisung die Option Hinzufügen, wählen Sie die OData-Dienste aus, die Azure API-Management verwendet (z. B. ZAPI_BUSINESS_PARTNER_0001), und dann Weiter aus.

  7. Klicken Sie auf Fertig stellen.

Azure-API Management konfigurieren

Importieren Sie die SAP OData-XML-Metadaten in Ihre Azure API Management-Instanz. Wenden Sie dann eine Azure API-Management-Richtlinie an, um die Token zu konvertieren.

  1. Öffnen Sie Ihre Azure API Management-Instanz, und befolgen Sie die Schritte zum Erstellen einer SAP OData-API.

  2. Wählen Sie unter APIs Benannte Werte.

  3. Fügen Sie die folgenden Schlüssel-Wert-Paare hinzu:

Taste Wert
AADSAPResource Lokaler SAP-Anbieter-URI
AADTenantId Ihre Mandaten-GUID
APIMAADRegisteredAppClientId Anwendungs-GUID der Microsoft Entra ID
APIMAADRegisteredAppClientSecret Geheimer Clientschlüssel aus vorherigem Schritt
SAPOAuthClientID SAP-Systembenutzer
SAPOAuthClientSecret SAP-Systembenutzerpasswort
SAPOAuthRefreshExpiry Ablauf der Tokenaktualisierung
SAPOAuthScope OData-Bereiche, die während der SAP-OAuth-Konfiguration ausgewählt wurden
SAPOAuthServerAddressForTokenEndpoint SAP-Endpunkt für Azure API-Management, der aufgerufen werden soll, um den Tokenabruf durchzuführen

Anmerkung

Beachten Sie, dass sich die Einstellungen für SAP SuccessFactors geringfügig unterscheiden. Weitere Informationen finden Sie in der Azure API Management-Richtlinie für SAP SuccessFactors.

Anwenden der Azure API-Management-Tokenrichtlinie

Verwenden Sie Azure API Management-Richtlinien, um ein Microsoft Entra von der ID ausgestelltes Token in ein Token zu konvertieren, das von SAP NetWeaver akzeptiert wird. Dies erfolgt mithilfe des OAuth2SAMLBearer-Flows. Weitere Informationen finden Sie in der offiziellen SAP-Dokumentation.

  1. Kopieren Sie das Beispiel für eine Azure API-Management-Richtlinie von der offiziellen GitHub-Seite von Microsoft.

  2. Öffnen Sie das Azure-Portal.

  3. Wechseln Sie zu Ihrer Azure API-Management-Ressource.

  4. Wählen Sie APIs und dann die ODate-API aus, die Sie zuvor erstellt haben.

  5. Wählen Sie Alle Vorgänge aus.

  6. Wählen Sie unter Eingangsverarbeitung die Option Richtlinien </> aus.

  7. Löschen Sie die vorhandene Richtlinie und fügen Sie die kopierte Richtlinie ein.

  8. Wählen Sie Speichern.