外部識別身分存放區設定參考資料

Tableau Server 支援使用 LDAP 連線至外部目錄。在這種情況下,Tableau Server 會將使用者從外部 LDAP 目錄匯入 Tableau Server 存放庫作為系統使用者。

本主題將提供 Tableau Server 支援的所有 LDAP 相關設定選項的說明。如果要連線至 Active Directory,我們強烈建議您將 LDAP 與 Tableau Server 的連線自動設定為安裝程式的一部分,而不是手動設定連線。請參閱設定初始節點設定

此參考資料中列出的選項可用於任何符合 LDAP 的目錄。如果您沒有設定 LDAP 的經驗,可與目錄管理員或 LDAP 專家合作。

這是一個參考主題。有關 Tableau Server 如何儲存與管理使用者的詳情,請先參閱識別身分存放區

設定方法

能夠使 Tableau Server 連線至 LDAP 目錄的設定參數均儲存在 .yml 檔案中。這些檔案由 Tableau Server 中的各種服務進行管理和同步。更新 .yml 檔案時,必須使用 Tableau 服務管理員 (TSM) 介面。

不要嘗試使用文字編輯器直接更新 .yml 檔案。TSM 必須管理所有更新,以確保正常運作。

.yml 組態檔由金鑰值組組成。例如,金鑰 wgserver.domain.username 以使用者名稱為值。此金鑰可定義將用於在繫結操作期間對 LDAP 目錄進行驗證的使用者名稱。

有四種不同的 TSM 方法可以設定 yml 金鑰值。此處以 wgserver.domain.username 金鑰為例對這四種不同的方法進行說明︰

  • configKey 金鑰值組— 可以透過更新執行 tsm configuration set 選項wgserver.domain.username 金鑰,或將金鑰包含在 configKey 實體下的 JSON 組態檔中,來更新 .yml 組態檔金鑰。請參閱組態檔範例

    JSON 組態檔中的 configKey 金鑰值組與用於 tsm configuration set 的金鑰值組相同,但設定不同。本主題將這兩種方法稱為 configKey。

    與使用下方所述的 configEntities 和原生 tsm 命令時不同,系統不會對 configKey 輸入進行驗證。當您透過 configKey 設定選項時,您輸入的值會作為常值字串複製到基礎 .yml 組態檔。例如,對於有效輸入為 truefalse 的金鑰,使用 configKey 金鑰值組設定金鑰時,可以輸入任意字串值,並將其儲存為金鑰。在此類情況下,無效值無疑會導致 LDAP 設定錯誤。

    我們建議僅在不存在選項的情況下使用 configKeys 進行設定,包括下面列出的其他三個選項(configEntities、原生 tsm 命令或 TSM Web UI)。使用 configKeys 時,請務必仔細檢查您的值,並注意區分大小寫。

  • configEntities JSON— 可以透過傳遞 configEntities JSON 中的 username 選項來更新 .yml 組態檔。

    使用 JSON 檔案中的 configEntities 選項設定值時,系統會在儲存值之前對其進行驗證。輸入的值區分大小寫。有關如何使用 configEntities 設定值的詳細資訊,請參閱 identityStore 實體範例。JSON 檔案透過 tsm settings import 命令匯入。可用於 configEntities 的選項是所有 .yml 金鑰值組的子集。

    驗證意味著僅當 JSON 檔案中的所有值均為有效的資料類型時,匯入命令才會成功。例如,如果為僅接受 truefalse 值的輸入 no,則您將會收到錯誤訊息,並且不會匯入設定。

    只能將 JSON 組態檔作為初始設定的一部分匯入。如果在匯入 JSON 組態檔並初始化 Tableau Server 後需要進行 LDAP 變更,請不要嘗試重新匯入 JSON 檔案。相反,請使用原生 tsm 命令(若可用)或使用 configKeys 和 tsm configuration set 對單個金鑰進行變更。

  • 原生 tsm 命令— 可以透過將 ldapuser 選項與原生 tsm 命令tsm user-identity-store 一起傳遞來更新 .yml 組態檔。與 configEntities 一樣,透過原生 tsm 命令輸入的值會在儲存之前驗證。

    並非可以使用原生 tsm 命令設定 .yml 檔案中的所有金鑰值組。

  • TSM GUI— 可以在安裝過程中使用 TSM GUI 來設定組態值。若要連線到 Active Directory,並在安裝過程中使用 GUI 設定 Tableau 身分存放區,則會提示您需要具有 AD 讀取存取權限的帳戶。wgserver.domain.username 金鑰會在輸入認證時設定。

    這種情況僅在連線至 Active Directory 時適用。Tableau Server 不支援任意 LDAP 設定作為 GUI 安裝程式的一部分。

