ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Application Development Frameworkデスクトップ統合開発者ガイド
11gリリース1(11.1.1.6.0)
B66694-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

11 統合Excelワークブックの安全確保

この章では、認証済セッションで認証と認可の機能を提供することにより、統合ExcelワークブックをFusion Webアプリケーションとともに安全確保する方法について説明します。この章では、認証されたセッションと認証されていないセッションにおける統合Excelワークブックへのアクセス方法を説明し、統合Excelワークブックの安全確保に関係する問題を明らかにします。

この章の内容は次のとおりです。

11.1 統合Excelワークブックの安全確保の概要

認証が必須でないFusion Webアプリケーションを使用する場合、統合ExcelワークブックはFusion Webアプリケーションに接続してデータをダウンロードする前に、有効なユーザー・セッションを検証して作成します。確立されたセッションは、統合ExcelワークブックとFusion Webアプリケーション間のデータ転送のたびに使用されます。セッションは、統合Excelワークブックから参照されるWebページでも使用されます。

認証が必須のFusion Webアプリケーションでは、統合ExcelワークブックはWebアプリケーションとの間でデータを転送する前に有効で認証済のユーザー・セッションが確立されているかどうかを確認します。

認証済および認証されていないFusion Webアプリケーションの両方について、ADFデスクトップ統合はCookieベースのセッションの確立に依存します。認証のメカニズムを持たないため、統合Excelワークブックは完全に安全というわけではありません。したがって、統合ExcelワークブックとともにWebアプリケーションをデプロイする前に、Fusion WebアプリケーションでADFセキュリティを有効化する必要があります。

統合Excelワークブックをデプロイする前に、Fusion WebアプリケーションにADFセキュリティを構成する必要がありますが、これは必須ではありません。ADFセキュリティの詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』の「Fusion WebアプリケーションでのADFセキュリティの有効化」の章を参照してください。

11.2 Excelワークブック・ユーザーの認証

Excelワークブックと安全なFusion Webの統合には、統合ExcelワークブックとFusion Webアプリケーションをホストするサーバー間で確立された認証済のWebセッションが必要です。ADFセキュリティは、ユーザーの認証に使用するメカニズムを決定します。

エンド・ユーザーが有効な認証済セッションなしにExcelワークブックを開く場合、エンド・ユーザーを認証するためにログインのメカニズムが起動されます。

11.2.1 Loginメソッドが起動される際の実行時の処理

loginメソッドが起動された後、統合ExcelワークブックとFusion Webアプリケーションの間に新しいセッションが確立され、Webブラウザのコントロールを含むモーダルのダイアログが表示されます。このWebブラウザ・コントロールには、Fusion Webアプリケーションが使用するログイン・メカニズムが表示されます。たとえば、Fusion WebアプリケーションがHTTP Basic認証を使用する場合、Webブラウザ・コントロールには、図11-1に示すような単純なダイアログが表示されます。

図11-1 Fusion WebアプリケーションがBasic認証を使用する際に表示されるダイアログ

Basic認証のダイアログ・ボックス

エンド・ユーザーがユーザーの資格証明を入力し、これらが有効である場合、認証セッションが作成され、クライアント(ExcelワークブックがホストするWebブラウザ・コントロール)に割り当てられます。


注意:

セッションがすでに確立されているときにLoginメソッドが起動されると、そのセッションを解放するためにまず内部でLogoutアクションが起動されます。

11.2.2 Logoutメソッドが起動される際の実行時の処理

logoutメソッドが起動された後、ダイアログが表示されて、現在のセッションからログアウトしたことがユーザーに通知されます。ワークブックを閉じたり、Excelリボンの実行カスタム・タブから「全データのクリア」オプションが選択されると、ユーザーは自動的にログアウトします。

図11-2 ユーザーがログアウトすると表示されるダイアログ

ログアウトの確認ダイアログ・ボックス

ログアウトした後、データをアップロードまたはダウンロードするにはユーザーはもう一度ログインする必要があります。

