啟用 Kerberos 服務帳戶存取

您可以將 Tableau Server 設定為使用 Kerberos 服務帳戶來存取資料庫。在此使用案例中,Tableau Server 將透過服務帳戶(亦稱為「執行身分帳戶」)連線至資料庫。

若要在 Tableau Server 上使用執行身分驗證,您必須先建立使用整合驗證的工作簿或資料來源。使用者發布到 Tableau Server 時,就會取得執行身分驗證的選項。如果您透過使用整合驗證的 Tableau Server Web 製作來建立資料來源,則預設情況下,資料來源將使用執行身分驗證。

附註整合驗證在部分連接器上也稱為 Windows 驗證。在這兩種情況下,Tableau Server 都會使用 Kerberos 驗證。

使用「執行身分」服務帳戶進行資料存取

若要使用執行身分驗證,則執行身分帳戶需要對外部資料庫的讀取和查詢權限。依照設計,具有 Creator 角色或 Explorer (Can Publish) 角色的 Tableau Server 使用者擁有對執行身分帳戶的完整存取權限,以便對外部資料庫進行查詢。

例如,具有 Creator 角色的使用者可以檢視已被授予「執行身分」服務帳戶存取權限的所有資料庫。他們也可以列出表並執行自訂 SQL。

如果 Creator 使用者指定了資料庫主機名稱,並在使用 Web 製作建立新資料來源時選取了「整合驗證」,則會對使用者顯示已獲得執行身分存取權限的資料庫。

對資料庫資產的檢視存取權限不限於透過 Web 製作連線到 Tableau Server 的使用者。具有上方附註之相同角色且瞭解資料庫伺服器名稱的資深使用者,可以使用 Tableau Desktop 建立工作簿,以顯示已獲得執行身分存取權限的資料庫。

推薦設定

在這種情況下,使用者對資料庫的存取是否可接受,必須由您的組織進行評估。通常,減少「執行身分」服務帳戶的使用情況和範圍將減少使用者無意中存取資料庫內容的可能性。但是,減少「執行身分」服務帳戶的使用情況和範圍也可能對您和您的使用者施加更多的憑證管理。

根據業務需求和資料存取策略評估以下建議。

  • 首先,請確保您信任具有 Creator 角色或 Explorer(可以發行)角色的所有使用者。您將依靠這些使用者在 Tableau 中誠信地執行動作。
  • 如果無法信任在「執行身分」服務帳戶存取的資料來源上具有發行權利的所有使用者,則應考慮為這些資料來源內嵌憑證。
  • 如果未為自動擷取重新整理設定資料來源,也就是說,資料來源主要作為即時連線進行存取,則可以使用 Kerberos 委派。有關要求,請參閱啟用 Kerberos 委派

需求

  • 不支援 MIT Kerberos。
  • 執行身分服務帳戶必須擁有目標資料庫的讀取權限。

設定過程

此部分提供用於啟用 Kerberos 服務帳戶訪問權限的過程範例。

  1. 建立網域使用者帳戶以作為執行身分服務帳戶。此帳戶必須擁有目標資料庫的讀取權限。

    在此範例中,執行身分服務帳戶是名稱為 tabsrv@example.com 的使用者主體。

  2. 為執行身分服務帳戶建立一個金鑰表檔案。

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

    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 資料目錄中,並設定適當的所有權和權限。Keytab 應可由非特權使用者讀取。由 Tableau 安裝程式建立的預設非特權使用者是 tableau

    如果您執行的是多節點部署,就必須在叢集的每個節點上執行以下命令:

    mkdir /var/opt/tableau/tableau_server/keytab                
    sudo cp -p tabsrv-runas.keytab /var/opt/tableau/tableau_server/keytab                 
    sudo chown $USER /var/opt/tableau/tableau_server/keytab/tabsrv-runas.keytab                  
    chgrp tableau /var/opt/tableau/tableau_server/keytab/tabsrv-runas.keytab                  
    chmod g+r /var/opt/tableau/tableau_server/keytab/tabsrv-runas.keytab 
    
  4. 執行以下 TSM 命令可啟用執行身份存取權限、設定執行身份服務帳戶,以及將 keytab 檔案與服務帳戶建立關聯。

    tsm configuration set -k features.RunAsAuthLinux -v true --force-keys
    tsm configuration set -k native_api.datasource_runas_principal -v tabsrv@EXAMPLE.COM --force-keys
    tsm configuration set -k native_api.datasource_runas_keytab_path -v /var/opt/tableau/tableau_server/keytab/tabsrv-runas.keytab --force-keys			
  5. 執行以下 TSM 命令,將變更套用至 Tableau Server 部署:

    tsm pending-changes apply

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

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