다음을 통해 공유


SAP OData 커넥터에서 SSO용 Microsoft Entra ID, Azure API Management 및 SAP 설정

SAP에 대한 SSO(Single Sign-On)에 Microsoft Entra ID 자격 증명을 사용하도록 Power Platform SAP OData 커넥터를 설정할 수 있습니다. 사용자는 SAP에서 권한 부여 및 할당된 역할을 준수하면서 여러 서비스에 여러 번 로그인하지 않고도 솔루션의 Power Platform SAP 데이터에 액세스할 수 있습니다.

이 문서에서는 SAP와 Microsoft Entra ID 간의 트러스트 설정 및 Microsoft Entra ID OAuth 토큰을 SAP에 대한 OData 호출을 수행하는 데 사용되는 SAML 토큰으로 변환하도록 Azure API Management를 구성하는 등의 프로세스를 안내합니다.

Power Platform 및 Copilot에서 Azure API Management를 통한 SAP로의 트래픽 흐름을 보여주는 솔루션 다이어그램입니다.

블로그 게시물에서 설정 프로세스에 대한 추가 인사이트와 컨텍스트를 얻으세요.

사전 요구 사항

  • SAP 인스턴스
  • Azure API Management 리소스

SAP에서 로컬 공급자 SAML 메타데이터 다운로드

SAML 2.0을 사용하여 SAP와 Microsoft Entra ID 간의 신뢰 관계를 설정하려면 먼저 SAP에서 메타데이터 xml 파일을 다운로드합니다.

SAP GUI에서 SAP 기본 관리자로 다음 단계를 수행합니다.

  1. SAP GUI에서 트랜잭션 SAML2 를 실행하여 관련 SAP 클라이언트 종속 마법사를 열고 로컬 공급자 탭을 선택합니다 .

  2. 메타데이터를 선택한 다음 메타데이터 다운로드를 선택합니다. 이후 단계에서 SAP SAML 메타데이터를 Microsoft Entra ID에 업로드합니다.

  3. URI 규격 공급자 이름을 기록해 둡니다.

참고

Microsoft Entra ID를 사용하려면 이 값이 URI를 준수해야 합니다. 공급자 이름이 이미 설정되어 있고 URI와 호환되지 않는 경우, SAP Basis 팀에 먼저 문의하지 않고 변경하지 마세요. 공급자 이름을 변경하면 기존 SAML 구성이 중단될 수 있습니다. 변경 단계는 이 문서의 범위를 벗어납니다. 자세한 내용은 SAML Basis 팀에 문의하세요.

자세한 내용은 SAP의 공식 문서를 참조하세요 .

SAP 메타데이터를 ID 엔터프라이즈 애플리케이션으로 Microsoft Entra 가져오기

Azure Portal에서 Microsoft Entra ID 관리자로 다음 단계를 수행합니다.

  1. Microsoft Entra ID>엔터프라이즈 애플리케이션을 선택합니다.

  2. 새 애플리케이션을 선택합니다.

  3. SAP Netweaver를 검색합니다.

  4. 엔터프라이즈 애플리케이션의 이름을 지정한 후 만들기를 선택합니다.

  5. Single Sign-On으로 이동하여 SAML을 선택합니다.

  6. 메타데이터 파일 업로드를 선택하고 SAP에서 다운로드한 메타데이터 파일을 선택합니다.

  7. 추가를 선택합니다.

  8. 회신 URL(Assertion Consumer Service URL)을 SAP OAuth 토큰 엔드포인트로 변경합니다. URL 형식은 https://<SAP server>:<port>/sap/bc/sec/oauth2/token입니다.

  9. 로그인 URL을 URI 준수 값으로 변경합니다. 이 매개 변수는 사용되지 않으며 URI 준수 값으로 설정할 수 있습니다.

  10. 저장을 선택합니다.

  11. 특성 및 클레임에서 편집을 선택합니다.

  12. 클레임 이름 고유 사용자 식별자(이름 ID)user.userprincipalname [nameid=format:emailAddress]로 설정되어 있는지 확인합니다.

  13. SAML 인증서에서 인증서(Base64)페더레이션 메타데이터 XML에 대해 다운로드를 선택합니다.

SAP에서 Microsoft Entra ID를 OAuth 2.0에 대한 신뢰할 수 있는 ID 공급자로 구성

  1. SAP NetWeaver 및 OAuth2에 Microsoft Entra 대한 ID 설명서 섹션에 설명된 단계를 따릅니다.

  2. SAP에서 OAuth2 클라이언트를 만든 후 이 문서로 돌아옵니다.

자세한 내용은 SAP의 공식 설명서를 참조하세요.

Azure API Management 리소스를 나타내는 Microsoft Entra ID 애플리케이션 만들기

Microsoft Power Platform SAP OData 커넥터에 대한 액세스 권한을 부여하는 Microsoft Entra ID 애플리케이션을 설정합니다. 이 애플리케이션을 사용하면 Azure API Management 리소스에서 OAuth 토큰을 SAML 토큰으로 변환할 수 있습니다.

