汎用データベース用のOn-prem Connector

早期アクセスリリース

汎用データベース用のOn-prem Connectorは、オンプレミスデータベースをOkta Identity Governanceプラットフォームに接続するために、すぐに使用できるソリューションを提供します。このコネクターは、Okta Okta On-prem SCIMエージェントを使用して、さまざまなデータベースシステム内のユーザーとエンタイトルメントを管理します。これにより、カスタム統合の必要がなくなるため、セキュリティが強化され、ガバナンスが簡略化されます。

Oktaと統合することで、アクセスリクエスト、アクセス認定、ユーザーのプロビジョニングとプロビジョニング解除、オンプレミスデータベース環境の職務分離(SoD)など、中核となるIDガバナンス機能が可能になります。

このコネクターでは、Oracle、MySQL、PostgreSQL、IBM Db2 LUW、Microsoft SQL Serverの関連データベース管理システムのプロビジョニングとエンタイトルメント管理がサポートされます。

システム要件

On-prem Connector for Generic Databasesをインストールするには、システムがハードウェアとソフトウェアの要件を満たしていることを確認してください。「On-premises Connector - Generic Databasesのシステム要件」を参照してください。

プロビジョニングおよびエンタイトルメント機能

このコネクターは、次の機能をサポートします。

  • ユーザーの作成:ユーザーがOktaのアプリに割り当てられると、オンプレミスデータベースにユーザーを自動的に作成します。
  • ユーザーの更新:Oktaのユーザープロファイルに加えられた変更をデータベースに同期します。
  • ユーザーのプロビジョニング/プロビジョニング解除:データベース内のユーザーアカウントのアクティブ状態または非アクティブ状態を管理します。
  • エンタイトルメントの管理:Oktaを介してデータベースからユーザーエンタイトルメントの割り当て、または削除を行います。
  • ユーザーとエンタイトルメントのインポート:ユーザーとエンタイトルメントのデータを、データベースからOktaに手動によるスケジュール済みのインポートを行います。

開始する前の確認事項

  • On-prem Connectorでデータベースアカウントを使用するために以下の情報を収集します。
    • データベースアカウントのユーザー名
    • データベースアカウントのパスワード
    • データベースのタイプ
    • IP/ドメイン名
    • ポート番号
    • データベースの名前

JDKおよびJDBCパッケージをダウンロードする

  • 信頼できるソースからJDKバージョン21をダウンロードし、Linuxサーバーにアップロードします。
  • 必要なJDBCドライバー(Oracle OJDBCなど)をダウンロードし、Linuxサーバーにアップロードします。

データベースコネクター機能を有効にする

  1. Admin Console で設定(Settings) > 機能(Features)に移動します。
  2. 早期アクセス(Early access)セクションで、次のオプションを有効にします。
    1. 汎用データベース用のOn-prem Connector
    2. SCIM 2.0対応OPPエージェント
    3. Okta On-Prem SCIMエージェントを有効にする

汎用データベース用のOn-prem Connectorを構成する

必要なコンポーネントをインストールして構成したら、Admin Consoleでアプリを構成できます。

  1. Admin Consoleで、Applications > アプリケーション(Applications) に移動します。

  2. アプリカタログを参照(Browse App Catalog)をクリックします。
  3. On-prem Connector for Generic Databasesを検索して選択し、統合を追加(Add Integration)をクリックします。
  4. 一般設定を構成し、次へ(Next)をクリックします。
  5. サインオンオプションを構成し、完了(Done)をクリックします。
  6. 一般(General)タブに進み、エンタイトルメント管理(Entitlement management)セクションの編集(Edit)をクリックします。
  7. エンタイトルメント管理(Entitlement Management)(Entitlement management)ドロップダウンメニューから、有効(Enabled)を選択します。
  8. 保存(Save)をクリックします。機能が有効になるまで少し時間がかかる場合があります。有効になった後、ページを更新してガバナンス(Governance)タブを表示できます。
  9. プロビジョニング(Provisioning)タブに移動します。プロビジョニングを有効化(Enable provisioning)(Enable provisioning.)をクリックします。
  10. インストールしたOkta On-Prem SCIMエージェントを選択し、次へ(Next)をクリックします。
  11. 次へ(Next)をクリックします。
  12. ユーザー名、パスワード、タイプなど、データベース接続の詳細を入力します。
  13. エージェントを接続(Connect agents)をクリックします。
  14. スキーマとインポート設定を定義します。
  15. プロビジョニングアクションを定義します。
  16. プロビジョニングページでアプリ属性をマッピングします。

