Oracle® Fusion Middleware Oracle Application Development Frameworkデスクトップ統合開発者ガイド 11gリリース1 (11.1.1.7.0) B66694-02 |
|
前 |
次 |
この章では、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セキュリティの詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のFusion WebアプリケーションでのADFセキュリティの有効化に関する章を参照してください。
統合Excelワークブックを開いたときに、ワークブックの実行対象であるFusion WebアプリケーションがセキュアなアプリケーションかどうかがADFデスクトップ統合で検出され、自動的に認証が施行されます。認証済Webアプリケーションの場合、ワークブックが認証済Webブラウザからダウンロードされるとしても、エンド・ユーザーには必ず資格証明が求められます。WbブラウザとExcelは別のオペレーティング・システム・プロセスなので、資格証明を共有できません(Windowsのネイティブ認証を使用している場合を除く)。
セキュアなFusion Webアプリケーションの統合Excelワークブックを開くと、図11-1のように「ログイン」ダイアログが表示され、Fusion Webアプリケーションへの接続を求めるプロンプトが表示されます。この「ログイン」ダイアログは、Fusion Webアプリケーションがセキュアでない場合も表示されます。
「はい」をクリックすると、図11-2の例ように、資格証明の入力を求める別のダイアログが表示されます。
図11-2に示したダイアログは、認証の施行に関するFusion Webアプリケーションの構成方法によって異なります。たとえば、Webアプリケーションでフォームベース認証が使用されている場合は、エンド・ユーザーに対して、ブラウザ・ダイアログ、およびユーザー名とパスワードのフィールドを含むWebページが表示されます。
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ブラウザ・コントロール)に割り当てられます。
注意: セッションがすでに確立されているときに |
logoutメソッドが起動された後、ダイアログが表示されて、現在のセッションからログアウトしたことがユーザーに通知されます。ワークブックを閉じたり、Excelリボンの実行時カスタム・タブから「全データのクリア」オプションを選択すると、ユーザーは自動的にログアウトします。
ログアウトした後、データをアップロードまたはダウンロードするにはユーザーはもう一度ログインする必要があります。
2つ以上のワークブックが(テスト・モードまたは実行時モードで)開いていて、同じFusion Webアプリケーションに対して実行している場合、1つのワークブックを閉じてもログアウトのメカニズムは起動しません。ユーザーはログインしたままになり、残りの開いたワークブックで引き続き作業できます。閉じているワークブックは、資格証明をもう一度求められずに開くことができます。ユーザーは同じFusion Webアプリケーションに対して実行しているすべてのワークブックが閉じるとログアウトされます。
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ワークブックを作成する場合、これを行う必要があります。
ワークブックIDをリセットするには:
統合Excelワークブックを開きます。
「Oracle ADF」タブの「ワークブック」グループで、「ワークブック・プロパティ」をクリックします。
「ワークブック・プロパティの編集」ダイアログで、ワークブックIDのリセットリンクをクリックします。
表示される確認用ダイアログ(図11-5を参照)で「はい」をクリックし、WorkbookID
ワークブック・プロパティをリセットします。
「OK」をクリックします。
Fusion Webアプリケーションによる統合Excelワークブックの保護について、次の点に注意してください。
データ・セキュリティ
Fusion Webアプリケーションからダウンロードしたデータを含むExcelワークブックを、他のユーザーがそのExcelワークブックにアクセスできるネットワーク・ディレクトリなどの場所に保存する場合、他のユーザーはExcelワークブックに保存されているデータにアクセスできます。
Microsoft Excelのセキュリティ
ワークブックにパスワードを設定するExcelの機能を使用して、統合Excelワークブックのセキュリティを強化できます。これにより、許可されていないユーザーは、ワークブックを開いたり変更することができなくなります。Excelのセキュリティ機能の詳細は、Excelのドキュメントを参照してください。
15.2項「セッション間のサーバー・データ・コンテキストのリストア」の説明に従って、データをキャッシュするように統合Excelワークブックを構成できます。統合Excelワークブックに機密データをキャッシュしないように注意してください。
Fusion Webアプリケーションがhttps
プロトコル上で実行されている場合、統合Excelワークブックから接続中に証明書エラーを受信する可能性があります。Microsoft Internet Explorerを使用して必要な証明書をインストールするか、またはログインを継続してWebアプリケーションに接続することを選択できます。
Microsoft Internet Explorerを使用して統合Excelワークブックをダウンロードするエンド・ユーザーは、Excelアプリケーションが参照可能になる前に、予期せず資格証明の入力を要求され、ワークブックが開いた後にもう一度入力を要求されることがあります。これは、WebアプリケーションがBasic
やDigest
などの特定の認証メソッドを使用するように設定されている場合に発生する可能性があります。余分に入力を要求されるのは、Internet Explorerがワークブックを含むWebディレクトリでOPTIONS
リクエストを行うためです。
余分なログイン・プロンプトを回避するには、エンド・ユーザーはワークブックをブラウザから直接開くのではなく、ローカルで保存します。
管理者の場合、『Oracle Fusion Middleware Oracle Application Development Framework開発者ガイド』のFusion Webアプリケーションのセキュリティの構成に関する留意事項に関する項を参照する必要があります。