Bagikan melalui


Mengaktifkan Propagasi Utama SAP untuk umpan OData langsung dengan Power Query

Bekerja dengan himpunan data SAP di Microsoft Excel atau Power BI adalah persyaratan umum bagi pelanggan.

Artikel ini menjelaskan konfigurasi dan komponen yang diperlukan untuk mengaktifkan konsumsi himpunan data SAP melalui OData dengan Power Query. Integrasi data SAP dianggap "langsung" karena dapat di-refresh dari klien seperti Microsoft Excel atau Power BI sesuai permintaan, tidak seperti ekspor data (seperti ekspor CSV SAP List Viewer (ALV) misalnya. Ekspor tersebut bersifat statis dan tidak memiliki hubungan berkelanjutan dengan asal data.

Artikel ini memberi penekanan pada pemetaan pengguna end-to-end antara identitas Microsoft Entra yang diketahui di Power Query dan pengguna backend SAP. Mekanisme ini sering disebut sebagai Propagasi Utama SAP.

Fokus konfigurasi yang dijelaskan adalah pada Azure API Management, SAP Gateway, SAP OAuth 2.0 Server dengan AS ABAP, dan sumber OData, tetapi konsep yang digunakan berlaku untuk sumber daya berbasis web apa pun.

Penting

Catatan: SAP Principal Propagation memastikan pemetaan pengguna ke pengguna berlisensi bernama SAP. Untuk pertanyaan terkait lisensi SAP, silakan hubungi perwakilan SAP Anda.

Gambaran umum produk Microsoft dengan integrasi SAP

Integrasi antara produk SAP dan portofolio Microsoft 365 berkisar dari kode kustom, dan add-on mitra ke produk Office yang sepenuhnya disesuaikan. Berikut adalah beberapa contohnya:

Mekanisme yang dijelaskan dalam artikel ini menggunakan kemampuan OData bawaan standar Power Query dan menekankan untuk lanskap SAP yang disebarkan di Azure. Alamat lanskap lokal dengan Gateway yang dihost sendiri Azure API Management.

Untuk informasi selengkapnya tentang produk Microsoft mana yang mendukung Power Query secara umum, lihat dokumentasi Power Query.

Pertimbangan penyiapan

Pengguna akhir memiliki pilihan antara desktop lokal atau klien berbasis web (misalnya Excel atau Power BI). Lingkungan eksekusi klien perlu dipertimbangkan untuk jalur jaringan antara aplikasi klien dan beban kerja SAP target. Solusi akses jaringan seperti VPN tidak berada dalam cakupan untuk aplikasi seperti Excel untuk web.

Azure API Management mencerminkan kebutuhan lingkungan lokal dan berbasis web dengan mode penyebaran berbeda yang dapat diterapkan ke lanskap Azure (internal atau eksternal). Internal mengacu pada instans yang sepenuhnya dibatasi untuk jaringan virtual privat, sedangkan external mempertahankan akses publik ke Azure API Management. Penginstalan lokal memerlukan penyebaran hibrid untuk menerapkan pendekatan seperti halnya menggunakan Gateway yang dihosting sendiri oleh Azure API Management.

Power Query memerlukan URL layanan API yang cocok dan URL ID aplikasi Microsoft Entra. Konfigurasikan domain kustom untuk Azure API Management untuk memenuhi persyaratan.

SAP Gateway perlu dikonfigurasi untuk mengekspos layanan OData target yang diinginkan. Temukan dan aktifkan layanan yang tersedia melalui kode /IWFND/MAINT_SERVICEtransaksi SAP . Untuk informasi selengkapnya, lihat Konfigurasi OData SAP.

Konfigurasi domain kustom Azure API Management

Lihat di bawah cuplikan layar konfigurasi contoh di API Management menggunakan domain kustom yang disebut api.custom-apim.domain.com dengan sertifikat terkelola dan Domain Azure App Service. Untuk opsi sertifikat domain lainnya, lihat dokumentasi Azure API Management.

Cuplikan layar yang memperlihatkan konfigurasi domain kustom di Azure API Management.

Selesaikan penyiapan domain kustom Anda sesuai persyaratan domain. Untuk informasi selengkapnya, lihat dokumentasi domain kustom. Untuk membuktikan kepemilikan nama domain dan memberikan akses ke sertifikat, tambahkan catatan DNS tersebut ke Domain custom-apim.domain.com Azure App Service Anda seperti di bawah ini:

Cuplikan layar yang memperlihatkan pemetaan domain kustom ke domain Azure API Management.

Pendaftaran aplikasi Microsoft Entra masing-masing untuk penyewa Azure API Management akan terlihat seperti di bawah ini.

Cuplikan layar yang memperlihatkan pendaftaran aplikasi untuk Azure API Management di MICROSOFT Entra ID.

Catatan

Jika domain kustom untuk Azure API Management bukan opsi untuk Anda, Anda perlu menggunakan Konektor Power Query kustom sebagai gantinya.

Desain kebijakan Azure API Management untuk Power Query

Gunakan kebijakan Azure API Management ini untuk API OData target Anda untuk mendukung alur autentikasi Power Query. Lihat di bawah cuplikan dari kebijakan tersebut yang menyoroti mekanisme autentikasi. Temukan ID klien yang digunakan untuk Power Query di sini.

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

Selain dukungan alur masuk Akun Organisasi, kebijakan ini mendukung penulisan ulang respons URL OData karena server target membalas dengan URL asli. Lihat di bawah ini cuplikan dari kebijakan yang disebutkan:

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

Catatan

Untuk informasi selengkapnya tentang akses SAP yang aman dari desain jaringan perimeter Internet dan SAP, lihat panduan ini. Mengenai mengamankan API SAP dengan Azure, lihat artikel ini.

Autentikasi SAP OData melalui Power Query di Excel Desktop

Dengan konfigurasi tertentu, mekanisme autentikasi bawaan Power Query menjadi tersedia untuk API OData yang diekspos. Tambahkan sumber OData baru ke lembar Excel melalui pita Data (Dapatkan Data -> Dari Sumber Lain -> Dari Umpan OData). Pertahankan URL layanan target Anda. Contoh di bawah ini menggunakan layanan demo SAP Gateway GWSAMPLE_BASIC. Temukan atau aktifkan menggunakan transaksi /IWFND/MAINT_SERVICESAP . Terakhir tambahkan ke Azure API Management menggunakan panduan impor OData resmi.

Cuplikan layar yang memperlihatkan cara menemukan URL OData dalam Azure API Management.

Ambil URL Dasar dan sisipkan di aplikasi target Anda. Contoh di bawah ini memperlihatkan pengalaman integrasi dengan Excel Desktop.

Cuplikan layar yang memperlihatkan wizard konfigurasi OData di Excel Desktop.

Alihkan metode masuk ke akun Organisasi dan klik Masuk. Berikan akun Microsoft Entra yang dipetakan ke pengguna SAP bernama di Gateway SAP menggunakan Propagasi Utama SAP. Untuk informasi selengkapnya tentang konfigurasi, lihat tutorial Microsoft ini. Pelajari selengkapnya tentang Propagasi Utama SAP dari postingan komunitas SAP ini dan seri video ini.

Lanjutkan untuk memilih di tingkat mana pengaturan autentikasi harus diterapkan oleh Power Query di Excel. Contoh di bawah ini menunjukkan pengaturan yang akan berlaku untuk semua layanan OData yang dihosting pada sistem SAP target (tidak hanya ke layanan sampel GWSAMPLE_BASIC).

Catatan

Pengaturan cakupan otorisasi pada tingkat URL di layar di bawah ini tidak bergantung pada otorisasi aktual pada backend SAP. SAP Gateway tetap menjadi validator akhir dari setiap permintaan dan otorisasi terkait dari pengguna SAP bernama yang dipetakan.

Cuplikan layar yang memperlihatkan alur masuk dalam Excel untuk opsi Akun Organisasi.

Penting

Panduan di atas berfokus pada proses mendapatkan token autentikasi yang valid dari ID Microsoft Entra melalui Power Query. Token ini perlu diproses lebih lanjut untuk Propagasi Utama SAP.

Mengonfigurasi Propagasi Utama SAP dengan Azure API Management

Gunakan kebijakan Azure API Management kedua ini untuk SAP guna menyelesaikan konfigurasi untuk Propagasi Utama SAP pada lapisan tengah. Untuk informasi selengkapnya tentang konfigurasi backend SAP Gateway, lihat tutorial Microsoft ini.

Catatan

Pelajari selengkapnya tentang Propagasi Utama SAP dari postingan komunitas SAP ini dan seri video ini.

Diagram yang memperlihatkan pendaftaran aplikasi Microsoft Entra yang terlibat dalam artikel ini.

Kebijakan ini bergantung pada penyiapan SSO yang ditetapkan antara MICROSOFT Entra ID dan SAP Gateway (gunakan SAP NetWeaver dari galeri Microsoft Entra). Lihat di bawah ini contoh dengan pengguna demo Adele Vance. Pemetaan pengguna antara MICROSOFT Entra ID dan sistem SAP terjadi berdasarkan nama prinsipal pengguna (UPN) sebagai pengidentifikasi pengguna unik.

Cuplikan layar yang memperlihatkan UPN pengguna demo di MICROSOFT Entra ID.

Cuplikan layar yang memperlihatkan konfigurasi SAML2 untuk SAP Gateway dengan klaim UPN.

Pemetaan UPN dipertahankan di back end SAP menggunakan SAML2 transaksi.

Cuplikan layar yang memperlihatkan mode pemetaan email dalam transaksi SAP SAML2.

Menurut konfigurasi bernama pengguna SAP ini akan dipetakan ke masing-masing pengguna Microsoft Entra. Lihat di bawah contoh konfigurasi dari back end SAP menggunakan kode transaksi SU01.

Cuplikan layar pengguna SAP bernama dalam transaksi SU01 dengan alamat email yang dipetakan.

Untuk informasi selengkapnya tentang Server SAP OAuth 2.0 yang diperlukan dengan konfigurasi AS ABAP , lihat tutorial Microsoft tentang SSO dengan SAP NetWeaver ini menggunakan OAuth.

Menggunakan kebijakan Azure API Management yang dijelaskan setiap produk Microsoft yang diaktifkan Power Query dapat memanggil layanan OData yang dihosting SAP, sambil menghormati pemetaan pengguna bernama SAP.

Cuplikan layar yang memperlihatkan respons OData di Excel Desktop.

Akses SAP OData melalui aplikasi dan layanan lain yang diaktifkan Power Query

Contoh di atas memperlihatkan alur untuk Excel Desktop, tetapi pendekatan ini berlaku untuk produk Microsoft yang diaktifkan Power Query OData. Untuk informasi selengkapnya tentang konektor OData Power Query dan produk mana yang mendukungnya, lihat dokumentasi Konektor Power Query. Untuk informasi selengkapnya tentang produk mana yang mendukung Power Query secara umum, lihat dokumentasi Power Query.

Konsumen populer adalah Power BI, Excel untuk web, Power Apps (Aliran Data) dan Analysis Service.

Mengatasi skenario write-back SAP dengan Power Automate

Pendekatan yang dijelaskan juga berlaku untuk skenario write-back. Misalnya, Anda dapat menggunakan Power Automate untuk memperbarui mitra bisnis di SAP menggunakan OData dengan konektor berkemampuan http (atau menggunakan RFC atau BAPI). Lihat di bawah contoh dasbor layanan Power BI yang tersambung ke Power Automate melalui pemberitahuan berbasis nilai dan tombol (disorot pada cuplikan layar). Pelajari selengkapnya tentang memicu alur dari laporan Power BI pada dokumentasi Power Automate.

Cuplikan layar yang memperlihatkan dasbor layanan Power BI yang diaktifkan alur.

Tombol yang disorot memicu alur yang meneruskan permintaan OData PATCH ke Gateway SAP untuk mengubah peran mitra bisnis.

Catatan

Gunakan kebijakan Azure API Management untuk SAP untuk menangani autentikasi, token refresh, token CSRF, dan penembolokan token secara keseluruhan di luar alur.

Cuplikan layar yang memperlihatkan alur di Power Automate yang meminta perubahan mitra bisnis di back end SAP.

Langkah berikutnya

Pelajari dari mana Anda bisa menggunakan OData dengan Power Query

Bekerja menggunakan SAP OData API di Azure API Management

Mengonfigurasi Api Management Azure untuk API SAP

Tutorial: Menganalisis data penjualan dari Excel dan umpan OData

Melindungi API dengan Application Gateway dan API Management

Mengintegrasikan API Management dalam jaringan virtual internal dengan Application Gateway

Memahami Azure Application Gateway dan Web Application Firewall untuk SAP

Mengotomatiskan penyebaran API dengan APIOps