外部識別身分存放區設定參考資料
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 組態檔。例如,對於有效輸入為
true
或false
的金鑰,使用 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 檔案中的所有值均為有效的資料類型時,匯入命令才會成功。例如,如果為僅接受
true
或false
值的輸入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、本機 | 您想要在其中存放使用者身分資訊的位置。值:local 或 activedirectory 。如果要連線到任何 LDAP 伺服器,請輸入 |
sslPort | 不適用 | wgserver.domain.ssl_port | AD、LDAP | 使用此選項指定 LDAP 伺服器的安全埠。我們建議使用安全 LDAP 進行簡單繫結。LDAPS 通常使用埠 636。 |
不適用 | 不適用 | wgserver.domain.ldap.starttls.enabled | AD、LDAP | 值: 從版本 2021.2 開始,此金鑰在 Tableau Server 設定為連線至 Active Directory 時預設為 คีย์นี้ตั้งค่าเป็น 此金鑰已在版本 2021.1 中引入(但未設定)。 |
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,請輸入使用者名稱,例如, 對於 LDAP 伺服器,請輸入進行連線所要使用的使用者可分辨名稱 (DN)。例如, 原生 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 目錄服務的類型。值:activedirectory 或 openldap 。 |
kerberosPrincipal | kerbprincipal | wgserver.domain.ldap.principal | AD、LDAP | Tableau Server 在主機電腦上的服務主要名稱。Keytab 必須具有此主體的使用權限。/etc/krb5.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 設定 |
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 實體都需要 |
根 | 不適用 | 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 連接埠。網域與連接埠需以冒號 (:) 分隔,且每個「網域:連接埠」組都要以逗號 (,) 分隔,格式如下: 範例: |
distinguishedNameAttribute | 不適用 | wgserver.domain.ldap.dnAttribute | LDAP | 用於存放使用者的可分辨名稱的屬性。此屬性是可選屬性,但它大大提高了 LDAP 查詢的性能。 重要提示︰不要將此選項設定為初始設定的一部分。僅在驗證整個 LDAP 功能後進行設定。在設定此金鑰之前,您的組織中必須已設定 dnAttribute。 |
groupBaseDn | 不適用 | wgserver.domain.ldap.group.baseDn | LDAP | 使用此選項指定群組的替代根。例如,如果所有群組都儲存在名為「groups」的基礎組織中,則請輸入 |
不適用 | classnames | wgserver.domain.ldap.group.classnames | LDAP | 預設情況下,Tableau Server 會尋找包含字串「group」的 LDAP 組物件類別。如果您的 LDAP 組物件不適合預設類別名稱,請透過設定此值來覆寫預設值。您可以提供由逗號分隔的多個類別名稱。 如果您的群組名稱包含逗號,則必須使用反斜線 (\) 將其逸出。例如,如果您的群組名稱為 Tableau LDAP 實作會將 LDAP 物件解譯為使用者或群組。因此,請確保您輸入了最具體的類別名稱。使用者和群組之間的類別名稱重疊可能會導致衝突。 原生 tsm 命令:使用 tsm user-identity-store set-group-mappings [options] 命令。 |
groupBaseFilter | basefilter | wgserver.domain.ldap.group.baseFilter | LDAP | 要用於 Tableau Server 使用者群組的篩選條件。您可以指定物件類屬性和組織單元屬性。例如:
如果 這是必要金鑰。它不能為空。 原生 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 | description | 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 使用者物件不使用這些預設類別名稱,請透過設定此值來覆寫預設值。您可以提供由逗號分隔的多個類別名稱。例如: 如果您的名稱包含逗號,則必須使用反斜線 (\) 將其逸出。例如,如果您的名稱為 原生 tsm 命令:使用 tsm user-identity-store set-user-mappings [options] 命令。 |
userBaseFilter | basefilter | wgserver.domain.ldap.user.baseFilter | LDAP | 要用於 Tableau Server 使用者的篩選條件。您可以指定物件類屬性和組織單元屬性。 例如:
原生 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 | 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:此選項採用字串清單,這需要以引號傳遞每個類別,並用逗號(無空格)在括號中分隔。例如: 對於 configKey:輸入每個類別,用逗號(無空格)在雙引號中分隔。例如: |
userClassNames | 不適用 | wgserver.domain.ldap.user.classnames | LDAP | 預設情況下,Tableau Server 會尋找包含字串 “user” 和 “inetOrgPerson” 的 LDAP 使用者物件類。如果您的 LDAP 使用者物件不使用這些預設類別名稱,請透過設定此值來覆寫預設值。 對於 configEntity:此選項採用字串清單,這需要以引號傳遞每個類別,並用逗號(無空格)在括號中分隔。例如: 對於 configKey:輸入每個類別,用逗號(無空格)在雙引號中分隔。例如: |
計算 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] 命令的 | 透過 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。