

 Amazon Redshift は、パッチ 198 以降、新しい Python UDF の作成をサポートしなくなります。既存の Python UDF は、2026 年 6 月 30 日まで引き続き機能します。詳細については、[ブログ記事](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)を参照してください。

# Okta
<a name="setup-identity-provider-okta"></a>

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

## ステップ 1: Okta と AWS アカウントを相互に信頼するように設定する
<a name="setup-identity-provider-okta-trust"></a>

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

**相互に信頼するように Okta と AWS アカウントを設定するには**

1. Okta ユーザーが接続するための既存の Amazon Redshift クラスターを作成または使用します。接続を設定するには、クラスター識別子など、このクラスターの特定のプロパティが必要です。詳細については、「[クラスターの作成](https://docs.aws.amazon.com/redshift/latest/mgmt/create-cluster.html)」を参照してください。

1. Okta ポータルに新しいアプリケーションとして Amazon Redshift を追加します。詳細な手順については、[Okta のドキュメント](https://developer.okta.com/docs/)を参照してください。
   + **アプリケーションの追加**を選択します。
   + **アプリケーションの追加**で、**新しいアプリの作成**を選択します。
   + **新規追加のアプリケーション統合の作成** ページの **プラットフォーム**で、**ウェブ**を選択します。
   + **サインオンメソッド**で、**SAML v2.0**を選択します。
   + **一般設定** ページで、**アプリ名**に ***your-redshift-saml-sso-name***と入力します。これは、アプリケーションの名前です。
   + **SAML 設定** ページの **シングルサインオンの URL**に ***your-redshift-local-host-url***と入力します。これは、SAML アサーションがリダイレクトするローカルホストとポート (例: `http://localhost:7890/redshift/`) です。

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

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

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

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

1. **属性ステートメント** セクションで、次の表に示すようにクレームを作成します。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/redshift/latest/mgmt/setup-identity-provider-okta.html)

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

1. IAM コンソールで、IAM SAML アイデンティティプロバイダーを作成します。指定したメタデータドキュメントは、Okta の設定時に保存したフェデレーションメタデータ XML ファイルです。詳細な手順については、「IAM ユーザーガイド」**の「[IAM ID プロバイダーを作成および管理する (コンソール)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html#idp-manage-identityprovider-console)」を参照してください。

1. IAM コンソールで、SAML 2.0 フェデレーション用の IAM ロールを作成します。詳細なステップについては、「IAM ユーザーガイド」**の「[SAML 用のロールの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html#idp_saml_Create)」を参照してください。

1. IAM コンソールで SAML 2.0 フェデレーション用に作成した IAM ロールにアタッチできる IAM ポリシーを作成します。詳細な手順については、「IAM ユーザーガイド」**の「[IAM ポリシーの作成 (コンソール)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-start)」を参照してください。Azure AD の例については、「[JDBC または ODBC シングルサインオン認証の設定](setup-azure-ad-identity-provider.md)」を参照してください。

## ステップ 2: Okta への認証用に JDBC または ODBC を設定する
<a name="setup-identity-provider-okta-auth"></a>

------
#### [ JDBC ]

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

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

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

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

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

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

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

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

  1. **接続プロファイルの選択**ページで、次のように接続プロファイルに情報を追加します。
     + **ユーザー**には、Okta ユーザー名を入力します。これは、使用認証しようとしているクラスターに対するアクセス許可を持つ、シングルサインオンに使用している Okta アカウントのユーザー名です。
     + **パスワード**には、Okta パスワードを入力します。
     + **[ドライバ]** では、**[Amazon Redshift (com.amazon.redshift.jdbc.Driver)]** を選択します。
     + **[URL]** には、**jdbc:redshift:iam://*your-cluster-identifier*:*your-cluster-region*/*your-database-name*** と入力します。

  1. **[拡張プロパティ]** を選択し、次のいずれかの操作を行います。
     + **[login\$1url]** には、***your-okta-sso-login-url*** と入力します。この値は、Okta にログインするための認証としてシングルサインオンを使用する URL を指定します。
     + Okta シングルサインオンの場合は、**plugin\$1name** に **com.amazon.redshift.plugin.OktaCredentialsProvider** と入力します。この値は、認証方法として Okta シングルサインオンを使用するドライバーに指定します。
     + MFA を使用した Okta シングルサインオンの場合は、**plugin\$1name**に **com.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\$1name** には、次のいずれかの操作を行います。
    + MFA 設定を使用した Okta シングルサインオンの場合は、**BrowserSAML** と入力します。これは、ODBC ドライバーが MFA での Azure シングルサインオンを使用した認証に使用する認証方法です。
    + Okta シングルサインオン設定の場合は、**Okta** と入力します。これは、ODBC ドライバーが ODBC シングルサインオンを使用した認証に使用する認証方法です。
  + **[uid]** には、***your-okta-username*** と入力します。これは、認証しようとしているクラスターに対するアクセス許可を持つ、シングルサインオンに使用している Okta アカウントのユーザー名です。これは、[**plugin\$1name**] が **Okta**である場合にのみ使用します。
  + **[pwd]** には、***your-okta-password*** と入力します。これは、[**plugin\$1name**] が **Okta**である場合にのみ使用します。
  + **[login\$1url]** には、***your-login-url*** と入力します。これは、SAML 応答を返すシングルサインオンの開始 URL です。これは、ブラウザの SAML プラグインにのみ適用されます。
  + **[idp\$1response\$1timeout]** には、***the-number-of-seconds*** と入力します。これは、PingOne からの応答を待機する秒単位の指定された時間です。これは、ブラウザの SAML プラグインにのみ適用されます。
  + **[listen\$1port]** には、***your-listen-port***と入力します。これは、ローカルサーバーがリッスンしているポートです。デフォルト値は 7890 です。これは、ブラウザの SAML プラグインにのみ適用されます。

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

  ```
  export ODBCINI=/opt/amazon/redshift/Setup/odbc.ini
  ```

  ```
  export ODBCINSTINI=/opt/amazon/redshift/Setup/odbcinst.ini
  ```

------