---
schema_version: "1"
id: bc4e02c825ed0d5928a9b84417a302298b290a063c28e579356d7c3cc59e6b9c
title: 設定 Amazon Redshift IAM 身分中心 OAuth
collection: tableau
version: next
locale: zh-tw
portal_url: https://docs.salesforce.com/tableau/next/zh-tw/online/config_oauth_redshift_iam_idc.md
canonical_url: https://help.tableau.com/v0.0/online/zh-tw/config_oauth_redshift_iam_idc.htm
source_site: help.tableau.com
content_type: documentation
content_hash: fa3111ed8cc962edc1769871b8174ddd746db58cde06f340648f0b6463673b78
description: Set up Amazon Redshift IAM Identity Center OAuth federation, with driver setup and troubleshooting.
---
[跳至主要內容](#main-content)

# 設定 Amazon Redshift IAM 身分中心 OAuth

這些說明適用於較新的 AWS IAM IDC 服務。有關原始 IAM 整合，請參閱[設定 Amazon Redshift IAM OAuth](https://help.tableau.com/v0.0/online/zh-tw/config_oauth_redshift_iam.htm)。

根據身分提供程式的不同，設定整合需要執行不同的步驟。這是一個高層級的概觀。Tableau 無法提供有關如何設定 AWS 或 IDP 的詳細指示，但這是一般方法。

有關使用 Redshift 實作驗證的一些詳細範例，請參閱「[使用 AWS IAM 身分中心將 Tableau 和 Okta 與 Amazon Redshift 整合](https://aws.amazon.com/blogs/big-data/integrate-tableau-and-okta-with-amazon-redshift-using-aws-iam-identity-center/)」和「[使用 AWS IAM 身分中心將 Tableau 和 Microsoft Entra ID 與 Amazon Redshift 整合](https://aws.amazon.com/blogs/big-data/integrate-tableau-and-microsoft-entra-id-with-amazon-redshift-using-aws-iam-identity-center/)」。

**附註**：使用 Tableau Bridge 連線到 Tableau Cloud 的 OAuth 連線不支援單一使用重新整理權杖（有時稱為滾動重新整理權杖或重新整理權杖輪換）。計劃在未來版本中支援這些權杖。

## 步驟 1：設定 IDP

1. 在 IDP 上為 Tableau Desktop 和 Tableau Server 或 Tableau Cloud 建立 OAuth 用戶端。Desktop 用戶端應啟用 `PKCE` 並使用 `http://localhost` 重新導向。
2. 新增任何所需的自訂聲明以用於角色授權。
3. 建立 Tableau OAuth 設定檔。請參閱有關 [github](https://tableau.github.io/connector-plugin-sdk/docs/oauth "GitHub 上用於建立 Tableau OAuth 設定檔的文件。") 的文件以及[範例](https://github.com/tableau/connector-plugin-sdk/tree/master/samples/components/oauth "GitHub 上用於建立 Tableau OAuth 設定檔的範例。")。我們歡迎其他 IDP 的範例。
    
    1. 請務必在 Tableau OAuth 設定 ID 前面加上「`custom_`」首碼。
        
        **附註：**OAuth 設定 ID 不得超過 36 個字元。超過此長度的 ID 可能不會產生錯誤，但會無法運作。
    2. 如果您的 IDP 支援動態 localhost 連接埠，則停用 `OAUTH_CAP_FIXED_PORT_IN_CALLBACK_URL`。如果沒有，請確保將多個 localhost 回呼 URL 新增至設定檔和 IDP 上的允許清單中。
4. 在與桌面主機（Tableau Desktop、Tableau Prep Builder、Tableau Bridge）上以及將使用 OAuth 的每個 Tableau Server 和 Tableau Cloud 站台上每個應用程式關聯的 `OAuthConfigs` 資料夾中安裝新的 Tableau OAuth 設定檔。

## 步驟 2：設定 IDP 並啟用 AWS 上的角色

有關執行詳情，請參閱 AWS 文件。

## 步驟 3： 連線到 Redshift

1. 連線到 Redshift。
2. 為「驗證」選取 OAuth。
3. 為「同盟類型」選取身分中心。
4. （可選）如果需要的話，請指定身分中心命名空間。

![](/tableau/next/zh-tw/online/zh-tw/Img/redshift_oauth_idc_connect.png "Redshift 連線對話")

正確設定後，您將被重新導向到 IDP，以對 Tableau 的權杖進行驗證和授權。Tableau 將收到存取權杖和重新整理權杖。它將把存取權杖傳送給驅動程式進行驗證。

## 權杖

預設情況下，Redshift OAuth 到 IAM IDC 會將存取權杖傳遞給驅動程式。對於內部部署客戶（包括使用 Tableau Bridge 的客戶），可以改用 TDC 檔案來傳遞 ID 權杖。

<connection-customization class='redshift' enabled='true' version='10.0'>
	<vendor name='redshift' />
	<driver name='redshift' />
	<customizations>
		<customization name='CAP\_OAUTH\_FEDERATE\_ID\_TOKEN' value='yes'/>
	</customizations>
</connection-customization>

有關設定和安裝 .tdc 檔案的詳細資訊，請參閱[自訂和調整連線](https://help.tableau.com/current/pro/desktop/zh-tw/connect_customize.htm)以及[在 Tableau Server 中使用 .tdc 檔案](https://help.salesforce.com/s/articleView?id=001458291&type=1)。

## Okta

若使用 Okta，最好使用「自訂授權伺服器」，而不是「組織授權伺服器。」自訂授權伺服器具有更多彈性。預設會建立自訂授權伺服器，稱為「預設」。授權 URL 應如下所示：

https://${yourOktaDomain}/oauth2/{authServerName}/v1/authorize

![](/tableau/next/zh-tw/online/zh-tw/Img/redshift_oauth_idc_okta_800x332.png)

## 更新驅動程式

對於使用 IAM IDC 服務的 Redshift OAuth，需要至少使用 2.x 版本的 ODBC 驅動程式。請從 [https://github.com/aws/amazon-redshift-odbc-driver/tags](https://github.com/aws/amazon-redshift-odbc-driver/tags "Redshift ODBC 版本 2 的驅動程式下載") 下載最新版本的 Redshift ODBC 驅動程式。請注意，目前還沒有適用於 OSX 的 v2 驅動程式。

## Redshift IAM IDC OAuth 疑難排解

診斷錯誤的最佳方法是從圖片中移除 Tableau。可以使用驅動程式管理員或類似工具進行測試。這僅用於疑難排解 - 在正常使用此功能時，不應使用 DSN 或「其他 ODBC」連接器。為幫助確保測試有效，參數應與下面所示相同，但叢集資訊、資料庫、權杖和命名空間除外。

如果在第一次連線時看到來自驅動程式的無效/過期權杖的錯誤訊息（錯誤訊息中將包含如 \[28000\] 或\[08001\] 的 SQLState 錯誤代碼），則 Tableau 已成功完成 OAuth 流程，並且驅動程式失敗。這表示 AWS 端或 IDP 端存在設定錯誤。驅動程式也可能傳回權限或授權錯誤，這也不受 Tableau 的控制。

在開始測試之前，首先需要取得存取權杖（IAM IDC 的預設設定）或重新整理權杖（若自訂），以傳送給驅動程式。

這是 Okta 的範例。幾乎所有 IDP 都有一種非常相似的方法來實現上述動作。請注意，要使用此流程，需要啟用資源擁有者密碼授與類型。替代 IDP URL、用戶端金鑰、用戶端識別碼、使用者名稱和密碼。

curl -X POST "https://OKTA\_URL/v1/token" \\  
\-H 'accept: application/json' \\  
\-H "Authorization: Basic $(echo -n 'CLIENTID:CLIENTSECRET' | base64)" \\  
\-H "Content-Type: application/x-www-form-urlencoded" \\  
\-d "grant\_type=password&username=USER&password=PASSWORD&scope=openid"

取得權杖後，可以使用 DSN 進行測試。對於 Windows，可以使用 ODBC 驅動程式管理員。在 Linux 上，可以使用 Tableau Server 隨附的 customer-bin 資料夾中的 isql 命令列工具。

Tableau 建議不要使用其他外掛程式進行測試，因為它們可能無法在伺服器環境中工作。它們要麼使用固定的 AWS 設定檔，要麼需要直接存取瀏覽器。

以下是在 Windows 上使用 ODBC 驅動程式管理器的範例。

![](/tableau/next/zh-tw/online/zh-tw/Img/redshift_oauth_idc_troubleshoot.png)