スキーマとインポート設定を定義する

  1. プロビジョニング(Provisioning)タブに移動します。
  2. 統合(Integration)で、Oktaセクションを選択します。スキーマ検出およびインポート(Schema discovery & Import)の横にある編集(Edit)をクリックします。
  3. ユーザーの取得(Get Users)で、有効(Enabled)を選択します。
  4. SQLステートメント(SQL Statement)またはストアドプロシージャ(Stored Procedure)を選択します。
  5. クエリまたはプロシージャとユーザーIDを入力します。
  6. すべてのエンタイトルメントを取得(Get All Entitlements)で、有効(Enabled)を選択します。
  7. SQLステートメント(SQL Statement)またはストアドプロシージャ(Stored Procedure)を選択します。
  8. クエリまたはプロシージャ、エンタイトルメントID、エンタイトルメント表示列を入力します。
  9. 任意。各ユーザーに一度に1つのエンタイトルメントのみを割り当るように強制する場合は、ユーザーごとにシングルエンタイトルメントを有効にする(Enable Single Entitlements per User)を選択します。
  10. 保存(Save)をクリックします。

増分インポート設定を定義する

  1. プロビジョニング(Provisioning)タブに移動します。
  2. 統合(Integration)で、データベース操作(Database Operations)セクションを選択し、スキーマ検出およびインポート(Schema Discovery & Import)の横にある編集(Edit)をクリックします。
  3. ユーザーの取得(Get Users)を有効にします。
  4. SQLステートメント(SQL Statement)またはストアドプロシージャ(Stored Procedure)を選択します。
  5. クエリを入力し、ユーザーIDの列名を指定します。
  6. 任意。アカウントステータス属性(Account Status Attribute)ボックスに、データベース内のユーザーのステータス列の名前を入力し、アクティブなステータスに対応する値を入力します。この手順をスキップした場合、Oktaは増分インポートを介してインポートしたすべてのユーザーをアクティブユーザーとして扱います。
  7. 増分インポート(Incremental Import)を有効にします。
  8. SQLステートメント(SQL Statement)またはストアドプロシージャ(Stored Procedure)を選択します。
  9. 前回のインポートの成功後に変更されたユーザーをフィルターするには、クエリを入力し、疑問符(?)を最後のインポート時刻のプレースホルダーとして使用します。
  10. プレースホルダーのデータベースフィールド(Database Field)ボックスに、データベースのタイムスタンプ列の名前を入力します。
  11. タイムスタンプ列(Timestamp Column)ボックスに、同じタイムスタンプ列名を入力します。
  12. 保存(Save)をクリックします。

データベース要件

  • データベーステーブルは、ソフト削除をサポートする必要があります。増分インポートはこの履歴に依存してどのレコードが変更されたかを検出するため、行を削除済みとしてマークせずに恒久的に削除すると、増分インポートはその履歴を追跡できなくなります。
  • 各テーブルには、行が書き込まれるか変更されるたびに現在の時刻に自動的に更新される、タイムスタンプ列を含める必要があります。増分インポートは、このタイムスタンプを使用して、最後のインポート以降に変更されたレコードを識別します。
  • ユーザーとエンタイトルメントデータが別々のテーブルに存在する場合、データベースはエンタイトルメントの構成が変更されるたびに、ユーザーテーブルのタイムスタンプを明示的に更新する必要があります。増分インポートでは、ユーザーテーブルのタイムスタンプに反映されていない限り、エンタイトルメントのみの変更を検出できません。
  • getUserクエリで取得する列は、増分インポートを構成した後の列と一致する必要があります。増分インポートを構成した後で取得された列を変更しないでください。変更すると、データが失われる可能性があります。
  • アクティブステータス属性とその値を指定しない場合、データベースでユーザーのステータスが非アクティブであっても、Oktaはユーザーを非アクティブ化しません。

プロビジョニングアクションを定義する

  1. アプリへ(To App)セクションに移動し、編集(Edit)をクリックします。
  2. 必要なプロビジョニングオプションを有効にします。例:ユーザーの作成、ユーザーの更新、ユーザーの非アクティブ化。
  3. 各操作に必要なSQLステートメントまたはストアドプロシージャを提供します(例:INSERT、UPDATE、DELETE)。
  4. SQLステートメントまたはストアド手順のパラメーターをOktaの適切なユーザー属性にマッピングします。
  5. 保存(Save)をクリックします。