為 Snowflake 連線設定 OAuth
可以透過多種方式為 Snowflake 連線設定 OAuth,具體取決於使用的 Tableau 版本以及要更新的站台數量。本主題會涵蓋每個可用選項的設定。
- 對於 Tableau 2024.1 及之前的所有版本,Tableau Snowflake 連接器預設使用在 AWS (GALOP) 中託管的 OAuth Proxy,該 Proxy 使用通用用戶端 ID 和密碼。
- 從 Tableau 2020.4 開始,可以選擇設定 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 流程。
在 Snowflake 上註冊 OAuth 用戶端
要在 Tableau Server 中使用自訂 OAuth 設定,必須先註冊 OAuth 用戶端,並取得用戶端 ID 和用戶端密碼以完成設定。對於 Tableau Server 版本 2024.2 及更高版本,無論使用哪個設定選項,都需要執行此步驟。若要在 Snowflake 上註冊自訂 OAuth 用戶端,請遵循為自訂用戶端設定 Snowflake OAuth(連結在新視窗開啟) 中所述的步驟。
註冊後,將使用以下 Snowflake 參數設定 Tableau Server:
- 帳戶執行個體 URL
- 用戶端 ID
- 用戶端密碼
- 重新導向 URL
附註:在 Snowflake 和 Tableau 端輸入的重新導向 URL 相同。格式為:
https://your_server_url.com/auth/add_oauth_token
例如,https://example.com/auth/add_oauth_token
選項 1:使用 TSM 為 Snowflake 連線設定 OAuth
需要同時更新多個站台時,我們建議使用此選項。
附註:此設定選項不適用於在 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。
在文字編輯器中複製、貼上並自訂以下命令:
附註:若在 Tableau Server 2021.1 及更高版本中進行這些設定變更,請注意 oauth.snowflake.clients 值的格式已變更。
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 中,並執行命令。
- 帳戶執行個體 URL:
輸入以下命令以套用變更:
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 用戶端設定為 1) 如果是為伺服器設定,則覆寫 OAuth 用戶端;或 2) 啟用支援安全連線到需要唯一 OAuth 用戶端的資料。
設定自訂 OAuth 用戶端時,站台等級設定優先於任何伺服器端設定,並且預設情況下建立的所有新 OAuth 憑證都使用站台等級 OAuth 用戶端。無須重新啟動 Tableau Server 即可使設定生效。
重要提示:在設定自訂 OAuth 用戶端之前建立的現有 OAuth 憑證暫時可用,但伺服器管理員和使用者都必須更新其保存的憑證以幫助確保能不間斷存取資料。
1:準備 OAuth 用戶端 ID、用戶端密碼以及重新定向 URL
在設定自訂 OAuth 用戶端之前,需要以下列出的資訊。準備好這些資訊後,就可以為站台註冊自訂 Oauth 用戶端。有關詳細資訊,請參閱以上使用 Snowflake 註冊 OAuth 用戶端一節。
OAuth 用戶端 ID 和用戶端密碼:首先向資料提供者(連接器)註冊 OAuth 用戶端以檢索為 Tableau Server 產生的用戶端 ID 和密碼。
重新導向 URL:注意正確的重新導向 URL。您將在下方的步驟 2 註冊過程中需要它。
https://<伺服器名稱> .com/auth/add_oauth_token
例如,https://example.com/auth/add_oauth_token
2:註冊 OAuth 用戶端 ID 與用戶端密碼
按照下面描述的過程將自訂 OAuth 用戶端註冊到站台。
(版本 2024.1 及更早版本)在 Tableau Server 電腦上執行以下命令,以啟用 Snowflake OAuth 服務:
tsm configuration set -k native_api.enable_snowflake_privatelink_on_server -v true
附註:對於 2024.2 及更高版本,無論是否使用 Snowflake 私人連線,請跳過步驟 1。
使用管理員認證登入 Tableau 伺服器站台,並轉到「設定」頁面。
在 OAuth 用戶端登錄檔下,按一下「新增 OAuth 用戶端」按鈕。
輸入所需資訊,包括上述步驟 1 中的資訊:
對於「連線類型」,請選取要設定其自訂 OAuth 用戶端的連接器。
若註冊多個 OAuth 用戶端,則需要 OAuth 執行個體 URL。否則,此為可選選項。
而「用戶端 ID」、「用戶端密碼」和「重新導向 URL」,請輸入在上述步驟 1 中準備的資訊。
按一下「新增 OAuth 用戶端」按鈕以完成註冊過程。
(可選)對所有支援的連接器重複步驟 3。
- 按一下「設定」頁面底部或頂部的「儲存」按鈕以儲存變更。
3:驗證和更新儲存的憑證
為幫助確保能不間斷存取資料,您(和您的站台使用者)必須刪除之前儲存的憑證並再次新增憑證,以使用站台的自訂 OAuth 用戶端。
巡覽至「我的帳戶設定」頁面。
在「儲存的資料來源憑證」下,執行以下動作:
按一下上述步驟 2 中設定的自訂 OAuth 用戶端連接器的現有已儲存憑證旁邊的「刪除」。
在連接器名稱旁邊,按一下「新增」並按照提示,1) 連線到在上述步驟 2 中設定的自訂 OAuth 用戶端,以及 2) 儲存最新的憑證。
4:通知使用者更新已儲存的認證
確保通知站台使用者更新他們為連接器儲存的憑證,該連接器的自訂 OAuth 用戶端即為上述步驟 2 中設定的。站台使用者可以使用更新儲存的認證中描述的過程來更新他們保存的憑證。