Aracılığıyla paylaş


Power Query ile canlı OData akışları için SAP Asıl Yayma'yı etkinleştirme

Microsoft Excel veya Power BI'da SAP veri kümeleriyle çalışmak müşteriler için yaygın bir gereksinimdir.

Bu makalede, Power Query ile OData aracılığıyla SAP veri kümesi tüketimini etkinleştirmek için gerekli yapılandırmalar ve bileşenler açıklanmaktadır. Sap veri tümleştirmesi, örneğin sap Liste Görüntüleyicisi (ALV) CSV dışarı aktarmalarından farklı olarak Microsoft Excel veya Power BI gibi istemcilerden isteğe bağlı olarak yenilenebildiği için "canlı" olarak kabul edilir. Bu dışarı aktarmalar doğası gereği statiktir ve veri kaynağıyla sürekli bir ilişkisi yoktur.

Makalede, Power Query'deki bilinen Microsoft Entra kimliği ile SAP arka uç kullanıcısı arasında uçtan uca kullanıcı eşlemesi vurgulanmaktadır. Bu mekanizma genellikle SAP Sorumlusu Yayma olarak adlandırılır.

Açıklanan yapılandırmanın odak noktası Azure API Management, SAP Gateway, AS ABAP ile SAP OAuth 2.0 Sunucusu ve OData kaynaklarıdır, ancak kullanılan kavramlar web tabanlı kaynaklar için geçerlidir.

Önemli

Not: SAP Sorumlusu Yayma, lisanslı adlı SAP kullanıcısına kullanıcı eşlemesi sağlar. SAP lisansıyla ilgili sorularınız için sap temsilcinize başvurun.

SAP tümleştirmesi ile Microsoft ürünlerine genel bakış

SAP ürünleriyle Microsoft 365 portföyü arasındaki tümleştirmeler, özel kodlar ve iş ortağı eklentilerinden tam olarak özelleştirilmiş Office ürünlerine kadar değişir. Aşağıda birkaç örnek verilmiştir:

Bu makalede açıklanan mekanizma, Power Query'nin standart yerleşik OData özelliklerini kullanır ve Azure'da dağıtılan SAP manzaralarını vurgular. Azure API Management şirket içinde barındırılan Ağ Geçidi ile şirket içi ortamları ele alın.

Genel olarak Power Query'yi hangi Microsoft ürünlerinin desteklediği hakkında daha fazla bilgi için Power Query belgelerine bakın.

Kurulumla ilgili dikkat edilmesi gerekenler

Son kullanıcıların yerel masaüstü veya web tabanlı istemciler (örneğin Excel veya Power BI) arasında bir seçeneği vardır. İstemci uygulaması ile hedef SAP iş yükü arasındaki ağ yolu için istemci yürütme ortamının dikkate alınması gerekir. VPN gibi ağ erişim çözümleri, Web için Excel gibi uygulamaların kapsamında değildir.

Azure API Management , Yerel ve web tabanlı ortam gereksinimlerini, Azure manzaralarına ( veya dış) uygulanabilen farklı dağıtım modlarıyla yansıtır. Internal özel bir sanal ağ ile tamamen kısıtlanmış örneklere karşılık gelirken external Azure API Management'a genel erişimi korur. Şirket içi yüklemeler, Azure API Management şirket içinde barındırılan Ağ Geçidi'ni kullanırken olduğu gibi yaklaşımı uygulamak için karma dağıtım gerektirir.

Power Query için eşleşen API hizmeti URL'si ve Microsoft Entra uygulama kimliği URL'si gerekir. Gereksinimi karşılamak üzere Azure API Management için özel bir etki alanı yapılandırın.

SAP Gateway'in istenen hedef OData hizmetlerini kullanıma sunması için yapılandırılması gerekir. SAP işlem kodu /IWFND/MAINT_SERVICEaracılığıyla kullanılabilir hizmetleri keşfedin ve etkinleştirin. Daha fazla bilgi için bkz. SAP'nin OData yapılandırması.

Azure API Management özel etki alanı yapılandırması

Yönetilen sertifika ve Azure Uygulaması Hizmet Etki Alanı ile adlı api.custom-apim.domain.com özel bir etki alanı kullanan API Management'taki örnek yapılandırmanın ekran görüntüsüne bakın. Daha fazla etki alanı sertifikası seçeneği için Azure API Management belgelerine bakın.

Azure API Management'ta özel etki alanı yapılandırmasını gösteren ekran görüntüsü.

Özel etki alanınızın kurulumunu etki alanı gereksinimlerine göre tamamlayın. Daha fazla bilgi için özel etki alanı belgelerine bakın. Etki alanı adı sahipliğini kanıtlamak ve sertifikaya erişim vermek için bu DNS kayıtlarını aşağıdaki gibi Azure Uygulaması Hizmet Etki Alanınıza custom-apim.domain.com ekleyin:

