為 OAuth 和新式驗證設定 Azure AD
從 Tableau 2021.1 開始,Azure Synapse、Azure SQL 資料庫、Azure Databricks 和 Azure Data Lake Gen2 連接器可透過為 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」(可選)欄位下,選擇「Web」,輸入伺服器的 Internet 位址,並將以下文字新增到它的末尾:
auth/add_oauth_token
。 - 選取「註冊」。註冊完成後,Azure 入口網站會顯示應用程式註冊的概觀窗格,其中包括其應用程式(用戶端)ID。也稱為用戶端識別碼,此值在 Microsoft 身分平台中唯一識別你的應用程式。
- 複製該值,它將用作以下步驟中
[your_client_id]
欄位。 - 選取左側欄中的「認證與密碼」,然後選擇「新增用戶端密碼」。
- 新增密碼描述。
- 選取「客戶端密碼生命週期」。
- 選取「新增」然後複製該密碼。該密碼將在以下步驟中用作
[your_client_secret]
。 - 在左側欄中選取「API 權限」。
- 選擇「新增權限」。
- 選取「微軟圖表」。
- 選擇「委派權限」。
- 在「選取權限」下,選取所有 OpenId 權限(電子郵件、offline_access、openid、個人檔案)。
- 選擇「新增」「權限」。
- 選取「API 權限」。
- 選擇「新增權限」。
- 選取「我的 API」。
- 選擇「Azure SQL 資料庫」,然後選擇「已委派權限」。
- 選取
user_impersonation
,然後選擇「新增權限」。
請注意:如果您想將應用程式的用戶端 識別碼 和用戶端密碼用於不同租戶下的帳戶,請確保選取第二個選項(多租戶)。
例如: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
伺服器重新啟動場景
設定預設 OAuth 用戶端後,可能會出現以下情況。
- 若暫止的變更需要重新啟動伺服器,則會出現重新啟動提示。
- 可以使用
--ignore-prompt
選項隱藏提示,但這不會停止重新啟動。 - 若變更不需要重新啟動,則套用變更時不會出現提示。有關詳情,請參閱 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
設定多個連接器
若要設定多個連接器,則必須在單個命令中包括所有連接器。例如:
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
為 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
為 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
可以為站點設定自訂 Azure Data Lake Storage Gen2、Azure Synapse、Azure SQL 資料庫和 Databricks OAuth 用戶端。
考慮將自訂 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 用戶端的連接器。
而「用戶端 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。(連結在新視窗開啟)