---
schema_version: "1"
id: dee2e67e58f61ff2f201a7d823f03bbfe4f1056b71bad675ff682e5cd2aaab18
title: 使用直接信任設定已連線應用程式
collection: tableau
version: next
locale: zh-tw
portal_url: https://docs.salesforce.com/tableau/next/zh-tw/server-linux/connected_apps_direct.md
canonical_url: https://help.tableau.com/v0.0/server-linux/zh-tw/connected_apps_direct.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 612a35c274ee0d5c556d33e66ca5634251526d062ed87e1c26373946176cb920
description: Configure a connected app with direct trust using a secret and JWT for embedded content.
---
[跳至主要內容](#main-content)

# 使用直接信任設定已連線應用程式

從 Tableau Server 版本 2022.1 開始，Tableau 已連線應用程式透過促進 Tableau Server 站台與外部應用程式之間明確的信任關係來實現無縫且安全的驗證體驗。

**附註：**

- 在 Tableau Server 版本 2021.4 中，可透過 Tableau REST API 中的[已連線應用程式方法](https://help.tableau.com/current/api/rest_api/zh-tw/REST/rest_api_ref_connected_app.htm)使用無 UI 的已連線應用程式功能。
- 要透過已連線應用程式啟用內嵌，必須將 Tableau Server 設定為使用 SSL 處理 HTTP 流量。
- 為了讓工作階段權杖有效，外部應用程式和託管外部應用程式的伺服器的時鐘必須設定為國際標準時間 (UTC)。若任一時鐘使用不同的標準，則已連線應用程式將不受信任。

## Tableau 已連線應用程式如何使用直接信任

Tableau Server 站點和外部應用程式之間的信任關係透過 JSON Web 權杖 (JWT) 標準中的驗證權杖建立和進行驗證，該權杖使用由 Tableau 已連線應用程式提供並由外部應用程式簽署的共用密碼。

### 已連線應用程式的關鍵元件

已連線應用程式的以下元件與外部應用程式中的 JWT 共同作業，以驗證使用者並顯示內嵌的內容。

- **祕密：**祕密是 Tableau 和外部應用程式共用的金鑰。這些密碼會用於構成 JWT 的簽章。使用已連線應用程式進行內嵌驗證或 REST API 驗證時需要密碼。密碼可以在已連線應用程式中建立，不會過期，並且在刪除之前一直有效。
- **網域允許清單（僅限內嵌工作流程）**：可以在每個已連線應用程式中指定允許的網域清單。透過已連線應用程式內嵌的 Tableau 內容僅允許在指定的網域下使用。這有助於確保內容在企業保護和核准的網域下公開。
- **存取層級（僅限內嵌工作流程）：**可以將已連線應用程式與一個或所有專案相關聯，以指定可以透過已連線應用程式內嵌哪些內容。若指定一個專案，則只能透過已連線應用程式內嵌所選專案中的內容。如果要指定多個專案，則必須使用 Tableau REST API。

### 已連線應用程式的工作流程

#### 內嵌工作流程

下圖說明了外部應用程式（Web 伺服器和網頁）與 Tableau 已連線應用程式之間如何進行驗證。

![圖表，說明網頁、外部應用程式和 Tableau 之間的資料流程。](/tableau/next/zh-tw/server-linux/zh-tw/Img/connectedapp_how.png)

1. **使用者瀏覽網頁：**使用者瀏覽網頁上的內嵌內容時，網頁向外部應用程式傳送 GET 請求，以檢索該網頁上的 HTML。
2. **外部應用程式建構驗證權杖：**外部應用程式建構 JWT，其中包含來自已連線應用程式的密碼（有關其他的 JWT 要求，請參閱下面的步驟 3）以及使用者對內嵌內容的存取範圍。該密碼由外部應用程式簽署，並作為後續步驟中信任關係的驗證碼使用。
3. **外部應用程式透過驗證權杖進行回應：**外部應用程式透過網頁叫用的內嵌內容 URL 中的 JWT 回應頁面。
4. **網頁從 Tableau 請求內容**：嘗試載入內嵌內容時，網頁叫用內嵌內容的 URL，從而向 Tableau 傳送 GET 請求。
5. **Tableau 驗證權杖：**Tableau 接收 JWT 並透過識別已連線應用程式和 JWT 中使用的共用密碼來驗證與外部應用程式的信任關係。然後 Tableau 為使用者建立工作階段。該工作階段不僅遵守 JWT 中定義的內嵌範圍，還遵守已連線應用程式中指定的限制，包括允許的網域和允許的專案。
6. **Tableau 根據受限制的內嵌內容傳回內容：**內嵌內容僅在頁面位於允許的網域下並且內容已發佈到允許的專案（若適用）時載入。經過驗證的使用者只能根據 JWT 中定義的範圍與內嵌內容進行互動。

## 建立已連線應用程式

### 步驟 1：建立已連線應用程式

從 Tableau Server 的「設定」頁面建立已連線應用程式。

1. 請作為伺服器登入 Tableau Server。
2. 從左窗格中，選取設定 > 已連線應用程式。
3. 選取「新增已連線應用程式」按鈕下拉箭頭，並選取「直接信任」。
    
    **附註：**若您使用的是 Tableau Server 2023.3 或更早版本，請選取「新增已連線應用程式」按鈕。
4. 在「建立已連線應用程式」對話方塊中，執行以下動作_之一_：
    - 對於 _REST API 授權工作流程（包括使用 REST API 進行驗證的中繼資料 API 工作流程）_，在「已連線應用程式名稱」文字方塊中輸入已連線應用程式的名稱，然後選取「建立」按鈕。
        
        **附註：**在為 REST API 與中繼資料 API 授權書ing已連線應用程式時，可以忽略「存取層級」與「網域允許清單」。
    - 如果是_嵌入工作流程_，請執行以下動作：
        1. 在已連線應用程式名稱文字方塊中，輸入已連線應用程式的名稱。
        2. 在「套用到」下拉式功能表中，選取「所有專案」或「僅一個專案」以控制可以內嵌哪些檢視。如果選取「僅一個專案」選項，請選取要確定範圍的具體專案。有關這兩個選項的更多資訊，請參閱[存取層級（僅限嵌入工作流程）](#projects)。
            
            **附註：** 
            
            - 在 Tableau Server 2023.3 中，Tableau 已淘汰內嵌指標的功能。
            - 自 Tableau Server 2024.2 開始，可以使用 Tableau REST API 指定多個專案。欲了解更多資訊，請參閱 REST API 說明中的[建立已連線應用程式](https://help.tableau.com/current/api/rest_api/zh-tw/REST/rest_api_ref_connected_app.htm#create_connectedapp)與[更新已連線應用程式](https://help.tableau.com/current/api/rest_api/zh-tw/REST/rest_api_ref_connected_app.htm#update_connectedapp)方法。
        3. 在網域允許清單中，使用下面[網域格式設定](#domain_formatting)中描述的規則指定網域，以控制可以內嵌檢視或指標的位置。
            
            **重要提示：**建議使用網域允許清單作為安全最佳做法，以確保僅在您允許的位置內嵌 Tableau 內容。
        4. 完成後，選取「建立」按鈕。
            
            ![建立已連線應用程式的表單，包括應用程式名稱、存取層級和網域允許清單的欄位。](/tableau/next/zh-tw/server-linux/zh-tw/Img/connectedapp_create.png)
5. 在已連線應用程式名稱旁邊，選取動作功能表並選取「啟用」。出於安全考慮，預設情況下，已連線應用程式在建立時會設定為停用。
    
    ![啟用、編輯或刪除已連線應用程式對話方塊。](/tableau/next/zh-tw/server-linux/zh-tw/Img/connectedapp_action_menu.png)
6. 記下已連線應用程式的 ID，也稱為用戶端 ID，以在下面的步驟 3 中使用。
    
    ![您的用戶端 ID 和「複製」按鈕。](/tableau/next/zh-tw/server-linux/zh-tw/Img/connectedapp_clientid.png)

### 步驟 2：產生密碼

可以為每個已連線應用程式產生總共兩個密碼。第二個密碼可用於變換密碼，有助於防止在密碼洩露時出現問題。

1. 在步驟 1 中建立的已連線應用程式的詳細資訊頁面上，選取「產生新密碼」按鈕。
2. 記下密碼 ID 和密碼值，以在下面的步驟 3 中使用。
    
    ![動作的產生日期、ID 和值。](/tableau/next/zh-tw/server-linux/zh-tw/Img/connectedapp_secret.png)

### 步驟 3：配置 JWT

產生祕密後，您希望可讓外部應用程式傳送有效的 JWT。JWT 是一項標準，用於在兩方之間安全地傳輸資訊。JWT 由外部應用程式簽署，以安全地將資訊傳送到 Tableau Server。JWT 會引用已連線應用程式、為其產生工作階段的使用者以及使用者應具有的存取層級。

有效的 JWT 包括以下資訊：

- 已連線應用程式 ID，也稱為用戶端 ID，來自步驟 1
- 步驟 2 中產生的密碼 ID 和密碼值
- 註冊宣告和標頭：<table style="width: 90%;mc-table-style: url('Resources/TableStyles/Basic-Border-Light.css');margin-left: 0;margin-right: auto;" class="TableStyle-Basic-Border" cellspacing="0"><colgroup><col class="TableStyle-Basic-Border-Column-Column1" style="width: 126px;"><col class="TableStyle-Basic-Border-Column-Column1" style="width: 126px;"><col class="TableStyle-Basic-Border-Column-Column1"></colgroup><tbody><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1" style="font-weight: bold;">宣告</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1" style="font-weight: bold;">名稱</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1" style="font-weight: bold;">描述或所需值</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">「<code>kid</code>」</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">密碼 ID</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">必需（在標頭中）。已連線應用程式的祕密金鑰識別碼。</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">「<code>iss</code>」</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">簽發者</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">必需（在標頭中）。唯一簽發者 URI，標識受信任的已連線應用程式及其簽署金鑰。</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">「<code>alg</code>」</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">演算法</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">必需（在標頭中）。JWT 簽署演算法。僅支援 HS256。</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">「<code>sub</code>」</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">主體</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">經過驗證的 <span class="mc-variable Variables.ProductName variable">Tableau Server</span> 使用者的使用者名稱。</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">「<code>aud</code>」</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">受眾</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">值必須是：「<code>tableau</code>」。</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">「<code>exp</code>」</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">到期時間</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">有效的 JWT 不得到期。JWT 的過期時間（UTC 時間）必須在設定的最長有效期內。該可以使用 tsm 的<a href="https://help.tableau.com/v0.0/server-linux/zh-tw/cli_configuration-set_tsm.htm#connectedapps_max_expiration_period" class="xref">vizportal.oauth.connected_apps.max_expiration_period_in_minutes</a>命令配置最大有效期限。</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">「<code>jti</code>」</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">JWT ID</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">要求作為聲明。JWT ID 宣告為 JWT 提供唯一識別碼，並且區分大小寫。</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">「<code>scp</code>」<p><b style="font-style: normal;">重要提示：</b>請勿使用「<code>scope</code>」。</p></td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">範圍</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">如果是<i>嵌入工作流程</i>，支援的值包括：<p>「<code>tableau:views:embed</code>」<br>「<code>tableau:views:embed_authoring</code>」在 Tableau Server 2022.3 中新增<br>「<code>tableau:metrics:embed</code>」（在 Tableau Server 2023.3 中已淘汰）<br>「<code>tableau:ask_data:embed</code>" (」在 Tableau Server 2023.1 中已新增</p><p><b>附註：</b></p><ul><li>值必須作為清單類型傳遞。</li><li>如果是 <code>tableau:views:embed</code> 和 <code>tableau:views:embed_authoring</code>，該範圍尊重已在 <span class="mc-variable Variables.ProductName variable">Tableau Server</span> 設定的使用者權限，並允許使用者與內嵌檢視中的工具互動（若工具在原始檢視中可用）。</li><li>我們建議內嵌程式碼排除工具列參數。有關詳情，請參閱下面的<a href="#known_issues" class="xref">已知問題（僅限嵌入工作流程）</a>。</li></ul><p>有關 <i>REST API 授權工作流程</i>，請參閱<a href="https://help.tableau.com/v0.0/server-linux/zh-tw/connected_apps_scopes.htm#scopes" class="xref">支援 JWT 授權的 REST API 方法</a>。</p><p>如果是 <i>使用 REST API 進行驗證的中繼資料 API 工作流程</i>，唯一支援的範圍是 <code>tableau:content:read</code>。</p><p>對於<i>使用 REST API 進行驗證的 VizQL 資料服務工作流程</i>，唯一支援的範圍是 <code>tableau:viz_data_service:read</code>。</p></td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1"><code>https://tableau.com/groups</code></td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">動態群組成員資格</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">僅用於<i>內嵌工作流程</i>。<p>值必須與 Tableau Serve 中的一個或多個群組的名稱相符。有關詳情，請參閱<a href="https://help.tableau.com/v0.0/server-linux/zh-tw/groups_create_local.htm#assertions" class="xref">使用聲明的動態群組成員資格</a>。</p></td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyB-Column1-Body1">（使用者屬性）</td><td class="TableStyle-Basic-Border-BodyB-Column1-Body1">（使用者屬性值）</td><td class="TableStyle-Basic-Border-BodyA-Column1-Body1">僅用於<i>內嵌工作流程</i>。<p>從 Tableau Server 2025.1 開始，您可以在 JWT 中包含使用者屬性。然後，在內嵌內容中使用使用者屬性函數時，Tableau 會檢查經過驗證的使用者的內容，並決定哪些資料可以在執行時顯示。</p><p><b>附註：</b></p><ul><li><p>請查看 <a href="https://help.tableau.com/current/api/embedding_api/zh-tw/docs/embedding_api_user_attributes.html#known-issues" target="_blank">Tableau 內嵌 API v3</a> 說明，以瞭解可能影響工作流程的<i>已知問題</i>和<i>限制</i>。</p></li><li><p>要讓使用者屬性可用，1) 必須使用 Tableau REST API 透過<a href="https://help.tableau.com/current/api/rest_api/zh-tw/REST/rest_api_ref_site.htm#update_embedding_settings_for_site" target="_blank">為站台更新內嵌設定</a>方法啟用使用者屬性功能，並選擇性地啟用 <a href="https://help.tableau.com/current/server/zh-tw/cli_configuration-set_tsm.htm#uaf" target="_blank">features.VizDataServiceClientEnable</a> TSM 選項；2) 內容作者必須建立<a href="https://help.tableau.com/current/pro/desktop/zh-tw/functions_functions_user.htm#user_attributes" target="_blank">使用者屬性函數</a>。</p></li><li>使用者屬性區分大小寫。</li></ul></td></tr></tbody></table>

#### JWT 範例

以下為 Java 和 Python 語言中的 JWT 範例。Java 和 Python 範例分別使用 nimbus-jose-jwt 程式庫和 PyJWT 程式庫。

**Java**

import com.nimbusds.jose.\*;
import com.nimbusds.jose.crypto.\*;
import com.nimbusds.jwt.\*;

import java.util.\*;

...

String secret = "secretvalue";
	String kid = "connectedAppSecretId";
	String clientId = "connectedAppClientId";
	List<String> scopes = new
ArrayList<>(Arrays.asList("tableau:views:embed"));
	String username = "username";
	JWSSigner signer = new MACSigner(secret);
	JWSHeader header = new
JWSHeader.Builder(JWSAlgorithm.HS256).keyID(kid).customParam("iss", clientId).build();
	JWTClaimsSet claimsSet = new JWTClaimsSet.Builder()
		.issuer(clientId)
		.expirationTime(new Date(new Date().getTime() + 60 \* 1000)) //expires in 1 minute
		.jwtID(UUID.randomUUID().toString())
		.audience("tableau")
		.subject("username")
		.claim("scp", scopes)
		
		
		.claim("Region", "East")
		.build();
	SignedJWT signedJWT = new SignedJWT(header, claimsSet);
	signedJWT.sign(signer);
	model.addAttribute("token", signedJWT.serialize());

**Python**

import jwt

token = jwt.encode(
	{
		"iss": connectedAppClientId,
		"exp": datetime.datetime.utcnow() + datetime.timedelta(minutes=5),
		"jti": str(uuid.uuid4()),
		"aud": "tableau",
		"sub": user,
		"scp": \["tableau:views:embed", "tableau:metrics:embed"\]
		        
	},
		connectedAppSecretKey,
		algorithm = "HS256",
		headers = {
		'kid': connectedAppSecretId,
		'iss': connectedAppClientId
        }
  )

設定 JWT 後，當程式碼由外部應用程式執行時，其將產生一個權杖。

### 步驟 4：後續步驟

#### 對於內嵌工作流程

設定 JWT 後，必須向外部應用程式新增內嵌代碼。確保在外部應用程式叫用的 Web 元件中包含在上述步驟 3 中設定的有效 JWT。

有關內嵌 Tableau 內容和內嵌工作流程支援的功能的詳情，請參閱以下內容：

- 使用 [Tableau 內嵌 API v3](https://help.tableau.com/current/api/embedding_api/zh-tw/index.html) 內嵌 Tableau 內容。
- 有關基於屬性的存取控制 (ABAC)、按需存取和動態群組成員資格的使用者屬性，請參閱 Tableau 內嵌 API v3 中的[自訂和控制資料存取](https://help.tableau.com/current/api/embedding_api/zh-tw/docs/embedding_api_user_attributes.html) 。
- 內嵌指標，請參閱 Tableau 說明中的主題[將指標內嵌到網頁中](https://help.tableau.com/current/pro/desktop/zh-tw/embed_metrics.htm)。（在 Tableau Server 2023.3，Tableau 已淘汰內嵌指標功能。）

**附註：**為了讓使用者在存取內嵌內容時成功進行驗證，必須將瀏覽器設定為允許協力廠商 Cookie。

#### 對於 REST API 授權工作流程

設定 JWT 後，必須將有效的 JWT 新增到 REST API 登入請求以進行授權存取。有關詳細資訊，請參閱[已連線應用程式的存取範圍](https://help.tableau.com/v0.0/server-linux/zh-tw/connected_apps_scopes.htm)。

#### 對於中繼資料 API 工作流程

設定 JWT 後，必須將有效的 JWT 新增至 REST API 登入請求。有關詳細資訊，請參閱[已連線應用程式的存取範圍](https://help.tableau.com/v0.0/server-linux/zh-tw/connected_apps_scopes.htm)。

#### SCIM 外部權杖工作量流程

JWT 設定完成後，必須啟用 SCIM 功能。有關更多資訊，請參閱 [使用直接信任設定已連線應用程式](#scim)。

## 管理已連線應用程式

可以在「已連線應用程式」頁面上管理站點的所有已連線應用程式。可以執行建立、刪除和停用已連線應用程式等工作；若現有密碼已洩露，則可撤銷或產生新密碼。

1. 請作為伺服器登入 Tableau Server。
2. 從左窗格中，選取設定 > 已連線應用程式。
3. 選中要管理的已連線應用程式旁邊的核取方塊，然後執行以下一項或多項動作：
    
    - 根據組織的安全性原則指定的變換時間表**產生新密碼**。要產生額外的密碼，請按一下已連線應用程式的名稱，然後按一下產生新密碼按鈕。一個已連線應用程式最多可以有兩個密碼。這兩個密碼可以同時處於使用中狀態，不會過期，並且在被刪除之前一直有效。
    - 透過選取已連線應用程式的名稱**檢閱已連線應用程式詳細資訊**，以查看已連線應用程式的建立時間、其 ID、專案和網域範圍及其密碼。
    - **變更專案範圍或網域**，在動作功能表中，選取編輯。進行變更並選取「更新」。
        
        **附註：**若變更專案或網域範圍，並且新專案或新網域中不存在內嵌內容，則內嵌檢視或指標無法顯示，使用者在存取內嵌內容時會看到錯誤。
    - 透過選取已連線應用程式的名稱來**刪除密碼**。在已連線應用程式頁面上，按一下金鑰旁邊的動作並選取刪除。在確認對話方塊中，再次選取刪除。
        
        **附註：**若外部應用程式正在使用已連線應用程式的密碼，則刪除該密碼後無法顯示內嵌檢視或指標。有關更多資訊，請參閱下方的[停用或刪除已連線應用程式或刪除密碼的影響](#effects)。
    - **停用已連線應用程式**，在動作功能表中，選取停用。若外部應用程式正在使用某個已連線應用程式，則停用已連線應用程式後無法顯示內嵌檢視或指標。有關更多資訊，請參閱下方的[停用或刪除已連線應用程式或刪除密碼的影響](#effects)。
    
    ![表單，顯示兩個隨機產生的用戶端程式碼。](/tableau/next/zh-tw/server-linux/zh-tw/Img/connectedapp_details.png)

### 停用或刪除已連線應用程式或刪除密碼的影響

要透過已連線應用程式向使用者顯示內嵌內容或者啟用 REST API 存取，則必須啟用已連線應用程式並產生密碼。若外部應用程式中一直使用的已連線應用程式已停用或刪除，或其祕密已被刪除或取代，使用者會遇到 403 錯誤 。

為避免此問題，請確保啟用已連線應用程式，並且 JWT 正在使用正確的密碼 ID 和值。

### 存取層級（僅限嵌入工作流程）

設定已連線應用程式的存取層級時，可以選取以下兩個專案之一：存取層級控制可以嵌入的內容。

- **所有專案：**此選項啟用所有要嵌入專案中的
- **只有一個專案**： 此選項僅啟用要嵌入的指定專案中的內容。如果指定的專案包含嵌套專案，則不會啟用在這些嵌套專案中嵌入內容。

**關於多個專案**

從 Tableau Server 2024.2 開始 ，您可以僅使用 Tableau REST API 為已倆線應用程式啟用多個專案中的內容。要指定哪些啟用哪些專案，請使用[建立已連線應用程式](https://help.tableau.com/current/api/rest_api/zh-tw/REST/rest_api_ref_connected_app.htm#create_connectedapp)或者[更新連接的應用程式](https://help.tableau.com/current/api/rest_api/zh-tw/REST/rest_api_ref_connected_app.htm#update_connectedapp)方法中的「專案 ID」。

**附註：**為已連線應用程式設定多個專案時，Tableau 會針對已連線應用程式的存取層級顯示**多個專案**。如果選取「只有一個專案」或者「所有專案」，並更新已連線應用程序，則不再顯示「多個專案」選項。如果需要再次為多個專案設定已連線應用程序，則必須使用 REST API。

### 網域允許清單規則（僅限嵌入工作流程）

已連線應用程式的網域允許清單可讓您將對內嵌 Tableau 內容的存取限制為所有網域或某些網域；或排除某些網域或封鎖所有網域。

**重要提示：**建議使用網域允許清單作為安全最佳做法，以確保僅在您允許的位置內嵌 Tableau 內容。

#### 網域選項

在設定已連線應用程式的網域允許清單時，可以選取以下兩個選項之一：

- **所有網域：**作為預設選項，此選項可啟用對內嵌內容的無限制存取。
- **僅特定網域：**此選項可讓您縮小對內嵌內容的存取範圍。若使用此選項，請遵循以下部分[網域格式設定](#domain_formatting)中指定的格式設定規則。

#### 網域格式設定

在網域允許清單文字方塊中，可以使用以下格式範例輸入一或多個網域。

**附註：**在 Tableau REST API 中使用[已連線應用程式方法](https://help.tableau.com/current/api/rest_api/zh-tw/REST/rest_api_ref_connected_app.htm)時，網域格式設定規則同樣適用。

以下是一些基於常見情境的格式設定範例：

<table style="width: 90%;mc-table-style: url('Resources/TableStyles/Basic-Border-Light.css');margin-left: 0;margin-right: auto;" class="TableStyle-Basic-Border" cellspacing="0"><colgroup><col class="TableStyle-Basic-Border-Column-Column1"><col class="TableStyle-Basic-Border-Column-Column1"><col class="TableStyle-Basic-Border-Column-Column1"></colgroup><tbody><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1" style="font-weight: bold;">要指定...</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1" style="font-weight: bold;">範例</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1" style="font-weight: bold;">內嵌存取</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">網域範圍</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">*.myco.com</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">可以從 myco.com 下的所有子網域存取內嵌內容。</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">所有連接埠</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">myco.com:*</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">可以從 myco.com 中的所有連接埠存取內嵌內容。</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">特定連接埠</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">myco.com:8080</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">僅可以從 myco.com 中的連接埠 8080 存取內嵌內容。</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">多個離散網域</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">myco.com<br>events.myco.com<br>ops.myco.com<br></td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1"><p>可從所有三個網域存取內嵌內容。</p><p><b>附註：</b>指定多個網域時，請逐行輸入每個網域，或使用空格將各個網域分開。對於 REST API，網域必須用空格分隔。</p></td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">僅保護流量</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">https://</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">無論網域如何，都可以安全地存取內嵌內容。</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">保護一系列網域的所有連接埠流量</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">https://*myco.com:*</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">可以從 myco.com 下所有子網域上的所有連接埠安全地存取內嵌內容。</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyB-Column1-Body1">無網域</td><td class="TableStyle-Basic-Border-BodyB-Column1-Body1">[無網域]</td><td class="TableStyle-Basic-Border-BodyA-Column1-Body1">已封鎖存取內嵌內容。</td></tr></tbody></table>

### 已知問題（僅限嵌入工作流程）

使用已連線應用程式時存在一些已知問題，這些問題將在未來版本中解決。

- **工具列功能：**內嵌內容定義工具列參數時，並非所有工具列功能都可以使用。要解決此問題，我們建議如下方範例一樣隱藏工具列參數。
    
    <tableau-viz id='tab-viz' src='https://<your\_server>/t/<your\_site>/...'
    	toolbar='hidden'>
    </tableau-viz>

- **已發佈資料來源：**將不會顯示設定為提示使用者提供資料庫認證的已發佈資料來源。要盡可能解決此問題，我們建議資料來源所有者改為內嵌齊資料庫認證。
- **多個站台上的內嵌檢視：** 在 Tableau Server 2023.1 及更早版本中，在同一瀏覽器中不同站台上的檢視之間切換會導致錯誤 1008：無法取得連線應用程式的密碼。若要解決此問題，請升級至 Tableau Server 2023.3 或更高版本。

- **內嵌儀表板中的「資料問答」物件：**內嵌儀表板中的「資料問答」物件將不會載入。（在 Tableau Server 2024.2 將淘汰「資料問答」。）
- **指標和網域允許清單：**儘管可能在已連線應用程式的網域允許清單中指定了存取限制，但仍會顯示內嵌指標檢視。**附註：**從內嵌檢視的工具列中存取的指標資料將按預期工作。（在 Tableau Server 2023.3，Tableau 已淘汰內嵌指標功能。）

## 疑難排解

可以參閱[對已連線應用程式進行疑難排解 - 直接信任](https://help.tableau.com/v0.0/server-linux/zh-tw/connected_apps_troubleshoot.htm)，以瞭解可能與已連線應用程式關聯的錯誤以及建議的疑難排解步驟。