Azure API Management etki alanına özel etki alanı eşlemesini gösteren ekran görüntüsü.

Azure API Management kiracısı için ilgili Microsoft Entra uygulama kaydı aşağıdakine benzer olacaktır.

Microsoft Entra Id'de Azure API Management için uygulama kaydını gösteren ekran görüntüsü.

Not

Azure API Management için özel etki alanı sizin için bir seçenek değilse, bunun yerine özel bir Power Query Bağlayıcısı kullanmanız gerekir.

Power Query için Azure API Management ilke tasarımı

Power Query'nin kimlik doğrulama akışını desteklemek üzere hedef OData API'niz için bu Azure API Management ilkesini kullanın. Bu ilkedeki kimlik doğrulama mekanizmasını vurgulayan bir kod parçacığının altına bakın. Power Query için kullanılan istemci kimliğini burada bulabilirsiniz.

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

Kuruluş Hesabı oturum açma akışının desteğine ek olarak, hedef sunucu özgün URL'lerle yanıt verdiği için ilke OData URL yanıtını yeniden yazmayı destekler. Bahsedilen ilkeden bir kod parçacığının altına bakın:

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

Not

İnternet'ten güvenli SAP erişimi ve SAP çevre ağı tasarımı hakkında daha fazla bilgi için bu kılavuza bakın. AZURE ile SAP API'lerinin güvenliğini sağlamayla ilgili olarak bu makaleye bakın.

Excel Desktop'ta Power Query aracılığıyla SAP OData kimlik doğrulaması

Verilen yapılandırmayla, Power Query'nin yerleşik kimlik doğrulama mekanizması kullanıma sunulan OData API'leri için kullanılabilir hale gelir. Veri şeridi aracılığıyla Excel sayfasına yeni bir OData kaynağı ekleyin (Veri Al -> Diğer Kaynaklardan -> OData Akışından). Hedef hizmet URL'nizi koruyun. Aşağıdaki örnekte SAP Gateway tanıtım hizmeti GWSAMPLE_BASIC kullanılır. SAP işlemini /IWFND/MAINT_SERVICEkullanarak keşfedin veya etkinleştirin. Son olarak resmi OData içeri aktarma kılavuzunu kullanarak Azure API Management'a ekleyin.

Azure API Management'ta OData URL'sinin nasıl bulunduğunu gösteren ekran görüntüsü.

Temel URL'yi alın ve hedef uygulamanıza ekleyin. Aşağıdaki örnekte Excel Desktop ile tümleştirme deneyimi gösterilmektedir.

Excel Desktop'taki OData yapılandırma sihirbazını gösteren ekran görüntüsü.

Oturum açma yöntemini Kuruluş hesabı olarak değiştirin ve Oturum aç'a tıklayın. SAP Sorumlu Yayma kullanarak SAP Gateway'de adlandırılmış SAP kullanıcısına eşlenen Microsoft Entra hesabını sağlayın. Yapılandırma hakkında daha fazla bilgi için bu Microsoft öğreticisine bakın. Bu SAP topluluk gönderisinden ve bu video serisinden SAP Sorumlusu Yayma hakkında daha fazla bilgi edinin.

Excel'de Power Query tarafından kimlik doğrulama ayarlarının hangi düzeyde uygulanacağını seçmeye devam edin. Aşağıdaki örnekte, hedef SAP sisteminde barındırılan tüm OData hizmetleri için geçerli olacak bir ayar gösterilmektedir (yalnızca örnek hizmet GWSAMPLE_BASIC için değil).

Not

Aşağıdaki ekranda URL düzeyindeki yetkilendirme kapsamı ayarı, SAP arka uçtaki gerçek yetkilendirmelerden bağımsızdır. SAP Gateway, eşlenmiş sap kullanıcısı için her isteğin ve ilişkili yetkilendirmelerin son doğrulayıcısı olmaya devam eder.

Kuruluş Hesabı seçeneği için Excel'de oturum açma akışını gösteren ekran görüntüsü.

Önemli

Yukarıdaki kılavuz, Power Query aracılığıyla Microsoft Entra Id'den geçerli bir kimlik doğrulama belirteci alma işlemine odaklanır. BU belirtecin SAP Sorumlusu Yayması için daha fazla işlenmesi gerekir.

Azure API Management ile SAP Sorumlusu Yayma'sını yapılandırma

Orta katmanda SAP Sorumlusu Yayma yapılandırmasını tamamlamak üzere SAP için bu ikinci Azure API Management ilkesini kullanın. SAP Gateway arka ucu yapılandırması hakkında daha fazla bilgi için bu Microsoft öğreticisine bakın.

Not

