แชร์ผ่าน


ใช้การลงชื่อเข้าระบบแบบครั้งเดียวของ Kerberos สําหรับ SSO ไปยัง SAP BW โดยใช้ CommonCryptoLib (sapcrypto.dll)

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

หมายเหตุ

ก่อนที่คุณจะพยายามรีเฟรชรายงานที่ยึดกับ SAP BW ที่ใช้ Kerberos SSO ให้ปฏิบัติตามทั้งขั้นตอนในบทความนี้และขั้นตอนใน กําหนดค่า SSO ที่ใช้ Kerberos การใช้ CommonCryptoLib เป็นไลบรารี Secure Network Communications (SNC) ของคุณทําให้สามารถเชื่อมต่อ SSO กับเซิร์ฟเวอร์แอปพลิเคชัน SAP BW และเซิร์ฟเวอร์ข้อความ SAP BW ได้

หมายเหตุ

การกําหนดค่าทั้งสองไลบรารี (sapcrypto และ gx64krb5) บนเซิร์ฟเวอร์เกตเวย์เดียวกันเป็นสถานการณ์ที่ไม่ได้รับการรองรับ ไม่แนะนําให้กําหนดค่าไลบรารีทั้งสองบนเซิร์ฟเวอร์เกตเวย์เดียวกันเนื่องจากจะนําไปสู่การผสมผสานของไลบรารี ถ้าคุณต้องการใช้ทั้งสองไลบรารี โปรดแยกเซิร์ฟเวอร์เกตเวย์ทั้งหมด ตัวอย่างเช่น กําหนดค่า gx64krb5 สําหรับเซิร์ฟเวอร์ A แล้ว sapcrypto สําหรับเซิร์ฟเวอร์ B โปรดทราบว่าความล้มเหลวใด ๆ บนเซิร์ฟเวอร์ A ซึ่งใช้ gx64krb5 ไม่ได้รับการสนับสนุน เนื่องจาก gx64krb5 ไม่ได้รับการสนับสนุนโดย SAP และ Microsoft อีกต่อไป

กําหนดค่า SAP BW เพื่อเปิดใช้งาน SSO โดยใช้ CommonCryptoLib

หมายเหตุ

