管理伺服器密碼

Tableau Server 需要儲存它使用的一些密碼以執行各種功能,通常包括保護內部通訊的安全、與其他應用程式或作業系統通訊,或實現與用戶端的安全通訊。在此上下文中,術語密碼可能是指密碼、權杖或用於向另一個實體驗證某個實體身分的其他字串。

執行 Tableau Server 需要兩種類別的密碼。這兩種密碼根據其組建方式而有所不同。

  • 管理員組建的密碼。這些密碼包括執行身分使用者帳戶的認證及關聯密碼,以及 Tableau Server 使用的 SMTP 認證。
  • 由系統中的各種處理序自動組建的密碼。例如,需要一個密碼來保護叢集控制器和 ZooKeeper 處理序之間的通訊。並且,每個與 Postgres 通訊的服務和程式設計使用者都需要一些不同的密碼。

大多數密碼在空閒時將被加密。需要密碼時,將會在執行時對其進行解密。

本主題介紹密碼存儲的工作方式,並介紹了在 Tableau Server 上正確管理密碼存儲所需執行的操作。

瞭解密碼存儲的工作方式

在安裝期間,Tableau Server 會在 Java 金鑰存儲中組建和存儲一個主金鑰。主金鑰用於對系統中使用的設定加密金鑰進行加密。

每當建立或更新一個新密碼時,將會使用設定加密金鑰對該密碼進行加密。加密值隨後與其對應的設定參數一起存儲在伺服器上的一個 YAML 檔案中。儲存加密值的參數使用 ENC(<encrypted string>) 格式,其中 <encrypted string> 是 Base64 編碼的加密字串。

在執行時,當需要存取給定密碼時,系統會將加密值讀取到記憶體中,並使用設定加密金鑰對其進行解密。

在擱置變更的情況下,在組態變更期間輸入密碼時,會加密整個交易。在這種情況下,輸入密碼然後儲存擱置變更之後,密碼會傳輸到協調服務(透過加密的 SSL)。協調服務會加密密碼,並儲存該密碼,直到套用擱置的變更為止。套用變更時,密碼(仍處於加密狀態)會升級到目前的組態版本。

Tableau Server 在 GCM 模式下使用 256 位 AES 對密碼進行加密。用於保護存儲安全的金鑰與用於在將嵌入資料庫認證存儲在存放庫中之前對其進行加密的資產金鑰不同。

誰具有主金鑰的存取權限?

在預設安裝中,Tableau Server 的 Java 金鑰存儲安裝在 \ProgramData\Tableau\Tableau Server\data\tabsvc\crypto\keystores\ 資料夾中。如果將 Tableau 安裝在非系統驅動器上,則路徑為 <install drive>:\Tableau\Tableau Server\data\tabsvc\crypto\keystores\。預設情況下,以下帳戶具有此目錄的存取權限:

  • 執行身分使用者帳戶(如果已設定)
  • NetworkService 預定義本機 Windows 帳戶
  • LocalSystem 預定義本機 Windows 帳戶
  • 電腦系統管理員群組的成員

匯入和匯出設定資訊

Tableau 服務管理員引入了使用 tsm settings export 匯入與匯出設定資訊的功能。

附註:此版本的 Tableau Server 不支援從備份還原設定資訊。作為替代,我們建議使用匯出和匯入設定命令來備份和還原設定資訊。

儘管在以內部方式存儲在磁碟上時設定密碼已加密,但在將設定匯出到檔案時,密碼將以純文字形式寫入檔案。管理員負責採取措施來保護此檔案。有各種可用選項:

  • 將檔案寫入加密的檔案系統。
  • 將檔案寫入由檔案系統權限限制為只有特定使用者或群組才能存取的目錄。
  • 對輸出檔案進行加密。

保護用於匯入和匯出操作的密碼

使用協力廠商工具集(例如 OpenSSL)對備份輸出進行加密。

叢集節點

將新節點新增到 Tableau Server 叢集時,您首先將需要組建節點設定檔 (tsm topology)。節點設定檔包含用於對設定密碼加密的主金鑰存儲檔案的副本。

重要資訊:我們強烈建議您採取額外措施,在匯出包含密碼的設定檔時保護節點設定檔的安全。

在新節點上安裝和設定 Tableau Server 時,您將需要向 initialize-tsm 命令提供節點設定檔。

密碼存儲事件記錄

將記錄與密碼存儲相關的以下事件:

  • 組建新加密金鑰
  • 加密金鑰已回滾或變更
  • 對設定檔中的新值進行加密

有關記錄檔案及其存儲位置的詳情,請參閱使用記錄檔

管理密碼

作為 Tableau Server 管理員,與密碼存儲相關的最重要工作是定期更新密碼。在某些情況(伺服器故障的排除或審計)下,您可能需要檢索密碼。