考慮使用 Tableau 識別身份存放區組態工具(連結在新視窗開啟)來產生 LDAP json 組態檔。Tableau 識別身份存放區組態工具也會產生您可以透過執行 tsm configuration set 選項 的金鑰/值組清單。Tableau 不支援工具本身。但使用工具建立的 JSON 檔案,而不是手動建立檔案,不會變更伺服器的支援狀態。

設定 Active Directory

若要將 Tableau Server 設定為使用 Active Directory,建議使用 TSM Web UI 安裝。TSM Web UI 已進行最佳化以透過最少必要輸入設定 Tableau Server Active Directory。請參閱設定初始節點設定

設定參考表

configEntities 選項

(選項區分大小寫)

原生 tsm 命令

configKey

(與 tsm configuration set 命令一起使用或在 JSON 檔案的 configKeys 部分中使用)

案例

說明

type 不可用 wgserver.authenticate AD、LDAP、本機 您想要在其中存放使用者身分資訊的位置。值:localactivedirectory

如果要連線到任何 LDAP 伺服器,請輸入 activedirectory

sslPort 不可用 wgserver.domain.ssl_port AD、LDAP 使用此選項指定 LDAP 伺服器的安全埠。我們建議使用安全 LDAP 進行簡單繫結。LDAPS 通常使用埠 636。
port 不可用 wgserver.domain.port AD、LDAP 使用此選項指定 LDAP 伺服器的非安全埠。明文通常使用 389。
domain domain wgserver.domain.default AD 在 Active Directory 環境中,指定安裝 Tableau Server 所在的網域,例如「example.lan」。

對於非 AD LDAP︰您為此值輸入的字串會顯示在使用者管理工具的「網域」欄中。您可以輸入任意字串,但金鑰不能為空白。

此金鑰與 wgserver.domain.fqdn 重複。兩個金鑰的值必須相同。

原生 tsm 命令:使用 tsm user-identity-store set-connection [options] 命令。

username ldapusername wgserver.domain.username AD、LDAP 要用於連線到目錄服務的使用者名。

您指定的帳戶必須擁有查詢目錄服務的權限。

對於 Active Directory,請輸入使用者名稱,例如,jsmith

對於 LDAP 伺服器,請輸入進行連線所要使用的使用者可分辨名稱 (DN)。例如,"cn=jsmith,dc=example,dc=lan"

原生 tsm 命令:使用 tsm user-identity-store set-connection [options] 命令。

password ldappassword wgserver.domain.password AD、LDAP 要用於連線到 LDAP 伺服器的使用者帳戶密碼。

原生 tsm 命令:使用 tsm user-identity-store set-connection [options] 命令。

directoryServiceType 不可用 wgserver.domain.directoryservice.type AD、LDAP 要連線到的 LDAP 目錄服務的類型。值:activedirectoryopenldap
kerberosPrincipal kerbprincipal wgserver.domain.ldap.principal AD、LDAP Tableau Server 在主機電腦上的服務主要名稱。Keytab 必須具有此主體的使用權限。不要使用系統的現有 keytab 。相反,我們建議您註冊一個新的服務主要名稱。若要查看給定 keytab 中的主體,請執行 klist -k 命令。請參閱瞭解 keytab 需求

原生 tsm 命令:使用 tsm user-identity-store set-connection [options] 命令。

hostname hostname wgserver.domain.ldap.hostname AD、LDAP LDAP 伺服器的主機名稱。您可以針對該值輸入主機名稱或 IP 位址。您在這裡指定的主機將用於主要網域上的使用者/群組查詢。如果使用者/群組查詢位於其他網域中,Tableau Server 將查詢 DNS 以識別適當的網域控制站。

原生 tsm 命令:使用 tsm user-identity-store set-connection [options] 命令。

membersRetrievalPageSize 不可用 wgserver.domain.ldap.members.retrieval.page.size AD、LDAP

此選項會決定 LDAP 查詢傳回的最大結果數量。

例如,考慮 Tableau Server 匯入包含 50,000 個使用者的 LDAP 群組的情景。在單一作業中嘗試匯入如此大量的使用者不是最佳作法。當此選項設定為 1500 時,Tableau Server 將在第一次回應時先匯入 1500 個使用者。在處理這些使用者之後,Tableau Server 會從 LDAP 伺服器要求下一批 1500 個使用者,以此類推。

