ใช้ 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 ให้ทําตามขั้นตอนต่อไปนี้:
ตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ SAP HANA ทํางานด้วยเวอร์ชันขั้นต่ํา ซึ่งขึ้นอยู่กับระดับเซิร์ฟเวอร์แพลตฟอร์ม SAP HANA ของคุณ:
บนคอมพิวเตอร์เกตเวย์ ติดตั้งโปรแกรมควบคุม SAP HANA ODBC ล่าสุด เวอร์ชันขั้นต่ําคือ HANA ODBC เวอร์ชัน 2.00.020.00 จากเดือนสิงหาคม 2017
ตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ SAP HANA ได้รับการกําหนดค่าสําหรับ SSO ที่ใช้ Kerberos สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่า SSO สําหรับ SAP HANA โดยใช้ Kerberos ดูลงชื่อเข้าระบบครั้งเดียวโดยใช้ Kerberos ดูลิงก์จากหน้านั้น โดยเฉพาะอย่างยิ่ง SAP Note 1837331 – HOWTO HANA DBSSO Kerberos/Active Directory
เราขอแนะนําให้ทําตามขั้นตอนเพิ่มเติมเหล่านี้ ซึ่งสามารถเพิ่มประสิทธิภาพการปรับปรุงเล็กน้อย:
ในไดเรกทอรีการติดตั้งเกตเวย์ ให้ค้นหาและเปิดไฟล์ที่มีการกําหนดค่าตามนี้: Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config
FullDomainResolutionEnabled
ค้นหาคุณสมบัติ และเปลี่ยนค่าเป็นTrue
<setting name=" FullDomainResolutionEnabled " serializeAs="String"> <value>True</value> </setting>
เรียกใช้รายงาน 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."
เมื่อคุณพยายามสร้างหรือรีเฟรชรายงาน คุณอาจเห็นข้อความแสดงข้อผิดพลาดต่อไปนี้:
เมื่อคุณตรวจสอบ 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 นี้ ให้ไปที่การเชื่อมต่อแหล่งข้อมูล จากนั้น ในส่วน ตรวจสอบใบรับรองเซิร์ฟเวอร์ ให้ปิดใช้งานการตั้งค่าดังที่แสดงในรูปต่อไปนี้:
หลังจากที่คุณปิดใช้งานการตั้งค่านี้ ข้อความแสดงข้อผิดพลาดจะไม่ปรากฏขึ้นอีกต่อไป
เลียน แบบ
รายการบันทึกสําหรับการเลียนแบบมีรายการคล้ายกับ:
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 โปรดดูทรัพยากรต่อไปนี้: