為 OAuth 和新式驗證設定 Azure AD
Azure Synapse、Azure SQL 資料庫、Azure Databricks、Azure Data Lake Gen2、OneDrive 和 SharePoint Online 以及 SharePoint 清單 (JDBC) 連接器透過為 Tableau Server 設定 OAuth 用戶端來支援透過 Azure AD 進行驗證。
附註:OAuth 對 Azure AD 的支援僅在 Microsoft SQLServer 驅動程式 17.3(連結在新視窗開啟) 及更高版本上可用。
步驟 1:為 Azure 註冊 OAuth 用戶端
按照以下步驟在特定 Azure 租戶下為 Azure 註冊和設定 OAuth 應用程式。
- 登入到 Azure 入口網站。
- 如果您能夠存取多個租戶,請選取您要註冊應用程式的租戶。
- 搜尋並選取 Azure Active Directory。
- 在「管理」下,選取「應用程式註冊」,然後選取「新增註冊」。
- 輸入「Tableau Server OAuth」或與名稱類似的值。
- 在應用程式註冊頁面的「支援的帳戶類型」欄位下,選取誰可以使用此應用程式。
- 在「重新導向 Uri」 (可選)欄位選取「網路」,然後輸入您的伺服器的網際網路位址,並附加字串
/auth/add_oauth_token
。 - 選取「註冊」。註冊完成後,Azure 入口網站會顯示應用程式註冊的概觀窗格,其中包括其應用程式(用戶端)ID。此值也稱用戶端識別碼,可在 Microsoft 身分平台中唯一識別您的應用程式。
- 複製該值,它將用作以下步驟中
[your_client_id]
欄位。 - 選取左側欄中的「認證與密碼」,然後選擇「新增用戶端密碼」。
- 新增密碼描述。
- 選取「用戶端密碼生命週期」。
- 選擇「新增」,然後複製該密碼。該密碼將在以下步驟中用作
[your_client_secret]
。 - 在左側欄中選取「API 權限」。
- 選擇「新增權限」。
- 選取「Microsoft 圖表」
- 選擇「委派權限」。
- 在「選取權限」下,選取所有 OpenId 權限(電子郵件、offline_access、openid、個人檔案)。
- 選擇「新增權限」。
- 新增其他權限對於您要啟用的連接器,請執行下列步驟:
- Azure SQL 資料庫
- 按一下「新增權限」。
- 選取「我的 API」。
- 按一下「Azure SQL 資料庫」,然後選擇「委派權限」。
- 選取「user_impersonation」,然後按一下「新增權限」。
- OneDrive 和 SharePoint Online
- 按一下「新增權限」。
- 選取「Microsoft 圖表」
- 按一下「委派權限」。
- 在「選取權限」項下的篩選器搜尋方塊中輸入並新增以下權限:
- Files.Read.All
- Sites.Read.All
- User.Read
- SharePoint 清單 (JDBC)
- 按一下「新增權限」。
- 選取「Microsoft 圖表」
- 按一下「委派權限」。
- 在「選取權限」項下的篩選器搜尋方塊中輸入並新增 User.Read 權限。
- 再次按一下「新增權限」。
- 選取「SharePoint」。
- 按一下「委派權限」。
- 展開「所有站台」部分,然後選取並新增 AllSites.Manage 權限。
- Azure SQL 資料庫
附註:如果要將應用程式的用戶端識別碼與和用戶端密碼用於不同租用戶下的帳戶,請選取第二個選項(多租用戶)。
例如:https://your_server_url.com/auth/add_oauth_token
步驟 2:為 Azure 設定 Tableau Server
設定 Tableau Server 需要執行 Tableau Server 管理員 (TSM) 命令。Azure Data Lake Storage Gen2 需要一組不同的命令,而不是為 Azure Synapse、Azure SQL 資料庫或 Databricks 執行的常見命令。
為 Azure Data Lake Storage Gen2 設定預設 OAuth 用戶端
要為 Data Lake Storage Gen2 設定 Tableau Server,必須具有以下設定參數:
- Azure OAuth 用戶端 ID:用戶端 ID 產生於步驟 1 中的程序。將
[your_client_id]
的值複製到第一個 tsm 命令中。 - Azure OAuth 用戶端密碼:用戶端密碼產生於步驟 1 中的程序。將
[your_client_secret]
的值複製到第二個 tsm 命令中。 - Tableau Server URL:輸入您的 Tableau Server URL,例如
https://myco.com
。將[your_server_url]
的值複製到第三個 tsm 命令中。
執行以下 tsm 命令,為 Azure Data Lake Storage Gen2 設定 Tableau Server OAuth:
tsm configuration set -k oauth.azuredatalake_storage_gen2.client_id -v [your_client_id] --force-keys
tsm configuration set -k oauth.azuredatalake_storage_gen2.client_secret -v [your_client_secret] --force-keys
tsm configuration set -k oauth.azuredatalake_storage_gen2.redirect_uri -v http://[your_server_url]/auth/add_oauth_token --force-keys
tsm pending-changes apply
為 Azure Synapse、Azure SQL 資料庫或 Databricks 設定預設用戶端
要設定 Tableau Server,必須具有以下設定參數:
- Azure OAuth 用戶端 ID:產生於步驟 1 中的程序。將
[your_client_id]
的值複製到 tsm 命令中。 - Azure OAuth 用戶端密碼:產生於步驟 1 中的程序。將
[your_client_secret]
的值複製到第二個 tsm 命令中。 - Tableau Server URL:這是您的 Tableau Server URL,例如
https://myserver.com
。將[your_server_url]
的值複製到第三個 tsm 命令中。 - 設定 ID:以下 tsm 命令中
oauth.config.id
參數的值。有效值:- Azure Synapse:
azure_sql_dw
- Azure SQL 資料庫:
azure_sqldb
- Databricks:
databricks
- Azure Synapse:
執行以下 tsm 命令,為 Azure Synapse、Azure SQL 資料庫或 Databricks 設定 Azure AD。例如,要設定 Azure Synapse:
tsm configuration set -k oauth.config.clients -v "[{\"oauth.config.id\":\"azure_sql_dw\", \"oauth.config.client_id\":\"[your_client_id]\", \"oauth.config.client_secret\":\"[your_client_secret]\", \"oauth.config.redirect_uri\":\"[your_server_url]/auth/add_oauth_token\"}]" --force-keys
tsm pending-changes apply
為 OneDrive 和 SharePoint Online 設定預設 OAuth 用戶端
要為 OneDrive 和 SharePoint Online 設定 Tableau Server,必須具有以下設定參數:
- Azure OAuth 用戶端 ID:用戶端 ID 產生於步驟 1 中的程序。將 [your_client_id] 的值複製到第一個 tsm 命令中。
- Azure OAuth 用戶端密碼:用戶端密碼產生於步驟 1 中的程序。將 [your_client_secret] 的值複製到第二個 tsm 命令中。
- Tableau Server URL:這是您的 Tableau Server URL,例如 https://myco.com。將 [your_server_url] 的值複製到第三個 tsm 命令中。
執行以下 tsm 命令,為 OneDrive 和 SharePoint Online 設定 Tableau Server OAuth:
tsm configuration set -k oauth.onedrive_and_sharepoint_online.client_id -v [your_client_id] --force-keys
tsm configuration set -k oauth.onedrive_and_sharepoint_online.client_secret -v [your_client_secret] --force-keys
tsm configuration set -k oauth.onedrive_and_sharepoint_online.redirect_uri -v http://[your_server_url]/auth/add_oauth_token --force-keys
tsm pending-changes apply
為 SharePoint 清單 (JDBC) 設定預設 OAuth 用戶端
若要為 SharePoint 清單 (JDBC) 設定 Tableau Server,您必須具有下列設定參數:
- Azure OAuth 用戶端 ID:用戶端 ID 產生於步驟 1 中的程序。將 [your_client_id] 的值複製到第一個 tsm 命令中。
- Azure OAuth 用戶端密碼:用戶端密碼產生於步驟 1 中的程序。將 [your_client_secret] 的值複製到第一個 tsm 命令中。
- Tableau Server URL:這是您的 Tableau Server URL,例如 https://myco.com。將 [your_server_url] 的值複製到第一個 tsm 命令中。
執行以下 tsm 指令,以設定 Tableau Server OAuth SharePoint 清單 (JDBC):
tsm configuration set -k oauth.config.clients -v "[{\"oauth.config.id\":\"cdata_sharepoint\", \"oauth.config.client_id\":\"[your_client_id]\", \"oauth.config.client_secret\":\"[your_client_secret]\", \"oauth.config.redirect_uri\":\"[your_server_url]/auth/add_oauth_token\"}]" --force-keys
tsm pending-changes apply
為 OneDrive 設定預設 OAuth 用戶端(已棄用)
若要為 OneDrive(已棄用)設定 Tableau Server,必須具有以下設定參數:
- Azure OAuth 用戶端 ID:用戶端 ID 產生於步驟 1 中的程序。將 [your_client_id] 的值複製到第一個 tsm 命令中。
- Azure OAuth 用戶端密碼:用戶端密碼產生於步驟 1 中的程序。將 [your_client_secret] 的值複製到第二個 tsm 命令中。
- Tableau Server URL:這是您的 Tableau Server URL,例如 https://myco.com。將 [your_server_url] 的值複製到第三個 tsm 命令中。
要繼續執行以下 tsm 命令來為 OneDrive 設定 Tableau Server OAuth(已棄用):
tsm configuration set -k oauth.onedrive.client_id -v [your_client_id] --force-keys
tsm configuration set -k oauth.onedrive.client_secret -v [your_client_secret] --force-keys
tsm configuration set -k oauth.onedrive.redirect_uri -v http://[your_server_url]/auth/add_oauth_token --force-keys
tsm pending-changes apply
伺服器重新啟動場景
設定預設 OAuth 用戶端後,可能會出現以下情況。
- 若暫止的變更需要重新啟動伺服器,則會出現重新啟動提示。
- 可以使用
--ignore-prompt
選項隱藏提示,但這不會停止重新啟動。 - 若變更不需要重新啟動,則套用變更時不會出現提示。有關詳情,請參閱 tsm pending-changes apply。
設定多個連接器
若要設定多個連接器,則必須在單個命令中包括所有連接器。例如:
tsm configuration set -k oauth.config.clients -v "[{\"oauth.config.id\":\"azure_sql_dw\", \"oauth.config.client_id\":\"[your_client_id]\", \"oauth.config.client_secret\":\"[your_client_secret]\", \"oauth.config.redirect_uri\":\"[your_server_url]/auth/add_oauth_token\"}, {\"oauth.config.id\":\"azure_sqldb\", \"oauth.config.client_id\":\"[your_client_id]\", \"oauth.config.client_secret\":\"[your_client_secret]\", \"oauth.config.redirect_uri\":\"[your_server_url]/auth/add_oauth_token\"}, {\"oauth.config.id\":\"databricks\", \"oauth.config.client_id\":\"[your_client_id]\", \"oauth.config.client_secret\":\"[your_client_secret]\", \"oauth.config.redirect_uri\":\"[your_server_url]/auth/add_oauth_token\"}]" --force-keys
tsm pending-changes apply
為站台設定自訂 OAuth
可以為站台設定自訂 Azure Data Lake Storage Gen2、Azure Synapse、Azure SQL 資料庫、Databricks OAuth、OneDrive 和 Sharepoint online 以及 SharePoint 清單 (JDBC) 用戶端。
考慮將自訂 OAuth 用戶端設定為 1) 如果是為伺服器設定,則覆寫 OAuth 用戶端;或 2) 啟用支援安全連線到需要唯一 OAuth 用戶端的資料。
設定自訂 OAuth 用戶端時,站台等級設定優先於任何伺服器端設定,並且預設情況下建立的所有新 OAuth 憑證都使用站台等級 OAuth 用戶端。無須重新啟動 Tableau Server 即可使設定生效。
重要提示:在設定自訂 OAuth 用戶端之前建立的現有 OAuth 憑證暫時可用,但伺服器管理員和使用者都必須更新其保存的憑證以幫助確保能不間斷存取資料。
1:準備 OAuth 用戶端 ID、用戶端密碼以及重新定向 URL
在設定自訂 OAuth 用戶端之前,需要以下列出的資訊。準備好這些資訊後,就可以為站台註冊自訂 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 用戶端註冊到站台。
使用管理員認證登入 Tableau 伺服器站台,並轉到「設定」頁面。
在 OAuth 用戶端登錄檔下,按一下「新增 OAuth 用戶端」按鈕。
輸入所需資訊,包括上述步驟 1 中的資訊:
對於「連線類型」,請選取要設定其自訂 OAuth 用戶端的連接器。
若註冊多個 OAuth 用戶端,則需要 OAuth 執行個體 URL。否則,此為可選選項。
而「用戶端 ID」、「用戶端密碼」和「重新導向 URL」,請輸入在上述步驟 1 中準備的資訊。
按一下「新增 OAuth 用戶端」按鈕以完成註冊過程。
(可選)對所有支援的連接器重複步驟 3。
- 按一下「設定」頁面底部或頂部的「儲存」按鈕以儲存變更。
3:驗證和更新儲存的憑證
為幫助確保能不間斷存取資料,您(和您的站台使用者)必須刪除之前儲存的憑證並再次新增憑證,以使用站台的自訂 OAuth 用戶端。
巡覽至「我的帳戶設定」頁面。
在「儲存的資料來源憑證」下,執行以下動作:
按一下上述步驟 2 中設定的自訂 OAuth 用戶端連接器的現有已儲存憑證旁邊的「刪除」。
在連接器名稱旁邊,按一下「新增」並按照提示,1) 連線到在上述步驟 2 中設定的自訂 OAuth 用戶端,以及 2) 儲存最新的憑證。
4:通知使用者更新已儲存的認證
確保通知站台使用者更新他們為連接器儲存的憑證,該連接器的自訂 OAuth 用戶端即為上述步驟 2 中設定的。站台使用者可以使用更新儲存的認證中描述的過程來更新他們保存的憑證。
用於 OAuth 身份驗證的正向 Proxy
有關為 Tableau Server(僅限 Windows)設定具有 OAuth 身份驗證的正向 Proxy 的詳細資訊,請參見 Tableau 說明中的為 OAuth 身份驗證配置正向 Proxy。(連結在新視窗開啟)