(57)【要約】【課題】  アクセス制御に対する当該技術分野の欠陥に対処し、かつ、複合アプリケーションのアクセス制御管理のための方法、システム、及びコンピュータ・プログラム製品を提供すること。【解決手段】  本発明の実施形態は、アクセス制御に対する当該技術分野の欠陥に対処し、かつ、複合アプリケーションのアクセス制御管理のための方法、システム、及びコンピュータ・プログラム製品を提供する。第１の実施形態において、複合アプリケーションに対する役割ベースのアクセス制御管理のための方法を提供することができる。この方法は、複合アプリケーション内に配置するためのコンポーネントを選択するステップと、コンポーネントに関するセキュリティ・ポリシーを構文解析して、コンポーネントに対する特定の役割と複合アプリケーションに対する仮想役割との間のマッピングを識別するステップとを含むことができる。セキュリティ・ポリシーからバインディング論理を生成することができ、複合アプリケーション内にコンポーネントを配置することができる。最終的には、バインディング論理内に定められた動作へのメソッド呼び出しを通して、仮想役割に関するセキュリティ・アクセス動作を処理することができる。【選択図】      図１
2009527832.tif 000002
【特許請求の範囲】
【請求項１】
多数の異種アプリケーション・コンポーネントに対する役割ベースのアクセス制御管理のためのデータ処理システムであって、
複合アプリケーションに結合され、かつ、前記複合アプリケーションに対する複数の仮想役割の管理を可能にする仮想役割フレームワークと、
前記複合アプリケーションに結合されたコンポーネントと、
前記コンポーネントに対する少なくとも１つの特定の役割を前記複合アプリケーションの対応する仮想役割にマッピングする、前記コンポーネントに関して定められたセキュリティ・ポリシーと、
前記仮想役割フレームワークのためのインタフェースを、前記コンポーネントの前記特定の役割に関する動作に提供する、前記セキュリティ・ポリシーから生成されたバインディング論理と
を備えるデータ処理システム。
【請求項２】
前記仮想役割は、管理者役割、操作者役割、モニター役割、コンフィギュレータ役割及びユーザ役割の少なくとも１つを含む、請求項１に記載のシステム。
【請求項３】
前記コンポーネントは、アプリケーション・コンポーネント及びミドルウェア・コンポーネントからなる群から選択されるコンポーネントである、請求項１に記載のシステム。
【請求項４】
前記セキュリティ・ポリシーは、前記コンポーネントに関する記述子内に配置されたデータ・モデルである、請求項１に記載のシステム。
【請求項５】
前記バインディング論理は、前記セキュリティ・ポリシーの前記データ・モデルを用いるコード生成ツールによって生成されるプログラム・コードを含む、請求項４に記載のシステム。
【請求項６】
前記仮想役割は、前記仮想役割のバインディングに基づいて、特定のアプリケーション役割及び役割割り当てを統合する、請求項１に記載のシステム。
【請求項７】
複合アプリケーションに対する役割ベースのアクセス制御管理のための方法であって、
複合アプリケーション内に配置するためにコンポーネントを選択するステップと、
前記コンポーネントに関するセキュリティ・ポリシーを構文解析して、前記コンポーネントに対する特定の役割と前記複合アプリケーションに対する仮想役割との間のマッピングを識別するステップと、
前記セキュリティ・ポリシーからバインディング論理を生成するステップと、
前記コンポーネントを前記複合アプリケーション内に配置するステップと、
前記バインディング論理において定められた動作へのメソッド呼び出しを通して、前記仮想役割に関するセキュリティ・アクセス動作を処理するステップと
を含む方法。
【請求項８】
複合アプリケーション内に配置するためにコンポーネントを選択する前記ステップは、複合アプリケーション内に配置するために、アプリケーション・コンポーネント及びミドルウェア・コンポーネントらなる群から選択されるコンポーネントを選択するステップを含む、請求項７に記載の方法。
【請求項９】
前記コンポーネントに関するセキュリティ・ポリシーを構文解析して、前記コンポーネントに対する特定の役割と前記複合アプリケーションに対する仮想役割との間のマッピングを識別する前記ステップは、前記コンポーネントに関する記述子を構文解析して、前記複合アプリケーションに対する仮想役割に対応する、データ・モデルにおいて定められた複数の特定の役割を識別するステップを含む、請求項７に記載の方法。
【請求項１０】
適切な構文に関して前記記述子における前記定められた特定の役割を検証するステップをさらに含む、請求項９に記載の方法。
【請求項１１】
前記セキュリティ・ポリシーからバインディング論理を生成する前記ステップは、前記コンポーネントのセキュリティ・モデルをコード生成ツールに送り、実行時に前記仮想役割のメソッドに対する動作が、基礎をなすコンポーネントへの呼び出しを生成することを可能にする、特定の役割に関するクラス及び動作を生成するステップを含む、請求項９に記載の方法。
【請求項１２】
複合アプリケーションに対する役割ベースのアクセス制御管理のためのコンピュータ使用可能プログラム・コードを有するコンピュータ使用可能媒体を含むコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品は、
複合アプリケーション内に配置するためにコンポーネントを選択するためのコンピュータ使用可能プログラム・コードと、
前記コンポーネントに関するセキュリティ・ポリシーを構文解析して、前記コンポーネントに対する特定の役割と前記複合アプリケーションに対する仮想役割との間のマッピングを識別するためのコンピュータ使用可能プログラム・コードと、
前記セキュリティ・ポリシーからバインディング論理を生成するためのコンピュータ使用可能プログラム・コードと、
前記コンポーネントを前記複合アプリケーション内に配置するためのコンピュータ使用可能プログラム・コードと、
前記バインディング論理において定義された動作へのメソッド呼び出しを通して、前記仮想役割に関するセキュリティ・アクセス動作を処理するためのコンピュータ使用可能プログラム・コードと
を含む、コンピュータ・プログラム製品。
【請求項１３】
複合アプリケーション内に配置するためにコンポーネントを選択するための前記コンピュータ使用可能プログラム・コードは、複合アプリケーション内に配置するために、アプリケーション・コンポーネント及びミドルウェア・コンポーネントからなる群から選択されるコンポーネントを選択するためのコンピュータ使用可能プログラム・コードを含む、請求項１２に記載のコンピュータ・プログラム製品。
【請求項１４】
前記コンポーネントに関するセキュリティ・ポリシーを構文解析して、前記コンポーネントに対する特定の役割と前記複合アプリケーションに対する仮想役割との間のマッピングを識別するための前記コンピュータ使用可能プログラム・コードは、前記コンポーネントに関する記述子を構文解析して、前記複合アプリケーションに対する仮想役割に対応する、データ・モデルにおいて定められた複数の特定の役割を識別するためのコンピュータ使用可能プログラム・コードを含む、請求項１２に記載のコンピュータ・プログラム製品。
【請求項１５】
適切な構文に関して、前記記述子における前記定められた特定の役割を検証するためのコンピュータ使用可能プログラム・コードをさらに含む、請求項１４に記載のコンピュータ・プログラム製品。
【請求項１６】
前記セキュリティ・ポリシーからバインディング論理を生成するための前記コンピュータ使用可能プログラム・コードは、前記コンポーネントのセキュリティ・モデルをコード生成ツールに送り、実行時に前記仮想役割のメソッドに対する動作が、基礎をなすコンポーネントへの呼び出しを生成することを可能にする、特定の役割に関するクラス及び動作を生成するためのコンピュータ使用可能プログラム・コードを含む、請求項１４に記載のコンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多数の異種アプリケーション・コンポーネント及びミドルウェア・コンポーネントの同時表示に関し、より具体的には、多数の異種アプリケーション・コンポーネント及びミドルウェア・コンポーネントの間のアクセス制御に関する。
【背景技術】
【０００２】
アクセス制御は、コンピュータ・システム内のリソースに対するアクセス権の緩和及び制限に関連する。リソースは、文書からアプリケーション論理までの範囲に及ぶことができ、アクセス権は、読み出し専用アクセスから全読み出し、書き込み及び実行アクセスまでの範囲に及ぶことができる。多くの場合、アクセス制御は、ユーザ又はグループの信用性に応じて、ユーザごと又はグループごとに変わり得る。より高レベルの信用を有するものには、高度のアクセスと関連したアクセス許可が与えられ、より低レベルの信用を有するものには、特定の目的を達成するのに必要とされるアクセス許可量だけが与えられる。このように、基礎をなすリソースの安全性及び完全性の脅威を最小にすることができる。
【０００３】
限られた数のユーザだけを有するアプリケーションのアクセス制御は、比較的管理しやすい。各々の個人ユーザについて、必要なアクセス・レベルを主観的に決定し、それに対応するアクセス権をユーザに割り当てることができる。多くの場合予測できない、莫大な数の個人ユーザが関与するアプリケーションの場合、アクセス制御は管理不能である。後者のシナリオにおいて、個人ユーザによって、種々のリソースへの必要なアクセス権が変わる場合、アクセス制御、管理は、非常に複雑なタスクとなる。この複雑さの増大は、アクセス制御の間違い設定が生じる可能性を増大させ、システムの安全性を脅かす。複雑さ及びそれと関連したリスクを低減させるために、システム設計者は、役割ベースのアクセス制御の機構を導入した。
【０００４】
役割ベースのアクセス制御は、個人ユーザへのものではなく、１又は複数の個人ユーザが遂行する役割（role）へのアクセス権の割り当てに関する。具体的には、役割ベースのアクセス制御は、管理者、ゲスト、マネージャー、エグゼクティブ等といった、アプリケーションに対する特定の役割を遂行するユーザに、どのレベルのアクセス権を与えるかを、より容易に決定することができる。ワークフローの概念において、役割は、ビジネス・プロセスの一部分を担うユーザのタイプにまで及ぶことができる。このように、いずれか一人のユーザが担うアイデンティティ及び役割は本質的に流動的なものであり得るが、特定の役割に割り当てられたユーザに与えられるアクセス権は、相対的に変化しないままであり得る。その結果、莫大な数のユーザであっても、アクセス権の管理を劇的に簡単化することができる。
【０００５】
様々なソフトウェア・システムのために、役割ベースのアクセス制御解決法が提案されてきた。単一のアプリケーションが単一のミドルウェア・コンポーネント上で実行される単純なシステムの場合、役割ベースのアクセス制御は、アクセス制御を仲介する強力なツールとなることが分かった。さらに、アプリケーション役割の使用は、単純なシステムのアクセス制御を抽象化するのに効果的であったが、役割ベースのアクセス制御は、特に、役割ベースのアクセス制御システムが複合アプリケーション（異種アプリケーションの集合）内でアプリケーションごと及びミドルウェア・コンポーネントごとに変わる場合、異なるアプリケーション及び／又はミドルウェア・コンポーネントの集合へのアクセス制御を管理するのに効果的ではなかった。
【０００６】
複合アプリケーション空間における認証問題に対する解決法として、ビジネス役割が提案された。ビジネス役割は、複合アプリケーションに使用可能な全てのアプリケーション役割の任意の組み合わせを定める。このように、任意の組み合わせの少なくとも１つの中で、各々のアプリケーションの異なる性質の役割ベースのアクセス制御を調和させることができる。それにもかかわらず、種々のビジネス目的のために、異なるアプリケーションの組に対応させるようにビジネス役割機構を定める必要がある、少なくとも潜在的に多数のビジネス役割に関しては不十分であることが、当業者には明らかであろう。多数のビジネス役割を管理することは、負担になり得る。さらに、ソリューション・インテグレータ（solution integrator）は、複合アプリケーションのアプリケーション役割の全てに関する予備知識をもつ必要がある。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
最終的には、全てのビジネス役割が有効であるとは限らず、ビジネス役割及びより複雑なアクセス制御管理内で矛盾した役割を伝搬することがある。
【課題を解決するための手段】
【０００８】
本発明の実施形態は、アクセス制御に関する当技術分野の欠陥に対処し、かつ、異種アプリケーション・コンポーネント及びミドルウェア・コンポーネントの集合に関する仮想役割ベースのアクセス制御管理のための新規で非自明な方法、システム、コンピュータ・プログラム製品を提供する。第１の実施形態において、企業のアーカイブを含む、多数の異種アプリケーション・コンポーネント及びミドルウェア・コンポーネントに対する仮想役割ベースのアクセス制御管理のためのデータ処理システムは、仮想役割フレームワークを含むことができ、そこで、役割の定義は、本質的に抽象的なものであってよく、複合アプリケーションに結合させ、複合アプリケーションのメタデータによって定義することができる。
【０００９】
このシステムは、複合コンポーネントに結合されたアプリケーション・コンポーネント及びミドルウェア・コンポーネントと、アプリケーション・コンポーネント及びミドルウェア・コンポーネントに関して定められたセキュリティ・ポリシーとをさらに含むことができる。アプリケーション・コンポーネント又はミドルウェア・コンポーネントに関するセキュリティ・ポリシーは、アプリケーション・コンポーネント又はミドルウェア・コンポーネントに対する少なくとも１つの特定の役割を、対応する複合アプリケーションに対する仮想役割にマッピングすることができる。最終的には、本発明は、仮想役割フレームワークのためのインタフェースを、ミドルウェア・コンポーネントの特定の役割に関する動作に提供する、セキュリティ・ポリシーから得られたバインディング論理を生成することができる。
【００１０】
抽象的な仮想役割メタモデルは、任意の数の仮想役割を定義することを可能にする。仮想役割製品の提供者は、管理者の仮想役割及び操作者の仮想役割のような、幾つかの例示的な所定の仮想役割を含むことができるが、仮想役割メタモデルは、製品の消費者が、それぞれの複合アプリケーションの必要性に適合するように仮想役割を定義することを可能にする。さらに、セキュリティ・ポリシーは、アプリケーション・コンポーネント又はミドルウェア・コンポーネントに関する記述子内に配置されたメタデータ・モデルとすることができる。したがって、バインディング論理は、セキュリティ・ポリシーのデータ・モデルを利用する、Ｅｃｌｉｐｓｅ（商標）  Ｍｏｄｅｌｉｎｇ  Ｆｒａｍｅｗｏｒｋ（ＥＭＦ）（Ｅｃｌｉｐｓｅは、Ｅｃｌｉｐｓｅ  Ｆｏｕｎｄａｔｉｏｎの商標である）のようなメタモデル主導のコード生成ツールによって生成されるプログラム・コードを含むことができる。最終的には、仮想役割は、アプリケーション・コンポーネント及びミドルウェア・コンポーネントに関する仮想役割ベースのセキュリティ・フレームワークと、複合アプリケーション、並びにアプリケーション・コンポーネント及びミドルウェア・コンポーネントに関するカテゴリー・ベースのセキュリティ（多数のアプリケーションにおいて共通のアクセス・カテゴリによって定義される）と、複合アプリケーションに関するグラフィカル・ユーザ・インタフェース・ベースのセキュリティとを提供することができる。
【００１１】
本発明の別の実施形態において、複合アプリケーションに対する役割ベースのアクセス制御管理の方法を提供することができる。この方法は、複合アプリケーション内に配置するために、アプリケーション・コンポーネント又はミドルウェア・コンポーネントを選択するステップと、ミドルウェア・コンポーネントに関するセキュリティ・ポリシーを構文解析して、ミドルウェア・コンポーネントに対する特定の役割と複合アプリケーションに対する仮想役割との間のマッピングを識別するステップとを含むことができる。セキュリティ・ポリシーからバインディング論理を生成することができ、アプリケーション・コンポーネント又はミドルウェア・コンポーネントは、複合アプリケーション内に配置することができる。最終的には、仮想役割に関するセキュリティ・アクセス動作は、バインディング論理内に定められた動作へのメソッド呼び出しを通して処理することができる。
【００１２】
本発明の付加的な態様は、以下の説明に部分的に述べられており、この説明から部分的に明白であるか、又は本発明の実施によって学ぶことができる。本発明の態様は、添付の特許請求の範囲において特に指摘された要素及び組み合わせによって、実現され、達成されるであろう。上記の説明及び以下の詳細な説明の両方は、例示的なものであって説明的なものにすぎず、特許請求される、本発明を制限するものではないことを理解すべきである。
【発明を実施するための最良の形態】
【００１３】
本明細書に組み入れられ、その一部を構成する添付図面は、本発明の実施形態を示し、その説明と共に、本発明の原理を説明するのに役立つ。ここに示される実施形態は、現在のところ好ましいものであるが、本発明は、示される精密な構成及び手段に制限されるものではないことを理解すべきである。
【００１４】
本発明の実施形態は、仮想役割を用いて、多数の異種アプリケーション・コンポーネント及びミドルウェア・コンポーネント（まとめて「コンポーネント」）に対する仮想役割ベースのアクセス制御管理のための方法、システム及びコンピュータ・プログラムを提供する。仮想役割は、抽象的なものとすることができ、各々の役割についての共通の機能及び責務に基づいて、種々のアプリケーション役割の組の集合を表すことができる。仮想役割メタモデルは、複合アプリケーションの必要性に従って任意の仮想役割を定義するための手段を提供する。仮想役割名及び作用を、リソース上の１つ又は複数の対応するアプリケーション・コンポーネント／ミドルウェア名及び役割名、並びに作用にマッピングすることができる。最終的には、上述のマッピングに基づいて、仮想フレームワークがバインディング・コードを生成することができる。
【００１５】
本発明の実施形態によると、ポータル・アプリケーションのような複合アプリケーションについて、１つ又は複数の仮想役割を確立することができる。続いて、例えば、ポートレット・アプリケーション・コンポーネント又はミドルウェア・コンポーネントなどの、複合アプリケーション内に配置されるアプリケーション・コンポーネント又はミドルウェア・コンポーネントに関して、セキュリティ・ポリシーを指定することができる。セキュリティ・ポリシーは、確立された仮想役割の１つ又は複数を、コンポーネントに対する対応する役割と関連付けることができる。したがって、バインディング論理を生成し、仮想役割の動作への呼び出しを、コンポーネントのものと関連付けることができる。最終的には、複合アプリケーションで用いるために、コンポーネントを登録することができる。
【００１６】
さらなる例証として、図１は、多数の異種アプリケーション・コンポーネント及びミドルウェア・コンポーネントからなる複合アプリケーションに対する仮想役割ベースのアクセス制御管理のために構成されたデータ処理システムの図形的表示である。図１に示されるように、複合アプリケーション１２０内の１つ又は複数のコンポーネント１４０が、セキュリティ・ポリシー１５０及びバインディング論理１６０の両方を含むことができる。セキュリティ・ポリシー１５０は、コンポーネント１４０に特有の役割を、複合アプリケーション１２０に対して定められた対応する仮想役割１３０にマッピングすることができる。セキュリティ・ポリシー１５０からバインディング論理１６０を生成し、複合アプリケーション１２０と対話するユーザ１１０からのゲートウェイ・インタフェースを、コンポーネント１４０に対する特定の役割に関する動作に提供することができる。
【００１７】
より具体的には、図２は、多数の異種アプリケーション・コンポーネント及びミドルウェア・コンポーネントからなる複合アプリケーションに対する仮想役割ベースのアクセス制御管理のための、データ処理システムの概略図である。図２に示されるように、アグリゲータ（aggregator）として働く構成論理２１０は、仮想役割フレームワーク２２０を含むことができる。仮想役割フレームワーク２２０は、構成論理２１０によって生成される複合アプリケーション２６０内の全てのプラグ可能なコンポーネント２４０に対するセキュリティ役割の選択を含むことができる。複合アプリケーション２６０内のコンポーネント２４０の各々は、セキュリティ・ポリシー２５０を含むことができる。セキュリティ・ポリシー２５０は、セキュリティ仮想役割をコンポーネント２４０に対する対応する特定の役割にマッピングする構造化されたデータ・モデルとすることができる。
【００１８】
セキュリティ・ポリシー２５０を用いて、バインディング論理２３０を生成することができる。具体的には、Ｅｃｌｉｐｓｅ  Ｍｏｄｅｌｉｎｇ  Ｆｒａｍｅｗｏｒｋ（ＥＭＦ）コード生成ツールのような、コード生成技術が、バインディング論理２３０を生成するためにセキュリティ・ポリシー２５０によって定められる構造化されたデータ・モデルを処理することができる。バインディング論理２３０は、コンポーネント２４０の特定の役割についてのセキュリティ・アクセス・クラス及び対応する方法を含むことができる。このように、構成論理２１０内の仮想役割フレームワーク２２０によって管理される仮想役割の認証を行なうエンド・ユーザは、コンポーネント２４０の特定の役割に気づくことなく、バインディング論理２３０によってコンポーネント２４０の認証を行なうことができる。
【００１９】
本発明における仮想役割の使用により、マッピングされたコンポーネント２４０の特定の役割によって提供されるような役割ベースのセキュリティが提供される。また、異なる仮想役割を、管理者、モニター、操作者、コンフィギュレータ、ユーザ等のような異なるカテゴリーのユーザに関連付けることができるという点で、仮想役割の使用は、カテゴリー・ベースのセキュリティを提供する。最終的には、仮想役割にマッピングされたコンポーネント２４０の特定の役割に関係なく、対話するエンド・ユーザに割り当てられた仮想役割に応じて複合アプリケーション２６０の表示が変わり得るという点で、本発明の仮想役割は、グラフィカル・ユーザ・インタフェース・ベースのセキュリティを提供することができる。
【００２０】
さらなる例証として、図３は、多数の異種アプリケーションに対する仮想役割ベースのアクセス制御管理のために構成されたデータ処理システム内に、コンポーネントを配置するためのプロセスを示すフローチャートである。ブロック３１０で始まり、集合の（aggregated）アプリケーションについての仮想役割フレームワーク内の１つ又は複数の対応する仮想役割に基づいて、コンポーネントに対して１つ又は複数の特定のアプリケーション役割を定めることができる。これらの例は、管理者役割、モニター役割及びユーザ役割を含むことができる。ブロック３２０において、コンポーネントに関する記述子を構文解析し、そのコンポーネントに関するセキュリティ・ポリシーを識別することができる。
【００２１】
ブロック３３０において、セキュリティ・ポリシー内で宣言された役割の各々についての構文を、仮想役割フレームワーク内で適格であり、有効であると検証することができる。決定ブロック３４０において、構文が不正確であると検証された場合には、ブロック３５０において、コンポーネントの宣言された役割との非両立性を報告することができる。他の場合には、ブロック３６０において、セキュリティ・ポリシー内の宣言された役割に対して、バインディング論理を生成することができる。例えば、セキュリティ・ポリシーによって表されたデータ・モデルをＥＭＦツールに送り、コンポーネントに対する特定の役割にアクセスするための必要なクラス及び方法を生成することができる。最終的には、ブロック３７０において、複合アプリケーションを更新し、新しいコンポーネントを認識することができる。
【００２２】
コンポーネントが複合アプリケーション内に配置されると、コンポーネントへのアクセス要求は、対話するユーザに割り当てられた仮想役割と関連付けられ、かつ、コンポーネントに対して対話するユーザに割り当てられた特定の役割と関連付けられていない、仮想役割フレームワークを通して管理することができる。具体的には、コンポーネントに対する特定の役割に関するアクセス・クラス及び方法との必要とされる対話は、コンポーネントに関するセキュリティ・ポリシーのために生成されたバインディング論理を用いる仮想役割フレームワークによって提供することができる。
【００２３】
例証として、図４は、多数の異種コンポーネントに対する仮想役割ベースのアクセス制御管理のために構成されたデータ処理システムにおいて、コンポーネント内のセキュリティ論理にアクセスする方法を示すフローチャートである。ブロック４１０で始まり、集合アプリケーションにおいて、セキュリティ・アクセス動作をトリガすることができる。ブロック４２０において、集合アプリケーション内に配置された第１のコンポーネントを選択することができ、ブロック４３０において、トリガされたコンポーネントに関して、選択されたコンポーネントのバインディング論理をチェックすることができる。決定ブロック４４０において、選択されたコンポーネント内で動作が見出された場合には、ブロック４５０において、バインディング論理を通してコンポーネント内の動作を呼び出すことができる。他の場合には、プロセスは、決定ブロック４６０を通って継続することができる。
【００２４】
決定ブロック４４０において、コンポーネント関して要求された動作を見出すことができない場合には、決定ブロック４６０において、集合アプリケーション内に付加的なコンポーネントを配置するかどうかを決定することができる。付加的なコンポーネントを配置する場合には、ブロック４７０において、分析のために次のコンポーネントを選択することができ、ブロック４３０乃至決定ブロック４６０において、プロセスを繰り返すことができる。比較すると、決定ブロック４６０において、これ以上の分析されるべきコンポーネントが上残っていないとき、ブロック４８０において、プロセスを終了することができる。
【００２５】
本発明の実施形態は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、又はハードウェア要素とソフトウェア要素の両方を含む実施形態の形態をとることができる。好ましい実施形態において、本発明は、ファームウェア、常駐ソフトウェア、マイクロコード等を含むがそれらに限定はされない、ソフトウェアの形態に実装される。さらに、本発明は、コンピュータ若しくは任意の命令実行システムにより、又はそれらと共に使用するためのプログラム・コードを提供するコンピュータ使用可能又はコンピュータ可読な媒体からアクセス可能なコンピュータ・プログラムの形態をとることができる。
【００２６】
この説明のために、コンピュータ使用可能又はコンピュータ可読媒体は、命令を実行するシステム、装置、又はデバイスにより、又はそれらと共に用いるためのプログラムを、収容し、格納し、通信し、伝達し、又は転送することができる任意の装置とすることができる。その媒体は、電子的、磁気的、光学的、電磁気的、赤外線、又は半導体システム（若しくは装置又はデバイス）、或いは伝達媒体とすることができる。コンピュータ可読媒体の例には、半導体又は固体メモリ、磁気テープ、取り外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、剛体磁気ディスク、及び光学ディスクが含まれる。光学ディスクの最新の例には、コンパクト・ディスク−読み取り専用メモリ（ＣＤ−ＲＯＭ）、コンパクト・ディスク−読み取り／書き込みディスク（ＤＲ−Ｒ／Ｗ）、及びＤＶＤが含まれる。
【００２７】
プログラム・コードを格納し及び／又は実行するのに適切なデータ処理システムは、システム・バスを通してメモリ要素に直接又は間接に結合した少なくとも１つのプロセッサを含む。メモリ要素は、プログラム・コードの実際の実行中に用いられるローカル・メモリと、バルク・ストレージと、少なくとも幾つかのプログラム・コードの一時ストレージを提供して、実行中にバルク・ストレージからコードが取得されなければならない回数を減らすようにするキャッシュ・メモリとを含むことができる。入力／出力又はＩ／Ｏデバイス（キーボード、ディスプレイ、ポインティング・デバイス等を含むが、それらに限定されない）は、システムに直接的に、又は介在するＩ／Ｏコントローラを通して、結合することができる。データ処理装置が、他のデータ処理装置、又は、遠隔のプリンタ又はストレージ・デバイスに、介在するプライベート又はパブリック・ネットワークを通して結合できるようにするために、ネットワーク・アダプタをシステムに結合することもできる。モデム、ケーブル・モデム及びイーサネット（登録商標）・カードは、現在利用可能なタイプのネットワーク・アダプタのほんの２、３の例である。
【図面の簡単な説明】
【００２８】
【図１】多数の異種アプリケーション・コンポーネント及びミドルウェア・コンポーネントからなる複合アプリケーションに対する仮想役割ベースのアクセス制御管理のために構成されたデータ処理システムの図形的表示である。
【図２】多数の異種アプリケーション・コンポーネント及びミドルウェア・コンポーネントからなる複合アプリケーションに対する仮想役割ベースのアクセス制御管理のためのデータ処理システムの概略図である。
【図３】多数の異種アプリケーション・コンポーネントに対する仮想役割ベースのアクセス制御管理のために構成されたデータ処理システムにおいてコンポーネントを配置するための方法を示すフローチャートである。
【図４】多数の異種アプリケーション・コンポーネントに対する仮想役割ベースのアクセス制御管理のために構成されたデータ処理システムにおいて、コンポーネント内のセキュリティ論理にアクセスする方法を示すフローチャートである。
【図１】
2009527832.tif 000003
【図２】
2009527832.tif 000004
【図３】
2009527832.tif 000005
【図４】
2009527832.tif 000006
【手続補正書】
【提出日】平成21年3月19日(2009.3.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
多数の異種アプリケーション・コンポーネントに対する役割ベースのアクセス制御管理のためのデータ処理システムであって、
複合アプリケーションに結合され、かつ、前記複合アプリケーションに対する複数の仮想役割の管理を可能にする仮想役割フレームワークと、
前記複合アプリケーションに結合されたコンポーネントと、
前記コンポーネントに対する少なくとも１つの特定の役割を前記複合アプリケーションの対応する仮想役割にマッピングする、前記コンポーネントに関して定められたセキュリティ・ポリシーと、
前記仮想役割フレームワークのためのインタフェースを、前記コンポーネントの前記特定の役割に関する動作に提供する、前記セキュリティ・ポリシーから生成されたバインディング論理と
を備えるデータ処理システム。
【請求項２】
前記仮想役割は、管理者役割、操作者役割、モニター役割、コンフィギュレータ役割及びユーザ役割の少なくとも１つを含む、請求項１に記載のシステム。
【請求項３】
前記コンポーネントは、アプリケーション・コンポーネント及びミドルウェア・コンポーネントからなる群から選択されるコンポーネントである、請求項１に記載のシステム。
【請求項４】
前記セキュリティ・ポリシーは、前記コンポーネントに関する記述子内に配置されたデータ・モデルである、請求項１に記載のシステム。
【請求項５】
前記バインディング論理は、前記セキュリティ・ポリシーの前記データ・モデルを用いるコード生成ツールによって生成されるプログラム・コードを含む、請求項４に記載のシステム。
【請求項６】
前記仮想役割は、前記仮想役割のバインディングに基づいて、特定のアプリケーション役割及び役割割り当てを統合する、請求項１に記載のシステム。
【請求項７】
複合アプリケーションに対する役割ベースのアクセス制御管理のための方法であって、
複合アプリケーション内に配置するためにコンポーネントを選択するステップと、
前記コンポーネントに関するセキュリティ・ポリシーを構文解析して、前記コンポーネントに対する特定の役割と前記複合アプリケーションに対する仮想役割との間のマッピングを識別するステップと、
前記セキュリティ・ポリシーからバインディング論理を生成するステップと、
前記コンポーネントを前記複合アプリケーション内に配置するステップと、
前記バインディング論理において定められた動作へのメソッド呼び出しを通して、前記仮想役割に関するセキュリティ・アクセス動作を処理するステップと
を含む方法。
【請求項８】
前記コンポーネントに関するセキュリティ・ポリシーを構文解析して、前記コンポーネントに対する特定の役割と前記複合アプリケーションに対する仮想役割との間のマッピングを識別する前記ステップは、前記コンポーネントに関する記述子を構文解析して、前記複合アプリケーションに対する仮想役割に対応する、データ・モデルにおいて定められた複数の特定の役割を識別するステップを含む、請求項７に記載の方法。
【請求項９】
適切な構文に関して前記記述子における前記定められた特定の役割を検証するステップをさらに含む、請求項８に記載の方法。
【請求項１０】
前記セキュリティ・ポリシーからバインディング論理を生成する前記ステップは、前記コンポーネントのセキュリティ・モデルをコード生成ツールに送り、実行時に前記仮想役割のメソッドに対する動作が、基礎をなすコンポーネントへの呼び出しを生成することを可能にする、特定の役割に関するクラス及び動作を生成するステップを含む、請求項８に記載の方法。
【請求項１１】
複合アプリケーションに対する役割ベースのアクセス制御管理のためのコンピュータ使用可能プログラム・コードを有するコンピュータ・プログラムであって、前記コンピュータ・プログラムは、
複合アプリケーション内に配置するためにコンポーネントを選択するためのコンピュータ使用可能プログラム・コードと、
前記コンポーネントに関するセキュリティ・ポリシーを構文解析して、前記コンポーネントに対する特定の役割と前記複合アプリケーションに対する仮想役割との間のマッピングを識別するためのコンピュータ使用可能プログラム・コードと、
前記セキュリティ・ポリシーからバインディング論理を生成するためのコンピュータ使用可能プログラム・コードと、
前記コンポーネントを前記複合アプリケーション内に配置するためのコンピュータ使用可能プログラム・コードと、
前記バインディング論理において定義された動作へのメソッド呼び出しを通して、前記仮想役割に関するセキュリティ・アクセス動作を処理するためのコンピュータ使用可能プログラム・コードと
を含む、コンピュータ・プログラム。
【国際調査報告】
2009527832.tif 000007
2009527832.tif 000008
2009527832.tif 000009