다음을 통해 공유


SSO용 Kerberos로 Microsoft Entra ID 설정

Kerberos 기반 SSO(Single Sign-On)에 Microsoft Entra ID 자격 증명을 사용하도록 Power Platform SAP ERP 커넥터를 설정할 수 있습니다. 사용자는 여러 서비스에 여러 번 로그인할 필요 없이 Power Platform 솔루션에서 SAP 데이터에 액세스하고 SAP RFC(Remote Function Calls)를 실행할 수 있습니다. 이 문서에서는 보안 통신을 위해 온-프레미스 데이터 게이트웨이에서 KCD(Kerberos 제한 위임) 구성을 포함하여 프로세스를 안내합니다.

Kerberos 제한 위임에 대해 자세히 알아보세요.

이 지침에서는 처음부터 시작한다고 가정합니다. 대부분의 고객은 이미 일부 단계를 완료했습니다. 시나리오에 대해 완료해야 하는 단계를 결정하는 것은 이 문서의 범위를 벗어납니다. 예를 들어, SAP 시스템이 이미 Kerberos 기반 SSO에 대해 구성된 경우 Active Directory Domain Services에서 SAP 서비스 계정 만들기 섹션을 건너뛸 수 있습니다.

사전 요구 사항

AD DS에서 SAP 서비스 계정 만들기

도메인 관리자는 먼저 서비스 계정을 만든 다음 SPN(서비스 사용자 이름)을 정의하고 Kerberos 암호화에 사용하도록 설정합니다.

참고

SAP Basis 관리자가 SAP 시스템이 Kerberos 기반 SSO에 대해 이미 구성되어 있음을 확인하는 경우 이 섹션을 건너뜁니다.

도메인 관리자로 다음 단계를 수행하여 서비스 계정을 설정합니다.

  1. 도메인 컨트롤러 호스트 PC에서 Microsoft 관리 콘솔(MMC)을 열고 Active Directory 사용자 및 컴퓨터 스냅인을 실행합니다.

  2. 도메인에서 사용자를 마우스 오른쪽 버튼으로 클릭하고 새로 만들기>사용자를 선택합니다.

  3. 전체 이름사용자 로그온 이름으로 Kerberos<SID>를 입력하세요. 여기서 <SID>는 SAP 시스템 ID(예: A4H)입니다.

  4. 다음을 선택합니다.

  5. 새 서비스 계정의 암호를 입력하고 확인합니다.

  6. 사용자가 암호를 변경할 수 없음암호가 만료되지 않음을 모두 선택하세요.

  7. 다음을 선택한 다음 마침을 선택합니다.

서비스 계정을 만든 상태에서 SPN(서비스 사용자 이름)을 정의하고 Kerberos 암호화에 사용하도록 설정합니다.

  1. ADSI 편집 스냅인(adsiedit.msc)을 열고 도메인에 연결합니다.

  2. 도메인의 기본 명명 컨텍스트에서 CN=Users를 선택합니다.

  3. CN=Kerberos<SID> 사용자 개체를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택합니다.

  4. 특성 목록에서 ServicePrincipalName을 선택합니다.

  5. 편집을 선택합니다.

  6. SAP/<SID> 형식으로 서비스 사용자 이름을 입력합니다. 여기서 <SID>는 SAP 시스템의 ID(예: A4H)입니다.

  7. 추가를 선택하고 확인을 선택합니다.

  8. Active Directory 사용자 및 컴퓨터 스냅인으로 돌아갑니다.

  9. 사용자 목록에서 새 SAP 서비스 계정 Kerberos<SID>를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택합니다.

  10. 계정 탭을 선택합니다.

  11. 계정 옵션에서 이 계정은 Kerberos AES 256비트 암호화를 지원합니다를 선택합니다.

  12. 확인을 선택합니다.

중요