同じ資格証明を持つ2つ以上のワークブックが開いている場合(テスト・モードまたは実行時モード)、1つのワークブックを閉じてもログアウトのメカニズムは起動しません。ユーザーはログインしたままになり、残りの開いたワークブックで作業をすることができ、資格証明をもう一度求められずに閉じられたワークブックを開くことができます。同じ資格証明を要求するすべてのワークブックが閉じられると、ユーザーはログアウトします。

11.3 統合Excelワークブックのメタデータの整合性チェック

ADFデスクトップ統合には、ExcelワークブックとFusion Webアプリケーションの統合に使用するメタデータが、エンド・ユーザー用にExcelワークブックを公開した後に不正に変更されていないか検証するメカニズムがあります。これは、ハッシュ・コードの値を生成して、値をADFデスクトップ統合のクライアント・レジストリ・ファイル(adfdi-client-registry.xml)に挿入します。このファイルは14.3項「統合Excelワークブックの公開」にあるように、統合Excelワークブックを公開するときに作成されます。ADFデスクトップ統合は、adfdi-client-registry.xmlファイルをFusion WebアプリケーションのWEB-INFディレクトリに格納します。

統合Excelワークブックを再度公開する場合、ADFデスクトップ統合は新しいハッシュ・コードの値を生成して、adfdi-client-registry.xmlファイルの値を置換します。存在しない場合、ADFデスクトップ統合はadfdi-client-registry.xmlファイルを作成します。

ApplicationHomeFolderWebPagesFolderワークブック・プロパティを使用して、統合ExcelワークブックはFusion WebアプリケーションのWEB-INFディレクトリの場所を識別できます。統合Excelワークブックを公開してADFデスクトップ統合がハッシュ・コードの値を生成するには、これらのプロパティに有効な値を設定する必要があります。

ADFデスクトップ統合は、ワークブックのメタデータにあるほとんどの要素とWorkbookIDワークブック・プロパティの値を使用して、ハッシュ・コードの値を生成します。WorkbookIDワークブック・プロパティは読取り専用で、統合Excelワークブックを一意に識別します。既存の統合Excelワークブックをコピーして新しい統合Excelワークブックを作成する場合、WorkbookIDワークブック・プロパティをリセットする必要があります。WebAppRootプロパティの値は実行時に変わることが予測されるため、ADFデスクトップ統合はハッシュ・コードの計算からこれを除外します。

この項のワークブック・プロパティの詳細は、表A-18を参照してください。

11.3.1 ワークブックIDのリセット方法

WorkbookIDワークブック・プロパティの値は、それぞれのワークブックに固有であり、開発者による変更はできません。ただし、WorkbookIDワークブック・プロパティはリセットできます。既存の統合Excelワークブックをコピーして新しい統合Excelワークブックを作成する場合、これを行う必要があります。

ワークブックIDをリセットする手順:

  1. 統合Excelワークブックを開きます。

  2. 「Oracle ADF」タブの「ワークブック・プロパティ」をクリックします。

  3. 「ワークブック・プロパティの編集」ダイアログで、WorkbookIDのリセットリンクをクリックします。

  4. 「はい」をクリックして確認し、表示されるダイアログでWorkbookIDワークブック・プロパティをリセットします。

  5. 「OK」をクリックします。

11.3.2 Fusion Webアプリケーションでのメタデータ改ざんチェックを無効にする方法

デフォルトではADFデスクトップ統合は、ExcelワークブックとFusion Webアプリケーションの統合に使用するメタデータが、エンド・ユーザー用にExcelワークブックを公開した後に不正に変更されていないか検証します。Fusion Webアプリケーションのデプロイメント・ディスクリプタ・ファイル(web.xml)のパラメータを構成すれば、メタデータの改ざんチェックを無効化できますが、これはお薦めしません。