Bu SAP topluluk gönderisinden ve bu video serisinden SAP Sorumlusu Yayma hakkında daha fazla bilgi edinin.

Bu makalede yer alan Microsoft Entra uygulama kayıtlarını gösteren diyagram.

İlke, Microsoft Entra Id ile SAP Gateway arasında yerleşik bir SSO kurulumuna dayanır (Microsoft Entra galerisinden SAP NetWeaver kullanın). Adele Vance tanıtım kullanıcısı ile ilgili bir örneği aşağıda bulabilirsiniz. Microsoft Entra Id ile SAP sistemi arasındaki kullanıcı eşlemesi, benzersiz kullanıcı tanımlayıcısı olarak kullanıcı asıl adına (UPN) göre gerçekleşir.

Microsoft Entra Id'de tanıtım kullanıcısının UPN'sini gösteren ekran görüntüsü.

UPN talebiyle SAP Gateway için SAML2 yapılandırmasını gösteren ekran görüntüsü.

UPN eşlemesi, SAML2 işlemi kullanılarak SAP arka ucunda tutulur.

SAP SAML2 işleminde e-posta eşleme modunu gösteren ekran görüntüsü.

SAP kullanıcıları adlı bu yapılandırmaya göre ilgili Microsoft Entra kullanıcısıyla eşlenir. SU01 işlem kodunu kullanarak SAP arka ucundan örnek yapılandırmaya bakın.

Eşlenmiş e-posta adresiyle SU01 işlemindeki adlandırılmış SAP kullanıcısının ekran görüntüsü.

AS ABAP yapılandırmasıyla gerekli SAP OAuth 2.0 Sunucusu hakkında daha fazla bilgi için, OAuth kullanan SAP NetWeaver ile SSO hakkında bu Microsoft öğreticisine bakın.

Açıklanan Azure API Management ilkelerinin kullanılması, Herhangi bir Power Query özellikli Microsoft ürünü SAP tarafından barındırılan OData hizmetlerini çağırırken SAP adlı kullanıcı eşlemesini de kabul edebilir.

Excel Desktop'ta OData yanıtını gösteren ekran görüntüsü.

Diğer Power Query özellikli uygulamalar ve hizmetler aracılığıyla SAP OData erişimi

Yukarıdaki örnekte Excel Desktop için akış gösterilmektedir, ancak bu yaklaşım Power Query OData özellikli tüm Microsoft ürünleri için geçerlidir. Power Query'nin OData bağlayıcısı ve hangi ürünlerin desteklediği hakkında daha fazla bilgi için Power Query Bağlayıcıları belgelerine bakın. Genel olarak Power Query'yi destekleyen ürünler hakkında daha fazla bilgi için Power Query belgelerine bakın.

Popüler tüketiciler Power BI, Web için Excel, Power Apps (Veri akışları) ve Analysis Service'tir.

Power Automate ile SAP geri yazma senaryolarını ele al

Açıklanan yaklaşım, geri yazma senaryoları için de geçerlidir. Örneğin, Http etkin bağlayıcılarla (alternatif olarak RFC'leri veya BAPI'leri kullanın) OData kullanarak SAP'deki bir iş ortağını güncelleştirmek için Power Automate'i kullanabilirsiniz. Değer tabanlı uyarılar ve bir düğme (ekran görüntüsünde vurgulanmış) aracılığıyla Power Automate'e bağlı bir Power BI hizmeti panosu örneği aşağıda verilmiştir. Power Automate belgelerinde Power BI raporlarından akışları tetikleme hakkında daha fazla bilgi edinin.

Akış özellikli Power BI hizmeti panosunu gösteren ekran görüntüsü.

Vurgulanan düğme, iş ortağı rolünü değiştirmek için OData PATCH isteğini SAP Gateway'e ileden bir akışı tetikler.

Not

Kimlik doğrulamasını, yenileme belirteçlerini, CSRF belirteçlerini ve akışın dışındaki belirteçlerin genel önbelleğe alınmasını işlemek için SAP için Azure API Management ilkesini kullanın.

SAP arka ucunda iş ortağı değişikliğini isteyen Power Automate akışını gösteren ekran görüntüsü.

Sonraki adımlar

Power Query ile OData'nın nerede kullanılacağını öğrenin

Azure API Management'ta SAP OData API'leriyle çalışma

SAP API'leri için Azure API Management'ı yapılandırma

Öğretici: Excel'den ve OData akışından gelen satış verilerini analiz etme

Application Gateway ve API Management ile API'leri koruma

API Management'i Application Gateway ile iç sanal ağda tümleştirme

SAP için Azure Uygulaması Lication Gateway ve Web Uygulaması Güvenlik Duvarı anlama

APIOps ile API dağıtımlarını otomatikleştirme