Delen via


SAP Principal-doorgifte inschakelen voor live OData-feeds met Power Query

Het werken met SAP-gegevenssets in Microsoft Excel of Power BI is een algemene vereiste voor klanten.

In dit artikel worden de vereiste configuraties en onderdelen beschreven voor het inschakelen van SAP-gegevenssetverbruik via OData met Power Query. De SAP-gegevensintegratie wordt beschouwd als 'live' omdat deze kan worden vernieuwd van clients zoals Microsoft Excel of Power BI on-demand, in tegenstelling tot gegevensexports (zoals SAP List Viewer (ALV) CSV-exports). Deze exports zijn statisch van aard en hebben geen continue relatie met de gegevensoorsprong.

In het artikel wordt de nadruk gelegd op end-to-endgebruikerstoewijzing tussen de bekende Microsoft Entra-identiteit in Power Query en de SAP-back-endgebruiker. Dit mechanisme wordt vaak sap-principaldoorgifte genoemd.

De focus van de beschreven configuratie ligt op de Azure API Management-, SAP Gateway-, SAP OAuth 2.0-server met AS ABAP- en OData-bronnen, maar de concepten die worden gebruikt, zijn van toepassing op elke webresource.

Belangrijk

Opmerking: SAP Principal-doorgifte zorgt ervoor dat gebruikerstoewijzingen worden toegewezen aan de gelicentieerde SAP-gebruiker. Neem voor vragen over SAP-licenties contact op met uw SAP-vertegenwoordiger.

Overzicht van Microsoft-producten met SAP-integratie

Integraties tussen SAP-producten en het Microsoft 365-portfolio variëren van aangepaste codes en partnerinvoegtoepassingen tot volledig aangepaste Office-producten. Hier volgen enkele voorbeelden:

Het mechanisme dat in dit artikel wordt beschreven, maakt gebruik van de standaard ingebouwde OData-mogelijkheden van Power Query en legt de nadruk op SAP-landschappen die zijn geïmplementeerd in Azure. On-premises landschappen aanpakken met de zelf-hostende Gateway van Azure API Management.

Zie de Power Query-documentatie voor meer informatie over welke Microsoft-producten Ondersteuning bieden voor Power Query in het algemeen.

Overwegingen bij het instellen

Eindgebruikers kunnen kiezen tussen lokale desktop- of webclients (bijvoorbeeld Excel of Power BI). De clientuitvoeringsomgeving moet worden overwogen voor het netwerkpad tussen de clienttoepassing en de doel-SAP-workload. Netwerktoegangsoplossingen zoals VPN vallen niet binnen het bereik van apps zoals webversie van Excel.

Azure API Management weerspiegelt lokale en webomgevingsbehoeften met verschillende implementatiemodi die kunnen worden toegepast op Azure-landschappen (intern of extern). Internal verwijst naar exemplaren die volledig zijn beperkt tot een particulier virtueel netwerk, terwijl external openbare toegang tot Azure API Management behouden blijft. Voor on-premises installaties is een hybride implementatie vereist om de aanpak toe te passen, net zoals het gebruik van de zelf-hostende gateway van Azure API Management.

Voor Power Query zijn overeenkomende API-service-URL en URL van de Microsoft Entra-toepassings-id vereist. Configureer een aangepast domein voor Azure API Management om te voldoen aan de vereiste.

SAP Gateway moet worden geconfigureerd om de gewenste OData-doelservices beschikbaar te maken. Ontdek en activeer beschikbare services via SAP-transactiecode /IWFND/MAINT_SERVICE. Zie de OData-configuratie van SAP voor meer informatie.

Aangepaste domeinconfiguratie van Azure API Management

Zie hieronder de schermopname van een voorbeeldconfiguratie in API Management met behulp van een aangepast domein dat wordt aangeroepen api.custom-apim.domain.com met een beheerd certificaat en Azure-app servicedomein. Zie de Documentatie voor Azure API Management voor meer domeincertificaten.

Screenshot that shows the custom domain configuration in Azure API Management.

Voltooi de installatie van uw aangepaste domein volgens de domeinvereisten. Zie de documentatie voor aangepaste domeinen voor meer informatie. Als u het eigendom van de domeinnaam wilt bewijzen en toegang wilt verlenen tot het certificaat, voegt u deze DNS-records toe aan uw Azure-app Service-domeincustom-apim.domain.com, zoals hieronder:

Screenshot that shows custom domain mapping to Azure API Management domain.

De respectieve Microsoft Entra-toepassingsregistratie voor de Azure API Management-tenant ziet er als volgt uit.