เกตเวย์ข้อมูลภายในองค์กรเป็นซอฟต์แวร์ 64 บิต ดังนั้นจึงจําเป็นต้องใช้ CommonCryptoLib (sapcrypto.dll) เวอร์ชัน 64 บิทเพื่อดําเนินการ BW SSO หากคุณวางแผนที่จะทดสอบการเชื่อมต่อ SSO ไปยังเซิร์ฟเวอร์ SAP BW ใน SAP GUI ก่อนที่จะพยายามเชื่อมต่อ SSO ผ่านเกตเวย์ (แนะนํา) คุณจะต้องใช้ CommonCryptoLib เวอร์ชัน 32 บิทเนื่องจาก SAP GUI เป็นซอฟต์แวร์ 32 บิท

  1. ตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ BW ได้รับการกําหนดค่าสําหรับ Kerberos SSO อย่างถูกต้องโดยใช้ CommonCryptoLib ถ้าเป็นเช่นนั้น คุณสามารถใช้ SSO เพื่อเข้าถึงเซิร์ฟเวอร์ของคุณ (โดยตรงหรือผ่านเซิร์ฟเวอร์ข้อความ SAP BW) ด้วยเครื่องมือ SAP เช่น SAP GUI ที่ได้รับการกําหนดค่าให้ใช้ CommonCryptoLib

    สําหรับข้อมูลเพิ่มเติมเกี่ยวกับขั้นตอนการตั้งค่า ดู SAP ลงชื่อเข้าระบบครั้งเดียว: รับรองความถูกต้องด้วย Kerberos/SPNEGO เซิร์ฟเวอร์ของคุณควรใช้ CommonCryptoLib เป็นไลบรารีของ SNC และมีชื่อ SNC ที่เริ่มต้นด้วย CN = เช่น CN = BW1 สําหรับข้อมูลเพิ่มเติมเกี่ยวกับข้อกําหนดของชื่อ SNC (โดยเฉพาะอย่างยิ่ง snc/ข้อมูลประจําตัว/เป็นพารามิเตอร์) ให้ดู พารามิเตอร์ SNC สําหรับการกําหนดค่า Kerberos

  2. ถ้าคุณยังไม่ได้ดําเนินการดังกล่าว ให้ติดตั้งเวอร์ชั่น x64 ของ SAP .NET Connector บนคอมพิวเตอร์ที่มีการติดตั้งเกตเวย์ไว้แล้ว

    คุณสามารถตรวจสอบว่ามีการติดตั้งคอมโพเนนต์โดยพยายามเชื่อมต่อกับเซิร์ฟเวอร์ BW ใน Power BI Desktop จากคอมพิวเตอร์เกตเวย์หรือไม่ ถ้าคุณไม่สามารถเชื่อมต่อโดยใช้การดําเนินการ 2.0 คุณจะไม่สามารถติดตั้ง .NET Connector หรือติดตั้งไปยังแคชแอสเซมบลีส่วนกลางได้

  3. ตรวจสอบให้แน่ใจว่า SAP Secure Login Client (SLC) ไม่ได้ทำงานบนคอมพิวเตอร์ที่มีการติดตั้งเกตเวย์

    SLC จะแคชตั๋ว Kerberos ในลักษณะที่อาจรบกวนความสามารถของเกตเวย์เพื่อใช้ Kerberos สำหรับ SSO

  4. ถ้ามีการติดตั้ง SLC ให้ถอนการติดตั้งหรือตรวจสอบให้แน่ใจว่าคุณออกจาก SAP Secure Login Client คลิกขวาที่ไอคอนในถาดระบบและเลือก ออกจากระบบ และ จบการทํางาน ก่อนที่คุณจะพยายามเชื่อมต่อ SSO โดยใช้เกตเวย์

    SLC ไม่ได้รับการสนับสนุนสําหรับการใช้งานบนเครื่องเซิร์ฟเวอร์ของ Windows สําหรับข้อมูลเพิ่มเติม ให้ดู SAP Note 2780475 (ต้องมีผู้ใช้ s)

    SAP Secure Login Client

  5. ถ้าคุณถอนการติดตั้ง SLC หรือเลือก ออกจาก ระบบและ ออก ให้เปิดหน้าต่าง cmd และใส่ klist purge เพื่อล้างตั๋ว Kerberos ที่แคชไว้ก่อนที่จะพยายามเชื่อมต่อ SSO ผ่านเกตเวย์

  6. ดาวน์โหลด CommonCryptoLib 64 บิต (sapcrypto.dll) เวอร์ชัน 8.5.25 หรือมากกว่า จาก SAP Launchpad และคัดลอกไปยังโฟลเดอร์บนเครื่องเกตเวย์ของคุณ ในไดเรกทอรีเดียวกันกับที่คุณคัดลอก sapcrypto.dll ให้สร้างไฟล์ที่ชื่อ sapcrypto.ini ด้วยเนื้อหาต่อไปนี้:

    ccl/snc/enable_kerberos_in_client_role = 1
    

    ไฟล์.ini มีข้อมูลการกําหนดค่าที่จําเป็นโดย CommonCryptoLib เพื่อเปิดใช้งาน SSO ในสถานการณ์เกตเวย์

    หมายเหตุ

    แฟ้มเหล่านี้ต้องถูกเก็บไว้ในตําแหน่งที่ตั้งเดียวกัน กล่าวอีกนัย หนึ่ง /path/to/sapcrypto/ ควรมีทั้ง sapcrypto.ini และ sapcrypto.dll

    ทั้งผู้ใช้บริการเกตเวย์และผู้ใช้ Active Directory (AD) ที่ผู้ใช้บริการเลียนแบบ จำเป็นต้องมีสิทธิ์ใน การอ่าน และ การใช้งาน สำหรับทั้งสองไฟล์ เราขอแนะนําให้ให้สิทธิ์กับทั้ง.ini และไฟล์.dll ไปยังกลุ่มผู้ใช้ที่ได้รับการรับรองความถูกต้อง สําหรับวัตถุประสงค์ในการทดสอบ คุณยังสามารถมอบสิทธิ์เหล่านี้ให้กับทั้งผู้ใช้บริการเกตเวย์และผู้ใช้ AD ที่คุณใช้สําหรับการทดสอบ ในสกรีนช็อตต่อไปนี้ เราได้ให้สิทธิ์กับกลุ่ม ผู้ใช้ที่ได้รับการรับรองความถูกต้องในการอ่านและใช้งาน สําหรับ sapcrypto.dll:

    ผู้ใช้ที่ได้รับการรับรองความถูกต้อง

  7. ถ้าคุณยังไม่มีแหล่งข้อมูล SAP BW ที่เชื่อมโยงกับเกตเวย์ที่คุณต้องการให้การเชื่อมต่อ SSO ผ่าน ให้เพิ่มแหล่งข้อมูลหนึ่งในหน้า จัดการการเชื่อมต่อและเกตเวย์ ในบริการของ Power BI หากคุณมีแหล่งข้อมูลดังกล่าวอยู่แล้ว ให้แก้ไข:

    • เลือก SAP Business Warehouse เป็น ชนิด แหล่งข้อมูลถ้าคุณต้องการสร้างการเชื่อมต่อ SSO ไปยังเซิร์ฟเวอร์แอปพลิเคชัน BW
    • เลือก Sap Business Warehouse Message Server ถ้าคุณต้องการสร้างการเชื่อมต่อ SSO ไปยังเซิร์ฟเวอร์ข้อความ BW
  8. สําหรับไลบรารี SNC ให้เลือกตัวแปรสภาพแวดล้อม SNC_LIB หรือ SNC_LIB_64 หรือ กําหนดเอง

    • หากคุณเลือก SNC_LIB คุณต้องตั้งค่าของ ตัวแปรสภาพแวดล้อม SNC_LIB_64 บนเครื่องเกตเวย์ไปยังเส้นทางสัมบูรณ์ของสําเนา 64 บิตของ sapcrypto.dll บนเครื่องเกตเวย์ ตัวอย่างเช่น C:\Users\Test\Desktop\sapcrypto.dll

    • หากคุณเลือก กําหนดเอง ให้วางเส้นทางที่แน่นอนเพื่อ sapcrypto.dll ลงในเขตข้อมูล เส้นทางไลบรารี SNC ที่ปรากฎบนหน้า จัดการเกตเวย์

  9. สําหรับ ชื่อหุ้นส่วน SNC ให้ใส่ ชื่อ SNC ของเซิร์ฟเวอร์ BW ภายใต้ การตั้งค่าขั้นสูง ตรวจสอบให้แน่ใจว่ามี การเลือกใช้ SSO ผ่าน Kerberos สําหรับคิวรี DirectQuery กรอกข้อมูลในเขตข้อมูลอื่น ๆ ในขณะที่คุณกําลังสร้างการเชื่อมต่อการรับรองความถูกต้องของ Windows จาก PBI Desktop

  10. สร้าง ตัวแปรสภาพแวดล้อมระบบ CCL_PROFILE และตั้งค่าเป็นเส้นทางไปยัง sapcrypto.ini

    ตัวแปรสภาพแวดล้อมของระบบ CCL_PROFILE

    ไฟล์.dll และ.ini sapcrypto ต้องอยู่ในตําแหน่งเดียวกัน ในตัวอย่างข้างต้น sapcrypto.ini และ sapcrypto.dll ทั้งสองอยู่บนเดสก์ท็อป

  11. รีสตาร์ทบริการเกตเวย์

    รีสตาร์ทบริการเกตเวย์

  12. เรียกใช้รายงาน Power BI

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