建議您僅根據您的 LDAP 伺服器需求修改此選項。

不可用 不可用 wgserver.domain.ldap.connectionpool.enabled AD、LDAP 當此選項設定為 true 時,Tableau Server 在傳送查詢至 LDAP 伺服器時,會嘗試重複使用相同的連線。此行為會降低在每個新要求中,與 LDAP 伺服器重新驗證有關的額外負荷。連線共用只能與簡單的繫結和 TSL/SSL 繫結連線搭配使用。GSSAPI 繫結連線不支援連線共用。
不可用 不可用 wgserver.domain.accept_list AD 允許從 Tableau Server 連線至次要 Active Directory 網域。次要網域是 Tableau Server 連線的目的地,藉此進行使用者同步作業,不過卻是尚未安裝 Tableau Server 的網域。為了確保 Tableau Server 可連線至其他 Active Directory 網域,您必須藉由透過 TSM 設定 wgserver.domain.accept_list 選項,以指定受信任的網域。有關詳情,請參閱 wgserver.domain.accept_list
不可用 不可用

wgserver.domain.whitelist

AD

重要資訊:從版本 2020.4.0 開始,已過時。請改用 wgserver.domain.accept_list。

允許從 Tableau Server 連線至次要 Active Directory 網域。次要網域是 Tableau Server 連線的目的地,藉此進行使用者同步作業,不過卻是尚未安裝 Tableau Server 的網域。為了確保 Tableau Server 可連線至其他 Active Directory 網域,您必須藉由透過 TSM 設定 wgserver.domain.whitelist 選項,以指定受信任的網域。有關詳情,請參閱 wgserver.domain.whitelist

kerberosConfig

kerbconfig

無直接對應 AD、LDAP

本機電腦上 Kerberos 組態檔的路徑。如果要安裝到 Active Directory 目錄,我們不建議使用現有 Kerberos 組態檔或聯接域的電腦上已有的 keytab 檔案。請參閱識別身分存放區

原生 tsm 命令:使用 tsm user-identity-store set-connection [options] 命令。

kerberosKeytab kerbkeytab 無直接對應 AD、LDAP

本機電腦上 Kerberos keytab 檔案的路徑。建議您建立一個包含專門用於 Tableau Server 服務的金鑰的 keytab 檔案,並且不要與電腦上的其他應用程式共用此 keytab 檔案。

原生 tsm 命令:使用 tsm user-identity-store set-connection [options] 命令。

nickname 不可用 wgserver.domain.nickname AD、LDAP

網域的昵稱。這在 Windows/Active Directory 環境中也稱為 NetBIOS 名稱。所有 LDAP 實體都需要 nickname 選項。該值不能為空。如果您的組織不需要昵稱/NetBIOS,則傳遞一個空白鍵,例如:""

不可用 wgserver.domain.ldap.root LDAP 如果您在 LDAP 根中未使用 dc 元件,或者您想要指定更複雜的根,則需要設定 LDAP 根。使用「o=my,u=root」格式。例如,對於網域,example.lan 根則為 "o=example,u=lan"
serverSideSorting 不可用 wgserver.domain.ldap.server_side_sorting LDAP 是否為查詢結果的伺服器端排序設定了 LDAP 伺服器。如果 LDAP 伺服器支援伺服器端排序,請將此選項設定為 true。如果您不確定 LDAP 伺服器是否支援這種情況,請輸入 false,不當設定可能會造成錯誤。
rangeRetrieval 不可用 wgserver.domain.ldap.range_retrieval LDAP LDAP 伺服器是否設定為返回請求查詢結果的範圍。這意味著具有多個使用者的群組將以小型集合要求,而不是所有使用者一次性要求。支援範圍擷取的 LDAP 伺服器在執行大型查詢時效能更好。如果 LDAP 伺服器支援範圍擷取,請將此選項設定為 true。如果您不確定 LDAP 伺服器是否支援範圍擷取,請輸入 false,不當設定可能會造成錯誤。
bind 不可用 wgserver.domain.ldap.bind LDAP 要用於保護目錄服務通訊的方式。除非使用 Kerberos 連線到 LDAP 伺服器,否則請為 LDAP 輸入 simple。對於 Kerberos,輸入 gssapi
不可用 不可用 wgserver.domain.ldap.domain_custom_ports LDAP

附註:此金鑰僅支援 Linux 版 Tableau Server。

