Oracle FormsとIAM Cloud Serviceの統合

Oracle Formsでは、Oracle Identity and Access Management (IAM) Cloud Serviceを使用した、Formsアプリケーションのアイデンティティ管理、シングル・サインオン(SSO)およびアイデンティティ・ガバナンスの提供がサポートされています。

IAMの機能を利用するには、Java Web StartまたはFormsスタンドアロン・ランチャを使用してOracle Formsアプリケーションを起動する必要があります。Microsoft Internet ExplorerまたはEdge (IEモード)での埋込みアプレット構成を使用したアプリケーションの起動はサポートされていません。

IAMでOracle Formsを構成するには、次のタスクを実行する必要があります。

  • IAMサーバーでのアプリケーションの作成
  • アプリケーション・ゲートウェイの作成
  • dockerを使用したアプリケーション・ゲートウェイ・クライアントの設定
  • Oracle FormsアプリケーションでのSSOの有効化

これらの手順では、IAMアプリケーション・ゲートウェイがLinuxオペレーティング・システム上で構成されていることを前提としています。

詳細は、IAMのドキュメントを参照してください。

始める前に

開始する前に、必要な権限および証明書があることを確認します。

次が必要になります。

  • IAMサービス環境の管理権限
  • 中間層またはアプリケーション・ゲートウェイが構成される目的の代替サーバーでIAMアプリケーション・ゲートウェイをダウンロードおよび構成する権限
  • 中間層ソフトウェア(この場合はOracle Forms)へのアクセスおよび管理変更を行う権限
  • アプリケーション・ゲートウェイ・クライアントまたはForms中間層(あるいはその両方)を実行するホストに関連付けられた現在のSSL/TLS証明書(信頼性のあるCAからのもの)。(推奨ですが必須ではありません)

Oracle FormsでのIAM統合の有効化

IAMアプリケーション・ゲートウェイが構成されたら、これを使用するようにFormsを構成します。

FormsでIAMを有効にするには:
  1. Fusion Middleware Controlを使用して、「Forms Web構成」設定ページにアクセスします。
  2. 左上のメニューから、「Forms」ノードを展開し、変更するFormsインスタンス(forms1など)をクリックします。
  3. 「Web構成」をクリックして、管理画面にアクセスします。
  4. 右上の南京錠アイコンをクリックし、「ロックして編集」を選択します。
  5. 上の表で、IAMで使用する目的のセクション名を選択します。すべてを有効にする場合は、defaultを選択します。
  6. 下部の表までスクロールし、「表示」というラベルのポップリストを展開し、リストからssoを選択します。
  7. ssoModeの値をTRUEに設定します。
  8. Java Web Startを使用してアプリケーションを起動する場合は、パラメータ表の最上部にある「追加」をクリックし、パラメータwebstart_codebaseを追加します。

    値はFormsコードベースを指すURLですが、IAMホストおよびポートを使用します。次に例を示します。

    https://<IAM AppGateway host>:<port>/forms/java

  9. 現在の表の上にある「適用」をクリックします。
  10. 右上の南京錠アイコンをクリックし、「変更のアクティブ化」を選択します。
  11. Formsアプリケーションを実行するには、次の形式を使用します。
    https://<IAM AppGateway host>:<port>/forms/frmservlet?config=<Forms config name>
  12. JWS設定を有効にして、ダウンロードしたjnlpファイルが起動後に自動的に削除されるようにするには、次のステップを実行します。Java Web Start jnlpファイルは再利用できないため、使用後に保存する理由はありません。
    これにより、重複ファイルを作成せず、セキュリティが強化されることで、ユーザーのエクスペリエンスを向上させることができます。

    ノート:

    アップグレードされたドメインの場合は、次のステップをお薦めします。新規インストールおよび新規ドメインの場合、これはデフォルトで構成されます。
    1. Fusion Middleware Controlで、このIAM構成に関連付けられたFormsインスタンス(forms1など)に移動します。
    2. 「Forms」ドロップダウン・リストから、「拡張構成」を選択します。
    3. 「編集セッションのアクティブ化」スイッチ(右上の南京錠)から、「ロックして編集」を選択します。
    4. 「カテゴリの選択」から、「クライアント・テンプレート」を選択します。
    5. 「ファイルの選択」から、次のいずれかを選択します。
      • WebUtil対応のアプリケーションを使用している場合は、base.jnlpまたはwebutil.jnlp
      • 独自のカスタムjnlpテンプレートが作成され、使用中の場合は、そのjnlpテンプレート
    6. テンプレートの<resources>セクションに、次の内容をこの表示のとおりに追加します。
      <property name="jnlp.delete.jnlp.file" value="true"/>
  13. 「適用」をクリックして変更を保存します。
  14. 「編集セッションのアクティブ化」スイッチ(右上の南京錠)を使用して、「変更のアクティブ化」を選択します。