Kerberos AES 256비트 암호화를 사용하도록 설정하면 이 Active Directory 계정에서 Kerberos 티켓을 요청하는 SAP GUI와 같은 다른 클라이언트에 문제가 발생할 수 있습니다. 이는 사용 가능한 암호화 방법 목록을 변경하고 다른 클라이언트에는 더 이상 공통 암호화 암호가 없기 때문입니다. Active Directory 로그를 확인하여 모든 클라이언트가 사용하는 암호화 방법을 파악한 다음, msDS-SupportedEncryptionTypes 속성을 올바른 값으로 수동으로 업데이트합니다. 업데이트 후 AES 256 암호화 옵션은 수동으로 선택할 필요 없이 자동으로 나타납니다. 자세한 내용은 핵심 인프라 및 커뮤니티 블로그의 지원되는 Kerberos 암호화 유형 선택 해독에서 확인하세요.

SAP에서 Kerberos SSO 인증을 사용하여 보안 네트워크 통신 설정

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

  1. SAP Single Sign-On 마법사를 시작하려면 명령 필드에 SNCWIZARD를 입력합니다.

  2. 마법사 시작 페이지에서 계속을 선택합니다.

  3. 시스템의 SNC ID에 대한 기본값을 수락하고 계속을 선택합니다.

  4. 기본 프로필 매개 변수 페이지에서 계속을 선택합니다.

  5. 닫기를 선택합니다.

  6. SAP 시스템에서 로그아웃하고 SAP 애플리케이션 서버를 다시 시작합니다.

  7. SAP GUI에 로그인하고 SNCWIZARD를 다시 실행합니다.

  8. 시작 페이지에서 계속을 선택합니다.

  9. Kerberos 자격 증명 페이지에서 계속을 선택합니다.

  10. SPNEGO 구성에서 표시/변경을 선택하여 편집 모드로 전환한 다음, 추가를 선택합니다.

  11. 다음 값을 입력합니다.

    • 사용자 계정 이름: Kerberos<SID>@DOMAIN. 여기서 Kerberos<SID>는 서비스 계정 사용자 이름이고 DOMAIN은 대문자로 표시된 Active Directory 도메인의 정규화된 이름입니다.(예: KerberosA4H(at)CORP.BESTRUN.COM).
    • 암호암호 확인: Active Directory 계정을 만들 때 입력한 암호입니다.
  12. Active Directory에서 사용자 확인을 선택하여 사용자를 확인한 다음, 종료를 선택합니다.

  13. 저장을 선택합니다.

  14. X.509 자격 증명 페이지에서 건너뛰기를 선택합니다.

  15. 완료를 선택합니다.

그런 다음 SNC 사용자 이름(Windows 도메인 사용자 이름 기반)을 SAP 사용자 계정 이름에 매핑합니다.

  1. SAP GUI에서 트랜잭션 SU01을 실행합니다.

  2. 사용자 필드에 테스트 사용자 ID(예: JDAVIS)를 입력한 후 변경을 선택하십시오.

  3. SNC 탭을 선택합니다.

  4. SNC 이름 필드에 사용자 계정 이름(예: p:CN=JDAVIS(at)CORP.BESTRUN.COM)을 입력합니다.

  5. 저장을 선택합니다.

Kerberos 제한 위임에 대한 온-프레미스 데이터 게이트웨이 설정

기본적으로 온-프레미스 게이트웨이는 머신-로컬 서비스 계정 NT Service\PBIEgwService로 실행됩니다. 프로토콜의 S4U 확장과 함께 Kerberos 제한 위임을 사용하려면 게이트웨이가 도메인에서 서비스 계정으로 실행되어야 합니다.

도메인 관리자로 다음 단계를 수행합니다.

  1. 도메인 컨트롤러 호스트 PC에서 Active Directory 사용자 및 컴퓨터 스냅인으로 돌아갑니다.

  2. 도메인에서 사용자를 마우스 오른쪽 버튼으로 클릭하고 새로 만들기>사용자를 선택합니다.

  3. 전체 이름사용자 로그온 이름으로 GatewaySvc를 입력합니다.

  4. 다음을 선택합니다.

  5. 새 도메인 서비스 계정의 암호를 입력하고 확인합니다.

  6. 사용자가 암호를 변경할 수 없음암호가 만료되지 않음을 모두 선택하세요.

  7. 다음을 선택한 다음 마침을 선택합니다.