ถ้าคุณไม่สามารถรีเฟรชรายงานในบริการของ Power BI คุณสามารถใช้การติดตามเกตเวย์ การติดตาม CPIC และการติดตาม CommonCryptoLib เพื่อวินิจฉัยปัญหาได้ เนื่องจากการติดตาม CPIC และ CommonCryptoLib เป็นผลิตภัณฑ์ของ SAP ดังนั้น Microsoft จึงไม่สามารถให้การสนับสนุนได้

รายการบันทึกเกตเวย์

  1. สร้างปัญหาขึ้นมาใหม่

  2. เปิดแอปเกตเวย์ และเลือกส่งออกบันทึกจากแท็บการวินิจฉัย

    ส่งออกรายการบันทึกเกตเวย์

การติดตาม CPIC

  1. เมื่อต้องการเปิดใช้งานการติดตาม CPIC ให้ตั้งค่าตัวแปรสภาพแวดล้อมสองรายการ: CPIC_TRACE และ CPIC_TRACE_DIR

    ตัวแปรแรกตั้งค่าระดับการติดตามและตัวแปรที่สองตั้งค่าไดเรกทอรีไฟล์การติดตาม ไดเรกทอรีต้องอยู่ในตําแหน่งที่สมาชิกของกลุ่มผู้ใช้ที่ได้รับการรับรองความถูกต้องสามารถเขียนถึงได้

  2. ตั้งค่า CPIC_TRACE เป็น 3 และ CPIC_TRACE_DIR ไปยังไดเรกทอรีใดก็ตามที่คุณต้องการให้ไฟล์การติดตามที่เขียนถึง ตัวอย่างเช่น:

    การติดตาม CPIC

  3. สร้างปัญหาขึ้นมาใหม่และตรวจสอบให้แน่ใจว่า CPIC_TRACE_DIR มีไฟล์การติดตาม

    การติดตาม CPIC สามารถวินิจฉัยปัญหาในระดับที่สูงขึ้น เช่น ความล้มเหลวในการโหลดไลบรารี sapcrypto.dll ตัวอย่างเช่น นี่คือส่วนย่อยจากไฟล์การติดตาม CPIC ที่มีข้อผิดพลาดการโหลด.dll เกิดขึ้น:

    [Thr 7228] *** ERROR => DlLoadLib()==DLENOACCESS - LoadLibrary("C:\Users\test\Desktop\sapcrypto.dll")
    Error 5 = "Access is denied." [dlnt.c       255]
    

    ถ้าคุณพบความล้มเหลวดังกล่าว แต่คุณได้ตั้งค่าสิทธิ์การอ่านและการดําเนินการบน sapcrypto.dll และ sapcrypto.ini ตามที่อธิบายไว้ใน ส่วนด้านบน ลองตั้งค่าสิทธิ์การอ่านและดําเนินการแบบเดียวกันบนโฟลเดอร์ที่มีไฟล์

    ถ้าคุณยังไม่สามารถโหลด.dll ได้ ให้ลองเปิดการตรวจสอบไฟล์ การตรวจสอบผลของบันทึกการตรวจสอบใน Windows ตัวแสดงเหตุการณ์ อาจช่วยให้คุณระบุสาเหตุที่ไฟล์ไม่สามารถโหลดได้ ค้นหารายการความล้มเหลวที่เริ่มต้นโดยผู้ใช้ AD เลียนแบบ ตัวอย่างเช่น ผู้ใช้ที่เลียนแบบ MYDOMAIN\mytestuser ล้มเหลวในบันทึกการตรวจสอบจะมีลักษณะดังนี้:

    A handle to an object was requested.
    
    Subject:
        Security ID:        MYDOMAIN\mytestuser
        Account Name:       mytestuser
        Account Domain:     MYDOMAIN
        Logon ID:           0xCF23A8
    
    Object:
        Object Server:      Security
        Object Type:        File
        Object Name:        <path information>\sapcrypto.dll
        Handle ID:          0x0
        Resource Attributes:    -
    
    Process Information:
        Process ID:     0x2b4c
        Process Name:   C:\Program Files\On-premises data gateway\Microsoft.Mashup.Container.NetFX45.exe
    
    Access Request Information:
        Transaction ID:     {00000000-0000-0000-0000-000000000000}
        Accesses:           ReadAttributes
    
    Access Reasons:     ReadAttributes: Not granted
    
    Access Mask:        0x80
    Privileges Used for Access Check:   -
    Restricted SID Count:   0
    