Fusion Webアプリケーションでメタデータの改ざんチェックを無効化する手順:

  1. Fusion Webアプリケーションを停止します。

  2. Fusion Webアプリケーションのweb.xmlファイルを開きます。

  3. 表11-1に示すように、adfdiRemoteサーブレットに初期化パラメータを追加して、メタデータの改ざんチェックを無効化します。

    表11-1 メタデータ改ざんチェックの無効化

    プロパティ

    Name

    次の初期化パラメータ名を入力します。

    TamperingCheck.Enabled

    Value

    TamperingCheck.Enabledの値をFalseに設定します。


    図11-3はJDeveloperのweb.xmlエディタを示します。

    図11-3 JDeveloperでのメタデータ改ざんチェックの無効化

    JDevでメタデータ改ざんチェックを無効化する方法を示します。
  4. web.xmlファイルを保存します。

    Fusion Webアプリケーションのweb.xmlファイルには次のエントリがあります。

    <servlet>
            <servlet-name>adfdiRemote</servlet-name>
            <servlet-class>...</servlet-class>
            <init-param>
                <param-name>TamperingCheck.Enabled</param-name>
                <param-value>False</param-value>
            </init-param>
    </servlet>
    
  5. Fusion Webアプリケーションをリビルドして再起動します。

web.xmlファイルの詳細は、付録E「Webアプリケーション・デプロイメント・ディスクリプタのADFデスクトップ統合設定」を参照してください。

11.3.3 ADFデスクトップ統合クライアント・レジストリで不足したエントリを許可する方法

adfdi-client-registry.xmlファイルでエントリが不足しているWorkbookIDワークブック・プロパティを許可するように、メタデータの改ざんチェックを構成できます。これを行うには、Fusion Webアプリケーションのデプロイメント・ディスクリプタ・ファイル(web.xml)のパラメータを構成します。ただし、これはお薦めしません。

エントリが不足しているFusion Webアプリケーションのメタデータを許可する手順:

  1. Fusion Webアプリケーションを停止します。

  2. Fusion Webアプリケーションのweb.xmlファイルを開きます。

  3. 表11-2に示すように、adfdiRemoteサーブレットに初期化パラメータを追加して、エントリが不足しているメタデータを許可します。

    表11-2 エントリが不足するメタデータの許可

    プロパティ

    Name

    次の初期化パラメータ名を入力します。

    TamperingCheck.AllowMissingEntries

    Value

    TamperingCheck.AllowMissingEntriesの値をTrueに設定します。


    図11-4はJDeveloperのweb.xmlエディタを示します。

    図11-4 JDeveloperにおけるエントリが不足しているメタデータの許可

    JDevでエントリが不足しているメタデータを許可する方法を示します。
  4. web.xmlファイルを保存します。

    Fusion Webアプリケーションのweb.xmlファイルには次のエントリがあります。

    <servlet>
            <servlet-name>adfdiRemote</servlet-name>
            <servlet-class>...</servlet-class>
            <init-param>
                <param-name>TamperingCheck.AllowMissingEntries</param-name>
                <param-value>True</param-value>
            </init-param>
    </servlet>
    
  5. Fusion Webアプリケーションをリビルドして再起動します。

web.xmlファイルの詳細は、付録E「Webアプリケーション・デプロイメント・ディスクリプタのADFデスクトップ統合設定」を参照してください。

11.3.4 メタデータ改ざんチェックを実行する際の実行時の処理

実行時に、統合Excelワークブックはメタデータのハッシュ・コードを再生成し、初回のサーバー・リクエストによってそれをFusion Webアプリケーションに提供します。Fusion Webアプリケーションがこのハッシュ・コードに一致するものを取得できない場合、統合Excelワークブックにエラーが返されます。改ざんチェック・プロセスからエラーを受信すると、ただちに統合Excelワークブックはこの失敗をエンド・ユーザーに報告して、統合フレームワークを閉じます。

11.4 統合Excelワークブックの安全確保に関する留意事項

Fusion Webアプリケーションによる統合Excelワークブックの安全確保について、次の点に注意してください。