シングル・サインオンでのFormsアプリケーションの保護

Oracle Formsアプリケーションは、集中構成ファイル($DOMAIN_HOME/config/fmwconfig/servers/WLS_FORMS/applications/formsapp_14.1.2/configにあるformsweb.cfgファイル)を使用して構成されます。formsweb.cfgファイルの管理には、Fusion Middleware Controlを使用することをお薦めします。

ユーザーが個別のFormsアプリケーションまたは複数のFormsアプリケーションのシングル・サインオンを有効化するには、Oracle Forms Services構成ファイルformsweb.cfgに定義されている次のパラメータが必要です。このファイルは、Fusion Middleware Controlを使用して管理することをお薦めします。

表-28 シングル・サインオンの有効化に使用するパラメータ

パラメータ名 有効な値 デフォルト値
ssoMode

true

webgate

false

false
ssoProxyConnect

yes

no

yes
ssoDynamicResourceCreate

true

false

true
ssoErrorUrl URLの文字列  
ssoCancelUrl URLの文字列  

ノート:

これらのパラメータの詳細および可能な値を次に説明します。

formsweb.cfgファイル内のこれらのOracle Formsパラメータは、User Parameterセクションで設定します。これらのパラメータは、サーバーで実行されるすべてのFormsアプリケーションの動作を定義します。これらのパラメータは、Named Configurationで設定することもできます。これらは特定のアプリケーションのみに対して定義されます。Named Configurationセクションで設定したシングル・サインオン・パラメータは、User Parameterセクションで設定した同一のパラメータをオーバーライドします。

アプリケーションのシングル・サインオンを有効にするには:

  1. Fusion Middleware Controlを起動します。
  2. 「Forms」メニューから「Web構成」を選択します。
  3. アプリケーションの構成セクションをリストする行を選択します。
  4. 「セクション」リージョンの「表示」ドロップ・ダウン・リストからssoを選択します。
  5. 「セクション」リージョンで、ssoModeを含む行を選択します。
  6. 「値」フィールドにwebgateまたはTRUEと入力します。
  7. 「適用」をクリックしてformsweb.cfgファイルを更新します。

選択したアプリケーションでシングル・サインオンが有効になります。

アプリケーションのシングル・サインオンを無効にするには:

  1. 「Forms」メニューから「Web構成」を選択します。
  2. アプリケーションの構成セクションをリストする行を選択します。
  3. 「セクション」リージョンの「表示」ドロップ・ダウン・リストからssoを選択します。
  4. 「セクション」リージョンで、ssoModeを含む行を選択します。
  5. 「値」列に、FALSEと入力します。
  6. 「適用」をクリックします。
選択したアプリケーションでシングル・サインオンが無効になります。

ssoMode

ssoModeパラメータを使用すると、Oracle Forms Servicesアプリケーションを認証サーバーに接続できます。シングル・サインオン・パラメータssoModeに設定できる値を次に示します。

  • ssoModeTRUEまたはwebgateに設定すると、アプリケーションがWebゲートをアクセス・クライアントとして使用してOAMサーバーによる認証を要求することを示します。Webゲートは、手動でインストールして構成する必要があります。

  • ssoModeFALSEに設定すると、アプリケーションが認証サーバーによる認証を要求しないことを示します。

デフォルトでは、Oracle Formsアプリケーションは、シングル・サインオン・モードで実行するようには構成されません。ssoModeパラメータは、formsweb.cfgファイル内の次の2つの場所で設定できます。

  • formsweb.cfgのデフォルト・セクションでssoModeに値trueまたはwebgateを設定します。これにより、このOracle Forms Servicesインスタンスによってすべてのアプリケーションがシングル・サインオン・モードで実行できます

  • Oracle Formsアプリケーションの名前を付けた構成でssoModeパラメータを設定します。これにより、この特定のアプリケーションでのみ、シングル・サインオンが有効または無効になります。たとえば:

    [myApp]

    form=myFmx

    ssoMode=true

ssoProxyConnect

