將您自己的身分提供程式與 Amazon Athena 結合使用
從 Tableau 2023.2 開始,可以使用 OAuth 2.0/OIDC 將外部身分提供程式的身分與 Amazon Athena 結成同盟。
根據身分提供程式的不同,設定整合需要執行不同的步驟。Tableau 僅提供如何設定 Tableau 產品的詳細說明。有關如何設定身分提供程式(例如 Okta)的說明,請參閱該產品的說明和教學課程。本文件提供對設定流程的高階概觀。
附註:目前與 Tableau 的 OAuth 連線不支援一次性重新整理權杖。在大多數情況下,可以將身分提供程式(例如 Okta 或 Redshift IDC)設定為使用滾動式重新整理權杖。有關詳情,請參閱提供程式的 OAuth 文件。
附註:Tableau 和 Salesforce 內容以外的步驟與連結可能尚未更新或不準確。
設定身分提供程式 (IDP)
在 IDP 上為 Tableau Desktop 與 Tableau Server 建立 OAuth 用戶端。Desktop 用戶端會啟用 PKCE(連結在新視窗開啟),並使用 http://localhost 重新導向。
新增任何所需的自訂聲明以用於角色授權。有關聲明和範圍的更多詳細資訊,請參閱範圍與聲明(連結在新視窗開啟)。
建立 Tableau OAuth 設定檔。有關如何執行此動作的詳細資訊,請參閱 github 上的 OAuth 設定和使用(連結在新視窗開啟)以及此處的範例。請務必在 Tableau OAuth 設定 ID 前面加上「custom_」前置詞。
請依照上面連結的 OAuth 設定主題中的說明,在 Tableau Desktop 電腦、Tableau Server 和 Tableau Cloud 站台上安裝 Tableau OAuth 設定檔。
在 AWS 上設定 IDP
- 建立 IDP 實體。請參閱 Amazon 文件 Web 身分同盟、建立 OIDC 身分提供程式。
- IDP 必須設定為以與 Tableau 驅動程式外掛程式協作的方式與 Athena 結成同盟。以下提供者資訊用於 Tableau Server 和 Tableau Desktop 流程:
AwsCredentialsProviderClas=com.simba.athena.iamsupport.plugin.JwtCredentialsProvider
role_session_name=AthenaJWT - 專門為 IDP 建立角色和原則。請參閱 AWS 文件上的為 OIDC 建立角色。
為 Athena 設定角色
附加 Athena 所需的原則。有很多方法可以執行此動作。一種方法是使用自訂宣告。可以使用 openID 權杖中的自訂宣告對角色進行授權。這些角色會被授予對其他資源的存取權。有關詳情,請參閱:
連線到 Athena
使用者必須指定要代入的 AWS 角色 ARN(Amazon 資源名稱),然後在 OAuth 提供者下選取先前安裝的 OAuth 設定。請注意,只有當有多個設定可供選擇時,才會顯示用於選取設定的下拉式功能表。
正確設定後,使用者將被重新定向到 IDP,以對 Tableau 的權杖進行驗證和授權。Tableau 會接收 openid 與重新整理權杖。AWS 能夠驗證來自 IDP 的權杖與簽章、從權杖中擷取宣告、查找宣告對應的 IAM 角色,以及允許或阻止 Tableau 代表使用者代入角色。
權杖
預設情況下,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 檔案的更多資訊,請參閱自訂和調整連線(連結在新視窗開啟)。
Okta 設定
若使用 Okta,最好使用「自訂授權伺服器」,而不是「組織授權伺服器」。自訂授權伺服器具有更多彈性。系統會預設建立一個自訂授權伺服器,稱為「預設」。授權 URL 類似以下範例。
https://${yourOktaDomain}/oauth2/{authServerName}/v1/authorize