Dela via


Konfigurera Microsoft Entra ID, Azure API Management och SAP för enkel inloggning från SAP OData-anslutningsappen

Du kan konfigurera SAP OData-anslutningsappen för Power Platform så att den använder Microsoft Entra ID-autentiseringsuppgifter för enkel inloggning (SSO) till SAP. Användarna kan komma åt SAP-data i Power Platform lösningar utan att behöva logga in flera gånger på flera tjänster samtidigt som de respekterar sina auktoriseringar och tilldelade roller i SAP.

Den här artikeln vägleder dig genom processen, inklusive att konfigurera ett förtroende mellan SAP och Microsoft Entra ID och konfigurera Azure API Management för att konvertera Microsoft Entra ID-token OAuth till en SAML-token som används för att göra OData-anrop till SAP.

Lösningsdiagram som visar trafikflödet från Power Platform och Copilot till SAP via Azure API Management.

Få ytterligare insikter och sammanhang i installationsprocessen från det här blogginlägget.

Förutsättningar

  • SAP-instans
  • Vanliga frågor om Azure API-hantering

Ladda ned SAML-metadata för lokal provider från SAP

Om du vill konfigurera en förtroenderelation mellan SAP och Microsoft Entra ID med SAML 2.0 laddar du först ned xml-metadatafilen från SAP.

Utför de här stegen som SAP Basis-administratör i SAP GUI.

  1. I SAP GUI kör du transaktionen SAML2 för att öppna den relevanta SAP-klientberoende guiden och väljer fliken Lokal provider .

  2. Välj Metadata och välj sedan Hämta metadata. Du laddar upp SAP SAML-metadata till Microsoft Entra ID i ett senare steg.

  3. Anteckna det URI-kompatibla providernamnet.

Obs

Microsoft Entra ID kräver att det här värdet är URI-kompatibelt. Om providernamnet redan har angetts och inte är URI-kompatibelt ska du inte ändra det utan att först rådfråga ditt SAP Basis-team. Om du ändrar leverantörsnamnet kan befintliga SAML-konfigurationer brytas. Stegen för att ändra den ligger utanför omfånget för den här artikeln. Kontakta ditt SAML Basis-team om du behöver vägledning.

Mer information finns i SAP:s officiella dokumentation .

Importera SAP-metadata till Microsoft Entra ID-företagsprogram

Utför de här stegen som ID-administratör Microsoft Entra i Azure-portalen.

  1. Välj Microsoft Entra ID>företagsprogram.

  2. Välj Nytt program.

  3. Sök efter SAP Netweaver.

  4. Ge företagsprogrammet ett namn och välj sedan Skapa.

  5. Gå till fliken Enkel inloggning och välj SAML.

  6. Välj Ladda upp metadatafil och välj den metadatafil som du laddade ned från SAP.

  7. Välj Lägg till.

  8. Ändra svars-URL:en (URL för kontrollkonsumenttjänst) till SAP-tokenslutpunkten OAuth . URL är i formatet https://<SAP server>:<port>/sap/bc/sec/oauth2/token.

  9. Ändra inloggnings-URL till ett URI-kompatibelt värde. Den här parametern används inte och kan anges till valfritt värde som är URI-kompatibelt.

  10. Välj Spara.

  11. Under Attribut & anspråk väljer du Redigera.

  12. Bekräfta att anspråksnamn Unik användaridentifierare (namn-ID) är inställt på user.userprincipalname [nameid=format:emailAddress].

  13. Under SAML-certifikat väljer du Hämta för Certifikat (Base64) och XML för federationsmetadata.

Konfigurera Microsoft Entra ID som betrodd identitetsleverantör för OAuth 2.0 i SAP

  1. Följ stegen som beskrivs i Microsoft Entra ID-dokumentationen för SAP NetWeaver och OAuth2-avsnittet.

  2. Gå tillbaka till den här artikeln när OAuth2-klienten har skapats i SAP.

Se SAP:s officiella dokumentation för ytterligare information.

Skapa ett Microsoft Entra ID-program som representerar Azure API Management-resursen

Konfigurera ett Microsoft Entra ID-program som ger åtkomst till Microsoft Power Platform SAP OData-anslutningsappen. Med det här programmet kan en Azure API Management resurs konvertera OAuth token till SAML.

