Okta プラグインと Okta ID プロバイダを使用して ODBC 用 の SSO を設定する - Amazon Athena

Okta プラグインと Okta ID プロバイダを使用して ODBC 用 の SSO を設定する

このページでは、Amazon Athena ODBC ドライバーと Okta プラグインを設定し、Okta の ID プロバイダを使用して Single Sign-On (SSO) 機能を追加する方法について説明します。

前提条件

このチュートリアルのステップを完了するには、以下が必要です。

Okta でのアプリケーション統合の作成

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

Okta でアプリケーション統合を作成するには
  1. Okta.com で、アカウントの管理ページにログインします。

  2. ナビゲーションパネルで、[Applications] (アプリケーション) を選択した後、もう一度 [Applications] (アプリケーション) を選択します。

  3. [Applications] (アプリケーション) ページで、[Browse App Catalog] (アプリケーションカタログを参照) を選択します。

  4. [Browse App Integration Catalog] (アプリケーションの統合カタログを表示) ページの [Use Case] (ユースケース) セクションで、[All Integrations] (すべての統合) を選択します。

  5. 検索ボックスに Amazon Web Services Redshift と入力してから、[Amazon Web Services Redshift SAML] (アマゾン ウェブ サービス Redshift SAML) を選択します。

  6. [Add integration] (統合の追加) を選択します。

    [Add integration] (統合の追加) を選択します。
  7. [General Settings Required] (必要な一般設定) セクションの [Application label] (アプリケーションラベル) に、アプリケーションの名前を入力します。このチュートリアルでは、Athena-ODBC-Okta という名前を使用します。

    Okta アプリケーションの名前を入力します。
  8. [完了] をクリックします。

  9. Okta アプリケーションのページ (たとえば、[Athena-ODBC-Okta]) で、[Sign On] (サインオン) を選択します。

    [Sign On] (サインオン) タブを選択します。
  10. [Settings] (設定) セクションで、[Edit] (編集) を選択します。

    [編集] を選択します。
  11. [Advanced Sign-on Settings] (詳細なサインオン設定) セクションで、以下の値を設定します。

    • [IdP ARN and Role ARN] (IdP ARN とロール ARN) に、AWS IDP ARN とロール ARN をカンマ区切り値で入力します。IAM ロール形式の詳細については、「IAM ユーザーガイド」の「認証レスポンスの SAML アサーションを設定する」を参照してください。

    • [Session Duration] (セッション期間) に、900~43200 秒の値を入力します。このチュートリアルでは、デフォルトの 3600 (1 時間) を使用します。

      サインオン設定の詳細を入力します。

    Athena では、[DbUser Format] (DbUser 形式)、[AutoCreate][Allowed DBGroups] (許可された DBGroups) の設定は使用されません。ユーザーがこれらを設定する必要はありません。

  12. [Save] を選択します。

Okta から ODBC の設定情報を取得する

Okta アプリケーションを作成し、アプリケーションの ID と IdP ホスト URL を取得する準備ができました。これらは、後で Athena への接続用に ODBC を設定するときに必要になります。

Okta から ODBC の設定情報を取得するには
  1. Okta アプリケーションの [General] (一般) タブを選択してから、[App Embed Link] (アプリケーション埋め込みリンク) セクションまでスクロールダウンします。

    Okta アプリケーションの埋め込みリンク URL です。

    [Embed Link] (埋め込みリンク) の URL の形式は以下のとおりです。

    https://trial-1234567.okta.com/home/amazon_aws_redshift/Abc1de2fghi3J45kL678/abc1defghij2klmNo3p4
  2. [Embed Link] (埋め込みリンク) の URL から、次の部分を抽出して保存します。

    • https:// に続く最初のセグメント、okta.com までです (たとえば、trial-1234567.okta.com)。これは IdP ホストです。

    • URL に含まれる最後の 2 つのセグメント、中央のスラッシュを含みます。これら 2 つのセグメントは、数字と大文字と小文字が混在する 20 文字の文字列 2 組です (たとえば、Abc1de2fghi3J45kL678/abc1defghij2klmNo3p4)。これはアプリケーション ID です。

Okta アプリケーションにユーザーを追加します。

Okta アプリケーションにユーザーを追加する準備ができました。

Okta アプリケーションにユーザーを追加するには
  1. 左側のナビゲーションペインで、[ディレクトリ] 、[ピープル] の順に選択します。

  2. [Add Person] (ユーザーを追加) を選択します。

    [Add Person] (ユーザーを追加) を選択します。
  3. [Add Person] (ユーザーを追加) ダイアログボックスで、以下の情報を入力します。

    • [First name] (名) と [Last name] (姓) に値を入力します。このチュートリアルでは、test user を使用します。

    • [Username] (ユーザー名) と [Primary email] (プライマリ E メール) に値を入力します。このチュートリアルでは、両方に test@amazon.com を使用します。パスワードのセキュリティ要件はユーザーによって異なる可能性があります。

      ユーザー認証情報を入力します。
  4. [Save] を選択します。

作成したユーザーをアプリケーションに割り当てる準備ができました。