การติดตาม CommonCryptoLib

  1. เปิดการติดตาม CommonCryptoLib โดยการเพิ่มบรรทัดเหล่านี้ลงในไฟล์ sapcrypto.ini ที่คุณสร้างไว้ก่อนหน้านี้:

    ccl/trace/level=5
    ccl/trace/directory=<drive>:\logs\sectrace
    
  2. เปลี่ยน ccl/trace/directory ตัวเลือก ไปยังตําแหน่งที่ตั้งที่สมาชิกของกลุ่มผู้ใช้ที่ได้รับการรับรองความถูกต้องสามารถเขียนได้

  3. อีกวิธีหนึ่งคือสร้างไฟล์.ini ใหม่เพื่อเปลี่ยนลักษณะการทํางานนี้ ในไดเรกทอรีเดียวกันกับ sapcrypto.ini และ sapcrypto.dll ให้สร้างไฟล์ที่ชื่อ sectrace.ini ด้วยเนื้อหาต่อไปนี้ DIRECTORYแทนที่ตัวเลือกด้วยตําแหน่งบนเครื่องของคุณซึ่งสมาชิกของกลุ่มผู้ใช้ที่ได้รับการรับรองความถูกต้องสามารถเขียนถึง:

    LEVEL = 5
    DIRECTORY = <drive>:\logs\sectrace
    
  4. สร้างปัญหาขึ้นมาใหม่และตรวจสอบว่าตําแหน่งที่ชี้ไปตาม ไดเรกทอรี ที่มีไฟล์การติดตาม

  5. ปิดการติดตาม CPIC และ CCL เมื่อคุณดําเนินการเสร็จแล้ว

    สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการติดตาม CommonCryptoLib ให้ดู SAP Note 2491573 (ต้องมีผู้ใช้ SAP)