도메인 서비스 계정이 만들어지면 다음으로 해당 서비스 사용자 이름을 정의하고 Kerberos 제한 위임에 사용하도록 설정합니다.

  1. 관리자 권한 PowerShell 창에서 다음 명령을 입력하여 새 서비스 계정에 대한 SPN을 만듭니다. <OPDG 호스트 이름>을 온-프레미스 데이터 게이트웨이의 호스트 이름으로 바꾸고 <도메인>을 도메인 이름으로 바꾸세요. 명령 프롬프트에 hostname 명령을 입력하면 호스트 이름을 찾을 수 있습니다.

    setspn –s gateway/<OPDG hostname> <domain>\GatewaySvc
    
  2. Active Directory 사용자 및 컴퓨터 스냅인에서 새 서비스 계정을 마우스 오른쪽 버튼으로 클릭하고 속성을 선택합니다.

  3. 위임 탭을 선택합니다.

  4. 지정된 서비스에 대한 위임에 대해서만 이 사용자 신뢰모든 인증 프로토콜 사용을 선택합니다.

  5. 추가를 선택합니다.

  6. 사용자 또는 컴퓨터를 선택합니다.

  7. 개체 이름 필드에 Kerberos<SID>를 입력합니다. 여기서 <SID>는 SAP 시스템의 ID(예: A4H)입니다.

  8. 이름 확인을 선택하고 확인을 선택합니다.

이제 허용되는 서비스 목록에 SAP 시스템의 SPN이 포함됩니다. 새 게이트웨이 서비스 계정은 Kerberos S4U2proxy 프로토콜 확장을 사용하여 전파된 사용자를 대신하여 SAP 시스템에 대한 서비스 티켓만 요청할 수 있습니다.

  1. 모두 선택을 선택합니다.
  2. 확인을 선택합니다.
  3. 확인을 두 번 선택합니다.
  4. 온-프레미스 데이터 게이트웨이 서비스 계정은 온-프레미스 데이터 게이트웨이 호스트의 로컬 정책에 부여되어야 합니다. 관리자 명령 프롬프트에서 gpedit.msc를 실행하여 로컬 그룹 정책 편집기로 이 구성을 수행합니다.
  5. 로컬 컴퓨터 정책 ->컴퓨터 구성 ->Windows 설정 ->보안 설정 ->로컬 정책 ->사용자 권한 할당으로 이동합니다. 온-프레미스 데이터 게이트웨이 도메인 서비스 계정(예: CORP\GatewaySvc)을 두 번 클릭하여 운영 체제의 일부로 작동하는 로컬 정책을 부여합니다.
  6. 사용자 추가 또는 그룹을 선택합니다.
  7. 온-프레미스 데이터 게이트웨이의 도메인 서비스 계정의 이름(예: GatewaySvc)을 입력하고 이름 확인을 선택하여 존재하는 전체 이름으로 확인합니다. 확인을 선택합니다. 이제 서비스 계정의 도메인 이름(예: CORP\GatewaySvc)이 정책의 사용자 목록에 추가됩니다. 확인을 선택하여 새로운 구성을 적용합니다.
  8. 인증 후 클라이언트 가장 정책에 대해서도 동일한 단계를 반복하여 두 번 클릭합니다. 사용자 추가 또는 그룹을 선택하고 이름 확인을 통해 온-프레미스 데이터 게이트웨이의 서비스 계정을 기존의 전체 이름으로 확인합니다. 확인을 선택합니다.
  9. 이제 서비스 계정의 이름(예: CORP\GatewaySvc)이 정책의 사용자 목록에 추가됩니다. 확인을 선택합니다. 로컬 그룹 정책 편집기를 닫습니다.
  10. 게이트웨이 호스트의 데스크톱 링크에서 또는 C:\Program Files\On-premises data gateway\EnterpriseGatewayConfigurator.exe.를 실행하여 온-프레미스 데이터 게이트웨이 앱을 시작합니다. 로그인을 선택하여 환경에서 온-프레미스 데이터 게이트웨이를 등록한 Power Platform 시스템 관리자 사용자로 로그인합니다.
  11. 구성기 메뉴에서 서비스 설정을 선택합니다. 계정 변경을 선택하십시오.
  12. 적용다시 시작을 선택합니다.
  13. 온-프레미스 데이터 게이트웨이의 서비스 계정 이름(예: CORP\GatewaySvc) 및 암호를 입력합니다. 구성을 선택합니다.
  14. 로그인을 선택하여 Power Platform 시스템 관리자 로그인 계정을 제공합니다.
  15. 기존 게이트웨이 마이그레이션, 복원 또는 인수를 선택하여 게이트웨이 등록을 복원합니다.
  16. 드롭다운 상자에서 게이트웨이 클러스터 및 인스턴스를 선택하고 초기 등록 중에 선택한 복구 키를 제공합니다. 구성을 선택합니다.
  17. 복원이 완료된 후 온-프레미스 데이터 게이트웨이 서비스 인스턴스는 도메인 서비스 계정(예: CORP\GatewaySvc)을 사용합니다.

