Power Query를 사용하여 라이브 OData 피드에 대한 SAP 보안 주체 전파 사용
Microsoft Excel 또는 Power BI에서 SAP 데이터 세트를 사용하는 것은 고객의 일반적인 요구 사항입니다.
이 문서에서는 Power Query를 사용하여 OData를 통해 SAP 데이터 세트를 사용할 수 있도록 하는 데 필요한 구성 및 구성 요소에 대해 설명합니다. SAP 데이터 통합은 데이터 내보내기(예: SAP 목록 뷰어(ALV) CSV 내보내기)와 달리 Microsoft Excel 또는 Power BI 주문형과 같은 클라이언트에서 새로 고칠 수 있기 때문에 "라이브"로 간주됩니다. 이러한 내보내기는 본질적으로 고정적이며 데이터 원본과 지속적인 관계가 없습니다.
이 문서에서는 파워 쿼리에서 알려진 Microsoft Entra ID와 SAP 백 엔드 사용자 간의 엔드 투 엔드 사용자 매핑에 중점을 둡니다. 이 메커니즘을 종종 SAP 보안 주체 전파라고 합니다.
설명된 구성의 초점은 Azure API Management, SAP 게이트웨이, AS ABAP가 있는 SAP OAuth 2.0 서버 및 OData 소스에 있지만 사용된 개념은 모든 웹 기반 리소스에 적용할 수 있습니다.
Important
참고: SAP 보안 주체 전파는 라이선스가 부여된 명명된 SAP 사용자에 대한 사용자 매핑을 보장합니다. SAP 라이선스 관련 질문은 SAP 담당자에게 문의하세요.
SAP 통합이 포함된 Microsoft 제품 개요
SAP 제품과 Microsoft 365 포트폴리오 간의 통합은 사용자 지정 코드 및 파트너 추가 기능에서 완전히 사용자 지정된 Office 제품에 이르기까지 다양합니다. 몇 가지 예는 다음과 같습니다.
이 문서에서 설명하는 메커니즘은 Power Query의 표준 내장 OData 기능을 사용하고 Azure에 배포된 SAP 환경에 중점을 둡니다. Azure API Management 자체 호스팅 게이트웨이를 사용하여 온-프레미스 환경을 해결합니다.
일반적으로 Power Query를 지원하는 Microsoft 제품에 대한 자세한 내용은 Power Query 설명서를 참조하세요.
설치 고려 사항
최종 사용자는 로컬 데스크톱 또는 웹 기반 클라이언트(예: Excel 또는 Power BI) 중에서 선택할 수 있습니다. 클라이언트 애플리케이션과 대상 SAP 워크로드 사이의 네트워크 경로에 대해 클라이언트 실행 환경을 고려해야 합니다. VPN과 같은 네트워크 액세스 솔루션은 웹용 Excel과 같은 앱의 범위에 포함되지 않습니다.
Azure API Management는 Azure 환경(내부 또는 외부)에 적용할 수 있는 다양한 배포 모드의 로컬 및 웹 기반 환경 요구 사항을 반영합니다. Internal
은 개인 가상 네트워크로 완전히 제한되는 인스턴스를 나타내고 external
은 Azure API Management에 대한 공용 액세스를 유지합니다. 온-프레미스 설치에는 Azure API Management 자체 호스팅 게이트웨이를 사용하는 것처럼 접근 방식을 적용하려면 하이브리드 배포가 필요합니다.
파워 쿼리에는 일치하는 API 서비스 URL 및 Microsoft Entra 애플리케이션 ID URL이 필요합니다. 요구 사항을 충족하도록 Azure API Management용 사용자 지정 도메인을 구성합니다.
원하는 대상 OData 서비스를 노출하도록 SAP 게이트웨이를 구성해야 합니다. SAP 트랜잭션 코드 /IWFND/MAINT_SERVICE
를 통해 사용 가능한 서비스를 검색하고 활성화합니다. 자세한 내용은 SAP의 OData 구성을 참조하세요.
Azure API Management 사용자 지정 도메인 구성
관리형 인증서 및 Azure App Service 도메인과 함께 api.custom-apim.domain.com
이라는 사용자 정의 도메인을 사용하는 API Management의 예제 구성 스크린샷은 아래를 참조하세요. 더 많은 도메인 인증서 옵션은 Azure API Management 설명서를 참조하세요.
도메인 요구 사항에 따라 사용자 지정 도메인 설정을 완료합니다. 자세한 내용은 사용자 지정 도메인 설명서를 참조하세요. 도메인 이름 소유권을 증명하고 인증서에 대한 액세스 권한을 부여하려면 아래와 같이 해당 DNS 레코드를 Azure App Service 도메인 custom-apim.domain.com
에 추가합니다.
Azure API Management 테넌트에 대한 각 Microsoft Entra 애플리케이션 등록은 다음과 같습니다.
참고 항목
Azure API Management용 사용자 지정 도메인이 옵션이 아닌 경우 사용자 지정 Power Query 커넥터를 대신 사용해야 합니다.
Power Query를 위한 Azure API Management 정책 디자인
대상 OData API에 대해 이 Azure API Management 정책을 사용하여 Power Query의 인증 흐름을 지원합니다. 인증 메커니즘을 강조 표시하는 해당 정책의 조각은 아래에서 참조하세요. 여기에서 Power Query에 사용된 클라이언트 ID를 찾습니다.
<!-- 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>
대상 서버가 원래 URL로 응답하기 때문에 정책은 조직 계정 로그인 흐름을 지원할 뿐만 아니라 OData URL 응답 재작성을 지원합니다. 언급된 정책의 조각은 아래를 참조하세요.
<!-- 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>
참고 항목
인터넷에서 안전한 SAP 액세스 및 SAP 경계 네트워크 디자인에 대한 자세한 내용은 이 가이드를 참조하세요. Azure를 사용하여 SAP API를 보호하는 것과 관련하여 이 문서를 참조하세요.
Excel Desktop의 Power Query를 통한 SAP OData 인증
지정된 구성을 사용하면 Power Query의 기본 제공 인증 메커니즘을 노출된 OData API에서 사용할 수 있습니다. 데이터 리본(데이터 가져오기 -> 기타 소스에서 -> OData 피드에서)을 통해 Excel 시트에 새 OData 소스를 추가합니다. 대상 서비스 URL을 유지 관리합니다. 아래 예는 SAP 게이트웨이 데모 서비스 GWSAMPLE_BASIC을 사용합니다. SAP 트랜잭션 /IWFND/MAINT_SERVICE
를 사용하여 검색하거나 활성화합니다. 마지막으로 공식 OData 가져오기 가이드를 사용하여 Azure API Management에 추가합니다.
기본 URL을 검색하고 대상 애플리케이션에 삽입합니다. 아래 예에서는 Excel Desktop과의 통합 환경을 보여줍니다.
로그인 방법을 조직 계정으로 전환하고 로그인을 클릭합니다. SAP 보안 주체 전파를 사용하여 SAP 게이트웨이에서 명명된 SAP 사용자에게 매핑되는 Microsoft Entra 계정을 제공합니다. 구성에 대한 자세한 내용은 이 Microsoft 자습서를 참조하세요. 이 SAP 커뮤니티 게시물 및 이 비디오 시리즈의 SAP 보안 주체 전파에 대해 자세히 알아보세요.
Excel의 Power Query에서 인증 설정을 적용해야 하는 수준을 계속 선택합니다. 아래 예는 샘플 서비스 GWSAMPLE_BASIC뿐만 아니라 대상 SAP 시스템에서 호스트되는 모든 OData 서비스에 적용되는 설정을 보여줍니다.
참고 항목
아래 화면의 URL 수준에 대한 권한 범위 설정은 SAP 백 엔드의 실제 권한과 독립적입니다. SAP 게이트웨이는 매핑된 명명된 SAP 사용자의 각 요청 및 관련 인증의 최종 유효성 검사기로 남아 있습니다.
Important
위의 지침은 파워 쿼리를 통해 Microsoft Entra ID에서 유효한 인증 토큰을 가져오는 프로세스에 초점을 맞춥니다. 이 토큰은 SAP 보안 주체 전파를 위해 추가로 처리되어야 합니다.
Azure API Management를 사용하여 SAP 보안 주체 전파 구성
이 두 번째 SAP용 Azure API Management 정책을 사용하여 중간 계층에서 SAP 보안 주체 전파 구성을 완료합니다. SAP 게이트웨이 백 엔드 구성에 대한 자세한 내용은 이 Microsoft 자습서를 참조하세요.
이 정책은 Microsoft Entra ID와 SAP 게이트웨이 간에 설정된 SSO 설정에 의존합니다( Microsoft Entra 갤러리에서 SAP NetWeaver 사용). 데모 사용자 Adele Vance를 사용하는 예는 아래를 참조하세요. Microsoft Entra ID와 SAP 시스템 간의 사용자 매핑은 고유한 사용자 식별자로 UPN(사용자 계정 이름)에 따라 발생합니다.
UPN 매핑은 트랜잭션 SAML2를 사용하여 SAP 백 엔드에서 유지 관리됩니다.
이 구성에 따라 명명된 SAP 사용자가 해당 Microsoft Entra 사용자에게 매핑됩니다. 트랜잭션 코드 SU01을 사용하는 SAP 백 엔드의 예제 구성은 아래를 참조하세요.
필수적인 AS ABAP가 있는 SAP OAuth 2.0 서버 구성에 대한 자세한 내용은 OAuth를 사용하는 SAP NetWeaver의 SSO에 대한 Microsoft 자습서를 참조하세요.
설명된 Azure API Management 정책을 사용하여 모든 Power Query 지원 Microsoft 제품은 SAP 명명된 사용자 매핑을 준수하면서 SAP 호스팅 OData 서비스를 호출할 수 있습니다.
다른 Power Query 지원 애플리케이션 및 서비스를 통한 SAP OData 액세스
위의 예는 Excel Desktop에 대한 흐름을 보여주지만 접근 방식은 모든 Power Query OData 지원 Microsoft 제품에 적용할 수 있습니다. Power Query의 OData 커넥터와 이를 지원하는 제품에 대한 자세한 내용은 Power Query 커넥터 설명서를 참조하세요. 일반적으로 Power Query를 지원하는 제품에 대한 자세한 내용은 Power Query 설명서를 참조하세요.
자주 이용하는 소비자로는 Power BI, 웹용 Excel, Power Apps(Dataflows) 및 Analysis Service 등이 있습니다.
Power Automate를 사용하여 SAP 쓰기 저장 시나리오 해결
설명된 접근 방식은 쓰기 저장 시나리오에도 적용됩니다. 예를 들어 Power Automate를 사용하여 http 지원 커넥터를 사용하여 OData를 사용하여 SAP의 비즈니스 파트너를 업데이트할 수 있습니다(또는 RFC 또는 BAPI 사용). 아래에서 값 기반 알림 및 단추(스크린샷에 강조 표시됨)을 통해 Power Automate에 연결된 Power BI 서비스 대시보드의 예를 참조하세요. Power Automate 설명서에서 Power BI 보고서의 흐름 트리거에 대해 자세히 알아보세요.
강조 표시된 단추는 OData PATCH 요청을 SAP 게이트웨이로 전달하여 비즈니스 파트너 역할을 변경하는 흐름을 트리거합니다.
다음 단계
Power Query와 함께 OData를 사용할 수 있는 위치에 대해 알아보기
Azure API Management에서 SAP OData API 사용
SAP API용 Azure API Management 구성
자습서: Excel 및 OData 피드의 판매 데이터 분석
Application Gateway 및 API Management를 사용하여 API 보호
내부 가상 네트워크에 API Management를 Application Gateway 통합
Azure Application Gateway 및 SAP용 Web Application Firewall 이해