Okta - Amazon Redshift

Okta

Okta を ID プロバイダー (IdP) として使用して、Amazon Redshift クラスターにアクセスできます。このチュートリアルでは、Okta を ID プロバイダー (IdP) として使用して、Amazon Redshift クラスターにアクセスする方法を説明します。

ステップ 1: Okta と AWS アカウントを相互に信頼するように設定する

以下の手順では、信頼関係を設定する方法を説明します。

相互に信頼するように Okta と AWS アカウントを設定するには
  1. Okta ユーザーが接続するための既存の Amazon Redshift クラスターを作成または使用します。接続を設定するには、クラスター識別子など、このクラスターの特定のプロパティが必要です。詳細については、「クラスターの作成」を参照してください。

  2. Okta ポータルに新しいアプリケーションとして Amazon Redshift を追加します。詳細な手順については、Okta のドキュメントを参照してください。

    • アプリケーションの追加を選択します。

    • アプリケーションの追加で、新しいアプリの作成を選択します。

    • 新規追加のアプリケーション統合の作成 ページの プラットフォームで、ウェブを選択します。

    • サインオンメソッドで、SAML v2.0を選択します。

    • 一般設定 ページで、アプリ名your-redshift-saml-sso-nameと入力します。これは、アプリケーションの名前です。

    • SAML 設定 ページの シングルサインオンの URLyour-redshift-local-host-urlと入力します。これは、SAML アサーションがリダイレクトするローカルホストとポート (例: http://localhost:7890/redshift/) です。

  3. シングルサインオン URL 値を 受取人URL送信先 URLとして使用します。

  4. [署名] には、[アサーションに署名] を選択します。

  5. 対象 URI (SP エンティティ ID)に、次の表に示すように、クレームに対して urn:amazon:webservices を入力します。

  6. [Advanced Settings] (高度な設定) セクションの [SAML Issuer ID] (SAML 発行者 ID) に、[View Setup Instructions] (セットアップ手順の表示) セクションに表示されている your-Identity-Provider-Issuer-ID を入力します。

  7. 属性ステートメント セクションで、次の表に示すようにクレームを作成します。

    クレーム名

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

    arn:aws:iam::123456789012:role/Okta,arn:aws:iam::123456789012:saml-provider/Okta

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

    user.email

    https://redshift.amazon.com/SAML/Attributes/AutoCreate

    "true"

    https://redshift.amazon.com/SAML/Attributes/DbUser

    user.email

  8. App Embed Link セクションで、ブラウザ SAML プラグインのログイン URL として使用できる URL を見つけます。

  9. IAM コンソールで、IAM SAML アイデンティティプロバイダーを作成します。指定したメタデータドキュメントは、Okta の設定時に保存したフェデレーションメタデータ XML ファイルです。詳細な手順については、「IAM ユーザーガイド」の「IAM ID プロバイダーを作成および管理する (コンソール)」を参照してください。

  10. IAM コンソールで、SAML 2.0 フェデレーション用の IAM ロールを作成します。詳細なステップについては、「IAM ユーザーガイド」の「SAML 用のロールの作成」を参照してください。

  11. IAM コンソールで SAML 2.0 フェデレーション用に作成した IAM ロールにアタッチできる IAM ポリシーを作成します。詳細な手順については、「IAM ユーザーガイド」の「IAM ポリシーの作成 (コンソール)」を参照してください。Azure AD の例については、「JDBC または ODBC シングルサインオン認証の設定」を参照してください。

ステップ 2: Okta への認証用に JDBC または ODBC を設定する

JDBC
Okta への認証用に JDBC を設定するには
  • Okta シングルサインオンを使用して JDBC 経由でクラスターに接続するようにデータベースクライアントを構成します。

    JDBC ドライバーを使用する任意のクライアントを使用して Okta シングルサインオンを使用して接続、または Java などの言語を使用してスクリプトを使用して接続することもできます。インストールおよび設定の詳細については、「Amazon Redshift での JDBC ドライバーのバージョン 2.1 による接続の構成」を参照してください。

    たとえば、SQLWorkbench/J をクライアントとして使用できます。SQLWorkbench/J を設定する場合、データベースの URL は次の形式を使用します。

    jdbc:redshift:iam://cluster-identifier:us-west-1/dev

    SQLWorkbench/J をクライアントとして使用する場合は、次の手順を実行します。

    1. [Select Connection Profile] ページで、[Profile Group] を追加します (例: Okta)。

    2. [接続プロファイル] に、your-connection-profile-name と入力します (例: Okta)。

    3. [Manage Drivers (ドライバーの管理)] を選択し、[Amazon Redshift] を選択します。[フォルダを開く] アイコン、[ライブラリ] を選択し、適切な JDBC .jar ファイルを選択します。

    4. 接続プロファイルの選択ページで、次のように接続プロファイルに情報を追加します。

      • ユーザーには、Okta ユーザー名を入力します。これは、使用認証しようとしているクラスターに対するアクセス許可を持つ、シングルサインオンに使用している Okta アカウントのユーザー名です。

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

      • [ドライバ] では、[Amazon Redshift (com.amazon.redshift.jdbc.Driver)] を選択します。

      • [URL] には、jdbc:redshift:iam://your-cluster-identifier:your-cluster-region/your-database-name と入力します。

    5. [拡張プロパティ] を選択し、次のいずれかの操作を行います。

      • [login_url] には、your-okta-sso-login-url と入力します。この値は、Okta にログインするための認証としてシングルサインオンを使用する URL を指定します。

      • Okta シングルサインオンの場合は、plugin_namecom.amazon.redshift.plugin.OktaCredentialsProvider と入力します。この値は、認証方法として Okta シングルサインオンを使用するドライバーに指定します。

      • MFA を使用した Okta シングルサインオンの場合は、plugin_namecom.amazon.redshift.plugin.BrowserSamlCredentialsProviderと入力します。これにより、認証方法として MFA での Okta シングルサインオンを使用するようドライバーに指定します。

ODBC
Okta への認証用に ODBC を設定するには
  • Okta シングルサインオンを使用して ODBC 経由でクラスターに接続するようにデータベースクライアントを構成します。

    Amazon Redshift には Linux、Windows、macOS オペレーティングシステム用の ODBC ドライバが用意されています。ODBC ドライバをインストールする前に、SQL クライアントツールが 32 ビットであるか 64 ビットであるかを調べます。SQL クライアントツールの要件と一致する ODBC ドライバをインストールします。

    Windows の場合、Amazon Redshift ODBC ドライバ DSN セットアップ ページの [接続設定] で、次の情報を入力します。

    • [データソース名] には、your-DSN と入力します。ODBC プロファイル名として使用するデータソース名を指定します。

    • Auth type で、以下のいずれかを実行します。

      • Okta シングルサインオン設定の場合は、Identity Provider: Okta を選択します。これは、ODBC ドライバーが ODBC シングルサインオンを使用した認証に使用する認証方法です。

      • MFA 設定を使用した Okta シングルサインオンの場合は、Identity Provider: Browser SAML を選択します。これは、ODBC ドライバーが MFA での Okta シングルサインオンを使用した認証に使用する認証方法です。

    • クラスター ID には、your-cluster-identifier と入力します。

    • [リージョン] には、your-cluster-region と入力します。

    • [データベース] には、your-database-name と入力します。

    • [ユーザー] には、your-okta-username と入力します。これは、使用認証しようとしているクラスターに対するアクセス許可を持つ、シングルサインオンに使用しているマイクロソフトの Okta アカウントのユーザー名です。[Auth type] が Identity Provider: Okta である場合にのみ使用します。

    • [パスワード] には、your-okta-password と入力します。[Auth type] が Identity Provider: Okta である場合にのみ使用します。

    macOS と Linux では、次のように odbc.ini ファイルを編集します。

    注記

    すべてのエントリでは、大文字と小文字は区別されません。

    • [clusterid] には、your-cluster-identifier と入力します。これは、作成された Amazon Redshift クラスターの名前です。

    • [リージョン] には、your-cluster-region と入力します。これは、作成された Amazon Redshift クラスターの AWS リージョンです。

    • [データベース] には、your-database-name と入力します。これは、Amazon Redshift クラスター上でアクセスしようとしているデータベースの名前です。

    • [ロケール] には、en-us と入力します。これは、エラーメッセージが表示される言語です。

    • [iam] には、1 と入力します。この値は、IAM 認証情報を使用して認証するためにドライバに指定します。

    • plugin_name には、次のいずれかの操作を行います。

      • MFA 設定を使用した Okta シングルサインオンの場合は、BrowserSAML と入力します。これは、ODBC ドライバーが MFA での Azure シングルサインオンを使用した認証に使用する認証方法です。

      • Okta シングルサインオン設定の場合は、Okta と入力します。これは、ODBC ドライバーが ODBC シングルサインオンを使用した認証に使用する認証方法です。

    • [uid] には、your-okta-username と入力します。これは、認証しようとしているクラスターに対するアクセス許可を持つ、シングルサインオンに使用している Okta アカウントのユーザー名です。これは、[plugin_name] が Oktaである場合にのみ使用します。

    • [pwd] には、your-okta-password と入力します。これは、[plugin_name] が Oktaである場合にのみ使用します。

    • [login_url] には、your-login-url と入力します。これは、SAML 応答を返すシングルサインオンの開始 URL です。これは、ブラウザの SAML プラグインにのみ適用されます。

    • [idp_response_timeout] には、the-number-of-seconds と入力します。これは、PingOne からの応答を待機する秒単位の指定された時間です。これは、ブラウザの SAML プラグインにのみ適用されます。

    • [listen_port] には、your-listen-portと入力します。これは、ローカルサーバーがリッスンしているポートです。デフォルト値は 7890 です。これは、ブラウザの SAML プラグインにのみ適用されます。

    macOS および Linux では、プロファイル設定を編集して、次のエクスポートも追加できます。

    export ODBCINI=/opt/amazon/redshift/Setup/odbc.ini
    export ODBCINSTINI=/opt/amazon/redshift/Setup/odbcinst.ini