Sdílet prostřednictvím


Povolení šíření instančního objektu SAP pro živé datové kanály OData pomocí Power Query

Práce s datovými sadami SAP v Microsoft Excelu nebo Power BI je běžným požadavkem pro zákazníky.

Tento článek popisuje požadované konfigurace a komponenty pro povolení spotřeby datových sad SAP prostřednictvím OData pomocí Power Query. Integrace dat SAP se považuje za živá, protože je možné ji aktualizovat z klientů, jako je Microsoft Excel nebo Power BI na vyžádání, například exporty dat (například exporty CSV prohlížeče ALV (SAP List Viewer). Tyto exporty jsou statické povahy a nemají žádný nepřetržitý vztah s původem dat.

Tento článek klade důraz na mapování koncových uživatelů mezi známou identitou Microsoft Entra v Power Query a back-endovým uživatelem SAP. Tento mechanismus se často označuje jako šíření instančního objektu SAP.

Cílem popsané konfigurace je Azure API Management, SAP Gateway, SAP OAuth 2.0 Server s jazyk ABAP AS a OData, ale koncepty použité pro všechny webové prostředky.

Důležité

Poznámka: Šíření objektu zabezpečení SAP zajišťuje mapování uživatele na licencovaného uživatele SAP. V případě jakýchkoli dotazů souvisejících s licencemi SAP se obraťte na zástupce SAP.

Přehled produktů Microsoftu s integrací SAP

Integrace mezi produkty SAP a portfoliem Microsoftu 365 se liší od vlastních kódů a doplňků pro partnery až po plně přizpůsobené produkty Office. Tady je několik příkladů:

Mechanismus popsaný v tomto článku používá standardní integrované funkce OData Power Query a klade důraz na prostředí SAP nasazené v Azure. Adresujte místní prostředí pomocí místní brány služby Azure API Management v místním prostředí.

Další informace o tom, které produkty Microsoftu podporují Power Query obecně, najdete v dokumentaci k Power Query.

Důležité informace o nastavení

Koncoví uživatelé si můžou vybrat mezi místními desktopovými nebo webovými klienty (například Excel nebo Power BI). Pro síťovou cestu mezi klientskou aplikací a cílovou úlohou SAP je potřeba zvážit spouštěcí prostředí klienta. Řešení přístupu k síti, jako je síť VPN, nejsou v oboru pro aplikace, jako je Excel pro web.

Azure API Management odráží potřeby místního a webového prostředí s různými režimy nasazení, které je možné použít na prostředí Azure (interní nebo externí). Internal odkazuje na instance, které jsou plně omezeny na privátní virtuální síť, zatímco external zachovává veřejný přístup ke službě Azure API Management. Místní instalace vyžadují hybridní nasazení, aby používalo přístup stejně jako použití brány v místním prostředí azure API Management.

Power Query vyžaduje odpovídající adresu URL služby API a adresu URL ID aplikace Microsoft Entra. Nakonfigurujte vlastní doménu pro Azure API Management tak, aby splňovala požadavek.

Sap Gateway je potřeba nakonfigurovat tak, aby zpřístupnil požadované cílové služby OData. Zjišťování a aktivace dostupných služeb prostřednictvím kódu /IWFND/MAINT_SERVICEtransakce SAP . Další informace najdete v konfiguraci OData sap.

Konfigurace vlastní domény ve službě Azure API Management

Podívejte se na snímek obrazovky s ukázkovou konfigurací ve službě API Management s využitím vlastní domény volané api.custom-apim.domain.com se spravovaným certifikátem a doménou služby Aplikace Azure Service. Další možnosti certifikátu domény najdete v dokumentaci ke službě Azure API Management.

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

Dokončete nastavení vlastní domény podle požadavků na doménu. Další informace najdete v dokumentaci k vlastní doméně. Pokud chcete prokázat vlastnictví názvu domény a udělit přístup k certifikátu, přidejte tyto záznamy DNS do domény custom-apim.domain.com služby Aplikace Azure service následujícím způsobem:

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

Odpovídající registrace aplikace Microsoft Entra pro tenanta Azure API Management by vypadala jako níže.

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

Poznámka:

Pokud pro službu Azure API Management není možnost vlastní domény, musíte místo toho použít vlastní Připojení or Power Query.

Návrh zásad služby Azure API Management pro Power Query

Pomocí této zásady služby Azure API Management pro cílové rozhraní API OData můžete podporovat tok ověřování Power Query. Níže najdete fragment kódu z této zásady, který zvýrazňuje mechanismus ověřování. Tady najdete použité ID klienta pro 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>

Kromě podpory toku přihlášení k účtu organizace zásada podporuje přepsání odpovědi adresy URL OData, protože cílové server odpoví původními adresami URL. Níže najdete fragment kódu z uvedených zásad:

<!-- 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>

Poznámka:

Další informace o zabezpečení přístupu SAP z internetu a návrhu hraniční sítě SAP najdete v této příručce. Informace o zabezpečení rozhraní SAP API s Azure najdete v tomto článku.

Ověřování SAP OData prostřednictvím Power Query v Desktopu Excelu

Díky dané konfiguraci bude integrovaný ověřovací mechanismus Power Query dostupný pro vystavená rozhraní API OData. Přidejte nový zdroj OData do excelového listu pomocí pásu karet Data (Získat data –> z jiných zdrojů –> z datového kanálu OData). Udržujte cílovou adresu URL služby. Následující příklad používá ukázkovou službu SAP Gateway GWSAMPLE_BASIC. Zjistěte nebo aktivujte pomocí transakce /IWFND/MAINT_SERVICESAP . Nakonec ho přidejte do služby Azure API Management pomocí oficiálního průvodce importem OData.

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

Načtěte základní adresu URL a vložte ji do cílové aplikace. Následující příklad ukazuje prostředí integrace s Desktopem Excelu.

Screenshot that shows the OData configuration wizard in Excel Desktop.

Přepněte metodu přihlášení na účet organizace a klikněte na Přihlásit se. Zadejte účet Microsoft Entra, který je namapován na pojmenovaného uživatele SAP ve službě SAP Gateway pomocí šíření objektu zabezpečení SAP. Další informace o konfiguraci najdete v tomto kurzu microsoftu. Další informace o šíření instančního objektu SAP najdete v tomto příspěvku komunity SAP a v této sérii videí.

Pokračujte v volbě, na které úrovni má Power Query v Excelu použít nastavení ověřování. Následující příklad ukazuje nastavení, které by platilo pro všechny služby OData hostované v cílovém systému SAP (nejen pro ukázkovou službu GWSAMPLE_BASIC).

Poznámka:

Nastavení oboru autorizace na úrovni adresy URL na následující obrazovce je nezávislé na skutečných autorizaci v back-endu SAP. SAP Gateway zůstává posledním validátorem každého požadavku a přidružených autorizací namapovaného uživatele SAP.

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

Důležité

Výše uvedené pokyny se zaměřují na proces získání platného ověřovacího tokenu z Id Microsoft Entra prostřednictvím Power Query. Tento token je potřeba dále zpracovat pro šíření objektu zabezpečení SAP.

Konfigurace šíření objektů zabezpečení SAP pomocí služby Azure API Management

Pomocí této druhé zásady služby Azure API Management pro SAP dokončete konfiguraci šíření objektů zabezpečení SAP na střední vrstvě. Další informace o konfiguraci back-endu služby SAP Gateway najdete v tomto kurzu Microsoftu.

Poznámka:

Další informace o šíření instančního objektu SAP najdete v tomto příspěvku komunity SAP a v této sérii videí.

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

Tato zásada spoléhá na zavedené nastavení jednotného přihlašování mezi Microsoft Entra ID a SAP Gateway (použijte SAP NetWeaver z galerie Microsoft Entra). Podívejte se na příklad s ukázkou uživatele Adele Vance. Mapování uživatelů mezi MICROSOFT Entra ID a systémem SAP probíhá na základě hlavního názvu uživatele (UPN) jako jedinečného identifikátoru uživatele.

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.

Mapování hlavního názvu uživatele (UPN) se udržuje na back-endu SAP pomocí transakce SAML2.

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

Podle této konfigurace s názvem uživatelé SAP budou namapováni na příslušného uživatele Microsoft Entra. Viz níže příklad konfigurace z back-endu SAP pomocí kódu transakce SU01.

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

Další informace o požadovaném serveru SAP OAuth 2.0 s konfigurací AS jazyk ABAP najdete v tomto kurzu Microsoftu o jednotném přihlašování s SAP NetWeaver pomocí OAuth.

Při použití popsaných zásad služby Azure API Management může jakýkoli produkt Microsoftu s podporou Power Query volat služby SAP hostované OData a zároveň respektovat mapování pojmenovaného uživatele SAP.

Screenshot that shows the OData response in Excel Desktop.

Přístup SAP OData prostřednictvím jiných aplikací a služeb s podporou Power Query

Výše uvedený příklad ukazuje tok pro Excel Desktop, ale tento přístup se vztahuje na jakýkoli produkt Microsoft s podporou Power Query OData. Další informace o konektoru OData v Power Query a o tom, které produkty ho podporují, najdete v dokumentaci k power query Připojení orům. Další informace o tom, které produkty podporují Power Query obecně, najdete v dokumentaci k Power Query.

Mezi oblíbené uživatele patří Power BI, Excel pro web, Power Apps (toky dat) a Analysis Service.

Řešení scénářů zpětného zápisu SAP pomocí Power Automate

Popsaný přístup se vztahuje také na scénáře zpětného zápisu. Power Automate můžete například použít k aktualizaci obchodního partnera v SAP pomocí OData s konektory s podporou http (alternativně použijte rfcs nebo BAPI). Podívejte se níže na příklad řídicího panelu služba Power BI, který je připojený k Power Automate prostřednictvím upozornění založených na hodnotách a tlačítka (zvýrazněného na snímku obrazovky). Další informace o aktivaci toků ze sestav Power BI najdete v dokumentaci k Power Automate.

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

Zvýrazněné tlačítko aktivuje tok, který předá požadavek OData PATCH službě SAP Gateway, aby změnil roli obchodního partnera.

Poznámka:

Pomocí zásad služby Azure API Management pro SAP můžete zpracovávat ověřování, obnovovací tokeny, tokeny CSRF a celkové ukládání tokenů do mezipaměti mimo tok.

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

Další kroky

Informace o tom, kde můžete používat OData s Power Query

Práce s rozhraními API SAP OData ve službě Azure API Management

Konfigurace služby Azure API Management pro rozhraní SAP API

Kurz: Analýza prodejních dat z Excelu a datového kanálu OData

Ochrana rozhraní API pomocí služby Application Gateway a služby API Management

Integrace služby API Management do interní virtuální sítě se službou Application Gateway

Vysvětlení Aplikace Azure Gateway a Firewallu webových aplikací pro SAP

Automatizace nasazení rozhraní API pomocí APIOps