เลียน แบบ

ในส่วนนี้จะอธิบายการแก้ไขปัญหาและขั้นตอนการแก้ปัญหาสําหรับปัญหาการเลียนแบบ

อาการ: เมื่อดูที่ GatewayInfo[date].log คุณพบรายการต่อไปนี้: เกี่ยวกับเลียนแบบโดเมน\ผู้ใช้ (IsAuthenticated: True, ImpersonationLevel: ImpersonationLevel) ถ้าค่าสําหรับ ImpersonationLevel แตกต่างจาก การเลียนแบบ การเลียนแบบไม่เกิดขึ้นอย่างถูกต้อง

การแก้ปัญหา: ทําตามขั้นตอนที่พบในการ ให้สิทธิ์นโยบายภายในของบัญชีบริการเกตเวย์บนบทความเครื่อง เกตเวย์ รีสตาร์ทบริการเกตเวย์หลังจากการเปลี่ยนแปลงการกําหนดค่า

การตรวจสอบความถูกต้อง: รีเฟรชหรือสร้างรายงานและรวบรวม GatewayInfo[date].log เปิดไฟล์บันทึก GatewayInfo ล่าสุดและตรวจสอบสตริง เกี่ยวกับ อีกครั้งเพื่อเลียนแบบโดเมน\ผู้ใช้ (IsAuthenticated: True, ImpersonationLevel: Impersonation) เพื่อให้แน่ใจว่าค่าสําหรับ ImpersonationLevel จะตรงกับ การเลียนแบบ

การมอบหมาย

ปัญหาการรับมอบสิทธิ์มักจะปรากฏในบริการของ Power BI เป็นข้อผิดพลาดทั่วไป เมื่อต้องการตรวจสอบว่าการมอบหมายเป็นปัญหามีประโยชน์ในการรวบรวมการติดตาม Wireshark และใช้ Kerberos เป็นตัวกรองหรือไม่ สําหรับการอ้างอิงข้อผิดพลาด Kerberos โปรดดู บล็อกโพสต์นี้ ส่วนที่เหลือของส่วนนี้อธิบายถึงอาการการแก้ไขปัญหาและขั้นตอนการแก้ปัญหาสําหรับปัญหาการรับมอบสิทธิ์

อาการ: ในบริการของ Power BI คุณอาจพบข้อผิดพลาดที่ไม่คาดคิดคล้ายกับข้อผิดพลาดที่อยู่ในภาพหน้าจอต่อไปนี้ ใน GatewayInfo[date].log คุณจะเห็น [DM.GatewayCore] ส่งข้อยกเว้นในระหว่างการพยายามดําเนินการคิวรี ADO สําหรับ clientPipelineId และการนําเข้า [0D_NW_CHANN] ไม่ตรงกับการส่งออก

สกรีนช็อตของข้อผิดพลาดที่ไม่ได้ใช้งาน

ใน Mashup[date].log คุณเห็นข้อผิดพลาด ทั่วไปของ GSS-API(maj): ไม่มีข้อมูลประจําตัวที่ให้มา

ค้นหาการติดตาม CPIC (sec-Microsoft.Mashup.trc*) คุณจะเห็นบางสิ่งที่คล้ายกับรายการต่อไปนี้:

[Thr 4896] *** ERROR => SncPEstablishContext() failed for target='p:CN=BW5' [sncxxall.c 3638]
[Thr 4896] *** ERROR => SncPEstablishContext()==SNCERR_GSSAPI [sncxxall.c 3604]
[Thr 4896] GSS-API(maj): No credentials were supplied
[Thr 4896] Unable to establish the security context
[Thr 4896] target="p:CN=BW5"
[Thr 4896] <<- SncProcessOutput()==SNCERR_GSSAPI
[Thr 4896]
[Thr 4896] LOCATION CPIC (TCP/IP) on local host HNCL2 with Unicode
[Thr 4896] ERROR GSS-API(maj): No credentials were supplied
[Thr 4896] Unable to establish the security context
[Thr 4896] target="p:CN=BW5"
[Thr 4896] TIME Thu Oct 15 20:49:31 2020
[Thr 4896] RELEASE 721
[Thr 4896] COMPONENT SNC (Secure Network Communication)
[Thr 4896] VERSION 6
[Thr 4896] RC -4
[Thr 4896] MODULE sncxxall.c
[Thr 4896] LINE 3604
[Thr 4896] DETAIL SncPEstablishContext
[Thr 4896] SYSTEM CALL gss_init_sec_context
[Thr 4896] COUNTER 3
[Thr 4896]
[Thr 4896] *** ERROR => STISEND:STISncOut failed 20 [r3cpic.c 9834]
[Thr 4896] STISearchConv: found conv without search

ข้อผิดพลาดจะชัดเจนยิ่งขึ้นใน sectraces จากเครื่อง เกตเวย์ sec-Microsoft.Mashup.Con-[].trc:

[2020.10.15 20:31:38.396000][4][Microsoft.Mashup.Con][Kerberos ][ 3616] AcquireCredentialsHandleA called successfully.
[2020.10.15 20:31:38.396000][2][Microsoft.Mashup.Con][Kerberos ][ 3616] InitializeSecurityContextA returned -2146893053 (0x80090303). Preparation for kerberos failed!
[2020.10.15 20:31:38.396000][2][Microsoft.Mashup.Con][Kerberos ][ 3616] Getting kerberos ticket for 'SAP/BW5' failed (user name is affonso_v@HANABQ.COM)
[2020.10.15 20:31:38.396000][2][Microsoft.Mashup.Con][Kerberos ][ 3616] Error for requested algorithm 18: 0/C000018B The security database on the server does not have a computer account for this workstation trust relationship.
[2020.10.15 20:31:38.396000][2][Microsoft.Mashup.Con][Kerberos ][ 3616] Error for requested algorithm 17: 0/C000018B The security database on the server does not have a computer account for this workstation trust relationship.
[2020.10.15 20:31:38.396000][2][Microsoft.Mashup.Con][Kerberos ][ 3616] Error for requested algorithm 23: 0/C000018B The security database on the server does not have a computer account for this workstation trust relationship.
[2020.10.15 20:31:38.396000][2][Microsoft.Mashup.Con][Kerberos ][ 3616] Error for requested algorithm 3: 0/C000018B The security database on the server does not have a computer account for this workstation trust relationship.

คุณยังสามารถดูปัญหาได้ถ้าคุณดูที่การติดตาม WireShark

ภาพหน้าจอของโปรแกรมการติดตามที่แสดงข้อผิดพลาด

หมายเหตุ

ข้อผิดพลาด อื่น ๆ KRB5KDC_ERR_PREAUTH_REQUIRED สามารถละเว้นได้อย่างปลอดภัย

ความละเอียด: คุณต้องเพิ่ม SPN SAP/BW5 ไปยังบัญชีบริการ ข้อมูลและขั้นตอนโดยละเอียดมีอยู่ใน เอกสารประกอบ SAP

คุณอาจพบข้อผิดพลาดที่คล้ายกัน แต่ไม่ใช่ข้อผิดพลาดที่ปรากฏในการติดตาม WireShark เหมือนกับข้อผิดพลาด ต่อไปนี้ KRB5KDC_ERR_BADOPTION:

ภาพหน้าจอของโปรแกรม WireShark ที่แสดงข้อผิดพลาดที่แตกต่างกัน