SAP Cryptographic Library 설치 및 구성

온-프레미스 데이터 게이트웨이와 SAP 시스템 간의 SNC 통신을 위해서는 SAP NCo 3.1과 함께 게이트웨이 호스트에 SAP 암호화 라이브러리를 설치해야 합니다.

  1. SAP 지원 포털의 소프트웨어 다운로드(S-User 필요)에서 최신 버전의 SAP 암호화 라이브러리를 다운로드하고 라이브러리 파일(sapcrypto.dll)을 게이트웨이 호스트(C:\Program Files\On-premises 데이터 게이트웨이)의 온-프레미스 데이터 게이트웨이 설치 디렉터리에 복사합니다. sapcrypto.dll 파일을 마우스 오른쪽 버튼으로 클릭하고 상황에 맞는 메뉴에서 속성을 선택합니다.
  2. 세부 정보 탭으로 전환하여 라이브러리 버전을 확인합니다. 8.5.25 이상이어야 합니다. 확인을 선택합니다.
  3. ccl/snc/enable_kerberos_in_client_role = 1 컨텐츠를 사용하여 동일한 디렉토리(C:\Program Files\On-premises 데이터 게이트웨이)에 새 텍스트 파일 sapcrypto.ini를 만듭니다.
  4. 파일을 저장합니다.
  5. CCL_PROFILE 시스템 환경 변수를 만들고 해당 값을 sapcrypto.ini 구성 파일의 경로로 설정합니다. 게이트웨이 호스트에서 제어판을 실행하고 시스템 및 보안 ->시스템으로 이동합니다. 고급 시스템 설정을 선택하세요.
  6. 환경 변수를 선택하세요.
  7. 시스템 변수에서 새로 만들기를 선택합니다.
  8. 변수 이름으로 CCL_PROFILE을 입력합니다. 변수 값에 sapcrypto.ini 파일의 전체 경로(예: C:\Program Files\On-premises data gateway\sapcrypto.ini)를 입력합니다. 확인을 선택합니다.
  9. 확인을 두 번 선택합니다.

FullDomainResolutionEnabled OPDG 설정 구성

Active Directory 사용자를 조회할 때 온-프레미스 데이터 게이트웨이를 지원하려면 온-프레미스 데이터 게이트웨이 설정에서 구성 값을 설정해야 합니다.

  1. 게이트웨이 호스트에서 편집기를 사용하여 온-프레미스 데이터 게이트웨이 설치 폴더(C:\Program Files\On-premises data gateway)에 있는 Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config 파일을 엽니다.
  2. FullDomainResolutionEnabled 설정을 검색하여 값을 True로 설정합니다.
  3. 온-프레미스 데이터 게이트웨이 구성기의 서비스 설정 탭에서 지금 다시 시작을 선택하여 변경 내용을 적용합니다.

Active Directory에서 사용자 매핑 구성

Microsoft Entra ID 사용자 계정 이름이 Active Directory 온-프레미스 이메일 속성과 동일한 경우 이 단계를 건너뛸 수 있습니다.

이 시나리오에서 사용자에 대해 Kerberos 기반 보안 주체 전파를 사용하도록 설정하려면 Microsoft Entra ID의 사용자 전체 사용자 이름(사용자 계정 이름, UPN)에서 Active Directory의 사용자 로컬 이름으로 매핑해야 합니다. 이를 위해 로컬 Active Directory 사용자의 사용되지 않는 특성 msDS-cloudExtensionAttribute1를 사용하여 Microsoft Entra ID UPN을 저장합니다. 사용되지 않는 다른 Active Directory 특성도 사용할 수 있습니다.