アプリケーションにユーザーを割り当てるには
  1. ナビゲーションペインで、[Applications] (アプリケーション) を選択してから、もう一度 [Applications] (アプリケーション) を選択し、アプリケーションの名前を選択します (たとえば、[Athena-ODBC-Okta])。

  2. [Assign] (割り当て) を選択してから、[Assign to People] (ユーザーに割り当て) を選択します。

    [Assign to People] (ユーザーに割り当て) を選択します。
  3. ユーザーの [Assign] (割り当て) オプションを選択し、[Done] (完了) を選択します。

    [Assign] (割り当て) を選択し、[Done] (完了) を選択します。
  4. プロンプトで、[Save and Go Back] (保存して戻る) を選択します。ダイアログボックスで、ユーザーのステータスが [Assigned] (割り当て済み) と表示されます。

  5. [完了] をクリックします。

  6. [Sign On] (サインオン) タブを選択します。

  7. [SAML Signing Certificates] (SAML 署名証明書) セクションまでスクロールダウンします。

  8. [アクション] を選択します。

  9. [View IdP metadata] (IdP メタデータを表示) コンテキストメニューを開き (右クリック)、ファイルを保存するためのブラウザオプションを選択します。

  10. 拡張子 (.xml) を付けてファイルを保存します。

    IdP メタデータを、ローカルの XML ファイルに保存します。

AWS SAML ID プロバイダとロールを作成する

メタデータ XML ファイルを AWS の IAM コンソールにアップロードする準備ができました。このファイルを使用して、AWS SAML ID プロバイダとロールを作成します。これらの手順を実行するには、AWS のサービスの管理者アカウントを使用します。

AWS で SAML ID プロバイダとロールを作成するには
  1. AWS Management Console にサインインして、https://console.aws.amazon.com/IAM/ の IAM コンソールを開きます。

  2. ナビゲーションペインで、[Identity providers] (ID プロバイダ) を選択し、[Add provider] (プロバイダを追加) を選択します。

    [プロバイダーを追加] をクリックします。
  3. [Add an Identity provider] (ID プロバイダ) ページで、[Configure provider] (プロバイダの設定) に以下の情報を入力します。

    • [プロバイダのタイプ] では [SAML] を選択します。

    • [Provider name] (プロバイダ名) に、プロバイダの名前を入力します (例: AthenaODBCOkta)。

    • [メタデータドキュメント] では、[ファイルを選択] オプションを使用して、ダウンロードした ID プロバイダ (IdP) メタデータ XML ファイルをアップロードします。

      ID プロバイダの情報を入力します。
  4. [プロバイダーを追加] をクリックします。

Athena および Amazon S3 にアクセスするための IAM ロールを作成する

Athena および Amazon S3 にアクセスするための IAM ロールを作成する準備ができました。このロールをユーザーに割り当てます。これにより、ユーザーに Athena へのシングルサインオンアクセスを提供できます。

ユーザー用の IAM ロールを作成するには
  1. IAM コンソールのナビゲーションペインで、[Roles] (ロール)、[Create role] (ロールの作成) の順にクリックします。

    [ロールの作成] を選択します。
  2. [Create role] (ロールを作成) ページで、次のオプションを選択します。

    • [Select type of trusted entity] (信頼されたエンティティのタイプを選択) で、[SAML 2.0 Federation] (SAML 2.0 フェデレーション) を選択します。

    • [SAML 2.0–based provider] (SAML 2.0 ベースのプロバイダ) で、作成した SAML ID プロバイダを指定します (たとえば、AthenaODBCOkta)。

    • [プログラムによるアクセスとコンソールによるアクセスを許可] を選択します。

      [Create role] (ロールの作成) ページで、オプションを選択します。
  3. [Next] を選択します。

  4. [Add Permissions] (許可を追加) ページの [Filter policies] (ポリシーをフィルタリング) に、AthenaFull と入力してから Enter キーを押します。

  5. AmazonAthenaFullAccess 管理ポリシーを選択してから、[Next] (次へ) を選択します。

    AmazonAthenaFullAccess 管理ポリシーを選択します。
  6. [Name, review, and create] (名前、確認、および作成) ページで、[Role name] (ロール名) にロールの名前 (たとえば、Athena-ODBC-OktaRole) を入力し、[Create role] (ロールを作成) を選択します。

Athena への Okta ODBC 接続を設定する

Windows の ODBC データソースプログラムを使用して、Athena への Okta ODBC 接続を設定する準備ができました。

Athena への Okta ODBC 接続を設定するには
  1. Windows で、[ODBC Data Sources] (ODBC データソース) プログラムを起動します。

  2. [ODBC Data Source Administrator] (ODBC データソースの管理者) プログラムで、[Add] (追加) をクリックします。

    追加] を選択します。
  3. [Simba Athena ODBC Driver] (Simba Athena ODBC ドライバー) を選択し、[Finish] (完了) をクリックします。

    Athena の ODBC ドライバーを選択します。
  4. [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 パスを入力します。

      データソース名の設定で、値を入力します。
  5. [Authentication Options] (認証オプション) をクリックします。

  6. [Authentication Options] (認証オプション) ダイアログボックスで、以下の値を選択または入力します。

    • [Authentication Type] (認証タイプ) で、[Okta] を選択します。

    • ユーザーには、Okta ユーザー名を入力します。

    • パスワードには、Okta パスワードを入力します。

    • [IdP Host] (IdP ホスト) に、以前記録した値を入力します (たとえば、trial-1234567.okta.com)。

    • [IdP Port] (IdP ポート) に、443 と入力します。

    • [App ID] (アプリケーション ID) に、以前記録した値 (Okta 埋め込みリンクに含まれる最後の 2 つのセグメント) を入力します。

    • [Okta App Name] (Okta アプリケーション名) に、amazon_aws_redshift と入力します。

      認証オプションを入力します。
  7. [OK] を選択します。

  8. 接続をテストするには [Test] (テスト) を、終了するには [OK] を選択します。