ノートおよび制限事項

Oracle FormsでIAMを使用する際には、次のノートを確認します。

  • Microsoft Internet ExplorerまたはIEモードでのMicrosoft Edgeの使用は、この構成ではサポートされていません。
  • この構成に使用されるOracle Cloudテナンシは、前身であるIdentity Cloud Service (IDCS)ではなく、Identity and Access Management (IAM)を提供する必要があります。テナンシでアイデンティティ・ドメインの作成が必要な場合、IAMを使用しています。
  • このドキュメントで説明するように、自己生成SSL/TLS証明書を使用すると、アプリケーションの起動時に様々な警告が発生します。したがって、証明書は既知の信頼できる認証局から取得することをお薦めします。
  • 提供されているFusion Middleware SSL/TLSのデモ用/サンプル用証明書の使用は、この構成ではサポートされていません。
  • Formsスタンドアロン・ランチャ(FSAL)を使用してアプリケーションを起動する場合、自己生成SSL/TLS証明書を使用できない場合があります。前述のように、既知の信頼できるCAによって提供される証明書を使用する必要があります。

トラブルシューティング

実装で問題が発生した場合は、Oracleサポートに連絡する前に、次に示す問題および原因を確認してください。

問題が発生した時期 問題/エラー 考えられる原因 修正処理
設定 PATCHペイロードが無効です。"op"属性または"Operations"属性は、nullまたは空にできません。
  • 「編集」パネルの「保存」ボタンが押されましたが、変更は行われませんでした。
  • 前回の変更を保存せずにリソースまたはポリシーを追加しようとしました。
  • 変更が入力されていない場合は、「保存」ではなく「取消」リンクを使用します。
  • 現在の変更を取り消し、前の変更を保存します。新しい変更の追加を再試行します。
Runtime HTTP-502 (不正なゲートウェイ)
  • Forms管理対象サーバーが実行されていません。
  • WLS管理対象サーバーには、アプリケーション・ゲートウェイ・クライアントからアクセスできません。
  • 管理対象サーバーが実行されていることを確認します。
  • ファイアウォール(OSおよび/または外部)で、アプリケーション・ゲートウェイ・クライアントと中間層サーバー、およびIAM Cloud Serviceとアプリケーション・ゲートウェイ・クライアント間の通信が許可されていることを確認します。(例: ポート)。
  • オリジン・サーバーの設定が正しいことを確認します。
Runtime HTTP-504 (ゲートウェイ・タイムアウト) オリジン・サーバー(Forms中間層)にアクセスできません。
  • オリジン・サーバーの設定が正しいことを確認します。
  • 管理対象サーバーが実行されていることを確認します。
  • 管理対象サーバーのポートがファイアウォールを介してアクセス可能であることを確認します。
Runtime
  • サブジェクト代替名は存在しません。

    または

  • FRM-92575: SSL/TLSホスト名検証が失敗しました。
  • 自己生成SSL証明書または正しくフォーマットされていない証明書を使用しています。
  • サーバー名(アプリケーション・ゲートウェイ・クライアント・マシン)とSSL証明書で使用されているサーバー名が一致しません。
  • 信頼できる認証局(CA)から証明書を取得します。
  • 証明書リクエストで使用されるサーバー名が、IAMアプリケーション・ゲートウェイが実行されている(URLでの)サーバー名と一致していることを確認します。
Runtime FRM-93261: JNLPファイルが予期しないIPアドレスから起動されました
  • ダウンロードしたjnlpファイルをコピーしようとし(Java Webstartを使用するように構成されている場合)、ファイルを別のマシンに移動しました。
  • 管理者がjnlpMatchIP設定を有効にしました(TRUEに設定)。
  • ダウンロードしたjnlpファイルを別のマシンにコピー/移動しないでください。これはサポートされていません。
  • Forms Web構成パラメータjnlpMatchIPを無効化(FALSEに設定)します。
Runtime Java Web Startで実行しようとしたときにextensions.jnlpをダウンロードできないことを示すJavaエラー。 アプリケーション・ゲートウェイ・クライアントが中間層の同じホストで実行されていません。
  • extensions.jnlpがサーバー上に存在し、そのファイル権限がアクセスに適していることを確認します。
  • Webブラウザからファイルをダウンロードできることを確認します。アプリケーション・ゲートウェイ・クライアントで使用されるものと同じプロトコル、IAMサーバー・ホスト名およびポートを使用します。
  • Forms Web構成パラメータwebstart_codebaseを設定します。この値は、アプリケーション・ゲートウェイ・クライアントで使用されるものと同じプロトコル、IAMサーバーおよびポートを反映する必要があります。