

# ODBC、SAML 2.0、Okta Identity Provider を使用してシングルサインオンを設定する
<a name="okta-saml-sso"></a>

データソースに接続する際、 Amazon Athena では、PingOne、Okta、OneLogin を初めとしたアイデンティティプロバイダ (IdPs) を使用できます。Athena ODBC ドライバーのバージョン 1.1.13 および Athena JDBC ドライバーのバージョン 2.0.25 以降には、ブラウザの SAML プラグインが含まれており、任意の SAML 2.0 プロバイダで動作するように設定できます。このトピックでは、Okta の ID プロバイダを使用して Single Sign-On (SSO) 機能を追加するために、Amazon Athena ODBC ドライバーとブラウザベースの SAML プラグインを設定する方法について説明します。

## 前提条件
<a name="okta-saml-sso-prerequisites"></a>

このチュートリアルのステップを完了するには、以下が必要です。
+ Athena ODBC ドライバーバージョン 1.1.13 以降。バージョン 1.1.13 以降には、ブラウザの SAML サポートが含まれています。ダウンロード用のリンクは、「[ODBC を使用した Amazon Athena への接続](https://docs.aws.amazon.com/athena/latest/ug/connect-with-odbc.html)」でご確認ください。
+ 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="okta-saml-sso-creating-an-app-integration-in-okta"></a>

まず、Okta ダッシュボードを使用して、Athena へのシングルサインオン用の SAML 2.0 アプリケーションを作成して設定します。

**Okta ダッシュボードを使用して Athena のシングルサインオンをセットアップするには**

1. `okta.com` の Okta 管理ページにログインします。

1. [ナビゲーションペイン] で、**[Applications]** (アプリケーション) をクリックした後に、もう一度 **[Applications]** をクリックします。

1. **[Applications]** (アプリケーション) ページで、**[Create App Integration]** (アプリケーション統合を作成) をクリックします。  
![[Create App Integration] (アプリの統合の作成) を選択します。](http://docs.aws.amazon.com/ja_jp/athena/latest/ug/images/okta-saml-sso-1.png)

1. **[Create a new app integration]** (新しいアプリケーション統合の作成) ダイアログボックスにある **[Sign-in method]** (サインイン方法) で、**[SAML 2.0]** を選択した上で、**[Next]** (次へ) をクリックします。  
![[SAML 2.0] を選択](http://docs.aws.amazon.com/ja_jp/athena/latest/ug/images/okta-saml-sso-2.png)

1. **[Create SAML Integration]** (SAML 統合の作成) ページの **[General Settings]** (全般設定) セクションで、アプリケーションの名前を入力します。このチュートリアルでは、この名前として **[Athena SSO]** を使用します。  
![Okta アプリケーションの名前を入力します。](http://docs.aws.amazon.com/ja_jp/athena/latest/ug/images/okta-saml-sso-3.png)

1. [**次へ**] を選択します。

1. **[Configure SAML]** (SAML の設定) ページの **[SAML Settings]** (SAML 設定) セクションで、以下の値を入力します。
   + **[Single sign on URL]** (シングルサインオン URL) には **http://localhost:7890/athena** を入力します。
   + **[Audience URI]** (対象者の URI) には **urn:amazon:webservices** を入力します。  
![SAML の設定を入力します。](http://docs.aws.amazon.com/ja_jp/athena/latest/ug/images/okta-saml-sso-4.png)

1. **[Attribute Statements (optional)]** (属性ステートメント (オプション)) には、次の名前と値のペアを入力します。これらのマッピング属性は必須です。
   + **[Name]** (名前) に、次の URL を入力します。

     **https://aws.amazon.com/SAML/Attributes/Role**

     **[Value]** (値) に、IAM ロールの名前を入力します。IAM ロール形式の詳細については、「IAM ユーザーガイド」の「[認証レスポンスの SAML アサーションを設定する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml_assertions.html)」を参照してください。
   + **[Name]** (名前) に、次の URL を入力します。

     **https://aws.amazon.com/SAML/Attributes/RoleSessionName**

     **[Value]** (値) に「**user.email**」と入力します。  
![Athena 用の SAML 属性を入力します。](http://docs.aws.amazon.com/ja_jp/athena/latest/ug/images/okta-saml-sso-5.png)

1. **[次へ]** を選択し、**[完了]** を選択します。

   Okta がアプリケーションを作成する際、同時にログイン URL も作成され、これは次で取得できます。

## Okta ダッシュボードからのログイン URL の取得
<a name="okta-saml-sso-getting-the-login-url-from-the-okta-dashboard"></a>

この段階まででアプリケーションが作成されたので、Okta ダッシュボードからログイン URL およびその他のメタデータを取得できます。

**Okta ダッシュボードからログイン URL を取得するには**

1. Okta のナビゲーションペインで、**[Applications]** (アプリケーション) をクリックした後、もう一度 **[Applications]** をクリックします。

1. ログイン URL を確認するアプリケーション (たとえば、**AthenASSO**) を選択します。

1. アプリケーションのページで、**[Sign On]** (サインオン) をクリックします。  
![[Sign On] (サインオン) をクリックします。](http://docs.aws.amazon.com/ja_jp/athena/latest/ug/images/okta-saml-sso-6.png)

1. **[View Setup Instructions]** (セットアップ手順を表示) をクリックします。  
![[View Setup Instructions] (セットアップ手順を表示) をクリックします。](http://docs.aws.amazon.com/ja_jp/athena/latest/ug/images/okta-saml-sso-7.png)

1. **[How to Configure SAML 2.0 for Athena SSO]** (Athena SSO 用の SAML 2.0 を設定するには) ページで、**[Identity Provider Issuer]** (ID プロバイダの発行者) の URL を探します。Okta ダッシュボード内の一部では、この URL を **[SAML issuer ID]** (SAML 発行者 ID) として参照します。  
![[Identity Provider Issuer] (ID プロバイダの発行者) の値です。](http://docs.aws.amazon.com/ja_jp/athena/latest/ug/images/okta-saml-sso-8.png)

1. **ID プロバイダシングルサインオン URL** の値をコピーまたは保存します。

   次のセクションで ODBC 接続を設定する際に、ブラウザの SAML プラグイン用の接続パラメータ **[Login URL]** (ログインURL) として、この値を指定します。

## ブラウザ SAML ODBC による Athena への接続の設定
<a name="okta-saml-sso-configuring-the-browser-saml-odbc-connection-to-athena"></a>

この段階で、Windows の ODBC データソースプログラムを使用して、Athena へのブラウザの SAML 接続を設定するための準備が整いました。

**ブラウザの SAML ODBC による Athena への接続を設定するには**

1. Windows で、**[ODBC Data Sources]** (ODBC データソース) プログラムを起動します。

1. **[ODBC Data Source Administrator]** (ODBC データソースの管理者) プログラムで、**[Add]** (追加) をクリックします。  
![[Add] (追加) を選択します。](http://docs.aws.amazon.com/ja_jp/athena/latest/ug/images/okta-saml-sso-9.png)

1. **[Simba Athena ODBC Driver]** (Simba Athena ODBC ドライバー) を選択し、**[Finish]** (完了) をクリックします。  
![[Simba Athena Driver] (Simba Athena ドライバー) を選択](http://docs.aws.amazon.com/ja_jp/athena/latest/ug/images/okta-saml-sso-10.png)

1. 左**[Simba Athena ODBC Driver DSN Setup]** (Simba Athena ODBC ドライバーの DSN セットアップ) ダイアログで、以下に記述されている値を入力します。  
![DSN のセットアップ値を入力します。](http://docs.aws.amazon.com/ja_jp/athena/latest/ug/images/okta-saml-sso-11.png)
   + **[Data Source Name]** (データソース名) には、使用するデータソースの名前 (例:**Athena ODBC 64**) を入力します。
   + **[Description]** (説明) に、データソースの説明を入力します。
   + **[AWS リージョン]** には、使用している AWS リージョン (例: **us-west-1**) を入力します
   + **[S3 Output Location]** (S3 出力場所) には、出力を保存する先の Amazon S3 パスを入力します。

1. **[Authentication Options]** (認証オプション) をクリックします。

1. **[Authentication Options]** (認証オプション) ダイアログボックスで、以下の値を選択または入力します。  
![認証オプションを入力します。](http://docs.aws.amazon.com/ja_jp/athena/latest/ug/images/okta-saml-sso-12.png)
   + **[Authentication Type]** (認証タイプ) で、**[BrowserSAML]** を選択します。
   + **[Login URL]** (ログインURL) には、Okta ダッシュボードから取得した、**[Identity Provider Single Sign-On URL]** (ID プロバイダのシングルサインオン URL) を入力します。
   + **[Listen Port]** (リッスンするポート) には、「**7890**」と入力します。
   + **[Timeout (sec)]** (タイムアウト (秒)) に、接続のタイムアウト値を秒単位で入力します。

1. **[OK]** をクリックして、**[Authentication Options]** (認証オプション) を閉じます。

1. 接続をテストするには **[Test]** (テスト) を、終了するには **[OK]** をクリックします。