SAP HANA에 대한 SSO에 Kerberos 사용

Important

SAP가 OpenSSL을 더 이상 지원하지 않으므로 Microsoft도 지원을 중단했습니다. 기존 연결은 계속 작동하지만 더 이상 새 연결을 만들 수 없습니다. 대신 SAP 암호화 라이브러리(CommonCryptoLib) 또는 sapcrypto를 사용합니다.

이 문서에서는 Power BI 서비스로부터 Single Sign-On(SSO)를 사용하도록 SAP HANA 데이터 원본을 구성하는 방법을 설명합니다.

참고 항목

Kerberos SSO를 사용하는 SAP HANA 기반 보고서를 새로 고치기 전에 이 문서의 단계와 Kerberos SSO 구성을 모두 완료합니다.

SAP HANA에 대해 SSO를 사용하도록 설정

SAP HANA용 SSO를 사용하도록 설정하려면 다음 단계를 수행합니다.

  1. SAP HANA 서버가 SAP HANA 서버 플랫폼 수준에 필요한 최소 버전을 실행 중인지 확인합니다.

  2. 게이트웨이 컴퓨터에 최신 SAP HANA ODBC 드라이버를 설치합니다. 최소 버전은 HANA ODBC 2017년 8월 릴리스된 2.00.020.00 버전입니다.

  3. SAP HANA 서버가 Kerberos 기반 SSO에 대해 구성되었는지 확인합니다. Kerberos를 사용하여 SAP HANA용 SSO를 설정하는 방법에 대한 자세한 내용은 Kerberos를 사용한 SSO(Single Sign-On)을 참조하세요. 또한 해당 페이지에서 특히 SAP Note 1837331 – HANA DBSSO Kerberos/Active Directory 방법 링크를 참조하세요.

또한 약간의 성능 개선 효과를 볼 수 있으므로 다음과 같은 추가 단계를 수행하는 것이 좋습니다.

  1. 게이트웨이 설치 디렉터리에서 Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config라는 구성 파일을 찾아서 엽니다.

  2. FullDomainResolutionEnabled 속성을 찾아서 값을 True로 변경합니다.

    <setting name=" FullDomainResolutionEnabled " serializeAs="String">
          <value>True</value>
    </setting>
    
  3. Power BI 보고서 실행합니다.

문제 해결

이 섹션에서는 Power BI 서비스에서 SAP HANA에 대한 SSO(Single Sign-On)에 Kerberos를 사용하여 문제를 해결하기 위한 지침을 제공합니다. 이러한 문제 해결 단계를 사용하여 발생할 수 있는 여러 문제를 자체적으로 진단하고 해결할 수 있습니다.

이 섹션의 단계를 따르려면 게이트웨이 로그를 수집해야 합니다.

TLS/SSL 오류(인증서)

이 문제에는 여러 가지 증상이 있습니다.

  • 새 데이터 원본을 추가하려고 하면 다음 메시지와 같은 오류가 표시될 수 있습니다.

    Unable to connect: We encountered an error while trying to connect to.
    Details: "We could not register this data source for any gateway
    instances within this cluster.
    Please find more details below about specific errors for each gateway instance."
    
  • 보고서를 만들거나 새로 고칠 때 다음과 같은 오류 메시지가 표시될 수 있습니다.

    Screenshot of a 'Cannot load model' troubleshooting TLS/SSL error window.

  • Mashup[date]*.log를 조사하는 경우 다음 오류 메시지가 표시됩니다.

    A connection was successfully established with the server, 
    but then an error occurred during the login process and 
    the certificate chain was issued by an authority that is not trusted.
    

해상도

이 TLS/SSL 오류를 해결하려면 데이터 원본 연결로 이동한 다음, 다음 이미지처럼 서버 인증서 유효성 검사 섹션에서 설정을 비활성화합니다.

 Screenshot of resolving TLS/SSL error window by disabling the certificate.

이 설정을 사용하지 않도록 설정하면 오류 메시지가 더 이상 나타나지 않습니다.

가장 행위

가장에 대한 로그 항목에는 다음과 유사한 항목이 포함됩니다.

About to impersonate user DOMAIN\User (IsAuthenticated: True, ImpersonationLevel: Impersonation).

이 로그 항목의 중요한 요소는 ImpersonationLevel: 항목 뒤에 표시되는 정보입니다. Impersonation과 다른 값은 가장이 제대로 발생하지 않음을 나타냅니다.

해상도

게이트웨이 서비스 계정에 게이트웨이에 대한 로컬 정책 권한 부여의 지침에 따라 ImpersonationLevel을 올바르게 설정할 수 있습니다.

구성 파일이 변경되면 게이트웨이 서비스를 다시 시작해야 변경 내용이 적용됩니다.

유효성 검사

보고서를 새로 고치거나 만들고 게이트웨이 로그를 수집합니다. 최신 GatewayInfo 파일을 열고 About to impersonate user DOMAIN\User (IsAuthenticated: True, ImpersonationLevel: Impersonation) 문자열을 확인합니다. ImpersonationLevel 설정이 Impersonation을 반환하는지 확인합니다.

위임

