Udostępnij za pośrednictwem


Włączanie propagacji podmiotu zabezpieczeń SAP dla dynamicznych źródeł danych OData za pomocą dodatku Power Query

Praca z zestawami danych SAP w programie Microsoft Excel lub Usłudze Power BI jest typowym wymaganiem dla klientów.

W tym artykule opisano wymagane konfiguracje i składniki umożliwiające korzystanie z zestawu danych SAP za pośrednictwem usługi OData za pomocą dodatku Power Query. Integracja danych SAP jest uznawana za "dynamiczną" , ponieważ można ją odświeżać od klientów, takich jak program Microsoft Excel lub usługa Power BI na żądanie, w przeciwieństwie do eksportów danych (takich jak eksporty csv programu SAP List Viewer (ALV) na przykład. Eksporty te są statyczne z natury i nie mają ciągłej relacji ze źródłem danych.

Artykuł kładzie nacisk na kompleksowe mapowanie użytkowników końcowych między znaną tożsamością firmy Microsoft Entra w dodatku Power Query i użytkownikiem zaplecza SAP. Ten mechanizm jest często nazywany propagacją podmiotu zabezpieczeń SAP.

Opisana konfiguracja koncentruje się na usługach Azure API Management, SAP Gateway, SAP OAuth 2.0 Server z usługą AS ABAP i OData, ale pojęcia, które zostały użyte, mają zastosowanie do dowolnego zasobu internetowego.

Ważne

Uwaga: Propagacja podmiotu zabezpieczeń sap zapewnia mapowanie użytkownika na licencjonowanego użytkownika o nazwie SAP. W przypadku pytań związanych z licencją SAP skontaktuj się z przedstawicielem sap.

Omówienie produktów firmy Microsoft z integracją z oprogramowaniem SAP

Integracje między produktami SAP i portfolio platformy Microsoft 365 obejmują kody niestandardowe i dodatki partnerskie do w pełni dostosowanych produktów pakietu Office. Oto kilka przykładów:

Mechanizm opisany w tym artykule korzysta ze standardowych wbudowanych funkcji OData dodatku Power Query i kładzie nacisk na środowiska SAP wdrożone na platformie Azure. Rozwiązywanie problemów w środowiskach lokalnych przy użyciu własnej bramy usługi Azure API Management.

Aby uzyskać więcej informacji na temat ogólnych produktów firmy Microsoft obsługujących dodatek Power Query, zobacz dokumentację dodatku Power Query.

Zagadnienia dotyczące konfiguracji

Użytkownicy końcowi mają wybór między klientami lokalnymi lub internetowymi (na przykład Excel lub Power BI). Środowisko wykonywania klienta musi być brane pod uwagę dla ścieżki sieciowej między aplikacją kliencka a docelowym obciążeniem SAP. Rozwiązania dostępu do sieci, takie jak vpn, nie są w zakresie aplikacji, takich jak Excel dla sieci web.

Usługa Azure API Management odzwierciedla potrzeby środowiska lokalnego i internetowego z różnymi trybami wdrażania, które można zastosować do poziomych platformy Azure (wewnętrznych lub zewnętrznych). Internal odnosi się do wystąpień, które są w pełni ograniczone do prywatnej sieci wirtualnej, podczas gdy external zachowuje publiczny dostęp do usługi Azure API Management. Instalacje lokalne wymagają wdrożenia hybrydowego, aby zastosować podejście, ponieważ korzysta z własnej bramy usługi Azure API Management.

Dodatek Power Query wymaga pasującego adresu URL usługi interfejsu API i adresu URL identyfikatora aplikacji Entra firmy Microsoft. Skonfiguruj domenę niestandardową dla usługi Azure API Management , aby spełnić wymagania.

Brama SAP Gateway musi być skonfigurowana w celu uwidocznienia żądanych docelowych usług OData. Odnajdywanie i aktywowanie dostępnych usług za pomocą kodu /IWFND/MAINT_SERVICEtransakcji SAP . Aby uzyskać więcej informacji, zobacz Konfiguracja OData oprogramowania SAP.

Konfiguracja domeny niestandardowej usługi Azure API Management

Poniżej przedstawiono zrzut ekranu przedstawiający przykładową konfigurację usługi API Management przy użyciu domeny niestandardowej o nazwie api.custom-apim.domain.com z certyfikatem zarządzanym i domeną usługi aplikacja systemu Azure. Aby uzyskać więcej opcji certyfikatów domeny, zobacz dokumentację usługi Azure API Management.

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

Ukończ konfigurację domeny niestandardowej zgodnie z wymaganiami dotyczącymi domeny. Aby uzyskać więcej informacji, zobacz dokumentację domeny niestandardowej. Aby udowodnić własność nazwy domeny i udzielić dostępu do certyfikatu, dodaj te rekordy DNS do domeny custom-apim.domain.com usługi aplikacja systemu Azure, jak pokazano poniżej:

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

Odpowiednia rejestracja aplikacji Microsoft Entra dla dzierżawy usługi Azure API Management wyglądałaby następująco.

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

Uwaga

Jeśli domena niestandardowa usługi Azure API Management nie jest opcją, musisz zamiast tego użyć niestandardowego Połączenie or dodatku Power Query.

Projekt zasad usługi Azure API Management dla dodatku Power Query

Użyj tych zasad usługi Azure API Management dla docelowego interfejsu API OData, aby obsługiwać przepływ uwierzytelniania dodatku Power Query. Poniżej przedstawiono fragment kodu z tych zasad z wyróżnionym mechanizmem uwierzytelniania. Znajdź używany identyfikator klienta dla dodatku Power Query tutaj.

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

Oprócz obsługi przepływu logowania konta organizacyjnego zasady obsługują ponowne zapisywanie odpowiedzi adresów URL protokołu OData, ponieważ serwer docelowy odpowiada na oryginalne adresy URL. Poniżej przedstawiono fragment kodu z wymienionych zasad:

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

Uwaga

Aby uzyskać więcej informacji na temat bezpiecznego dostępu sap z Internetu i projektu sieci obwodowej SAP, zobacz ten przewodnik. Jeśli chodzi o zabezpieczanie interfejsów API SAP za pomocą platformy Azure, zobacz ten artykuł.

Uwierzytelnianie SAP OData za pośrednictwem dodatku Power Query w programie Excel Desktop

W przypadku danej konfiguracji wbudowany mechanizm uwierzytelniania dodatku Power Query staje się dostępny dla uwidocznionych interfejsów API OData. Dodaj nowe źródło OData do arkusza programu Excel za pomocą wstążki Dane (Pobierz dane —> z innych źródeł —> ze źródła OData). Zachowaj adres URL usługi docelowej. W poniższym przykładzie użyto usługi demonstracyjnej SAP Gateway GWSAMPLE_BASIC. Odnajdź lub aktywuj go przy użyciu transakcji /IWFND/MAINT_SERVICESAP . Na koniec dodaj go do usługi Azure API Management przy użyciu oficjalnego przewodnika importowania OData.

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

Pobierz podstawowy adres URL i wstaw w aplikacji docelowej. Poniższy przykład przedstawia środowisko integracji z programem Excel Desktop.

Screenshot that shows the OData configuration wizard in Excel Desktop.

Przełącz metodę logowania na konto organizacyjne i kliknij pozycję Zaloguj. Podaj konto Microsoft Entra mapowane na nazwanego użytkownika SAP w bramie SAP Gateway przy użyciu propagacji podmiotu zabezpieczeń sap. Aby uzyskać więcej informacji na temat konfiguracji, zobacz ten samouczek firmy Microsoft. Dowiedz się więcej na temat propagacji podmiotu zabezpieczeń sap z tego wpisu społeczności SAP i tej serii wideo.

Kontynuuj wybieranie, na jakim poziomie ustawienia uwierzytelniania powinny być stosowane przez dodatek Power Query w programie Excel. Poniższy przykład przedstawia ustawienie, które będzie miało zastosowanie do wszystkich usług OData hostowanych w docelowym systemie SAP (nie tylko do przykładowej usługi GWSAMPLE_BASIC).

Uwaga

Ustawienie zakresu autoryzacji na poziomie adresu URL na poniższym ekranie jest niezależne od rzeczywistych autoryzacji w zapleczu SAP. Usługa SAP Gateway pozostaje ostatecznym modułem sprawdzania poprawności każdego żądania i skojarzonymi autoryzacjami mapowanego użytkownika SAP.

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

Ważne

Powyższe wskazówki koncentrują się na procesie uzyskiwania prawidłowego tokenu uwierzytelniania od identyfikatora Entra firmy Microsoft za pośrednictwem dodatku Power Query. Ten token należy dalej przetwarzać na potrzeby propagacji podmiotu zabezpieczeń sap.

Konfigurowanie propagacji podmiotu zabezpieczeń sap za pomocą usługi Azure API Management

Użyj tych drugich zasad usługi Azure API Management dla systemu SAP, aby ukończyć konfigurację propagacji podmiotu zabezpieczeń sap w warstwie środkowej. Aby uzyskać więcej informacji na temat konfiguracji zaplecza usługi SAP Gateway, zobacz ten samouczek firmy Microsoft.

Uwaga

Dowiedz się więcej na temat propagacji podmiotu zabezpieczeń sap z tego wpisu społeczności SAP i tej serii wideo.

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

Zasady opierają się na ustalonej konfiguracji logowania jednokrotnego między firmą Microsoft Entra ID i usługą SAP Gateway (użyj oprogramowania SAP NetWeaver z galerii Microsoft Entra). Zobacz poniższy przykład z pokazowym użytkownikiem Adele Vance. Mapowanie użytkownika między identyfikatorem Entra firmy Microsoft a systemem SAP odbywa się na podstawie głównej nazwy użytkownika (UPN) jako unikatowego identyfikatora użytkownika.

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.

Mapowanie nazwy UPN jest utrzymywane na zapleczu SAP przy użyciu protokołu SAML2 transakcji.

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

Zgodnie z tą konfiguracją użytkownicy sap zostaną zamapowane na odpowiedniego użytkownika firmy Microsoft Entra. Poniżej przedstawiono przykładową konfigurację z zaplecza SAP przy użyciu kodu transakcji SU01.

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

Aby uzyskać więcej informacji na temat wymaganego serwera SAP OAuth 2.0 z konfiguracją usługi AS ABAP , zobacz ten samouczek firmy Microsoft dotyczący logowania jednokrotnego z oprogramowaniem SAP NetWeaver przy użyciu protokołu OAuth.

Korzystając z opisanych zasad usługi Azure API Management, wszystkie produkty firmy Microsoft z włączoną obsługą dodatku Power Query mogą wywoływać usługi SAP hosted OData przy jednoczesnym przestrzeganiu mapowania nazwy użytkownika sap.

Screenshot that shows the OData response in Excel Desktop.

Dostęp do oprogramowania SAP OData za pośrednictwem innych aplikacji i usług z obsługą dodatku Power Query

W powyższym przykładzie przedstawiono przepływ dla programu Excel Desktop, ale podejście ma zastosowanie do dowolnego produktu firmy Microsoft z włączoną obsługą OData dodatku Power Query. Aby uzyskać więcej informacji na temat łącznika OData dodatku Power Query i produktów, które go obsługują, zobacz dokumentację usługi Power Query Połączenie ors. Aby uzyskać więcej informacji, które produkty obsługują ogólnie dodatek Power Query, zobacz dokumentację dodatku Power Query.

Popularnymi konsumentami są usługi Power BI, Excel dla sieci web, Power Apps (Przepływy danych) i Analysis Service.

Rozwiązywanie problemów ze scenariuszami zapisywania zwrotnego sap za pomocą usługi Power Automate

Opisane podejście ma również zastosowanie do scenariuszy zapisu zwrotnego. Możesz na przykład użyć usługi Power Automate, aby zaktualizować partnera biznesowego w oprogramowaniu SAP przy użyciu protokołu OData za pomocą łączników obsługujących protokół HTTP (alternatywnie używać rfcs lub BAPIs). Poniżej przedstawiono przykład pulpitu nawigacyjnego usługa Power BI połączonego z usługą Power Automate za pośrednictwem alertów opartych na wartości i przycisku (wyróżnionego na zrzucie ekranu). Dowiedz się więcej o wyzwalaniu przepływów z raportów usługi Power BI w dokumentacji usługi Power Automate.

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

Wyróżniony przycisk wyzwala przepływ, który przekazuje żądanie OData PATCH do bramy SAP Gateway w celu zmiany roli partnera biznesowego.

Uwaga

Użyj zasad usługi Azure API Management dla oprogramowania SAP , aby obsługiwać uwierzytelnianie, odświeżać tokeny, tokeny CSRF i ogólne buforowanie tokenów poza przepływem.

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

Następne kroki

Dowiedz się, gdzie można używać OData z programem Power Query

Praca z interfejsami API sap OData w usłudze Azure API Management

Konfigurowanie usługi Azure API Management dla interfejsów API SAP

Samouczek: analizowanie danych sprzedaży z programu Excel i źródła danych OData

Ochrona interfejsów API za pomocą usługi Application Gateway i usługi API Management

Integrowanie usługi API Management w wewnętrznej sieci wirtualnej z usługą Application Gateway

Omówienie usługi aplikacja systemu Azure Gateway i zapory aplikacji internetowej dla oprogramowania SAP

Automatyzowanie wdrożeń interfejsu API za pomocą metodyki APIOps