シングル・サインオンでの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セクションで設定した同一のパラメータをオーバーライドします。
アプリケーションのシングル・サインオンを有効にするには:
- Fusion Middleware Controlを起動します。
- 「Forms」メニューから「Web構成」を選択します。
- アプリケーションの構成セクションをリストする行を選択します。
- 「セクション」リージョンの「表示」ドロップ・ダウン・リストからssoを選択します。
- 「セクション」リージョンで、
ssoModeを含む行を選択します。 - 「値」フィールドに
webgateまたはTRUEと入力します。 - 「適用」をクリックして
formsweb.cfgファイルを更新します。
選択したアプリケーションでシングル・サインオンが有効になります。
アプリケーションのシングル・サインオンを無効にするには:
- 「Forms」メニューから「Web構成」を選択します。
- アプリケーションの構成セクションをリストする行を選択します。
- 「セクション」リージョンの「表示」ドロップ・ダウン・リストからssoを選択します。
- 「セクション」リージョンで、
ssoModeを含む行を選択します。 - 「値」列に、
FALSEと入力します。 - 「適用」をクリックします。
ssoMode
ssoModeパラメータを使用すると、Oracle Forms Servicesアプリケーションを認証サーバーに接続できます。シングル・サインオン・パラメータssoModeに設定できる値を次に示します。
-
ssoModeをTRUEまたはwebgateに設定すると、アプリケーションがWebゲートをアクセス・クライアントとして使用してOAMサーバーによる認証を要求することを示します。Webゲートは、手動でインストールして構成する必要があります。 -
ssoModeをFALSEに設定すると、アプリケーションが認証サーバーによる認証を要求しないことを示します。
デフォルトでは、Oracle Formsアプリケーションは、シングル・サインオン・モードで実行するようには構成されません。ssoModeパラメータは、formsweb.cfgファイル内の次の2つの場所で設定できます。
-
formsweb.cfgのデフォルト・セクションでssoModeに値trueまたはwebgateを設定します。これにより、このOracle Forms Servicesインスタンスによってすべてのアプリケーションがシングル・サインオン・モードで実行できます -
Oracle Formsアプリケーションの名前を付けた構成で
ssoModeパラメータを設定します。これにより、この特定のアプリケーションでのみ、シングル・サインオンが有効または無効になります。たとえば:[myApp]form=myFmxssoMode=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は非シングル・サインオン・モードでも取得できます。