위임 문제는 대부분 Power BI 서비스에서 일반 오류로 표시됩니다. 문제가 위임 문제가 아닌지를 확인하려면 Wireshark 추적을 수집하고 Kerberos를 필터로 사용하세요. Wireshark에 대해 자세히 알아보고 Kerberos 오류에 대한 정보를 보려면 네트워크 캡처의 Kerberos 오류를 참조하세요.

다음 증상과 문제 해결 단계를 이용하면 자주 발생하는 일부 문제를 쉽게 해결할 수 있습니다.

SPN 문제

Mashup[date]*.log를 조사하는 동안 The import [table] matches no exports. Did you miss a module reference?: 오류가 표시되면 SPN(서비스 주체 이름) 문제가 있습니다.

Wireshark 추적을 사용하여 추가로 조사하면 오류 KRB4KDC_ERR_S_PRINCIPAL_UNKOWN이 표시됩니다. 이는 SPN을 찾을 수 없거나 존재하지 않음을 의미합니다. 다음 이미지는 예를 보여 줍니다.

Screenshot showing a service principal name error.

해상도

이 문제와 같은 SPN 문제를 해결하려면 서비스 계정에 SPN을 추가해야 합니다. 자세한 내용은 SAP HANA 데이터베이스 호스트의 Kerberos 구성에서 SAP 설명서를 참조하세요.

또한 다음 섹션에 설명된 해결 지침을 따릅니다.

자격 증명 문제 없음

이 문제와 관련된 명확한 증상이 없습니다. Mashup[date]*.log를 조사할 때는 다음 오류가 표시될 수 있습니다.

29T20:21:34.6679184Z","Action":"RemoteDocumentEvaluator/RemoteEvaluation/HandleException","HostProcessId":"1396","identity":"DirectQueryPool","Exception":"Exception:\r\nExceptionType: Microsoft.Mashup.Engine1.Runtime.ValueException, Microsoft.MashupEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35\r\nMessage:

동일한 파일을 더 자세히 조사하면 다음과 같이 도움이 되지 않는 오류가 표시됩니다.

No credentials are available in the security package

Wireshark 추적을 캡처하면 다음 오류가 표시됩니다. KRB5KDC_ERR_BADOPTION

Screenshot showing a 'No credentials error'.

일반적으로 이러한 오류는 SPN hdb/hana2-s4-sso2.westus2.cloudapp.azure.com을 찾을 수 있지만 이 계정이 게이트웨이 서비스 계정의 위임 창에 있는 이 계정이 위임된 자격 증명을 표시할 수 있는 서비스 목록에는 존재하지 않는다는 뜻입니다.

해상도

자격 증명 없음 문제를 해결하려면 Kerberos 제한 위임 구성에 설명된 단계를 따릅니다. 제대로 완료되면 게이트웨이 서비스 계정의 위임 탭에는 이 계정이 위임된 자격 증명을 제공할 수 있는 서비스 목록에 HansaWorld 데이터베이스(HDB) 파일과 FQDN(정규화된 도메인 이름)이 반영됩니다.

유효성 검사

이전 단계를 수행하면 문제가 해결될 것입니다. Kerberos 문제가 해결되지 않는다면 Power BI 게이트웨이 또는 HANA 서버 자체의 구성이 올바르지 않은 것일 수 있습니다.

자격 증명 오류

자격 증명 오류가 발생하면 로그 또는 추적의 오류로 인해 Credentials are invalid 또는 유사한 오류를 설명하는 오류가 노출됩니다. 이러한 오류는 SAP HANA 같은 연결의 데이터 원본 쪽에서는 다르게 나타날 수 있습니다. 다음 이미지에서는 오류 예시를 확인할 수 있습니다.

Screenshot showing an invalid credentials error.

증상 1

HANA 인증 추적에서 다음 메시지와 비슷한 항목이 표시됩니다.

[Authentication|manager.cpp:166] Kerberos: Using Service Principal 
Name johnny@contoso.com@CONTOSO.COM with name type: GSS_KRB5_NT_PRINCIPAL_NAME 
[Authentication|methodgssinitiator.cpp:367] Got principal name: 
johnny@contoso.com@CONTOSO.COM

해결

Microsoft Entra 커넥트 서비스를 이미 구성한 경우에도 게이트웨이 컴퓨터의 사용자 매핑 구성 매개 변수 설정에 설명된 지침을 따릅니다.

유효성 검사

유효성 검사를 완료한 후에는 Power BI 서비스에서 보고서를 성공적으로 로드할 수 있습니다.

증상 2

HANA 인증 추적에서 다음과 비슷한 항목이 표시됩니다.

Authentication ManagerAcceptor.cpp(00233) : Extending list of expected
external names by johnny@CONTOSO.COM (method: GSS) Authentication 
AuthenticationInfo.cpp(00168) : ENTER getAuthenticationInfo 
(externalName=johnny@CONTOSO.COM) Authentication AuthenticationInfo.cpp(00237) : 
Found no user with expected external name!

해상도

HANA User에서 Kerberos 외부 ID를 확인하여 ID가 정상적으로 일치하는지 확인합니다.

유효성 검사

문제를 해결한 후 Power BI 서비스에서 보고서를 만들거나 새로 고칠 수 있습니다.

온-프레미스 데이터 게이트웨이 및 DirectQuery에 대한 자세한 내용은 다음 리소스를 참조하세요.