這可讓您對應子網域及其 LDAP 連接埠。網域與連接埠需以冒號 (:) 分隔,且每個「網域:連接埠」組都要以逗號 (,) 分隔,格式如下:FQDN1:port,FQDN2:port

範例:tsm configuration set -k wgserver.domain.ldap.domain_custom_ports -v childdomain1.lan:3269,childdomain2.lan:3269,childdomain3.lan:389

distinguishedNameAttribute 不可用 wgserver.domain.ldap.dnAttribute LDAP

用於存放使用者的可分辨名稱的屬性。此屬性是可選屬性,但它大大提高了 LDAP 查詢的性能。

重要提示︰不要將此選項設定為初始設定的一部分。僅在驗證整個 LDAP 功能後進行設定。在設定此金鑰之前,您的組織中必須已設定 dnAttribute。

groupBaseDn 不可用 wgserver.domain.ldap.group.baseDn LDAP

使用此選項指定群組的替代根。例如,如果所有群組都儲存在名為「groups」的基礎組織中,則請輸入 "o=groups"

不可用 classnames wgserver.domain.ldap.group.classnames LDAP

預設情況下,Tableau Server 會尋找包含字串「group」的 LDAP 組物件類別。如果您的 LDAP 組物件不適合預設類別名稱,請透過設定此值來覆寫預設值。您可以提供由逗號分隔的多個類別名稱。

如果您的群組名稱包含逗號,則必須使用反斜線 (\) 將其逸出。例如,如果您的群組名稱為 groupOfNames, top,則請輸入 "groupOfNames\, top"

Tableau LDAP 實作會將 LDAP 物件解譯為使用者或群組。因此,請確保您輸入了最具體的類別名稱。使用者和群組之間的類別名稱重疊可能會導致衝突。

原生 tsm 命令:使用 tsm user-identity-store set-group-mappings [options] 命令。

groupBaseFilter basefilter wgserver.domain.ldap.group.baseFilter LDAP

要用於 Tableau Server 使用者群組的篩選條件。您可以指定物件類屬性和組織單元屬性。例如:

"(&(objectClass=groupofNames)(ou=Group))"

如果 "(&(objectClass=inetOrgPerson)(ou=People))" 在 LDAP 實作中無法使用,請指定適用於 Tableau 使用者的基本篩選器。

這是必要金鑰。它不能為空。

原生 tsm 命令:使用 tsm user-identity-store set-group-mappings [options] 命令。

groupName groupname wgserver.domain.ldap.group.name LDAP

與 LDAP 伺服器上的群組名稱對應的屬性。

原生 tsm 命令:使用 tsm user-identity-store set-group-mappings [options] 命令。

groupEmail groupemail wgserver.domain.ldap.group.email LDAP

與 LDAP 伺服器上的群組電子郵件地址對應的屬性。

原生 tsm 命令:使用 tsm user-identity-store set-group-mappings [options] 命令。

groupDescription 說明 wgserver.domain.ldap.group.description LDAP

與 LDAP 伺服器上的群組說明對應的屬性。

原生 tsm 命令:使用 tsm user-identity-store set-group-mappings [options] 命令。

member member wgserver.domain.ldap.group.member LDAP

指定包含屬於該群組一部分之辨別名稱清單的 LDAP 屬性。

原生 tsm 命令:使用 tsm user-identity-store set-group-mappings [options] 命令。

不可用 不可用 wgserver.domain.ldap.group.memberURL LDAP 指定儲存動態群組 LDAP 查詢的 LDAP 屬性名稱。
userBaseDn 不可用 wgserver.domain.ldap.user.baseDn LDAP 使用此選項指定使用者的替代根。例如,如果所有使用者都儲存在名為「users」的基礎組織中,則請輸入 "o=users"
不可用 classnames wgserver.domain.ldap.user.classnames LDAP

預設情況下,Tableau Server 會尋找包含字串 “user” 和 “inetOrgPerson” 的 LDAP 使用者物件類。如果您的 LDAP 使用者物件不使用這些預設類別名稱,請透過設定此值來覆寫預設值。您可以提供由逗號分隔的多個類別名稱。例如:"userclass1, userclass2"

如果您的名稱包含逗號,則必須使用反斜線 (\) 將其逸出。例如,如果您的名稱為 Names, top,則請輸入 "Names\, top"

原生 tsm 命令:使用 tsm user-identity-store set-user-mappings [options] 命令。

userBaseFilter basefilter wgserver.domain.ldap.user.baseFilter LDAP

要用於 Tableau Server 使用者的篩選條件。您可以指定物件類屬性和組織單元屬性。

