Okta プラグインと Okta ID プロバイダを使用して ODBC 用 の SSO を設定する
このページでは、Amazon Athena ODBC ドライバーと Okta プラグインを設定し、Okta の ID プロバイダを使用して Single Sign-On (SSO) 機能を追加する方法について説明します。
前提条件
このチュートリアルのステップを完了するには、以下が必要です。
-
Amazon Athena ODBC ドライバー ダウンロードリンクについては、「ODBC を使用した Amazon Athena への接続」(ODBC を使用して Amazon Athena に接続する) を参照してください。
-
SAML で使用する IAM ロール。詳細については、「IAM ユーザーガイド」の「SAML 2.0 フェデレーション用のロールの作成 (コンソール)」を参照してください。
-
Okta アカウント。詳細については、Okta.com
を参照してください。
Okta でのアプリケーション統合の作成
まず、Okta ダッシュボードを使用して、Athena へのシングルサインオン用の SAML 2.0 アプリケーションを作成して設定します。Okta で既存の Redshift アプリケーションを使用して、Athena へのアクセスを設定できます。
Okta でアプリケーション統合を作成するには
-
Okta.com
で、アカウントの管理ページにログインします。 -
ナビゲーションパネルで、[Applications] (アプリケーション) を選択した後、もう一度 [Applications] (アプリケーション) を選択します。
-
[Applications] (アプリケーション) ページで、[Browse App Catalog] (アプリケーションカタログを参照) を選択します。
-
[Browse App Integration Catalog] (アプリケーションの統合カタログを表示) ページの [Use Case] (ユースケース) セクションで、[All Integrations] (すべての統合) を選択します。
-
検索ボックスに Amazon Web Services Redshift と入力してから、[Amazon Web Services Redshift SAML] (アマゾン ウェブ サービス Redshift SAML) を選択します。
-
[Add integration] (統合の追加) を選択します。
-
[General Settings Required] (必要な一般設定) セクションの [Application label] (アプリケーションラベル) に、アプリケーションの名前を入力します。このチュートリアルでは、Athena-ODBC-Okta という名前を使用します。
-
[完了] をクリックします。
-
Okta アプリケーションのページ (たとえば、[Athena-ODBC-Okta]) で、[Sign On] (サインオン) を選択します。
-
[Settings] (設定) セクションで、[Edit] (編集) を選択します。
-
[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) の設定は使用されません。ユーザーがこれらを設定する必要はありません。
-
-
[Save] を選択します。
Okta から ODBC の設定情報を取得する
Okta アプリケーションを作成し、アプリケーションの ID と IdP ホスト URL を取得する準備ができました。これらは、後で Athena への接続用に ODBC を設定するときに必要になります。
Okta から ODBC の設定情報を取得するには
-
Okta アプリケーションの [General] (一般) タブを選択してから、[App Embed Link] (アプリケーション埋め込みリンク) セクションまでスクロールダウンします。
[Embed Link] (埋め込みリンク) の URL の形式は以下のとおりです。
https://trial-1234567.okta.com/home/amazon_aws_redshift/Abc1de2fghi3J45kL678/abc1defghij2klmNo3p4
-
[Embed Link] (埋め込みリンク) の URL から、次の部分を抽出して保存します。
-
https://
に続く最初のセグメント、okta.com
までです (たとえば、trial-1234567.okta.com)。これは IdP ホストです。 -
URL に含まれる最後の 2 つのセグメント、中央のスラッシュを含みます。これら 2 つのセグメントは、数字と大文字と小文字が混在する 20 文字の文字列 2 組です (たとえば、Abc1de2fghi3J45kL678/abc1defghij2klmNo3p4)。これはアプリケーション ID です。
-
Okta アプリケーションにユーザーを追加します。
Okta アプリケーションにユーザーを追加する準備ができました。
Okta アプリケーションにユーザーを追加するには
-
左側のナビゲーションペインで、[ディレクトリ] 、[ピープル] の順に選択します。
-
[Add Person] (ユーザーを追加) を選択します。
-
[Add Person] (ユーザーを追加) ダイアログボックスで、以下の情報を入力します。
-
[First name] (名) と [Last name] (姓) に値を入力します。このチュートリアルでは、
test user
を使用します。 -
[Username] (ユーザー名) と [Primary email] (プライマリ E メール) に値を入力します。このチュートリアルでは、両方に
test@amazon.com
を使用します。パスワードのセキュリティ要件はユーザーによって異なる可能性があります。
-
-
[Save] を選択します。
作成したユーザーをアプリケーションに割り当てる準備ができました。
アプリケーションにユーザーを割り当てるには
-
ナビゲーションペインで、[Applications] (アプリケーション) を選択してから、もう一度 [Applications] (アプリケーション) を選択し、アプリケーションの名前を選択します (たとえば、[Athena-ODBC-Okta])。
-
[Assign] (割り当て) を選択してから、[Assign to People] (ユーザーに割り当て) を選択します。
-
ユーザーの [Assign] (割り当て) オプションを選択し、[Done] (完了) を選択します。
-
プロンプトで、[Save and Go Back] (保存して戻る) を選択します。ダイアログボックスで、ユーザーのステータスが [Assigned] (割り当て済み) と表示されます。
-
[完了] をクリックします。
-
[Sign On] (サインオン) タブを選択します。
-
[SAML Signing Certificates] (SAML 署名証明書) セクションまでスクロールダウンします。
-
[アクション] を選択します。
-
[View IdP metadata] (IdP メタデータを表示) コンテキストメニューを開き (右クリック)、ファイルを保存するためのブラウザオプションを選択します。
-
拡張子 (
.xml
) を付けてファイルを保存します。
AWS SAML ID プロバイダとロールを作成する
メタデータ XML ファイルを AWS の IAM コンソールにアップロードする準備ができました。このファイルを使用して、AWS SAML ID プロバイダとロールを作成します。これらの手順を実行するには、AWS のサービスの管理者アカウントを使用します。
AWS で SAML ID プロバイダとロールを作成するには
-
AWS Management Console にサインインして、https://console.aws.amazon.com/IAM/
の IAM コンソールを開きます。 -
ナビゲーションペインで、[Identity providers] (ID プロバイダ) を選択し、[Add provider] (プロバイダを追加) を選択します。
-
[Add an Identity provider] (ID プロバイダ) ページで、[Configure provider] (プロバイダの設定) に以下の情報を入力します。
-
[プロバイダのタイプ] では [SAML] を選択します。
-
[Provider name] (プロバイダ名) に、プロバイダの名前を入力します (例:
AthenaODBCOkta
)。 -
[メタデータドキュメント] では、[ファイルを選択] オプションを使用して、ダウンロードした ID プロバイダ (IdP) メタデータ XML ファイルをアップロードします。
-
-
[プロバイダーを追加] をクリックします。
Athena および Amazon S3 にアクセスするための IAM ロールを作成する
Athena および Amazon S3 にアクセスするための IAM ロールを作成する準備ができました。このロールをユーザーに割り当てます。これにより、ユーザーに Athena へのシングルサインオンアクセスを提供できます。
ユーザー用の IAM ロールを作成するには
-
IAM コンソールのナビゲーションペインで、[Roles] (ロール)、[Create role] (ロールの作成) の順にクリックします。
-
[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)。
-
[プログラムによるアクセスとコンソールによるアクセスを許可] を選択します。
-
-
[Next] を選択します。
-
[Add Permissions] (許可を追加) ページの [Filter policies] (ポリシーをフィルタリング) に、
AthenaFull
と入力してから Enter キーを押します。 -
AmazonAthenaFullAccess
管理ポリシーを選択してから、[Next] (次へ) を選択します。 -
[Name, review, and create] (名前、確認、および作成) ページで、[Role name] (ロール名) にロールの名前 (たとえば、
Athena-ODBC-OktaRole
) を入力し、[Create role] (ロールを作成) を選択します。
Athena への Okta ODBC 接続を設定する
Windows の ODBC データソースプログラムを使用して、Athena への Okta ODBC 接続を設定する準備ができました。
Athena への Okta ODBC 接続を設定するには
-
Windows で、[ODBC Data Sources] (ODBC データソース) プログラムを起動します。
-
[ODBC Data Source Administrator] (ODBC データソースの管理者) プログラムで、[Add] (追加) をクリックします。
-
[Simba Athena ODBC Driver] (Simba Athena ODBC ドライバー) を選択し、[Finish] (完了) をクリックします。
-
左[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 パスを入力します。
-
-
[Authentication Options] (認証オプション) をクリックします。
-
[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
と入力します。
-
-
[OK] を選択します。
-
接続をテストするには [Test] (テスト) を、終了するには [OK] を選択します。