ข้อผิดพลาดนี้ระบุว่า สามารถพบ SPN SAP/BW5 ได้ แต่ไม่ได้อยู่ภายใต้ บริการที่บัญชีผู้ใช้นี้สามารถแสดงข้อมูลประจําตัว ที่ได้รับมอบหมายในแท็บการรับมอบสิทธิ์สําหรับบัญชีบริการเกตเวย์ เมื่อต้องการแก้ไขปัญหานี้ ให้ทําตามขั้นตอนใน การกําหนดค่าบัญชีผู้ใช้บริการเกตเวย์สําหรับการมอบหมายที่มีข้อจํากัดของ kerberos มาตรฐาน

การตรวจสอบความถูกต้อง: การกําหนดค่าที่เหมาะสมจะป้องกันไม่ให้เกตเวย์แสดงข้อผิดพลาดทั่วไปหรือที่ไม่คาดคิด ถ้าคุณยังคงเห็นข้อผิดพลาดอยู่ ให้ตรวจสอบการกําหนดค่าของเกตเวย์เอง หรือการกําหนดค่าของเซิร์ฟเวอร์ BW

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

ในส่วนนี้จะอธิบายการแก้ไขปัญหาและขั้นตอนการแก้ปัญหาสําหรับปัญหาข้อผิดพลาดของข้อมูลประจําตัว นอกจากนี้คุณอาจเห็นข้อผิดพลาดทั่วไปจากบริการของ Power BI ตามที่อธิบายไว้ในส่วนก่อนหน้าเกี่ยวกับการรับมอบสิทธิ์

มีความละเอียดที่แตกต่างกันตามอาการที่คุณเห็นในแหล่งข้อมูล (SAP BW) ดังนั้นเราจะตรวจทานทั้งสองอย่าง

อาการที่ 1: ใน ไฟล์ sectraces sec-disp+work[].trc จากเซิร์ฟเวอร์ BW คุณจะเห็นร่องรอยคล้ายกับรายการต่อไปนี้:

[2020.05.26 14:21:28.668325][4][disp+work ][SAPCRYPTOLIB][435584] { gss_display_name [2020.05.26 14:21:28.668338][4][disp+work ][GSS ][435584] gss_display_name output buffer (41 bytes) [2020.05.26 14:21:28.668338][4][disp+work ][GSS ][435584] CN=DAVID@XS.CONTOSO.COM@CONTOSO.COM

ความละเอียด: ทําตามขั้นตอนการกําหนดค่าเพื่อตั้งค่าพารามิเตอร์การกําหนดค่าการแมปผู้ใช้บนเครื่องเกตเวย์ถ้าจําเป็น คุณจะต้องทําตามขั้นตอนเหล่านั้นแม้ว่าคุณได้กําหนดค่า Microsoft Entra Connect ไว้แล้วก็ตาม

การตรวจสอบความถูกต้อง: คุณจะสามารถโหลดรายงานในบริการของ Power BI ได้สําเร็จ ถ้าคุณไม่สามารถโหลดรายงานได้ ให้ดูขั้นตอนใน อาการ 2

อาการที่ 2: ใน ไฟล์ sectraces sec-disp+work[].trc จากเซิร์ฟเวอร์ BW คุณจะเห็นร่องรอยคล้ายกับรายการต่อไปนี้:

[2020.10.19 23:10:15.469000][4][disp+work.EXE ][SAPCRYPTOLIB][ 4460] { gss_display_name
[2020.10.19 23:10:15.469000][4][disp+work.EXE ][GSS ][ 4460] gss_display_name output buffer (23 bytes)
[2020.10.19 23:10:15.469000][4][disp+work.EXE ][GSS ][ 4460] CN=DAVID@CONTOSO.COM

ความละเอียด: ตรวจสอบว่า ID ภายนอกของ Kerberos สําหรับผู้ใช้ตรงกับสิ่งที่ sectraces กําลังแสดงอยู่หรือไม่

  1. เปิด SAP Logon
  2. ใช้ทรานแซคชัน SU01
  3. แก้ไขผู้ใช้
  4. นําทางไปยังแท็บ SNC และตรวจสอบว่าชื่อ SNC ตรงกับที่แสดงในบันทึกของคุณหรือไม่

การตรวจสอบความถูกต้อง: เมื่อเสร็จสิ้นอย่างถูกต้อง คุณจะสามารถสร้างและรีเฟรชรายงานในบริการของ Power BI ได้

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