Azure Portal에서 Microsoft Entra ID 관리자로 다음 단계를 수행합니다.

  1. Microsoft Entra ID>앱 등록>새 등록을 선택하세요.

  2. 이름을 입력하고 등록을 선택합니다.

  3. 인증서 및 암호>새 클라이언트 암호를 선택합니다.

  4. 설명을 입력한 후 추가를 선택합니다.

  5. 이 비밀을 복사하여 안전한 곳에 저장합니다.

  6. API 권한>권한 추가를 선택합니다.

  7. Microsoft Graph>위임된 권한을 선택합니다.

  8. OpenID를 검색하여 선택합니다.

  9. 권한 추가를 선택합니다.

  10. 인증>플랫폼 추가>을 선택합니다.

  11. 리디렉션 URIhttps://localhost:44326/signin-oidc로 설정합니다.

  12. 액세스 토큰ID 토큰을 선택한 다음 구성을 선택합니다.

  13. API 노출을 선택합니다.

  14. 애플리케이션 ID URI 옆에서 추가를 선택합니다.

  15. 기본값을 적용하고 저장을 선택합니다.

  16. 범위 추가를 선택합니다.

  17. 범위 이름user_impersonation으로 설정합니다.

  18. 누가 동의할 수 있나요?관리자 및 사용자로 설정합니다.

  19. 범위 추가를 선택합니다.

  20. 애플리케이션(클라이언트) ID를 복사합니다.

ID 엔터프라이즈 애플리케이션을 사용하여 Microsoft Entra SAP Netweaver에 액세스할 수 있도록 Azure API Management 리소스에 권한 부여

  1. Microsoft Entra ID 엔터프라이즈 애플리케이션이 생성되면 일치하는 앱 등록이 생성됩니다. SAP NetWeaver용으로 만든 ID 엔터프라이즈 애플리케이션과 일치하는 앱 등록 Microsoft Entra 을 찾습니다.

  2. API 공개>클라이언트 애플리케이션 추가를 선택합니다.

  3. Azure API Management 인스턴스의 ID 앱 등록의 애플리케이션(클라이언트) ID Microsoft Entra 를 클라이언트 ID 붙여넣습니다.

  4. user_impersonation 범위를 선택한 다음, 애플리케이션 추가를 선택합니다.

SAP OData 커넥터에 Microsoft Power Platform Azure API Management에서 노출하는 API에 액세스할 수 있는 권한 부여

  1. Microsoft Entra Azure API Management의 ID 앱 등록에서 API 노출을 선택합니다> . 권한 있는 클라이언트 애플리케이션 아래에 SAP OData 커넥터 Power Platform 의 클라이언트 ID를 6bee4d13-fd19-43de-b82c-4b6401d174c3 추가합니다.

  2. user_impersonation 범위를 선택한 다음 저장을 선택합니다.

SAP 구성OAuth

Azure API Management가 사용자를 대신하여 토큰을 가져올 수 있도록 하는 SAP에서 OAuth 2.0 클라이언트를 만듭니다.

자세한 내용은 SAP의 공식 문서를 참조하세요 .

SAP GUI에서 SAP 기본 관리자로 다음 단계를 수행합니다.

  1. SOAUTH2 트랜잭션을 실행합니다.

  2. 만들기를 선택합니다.

  3. 클라이언트 ID 페이지에서 다음을 수행합니다.

    • OAuth 2.0 클라이언트 ID의 경우 SAP 시스템 사용자를 선택하세요.
    • 설명을 입력한 후 다음을 선택합니다.
  4. 클라이언트 인증 페이지에서 다음을 클릭합니다.

  5. 권한 부여 유형 설정 페이지에서:

    • 신뢰할 수 있는 OAuth 2.0 IdP의 경우 Microsoft Entra ID 항목을 선택합니다.
    • 새로 고침 허용을 선택한 다음 다음을 선택합니다.
  6. 범위 할당 페이지에서 추가를 선택하고, Azure API Management에서 사용하는 OData 서비스(예: ZAPI_BUSINESS_PARTNER_0001)를 선택한 다음, 다음을 선택합니다.

  7. 마침을 선택합니다.

Azure API Management 구성

SAP OData XML 메타데이터를 Azure API Management 인스턴스로 가져옵니다. 그런 다음, Azure API Management 정책을 적용하여 토큰을 변환합니다.

  1. Azure API Management 인스턴스를 열고 단계에 따라 SAP OData API를 만듭니다.

  2. API에서 명명된 값을 선택합니다.

  3. 다음 키/값 쌍을 추가합니다.

Key
AADSAPResource SAP 로컬 공급자 URI
AADTenantId 테넌트 GUID
APIMAADRegisteredAppClientId Microsoft Entra ID 애플리케이션 GUID
APIMAADRegisteredAppClientSecret 이전 단계의 클라이언트 암호
SAPOAuthClientID SAP 시스템 사용자
SAPOAuthClientSecret SAP 시스템 사용자 암호
SAPOAuthRefreshExpiry 토큰 새로 고침 만료
SAPOAuthScope SAP OAuth 구성 중에 선택한 OData 범위
SAPOAuthServerAddressForTokenEndpoint 토큰 획득을 수행하기 위해 호출할 Azure API Management에 대한 SAP 엔드포인트

참고

SAP SuccessFactors의 경우 설정이 약간 다릅니다. 자세한 내용은 SAP SuccessFactors 대한 Azure API Management 정책을 참조하세요.

Azure API Management 토큰 정책 적용

Azure API Management 정책을 사용하여 Microsoft Entra ID 발급 토큰을 SAP NetWeaver에서 허용하는 토큰으로 변환합니다. 이 작업은 OAuth2SAMLBearer 흐름을 사용하여 수행됩니다. 자세한 내용은 SAP의 공식 설명서를 참조하세요.

  1. Microsoft의 공식 GitHub 페이지에서 Azure API Management 정책을 복사합니다.

  2. Azure Portal을 엽니다.

  3. Azure API Management 리소스로 이동합니다.

  4. API를 선택한 다음, 사용자가 생성한 OData API를 선택합니다.

  5. 모든 작업을 선택합니다.

  6. 인바운드 처리에서 정책 </>을 선택합니다.

  7. 기존 정책을 삭제하고 복사한 정책을 붙여넣습니다.

  8. 저장을 선택합니다.