ssoProxyConnectパラメータを使用することにより、ユーザーは、Oracle Formsでデータベースへのプロキシ接続を使用するかどうかを制御できます。ssoProxyConnectパラメータは、次の2つの方法で設定できます。

  • formsweb.cfgのデフォルト・セクションでssoProxyConnectに値yesを設定します。これにより、このOracle Forms Servicesインスタンスによってすべてのアプリケーションがシングル・サインオン・モードで実行できます

  • ssoProxyConnectパラメータを実行時のURLで渡します(たとえばhttp://<host>:<port>/?config=myapp&……&ssoProxyConnect=yes)。

ssoDynamicResourceCreate

ssoDynamicResourceCreateパラメータはデフォルトでtrueに設定されます。これにより、ユーザーは(構成した方法に応じて) OPSSでリソース・アクセス記述子(RAD)エントリを作成し、アプリケーションを実行できます(このリソース・エントリが存在しない場合)。

リソースが動的に作成されることによって、管理者がユーザーのRAD情報を事前に作成する必要がなくなるため、管理が簡素化されます。ssoDynamicResourceCreateパラメータは、システム・パラメータとしてformsweb.cfgファイルに設定するか、名前を付けた構成のパラメータとして設定できます。デフォルトでtrueに設定されているため、このパラメータを特定のアプリケーションの名前を付けた構成で使用し、デフォルトとは異なる方法で不足したRADエントリを処理できます。

ssoDynamicResourceCreateパラメータをfalseに設定してアプリケーションでシングル・サインオンを有効にし、ssoErrorURLに値を指定しないでおくと、認証されたユーザーとこのアプリケーションにRADリソースがない場合にOracle Formsにエラー・メッセージが表示されます。

管理者にとって、ユーザーが自分自身のリソースを作成することは望ましくないこともあるため、管理者はこれらのパラメータを使用して、Formsアイデンティティ・ストアのリソース作成を制御できます。デフォルトの動作では、リソースを作成できるHTMLフォームにユーザーをダイレクトしますが、管理者はその設定を変更し、ユーザーをカスタムURLにリダイレクトできます。

Formsアプリケーションの構成セクションで、次のパラメータを設定する必要があります。

[myApp]

form=myFmx

ssoMode=true

ssoDynamicResourceCreate=false

Enterprise Manager Fusion Middleware Controlを使用してこれらのパラメータを設定する方法の詳細は、「パラメータの管理」を参照してください。

ssoErrorURL

管理者はssoErrorURLパラメータを使用して、特定のアプリケーションにユーザーのRADエントリがない場合の処理を行うリダイレクションURLを指定できます。このパラメータは、ssoDynamicResourceCreateパラメータがfalseに設定され、動的リソース作成の動作が無効になっている場合にのみ有効になります。ssoErrorURLパラメータは、デフォルト・セクションで定義できるほか、名前を付けた構成セクションのパラメータとして定義することもできます。URLには、任意のアプリケーション、静的HTMLファイル、RADを作成するカスタム・サーブレット(JSP)アプリケーション(次の例を参照)などを指定できます。

[myApp]
form=myFmx
ssoMode=true
ssoDynamicResourceCreate=false
ssoErrorURL=http://example.com:7779/servlet/handleCustomRADcreation.jsp
…

ssoCancelUrl

ssoCancelURLパラメータは動的RAD作成機能(ssoDynamicResourceCreate= true)とともに使用します。このパラメータでは、ユーザーがHTMLフォーム(要求されたアプリケーションのRADエントリを動的に作成するためのフォーム)で取消しボタンを押した場合にリダイレクトされるURLが定義されます。

Formsからシングル・サインオン情報へのアクセス

Formsアプリケーションで情報を認証するための認証サーバーを扱う場合は、必要に応じてGET_APPLICATION_PROPERTY()ビルトインを使用し、ログイン情報(シングル・サインオンのユーザーID、ユーザー識別名(dn)およびサブスクライバ識別名(サブスクライバdn))を取得できます。

authenticated_username := get_application_property(SSO_USERID);
userDistinguishedName := get_application_property(SSO_USRDN);
subscriberName := get_application_property(SSO_SUBDN);
config := get_application_property(CONFIG).

Formsアプリケーション開発者は、アクセス・クライアントとしてwebgateを使用している場合、OracleAS Single Sign-OnサーバーまたはOracle Access Managerを使用してSSOモードでシングル・サインオンのユーザーID、サブスクライバ識別名(サブスクライバdn)、ユーザー識別名(dn)などのSSO情報を取得できます。

Oracle Platform Security Services (OPSS)をFormsアイデンティティ・ストアとして使用し、SSO_USERDNまたはSSO_SUBDNパラメータがget_application_propertyビルトインに渡される場合、空の文字列が返されます。これらのパラメータが有効なのは、Oracle Internet DirectoryがFormsアイデンティティ・ストアとして実行されている場合のみです。

ノート:

configは非シングル・サインオン・モードでも取得できます。