애플리케이션 테스트 사용자 Jack Davis에 대한 시나리오에서 두 계정을 연결하기 위해 로컬 Active Directory 도메인 사용자 계정 jdavis@corp.bestrun.commsDS-cloudExtensionAttribute1 특성을 사용자의 Microsoft Entra ID UPN jdavis@bestruncorp.onmicrosoft.com으로 설정합니다.

  1. 게이트웨이 호스트에서 편집기를 사용하여 온-프레미스 데이터 게이트웨이 설치 폴더(C:\Program Files\On-premises data gateway)에 있는 Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config 파일을 엽니다.
  2. ADUserNameReplacementProperty 설정을 검색하여 값을 SAMAccountName으로 설정합니다.
  3. ADUserNameLookupProperty 설정을 검색하여 msDS-cloudExtensionAttribute1 값으로 설정합니다. 파일에 변경 사항을 저장합니다.
  4. 온-프레미스 데이터 게이트웨이 구성기의 서비스 설정 탭에서 지금 다시 시작을 선택하여 변경 내용을 적용합니다.
  5. 도메인 컨트롤러 호스트에서 시작을 선택하고 메뉴에서 Windows 관리 도구 ->>ADSI 편집을 선택합니다. ADSI 편집기에서 왼쪽 개체 트리에서 도메인의 기본 명명 컨텍스트 아래 있는 CN=Users로 이동합니다. 테스트 사용자의 개체(예: CN=Jack Davis)를 마우스 오른쪽 버튼으로 클릭하고 상황에 맞는 메뉴에서 속성을 선택합니다.
  6. 목록에서 특성 msDS-cloudExtensionAttribute1을 선택하고 편집을 선택합니다.
  7. 필드에 테스트 사용자의 Microsoft Entra ID UPN(예: jdavis@<domainname>.onmicrosoft.com)을 입력합니다. <domainname>을 Microsoft Entra ID 테넌트의 도메인 이름(예: bestruncorp)으로 바꾸세요. 확인을 선택합니다.

Power Automate 흐름 만들기

이제 모든 온-프레미스 구성 요소(SAP 시스템, 온-프레미스 데이터 게이트웨이 및 AD)가 Kerberos 기반 보안 주체 전파에 대해 올바르게 구성되었습니다. 이 단계에서는 Power Automate 흐름을 만들고 실행하여 구성을 테스트합니다.

  1. https://make.powerautomate.com에서 Power Automate에 로그인하세요.

  2. 내 흐름 ->새 흐름 ->인스턴트 클라우드 흐름을 선택합니다

  3. 흐름에 이름을 지정하고 수동으로 트리거 흐름을 선택한 다음 만들기를 선택합니다.

  4. 흐름에 SAP ERP 커넥터 작업 호출 SAP 함수(V3)를 추가합니다.

  5. SAP ERP 연결을 만들지 않은 경우 연결을 만들라는 메시지가 표시됩니다. 기존 연결이 있는 경우 새 연결을 만듭니다.

    • 인증 유형은은 Microsoft Entra ID(Kerberos 사용)여야 합니다.
    • 데이터 게이트웨이는 이 가이드에서 구성된 온-프레미스 데이터 게이트웨이여야 합니다.
    • 로그인을 선택합니다.
  6. SAP ERP 호출 SAP 함수(V3) 작업에서 다음 매개 변수를 설정합니다.

    • RFC 이름이 STFC_CONNECTION으로 설정됩니다.
    • SAP 시스템은 (SAP Basis 관리자에 따라이 값 변경) 로 설정됩니다.

    json { "AppServerHost": "<SAP Server Name>", "Client": "<SAP Client>", "LogonType": "ApplicationServer", "SncLibraryPath": "C:\Program Files\On-premises data gateway\sapcrypto.dll", "SncPartnerName": "p:<SAP Partner Name>", "SncQOP": "Default", "SncSso": "On", "SystemNumber": "<SAP System Number>", "UseSnc": "true" }

  7. 모든 것이 성공적이면 Hello World와 같은 값의 REQUTEXT 매개 변수를 입력할 수 있습니다.

  8. 흐름을 저장하고 테스트합니다.