シングル・サインオンでの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=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
は非シングル・サインオン・モードでも取得できます。