(57)【要約】【課題】  Ｗｅｂサービスに関する許可ポリシーを実現するための方法、システム、およびコンピュータ・プログラムを提供することにある。【解決手段】  この方法、システム、およびコンピュータ・プログラムは、Ｗｅｂサービスへのアクセスに関する許可ポリシーを定義することを含むことができる。また、この方法、システム、およびコンピュータ・プログラムは、Ｗｅｂサービスに関するサービス定義に許可ポリシーを付加することも含むことができる。【選択図】  図６
2008537823.tif 000002
【特許請求の範囲】
【請求項１】
Ｗｅｂサービスに関する許可ポリシーを実現するための方法において、
サービス定義に基づいてＷｅｂサービスへのアクセスに関する許可ポリシーを定義するステップと、
前記Ｗｅｂサービスに関するサービス定義に前記許可ポリシーを付加するステップと、
を含む方法。
【請求項２】
Ｗｅｂサービス記述言語定義を含む前記Ｗｅｂサービスを配備するステップをさらに含む、請求項１に記載の方法。
【請求項３】
メッセージ・ポートおよび前記Ｗｅｂサービスへのアクセスを制御するために、各メッセージ、動作、およびポート・タイプについて許可ポリシー文書を指定するステップをさらに含む、請求項１に記載の方法。
【請求項４】
各ポート・タイプ、動作、およびメッセージに許可ポリシー定義を付加するステップをさらに含む、請求項１に記載の方法。
【請求項５】
ユーザの役割に基づく抽象化レベルでポート・タイプに関する各動作を保護する、請求項１に記載の方法。
【請求項６】
要求を受信するステップと、
前記要求を行うことをユーザが許可されていることに応答して、アプリケーション・サーバに前記要求をディスパッチするステップと、
前記許可ポリシーに基づいて前記アプリケーション・サーバで前記Ｗｅｂサービスを使用するための許可を執行するステップと、
をさらに含む、請求項１に記載の方法。
【請求項７】
ゲートウェイ・サーバが要求を受信したことに応答して、許可ポリシーを検討するステップと、
前記許可ポリシーの検討に基づいて前記要求が保護されていることに応答して、前記ユーザを認証し、要求側ＩＤを検証するステップと、
前記要求を行うことを前記ユーザが許可されていることに応答して、必要な役割を前記ユーザに付与し、アプリケーション・サーバに前記要求をディスパッチするステップと、
前記許可ポリシーに基づいて前記アプリケーション・サーバで前記Ｗｅｂサービスを使用するための許可を執行するステップと、
をさらに含む、請求項１に記載の方法。
【請求項８】
Ｗｅｂサービスに関する許可ポリシーを実現するためのシステムにおいて、
Ｗｅｂサービスに関するサービス定義と、
前記サービス定義に付加可能な前記Ｗｅｂサービスへのアクセスに関する許可ポリシーと、
を含むシステム。
【請求項９】
前記許可ポリシー定義がポート・タイプ定義に基づくものである、請求項８に記載のシステム。
【請求項１０】
前記ＷｅｂサービスがＷｅｂサービス記述言語定義を含む、請求項８に記載のシステム。
【請求項１１】
メッセージ・ポートおよび前記Ｗｅｂサービスへのアクセスを制御するために、各メッセージ、動作、およびポート・タイプについて指定可能な許可ポリシー文書をさらに含む、請求項８に記載のシステム。
【請求項１２】
各ポート・タイプ、動作、バインディングおよびメッセージ、ならびに時刻およびその他のコンテキスト要素に基づく条件に付加可能な許可ポリシー定義をさらに含む、請求項８に記載のシステム。
【請求項１３】
要求を行うことをユーザが許可されていることに応答して、前記Ｗｅｂサービスに関する要求を受信するように適合され、前記Ｗｅｂサービスを使用するための許可を執行するように適合されたアプリケーション・サーバをさらに含む、請求項８に記載のシステム。
【請求項１４】
前記Ｗｅｂサービスに関する要求をユーザから受信したことに応答して、前記許可ポリシーを検討するように適合されたゲートウェイ・サーバと、
前記要求を行うことを前記ユーザが許可されていることに応答して、前記要求を受信するように適合され、前記許可ポリシーに基づいて前記Ｗｅｂサービスを使用するための許可を執行するように適合されたアプリケーション・サーバと、
をさらに含む、請求項８に記載のシステム。
【請求項１５】
ゲートウェイ・サーバが要求を受信したことに応答して、許可ポリシーを検討するように適合されたデータ構造と、
前記許可ポリシーの前記検討に基づいて前記要求が保護されていることに応答して、前記ユーザを認証し、要求側ＩＤを検証するように適合されたデータ構造と、
前記要求を行うことを前記ユーザが許可されていることに応答して、必要な役割を前記ユーザに付与し、アプリケーション・サーバに前記要求をディスパッチするためのデータ構造と、
前記許可ポリシーに基づいて前記アプリケーション・サーバで前記Ｗｅｂサービスを使用するための許可を執行するためのデータ構造と、
をさらに含む、請求項８に記載のシステム。
【請求項１６】
Ｗｅｂサービスに関する許可ポリシーを実現するためのコンピュータ・プログラムにおいて、前記コンピュータ・プログラムが、
請求項１ないし７のいずれかに記載の前記ステップを実行するためにそこに実施されたコンピュータ可読プログラム・コードを有するコンピュータ可読媒体と、
Ｗｅｂサービスへのアクセスに関する許可ポリシーを定義するように構成されたコンピュータ可読プログラム・コードと、
前記Ｗｅｂサービスに関するサービス定義に前記許可ポリシーを付加するように構成されたコンピュータ可読プログラム・コードと、
を含むコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネットまたは私設網などのネットワークにより提供されるＷｅｂサービスまたはサービスに関し、詳細には、Ｗｅｂサービスに関する許可ポリシーを実現するための方法およびシステムに関する。
【背景技術】
【０００２】
インターネット、私設網、または同様のネットワークを介して許可ユーザのみに提供されるＷｅｂサービスなどのサービスへのアクセスを制御することは、難題をもたらす可能性がある。これは、単一のユニバーサル・リソース・ロケータ（ＵＲＬ：Universal Resource Locator）によって複数の異なる許可ユーザ・グループに異なるサービスが提供される状況で特に難題になる可能性がある。シンプル・オブジェクト・プロセス・プロトコル／ハイパーテキスト転送プロトコル（ＳＯＡＰ／ＨＴＴＰ：SimpleObject Process Protocol/HyperText Transfer Protocol）では、ＨＴＴＰバインディングに対応するＵＲＬを保護することができる。これは、保護すべきＷｅｂサービスがＵＲＬのみによって提供されるという適切な保護になる可能性があるが、複数の制限付きアクセスＷｅｂサービスが同じＵＲＬで処理される可能性があるという上記の場合には十分ではない可能性がある。
【０００３】
Ｗｅｂサービスはサービスの実施形態により近い状態で保護することができ、たとえば、Ｊａｖａ２  Ｅｎｔｅｒｐｒｉｓｅ  Ｅｄｉｔｉｏｎ（Ｊ２ＥＥ（Ｒ））モデルに関連して使用されるＳｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ（Ｒ）のＥｎｔｅｒｐｒｉｓｅ  ＪａｖａＢｅａｎｓ（Ｒ）コードは、Ｊ２ＥＥアクセス・セキュリティを使用して保護することができる。Ｊａｖａ、Ｅｎｔｅｒｐｒｉｓｅ  ＪａｖａＢｅａｎｓ、Ｓｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓは、米国、その他の国、またはその両方におけるサン・マイクロシステムズ社の商標である。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
このタイプのセキュリティ配置に関する問題の１つは、ゲートウェイ、プロキシ・サーバなどが関連するときにアクセス制御を実行することが困難になる可能性があることである。様々な層の全域で一貫して処理する必要があるアクセス制御をその様々な層自体が実行できる可能性がある。
【課題を解決するための手段】
【０００５】
本発明の一実施形態によれば、Ｗｅｂサービスに関する許可ポリシーを実現するための方法は、サービス定義（たとえば、ポートまたはポート・タイプ定義、バインディング、サービスの品質および機能、サービス名、メッセージなど）に基づいてＷｅｂサービスへのアクセスに関する許可ポリシーを定義するステップを含むことができる。この方法は、Ｗｅｂサービスに関するサービス定義に許可ポリシーを付加するステップも含むことができる。
【０００６】
本発明の他の実施形態によれば、Ｗｅｂサービスに関する許可ポリシーを実現するためのシステムは、Ｗｅｂサービスに関するサービス定義を含むことができる。このシステムは、サービス定義に付加可能なＷｅｂサービスへのアクセスに関する許可ポリシーも含むことができる。
【０００７】
本発明の他の実施形態によれば、Ｗｅｂサービスに関する許可ポリシーを実現するためのコンピュータ・プログラム（computer program product）は、そこに実施されたコンピュータ可読プログラム・コードを有するコンピュータ可読媒体を含むことができる。このコンピュータ可読媒体は、Ｗｅｂサービスへのアクセスに関する許可ポリシーを定義するように構成されたコンピュータ可読プログラム・コードを含むことができる。このコンピュータ可読媒体は、Ｗｅｂサービスに関するサービス定義に許可ポリシーを付加するように構成されたコンピュータ可読プログラム・コードも含むことができる。
【０００８】
特許請求の範囲によってのみ定義された本発明のその他の態様および特徴は、以下に示す非限定的で詳細な本発明の説明を添付図面に併せて検討すると、当業者には自明なものになるであろう。
【発明を実施するための最良の形態】
【０００９】
以下に示す諸実施形態の詳細な説明は、本発明の特定の諸実施形態を例示する添付図面を参照するものである。異なる構造および動作を有する他の諸実施形態は、本発明の範囲を逸脱するものではない。
【００１０】
当業者であれば分かるように、本発明は、方法、システム、またはコンピュータ・プログラムとして実施することができる。したがって、本発明は、いずれも一般に本明細書で「回路」、「モジュール」、または「システム」と呼ぶことができる、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）、またはソフトウェアおよびハードウェアの諸態様を結合する実施形態の形を取ることができる。さらに、本発明は、コンピュータで使用可能な記憶媒体で実施されたコンピュータで使用可能なプログラム・コードを有する、その媒体上のコンピュータ・プログラムの形を取ることができる。
【００１１】
任意の適切なコンピュータ可読媒体を使用することができる。コンピュータで使用可能な媒体またはコンピュータ可読媒体は、たとえば、電子、磁気、光学、電磁、赤外線、または半導体のシステム、装置、デバイス、または伝搬媒体にすることができるが、これらに限定されないものである。コンピュータ可読媒体のより具体的な例（非網羅的なリスト）としては、１つまたは複数のワイヤを有する電気接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(ＲＡＭ)、読み取り専用メモリ（ＲＯＭ）、消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭまたはフラッシュ・メモリ）、光ファイバ、ポータブル・コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、光学記憶装置、インターネットまたはイントラネットをサポートするものなどの伝送媒体、あるいは磁気記憶装置を含むことになるであろう。プログラムは、たとえば、紙またはその他の媒体の光学式スキャンを介して電子的に収集し、必要であれば、適切にコンパイル、解釈、またはその他の処理を行い、その後、コンピュータ・メモリに保管することができるので、コンピュータで使用可能な媒体またはコンピュータ可読媒体は、プログラムが印刷される紙または他の適切な媒体にすることもできることに留意されたい。本書に関連して、コンピュータで使用可能な媒体またはコンピュータ可読媒体は、命令実行システム、装置、またはデバイスによってまたはそれに関して使用するためのプログラムを収容、保管、伝達、伝搬、または伝送することができる任意の媒体にすることができる。
【００１２】
本発明の動作を実行するためのコンピュータ・プログラム・コードは、Ｊａｖａ、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語で作成することができる。しかし、本発明の動作を実行するためのコンピュータ・プログラム・コードは、「Ｃ」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語でも作成することができる。このプログラム・コードは、完全にユーザのコンピュータ上で実行するか、部分的にユーザのコンピュータ上で実行するか、スタンドアロン・ソフトウェア・パッケージとして実行するか、部分的にユーザのコンピュータ上で実行するとともに部分的にリモート・コンピュータ上で実行するか、あるいは完全にリモート・コンピュータまたはサーバ上で、実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ：local area network）または広域ネットワーク（ＷＡＮ：wide area network）によりユーザのコンピュータに接続される場合もあれば、（たとえば、インターネット・サービス・プロバイダを使用してインターネットにより）外部コンピュータへの接続が行われる場合もある。
【００１３】
本発明の諸実施形態による方法、装置(システム)、およびコンピュータ・プログラムの流れ図またはブロック図あるいはその両方に関連して、本発明について以下に説明する。流れ図またはブロック図あるいはその両方の各ブロック、ならびに流れ図またはブロック図あるいはその両方の複数ブロックの組み合わせは、コンピュータ・プログラム命令によって実現できることが理解されるであろう。これらのコンピュータ・プログラム命令は、コンピュータまたはその他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が流れ図またはブロック図あるいはその両方の１つまたは複数のブロックに指定された機能／動作を実現するための手段を作成するようなマシンを生成するために汎用コンピュータ、特殊目的コンピュータ、またはその他のプログラマブル・データ処理装置のプロセッサに提供することができる。
【００１４】
これらのコンピュータ・プログラム命令は、コンピュータ可読メモリに保管された命令が流れ図またはブロック図あるいはその両方の１つまたは複数のブロックに指定された機能／動作を実現する命令手段を含む製品（article of manufacture）を生成するような特定の方法で機能するようコンピュータまたはその他のプログラマブル・データ処理装置に指示できるコンピュータ可読メモリに保管することもできる。
【００１５】
このコンピュータ・プログラム命令は、コンピュータまたはその他のプログラマブル・データ処理装置上で実行される命令が流れ図またはブロック図あるいはその両方の１つまたは複数のブロックに指定された機能／動作を実現するためのステップを提供するようなコンピュータで実現されるプロセスを生成するためにコンピュータまたはその他のプログラマブル・データ処理装置上で一連の動作ステップを実行させるために、コンピュータまたはその他のプログラマブル・データ処理装置上にロードすることもできる。
【００１６】
図１は、本発明の一実施形態によりＷｅｂサービスに関する許可ポリシーを実現するための方法１００の一例を示す流れ図である。ブロック１０２では、Ｗｅｂサービスなどへのアクセスに関する許可ポリシーを定義することができる。許可ポリシー定義は、サービス定義などに基づくものにすることができる。たとえば、許可ポリシーは、具象バインディング（たとえば、ＵＲＬ）、またはそのポート・タイプに定義された動作、あるいはプロパティ、メタデータなどのＷＳＤＬに関連するＷＳＤＬ定義または成果物（artifact）の一部になりうるその他のサービス定義要素に基づくものにすることができる。ブロック１０４では、ポリシー記述としてサービス定義に許可ポリシーを付加することができる。ブロック１０６では、役割としてまたはユーザによって要求された役割に基づく抽象化レベルでポート・タイプに関する各動作を保護することができる。たとえば、トラベル・サービスのＷｅｂサイトで「ｖｉｅｗＩｔｉｎｅｒａｒｙ」と呼ぶことができる動作は、何が許可を構成するかという点でその定義が抽象的なものになるように、「ＴｒａｖｅｌＡｇｅｎｔ」という役割として定義することができる。配備中にしかもその環境に基づいて、所与の旅行代理店の軽量ディレクトリ・アクセス・プロトコル（ＬＤＡＰ：LightweightDirectory Access Protocol）ディレクトリ内のＡｇｅｎｔＧｒｏｕｐにＴｒａｖｅｌＡｇｅｎｔという役割を割り当てられるように、さらに構成を行うことができる。
【００１７】
図２は、本発明の他の実施形態によりＷｅｂサービスに関する許可ポリシーを実現するための方法２００の一例を示す流れ図である。ブロック２０２では、Ｗｅｂサービス記述言語（ＷＳＤＬ：web service description language）定義からなるＷｅｂサービスを配備することができる。ブロック２０４では、ＷＳＤＬメッセージ、ＷＳＤＬポート・タイプなどへのアクセスのために許可ポリシー文書または定義を指定することができる。許可文書または定義は、必要であれば、きめ細かいアクセス制御のためにメッセージ部分、Ｗｅｂサービスなどへのアクセスを制御する際に柔軟性を提供することができる。ブロック２０６では、ポート・タイプ、動作、メッセージなどに許可ポリシー定義を付加することができる。図３は、本発明の一実施形態によりポート・タイプにポリシーを付加するためにＷＳＤＬで作成されたプログラムまたはコンピュータで実行可能なコード３００の一例である。
【００１８】
ＷＳＤＬサービスであるポリシー文書（ａｃｃｔ−ａｕｔｈｚ−ｐｏｌｉｃｙ．ｘｍｌ）へのアクセスについてメソッド・レベルの制御を実行するために、ＸＭＬはよりきめ細かい定義を有することができる。その場合の許可ポリシーは、メッセージ、プロトコルなどの内部にある要素を参照することができ、その結果、細分性は動作レベルのみではなく、サービス呼び出し中の所与のメッセージまたはコンテキスト（たとえば、時刻、サービスの要求側がモバイル・デバイス上にいるか、安全な場所にいるかなど）に基づくものにすることもできる。メッセージそのものについてアクセス制御を実行するために、メッセージはポリシー文書を参照することになるであろう。この参照は、最終的に許可ポリシー定義を指すことになる可能性がある。図４は、本発明の一実施形態により異なる名前の個人に関する役割を定義するための許可ポリシー・ファイルについてＷＳＤＬで作成されたプログラムまたはコンピュータで実行可能なコード４００の一例である。このような定義は、必要な細分性または制御のレベル次第で、ポート・タイプ、動作、メッセージなどのいずれかに付加することができる。
【００１９】
図５は、本発明の他の実施形態によりＷｅｂサービスに関する許可ポリシーを実現するための方法５００の一例を示す流れ図である。ブロック５０２では、ゲートウェイ・サーバがサービスに関する要求を受信することができる。Ｗｅｂサーバは、Ｗｅｂサービス・ゲートウェイ、プロキシ・サーバなどにすることができる。サービスに関する要求は、タスクを実行すること、トランザクション、情報またはデータを提供すること、あるいは同様の動作にすることができる。ブロック５０４では、ゲートウェイ・サーバが要求を検査することができる。ゲートウェイ・サーバは、その要求を履行するために必要なＷｅｂサービスにアクセスするためにその要求あるいは要求側またはユーザが許可を必要とするかどうかを判断するために要求を検査する場合もあれば、その他の目的のために要求を検査する場合もある。
【００２０】
ブロック５０６では、ゲートウェイ・サーバが許可ポリシー文書または定義を検討することができる。前に論じた通り、許可ポリシー文書または定義は、その要求に関連するポート・タイプ、動作、メッセージなどに付加するか、あるいはそれらに関連付けることができる。ブロック５０８では、その要求またはその要求を履行するためのＷｅｂサービスへのアクセスが保護されるか、あるいはアクセスが特定のユーザに限定されるかという判断を行うことができる。その要求またはＷｅｂサービスへのアクセスが保護または限定されない場合、方法５００はブロック５１０に進むことができる。ブロック５１０では、その要求を履行するために適切なアプリケーション・サーバにその要求をディスパッチすることができる。その後、方法５００は終了５２２で終わることができる。
【００２１】
ブロック５０８でその要求またはＷｅｂサービスへのアクセスが保護されている場合、方法５００はブロック５１２に進むことができる。ブロック５１２では、その要求を履行するために必要なＷｅｂサービスにアクセスすることをユーザが許可されていることを保証するために、ユーザのＩＤを認証し検証することができる。ブロック５１４では、ブロック５１２から要求を行うことをユーザが許可されているかどうかという判断を行うことができる。要求を行うことをユーザが許可されていない場合、方法はブロック５１６に進むことができる。ブロック５１６では、ユーザが許可ユーザではなく、要求を履行するためのＷｅｂサービスにアクセスすることができないことを実質的に示すメッセージをユーザに送信することができる。その後、方法５００は終了５２２で終わることができる。
【００２２】
ブロック５１４でユーザが許可ユーザである場合、方法５００はブロック５１８に進むことができる。ブロック５１８では、その要求を履行するためのＷｅｂサービスにアクセスするために必要な役割をユーザに付与することができ、その要求を満足するために適切なアプリケーションにその要求をディスパッチすることができる。
【００２３】
ブロック５２０では、要求またはメッセージをもう一度検査することができ、アプリケーション・サーバによってアクセス可能なポリシー文書または定義に基づいてアプリケーション・サーバでＷｅｂサービスへの許可を執行することができる。要求がＳＯＡＰレベルで処理されると、その要求を実現レベルにディスパッチすることができ、その要求を履行し、結果をユーザに返すことができる。
【００２４】
図６は、本発明の一実施形態によりＷｅｂサービスに関する許可ポリシーを実現するための模範的なシステム６００である。システム６００は、リバース・プロキシ・サーバ６０２およびＷｅｂサービス・ゲートウェイ６０４または同様のサーバなどの１つまたは複数のゲートウェイ・サーバを含むことができる。リバース・プロキシ・サーバ６０２は、ハイパーテキスト転送プロトコル（ＨＴＴＰ：HyperText Transfer Protocol）または同様のプロトコルを使用するユーザ６０６によってアクセスすることができる。Ｗｅｂサービス・ゲートウェイ６０４は、ＳＯＡＰ／ＨＴＴＰタイプのプロトコルなどを使用するユーザ６０８、ならびにＳＯＡＰ／Ｊａｖａメッセージング・サービス（ＪＭＳ：JavaMessaging Service）または同様のプロトコルあるいはサービスを使用する可能性のあるユーザ６１０によってアクセスすることができる。ファイアウォール６１２は、ユーザまたはクライアント６０６〜６１０と、リバース・プロキシ・サーバ６０２およびＷｅｂサービス・ゲートウェイ６０４との間に配置することができる。
【００２５】
リバース・プロキシ・サーバ６０２およびＷｅｂサービス・ゲートウェイ６０４は、許可ポリシー６１４にアクセスすることができる。前に論じた通り、許可ポリシー６１４は、ＷＳＤＬ定義、許可文書などにすることができる。許可ポリシーの例としては、Ａｃｃｔ−ａｕｔｈｚ−ｐｏｌｉｃｙ．ｘｍｌ、ｒｏｌｅ  ｂａｓｅｄ  ａｕｔｈｚなどを含むことができ、Ｅｎｔｅｒｐｒｉｓｅ  ＪａｖａＢｅａｎｓ（Ｒ）、．ＮＥＴアプリケーション、および同様のアプリケーションに適用可能である。リバース・プロキシ・サーバ６０２またはＷｅｂサービス・ゲートウェイ６０４は、要求を受信したことに応答して、その要求に関連する適切な許可ポリシーを検討することができる。サーバ６０２またはゲートウェイ６０４は、許可ポリシー６１４の検討に基づいて要求が保護されていることに応答して、要求を行ったユーザ６０６〜６１０を認証し、要求側ユーザのＩＤを検証することができる。ユーザ６０６〜６１０にはその要求に関して必要な役割を付与することができ、要求を行うことをユーザ６０６〜６１０が許可されていることに応答して、その要求をアプリケーション・サーバ６１６にディスパッチすることができる。
【００２６】
アプリケーション・サーバ６１６は、様々な機能を提供することができる。アプリケーション・サーバ６１６は、メッセージ・ルーティング、オブジェクト交換、トランザクション処理、データ変換、またはその他のデータ処理機能などのサービスを実行するための中央ハブ（central hub）として働くことができる。また、アプリケーション・サーバ６１６は、その他のサーバ、データベース、ネットワークなどへの安全なアクセスを可能にすることもできる。アプリケーション・サーバ６１６は、ＩＢＭ  ＷｅｂＳｐｈｅｒｅ（Ｒ）、．ＮＥＴ、または同様のタイプのアプリケーション・サーバなどにすることができる。ＷｅｂＳｐｈｅｒｅ（Ｒ）は、米国、その他の国、またはその両方におけるＩＢＭ社の登録商標である。アプリケーション・サーバ６１６は、要求されたＷｅｂサービスに関する許可ポリシー６１４に基づいて要求を行うことをユーザ６０６〜６１０が許可されていることに応答して、リバース・プロキシ・サーバ６０２またはＷｅｂサービス・ゲートウェイ６０４からディスパッチされた要求を受信することができる。アプリケーション・サーバ６１６は、アプリケーション・サーバ６１６から遠隔にある可能性のあるデータベースまたはデータ・ソース６１８に存在する可能性のある許可ポリシー６１４にアクセスすることができる。アプリケーション・サーバ６１６は、要求に関連するかまたは要求されたＷｅｂサービスに付加された許可ポリシー６１４に基づいて、要求されたＷｅｂサービスを使用するために許可を執行することができる。
【００２７】
また、ファイアウォール６２０は、アプリケーション・サーバ６１６と、リバース・プロキシ・サーバ６０２およびＷｅｂサービス・ゲートウェイ６０４との間に配置することができる。ファイアウォール６２０は、ファイアウォール６１２とともにシステム６００に関する追加のセキュリティを提供するものである。
【００２８】
図中の流れ図およびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラムについて可能な実現例のアーキテクチャ、機能、および動作を例示するものである。これに関して、流れ図またはブロック図内の各ブロックは、指定の論理機能（複数も可）を実現するための１つまたは複数の実行可能命令を含むモジュール、セグメント、またはコードの一部分を表すことができる。また、代替実現例によっては、そのブロック内に示されている機能は図中に示されている順序とは異なる順序で行うことができることにも留意されたい。たとえば、連続して示されている２つのブロックは実際には実質的に同時に実行される場合もあれば、関連する機能次第で、逆の順序で実行される場合もある。また、ブロック図または流れ図あるいはその両方の各ブロック、ならびにブロック図または流れ図あるいはその両方の複数ブロックの組み合わせは、指定の機能または動作を実行する特殊目的ハードウェアベースのシステム、あるいは特殊目的ハードウェアとコンピュータ命令の組み合わせによって実現することができることにも留意されるであろう。
【００２９】
本明細書で使用する用語は、特定の実施形態を説明することのみを目的とし、本発明を制限することを意図するものではない。    
【００３０】
本明細書では特定の実施形態を例示し説明してきたが、当業者であれば、図示されている特定の実施形態の代わりに同じ目的を達成するように計算された任意の配置を代用することができ、本発明は他の環境では他の応用が可能であることが分かるであろう。本出願は、本発明の任意の適応例または変形例を包含することを意図している。特許請求の範囲は、いかなる点においても、本明細書に記載した特定の実施形態に本発明の範囲を限定することを意図するものではない。
【図面の簡単な説明】
【００３１】
【図１】本発明の一実施形態によりＷｅｂサービスに関する許可ポリシーを実現するための方法の一例を示す流れ図である。
【図２】本発明の他の実施形態によりＷｅｂサービスに関する許可ポリシーを実現するための方法の一例を示す流れ図である。
【図３】本発明の一実施形態によりポート・タイプにポリシーを付加するためにＷｅｂサービス記述言語（ＷＳＤＬ）で作成されたプログラムまたはコンピュータで実行可能なコードの一例を示す図である。
【図４】本発明の一実施形態により異なる名前の個人に関する役割を定義するための許可ポリシー・ファイルについてＷＳＤＬで作成されたプログラムまたはコンピュータで実行可能なコードの一例を示す図である。
【図５】本発明の他の実施形態によりＷｅｂサービスに関する許可ポリシーを実現するための方法の一例を示す流れ図である。
【図６】本発明の一実施形態によりＷｅｂサービスに関する許可ポリシーを実現するための模範的なシステムを示す図である。
【図１】
2008537823.tif 000003
【図２】
2008537823.tif 000004
【図３】
2008537823.tif 000005
【図４】
2008537823.tif 000006
【図５】
2008537823.tif 000007
【図６】
2008537823.tif 000008
【国際調査報告】
2008537823.tif 000009
2008537823.tif 000010
2008537823.tif 000011