---
schema_version: "1"
id: 608d4e5dc2c78f8edc2434649950676d888aab48e5b3d2a03c2ba3f0f86d4035
title: 設定 Amazon Athena IAM OAuth
collection: tableau
version: next
locale: zh-tw
portal_url: https://docs.salesforce.com/tableau/next/zh-tw/pro/desktop/amazon_athena_idp.md
canonical_url: https://help.tableau.com/v0.0/pro/desktop/zh-tw/amazon_athena_idp.htm
source_site: help.tableau.com
content_type: documentation
content_hash: a713537518be67ff322e79d89a20aa456289fbc7d7451a14d952bfdfcf65ef53
description: Set up OAuth 2.0/OIDC identity federation from an external IdP to Amazon Athena for Tableau.
---
[跳至主要內容](#main-content)

# 設定 Amazon Athena IAM OAuth

從 Tableau 2023.2 開始，可以使用 OAuth 2.0/OIDC 將外部身分提供程式 (IDP) 的身分與 Amazon Athena 結成同盟。

根據身分提供程式的不同，設定整合需要執行不同的步驟。Tableau 僅提供如何設定 Tableau 產品的詳細說明。有關如何設定身分提供程式（例如 Okta）的說明，請參閱該產品的說明和教學課程。本文件提供對設定流程的高階概觀。

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

**附註：**Tableau 和 Salesforce 內容以外的步驟與連結可能尚未更新或不準確。

## 設定身分提供程式 (IDP)

1. 在 IDP 上為 Tableau Desktop 與 Tableau Server 建立 OAuth 用戶端。Desktop 用戶端會啟用 [PKCE](https://auth0.com/docs/get-started/authentication-and-authorization-flow/authorization-code-flow-with-pkce)，並使用 [http://localhost](http://localhost/) 重新導向。
2. 新增任何所需的自訂聲明以用於角色授權。有關聲明和範圍的更多詳細資訊，請參閱[範圍與聲明](https://curity.io/resources/learn/scopes-vs-claims/)。
3. 建立 Tableau OAuth 設定檔。有關如何執行此動作的詳細資訊，請參閱 [github](https://tableau.github.io/connector-plugin-sdk/docs/oauth) 上的 [OAuth 設定和使用](https://tableau.github.io/connector-plugin-sdk/docs/oauth)以及[此處](https://github.com/tableau/connector-plugin-sdk/tree/master/samples/components/oauth)的範例。請務必在 Tableau OAuth 設定 ID 前面加上「custom\_」前置詞。
4. 請依照上面連結的 OAuth 設定主題中的說明，在 Tableau Desktop 電腦、Tableau Server 和 Tableau Cloud 站台上安裝 Tableau OAuth 設定檔。

## 在 AWS 上設定 IDP

1. 建立 IDP 實體。請參閱 Amazon 文件 [Web 身分同盟](https://docs.aws.amazon.com/zh_tw/IAM/latest/UserGuide/id_roles_providers_oidc.html)、[建立 OIDC 身分提供程式](https://docs.aws.amazon.com/zh_tw/IAM/latest/UserGuide/id_roles_providers_create_oidc.html)。
2. IDP 必須設定為以與 Tableau 驅動程式外掛程式協作的方式與 Athena 結成同盟。以下提供者資訊用於 Tableau Server 和 Tableau Desktop 流程：
    
    AwsCredentialsProviderClass=com.simba.athena.iamsupport.plugin.JwtCredentialsProvider  
    role\_session\_name=AthenaJWT
3. 專門為 IDP 建立角色和原則。請參閱 AWS 文件上的[為 OIDC 建立角色](https://docs.aws.amazon.com/zh_tw/IAM/latest/UserGuide/id_roles_create_for-idp_oidc.html)。

## 為 Athena 設定角色

附加 Athena 所需的原則。有很多方法可以執行此動作。一種方法是使用自訂宣告。可以使用 openID 權杖中的自訂宣告對角色進行授權。這些角色會被授予對其他資源的存取權。有關詳情，請參閱：

- 教學課程：[使用 Lake Formation 與 JDBC 設定 Okta 使用者對 Athena 的同盟存取權](https://docs.aws.amazon.com/athena/latest/ug/security-athena-lake-formation-jdbc-okta-tutorial.html)。
- [對 AWS Glue Data Catalog 中的資料庫和資料表進行精細存取。](https://docs.aws.amazon.com/athena/latest/ug/fine-grained-access-to-glue-resources.html)

## 連線到 Athena

使用者必須指定要代入的 AWS 角色 ARN（Amazon 資源名稱），然後在 OAuth 提供者下選取先前安裝的 OAuth 設定。請注意，只有當有多個設定可供選擇時，才會顯示用於選取設定的下拉式功能表。

正確設定後，使用者將被重新定向到 IDP，以對 Tableau 的權杖進行驗證和授權。Tableau 會接收 openid 與重新整理權杖。AWS 能夠驗證來自 IDP 的權杖與簽章、從權杖中擷取宣告、查找宣告對應的 IAM 角色，以及允許或阻止 Tableau 代表使用者代入角色。

[範例：AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/zh_tw/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html)

![登入 Athena 視窗](/tableau/next/zh-tw/pro/desktop/zh-tw/Img/athenaidp_signin.png)

## 權杖

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

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

有關設定和安裝 .tdc 檔案的更多資訊，請參閱[自訂和調整連線](https://help.tableau.com/current/pro/desktop/zh-tw/connect_customize.htm)。

## Okta 設定

若使用 Okta，最好使用「自訂授權伺服器」，而不是「組織授權伺服器」。自訂授權伺服器具有更多彈性。系統會預設建立一個自訂授權伺服器，稱為「預設」。授權 URL 類似以下範例。

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

![Okta 儀表板](/tableau/next/zh-tw/pro/desktop/zh-tw/Img/athena_okta.png)