แชร์ผ่าน


ใช้ Kerberos สําหรับ SSO ไปยัง SAP HANA

บทความนี้อธิบายวิธีกําหนดค่าแหล่งข้อมูล SAP HANA ของคุณเพื่อเปิดใช้งานการลงชื่อเข้าระบบครั้งเดียว (SSO) จากบริการของ Power BI

สำคัญ

เนื่องจาก SAP ไม่รองรับ OpenSSL อีกต่อไป Microsoft จึงยุติการสนับสนุนด้วยเช่นกัน การเชื่อมต่อที่มีอยู่ของคุณยังคงใช้งานได้ แต่คุณไม่สามารถสร้างการเชื่อมต่อใหม่ได้อีก ใช้ SAP Cryptographic Library (CommonCryptoLib) หรือ sapcrypto แทน

หมายเหตุ

ก่อนที่คุณจะพยายามรีเฟรชรายงานที่ยึดกับ SAP HANA ที่ใช้ Kerberos SSO ให้ทําตามขั้นตอนในทั้งบทความนี้และกําหนดค่า Kerberos SSO

เปิดใช้งาน SSO สําหรับ SAP HANA

เมื่อต้องการเปิดใช้งาน SSO สําหรับ SAP HANA ให้ทําตามขั้นตอนต่อไปนี้:

  1. ตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ SAP HANA ทํางานด้วยเวอร์ชันขั้นต่ํา ซึ่งขึ้นอยู่กับระดับเซิร์ฟเวอร์แพลตฟอร์ม SAP HANA ของคุณ:

  2. บนคอมพิวเตอร์เกตเวย์ ติดตั้งโปรแกรมควบคุม SAP HANA ODBC ล่าสุด เวอร์ชันขั้นต่ําคือ HANA ODBC เวอร์ชัน 2.00.020.00 จากเดือนสิงหาคม 2017

  3. ตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ SAP HANA ได้รับการกําหนดค่าสําหรับ SSO ที่ใช้ Kerberos สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่า SSO สําหรับ SAP HANA โดยใช้ Kerberos ดูลงชื่อเข้าระบบครั้งเดียวโดยใช้ Kerberos ดูลิงก์จากหน้านั้น โดยเฉพาะอย่างยิ่ง SAP Note 1837331 – HOWTO 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

การแก้ไขปัญหา

ส่วนนี้จะให้คําแนะนําสําหรับการแก้ไขปัญหาโดยใช้ Kerberos สําหรับการลงชื่อเข้าระบบครั้งเดียว (SSO) ไปยัง SAP HANA ในบริการของ Power BI ด้วยการใช้ขั้นตอนการแก้ไขปัญหาเหล่านี้ คุณสามารถวินิจฉัยด้วยตนเองและแก้ไขปัญหาต่างๆ ที่คุณอาจกําลังเผชิญอยู่

เมื่อต้องการทําตามขั้นตอนในส่วนนี้ คุณจําเป็นต้อง รวบรวมบันทึกเกตเวย์

ข้อผิดพลาด 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."
    
  • เมื่อคุณพยายามสร้างหรือรีเฟรชรายงาน คุณอาจเห็นข้อความแสดงข้อผิดพลาดต่อไปนี้:

    สกรีนช็อตของหน้าต่างการแก้ไขปัญหา 'ไม่สามารถโหลดแบบจําลอง' TLS/SSL

  • เมื่อคุณตรวจสอบ 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 นี้ ให้ไปที่การเชื่อมต่อแหล่งข้อมูล จากนั้น ในส่วน ตรวจสอบใบรับรองเซิร์ฟเวอร์ ให้ปิดใช้งานการตั้งค่าดังที่แสดงในรูปต่อไปนี้:

 สกรีนช็อตของหน้าต่างข้อผิดพลาด TLS/SSL โดยการปิดใช้งานใบรับรอง

หลังจากที่คุณปิดใช้งานการตั้งค่านี้ ข้อความแสดงข้อผิดพลาดจะไม่ปรากฏขึ้นอีกต่อไป

เลียน แบบ

รายการบันทึกสําหรับการเลียนแบบมีรายการคล้ายกับ:

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

ถ้าคุณเห็นข้อผิดพลาดต่อไปนี้: The import [table] matches no exports. Did you miss a module reference?: ขณะตรวจสอบ ปัญหา Mashup[date]*.log แสดงว่าคุณกําลังประสบกับปัญหาชื่อบริการหลัก (SPN)