對於其他操作,例如升級版本、備份和還原或向叢集中新增新節點(如上所述),Tableau Server 會自動管理密碼存儲和相關過程。

更新密碼

您應根據公司的安全性原則定期更新密碼。

若要更新主要金鑰並自動產生密碼,請執行 tsm security regenerate-internal-tokens

檢索密碼

在某些情況下,您可能需要為故障排除或其他操作檢索密碼。例如,您可能需要由 Tableau Server 組建並加密的 Postgres readonly 使用者認證。在這些情況下,您可以執行一個 tsm 命令,該命令將為您檢索密碼並對其進行解密。

若要檢索密碼,請開啟命令提示符,並針對下表中列出的其中一個參數發出 tsm configuration get 命令。

例如,若要檢索 readonly Postgres 使用者的密碼,請鍵入以下命令:

tsm configuration get -k pgsql.readonly_password

該命令將以明文形式返回密碼:

$ tsm configuration get -k pgsql.readonly_password

password

Configuration ParameterDescription
clustercontroller.zookeeper.passwordPassword for cluster controller to connect to zookeeper.
indexandsearchserver.client.password Password for logging into Index and Search Server.
indexandsearchserver.ssl.admin.cert.bytes Admin certificate that is used for administrative access to the Index and Search Server. The admin certificate is used to generate the node certificate.
indexandsearchserver.ssl.admin.key.file_bytes Certificate key for administrative access to the Index and Search Server.
indexandsearchserver.ssl.node.cert.bytes Certificate that is used for Index and Search Server node-to-node communication.
indexandsearchserver.ssl.node.key.file_bytes Certificate key that is used for Index and Search Server node-to-node communication.
indexandsearchserver.ssl.root.cert.bytes Certificate that is used to sign the admin and node certificates . This certificate is used by TSM for health check and by NLP to connect to Index and Search Server.
indexandsearchserver.ssl.root.key.file_bytes Certificate key for root certificate.
filestore.zookeeper.passwordPassword for filestore to connect to zookeeper.
hyper.connection.init_password Password used to initialize the Hyper database for user tableau_internal_user and is then used for connecting to Hyper.
jdbc.passwordPassword for the rails Postgres user.
kms.persistent_store A collection of master encryption keys (MEKs) used by the Key Management System.
maestro.rserve.password Password for connecting to an external Rserve instance used by Tableau Prep Conductor for running flows that have nodes with R scripts.
maestro.tabpy.passwordPassword for connecting to an external TabPy (Python server) instance used by Tableau Prep Conductor for running flows that have nodes with Python scripts.
oauth.google.client_secretClient secret of the Google Cloud Platform account.
oauth.quickbooks.consumer_secretConsumer secret of the Intuit developer account.
oauth.salesforce.client_secretClient secret of the Salesforce developer account.
pgsql.adminpassword

tblwgadmin Postgres 使用者的密碼。

附註:儘管設定參數在 Tableau 的設定檔(tabsvc.yml、workgroup.yml)中已加密,但此密碼將以純文字形式儲存在 SAML 使用的檔案中。

pgsql.readonly_passwordPassword for the readonly Postgres user.
pgsql.remote_passwordPassword for the tableau Postgres user.
redis.password

Redis 的密碼。

附註:儘管設定參數在 Tableau 的設定檔(tabsvc.yml、workgroup.yml)中已加密,但此設定將以純文字形式儲存在由 Redis 應用程式所使用的 redis.conf 檔案中。Redis 不支援加密/安全密碼。

servercrashupload.proxy_server_passwordPassword for custom proxy server used to upload crash reports.
service.runas.passwordPassword of the Run As users. Stored temporarily.
ssl.cert.file_bytes The content of one of the three SSL certificate files uploaded by the administrator. The certificate files are required to enable secure external connections to Tableau Server.
ssl.chain.file_bytes The chain file(s) for the certificates uploaded by the administrator for external SSL.
ssl.key.file_bytesKey file(s) for the certificates uploaded by the administrator for external SSL.
ssl.key.passphraseOptional passphrase used to protect the external SSL key.
svcmonitor.notification.smtp.passwordSMTP Server password supplied by the administrator through TabConfig.exe.
tabadminservice.passwordPassword for the service that allows server admins to download log files through the web interface.
vizportal.openid.client_secretThis is the password ("provider client secret") used for OpenID Connect SSO.
vizqlserver.external_proxy_password Password used to authenticate to an external proxy.
wgserver.domain.passwordPassword used to bind to Active Directory.
wgserver.saml.key.passphrasePassphrase used to access the PKCS#8 SAML key file.
zookeeper.tsm.passwordPassword that TSM uses to connect to Zookeeper coordination service
感謝您的意見反應!已成功提交您的意見回饋。謝謝!