---
schema_version: "1"
id: 8e73b770449c4c4c2232ce8c4c3c868c9abfb9f30ff1d1daf279afc782cd594b
title: แก้ปัญหา Kerberos
collection: tableau
version: next
locale: th-th
portal_url: https://docs.salesforce.com/tableau/next/th-th/server-linux/kerberos_trouble.md
canonical_url: https://help.tableau.com/v0.0/server-linux/th-th/kerberos_trouble.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 15738862e19eb6cd1289fc71a1f8ebfccafd6de85c8883a751a71ede575bc068
description: Troubleshoot Kerberos single sign-on and delegated data source issues.
---
[ข้ามไปยังเนื้อหาหลัก](#main-content)

# แก้ปัญหา Kerberos

คำแนะนำในการแก้ปัญหาในหัวข้อนี้แบ่งออกเป็นปัญหาที่เกี่ยวข้องกับการลงชื่อเพียงครั้งเดียว (SSO) บนเซิร์ฟเวอร์และปัญหาเกี่ยวกับแหล่งข้อมูลที่ได้รับมอบสิทธิ์

โปรดดูหน้าวิกิของชุมชน Tableau Community [การทดสอบการกำหนดค่าฐานข้อมูล Kerberos บน Linux](https://community.tableau.com/s/news/a0A4T000002O4RnUAK/testing-database-kerberos-configuration-on-linux)

## การลงชื่อเพียงครั้งเดียวใน Tableau Server

ในสภาพแวดล้อม Kerberos SSO ผู้ใช้ที่ลงชื่อเข้าใช้ Tableau Server จากเว็บเบราว์เซอร์หรือ Tableau Desktop อาจเห็นข้อความระบุว่า Tableau Server ไม่สามารถลงชื่อเข้าใช้โดยอัตโนมัติ (โดยใช้การลงชื่อเพียงครั้งเดียว) ขอแนะนำให้ระบุชื่อผู้ใช้และรหัสผ่าน Tableau Server แทน

![](/tableau/next/th-th/server-linux/th-th/Img/kerb_auth_failed.png)

### การแก้ปัญหาข้อผิดพลาดในการลงชื่อเข้าใช้บนคอมพิวเตอร์ไคลเอ็นต์

- **ป้อนชื่อผู้ใช้และรหัสผ่าน** หากต้องการตรวจสอบการเข้าถึง Tableau Server ทั่วไปของผู้ใช้ ให้เข้าสู่ระบบโดยป้อนชื่อผู้ใช้และรหัสผ่าน
    
    หากข้อมูลเข้าสู่ระบบเหล่านี้ล้มเหลว ผู้ใช้อาจไม่ใช่ผู้ใช้บน Tableau Server เพื่อให้ Kerberos SSO ทำงานได้ ผู้ใช้ต้องสามารถเข้าถึง Tableau Server และต้องได้รับทิกเก็ตที่ใช้ยืนยันคนที่ขอเข้าสู่ระบบ หรือ Ticket Granting Ticket (TGT) โดย Active Directory (ตามที่อธิบายไว้ในรายการ **TGT** ภายหลังในรายการนี้)
- **ตรวจสอบข้อมูลเข้าสู่ระบบ SSO ของผู้ใช้รายอื่น** ลองเชื่อมต่อด้วย SSO กับ Tableau Server โดยใช้บัญชีผู้ใช้อื่น หากผู้ใช้ทั้งหมดได้รับผลกระทบ ปัญหาอาจอยู่ที่การกำหนดค่า Kerberos
- **ใช้คอมพิวเตอร์เครื่องอื่นที่ไม่ใช่คอมพิวเตอร์เซิร์ฟเวอร์** Kerberos SSO จะไม่ทำงานเมื่อคุณเข้าสู่ระบบ Tableau Server บน localhost ไคลเอ็นต์ต้องเชื่อมต่อจากคอมพิวเตอร์เครื่องอื่นที่ไม่ใช่คอมพิวเตอร์ Tableau Server
- **ใช้ชื่อเซิร์ฟเวอร์ ไม่ใช่ที่อยู่ IP** Kerberos SSO จะไม่ทำงานหากคุณป้อนที่อยู่ IP เป็นชื่อ Tableau Server นอกจากนี้ ชื่อเซิร์ฟเวอร์ที่คุณใช้เพื่อเข้าถึง Tableau Server จะต้องตรงกับชื่อที่ใช้ในการกำหนดค่า Kerberos (ดู **[รายการตารางคีย์](#keytable)** ด้านล่าง)
- **ยืนยันว่าไคลเอ็นต์มี TGT** คอมพิวเตอร์ไคลเอ็นต์ต้องมี TGT (Ticket Granting Ticket) จากโดเมน Active Directory ระบบไม่รองรับการมอบหมายที่จำกัด โดยพร็อกซีการได้รับทิกเก็ต
    
    ในการยืนยันว่าคอมพิวเตอร์ไคลเอนต์มี TGT ให้ทำดังต่อไปนี้
    
    - ใน Windows ให้เปิดข้อความแจ้งคำสั่ง แล้วพิมพ์ข้อความต่อไปนี้: `klist tgt`
    - ใน Mac ให้เปิดหน้าต่างเทอร์มินัล แล้วพิมพ์ดังต่อไปนี้: `klist`
    
    ผลลัพธ์ควรแสดง TGT สำหรับผู้ใช้/โดเมนที่พยายามตรวจสอบสิทธิ์กับ Tableau Server
    
    คอมพิวเตอร์ไคลเอ็นต์อาจไม่มี TGT ในสถานการณ์ต่อไปนี้
    
    - คอมพิวเตอร์ไคลเอ็นต์ใช้การเชื่อมต่อ VPN
    - คอมพิวเตอร์ไคลเอ็นต์ไม่ได้เข้าร่วมกับโดเมน (ตัวอย่างเช่น เป็นคอมพิวเตอร์ที่ใช้งานไม่ได้ที่ใช้ในที่ทำงาน)
    - ผู้ใช้เข้าสู่ระบบคอมพิวเตอร์ด้วยบัญชีในเครื่อง (ไม่ใช่โดเมน)
    - คอมพิวเตอร์คือ Mac ที่ไม่ได้ใช้ Active Directory เป็นเซิร์ฟเวอร์บัญชีเครือข่าย
- **ยืนยันเวอร์ชันและการตั้งค่าของเบราว์เซอร์** สำหรับการเข้าสู่ระบบเว็บเบราว์เซอร์ ตรวจสอบให้แน่ใจว่าเบราว์เซอร์รองรับ Kerberos และกำหนดค่าอย่างถูกต้อง หากจำเป็น
    
    - Internet Explorer (IE) และ Chrome ทำงาน “ทันทีหลังจากติดตั้งโดยไม่ต้องปรับแต่ง” บน Windows
    - Safari ทำงาน “ทันทีหลังจากติดตั้งโดยไม่ต้องปรับแต่ง” บน Mac
    - Firefox ต้องใช้การกำหนดค่าเพิ่มเติม
    
    หากต้องการข้อมูลเพิ่มเติม โปรดดู [ไคลเอ็นต์ Tableau รองรับ SSO ของ Kerberos](https://help.tableau.com/v0.0/server-linux/th-th/kerberos_browser.htm)

### การแก้ปัญหาข้อผิดพลาดในการเข้าสู่ระบบบนเซิร์ฟเวอร์

หากคุณไม่สามารถแก้ปัญหาจากคอมพิวเตอร์ไคลเอ็นต์ได้ ขั้นตอนต่อไปคือการแก้ปัญหาบนคอมพิวเตอร์ที่ใช้ Tableau Server ผู้ดูแลระบบสามารถใช้ ID คำขอเพื่อค้นหาความพยายามในการเข้าสู่ระบบในบันทึก Apache บน Tableau Server

- **ไฟล์บันทึก** ตรวจสอบ Apache error.log เพื่อหาข้อผิดพลาดพร้อมเวลา/วันที่ที่แน่นอนของการพยายามเข้าสู่ระบบที่ล้มเหลว
- **รายการตารางคีย์** หากรายการ error.log มีข้อความว่า “ไม่มีรายการตารางคีย์ที่ตรงกับ HTTP/<servername>.<domain>.<org>@” ตัวอย่างเช่น:
    
    `[Fri Oct 24 10:58:46.087683 2014] [:error] [pid 2104:tid 4776] [client 10.10.1.62:56789] gss_acquire_cred() failed: Unspecified GSS failure. Minor code may provide more information (, No key table entry found matching HTTP/servername.domain.com@)`
    
    ข้อผิดพลาดนี้เป็นผลมาจากความไม่ตรงกันข้อใดข้อหนึ่งต่อไปนี้
    
    - **Tableau Server URL** - URL ที่คอมพิวเตอร์ไคลเอ็นต์ใช้เพื่อเข้าถึงเซิร์ฟเวอร์
        
        ซึ่งคือชื่อที่คุณพิมพ์ลงใน Tableau Desktop หรือแถบที่อยู่ของเบราว์เซอร์ อาจเป็นชื่อแบบย่อให้สั้นลง (`http://servername`) หรือชื่อโดเมนที่มีคุณสมบัติครบถ้วน (`http://servername.domain.com`)
        
        ![ตัวอย่างชื่อเซิร์ฟเวอร์ Tableau ที่แสดงในแถบที่อยู่ของเบราว์เซอร์อินเทอร์เน็ต](/tableau/next/th-th/server-linux/th-th/Img/kerb_servername_1.png) ![ตัวอย่างชื่อเซิร์ฟเวอร์ Tableau ตามที่แสดงในกล่องโต้ตอบลงชื่อเข้าใช้สำหรับ Tableau Server](/tableau/next/th-th/server-linux/th-th/Img/kerb_servername_2.png)
    - **การค้นหา DNS แบบย้อนกลับ** สำหรับที่อยู่ IP ของเซิร์ฟเวอร์
        
        ซึ่งจะค้นหาชื่อ DNS โดยใช้ที่อยู่ IP
        
        ที่ข้อความแจ้งคำสั่ง ให้พิมพ์:
        
        `ping servername`
        
        พร้อมที่อยู่ IP ที่ส่งคืนโดยการ ping เซิร์ฟเวอร์ ให้ทำการค้นหา DNS แบบย้อนกลับ:
        
        `nslookup <ip address>`
        
        คำสั่ง nslookup จะส่งคืนข้อมูลเครือข่ายสำหรับที่อยู่ IP ในส่วน _คำตอบที่ไม่ได้รับอนุญาต_ ของคำตอบ ให้ตรวจสอบว่าชื่อโดเมนที่มีคุณสมบัติครบถ้วน (FQDN) ตรงกับค่าที่กำหนดค่าไว้ต่อไปนี้ 
        
        - ไฟล์ Kerberos .keytab
        - ชื่อบริการหลัก (SPN) สำหรับเซิร์ฟเวอร์
        
        หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่าค่าเหล่านี้ โปรดดู [การทำความเข้าใจข้อกำหนดของ Keytab](https://help.tableau.com/v0.0/server-linux/th-th/kerberos_keytab.htm).

### ตรวจสอบสคริปต์การกำหนดค่า Kerberos

คุณอาจต้องแก้ไขคำสั่ง ktpass ที่คุณได้ใช้สร้างไฟล์ keytab สำหรับตัวแปรสภาวะแวดล้อม ตรวจสอบขั้นตอนการแก้ปัญหาในบทความฐานความรู้[ไม่สามารถสร้างการกำหนดค่าสคริปต์ Kerberos สำหรับ Tableau Server](https://kb.tableau.com/articles/issue/unable-to-generate-kerberos-script-configuration-for-tableau-server?lang=th-th)

## SSO ของแหล่งข้อมูล

### ความล้มเหลวในการเข้าถึงแหล่งข้อมูลที่ได้รับมอบสิทธิ์

ตรวจสอบไฟล์บันทึก vizqlserver สำหรับ "workgroup-auth-mode”

ค้นหา "workgroup-auth-mode" ในไฟล์บันทึก ซึ่งควรระบุว่า "kerberos-impersonate" ไม่ใช่ "as-is”

### การกำหนดค่าการมอบหมาย Kerberos หลายโดเมน

Tableau Server สามารถมอบหมายผู้ใช้จากโดเมน Active Directory อื่น หากฐานข้อมูลของคุณใช้ MIT Kerberos คุณอาจต้องปรับ Kerberos หลักเป็นการแมปผู้ใช้ฐานข้อมูล โดยเฉพาะอย่างยิ่ง คุณจะต้องอัปเดต krb5.conf ด้วยกฎสำหรับ Kerberos realm (ชื่อกลุ่มระบบเครือข่าย) แต่ละรายการที่ผู้ใช้จะเชื่อมต่อ ใช้แท็ก `auth_to_local` ในส่วน `[realms]` เพื่อแมปชื่อหลักกับชื่อผู้ใช้ในเครื่อง

ตัวอย่างเช่น พิจารณาผู้ใช้ `EXAMPLE\jsmith` ซึ่งมี Kerberos หลักคือ `jsmith@EXAMPLE.LAN` ในกรณีนี้ Tableau Server จะระบุผู้ใช้ที่ได้รับมอบสิทธิ์ `jsmith@EXAMPLE` Tableau Server จะใช้ชื่อแทนโดเมนดั้งเดิมของ Active Directory เป็น Kerberos Realm

ฐานข้อมูลเป้าหมายอาจมีกฎอยู่แล้ว เช่น ต่อไปนี้เพื่อแมปผู้ใช้ `jsmith@EXAMPLE.LAN` กับผู้ใช้ฐานข้อมูล `jsmith`

`EXAMPLE.LAN = {      RULE:[1:$1@$0](https://help.tableau.com/v0.0/server-linux/th-th/.*@EXAMPLE.LAN)s/@.*//      DEFAULT   }`

เพื่อรองรับการมอบหมาย คุณต้องเพิ่มกฎอื่นเพื่อแมป jsmith@EXAMPLE กับผู้ใช้ฐานข้อมูล:

`EXAMPLE.LAN = {      RULE:[1:$1@$0](https://help.tableau.com/v0.0/server-linux/th-th/.*@EXAMPLE.LAN)s/@.*//      RULE:[1:$1@$0](https://help.tableau.com/v0.0/server-linux/th-th/.*@EXAMPLE)s/@.*//      DEFAULT   }`

ดูหัวข้อเอกสาร MIT Kerberos [krb5.conf](https://web.mit.edu/kerberos/krb5-1.12/doc/admin/conf_files/krb5_conf.html) หากต้องการทราบข้อมูลเพิ่มเติม

### การมอบหมายที่จำกัดข้ามโดเมน

ในสถานการณ์ข้ามโดเมนบางสถานการณ์ที่ KDC กำลังทำงานบน Windows Server ก่อน Windows 2012 การมอบหมายอาจล้มเหลว ข้อผิดพลาดที่คุณอาจเห็น ได้แก่

- อินเทอร์เฟซเครือข่าย SQL Server: ระบบไม่สามารถติดต่อตัวควบคุมโดเมนเพื่อให้บริการคำขอการตรวจสอบสิทธิ์ โปรดลองอีกครั้งในภายหลัง
- เนทีฟไคลเอ็นต์ SQL Server: ไม่สามารถสร้างบริบท SSPI
- ตัวควบคุมโดเมนส่งคืน: `KRB-ERR-POLICY error with a status STATUS_CROSSREALM_DELEGATION_FAILURE (0xc000040b)`.

ข้ามโดเมนหมายถึงสถานการณ์ที่ Tableau Server ทำงานในโดเมนที่แตกต่างจากแหล่งข้อมูลด้วยบัญชีบริการต่างกัน ตัวอย่าง:

- Tableau Server ทำงานบน โดเมนA ด้วยบัญชีบริการ โดเมนA
- SQL Server ทำงานบน โดเมนB ด้วยบัญชีบริการ โดเมนB

การมอบหมายที่จำกัดแบบดั้งเดิมจะใช้งานได้ก็ต่อเมื่อเซิร์ฟเวอร์ทั้งสองอยู่ในโดเมนเดียวกัน ผู้ใช้สามารถมาจากโดเมนอื่น

หากคุณเห็นข้อผิดพลาดที่ระบุไว้ข้างต้น เพื่อเปิดใช้งานสถานการณ์นี้ ผู้ดูแลระบบ Active Directory ของคุณควรลบการมอบหมายที่จำกัดแบบดั้งเดิมซึ่งกำหนดค่าไว้ในบัญชีการมอบสิทธิ์ การลบการมอบหมายสามารถทำได้ด้วยเครื่องมือการจัดการ Active Directory หรือโดยการเอาค่าที่เกี่ยวข้องกับพร็อพเพอร์ตี้ Active Directory ออก `msDS-AllowedToDelegateTo.`

หากคุณต้องการเก็บรักษาการมอบหมายโดเมนเดียวที่มีอยู่ควบคู่ไปกับการรับมอบสิทธิ์ข้ามโดเมน คุณต้องกำหนดค่าทั้งคู่โดยใช้การมอบหมายที่จำกัดตามทรัพยากร

หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับ Kerberos และการมอบหมายที่จำกัด โปรดดูหัวข้อ Microsoft [ภาพรวมการมอบหมายที่จำกัดของ Kerberos](https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/jj553400\(v=ws.11\))

### การเขียนเว็บ

มีสถานการณ์การเขียนเว็บสองสถานการณ์ที่ไม่รองรับการมอบหมาย Kerberos: ฟีเจอร์ "เชื่อมต่อกับข้อมูลบนเว็บ" และ "สร้างแหล่งข้อมูลบนเว็บ" ยังไม่รองรับการมอบหมาย โดยเฉพาะอย่างยิ่ง หากคุณสร้างแหล่งข้อมูลที่ใช้ Kerberos กับการเขียนเว็บ แหล่งข้อมูลจะใช้การตรวจสอบสิทธิ์บัญชีบริการ “เรียกใช้เป็น” หากคุณต้องการใช้การมอบหมาย Kerberos เพื่อสร้างแหล่งข้อมูล คุณต้องเผยแพร่ด้วย Tableau Desktop ดูข้อมูลเพิ่มเติมเกี่ยวกับบัญชีบริการ “เรียกใช้เป็น” ได้ที่ [เปิดใช้งานการเข้าถึงบัญชีบริการ Kerberos](https://help.tableau.com/v0.0/server-linux/th-th/kerberos_runas_linux.htm)