เมื่อคุณตรวจสอบเพิ่มเติมโดยใช้การติดตาม Wireshark คุณแสดงข้อผิดพลาด KRB4KDC_ERR_S_PRINCIPAL_UNKOWNซึ่งหมายความว่าไม่พบ SPN หรือไม่มีอยู่ รูปภาพต่อไปนี้แสดงตัวอย่าง:

สกรีนช็อตที่แสดงข้อผิดพลาดของชื่อบริการหลัก

วิธีการแก้ไขปัญหา

เมื่อต้องการแก้ไขปัญหา SPN เช่น ปัญหานี้ คุณต้องเพิ่ม SPN ไปยังบัญชีบริการ สําหรับข้อมูลเพิ่มเติม ให้ดูเอกสารประกอบ SAP ใน กําหนดค่า Kerberos สําหรับโฮสต์ฐานข้อมูล SAP HANA

นอกจากนี้ ให้ทําตามคําแนะนําวิธีการแก้ปัญหาที่อธิบายไว้ในส่วนถัดไป

ไม่มีปัญหาข้อมูลประจําตัว

อาจไม่มีอาการที่ชัดเจนที่เกี่ยวข้องกับปัญหานี้ เมื่อคุณตรวจสอบ 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

สกรีนช็อตที่แสดง 'ไม่มีข้อผิดพลาดข้อมูลประจําตัว'

โดยปกติแล้ว ข้อผิดพลาดเหล่านี้หมายความว่า ไฟล์ SPN hdb/hana2-s4-sso2.westus2.cloudapp.azure.com สามารถพบได้ แต่ไม่อยู่ใน บริการที่บัญชีผู้ใช้นี้สามารถแสดงรายการข้อมูลประจําตัว ที่ได้รับมอบหมายในบานหน้าต่าง การรับ มอบสิทธิ์ในบัญชีบริการเกตเวย์

วิธีการแก้ไขปัญหา

เมื่อต้องการแก้ไขปัญหา ไม่มีข้อมูลประจําตัว ให้ทําตามขั้นตอนที่อธิบายไว้ใน กําหนดค่าการมอบหมายที่มีข้อจํากัดของ Kerberos เมื่อเสร็จสิ้นอย่างถูกต้องแท็บการรับมอบสิทธิ์ที่บัญชีบริการเกตเวย์จะแสดงไฟล์ฐานข้อมูล HansaWorld Database (HDB) และชื่อโดเมนแบบเต็ม (FQDN) ในรายการของ บริการซึ่งบัญชีนี้สามารถแสดงข้อมูลประจําตัวที่ได้รับมอบหมาย

การตรวจสอบความถูกต้อง

ทําตามขั้นตอนก่อนหน้าควรแก้ไขปัญหา ถ้าคุณยังคงพบปัญหา Kerberos คุณอาจมีการกําหนดค่าในเกตเวย์ Power BI หรือในเซิร์ฟเวอร์ HANA เอง

ข้อผิดพลาดของข้อมูลประจําตัว

ถ้าคุณพบข้อผิดพลาดของข้อมูลประจําตัว ข้อผิดพลาดในบันทึกหรือการติดตามแสดงข้อผิดพลาดที่อธิบาย Credentials are invalid หรือข้อผิดพลาดที่คล้ายกัน ข้อผิดพลาดเหล่านี้อาจแสดงแตกต่างกันในด้านแหล่งข้อมูลของการเชื่อมต่อ เช่น SAP HANA รูปภาพต่อไปนี้แสดงข้อผิดพลาดตัวอย่าง:

สกรีนช็อตที่แสดงข้อผิดพลาดข้อมูลประจําตัวที่ไม่ถูกต้อง

อาการที่ 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 Connect แล้วก็ตาม

การตรวจสอบความถูกต้อง

หลังจากที่คุณตรวจสอบความถูกต้องเสร็จสมบูรณ์แล้ว คุณสามารถโหลดรายงานในบริการของ 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!

วิธีการแก้ไขปัญหา

ตรวจสอบ ID ภายนอกของ Kerberos ภายใต้ ผู้ใช้ HANA เพื่อพิจารณาว่า ID ตรงกันอย่างถูกต้องหรือไม่

การตรวจสอบความถูกต้อง

หลังจากที่คุณแก้ไขปัญหาแล้ว คุณสามารถสร้างหรือรีเฟรชรายงานในบริการของ Power BI ได้

สําหรับข้อมูลเพิ่มเติมเกี่ยวกับเกตเวย์ข้อมูลภายในองค์กรและ DirectQuery โปรดดูทรัพยากรต่อไปนี้: