

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 Okta 外掛程式和 Okta 身分提供者設定 ODBC 的 SSO
<a name="odbc-okta-plugin"></a>

本頁面說明如何設定 Amazon Athena ODBC 驅動程式和 Okta 外掛程式，以使用 Okta 身分提供者新增單一登入 (SSO) 功能。

## 先決條件
<a name="odbc-okta-plugin-prerequisites"></a>

完成本教學課程中的步驟需要以下項目：
+ Amazon Athena ODBC 驅動程式。如需下載連結，請查看[使用 ODBC 連接到 Amazon Athena](connect-with-odbc.md)。
+ 您要搭配 SAML 使用的 IAM 角色。如需詳細資訊，請參閱*《IAM 使用者指南》*中的[為 SAML 2.0 聯合身分建立角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html)。
+ Okta 帳戶。如需詳細資訊，請前往 [Okta.com](https://www.okta.com/)。

## 在 Okta 中建立應用程式整合作業
<a name="odbc-okta-plugin-creating-an-app-integration-in-okta"></a>

首先，使用 Okta 儀表板建立及設定 SAML 2.0 應用程式，以透過單一登入機制存取 Athena。您可以使用 Okta 中現有的 Redshift 應用程式，設定對 Athena 的存取權。

**在 Okta 中建立應用程式整合作業**

1. 在 [Okta.com](https://www.okta.com/) 上登入您帳戶的管理頁面。

1. 在導覽窗格中，依序選擇 **Applications** (應用程式) 和 **Applications** (應用程式)。

1. 在 **Applications** (應用程式) 頁面上，選擇 **Browse App Catalog** (瀏覽應用程式目錄)。

1. 在 **Browse App Integration Catalog** (瀏覽應用程式整合目錄) 頁面的 **Use Case** (使用案例) 區段中，選擇 **All Integrations** (所有整合)。

1. 在搜尋方塊中輸入 **Amazon Web Services Redshift**，然後選擇 **Amazon Web Services Redshift SAML**。

1. 選擇 **Add Integration** (新增整合作業)。  
![\[選擇 Add Integration (新增整合作業)。\]](http://docs.aws.amazon.com/zh_tw/athena/latest/ug/images/odbc-okta-plugin-1.png)

1. 在 **General Settings Required** (必要的一般設定) 區段中，針對 **Application ** (應用程式) 標籤輸入應用程式的名稱。本教學課程使用的名稱為 **Athena-ODBC-Okta**。  
![\[輸入 Okta 應用程式的名稱。\]](http://docs.aws.amazon.com/zh_tw/athena/latest/ug/images/odbc-okta-plugin-2.png)

1. 選擇 **Done** (完成)。

1. 在 Okta 應用程式的頁面上 (例如 **Athena-ODBC-Okta**)，選擇 **Sign On** (登入)。  
![\[選擇 Sign On (登入) 標籤。\]](http://docs.aws.amazon.com/zh_tw/athena/latest/ug/images/odbc-okta-plugin-3.png)

1. 在 **Settings** (設定) 區段中，選擇 **Edit** (編輯)。  
![\[選擇 Edit (編輯)。\]](http://docs.aws.amazon.com/zh_tw/athena/latest/ug/images/odbc-okta-plugin-4.png)

1. 在 **Advanced Sign-on Settings** (進階登入設定) 區段設定下列值。
   + 對於 **IdP ARN 和角色 ARN**，請以逗號分隔值輸入您的 AWS IDP ARN 和角色 ARN。如需 IAM 角色格式的相關資訊，請參閱[《IAM 使用者指南》](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml_assertions.html)的*為身分驗證回應設定 SAML 聲明*。
   + 在 **Session Duration** (工作階段持續時間) 輸入 900 秒到 43200 秒之間的值。本教學課程使用預設值 3600 (亦即 1 小時)。  
![\[輸入進階登入設定。\]](http://docs.aws.amazon.com/zh_tw/athena/latest/ug/images/odbc-okta-plugin-5.png)

   Athena 不需使用 **DbUser Format** (DbUser 格式)、**AutoCreate** 和 **Allowed DBGroups** (允許的 DBGroups) 設定，因此您不必設定這些欄位。

1. 選擇**儲存**。

## 從 Okta 擷取 ODBC 組態資訊
<a name="odbc-okta-plugin-retrieve-odbc-configuration-information-from-okta"></a>

既然您已建立 Okta 應用程式，您可以準備擷取應用程式的 ID 和 IdP 主機 URL。稍後設定 ODBC 以連線至 Athena 時，您會需要這些資訊。

**從 Okta 擷取 ODBC 組態資訊**

1. 選擇 Okta 應用程式的 **General** (一般) 標籤，接著向下捲動至 **App Embed Link** (應用程式內嵌連結) 區段。  
![\[Okta 應用程式的內嵌連結 URL。\]](http://docs.aws.amazon.com/zh_tw/athena/latest/ug/images/odbc-okta-plugin-6.png)

   **Embed Link** (內嵌連結) URL 的格式如下：

   ```
   https://trial-1234567.okta.com/home/amazon_aws_redshift/Abc1de2fghi3J45kL678/abc1defghij2klmNo3p4
   ```

1. 從您的 **Embed Link** (內嵌連結) URL 擷取及儲存以下部分：
   + 第一個區段中 `https://` 之後到 `okta.com` (含) 的內容 (例如 **trial-1234567.okta.com**)。這是您的 IdP 主機。
   + URL 的最後兩小段，包括中間的正斜線。這些區段是兩個由 20 個字元組成的字串，其中包含數字和大小寫字母的混合 (例如 **Abc1de2fghi3J45kL678/abc1defghij2klmNo3p4**)。這是您的應用程式 ID。

## 將使用者新增至 Okta 應用程式
<a name="odbc-okta-plugin-add-a-user-to-the-okta-application"></a>

現在您可以準備將使用者新增至 Okta 應用程式。

**將使用者新增至 Okta 應用程式**

1. 在左側導覽窗格中，選擇 **Directory** (目錄)，然後選擇 **People** (人員)。

1. 選擇 **Add Person** (新增人員)。  
![\[選擇 Add Person (新增人員)。\]](http://docs.aws.amazon.com/zh_tw/athena/latest/ug/images/odbc-okta-plugin-7.png)

1. 在 **Add Person** (新增人員) 對話方塊中輸入下列資訊。
   + 輸入 **First name** (名字) 和 **Last name** (姓氏) 的值。本教學課程使用的是 **test user**。
   + 輸入 **Username** (使用者名稱) 和 **Primary email** (主要電子郵件) 的值。對於這兩個欄位，本教學課程皆使用 **test@amazon.com**。您對密碼的安全要求可能不盡相同。  
![\[輸入使用者憑證。\]](http://docs.aws.amazon.com/zh_tw/athena/latest/ug/images/odbc-okta-plugin-8.png)

1. 選擇**儲存**。

現在，您可以準備將所建立的使用者指派給您的應用程式。

**將使用者指派給應用程式**

1. 在導覽窗格中，依序選擇 **Applications** (應用程式) 和 **Applications** (應用程式)，然後選擇您應用程式的名稱 (例如 **Athena-ODBC-Okta**)。

1. 選擇 **Assign** (指派)，然後選擇 **Assign to People** (指派給人員)。  
![\[選擇 Assign to People (指派給人員)。\]](http://docs.aws.amazon.com/zh_tw/athena/latest/ug/images/odbc-okta-plugin-9.png)

1. 為您的使用者選擇 **Assign** (指派) 選項，然後選擇 **Done** (完成)。  
![\[選擇 Assign (指派)，然後選擇 Done (完成)。\]](http://docs.aws.amazon.com/zh_tw/athena/latest/ug/images/odbc-okta-plugin-10.png)

1. 畫面出現提示時，選擇 **Save and Go Back** (儲存並返回)。對話方塊會顯示使用者的狀態為 **Assigned** (已指派)。

1. 選擇**完成**。

1. 選擇 **Sign On** (登入) 標籤。

1. 向下捲動至 **SAML Signing Certificates** (SAML 簽署憑證) 區段。

1. 選擇 **Actions** (動作)。

1. 開啟內容功能表 (按一下滑鼠右鍵)，選擇 **View IdP metadata** (檢視 IdP 中繼資料)，然後選擇瀏覽器選項以儲存檔案。

1. 以 `.xml` 為副檔名儲存檔案。  
![\[將 IdP 中繼資料儲存至本機 XML 檔案。\]](http://docs.aws.amazon.com/zh_tw/athena/latest/ug/images/odbc-okta-plugin-11.png)

## 建立 AWS SAML 身分提供者和角色
<a name="odbc-okta-plugin-create-an-aws-saml-identity-provider-and-role"></a>

現在您已準備好將中繼資料 XML 檔案上傳至其中的 IAM 主控台 AWS。您將使用此檔案來建立 AWS SAML 身分提供者和角色。請使用 AWS 服務管理員帳戶執行這些步驟。

**在 中建立 SAML 身分提供者和角色 AWS**

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/IAM/](https://console.aws.amazon.com/IAM/) 開啟 IAM 主控台。

1. 在導覽窗格中，選擇 **Identity providers** (身分提供者)，然後選擇 **Add provider** (新增提供者)。  
![\[選擇 Add provider (新增提供者)。\]](http://docs.aws.amazon.com/zh_tw/athena/latest/ug/images/odbc-okta-plugin-12.png)

1. 在 **Add an Identity provider** (新增身分提供者) 頁面的 **Configure provider** (設定提供者) 位置，輸入下列資訊。
   + 在 **Provider type** (提供者類型) 選擇 **SAML**。
   + 在 **Provider name** (提供者名稱) 輸入提供者的名稱，例如 ** AthenaODBCOkta**。
   + 在 **Metadata document** (中繼資料文件) 使用 **Choose file** (選擇檔案) 選項，上傳您所下載的身分提供者 (IdP) 中繼資料 XML 檔案。  
![\[輸入身分提供者的名稱。\]](http://docs.aws.amazon.com/zh_tw/athena/latest/ug/images/odbc-okta-plugin-13.png)

1. 選擇 **Add provider** (新增提供者)。

### 為 Athena 和 Amazon S3 存取作業建立 IAM 角色
<a name="odbc-okta-plugin-creating-an-iam-role-for-athena-and-amazon-s3-access"></a>

現在，您可以準備為 Athena 和 Amazon S3 存取作業建立 IAM 角色。您會將這個角色指派給您的使用者，如此一來，該使用者就能透過單一登入機制存取 Athena。

**為使用者建立 IAM 角色**

1. 在 IAM 主控台導覽窗格中，選擇 **Roles** (角色)，然後選擇 **Create role** (建立角色)。  
![\[選擇建立角色。\]](http://docs.aws.amazon.com/zh_tw/athena/latest/ug/images/odbc-okta-plugin-14.png)

1. 在 **Create role** (建立角色) 頁面上選擇下列選項：
   + 在 **Select type of trusted entity** (選取信任的實體類型) 選擇 **SAML 2.0 Federation** (SAML 2.0 聯合)。
   + 在 **SAML 2.0-based provider** (SAML 2.0 提供者) 選擇您所建立的 SAML 身分提供者，例如 **AthenaODBCOkta**。
   + 選取**允許程式設計和 AWS 管理主控台 存取**。  
![\[選擇 Create role (建立角色) 頁面上的選項。\]](http://docs.aws.amazon.com/zh_tw/athena/latest/ug/images/odbc-okta-plugin-15.png)

1. 選擇**下一步**。

1. 在 **Add Permissions** (新增許可) 頁面上的 **Filter policies** (篩選政策) 位置，輸入 **AthenaFull**，然後按 Enter 鍵。

1. 選取 `AmazonAthenaFullAccess` 受管政策，然後選擇 **Next** (下一步)。  
![\[選擇 AmazonAthenaFullAccess 受管政策。\]](http://docs.aws.amazon.com/zh_tw/athena/latest/ug/images/odbc-okta-plugin-16.png)

1. 在 **Name, review, and create** (命名、檢閱及建立) 頁面上的 **Role name** (角色名稱) 位置，輸入角色的名稱 (例如 **Athena-ODBC-OktaRole**)，然後選擇 **Create role (建立角色)**。

## 設定 Okta ODBC 與 Athena 之間的連線
<a name="odbc-okta-plugin-configuring-the-okta-odbc-connection-to-athena"></a>

現在，您可以準備使用 Windows 的 ODBC 資料來源程式，設定 Okta ODBC 與 Athena 的連線。

**設定 Okta ODBC 與 Athena 的連線**

1. 啟動 Windows 的 **ODBC 資料來源**程式。

1. 在 **ODBC Data Source Administrator** (ODBC 資料來源管理員) 程式中，選擇 **Add** (新增)。  
![\[選擇新增。\]](http://docs.aws.amazon.com/zh_tw/athena/latest/ug/images/odbc-okta-plugin-17.png)

1. 選擇 **Simba Athena ODBC Driver** (Simba Athena ODBC 驅動程式)，然後選擇 **Finish** (完成)。  
![\[選擇 Athena ODBC 驅動程式。\]](http://docs.aws.amazon.com/zh_tw/athena/latest/ug/images/odbc-okta-plugin-18.png)

1. 在 **Simba Athena ODBC Driver DSN Setup** (Simba Athena ODBC 驅動程式 DSN 設定) 對話方塊中，輸入所述的值。
   + 在 **Data Source Name** (資料來源名稱)，為您的資料來源輸入名稱，例如 **Athena ODBC 64**。
   + 在 **Description** (描述) 輸入對資料來源的描述。
   + 針對 **AWS 區域**，輸入 AWS 區域 您正在使用的 （例如 **us-west-1**)。
   + 在 **S3 Output Location** (S3 輸出位置) 輸入您要存放輸出內容的 Amazon S3 路徑。  
![\[輸入您為資料來源名稱設定的值。\]](http://docs.aws.amazon.com/zh_tw/athena/latest/ug/images/odbc-okta-plugin-19.png)

1. 選擇 **Authentication Options** (身分驗證選項)。

1. 在 **Authentication Options** (身分驗證選項) 對話方塊中，選擇或輸入以下值。
   + 在 **Authentication Type** (身分驗證類型) 選擇 **Okta**。
   + 在 **User** (使用者) 輸入您的 Okta 使用者名稱。
   + 在 **Password** (密碼) 輸入您的 Okta 密碼。
   + 在 **IdP Host** (IdP 主機) 輸入您先前記下的值，例如 **trial-1234567.okta.com**。
   + 在 **IdP Port** (IdP 連接埠) 輸入 **443**。
   + 在 **App ID** (應用程式 ID) 輸入您先前記下的值 (Okta 內嵌連結的最後兩個區段)。
   + 在 **Okta App Name** (Okta 應用程式名稱) 輸入 **amazon\$1aws\$1redshift**。  
![\[輸入身分驗證選項。\]](http://docs.aws.amazon.com/zh_tw/athena/latest/ug/images/odbc-okta-plugin-20.png)

1. 選擇 **OK** (確定)。

1. 選擇 **Test** (測試) 來測試連線，或選擇 **OK** (確定) 完成操作。