Oracle® Fusion Middleware Oracle Application Development Frameworkデスクトップ統合開発者ガイド 11gリリース2(11.1.2.1.0) B66718-01 |
|
前 |
次 |
この章では、認証済セッションで認証と認可の機能を提供することにより、統合ExcelワークブックをFusion Webアプリケーションとともに保護する方法について説明します。この章では、認証済および非認証のセッションでの、統合Excelワークブックへのアクセス方法を説明します。また、使用するExcelワークブックを保護するために、認識しておく必要がある問題について説明します。
必須ではありませんが、統合Excelワークブックをデプロイする前に、Fusion WebアプリケーションにADFセキュリティを構成しておくことをお薦めします。ADFセキュリティの詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』の「Fusion WebアプリケーションでのADFセキュリティの有効化」の章を参照してください。
この章の内容は次のとおりです。
認証が必須でないFusion Webアプリケーションを使用する場合、統合ExcelワークブックはFusion Webアプリケーションに接続してデータをダウンロードする前に、有効なユーザー・セッションを検証して作成します。確立されたセッションは、統合ExcelワークブックとFusion Webアプリケーション間のデータ転送のたびに使用されます。セッションは、統合Excelワークブックから参照されるWebページでも使用されます。
認証が必須のFusion Webアプリケーションでは、統合ExcelワークブックはWebアプリケーションとの間でデータを転送する前に有効で認証済のユーザー・セッションが確立されているかどうかを確認します。
認証済および認証されていないFusion Webアプリケーションの両方について、ADFデスクトップ統合はCookieベースのセッションの確立に依存します。認証のメカニズムを持たないため、 Fusion Webアプリケーションは完全に安全というわけではありません。したがって、統合ExcelワークブックとともにWebアプリケーションをデプロイする前に、Fusion WebアプリケーションでADFセキュリティを有効化することをお薦めします。
ADFセキュリティを使用して構成されたセキュアなFusion Webアプリケーションを使用する場合は、認証に関して統合Excelワークブックを構成する必要はありません。統合Excelワークブックを開いたときに、ワークブックの実行対象であるFusion WebアプリケーションがセキュアなアプリケーションかどうかがADFデスクトップ統合で検出され、自動的に認証が施行されます。
セキュアなFusion Webアプリケーションの統合Excelワークブックを開くと、図11-1のように「ログイン」ダイアログが開き、Fusion Webアプリケーションへの接続を求めるプロンプトが表示されます。この「ログイン」ダイアログは、Fusion Webアプリケーションがセキュアでない場合も表示されます。
「はい」をクリックすると、図11-2の例ように、資格証明の入力を求める別のダイアログが表示されます。
図11-2に示したダイアログは、認証の施行に関するFusion Webアプリケーションの構成方法によって異なります。たとえば、Webアプリケーションでフォームベース認証が使用されている場合は、エンド・ユーザーに対して、ブラウザ・ダイアログ、およびユーザー名とパスワードのフィールドを含むWebページが表示されます。
統合Excelワークブックを保護した後、必要に応じてワークブックの機能をさらに追加できます。使用可能な他の機能へのリンクは次のとおりです。
統合Excelワークブックの検証: Fusion Webアプリケーションおよび統合Excelワークブックに対して、サーバー・サイドおよびクライアント・サイドの検証を構成できます。詳細は、第12章「統合Excelワークブックへの検証の追加」を参照してください。
統合Excelワークブックのテスト: 統合Excelワークブックを公開してデプロイする前に、テストする必要があります。詳細は、第13章「統合Excelワークブックのテスト」を参照してください。
統合Excelワークブックの公開およびデプロイ: 統合Excelワークブックの設計と検証に続く最終ステップは、公開およびデプロイです。詳細は、第14章「統合Excelワークブックのデプロイ」を参照してください。
Excelワークブックと安全なFusion Webの統合には、統合ExcelワークブックとFusion Webアプリケーションをホストするサーバー間で確立された認証済のWebセッションが必要です。ADFセキュリティは、ユーザーの認証に使用するメカニズムを決定します。
エンド・ユーザーが有効な認証済セッションなしにExcelワークブックを開く場合、エンド・ユーザーを認証するためにログインのメカニズムが起動されます。
loginメソッドが起動された後、統合ExcelワークブックとFusion Webアプリケーションの間に新しいセッションが確立され、Webブラウザのコントロールを含むモーダルのダイアログが表示されます。このWebブラウザ・コントロールには、Fusion Webアプリケーションが使用するログイン・メカニズムが表示されます。たとえば、Fusion WebアプリケーションがHTTP Basic認証を使用する場合、Webブラウザ・コントロールには、図11-3に示すような単純なダイアログが表示されます。
エンド・ユーザーがユーザー資格証明を入力し、これらが有効である場合、認証済セッションが作成され、クライアント(ExcelワークブックがホストするWebブラウザ・コントロール)に割り当てられます。
注意: セッションがすでに確立されているときにLogin メソッドが起動されると、そのセッションを解放するためにまず内部でLogout アクションが起動されます。 |
logoutメソッドが起動された後、ダイアログが表示されて、現在のセッションからログアウトしたことがユーザーに通知されます。ワークブックを閉じたり、Excelリボンの実行カスタム・タブから「全データのクリア」オプションが選択されると、ユーザーは自動的にログアウトします。
ログアウトした後、データをアップロードまたはダウンロードするにはユーザーはもう一度ログインする必要があります。
同じ資格証明を持つ2つ以上のワークブックが開いている場合(テスト・モードまたは実行時モード)、1つのワークブックを閉じてもログアウトのメカニズムは起動しません。ユーザーはログインしたままになり、残りの開いたワークブックで作業をすることができ、資格証明をもう一度求められずに閉じられたワークブックを開くことができます。同じ資格証明を要求するすべてのワークブックが閉じられると、ユーザーはログアウトします。
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
ファイルを作成します。
ApplicationHomeFolder
とWebPagesFolder
ワークブック・プロパティを使用して、統合ExcelワークブックはFusion WebアプリケーションのWEB-INF
ディレクトリの場所を識別できます。統合Excelワークブックを公開してADFデスクトップ統合がハッシュ・コードの値を生成するには、これらのプロパティに有効な値を設定する必要があります。
ADFデスクトップ統合は、ワークブックのメタデータにあるほとんどの要素とWorkbookID
ワークブック・プロパティの値を使用して、ハッシュ・コードの値を生成します。WorkbookID
ワークブック・プロパティは読取り専用で、統合Excelワークブックを一意に識別します。既存の統合Excelワークブックをコピーして新しい統合Excelワークブックを作成する場合、WorkbookID
ワークブック・プロパティをリセットする必要があります。WebAppRoot
プロパティの値は実行時に変わることが予測されるため、ADFデスクトップ統合はハッシュ・コードの計算からこれを除外します。
この項のワークブック・プロパティの詳細は、表A-18を参照してください。
WorkbookID
ワークブック・プロパティの値は、それぞれのワークブックに固有であり、開発者による変更はできません。ただし、WorkbookID
ワークブック・プロパティはリセットできます。既存の統合Excelワークブックをコピーして新しい統合Excelワークブックを作成する場合、これを行う必要があります。
始める前に:
統合Excelワークブックのメタデータの整合性を検証する方法を理解しておくと役立ちます。詳細は、11.3項「統合Excelワークブックのメタデータの整合性チェック」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、11.1.2項「セキュアなFusion Webアプリケーションの統合Excelワークブックの追加の機能」を参照してください。
ワークブックIDをリセットするには:
統合Excelワークブックを開きます。
「Oracle ADF」タブの「ワークブック」グループで、「ワークブック・プロパティ」をクリックします。
「ワークブック・プロパティの編集」ダイアログで、WorkbookIDのリセットリンクをクリックします。
表示される確認用ダイアログ(図11-5を参照)で「はい」をクリックし、WorkbookID
ワークブック・プロパティをリセットします。
「OK」をクリックします。
デフォルトではADFデスクトップ統合は、ExcelワークブックとFusion Webアプリケーションの統合に使用するメタデータが、エンド・ユーザー用にExcelワークブックを公開した後に不正に変更されていないか検証します。Fusion Webアプリケーションのデプロイメント・ディスクリプタ・ファイル(web.xml
)のパラメータを構成すれば、メタデータの改ざんチェックを無効化できますが、これはお薦めしません。
始める前に:
統合Excelワークブックのメタデータの整合性を検証する方法を理解しておくと役立ちます。詳細は、11.3項「統合Excelワークブックのメタデータの整合性チェック」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、11.1.2項「セキュアなFusion Webアプリケーションの統合Excelワークブックの追加の機能」を参照してください。
Fusion Webアプリケーションでメタデータの改ざんチェックを無効化するには:
Fusion Webアプリケーションを停止します。
Fusion Webアプリケーションのweb.xml
ファイルを開きます。
表11-1に示すように、adfdiRemote
サーブレットに初期化パラメータを追加して、メタデータの改ざんチェックを無効化します。
表11-1 メタデータ改ざんチェックの無効化
プロパティ | 値 |
---|---|
|
次の初期化パラメータ名を入力します。
|
|
|
図11-6にJDeveloperのweb.xml
エディタを示します。
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>
Fusion Webアプリケーションをリビルドして再起動します。
web.xml
ファイルの詳細は、付録E「Webアプリケーション・デプロイメント・ディスクリプタのADFデスクトップ統合設定」を参照してください。
adfdi-client-registry.xml
ファイルでエントリが不足しているWorkbookID
ワークブック・プロパティを許可するように、メタデータの改ざんチェックを構成できます。これを行うには、Fusion Webアプリケーションのデプロイメント・ディスクリプタ・ファイル(web.xml
)のパラメータを構成します。ただし、これはお薦めしません。
始める前に:
統合Excelワークブックのメタデータの整合性を検証する方法を理解しておくと役立ちます。詳細は、11.3項「統合Excelワークブックのメタデータの整合性チェック」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、11.1.2項「セキュアなFusion Webアプリケーションの統合Excelワークブックの追加の機能」を参照してください。
エントリが不足しているFusion Webアプリケーションのメタデータを許可するには:
Fusion Webアプリケーションを停止します。
Fusion Webアプリケーションのweb.xml
ファイルを開きます。
表11-2に示すように、adfdiRemote
サーブレットに初期化パラメータを追加して、エントリが不足しているメタデータを許可します。
表11-2 エントリが不足するメタデータの許可
プロパティ | 値 |
---|---|
|
次の初期化パラメータ名を入力します。
|
|
|
図11-7にJDeveloperのweb.xml
エディタを示します。
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>
Fusion Webアプリケーションをリビルドして再起動します。
web.xml
ファイルの詳細は、付録E「Webアプリケーション・デプロイメント・ディスクリプタのADFデスクトップ統合設定」を参照してください。
Fusion Webアプリケーションによる統合Excelワークブックの保護について、次の点に注意してください。
データ・セキュリティ
Fusion Webアプリケーションからダウンロードしたデータを含むExcelワークブックを、他のユーザーがそのExcelワークブックにアクセスできるネットワーク・ディレクトリなどの場所に保存する場合、他のユーザーはExcelワークブックに保存されているデータにアクセスできます。
Microsoft Excelのセキュリティ
ワークブックにパスワードを設定するExcelの機能を使用して、統合Excelワークブックのセキュリティを強化できます。これにより、許可されていないユーザーは、ワークブックを開いたり変更することができなくなります。Excelのセキュリティ機能の詳細は、Excelのドキュメントを参照してください。
15.2項「セッション間のサーバー・データ・コンテキストのリストア」の説明に従って、データをキャッシュするように統合Excelワークブックを構成できます。統合Excelワークブックに機密データをキャッシュしないように注意してください。
Fusion Webアプリケーションがhttps
プロトコル上で実行されていて、クライアントにセキュリティ証明書をインストールしていない場合、統合Excelワークブックではログイン時にエラーが発生し、接続は確立されません。接続を確立するには、セキュリティ証明書をインストールする必要があります。
Oracle Access Managerを使用する環境でアプリケーションを実行するには、システム管理者はADFデスクトップ統合のリモート・サーブレットのURLが、Oracle Access Managerの保護済リソースとして構成されていることを確認する必要があります。詳細は、『Oracle Access Managerアクセス・システム管理ガイド』を参照してください。
WebGate 11gを使用する環境でアプリケーションを実行するには、ユーザー定義のパラメータfilterOAMAuthnCookie
をFalse
に設定します。詳細は、『Oracle Access Managerアクセス・システム管理ガイド』の「パートナ(エージェントおよびアプリケーション)のリモート登録」の章を参照してください。
システム管理者は、ADFデスクトップ統合を使用するアプリケーションで、web.xml
にADFデスクトップ統合のリモート・サーブレットを保護するセキュリティの制約が構成されていることを確認する必要があります。
web.xml
からの次のコードは、リモート・サーブレットを保護するセキュリティの制約を示します。
<security-constraint> <web-resource-collection> <web-resource-name>adfdiRemote</web-resource-name> <url-pattern>/adfdiRemoteServlet</url-pattern> </web-resource-collection> <auth-constraint> <role-name>valid-users</role-name> </auth-constraint> </security-constraint>
Microsoft Internet Explorerを使用して統合Excelワークブックをダウンロードするエンド・ユーザーの場合、Excelアプリケーションが参照可能になる前に、予期しない資格証明を求めるプロンプトが表示され、ワークブックが開いたときにもう一度プロンプトが表示されることがあります。WebアプリケーションがBasic
やDigest
など、特定の認証方法を使用するよう構成されている場合に、こうなることがあります。追加のプロンプトは、Internet Explorerがワークブックを含むWebフォルダ上でOPTIONS
リクエストを行うことが原因です。
余分なログイン・プロンプトを回避するには、エンド・ユーザーはワークブックをブラウザから直接開くのではなく、ローカルで保存します。