在 Tableau Server 上為 Snowflake 連線設定 OAuth
可以透過多種方式為 Snowflake 連線設定 OAuth,具體取決於使用的 Tableau Server 版本以及要更新的站台數量。本主題會涵蓋每個可用選項的設定。
對於 Tableau 2024.1 及之前的所有版本,Tableau Snowflake 連接器預設使用在 AWS (GALOP) 中託管的 OAuth Proxy,該 Proxy 使用通用用戶端 ID 和密碼。可以選擇性地設定 Tableau Server,以使用與該 Tableau 執行個體在相同位置執行的新 OAuth 服務。這需要您提供自己的用戶端 ID 和密碼,稱為自訂 OAuth,您可以按照以下說明進行設定。
從 2024.2 開始,GALOP Proxy 將被棄用,並且需要以下有關設定自訂 OAuth 的說明,因為它現在將使用本機 OAuth 服務進行驗證。
對於 Tableau Desktop 和 Tableau Cloud 版本 2024.3 及更高版本,可以為 Snowflake 設定協力廠商 IdP(外部 OAuth)。有關更多資訊,請參閱 適用於 Snowflake 的外部 OAuth。
自訂 OAuth 提供的優勢包括:
提高安全性
可以在無法連線到 OAuth Proxy (GALOP) 的隔離環境中使用 OAuth。
無需將 GALOP IP 位址列入允許清單即可在 AWS PrivateLink 或 Azure Private Link VPC 中執行 OAuth 流程。
步驟 1:在 Snowflake 中設定並註冊 OAuth 用戶端
要在 Tableau Server 中使用自訂 OAuth 設定,必須先在 Snowflake 中設定和註冊 OAuth 用戶端,並取得用戶端 ID 和用戶端密碼。對於 Tableau Server 版本 2024.2 及更高版本,無論使用哪個設定選項,都需要執行此步驟。若要在 Snowflake 上註冊自訂 OAuth 用戶端,請遵循為自訂用戶端設定 Snowflake OAuth(連結在新視窗開啟) 中所述的步驟。
使用上方連結的 Snowflake 文章中的步驟在 Snowflake 中註冊 OAuth 用戶端後,您將使用以下 Snowflake 參數設定 Tableau Server:
帳戶執行個體 URL
用戶端 ID
用戶端密碼
重新導向 URL
附註:在 Snowflake 和 Tableau 端輸入的重新導向 URL 相同。格式為:
https://<your_tableau_server_url>.com/auth/add_oauth_token
步驟 2:將 Tableau Server 設定為對 Snowflake 使用 OAuth
選項 1:使用 TSM 為 Snowflake 連線設定 OAuth
需要一次更新多個 Tableau Server 站台時,我們建議使用此選項。
附註:此設定選項不適用於在 Tableau Cloud 上使用。
(版本 2024.1 及更早版本)在 Tableau Server 電腦上執行以下命令,以啟用 Snowflake OAuth 服務:
tsm configuration set -k native_api.enable_snowflake_privatelink_on_server -v true附註:對於 2024.2 及更高版本,無論是否使用 Snowflake 私人連線,請跳過步驟 1。
在文字編輯器中複製、貼上並自訂以下命令:
tsm configuration set -k oauth.snowflake.clients -v " [{\"oauth.snowflake.instance_url\":\"https://account.snowflakecomputing.com\", \"oauth.snowflake.client_id\":\"client_id_string\", \"oauth.snowflake.client_secret\":\"client_secret_string\", \"oauth.snowflake.redirect_uri\":\"http://your_server_url.com/auth/add_oauth_token\" }]"oauth.snowflake.clients金鑰會採用金鑰組陣列。金鑰組中的每個元素都必須用雙引號括起來。雙引號必須逸出為\"。要指定多個帳戶執行個體 URL,請使用用大括號 ({}) 括起來的逗號 (,) 分隔每個額外的 OAuth 用戶端,如下例所示:
tsm configuration set -k oauth.snowflake.clients -v " [{\"oauth.snowflake.instance_url\":\"https://account.snowflakecomputing.com\",\"oauth.snowflake.client_id\":\"client_id_string1\",\"oauth.snowflake.client_secret\":\"client_secret_string1\",\"oauth.snowflake.redirect_uri\":\"http://your_server_url.com/auth/add_oauth_token\" },{\"oauth.snowflake.instance_url\":\"https://account2.snowflakecomputing.com\",\"oauth.snowflake.client_id\":\"client_id_string2\",\"oauth.snowflake.client_secret\":\"client_secret_string2\",\"oauth.snowflake.redirect_uri\":\"http://your_server_url.com/auth/add_oauth_token\" }]"取代每個金鑰的值:
帳戶執行個體 URL:
oauth.snowflake.instance_url用戶端 ID:
oauth.snowflake.client_id用戶端密碼:
oauth.snowflake.client_secret重新導向 URL:
oauth.snowflake.redirect_uri
附註:在執行命令之前,請仔細驗證語法。TSM 不會驗證此輸入。
將命令複製到 TSM CLI 中,並執行命令。
輸入以下命令以套用變更:
tsm pending-changes apply如果擱置組態需要重新啟動伺服器,
pending-changes apply命令將顯示提示,讓您知道即將重新啟動。即使伺服器已停止,也會顯示提示,但在這種情況下不會重新啟動。您可以使用--ignore-prompt選項隱藏提示,但這樣做不會改變重新啟動行為。如果變更不需要重新啟動,則不會出現提示即可套用變更。有關詳情,請參閱 tsm pending-changes apply。
選項 2:按站台為 Snowflake 連線設定 OAuth
附註:從版本 2024.2 開始,此選項也可用於 Tableau Cloud。
可以使用 Tableau Server UI 在站台層級設定自訂 Snowflake OAuth 用戶端。
考慮在站台層級設定自訂 OAuth 用戶端,以便:
覆寫 OAuth 用戶端(若已為伺服器設定)
啟用對需要使用唯一 OAuth 用戶端安全連線到資料的支援。
設定自訂 OAuth 用戶端後,站台層級的設定優先於任何伺服器範圍的設定,且所有新增的 OAuth 認證預設使用站台層級的 OAuth 用戶端。站台層級的自訂 OAuth 設定無需重新啟動 Tableau Server 即可生效。
重要提示:在設定自訂 OAuth 用戶端之前建立的現有 OAuth 認證可暫時使用,但 Tableau Server 管理員和使用者都必須更新其已儲存的認證,以確保資料存取不會中斷。
步驟 1:準備 OAuth 用戶端 ID、用戶端密碼和重新導向 URL
在設定自訂 OAuth 用戶端之前,需要以下列出的資訊。準備好這些資訊後,就可以為站台註冊自訂 Oauth 用戶端。有關更多資訊,請參閱上方步驟 1:在 Snowflake 中設定並註冊 OAuth 用戶端。
帳戶執行個體 URL
OAuth 用戶端 ID 和用戶端密碼:首先向資料提供者(連接器)註冊 OAuth 用戶端以檢索為 Tableau Server 產生的用戶端 ID 和密碼。
重新導向 URL:注意正確的重新導向 URL。在下方步驟 2:將 OAuth 用戶端新增至 Tableau Server 站台的註冊過程中,您將需要此內容。
https://<your_tableau_server_url>.com/auth/add_oauth_token
步驟 2:將 OAuth 用戶端新增至 Tableau Server 站台
按照下面描述的過程將自訂 OAuth 用戶端註冊到站台。
(版本 2024.1 及更早版本)在 Tableau Server 電腦上執行以下兩個命令,以啟用 Snowflake OAuth 服務:
tsm configuration set -k native_api.enable_snowflake_privatelink_on_server -v truetsm pending-changes apply附註:對於 2024.2 及更高版本,無論是否使用 Snowflake 私人連線,請跳過步驟 1。
使用管理員認證登入 Tableau 伺服器站台,並轉到「設定」頁面。
在 OAuth 用戶端登錄檔下,按一下「新增 OAuth 用戶端」按鈕。
輸入所需資訊,包括上述步驟 1 中的資訊:
對於「連線類型」,請選取要設定其自訂 OAuth 用戶端的連接器。
若註冊多個 OAuth 用戶端,則需要 OAuth 執行個體 URL。否則,此為可選選項。
而「用戶端 ID」、「用戶端密碼」和「重新導向 URL」,請輸入在上述步驟 1 中準備的資訊。
按一下「新增 OAuth 用戶端」按鈕以完成註冊過程。

按一下「設定」頁面底部或頂部的「儲存」按鈕以儲存變更。
步驟 3:驗證和更新已儲存的認證
為幫助確保能不間斷存取資料,您(和您的站台使用者)必須刪除之前儲存的憑證並再次新增憑證,以使用站台的自訂 OAuth 用戶端。
巡覽至「我的帳戶設定」頁面。
在「儲存的資料來源憑證」下,執行以下動作:
按一下連接器已儲存的現有認證旁邊的刪除,該連接器的自訂 OAuth 用戶端已在上方步驟 2:將 OAuth 用戶端新增至 Tableau Server 站台中設定。
在連接器名稱旁邊,按一下新增,然後按照提示操作:1) 連線至在上方步驟 2:將 OAuth 用戶端新增至 Tableau Server 站台中設定的自訂 OAuth 用戶端;2) 儲存最新認證。
步驟 4:通知使用者更新其已儲存的認證
確保通知站台使用者更新其已儲存的連接器認證,該連接器的自訂 OAuth 用戶端已在上述步驟 2:將 OAuth 用戶端新增至 Tableau Server 站台中設定。站台使用者可以使用更新儲存的認證中描述的過程來更新他們保存的憑證。