Screenshot that shows the app registration for Azure API Management in Microsoft Entra ID.

Notitie

Als aangepast domein voor Azure API Management geen optie voor u is, moet u in plaats daarvan een aangepaste Power Query-Verbinding maken gebruiken.

Azure API Management-beleidsontwerp voor Power Query

Gebruik dit Azure API Management-beleid voor uw OData-doel-API ter ondersteuning van de verificatiestroom van Power Query. Hieronder ziet u een fragment van dat beleid waarin het verificatiemechanisme wordt gemarkeerd. Zoek hier de gebruikte client-id voor Power Query.

<!-- if empty Bearer token supplied assume Power Query sign-in request as described [here:](/power-query/connectorauthentication#supported-workflow) -->
<when condition="@(context.Request.Headers.GetValueOrDefault("Authorization","").Trim().Equals("Bearer"))">
    <return-response>
        <set-status code="401" reason="Unauthorized" />
        <set-header name="WWW-Authenticate" exists-action="override">
            <!-- Check the client ID for Power Query [here:](/power-query/connectorauthentication#supported-workflow) -->
            <value>Bearer authorization_uri=https://login.microsoftonline.com/{{AADTenantId}}/oauth2/authorize?response_type=code%26client_id=a672d62c-fc7b-4e81-a576-e60dc46e951d</value>
        </set-header>
    </return-response>
</when>

Naast de ondersteuning van de aanmeldingsstroom van het organisatieaccount ondersteunt het beleid het herschrijven van OData-URL-antwoorden omdat de doelserver reageert met oorspronkelijke URL's. Zie hieronder een fragment van het vermelde beleid:

<!-- URL rewrite in body only required for GET operations -->
<when condition="@(context.Request.Method == "GET")">
    <!-- ensure downstream API metadata matches Azure API Management caller domain in Power Query -->
    <find-and-replace from="@(context.Api.ServiceUrl.Host +":"+ context.Api.ServiceUrl.Port + context.Api.ServiceUrl.Path)" to="@(context.Request.OriginalUrl.Host + ":" + context.Request.OriginalUrl.Port + context.Api.Path)" />
</when>

Notitie

Zie deze handleiding voor meer informatie over het beveiligen van SAP-toegang via internet en sap-perimeternetwerkontwerp. Raadpleeg dit artikel over het beveiligen van SAP-API's met Azure.

SAP OData-verificatie via Power Query in Excel Desktop

Met de opgegeven configuratie wordt het ingebouwde verificatiemechanisme van Power Query beschikbaar voor de weergegeven OData-API's. Voeg een nieuwe OData-bron toe aan het Excel-blad via het gegevenslint (Gegevens ophalen -> Uit andere bronnen -> Uit OData-feed). Behoud de URL van uw doelservice. In het onderstaande voorbeeld wordt de DEMO-service van SAP Gateway gebruikt GWSAMPLE_BASIC. Ontdek of activeer het met behulp van SAP-transactie /IWFND/MAINT_SERVICE. Voeg deze ten slotte toe aan Azure API Management met behulp van de officiële OData-importhandleiding.

Screenshot that shows how to discover the OData URL within Azure API Management.

Haal de basis-URL op en voeg deze in uw doeltoepassing in. In het onderstaande voorbeeld ziet u de integratie-ervaring met Excel Desktop.

Screenshot that shows the OData configuration wizard in Excel Desktop.

Schakel de aanmeldingsmethode over naar het organisatieaccount en klik op Aanmelden. Geef het Microsoft Entra-account op dat is toegewezen aan de benoemde SAP-gebruiker op de SAP-gateway met behulp van SAP Principal Propagation. Zie deze Microsoft-zelfstudie voor meer informatie over de configuratie. Meer informatie over sap-principaldoorgifte vanuit deze SAP-communitypost en deze videoserie.

Ga door met het kiezen op welk niveau de verificatie-instellingen moeten worden toegepast door Power Query in Excel. Hieronder ziet u een instelling die van toepassing is op alle OData-services die worden gehost op het DOEL-SAP-systeem (niet alleen op de voorbeeldservice GWSAMPLE_BASIC).

Notitie

De instelling voor het autorisatiebereik op URL-niveau in het onderstaande scherm is onafhankelijk van de werkelijke autorisaties op de SAP-back-end. SAP Gateway blijft de uiteindelijke validatie van elke aanvraag en de bijbehorende autorisaties van een toegewezen SAP-gebruiker.

Screenshot that shows the login flow within Excel for the Organizational Account option.

Belangrijk

De bovenstaande richtlijnen zijn gericht op het proces van het verkrijgen van een geldig verificatietoken van Microsoft Entra ID via Power Query. Dit token moet verder worden verwerkt voor het doorgeven van SAP-principals.

SAP Principal-doorgifte configureren met Azure API Management

Gebruik dit tweede Azure API Management-beleid voor SAP om de configuratie voor sap-principaldoorgifte op de middelste laag te voltooien. Zie deze Microsoft-zelfstudie voor meer informatie over de configuratie van de SAP Gateway-back-end.

Notitie

Meer informatie over sap-principaldoorgifte vanuit deze SAP-communitypost en deze videoserie.

Diagram that shows the Microsoft Entra app registrations involved in this article.

Het beleid is afhankelijk van een tot stand gebrachte installatie van eenmalige aanmelding tussen Microsoft Entra ID en SAP Gateway (gebruik SAP NetWeaver vanuit de Microsoft Entra-galerie). Zie hieronder een voorbeeld met de demogebruiker Adele Vance. Gebruikerstoewijzing tussen Microsoft Entra ID en het SAP-systeem vindt plaats op basis van de UPN (User Principal Name) als de unieke gebruikers-id.

Screenshot that shows the UPN of the demo user in Microsoft Entra ID.

Screenshot that shows the SAML2 configuration for SAP Gateway with UPN claim.

De UPN-toewijzing wordt onderhouden op de SAP-back-end met behulp van transactie SAML2.

Screenshot that shows the email mapping mode in SAP SAML2 transaction.

Volgens deze configuratie worden SAP-gebruikers toegewezen aan de desbetreffende Microsoft Entra-gebruiker. Zie hieronder een voorbeeldconfiguratie van de SAP-back-end met behulp van transactiecode SU01.

Screenshot of named SAP user in transaction SU01 with mapped email address.

Voor meer informatie over de vereiste SAP OAuth 2.0-server met AS ABAP-configuratie raadpleegt u deze Microsoft-zelfstudie over eenmalige aanmelding met SAP NetWeaver met behulp van OAuth.

Met behulp van het beschreven Azure API Management-beleid kan elk Microsoft-product waarvoor Power Query is ingeschakeld, SAP-gehoste OData-services aanroepen, terwijl de SAP-gebruikerstoewijzing wordt uitgevoerd.

Screenshot that shows the OData response in Excel Desktop.

SAP OData-toegang via andere toepassingen en services met Power Query

In het bovenstaande voorbeeld ziet u de stroom voor Excel Desktop, maar de benadering is van toepassing op elk Microsoft-product met Power Query OData. Zie de documentatie voor Power Query-Verbinding maken ors voor meer informatie over de OData-connector van Power Query en welke producten deze ondersteunen. Zie de Power Query-documentatie voor meer informatie over de producten die Ondersteuning bieden voor Power Query in het algemeen.

Populaire consumenten zijn Power BI, webversie van Excel, Power Apps (gegevensstromen) en Analysis Service.

Sap-write-backscenario's aanpakken met Power Automate

De beschreven benadering is ook van toepassing op write-back-scenario's. U kunt Power Automate bijvoorbeeld gebruiken om een zakelijke partner in SAP bij te werken met behulp van OData met de http-connectors (u kunt ook RFC's of BAP's gebruiken). Zie hieronder een voorbeeld van een Power BI-service dashboard dat is verbonden met Power Automate via waarschuwingen op basis van waarden en een knop (gemarkeerd op de schermafbeelding). Meer informatie over het activeren van stromen vanuit Power BI-rapporten in de Power Automate-documentatie.

Screenshot that shows the flow-enabled Power BI service dashboard.

Met de gemarkeerde knop wordt een stroom geactiveerd waarmee de OData PATCH-aanvraag wordt doorgestuurd naar de SAP-gateway om de rol van zakelijke partner te wijzigen.

Notitie

Gebruik het Azure API Management-beleid voor SAP om de verificatie, vernieuwingstokens, CSRF-tokens en de algehele caching van tokens buiten de stroom af te handelen.

Screenshot that shows the flow on Power Automate requesting the business partner change on the SAP back end.

Volgende stappen

Meer informatie over waar u OData kunt gebruiken met Power Query

Werken met SAP OData-API's in Azure API Management

Azure API Management configureren voor SAP-API's

Zelfstudie: Verkoopgegevens analyseren vanuit Excel en een OData-feed

API's beveiligen met Application Gateway en API Management

API Management integreren in een intern virtueel netwerk met Application Gateway

Inzicht in Azure-toepassing Gateway en Web Application Firewall voor SAP

API-implementaties automatiseren met APIOps