例如:

"(&(objectClass=inetOrgPerson)(ou=People))"

原生 tsm 命令:使用 tsm user-identity-store set-user-mappings [options] 命令。

userUsername ldapusername wgserver.domain.ldap.user.username LDAP

與 LDAP 伺服器上的使用者名對應的屬性。

原生 tsm 命令:使用 tsm user-identity-store set-user-mappings [options] 命令。

userDisplayName displayname wgserver.domain.ldap.user.displayname LDAP

與 LDAP 伺服器上的使用者顯示名稱對應的屬性。

原生 tsm 命令:使用 tsm user-identity-store set-user-mappings [options] 命令。

userEmail email wgserver.domain.ldap.user.email LDAP

與 LDAP 伺服器上的使用者電子郵件地址對應的屬性。

原生 tsm 命令:使用 tsm user-identity-store set-user-mappings [options] 命令。

userCertificate certificate wgserver.domain.ldap.user.usercertificate LDAP

與 LDAP 伺服器上的使用者憑證對應的屬性。

原生 tsm 命令:使用 tsm user-identity-store set-user-mappings [options] 命令。

不可用 thumbnail wgserver.domain.ldap.user.thumbnail LDAP

與 LDAP 伺服器上的使用者縮圖影像對應的屬性。

原生 tsm 命令:使用 tsm user-identity-store set-user-mappings [options] 命令。

userJpegPhoto jpegphoto wgserver.domain.ldap.user.jpegphoto LDAP

與 LDAP 伺服器上的使用者設定檔影像對應的屬性。

原生 tsm 命令:使用 tsm user-identity-store set-user-mappings [options] 命令。

memberOf memberof wgserver.domain.ldap.user.memberof LDAP

使用者所屬的組。

原生 tsm 命令:使用 tsm user-identity-store set-user-mappings [options] 命令。

groupClassNames 不可用 wgserver.domain.ldap.group.classnames LDAP

預設情況下,Tableau Server 會尋找包含字串「group」的 LDAP 組物件類別。如果您的 LDAP 組物件不適合預設類別名稱,請透過設定此值來覆寫預設值。

對於 configEntity:此選項採用字串清單,這需要以引號傳遞每個類別,並用逗號(無空格)在括號中分隔。例如:["basegroup","othergroup"]

對於 configKey:輸入每個類別,用逗號(無空格)在雙引號中分隔。例如:"basegroup,othergroup”

userClassNames 不可用 wgserver.domain.ldap.user.classnames LDAP

預設情況下,Tableau Server 會尋找包含字串 “user” 和 “inetOrgPerson” 的 LDAP 使用者物件類。如果您的 LDAP 使用者物件不使用這些預設類別名稱,請透過設定此值來覆寫預設值。

對於 configEntity:此選項採用字串清單,這需要以引號傳遞每個類別,並用逗號(無空格)在括號中分隔。例如:["userclass1",userclass2”]

對於 configKey:輸入每個類別,用逗號(無空格)在雙引號中分隔。例如:"userclass1,userclass2”

計算 configKeys

下列 Kerberos 相關的 configKeys 已計算,並根據多個環境輸入設定。因此,必須由原生 tsm 命令或 configEntities 設定。請勿嘗試手動設定這些 configKeys。

計算 configKey 使用原生 TSM 命令︰ 使用 configEntity json:

wgserver.domain.ldap.kerberos.conf,

cfs.ldap.kerberos.conf

透過 tsm user-identity-store set-connection [options] 命令的 kerbconfig 選項設定 Kerberos 組態檔位置。

透過 kerberosConfig configEntity 選項設定 Kerberos 組態檔位置。

wgserver.domain.ldap.kerberos.keytab,

cfs.ldap.kerberos.keytab

透過 tsm user-identity-store set-connection [options] 命令的 kerbkeytab 選項設定 Kerberos Keytab 檔位置。 透過 kerberosKeytab configEntity 選項設定 Kerberos Keytab 檔位置。

不支援的 configKeys

基礎 .yml 組態檔中有一些不支援的 configKeys。下列金鑰不適用於標準部署。請勿設定下列金鑰:

  • wgserver.domain.ldap.kerberos.login
  • wgserver.domain.ldap.guid
  • wgserver.domain.fqdn︰此金鑰與 wgserver.domain.default 重複。兩個金鑰的值必須相同。僅當該值與 wgserver.domain.default 不相符時,才更新 wgserver.domain.fqdn。
感謝您的意見回饋!