---
schema_version: "1"
id: 9175aa3ec00592edc27926588374f9c3efe9b15f7e59ef03a5eeaa7e161a0c6d
title: Kerberos 疑難排解
collection: tableau
version: current
locale: zh-tw
portal_url: https://docs.salesforce.com/tableau/current/zh-tw/server-linux/kerberos_trouble.md
canonical_url: https://help.tableau.com/current/server-linux/zh-tw/kerberos_trouble.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 59817493288cfe567d2e7ee178316848a5ca8ed6d281bedba7e8b157b7a74572
description: Troubleshoot Kerberos single sign-on and delegated data source issues.
---
[跳至主要內容](#main-content)

# Kerberos 疑難排解

本主題中的故障排除建議分為與伺服器上的單一登入 (SSO) 相關的問題以及委派資料來源的問題。

另請參閱 Tableau 社群 Wiki 頁面：[測試 Linux 上的資料庫 Kerberos 組態](https://community.tableau.com/s/news/a0A4T000002O4RnUAK/testing-database-kerberos-configuration-on-linux)。

## 單一登入 Tableau Server

在 Kerberos SSO 環境中，從網頁瀏覽器或 Tableau Desktop 登入 Tableau Server 的使用者可能會看到指示 Tableau Server 無法自動登入（使用單一登入）的訊息。並且會建議使用者提供 Tableau Server 使用者名稱和密碼。

![](/tableau/current/zh-tw/server-linux/zh-tw/Img/kerb_auth_failed.png)

### 用戶端電腦上的登入錯誤疑難排解

- **輸入使用者名稱和密碼**—若要檢查使用者的 Tableau Server 一般存取權限，請輸入使用者的名稱和密碼以登入。
    
    如果認證失敗，使用者可能不是 Tableau Server 上的使用者。如果要讓 Kerberos SSO 運作，使用者必須能夠存取 Tableau Server，而且必須由 Active Directory 授與票證授與票證 (TGT)（如此清單之後的 **TGT** 項目中所述）。
- **檢查其他使用者的 SSO 認證**—嘗試使用其他使用者帳戶透過 SSO 連線到 Tableau Server。如果所有使用者均受影響，則問題可能在 Kerberos 設定中。
- **使用伺服器電腦以外的電腦**當您登入 localhost 時，Kerberos SSO 不會運作。用戶端必須從 Tableau Server 電腦以外的電腦進行連線。
- **使用伺服器名稱，而非IP位址**—如果您輸入 IP 位址作為 Tableau Server 名稱，請使用 Kerberos SSO。此外，用於存取 Tableau Server 的伺服器名稱必須與 Kerberos 設定中使用的名稱相符（請參閱下面的**[金鑰表條目](#keytable)**）。
- **確認用戶端電腦是否具有 TGT**—用戶端電腦必須具有 Active Directory 網域的 TGT（票證授予票證）。不支援代理授予票證的限制委派。
    
    若要確認用戶端電腦具有 TGT，請執行以下操作：
    
    - 在 Windows 上開啟命令提示字元，然後鍵入以下內容：`klist tgt`
    - 在 Mac 上開啟終端機視窗，然後鍵入以下內容：`klist`
    
    輸出應顯示正嘗試接受 Tableau Server 驗證的使用者/域的 TGT。
    
    在以下情況下，用戶端電腦可能沒有 TGT：
    
    - 用戶端電腦使用 VPN 連線
    - 用戶端電腦沒有聯接到域（例如，它是在工作時使用的非工作用電腦）
    - 使用者使用本機（非域）帳戶登入到電腦。
    - 電腦是沒有將 Active Directory 用作網路帳戶伺服器的 Mac 電腦
- **確認瀏覽器版本和設定**—對於 Web 瀏覽器登入，請確保瀏覽器支援 Kerberos，並視需要正確設定。
    
    - Internet Explorer (IE) 和 Chrome 立即可在 Windows 上執行
    - Safari 立即可在 Mac 上執行。
    - Firefox 需要額外的設定
    
    有關詳情，請參閱[Kerberos SSO 的 Tableau 用戶端支援](https://help.tableau.com/current/server-linux/zh-tw/kerberos_browser.htm)。

### 伺服器上的登入錯誤疑難排解

如果無法透過用戶端電腦解決問題，則下面的步驟是在執行 Tableau Server 的電腦上排除故障。管理員可以使用請求 ID 在 Tableau Server 上的 Apache 記錄中尋找登入嘗試。

- **記錄檔** — 檢視 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/current/zh-tw/server-linux/zh-tw/Img/kerb_servername_1.png) ![Tableau Server 登入對話方塊中顯示的 Tableau 伺服器名稱範例。](/tableau/current/zh-tw/server-linux/zh-tw/Img/kerb_servername_2.png)
    - 伺服器 IP 位址的 **DNS 反向尋找**
        
        它使用 IP 位址尋找 DNS 名稱。
        
        在命令提示符處，鍵入：
        
        `ping servername`
        
        利用在 ping 伺服器之後返回的 IP 位址執行 DNS 反向尋找，鍵入：
        
        `nslookup <ip address>`
        
        nslookup 命令將傳回 IP 位址的網路資訊。在回應的_非權威回答_部分，請確認完整網域名稱 (FQDN) 符合以下設定值： 
        
        - Kerberos .keytab 檔案
        - 伺服器的服務主要名稱 (SPN)
        
        有關設定這些值的詳情，請參閱[瞭解 keytab 需求](https://help.tableau.com/current/server-linux/zh-tw/kerberos_keytab.htm)。

### 驗證 Kerberos 設定指令碼

您可能需要修改用來產生環境變數之 keytab 檔案的 ktpass 命令。請檢閱知識庫文章中的疑難排解步驟：[無法產生 Tableau Server 的 Kerberos 指令碼設定](https://kb.tableau.com/articles/issue/unable-to-generate-kerberos-script-configuration-for-tableau-server?lang=zh-tw)。

## 資料來源 SSO

### 委派的資料來源存取失敗

檢查 vizqlserver 記錄檔案中是否有 \[workgroup-auth-mode\] ：

在記錄檔案中尋找 \[workgroup-auth-mode\] 。它應顯示 \[kerberos-impersonate\] 而不是 \[as-is\] 。

### Kerberos 委派多域設定

Tableau Server 可從其他 Active Directory 域中委派使用者。如果您的資料庫使用 MIT Kerberos，您需要將 Kerberos 主體調整為資料庫使用者對應。具體而言，您將需要使用使用者將從中連線的每個 Kerberos 域的規則更新 krb5.conf。使用 `[realms]` 部分中的 `auth_to_local` 標記將主體名稱對應到本機使用者名。

例如，假設一個使用者為 `EXAMPLE\jsmith`，其 Kerberos 主體為 `jsmith@EXAMPLE.LAN`。在這種情況下，Tableau Server 將指定委派使用者 `jsmith@EXAMPLE`。Tableau Server 將使用 Active Directory 舊域別名作為 Kerberos 域。

目標資料庫可能已經有諸如以下規則，用於將使用者 `jsmith@EXAMPLE.LAN` 對應到資料庫使用者 `jsmith`。

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

為了支援委派，您必須新增另一條規則，將 jsmith@EXAMPLE 對應到資料庫使用者：

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

有關詳情，請參閱 MIT Kerberos 文件主題 [krb5.conf](https://web.mit.edu/kerberos/krb5-1.12/doc/admin/conf_files/krb5_conf.html)。

### 跨域約束委派

在 KDC 執行於 Windows 2012 之前的 Windows Server 上的某些跨域方案中，委派可能會失敗。您可能會看到以下錯誤：

- SQL Server Network Interfaces：The system cannot contact a domain controller to service the authentication request.Please try again later.（系統無法聯繫網域控制站來為驗證請求提供服務。請稍後再試。）
- SQL 伺服器原生用戶端：無法產生 SSPI 內容。
- 網域控制站會傳回：`KRB-ERR-POLICY error with a status STATUS_CROSSREALM_DELEGATION_FAILURE (0xc000040b)`。

\[跨域\] 是指 Tableau Server 使用不同服務帳戶執行在與資料來源不同的網域中的情形。例如：

- Tableau Server 使用 DomainA 服務帳戶執行在 DomainA 上。
- SQL Server 使用 DomainB 服務帳戶執行在 DomainB 上。

只有當兩個伺服器位於同一域中時，傳統約束委派才能工作。使用者可能來自其他域。

如果您看到上述錯誤，則您的 Active Directory 管理員應移除在委派帳戶上設定的任何傳統約束委派以啟用此方案。可以使用 Active Directory 管理工具或透過移除與 Active Directory 屬性 `msDS-AllowedToDelegateTo.` 關聯的值來移除委派。

如果想要隨跨域委派一起保留現有單域委派，則您必須使用基於資源的約束委派對兩者進行設定。

有關 Kerberos 和限制委派的詳情，請參閱 Microsoft 主題 [Kerberos 限制委派概觀](https://docs.microsoft.com/zh-tw/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/jj553400\(v=ws.11\))。

### Web 製作

有兩個 Web 製作案例並不支援 Kerberos 委派：「連線到 Web 上的資料」和「在 Web 上建立資料來源」功能尚不支援委派。具體而言，如果您在使用 Web 製作的位置建立了使用 Kerberos 的資料來源，該資料來源將會使用「執行身分」服務帳戶驗證。如果您要使用 Kerberos 委派建立資料來源，則必須使用 Tableau Desktop 進行發佈。有關「執行身分」服務帳戶的詳情，請參閱[啟用 Kerberos 服務帳戶存取](https://help.tableau.com/current/server-linux/zh-tw/kerberos_runas_linux.htm)。