啟用 Kerberos 委派

利用 Kerberos 委派,Tableau Server 能夠使用工作簿或檢視 Viewer(檢視者)的 Kerberos 認證代表該 Viewer(檢視者)執行查詢。在以下情況下,這種方法很有用:

  • 您需要知道誰正在存取資料(Viewer(檢視者)的名稱將出現在資料來源的存取記錄中)。

  • 資料來源具有列層級安全性,即不同的使用者可以存取不同的列。

支援的資料來源

Tableau 支援使用下列資料來源進行 Kerberos 委派:

  • Cloudera:Hive/Impala
  • Denodo
  • Hortonworks
  • Oracle
  • PostgreSQL
  • Spark
  • SQL Server
  • Teradata
  • Vertica

Linux 平台不支援 MSAS。

需求

Kerberos 委派需要 Active Directory。

  • 必須將 Tableau Server 身分存放區設定為使用 Active Directory。
  • 安裝有 Tableau Server 的電腦必須聯結到 Active Directory 網域。
  • 不支援 MIT Kerberos KDC。

Web 製作與使用者 Kerberos 驗證

為給定目標設定到資料的連線時,可以選取整合或 Windows 驗證作為首選驗證方法。但是,對於 Web 製作方案,預設行為是使用 Kerberos 服務帳戶(「執行身分」帳戶)。

要在具有 Kerberos 委派的 Web 製作方案中啟用使用者認證,則必須使用 TSM 進行附加設定。執行以下命令:

tsm configuration set -k native_api.WebAuthoringAuthModeKerberosDelegation -v true
tsm pending-changes apply

進行此設定後,選擇使用 Web 製作整合式進行身分驗證時,Kerberos 委派將成為預設操作。但是,此設定不會阻止內容 Creator 存取服務帳戶。Creator 仍可使用 Tableau Desktop 或其他方法發佈與執行身分服務帳戶連結的內容。

有關「執行身分」服務帳戶的詳情,請參閱啟用 Kerberos 服務帳戶存取

設定過程

此部分提供用於啟用 Kerberos 委派的過程範例。該方案還包括範例名稱,用於說明描述設定元素之間的關係。

  1. Tableau Server 將需要 Kerberos 服務票證來代表發起資料庫調用的使用者進行委派。您必須建立一個將用於委派給給定資料庫的網域帳戶。此帳戶稱為執行身分服務帳戶。在本主題中,設定為委派/執行身分帳戶的範例使用者為 tabsrv@example.com

    在連線到使用者域的 Windows Server 上,該帳戶必須設定為具有 Active Directory 使用者和電腦:

    • 開啟執行身分服務帳戶的「屬性」頁面,按一下「委派」索引標籤,並選取「僅信任此使用者作為指定服務的委派」和「使用任何驗證協議」。
  2. 為執行身分服務帳戶建立一個金鑰表檔案。

    例如,以下命令使用 ktutil 工具建立一個金鑰表 (tabsrv-runas.keytab):

    sudo ktutil
    ktutil:  addent -password -p tabsrv@EXAMPLE.COM -k 2 -e <encryption scheme>

    此命令的加密方案包括 RC4-HMACaes128-cts-hmac-sha1-96aes256-cts-hmac-sha1-96。請諮詢您的 IT 團隊,以獲取適用於您的環境和資料來源的正確加密方案。

    ktutil:  wkt tabsrv-runas.keytab

    Tableau Server 將使用執行身分服務帳戶和關聯的金鑰表進行驗證並直接連線到資料庫。

  3. 將金鑰表檔複製到 Tableau Server 資料目錄中,並設定適當的所有權和權限。如果您執行的是多節點部署,就必須在叢集的每個節點上執行以下命令。

    mkdir /var/opt/keytab                
    sudo cp -p tabsrv-runas.keytab /var/opt/keytab                 
    sudo chown $USER /var/opt/keytab/tabsrv-runas.keytab                  
    chgrp tableau /var/opt/keytab/tabsrv-runas.keytab                  
    chmod g+r /var/opt/keytab/tabsrv-runas.keytab 
    					
  4. 執行以下 TSM 命令以啟用 Kerberos 委派,設定委派服務帳戶,並將金鑰表檔與服務帳戶關聯:

    					
    tsm configuration set -k wgserver.delegation.enabled -v true
    tsm configuration set -k native_api.datasource_impersonation_runas_principal -v tabsrv@EXAMPLE.COM
    tsm configuration set -k native_api.datasource_impersonation_runas_keytab_path -v /var/opt/keytab/tabsrv-runas.keytab
    tsm configuration set -k native_api.protocol_transition_a_d_short_domain -v false
    tsm configuration set -k native_api.protocol_transition_uppercase_realm -v true

    在某些情況下,TSM 可能會返回提到 --force-keys 的錯誤。如果遇到此錯誤,請使用附加到引數的 --force-keys 參數再次執行命令。

  5. 執行以下 TSM 命令,應用對 Tableau Server 所做的變更:

    tsm pending-changes apply

    如果擱置組態需要重新啟動伺服器,pending-changes apply 命令將顯示提示,讓您知道即將重新啟動。即使伺服器已停止,也會顯示提示,但在這種情況下不會重新啟動。您可以使用 --ignore-prompt 選項隱藏提示,但這樣做不會改變重新啟動行為。如果變更不需要重新啟動,則不會出現提示即可套用變更。有關詳情,請參閱 tsm pending-changes apply

  6. 為資料連線啟用委派:

    另請參閱

    Kerberos 疑難排解

感謝您的意見反應!已成功提交您的意見回饋。謝謝!