Utför de här stegen som ID-administratör Microsoft Entra i Azure-portalen.

  1. Välj Microsoft Entra ID>Appregistreringar Ny>registrering.

  2. Ange ett Namn och välj sedan Registrera.

  3. Välj Certifikat och hemligheter>Ny klienthemlighet.

  4. Ange en Beskrivning och välj sedan Lägg till .

  5. Kopiera och spara den här hemligheten på en säker plats.

  6. Välj API-behörigheter>Lägg till en behörighet.

  7. Välj Microsoft Graph>delegerade behörigheter.

  8. Sök efter och välj openid.

  9. Välj Lägg till behörigheter.

  10. Välj Autentisering>Lägg till en plattform>Webb.

  11. Ange omdirigerings-URI till https://localhost:44326/signin-oidc.

  12. Välj Åtkomsttoken och ID-token och välj Konfigurera.

  13. Välj exponerar ett API.

  14. Invid App-ID URI väljer du Lägg till.

  15. Acceptera standardvärdet och välj Spara.

  16. Välj Lägg till en omfattning.

  17. Ange Omfångsnamn till user_impersonation.

  18. Ange Vem kan samtycka? till administratörer och användare.

  19. Välj Lägg till en omfattning.

  20. Kopiera App-ID (klient) .

Auktorisera Azure API Management-resursen för åtkomst till SAP Netweaver med hjälp av Microsoft Entra ID-företagsprogrammet

  1. När ett Microsoft Entra ID-företagsprogram skapas skapas en matchande appregistrering. Hitta den appregistrering som matchar ID-företagsprogrammet Microsoft Entra som du skapade för SAP NetWeaver.

  2. Välj Exponera en API>Lägg till ett klientprogram.

  3. Klistra in program-ID:t (klient) för ID-appregistreringen Microsoft Entra för din Azure API Management-instans i Klient-ID.

  4. Välj omfattinngen user_impersonation och välj sedan Lägg till program.

Auktorisera Microsoft Power Platform SAP OData-anslutningsappen för åtkomst till API:er som exponeras av Azure API Management

  1. Microsoft Entra I ID-appregistreringen för Azure API Management väljer du Exponera ett API> Lägg till klient-ID:t Power Platform för SAP OData-anslutningsappen 6bee4d13-fd19-43de-b82c-4b6401d174c3 under auktoriserade klientprogram.

  2. Välj ofattningen user_impersonation och sedan Spara.

Konfigurera SAPOAuth

Skapa en OAuth 2.0-klient i SAP som gör att Azure API Management kan hämta token för användarnas räkning.

Se SAP:s officiella dokumentation för mer information.

Utför de här stegen som SAP Basis-administratör i SAP GUI.

  1. Kör transaktionen SOAUTH2.

  2. Välj Skapa.

  3. På sidan Klient-ID :

    • För OAuth 2.0-klient-ID väljer du en SAP-systemanvändare.
    • Ange en Beskrivning och välj sedan Nästa.
  4. På sidan Kientautensiering väljer du Nästa.

  5. På sidan Inställningar för beviljadetyp:

    • För Betrodd OAuth 2.0 IdP väljer du ID-posten Microsoft Entra .
    • Välj Uppdatera tillåten och välj sedan Nästa.
  6. På sidan Omfångstilldelning väljer du Lägg till, väljer de OData-tjänster som Azure API Management använder (t.ex. ZAPI_BUSINESS_PARTNER_0001) och väljer sedan Nästa.

  7. Välj Slutför.

Konfigurera Azure API-hantering

Importera SAP OData XML-metadata till din Azure API Management-instans. Tillämpa sedan en Azure API Management princip för att konvertera token.

  1. Öppna din Azure API Management-instans och följ stegen för att skapa ett SAP OData-API.

  2. Under API:er väljer du Namngivna värden.

  3. Lägg till följande nyckel/värde-par:

Key Värde
AADSAPResource URI för lokal SAP-provider
AADTenantId Din GUID-klientorganisation
APIMAADRegisteredAppClientId Microsoft Entra ID Program GUID
APIMAADRegisteredAppClientSecret Klienthemlighet från tidigare steg
SAPOAuthClientID SAP-systemanvändare
SAPOAuthClientSecret SAP-systemanvändarlösenord
SAPOAuthRefreshExpiry Uppdatera utgånen token
SAPOAuthScope OData-omfång som valts under SAP-konfigurationen OAuth
SAPOAuthServerAddressForTokenEndpoint SAP-slutpunkt för Azure API Management för att anropa för att utföra tokenförvärvet

Obs

Tänk på att inställningarna skiljer sig något för SAP SuccessFactors. Mer information finns i Azure API Management-policy för SAP SuccessFactors.

Tillämpa Azure API Management tokenprincip

Använd Azure API Management-policy för att konvertera en Microsoft Entra ID-utfärdad token till en som SAP NetWeaver accepterar. Detta görs med hjälp av OAuth2SAMLBearer-flödet. Se SAP officiella dokumentationen för mer information.

  1. Kopiera Azure API Management-principen från Microsoft:s officiella GitHub-sida.

  2. Öppna Azure-portalen.

  3. Gå till din resurs för Azure API-hantering.

  4. Välj API:er och sedan det OData API som du skapade.

  5. Välj Alla åtgärder.

  6. Under Inkommande bearbetning väljer du Principer </>.

  7. Ta bort den befintliga principen och klistra in principen som du kopierade.

  8. Välj Spara.