JP5432888B2 - ウェブサービスリソースへのアクセスの認可 - Google Patents

ウェブサービスリソースへのアクセスの認可 Download PDF

Info

Publication number
JP5432888B2
JP5432888B2 JP2010504133A JP2010504133A JP5432888B2 JP 5432888 B2 JP5432888 B2 JP 5432888B2 JP 2010504133 A JP2010504133 A JP 2010504133A JP 2010504133 A JP2010504133 A JP 2010504133A JP 5432888 B2 JP5432888 B2 JP 5432888B2
Authority
JP
Japan
Prior art keywords
request
resource
web service
protected
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010504133A
Other languages
English (en)
Other versions
JP2010525449A (ja
Inventor
ヴィ.マッカートリー クレイグ
ティー.ワイネルト アレキサンダー
メレシュク ヴァディム
イー.ガバーラ マーク
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2010525449A publication Critical patent/JP2010525449A/ja
Application granted granted Critical
Publication of JP5432888B2 publication Critical patent/JP5432888B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • G06F21/335User authentication using certificates for accessing specific resources, e.g. using Kerberos tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Description

ウェブサービスは、近年、人、情報及びプロセスをさらに結び付ける方法として発展してきた。ウェブサービスの利点の1つは、ウェブサービスが複数のプラットフォームに亘って動作する能力及びウェブサービスに変更をすることができる容易性である。ウェブサービスがそれほど成功した理由の1つは、構造化データを表現し、伝送するための標準言語及び共通言語として、プログラミング言語、ソフトウェアプラットフォーム及びハードウェアに依存しないXMLの使用である。
ウェブサービスリソースが適切な人またはシステムによってのみアクセスまたは使用できるように、リソースを保護することが望まれる状況が多く存在する。ウェブサービスリソースを保護する従来の方法は、認証に焦点が当てられ、特に信頼関係を定義することに焦点が当てられている。従来のシステムは、しばしば、信頼された場所からウェブサービスにアクセスする任意の人またはデバイスが、ウェブサービス及び関連するリソースにアクセスできるようにしている。これらの従来のシステムは、ウェブサービスへアクセスするか、またはウェブサービスの使用する特定の要求に対する認可を提供する第三者のための方法を提供しない。むしろ、ウェブサービスは、しばしば、信頼された場所から通信するいかなる人をも信頼するように構成されている。これらの及びその他の問題は、本発明による様々な実施態様によって対処される。
本発明の実施形態は、概してウェブサービスを伴う認可に関する。1つの非限定的な例において、ウェブサービスは、保護されたリソースを含む。リクエスタ(requester)は、保護されたリソースに関してウェブサービスにリクエストを送る。認可がオーソライザ(authorizer)からウェブサービスによって受け取られるまで、ウェブサービスは、保護されたリソースへのアクセスを禁止するように動作する。
本明細書で議論されるように、いくつかの実施形態の態様は、保護されたウェブサービスリソースへのアクセスを制御するコンピューティングシステムに関する。コンピューティングシステムは、通信デバイス、プロセッサ及びメモリを含む。通信デバイスは、通信ネットワークを介して通信する。プロセッサは、通信デバイスに通信可能に接続される。メモリは、プログラム命令を格納し、このプログラム命令は、プロセッサによって実行されるとコンピューティングシステムに、保護されたウェブサービスリソースへのアクセスのリクエストを通信ネットワークから受け取る動作と、保護されたウェブサービスリソースへのアクセスのリクエストが認可されているかを判定する動作と、リクエストが認可されていない場合には、保護されたウェブサービスリソースへのアクセスを拒否する動作と、リクエストが認可されている場合には、保護されたウェブサービスリソースへのアクセスを許可する動作とを行わせる。
いくつかの実施形態の別の態様は、ウェブサービスリソースへのアクセスを認可する方法に関する。この方法は、ウェブサービスリソースを識別するリクエスタからのリクエストを受け取ることと、ウェブサービスリソースへのアクセスに認可が要求されることを判定することと、ウェブサービスリソースにアクセスするためにリクエスタを認可するオーソライザからの認可を受け取ることと、認可をリクエスタに通信することとを含む。
いくつかの実施形態のさらなる態様は、コンピュータによって実行されると、保護されたリソースへのアクセスを認可する方法を実行するコンピュータ実行可能命令を収容したコンピュータ可読媒体に関する。この方法は、ウェブサービスの保護されたリソースを識別するリクエストを受け取ることと、ウェブサービスの保護されたリソースの使用を認可許可する認可を受け取ることと、リクエストが認可されていることを判定することと、認可をリクエスタに通信することとを含む。
この発明の概要は、発明を実施するための形態において以下にさらに説明されている概念の抜粋を単純化した形式で紹介するために提供されている。この発明の概要は、請求項に記載された事項の重要なまたは本質的な特徴を特定することを意図しておらず、どのような方法であれ、請求項に記載された事項の範囲を限定するために使用されることも意図していない。
例示の認可システムのブロック図である。 図1の認可システムの態様を実装する例示のコンピューティングシステムの図である。 ウェブサービスリソースへのアクセスを認可する方法の一例を示したフロー図である。 ウェブサービスリソースへのアクセスを認可する方法の別の例を示したフロー図である。 図4に示されたウェブサービスリソースへのアクセスを認可する方法の一例をさらに示したフロー図である。
本開示は、これから、特定の実施形態が示されている添付の図面を参照して例示の実施形態をさらに完全に説明することになる。しかし、他の態様も多くの異なった形態で具現でき、本開示の特定の実施形態に含まれるものは、このような態様を本明細書で説明される実施形態に限定するものとして解釈されるべきではない。図面に描かれた実施形態は、詳細で完全であり、意図された範囲を当業者に十分に伝達する開示を提供するために含められている。図を参照するとき、全体を通じて示される同様の構造及び要素は、同様の参照符号で示されている。
本開示の実施形態は、概してウェブサービスを伴う認可に関する。1つの非限定的な例において、ウェブサービスは、保護されたリソースを含む。リクエスタは、保護されたリソースに関してウェブサービスへリクエストを送る。ウェブサービスは、認可がウェブサービスによってオーソライザから受け取られるまで、保護されたリソースへのアクセスを禁止するように動作する。
図1は、例示の認可システム100のブロック図である。認可システム100は、リクエスタ102、ウェブサービス104、保護リソース(protected resource)106及びオーソライザ108を含む。リクエスタ102、ウェブサービス104及びオーソライザ108は、全てネットワーク110に通信可能に接続されている。
1つの実施形態において、リクエスタ102は、ネットワーク110を介してウェブサービス104とデータ通信するコンピューティングシステムであり、図2に示されたコンピューティングシステム200等である。いくつかの実施形態において、リクエスタ102は、ユーザインタフェースを通じてコンピューティングシステムに入力を提供し、コンピューティングシステムに対して決定を下すユーザからの入力を受け取る。ユーザは、ディスプレイ、マウス、キーボード等、1または複数のユーザインタフェースを通じてコンピューティングシステムと対話(interact)する。いくつかの実施形態において、リクエスタ102は、ネットワーク110を介してウェブサービス104とハイパーテキスト転送プロトコル(HTTP)等のネットワークプロトコルを使用して通信するインターネットエクスプローラ(INTERNET EXPLORER)(登録商標)インターネットブラウザ等のブラウザソフトウェアアプリケーションを動作させる。他の実施形態において、インターネットブラウザ以外の1または複数のソフトウェアアプリケーションがリクエスタ102上で動作する。例示の実施形態において、リクエスタ102は、ウェブサービス104の保護リソース106にアクセスすることを求める。
1つの実施形態において、ウェブサービス104は、ウェブサービスを動作させるウェブサーバ等のコンピューティングシステムである。一般に、ウェブサービス104は、保護リソース106を伴う有用な機能を提供する。ウェブサービスは、ネットワークプロトコルを使用してネットワーク110を通じてアクセスすることができる。ウェブサービスは、際限なく多様な有用な機能を提供するために使用することができる。1つの例は、カレンダーサービスである。クライアントは、カレンダーに約束を追加する等、リクエストをサーバに提供する。ウェブサービスは、クライアントの約束を格納する。後に、クライアントは、格納された約束を見るためにリクエストすることができ、この約束はウェブサービスによって提供される。可能なウェブサービスの他の例は、電子メール配信リストを維持するサービスである。クライアントは、メーリングリストに格納すべきユーザを識別する。サーバは、クライアントのためのリストを格納する。後に、クライアントは、メッセージがサーバによって配信リストの全てのメンバに送られることをリクエストすることができる。ウェブサービスは、リクエストされた機能を行う。可能なウェブサービスの他の例は、ユーザネームを、システム管理者のグループ等のセキュリティグループに追加すること、所与のアクションの認可要件を変更すること、人事スタッフのメンバまたは緊急作業員によってリクエストされたとき等にユーザの個人情報へのアクセスを提供すること、並びに、特定のユーザグループ及び/または本明細書に記載されたプロセス等によって、レコード(record)にアクセスすることを特別に認可されている人々にレコードへのアクセスを限定することを含む。
ウェブサービス104の一例は、図2に示されたコンピューティングシステム200である。ウェブサービス104は、ネットワーク110を介して、リクエスタ102及びオーソライザ108とデータ通信する。ウェブサービスの一例は、Service Oriented Architecture Protocolとも称されるSimple Object Access Protocol(SOAP)に従ってネットワーク110を介して通信するように構成されたコンピューティングシステムである。SOAPは、ワールドワイドウェブの国際標準組織であるワールドワイドウェブコンソーシアムのXMLプロトコルワーキンググループによって、現在、維持管理されているプロトコルである。SOAPは、拡張マークアップ言語(XML)を標準のメッセージフォーマットとして利用する。1つの実施形態において、SOAPメッセージは、HTTP1.1等のHTTPを使用して交換される。
HTTPは、リクエストで始まり、レスポンスで終わる通信のパターンを定義する転送プロトコルである。リクエストメッセージは、(リクエスタ102からウェブサービス104へ等)クライアントからサーバへ送信されるメッセージであり、一般に、リクエスト、ヘッダ、ブランク行(blank line)及びメッセージボディ(message body)を含む。リクエストは、メッセージに関するリソースの識別を含む。HTTPは、識別されたリソース上で行われる所望のアクションを示す複数のリクエストメソッドを定義する。HTTPリクエストメソッドの一例は、Get(ゲット)メソッドである。Getメソッドは、識別されたリソースの表現、またはコピーをリクエストする。HTTPリクエストメソッドの別の例は、Put(プット)メソッドである。Putメソッドは、識別されたリソースの表現をアップロードする。Getコマンドを収容するリクエストメッセージは、GetメッセージまたはGetリクエストと称される。Putコマンドを収容するリクエストメッセージは、PutメッセージまたはPutリクエストと称される。リクエストがウェブサーバによって受信された後、ウェブサーバはクライアントにレスポンスを提供する。レスポンスは、ステータス行(status line)、ヘッダ、ブランク行及びメッセージボディを含む。ステータス行は、ステータスコード及びテキストの理由フレーズ(textual reason phrase)(「Not Found」等)を含む。レスポンスのコンテンツは、リクエストのコンテンツに依存する。例えば、Getメッセージへのレスポンスは、リクエストのとおり、識別されたリソースの表現を含むことになる。
SOAPは、SOAPフォールト(SOAP fault)と称されるメッセージフォーマットも定義する。SOAPフォールトは、一般に、SOAPメッセージフォーマットでエラー情報を伝達するために使用される。SOAPフォールトは、リクエストに従ってクライアントにレスポンスを通信するためにウェブサーバによって使用することができる。1つの例において、SOAP1.2が使用され、そのSOAPフォールトは、コンテキストヘッダ(context header)及びボディを収容するようにする。コンテキストヘッダは、オリジナルリクエストを識別する識別子及びそのリクエストに関連すると判明した任意の認可プロセスを含む。ボディは、本明細書に記載されている詳細エレメント(element)のコンテンツを含む。詳細エレメントのコンテンツは、リクエストされたリソースが、ウェブサービスがさらに処理を続行できる前に認可を要求することを知らせる。
別の実施形態において、ウェブサービス104との通信は、WS−RT(Web Service Resource Transfer)プロトコルに準拠しているSOAP通信を伴う。WS−RTは、ウェブサービスベースのリソースの表現にアクセスするための通信プロトコルを定義する。WS−RTは、Create(クリエイト)メッセージ、Getメッセージ及びPutメッセージを含む。Createメッセージは、XML表現等のオブジェクトの表現を発生するために使用される。所望の表現は、Createメッセージのボディに含まれる。Getメッセージは、リソースの表現のフラグメント(fragment)の表現を取得するために使用することができる。表現のフラグメントは、表現の全体を取得する必要はないような表現の一部である。Getメッセージは、所望のオブジェクトの固有の識別子をメッセージのヘッダに含む。従って、Getメッセージは、固有の識別子が既に知られている単一のオブジェクトをリクエストするために使用される。Putメッセージは、リソースに表現または表現のフラグメントをアップロードするために使用することができる。WS−RTは、フォールト動作を定義して、クライアントへレスポンスを通信する。本明細書内で使用されるように、Get、Put及びFault(フォールト)メッセージは、特定のプロトコルが具体的に特定されない限り、様々なプロトコル(HTTP、SOAP及び様々なウェブサービスプロトコル)を包含する一般タイプのメッセージを参照する。
別の実施形態は、WS−列挙(Enumeration)プロトコルを使用する。WS−列挙プロトコルもワールドワイドウェブコンソーシアムによって維持管理されている。WS−列挙は、列挙(enumerate)メッセージを定義する。列挙メッセージは、クエリの表現とともに送信される。1つの実施形態において、クエリは、XPath言語で書かれる。1つの例として、クエリは、ある基準のセットにマッチした全てのリソースの表現をリクエストする。ウェブサービスは、列挙コンテキストの識別子とともに列挙メッセージにレスポンスをする。クライアントは、その後、列挙コンテキスト識別子を含むPullメッセージを送り、クエリにマッチするいくつのオブジェクトが取得されるべきかを指定する。ウェブサービスは、その後、クエリにマッチするリソースの指定された数とともにレスポンスする。後続のPullメッセージが、その後、サーバに送られて、クエリにマッチするリソースの別のバッチ(batch)取得することができる。このプロセスは、本明細書において、列挙メッセージを送り、レスポンスを受け取るとい一般に参照されることがある。列挙メッセージの利点の1つは、クライアントがある基準にマッチする任意数のリソースをクエリすることを可能にすることである。
別の実施形態は、WS−Tx(Web Service Transfer)プロトコルを利用する。他の有用な機能に加えて、WS−Txは、保護リソースを削除するdeleteメッセージを定義する。
例示の実施形態において、ウェブサービス104は、保護リソース106を含む。保護リソースには、例えば、認可されたクライアントによってのみアクセスされ、使用されまたは変更され得る、ウェブサービス104によって行われる機能及びウェブサービス104によって格納されるデータが含まれる。例えば、ウェブサービス104がグループ配信リストを維持管理するサービスを提供する場合、このグループ配信リストは、認可されたクライアントによってのみアクセスされ、使用されまたは変更され得る保護リソースである。別の例として、保護リソース106は、ディレクトリ内のエントリ(entry)である。別の実施形態において、保護リソース106は、データベース内のレコード(record)である。別の実施形態において、保護リソース106は、メモリ記憶デバイスに格納されたファイルまたはファイルの一部である。他の実施形態は、他の形式の保護リソース106を使用する。
用語「アクセス」は、本明細書において、保護リソース106の任意の変更、修正、追加、削除または使用を参照するのに使用されるときがある。いくつかの実施形態において、保護リソース106の使用は、保護リソース106に格納されたデータを取得することを含む。いくつかの実施形態において、非認可のクライアントが、保護リソース106へのアクセスを得ることができる。例えば、ネットワーク管理者は、いくつかの実施形態において、オーソライザによる特別な認可が無くてもアクセスが可能である。
可能な実施形態において、オーソライザ108は、ウェブサービス104とデータ通信をするコンピューティングシステムである。いくつかの実施形態において、オーソライザ108は、ネットワーク110を介してウェブサービス104にメッセージを通信することが可能なソフトウェアを動作させる。例えば、オーソライザ108は、マイクロソフト(MICROSOFT)(登録商標)アウトルック(OUTLOOK)(登録商標)メッセージング及びコラボレーションクライアントを動作させる。メッセージング及びコラボレーションクライアントは、ネットワーク110を介して、ウェブサービス104に電子メッセージを送信することが可能である。例示の実施形態において、ウェブサービス104は、オーソライザ108に依拠してユーザが保護リソース106を使用するように認可されるべきか否かを判定する。いくつかの実施形態において、オーソライザ108及びウェブサービス104は、同じコンピューティングシステム上で動作する。
ネットワーク110は、リクエスタ102、ウェブサービス104及びオーソライザ108の間のデータ通信経路である。1つの実施形態において、ネットワーク110は、インターネットである。他の実施形態において、ネットワーク110は、ローカルエリアネットワーク、イントラネット、無線ネットワークまたは1の処理デバイスから別の処理デバイスへデータを送信可能な任意の他の通信経路である。
いくつかの実施形態において、ネットワーク110を介したデータ通信は、ネットワーク通信プロトコルに従って行われる。1つの可能な例において、HTTPがリクエスタ102、ウェブサービス104及びオーソライザ108の間のデータ通信に使用される。別の実施形態においては、SOAPに従う。別の実施形態においては、WS−RTプロトコルに従う。他の実施形態は、他のデータ通信プロトコルを使用する。
いくつかの実施形態において、ユーザは彼ら自ら主張している者であることを保証するように認証される。認証の一例は、Craig V. McMurtry, Alexander T. Weinert, Vadim Meleshuk, and Mark E. Gabarraによる2008年2月1日に出願された「REQUEST-SPECIFIC AUTHENTICATION FOR ACCESSING WEB SERVICE RESOURCES」と題された米国特許出願第12/024,901号に記載されており、当該文献の全開示内容は、参照によってここに組み込まれる。
図2は、本開示の態様を実装する例示のコンピューティングシステム200である。1つの実施形態において、コンピューティングシステム200は、ウェブサービス104である。別の実施形態において、コンピューティングシステム200は、リクエスタ102である。別の実施形態において、コンピューティングシステム200は、オーソライザ108である。
その最も基本的な構成において、コンピューティングシステム200は、通常、少なくとも1つの処理ユニット202及びメモリ204を含む。コンピューティングシステムの正確な構成及びタイプに応じて、メモリ204は、揮発性(RAM等)、不揮発性(ROM、フラッシュメモリ等)またはこの2つの何らかの組み合わせとすることができる。この最も基本的な構成は、図2において破線206によって示されている。さらに、コンピューティングシステム200は、追加の特徴/機能を有していてもよい。例えば、コンピューティングシステム200は、限定するものではないが、磁気または光学のディスクまたはテープを含む追加の記憶装置(リムーバブル及び/又は非リムーバブル)を有していてもよい。このような追加の記憶装置は、図2において、リムーバブル記憶装置208及び非リムーバブル記憶装置210によって示されている。
コンピューティングシステム200は、通常、少なくとも何らかの任意の形式のコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピューティングシステム200によってアクセスすることができる任意の利用可能な媒体とすることができる。例示であって限定するものではないが、コンピュータ可読媒体は、コンピュータ記憶媒体及び通信媒体を備えることができる。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータ等の情報の格納のための任意の方法または技術において実装される揮発性及び不揮発性の媒体、リムーバブル及び非リムーバブルの媒体を含む。コンピュータ記憶媒体は、限定するものではないが、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)もしくは他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または所望の情報を格納するために使用することができ、コンピューティングシステム200によってアクセスすることができる任意の他の媒体を含む。通信媒体は、通常、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータを搬送波または他の転送メカニズム等の変調データ信号に具体化し、任意の情報伝送媒体を含む。用語「変調データ信号」は、信号に情報を符号化するような態様でその特性の1または複数を設定また変化した信号を意味する。例示であって限定するものではないが、通信媒体は、有線ネットワークまたは直接配線接続等の有線媒体、及び音響、RF、赤外線、他の無線媒体などの無線媒体を含む。任意の上記の組み合わせは、コンピュータ可読媒体の範囲内に含まれるべきである。このようなコンピュータ記憶媒体は、コンピューティングシステム200の一部とすることができる。
コンピューティングシステム200は、コンピューティングシステムが他のデバイスと通信することを可能とする通信接続(1または複数)212を収容してもよい。通信接続(1または複数)212は、通信媒体の一例である。通信媒体は、通常、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータを搬送波または他の転送メカニズム等の変調データ信号に具体化し、任意の情報伝送媒体を含む。用語「変調データ信号」は、信号に情報を符号化するようにその特性の1または複数を設定また変化した信号を意味する。例示であって限定するものではないが、通信媒体は、有線ネットワークまたは直接配線接続等の有線媒体、及び音響、RF、赤外線、他の無線媒体などの無線媒体を含む。本明細書で使用される用語コンピュータ可読媒体は、記憶媒体及び通信媒体の両方を含む。
コンピューティングシステム200は、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイス等の入力デバイス(1または複数)214を含んでもよい。ディスプレイ、スピーカ、プリンタ等の出力デバイス(1または複数)216も含まれ得る。これらのデバイスの全ては、当該技術おいて周知であり、ここで詳細に論ずる必要はない。
いくつかの実施形態において、メモリ204は、1または複数のオペレーティングシステム220、アプリケーションプログラム222、他のプログラムモジュール224及びプログラムデータ226を含む。アプリケーションプログラム222の例は、ウェブサービスソフトウェアアプリケーション、インターネットブラウザソフトウェアアプリケーション、メッセージング及びコラボレーションクライアントソフトウェアアプリケーションまたは様々な他のソフトウェアアプリケーションを含む。可能な実施形態において、プログラムモジュール224及びプログラムデータ226のいずれかも保護データを含む。
図3は、ウェブサービスリソースへのアクセスを認可する例示の方法300を示したフロー図である。方法300は、動作302及び動作304を含む。方法300は、動作302で始まり、その間に、リクエストがリソースに関してなされる。1つの実施形態において、動作302は、保護リソースによって提供される機能を利用するためにリクエスタによる試行を伴う。リソースは保護されているので、リクエスタは、保護リソースを使用することを自動的には許されない。むしろ、リクエストが最初に認可されなければならない。従って、動作302は次に、リクエストが認可される間に行われる。1つの実施形態において、動作302は、オーソライザからの認可を受信することを伴う。認可が受信されると、リクエスタは、保護リソースを利用することを許される。他の可能な実施形態において、動作302は、保護リソースにアクセスするリクエストを含む。
図4は、ウェブサービスリソースの使用を認可する例示の方法400を示したフロー図である。方法400は、動作402、404、406及び408を含む。方法400は、動作402で始まり、その間に、リソースリクエストがなされる。1つの可能な実施形態において、動作402は、リクエスタ102からウェブサービス104へリクエストを送信することを伴う。ウェブサービス104は、リソースリクエストを受信し、リクエストが保護リソースに関することを判定する。ウェブサービス104は、その後、リクエスタ102が保護リソースにアクセスすることを認可されたかを評価する。例示の例において、リクエスタ102は、認可されていないので、リソースへのアクセスは、認可があるまで禁止される。
可能な実施形態において、動作404がその後、行われて、リソースリクエストのステータスをチェックする。いくつかの実施形態において、動作404は、行われない。動作404の一例において、リクエスタ102は、ウェブサービスを定期的にポーリング(poll)してリクエストのステータスを判定する。ウェブサービス104は、ステータスとともにリクエスタ102にレスポンスする。例示の例において、ウェブサービス104は、リクエスタ102に、リクエストがまだ認可されていないことを知らせる。いくつかの実施形態において、ポーリングは、リクエスタ102のユーザが、インターネットブラウザソフトウェアアプリケーションのリフレッシュオプションを選択したときに行われる。別の実施形態において、ポーリングは、リクエスタ102上で稼動しているソフトウェアアプリケーションによって定期的に行われる。
動作406は、リソースが動作402においてリクエストされた後に行われて、リクエストを認可する。1つの実施形態において、動作406は、リクエストを認可するためにオーソライザ108からウェブサービス104へメッセージを送信することを伴う。リクエストが認可された後、動作408が行われて、保護リソースがいまから利用できることをリクエスタに通知する等、リクエストが認可されたことを通信する。他の実施形態においては、リクエストが認可されていることを通信するよりむしろ(またはこれに加えて)動作408は、リクエストされたとおり保護リソースへのアクセスを提供するように進行する。
図5は、ウェブサービスリソースの使用を認可する例示の方法500を示したフロー図である。この例において、方法500は、リクエスタ102、オーソライザ108及びウェブサービス104の対話を伴う。さらに、方法500は、図4に図示され、図4を参照して説明される動作402、404、406及び408のさらに具体的な例を含む。図5において、システムから送信される通信は、それぞれのシステムから下に伸びている破線から出ている矢印によって表されている。さらに、システムによって受信される通信は、それぞれのシステムから下に伸びている破線で終端する矢印によって表されている。
例示のシナリオにおいて、リクエスタ102は、ウェブサービス104上で動作しており、ウェブサービス104よって保護されている保護リソース106へのアクセスを得ることを望む。しかし、アクセスが許可される前に、ウェブサービス104は、認可がオーソライザ108から受信されることを要求する。
この実施形態において、方法500は、動作402、404、406及び408を含む。方法500は、動作402で始まり、その間に、保護リソース106を使用するためにリクエストがリクエスタ102によってウェブサービス104に対してなされる。動作404は、動作402に続いてオプションで行われ、その間に、リクエスタ102がリクエストのステータスをチェックする。動作406は、動作402の後に行われる。動作406は、リクエストを認可するためにオーソライザ108からウェブサービス104へ認可を送信することを伴う。リクエストが認可されると、動作408が行われ、その間に、リクエストが認可されたことをリクエスタ102に知らせるためにウェブサービス104からリクエスタ102へ通信が送信される。
方法500の一例を完全に説明するために、動作402、404、406及び408は、様々な動作を含むものとしてそれぞれ例示されている。これらの動作は、ウェブサービスリソースの使用を認可する方法の一例としてのみ示されている。この実施形態において、動作402は、動作520、522及び524を含む。動作520が最初に行われ、その間に、リクエストがリクエスタ102からウェブサービス104に送信され、保護リソース106の使用及び保護リソース106へのアクセスをリクエストする。1つの実施形態において、動作520は、リクエスタ102からウェブサービス104へCreateメッセージを送信することを伴う。ウェブサービス104は、リクエストを受信し、保護リソース106が認可を要求するか否かを評価し、そうであれば、リクエスタ102が以前に認可されているかを評価する。そうでなければ、ウェブサービス104は、リクエスタ102が保護リソース106へアクセスし、または保護リソース106を使用することができる前に、認可が要求されることを判定する。
ウェブサービス104が、認可が要求されることを判定すると、動作522が行われ、その間に、ウェブサービス104がリクエストリソース502を発生する。リクエストリソース502は、ウェブサービス104によって使用されて、動作520において受信されたリクエストのステータスをトラッキングする。例えば、リクエストリソース502は、動作520においてなされたリクエストが認可されているか否かを識別するデータを収容する。最初に発生されたとき、リクエストリソース502は、リクエストがまだ認可されていないことを識別する。認可がその後に受信されると、(本明細書において説明された動作550において行われるように)リクエストリソース502が更新されて、リクエストが認可されていることを識別する。1つの実施形態において、リクエストリソース502は、拡張マークアップ言語(XML)によって定義される。リクエストリソーススキーマの1つの実施形態は以下のとおりである。
リクエストリソーススキーマの例
Figure 0005432888
Figure 0005432888
Figure 0005432888
上に提供した例示のリクエストリソーススキーマ例において、Status、Details、ApprovalProcesses、ApprovalResponses、Data、ReferenceProperty、Action、Body、RequiredApproval、Actions及びRequestを含む、いくつかのエレメントが定義される。この例において、Statusエレメントは、認可されているまたは認可されていない等のリクエストのステータスを収容する。Detailsエレメントは、オリジナルリクエストの記述を含む。ApprovalProcessesエレメントは、リクエストに関連する承認プロセスの固有の識別子を格納する。ApprovalResponsesエレメントは、承認(approval)レスポンスの固有の識別子を収容する。Dataエレメントは、オリジナルリクエストによって取得される任意のデータを収容する。ReferencePropertyエレメントは、オリジナルリクエストのターゲット(target)を識別するWS−Addressing(Web Services addressing)リファレンスプロパティ(reference property)を収容する。Actionエレメントは、オリジナルリクエストのアクションヘッダを収容する。RequiredApprovalエレメントは、オーソライザ108の識別子等の承認オブジェクトの固有の識別子を格納する。このようにして、各保護リソースは、そのリソースに対する認可を提供することを可能にする異なるオーソライザを含むことができる。これは、いくつかの実施形態において、1のオーソライザによって取り扱われるべき1のトピックまたはタイプのリソースに関する認可を可能にし、別のオーソライザによって取り扱われるべき別のトピックまたはタイプのリソースに関する認可を可能にするために有用である。Actionsエレメントは、リクエストを認可するのに使用される承認アクションタイプの固有の識別子を収容する。Requestエレメントは、例えば、Status、Details、ApprovalProcesses及びDataエレメントのコピーを収容するラッパー(wrapper)である。
リクエストスキーマの別の例は以下のとおりである。
リクエストリソーススキーマの第2例
Figure 0005432888
Figure 0005432888
Figure 0005432888
上に提供したリクエストリソーススキーマの第2例において、Parameter、Operation、Target、BusinessJustification、RequestStatus、RequestStatusDetails、AuthenticationWorkflowInstance及びActionWorkflowInstanceを含む、いくつかのエレメントが定義される。この例において、Parameterエレメントは、ウェブサービス104のリクエストディスパッチャ(Request Dispatcher)によって書かれる。Parameterエレメントは、動作524において送信されるメッセージのボディの正規化表現(normalized representation)を収容する。
Operationエレメントは、動作520においてなされたリクエストによってリクエストされた動作の識別を収容する。いくつかの実施形態において、Operationエレメントは、「Create」、「Read」、「Update」、「Delete」、「Enumerate」及び「SystemEvent」から選択される値を収容する。Targetエレメントは、動作が参照しているターゲットオブジェクトへの参照を収容する。
BusinessJustificationエレメントは、保護リソース106へのアクセスがなぜ必要なのかに関する追加の情報をオーソライザ108に提供する、リクエスタ102によって入力されたテキストベースのメッセージを収容する。
RequestStatusエレメントは、リクエストの現在のステータスを収容する。いくつかの実施形態において、RequestStatusは、「Not Found」、「Validating」、「Validated」、「Authenticating」、「Authenticated」、「Authorizing」、「Authorized」、「Denied」、「Processing」、「ProcessingEffects」、「Completed」、及び「Cancelled」から選択される値を収容する。
RequestStatusDetailsエレメントは、リクエスタ102へのフィードバックを提供するために使用されるアトリビュート(attribute)を収容する。フィードバックの例には、リクエスタ102へ送信されるエラーメッセージまたは情報が含まれる。
AuthenticationWorkflowInstancesは、起動されている全ての認証ワークフローインスタンスへの参照を収容する。
AuthorizationWorkflowInstancesは、起動されている全ての認可ワークフローインスタンスへの参照を収容する。
ActionWorkflowInstancesは、起動されている全てのアクションワークフローインスタンスへの参照を収容する。
リクエストリソース502は、ウェブサービス104によってアクセスできるように格納される。1つの可能な実施形態において、リクエストソース502は、ディレクトリ内のエントリである。別の実施形態において、リクエストソース502は、データベース内のレコードである。別の実施形態において、リクエストリソース502は、メモリ記憶デバイス上に格納されたファイルまたはファイルの一部である。
リクエストソース502の発生に続いて、動作524がその後に行われて、リクエストがウェブサービス104によって処理することができる前に認可が要求されることをリクエスタ102に知らせる。1つの実施形態において、動作524は、SOAPフォールトの形式のレスポンスを送信することを伴う。SOAPフォールトは、detailエレメントのコンテンツを含む。いくつかの実施形態において、detailエレメントは、WS−Addressingのエンドポイントリファレンス(endpoint reference)も含み、これは、ウェブサービスエンドポイント(WS−RTエンドポイント等)のアドレスを収容する。いくつかの実施形態において、エンドポイントリファレンスは、リソースを参照する参照プロパティを収容する。いくつかの実施形態において、動作524は、動作522の前に行われる。
動作402に続いて、オプションの動作404が行われる。動作404は、一般に、リクエストが認可されているか否かを判断する等、リクエスタ102がリクエストのステータスのチェックをすることができるプロセスである。動作404は、動作530、532、534及び536を含む。動作404は、動作530で始まり、その間に、リクエスタ102がウェブサービス104へクエリを送信してリクエストのステータスを照会する。1つの実施形態において、動作530は、リクエスタ102からウェブサービス104へGetメッセージを送信することを伴う。Getメッセージは、動作524のSOAPフォールトによって提供されるようなリクエストリソースのアドレスを含む。別の実施形態において、動作530は、リクエスタ102からウェブサービス104へ列挙メッセージを送信することを伴う。
別の実施形態において、動作530は、動作520においてなされたリクエストに関連するWS−SecureConversationコンテキストヘッダを含む等、動作520においてなされてリクエストを再サブミットすることを伴う。リクエストは、動作524においてレスポンスによって提供されるアドレスへ送信される。
ステータスクエリがウェブサービス104によって受信されると、動作532がその後に行われる。動作532の間に、ウェブサービス104は、リクエストリソース502にクエリしてリクエストのステータスを判定する。実施形態の一例において、リクエストリソース502は、データベース内に格納される。この実施形態において、動作532は、例えば、ウェブサービス104がSQL(Structured Query Language)のSelectステートメントを実行してリクエストリソース502の表現をリクエストすることを伴う。実施形態の別の例において、リクエストリソース502は、ディレクトリのエントリである。この実施形態において、動作532は、ウェブサービス104がLDAPクエリを実行することを伴う。
動作534がその後に行われ、その間に、リクエストリソース502がウェブサービス104へ戻される。ウェブサービス104は、リクエストソース502を読み、リクエストのステータスを判定する。例えば、ウェブサービス104は、リクエストリソース502の「Status」エレメントを読んで、リクエストが認可されているか否かを判定する。ステータスが判定されると、動作536が行われ、その間に、ステータスがリクエスタ102へ通信し戻される。例示の実施形態において、リクエストはまだ認可されておらず、そのため、ウェブサービス104は、リクエストがまだ認可されてない旨を示すメッセージを送信する。いくつかの実施形態において、動作536は、GetまたはEnumerateメッセージへレスポンスを送信することを伴う。
リクエスタ102が動作402のリクエストをなした後のある時点で、オーソライザ108はリクエストを認可または拒否する。例示の実施形態において、オーソライザ108は、動作406においてリクエストを認可する。動作406は、動作540で始まり、その間に、認可がオーソライザ108からウェブサービス104へ送信される。1つの実施形態において、認可がオーソライザ108からウェブサービス104へメッセージを通じて通信される。オーソライザ108が、リクエストは認可されるべきではないと判定する場合、オーソライザ108は、リクエストは認可されないことになるとウェブサービス104に知らせる拒絶(rejection)メッセージを送信する。1つの実施形態において、拒絶も、Putメッセージを使用して通信される。Putメッセージは、例示のリクエストリソーススキーマによって定義されたフォーマットでリソースのDataエレメントを更新するために使用される。別の可能な実施形態において、WS−SecureConversationトークンが、例えば、MICROSOFT(登録商標).NET framework3.5及びDurable Servicesを利用することによって提供される。
別の可能な実施形態において、オーソライザ108は、別個のリソースを作成することによって認可のリクエストに対してレスポンスする。1つの例として、オーソライザ108は、WS−TransferのCreateメッセージを送信することによって動作540を行う。作成(create)メッセージは、認可のリクエストに対するレスポンスを記述する情報を収容する別個のリソース(Approval Responseリソース)を作成するように働く。ApprovalResponseリソースに関するスキーマの一例を以下に示す。
ApprovalResponceリソーススキーマの例
Figure 0005432888
Figure 0005432888
上に提供したApproval Responseリソーススキーマの例において、Approval、Decision及びReasonを含む、いくつかのエレメントが定義される。Approvalエレメントは、オーソライザ108への参照を収容する。Decisionエレメントは、動作520においてなされるリクエストに対するオーソライザ108からのレスポンスを示す文字列(string)を収容する。1つの実施形態において、Decisionエレメントは、「Approved」または「Rejected」のどちらかの値を有する。理由(reason)エレメントは、リクエストがなぜ承認されるかまたはなぜ拒絶されるかに関する追加の情報を提供するオーソライザ108からのテキストメッセージを収容する。他の実施形態は、他のリソース及びリソーススキーマを含む。
1つの実施形態において、オーソライザ108は、認可を待っているリクエストを表示するウェブサイトにアクセスすることによって、動作406を開始する等のために認可が要求されることを判定する。例えば、ウェブサービス104は、ウェブサーバとして働き、オーソライザ108上で動作しているブラウザにウェブサイトを送信する。別の実施形態において、オーソライザ108は、定期的にウェブサービス104をポーリングして認可されるべく待機しているリクエストをチェックするソフトウェアアプリケーションを走らせる。例えば、ソフトウェアアプリケーションは、オーソライザ108上で動作して、認可を待っているリクエストを定期的にチェックする。別の実施形態において、ウェブサービス104は、オーソライザ108と通信してリクエストが認可を待っていることをオーソライザ108に知らせる。この一例は、2007年11月15日に出願され、「MODELING USER-INITIATED REQUESTS AND STATUS UPDATES WITHIN AN E-MAIL MESSAGE」と題された米国特許出願第11/931,004号に記載されており、当該文献の全開示は、参照によってここに組み込まれる。
動作542及び546がその後に行われ、その間に、ウェブサービス104がリクエストリソース502のコピーを取得する。1つの例示の実施形態において、リクエストリソース502は、データベースに格納される。この実施形態において、動作542は、ウェブサービス104がSQLのSelectステートメントを実行してリクエストリソース502の表現をリクエストすることを伴う。別の例示の実施形態において、リクエストリソース502は、ディレクトリ内のエントリである。この実施形態において、動作542は、ウェブサービス104がLDAPクエリを実行することを伴う。リクエストされたリソースは、その後、動作546においてウェブサービス104へ戻される。
認可が受信されると、動作548がその後に行われ、その間に、もともとリクエストされた動作が、保護リソース106を伴って行われる。例えば、ユーザネームがグループ配信リストに加えられる。本明細書において説明されているように、多くの他の動作が、ウェブサービス104によって行うことができる。
認可が受信された後、動作550が行われる。動作550において、ウェブサービス104がリクエストリソース502のステータスを更新する。1つの実施形態において、これは、リクエストリソース502のstatusエレメントを変更して、リクエストに関して認可が受信されていることを示すことを伴う。別の実施形態において、リクエストリソース502は、動作548の結果とともに更新されて、リクエストされた動作が行われるときに起こったことを記録する。例えば、リクエストリソース502は、statusエレメントにおいて更新されて、リクエストが認可されたことを示す。別の例として、リクエストリソース502が更新されて、ユーザネームがグループ配信リストに加えられたことを示す。このことは、例えば、リクエストが認可されたときにどの動作が行われただけではなく、動作の結果のレコードも提供するために有用である。
動作552は、人kあが受信された後に行われる。動作552の間に、ウェブサービス104は、オーソライザ108と通信して承認の受理を確認する。1つの実施形態において、動作552は、ウェブサービス104からオーソライザ108へPut Responseメッセージを送信することを伴う。代替の実施形態において、動作548、550及び552は、任意の順序で行うことができる。例えば、ウェブサービス104は、動作548においてリクエストされた動作を行うのに先立って、リクエストリソース502のステータスを更新することができる。さらに、動作552は、動作540に続く任意の時点で行って、認可が成功裏に受理されたことをオーソライザ108に通信する。
認可が受信されると、動作408が行われて、認可の事実をリクエスタ102に通信する。動作404において、認可がまだ受信されていないことをリクエスタが通知され、動作408において、認可が既に受信されていることをリクエスタが通知されることを除いて、動作408は動作404と同じである。可能な実施形態において、動作404は、認可が受信されていることを示す動作406が行われるまで定期的に行われる。
例示の実施形態において、動作408は動作560で始まり、その間に、リクエスタ102はウェブサービス104にクエリを送信してリクエストのステータスを照会する。1つの実施形態において、動作560は、リクエスタ102からウェブサービス104へGetメッセージを送信することを伴う。Getメッセージは、動作524のSOAPフォールトによって提供されるような、リクエストリソースのアドレスを含む。別の実施形態において、動作560は、リクエスタ102からウェブサービス104へEnumerateメッセージを送信することを伴う。別の実施形態において、動作560は、リクエスタ102上で動作するブラウザを介してウェブページをリフレッシュすることを伴う。
動作562及び564がその後に行われ、その間に、ウェブサービス104は、リクエストリソース502のコピーをリクエストし、リクエストソース502のコピーを受信する。1つの実施形態において、動作562は、ウェブサービス104がリクエストリソース502にクエリしてリクエストのステータスを判定することを伴う。動作564がその後に行われて、その間に、リクエストリソース502がウェブサービス104に返送される。リクエストリソース502がウェブサービス104によって取得されると、リクエストリソース502をレビューしてリクエストのステータスを判定する。例示の例において、リクエストは、動作540において認可されている。従って、動作566が行われて、リクエストが認可されていることをリクエスタ102に知らせる。1つの実施形態において、動作566は、GetまたはEnumerateメッセージへレスポンスを送信することを伴う。いくつかの実施形態において、レスポンスは、オリジナルリクエストによって保護リソース106からリクエストされる情報(dataエレメントからのデータ)を含む。
上記の図面を参照して本開示の実施形態を説明してきたが、当業者に容易に想到されるであろうし、本開示の範囲及び精神に包含される、開示の実施形態に対する多くの変更を行うことができることが理解されるべきである。実際、現在の好ましい実施形態が本明細書で説明されてきたが、本開示の範囲内にある様々な変形及び変更を行うことができる。
同様に、本開示は、構造的特徴、方法的アクト及びこのようなアクトを収容するコンピュータ可読媒体に特有の言葉を使用したが、添付の特許請求の範囲に記載の主題は、本明細書に記載された特定の構造、アクト、特徴または媒体に必ずしも限定されないことが理解されるべきである。むしろ、上述の特定の特徴及びアクトは、請求項を実装する例示の形態として開示されている。当業者は、本発明の範囲及び精神内にある他の実施形態または改良を認識するであろう。従って、特定の構造、アクトまたは媒体は、単に例示の実施形態として開示されている。

Claims (11)

  1. 保護されたウェブサービスリソースへのアクセスを制御するコンピューティングシステムであって、
    通信ネットワークを介して通信する通信デバイスと、
    前記通信デバイスに通信可能に接続されたプロセッサと、
    プログラム命令を保存するメモリであって、前記プログラム命令が前記プロセッサによって実行されると、前記コンピューティングシステムに、
    前記保護されたウェブサービスリソースにアクセスするリクエストを前記通信ネットワークから受信することと、
    前記保護されたウェブサービスリソースへのアクセスに対し認可が要求されるかを判定することと、
    前記認可が要求される場合に、前記リクエストのステータスに関するデータを格納するリクエストリソースを発生し、格納することであって、前記リクエストリソースは、前記保護されたウェブサービスリソースへのアクセスが認可されているかを識別するデータを収容することを含むことと、
    前記保護されたウェブサービスリソースにアクセスするリクエストが認可されているかを判定することと、
    前記リクエストが認可されている場合、前記リクエストリソースに前記保護されたウェブサービスリソースへのアクセスが認可された旨を示すデータを格納し、同時に前記保護されたウェブサービスリソースへのアクセスを許可することと、
    前記リクエストが認可されていない場合、前記保護されたウェブサービスリソースへのアクセスを拒否することと
    を備えた動作を行わせる、メモリと
    を備えたことを特徴とするコンピューティングシステム。
  2. 前記リクエストを受信することは、create(クリエイト)メッセージを受信することを備えたことを特徴とする請求項1に記載のコンピューティングシステム。
  3. 前記リクエストリソースは、拡張マークアップ言語によって定義されることを特徴とする請求項1に記載のコンピューティングシステム。
  4. 前記リクエストリソースは、
    行われる動作の識別子を格納する第1のエレメントと、
    前記保護されたウェブサービスリソースにアクセスするリクエストの現在のステータスの識別子を格納する第2のエレメントと、
    を備えたことを特徴とする請求項3に記載のコンピューティングシステム。
  5. 前記リクエストリソースは、status(ステータス)エレメント、detail(ディテール)エレメント、approval process(アプルーバルプロセス)エレメント及びdata(データ)エレメントのコピーを格納するrequest(リクエスト)エレメントをさらに備えたことを特徴とする請求項4に記載のコンピューティングシステム。
  6. 前記保護されたウェブサービスリソースにアクセスするリクエストが認可されているかを判定することは、前記リクエストが前記リクエストリソースから認可されているかを識別するデータを取得することを備えたことを特徴とする請求項1に記載のコンピューティングシステム。
  7. 前記保護されたウェブサービスリソースへのアクセスを拒否することは、前記ネットワークを介してフォールト(fault)メッセージを送信することを備えたことを特徴とする請求項1に記載のコンピューティングシステム。
  8. 前記保護されたウェブサービスリソースへのアクセスを許可することは、前記保護されたリソースを変更すること、前記保護されたリソースを修正すること、前記保護されたリソースに追加すること、前記保護されたリソースを削除すること、前記保護されたリソースを修正すること及び前記保護されたリソースを使用することを備えたグループから選択された動作をさらに備えたことを特徴とする請求項1に記載のコンピューティングシステム。
  9. コンピューティングシステム内のウェブサービスリソースへのアクセスを認可する方法であって、前記コンピューティングシステム内のコンピューティングデバイスが、
    ウェブサービスリソースを識別するリクエスタからのリクエストを受信することと、
    認可が前記ウェブサービスリソースにアクセスするために要求されることを判定することと、
    前記認可が要求される場合に、前記リクエストのステータスに関するデータを格納するリクエストリソースを発生し、格納することであって、前記リクエストリソースは、前記保護されたウェブサービスリソースへのアクセスが認可されているかを識別するデータを収容することを含むことと、
    前記ウェブサービスリソースにアクセスするために前記リクエスタを認可するオーソライザからの認可を受信することと、
    前記リクエストリソースに前記保護されたウェブサービスリソースへのアクセスが認可された旨を示すデータを収容し、同時に前記保護されたウェブサービスリソースへのアクセスを許可することと、
    前記リクエスタのステータス照会に応答して、前記認可を前記リクエスタに通知することと、
    を備えることを特徴とする方法。
  10. コンピュータによって実行されると保護されたリソースへのアクセスを認可する方法を行うコンピュータ実行可能命令を収容したコンピュータ可読記憶媒体であって、前記方法は、
    ウェブサービスの前記保護されたリソースを識別するリクエスタからのリクエストを受信することとであって、前記リクエストを受信することは、
    認可が前記保護されたウェブサービスリソースへのアクセスに要求されるかを判定することと、
    前記リクエストのステータスに関するデータを格納するリクエストに関連するリクエストリソースを発生し、格納することであって、前記リクエストリソースは、前記リクエストが認可されているかを識別するデータを収容することを含むことと、
    前記ウェブサービスの前記保護されたリソースの使用を認可する認可を受信することと、
    前記リクエストが認可されていることを判定することと、
    前記リクエストリソースに前記リクエストが認可された旨を示すデータを格納し、同時に前記保護されたウェブサービスリソースへのアクセスを許可することと、
    前記リクエスタのステータス照会に応答して前記認可を前記リクエスタへ通知することと、
    を備えることを特徴とするコンピュータ可読記憶媒体。
  11. 前記方法は、前記リクエストが認可されていることを判定することの後に前記保護されたリソースへのアクセスを可能にすることをさらに備えることを特徴とする請求項10に記載のコンピュータ可読記憶媒体。
JP2010504133A 2007-04-20 2008-03-18 ウェブサービスリソースへのアクセスの認可 Active JP5432888B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US91299307P 2007-04-20 2007-04-20
US60/912,993 2007-04-20
US12/024,896 US7979896B2 (en) 2007-04-20 2008-02-01 Authorization for access to web service resources
US12/024,896 2008-02-01
PCT/US2008/057376 WO2008130761A1 (en) 2007-04-20 2008-03-18 Authorization for access to web service resources

Publications (2)

Publication Number Publication Date
JP2010525449A JP2010525449A (ja) 2010-07-22
JP5432888B2 true JP5432888B2 (ja) 2014-03-05

Family

ID=39873558

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010504133A Active JP5432888B2 (ja) 2007-04-20 2008-03-18 ウェブサービスリソースへのアクセスの認可

Country Status (5)

Country Link
US (1) US7979896B2 (ja)
EP (1) EP2140394B1 (ja)
JP (1) JP5432888B2 (ja)
CN (1) CN101663671B (ja)
WO (1) WO2008130761A1 (ja)

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9710852B1 (en) 2002-05-30 2017-07-18 Consumerinfo.Com, Inc. Credit report timeline user interface
US8656472B2 (en) * 2007-04-20 2014-02-18 Microsoft Corporation Request-specific authentication for accessing web service resources
US8510472B1 (en) * 2007-09-27 2013-08-13 Avaya Inc. Presence-based mechanism to include visiting associates in location-specific email distribution lists
US8127986B1 (en) 2007-12-14 2012-03-06 Consumerinfo.Com, Inc. Card registry systems and methods
US9990674B1 (en) 2007-12-14 2018-06-05 Consumerinfo.Com, Inc. Card registry systems and methods
US8132238B2 (en) 2008-05-13 2012-03-06 Ebay Inc. System and method for identity authentication for service access without use of stored credentials
US8229812B2 (en) 2009-01-28 2012-07-24 Headwater Partners I, Llc Open transaction central billing system
US8832777B2 (en) 2009-03-02 2014-09-09 Headwater Partners I Llc Adapting network policies based on device service processor configuration
US8402111B2 (en) 2009-01-28 2013-03-19 Headwater Partners I, Llc Device assisted services install
US8391834B2 (en) 2009-01-28 2013-03-05 Headwater Partners I Llc Security techniques for device assisted services
US8346225B2 (en) 2009-01-28 2013-01-01 Headwater Partners I, Llc Quality of service for device assisted services
US8406748B2 (en) 2009-01-28 2013-03-26 Headwater Partners I Llc Adaptive ambient services
US8275830B2 (en) * 2009-01-28 2012-09-25 Headwater Partners I Llc Device assisted CDR creation, aggregation, mediation and billing
US8589541B2 (en) 2009-01-28 2013-11-19 Headwater Partners I Llc Device-assisted services for protecting network capacity
US8312033B1 (en) 2008-06-26 2012-11-13 Experian Marketing Solutions, Inc. Systems and methods for providing an integrated identifier
US8060424B2 (en) 2008-11-05 2011-11-15 Consumerinfo.Com, Inc. On-line method and system for monitoring and reporting unused available credit
US10200541B2 (en) 2009-01-28 2019-02-05 Headwater Research Llc Wireless end-user device with divided user space/kernel space traffic policy system
US10779177B2 (en) 2009-01-28 2020-09-15 Headwater Research Llc Device group partitions and settlement platform
US10484858B2 (en) 2009-01-28 2019-11-19 Headwater Research Llc Enhanced roaming services and converged carrier networks with device assisted services and a proxy
US10326800B2 (en) 2009-01-28 2019-06-18 Headwater Research Llc Wireless network service interfaces
US9270559B2 (en) 2009-01-28 2016-02-23 Headwater Partners I Llc Service policy implementation for an end-user device having a control application or a proxy agent for routing an application traffic flow
US9609510B2 (en) 2009-01-28 2017-03-28 Headwater Research Llc Automated credential porting for mobile devices
US10237757B2 (en) 2009-01-28 2019-03-19 Headwater Research Llc System and method for wireless network offloading
US9565707B2 (en) 2009-01-28 2017-02-07 Headwater Partners I Llc Wireless end-user device with wireless data attribution to multiple personas
US10492102B2 (en) 2009-01-28 2019-11-26 Headwater Research Llc Intermediate networking devices
US10783581B2 (en) 2009-01-28 2020-09-22 Headwater Research Llc Wireless end-user device providing ambient or sponsored services
US10248996B2 (en) 2009-01-28 2019-04-02 Headwater Research Llc Method for operating a wireless end-user device mobile payment agent
US10841839B2 (en) 2009-01-28 2020-11-17 Headwater Research Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US9706061B2 (en) 2009-01-28 2017-07-11 Headwater Partners I Llc Service design center for device assisted services
US9955332B2 (en) 2009-01-28 2018-04-24 Headwater Research Llc Method for child wireless device activation to subscriber account of a master wireless device
US9954975B2 (en) 2009-01-28 2018-04-24 Headwater Research Llc Enhanced curfew and protection associated with a device group
US11218854B2 (en) 2009-01-28 2022-01-04 Headwater Research Llc Service plan design, user interfaces, application programming interfaces, and device management
US10798252B2 (en) 2009-01-28 2020-10-06 Headwater Research Llc System and method for providing user notifications
US10264138B2 (en) * 2009-01-28 2019-04-16 Headwater Research Llc Mobile device and service management
US9392462B2 (en) 2009-01-28 2016-07-12 Headwater Partners I Llc Mobile end-user device with agent limiting wireless data communication for specified background applications based on a stored policy
US9572019B2 (en) 2009-01-28 2017-02-14 Headwater Partners LLC Service selection set published to device agent with on-device service selection
US9980146B2 (en) 2009-01-28 2018-05-22 Headwater Research Llc Communications device with secure data path processing agents
US10715342B2 (en) 2009-01-28 2020-07-14 Headwater Research Llc Managing service user discovery and service launch object placement on a device
US8176071B2 (en) * 2009-05-22 2012-05-08 Microsoft Corporation Selection and sorting protocol extensions to the WS-enumeration protocol
US9665854B1 (en) 2011-06-16 2017-05-30 Consumerinfo.Com, Inc. Authentication alerts
US9483606B1 (en) 2011-07-08 2016-11-01 Consumerinfo.Com, Inc. Lifescore
US9106691B1 (en) 2011-09-16 2015-08-11 Consumerinfo.Com, Inc. Systems and methods of identity protection and management
EP2575315A1 (en) * 2011-09-30 2013-04-03 British Telecommunications Public Limited Company Controlled access
US8738516B1 (en) 2011-10-13 2014-05-27 Consumerinfo.Com, Inc. Debt services candidate locator
US9853959B1 (en) * 2012-05-07 2017-12-26 Consumerinfo.Com, Inc. Storage and maintenance of personal data
CN102880941A (zh) * 2012-10-08 2013-01-16 深圳市学之泉集团有限公司 一种互动教学资源评价及积分方法、装置及系统
US9654541B1 (en) 2012-11-12 2017-05-16 Consumerinfo.Com, Inc. Aggregating user web browsing data
US9916621B1 (en) 2012-11-30 2018-03-13 Consumerinfo.Com, Inc. Presentation of credit score factors
US10255598B1 (en) 2012-12-06 2019-04-09 Consumerinfo.Com, Inc. Credit card account data extraction
US10102570B1 (en) 2013-03-14 2018-10-16 Consumerinfo.Com, Inc. Account vulnerability alerts
US9406085B1 (en) 2013-03-14 2016-08-02 Consumerinfo.Com, Inc. System and methods for credit dispute processing, resolution, and reporting
US9870589B1 (en) 2013-03-14 2018-01-16 Consumerinfo.Com, Inc. Credit utilization tracking and reporting
US10685398B1 (en) 2013-04-23 2020-06-16 Consumerinfo.Com, Inc. Presenting credit score information
US9443268B1 (en) 2013-08-16 2016-09-13 Consumerinfo.Com, Inc. Bill payment and reporting
US10102536B1 (en) 2013-11-15 2018-10-16 Experian Information Solutions, Inc. Micro-geographic aggregation system
US10325314B1 (en) 2013-11-15 2019-06-18 Consumerinfo.Com, Inc. Payment reporting systems
US9477737B1 (en) 2013-11-20 2016-10-25 Consumerinfo.Com, Inc. Systems and user interfaces for dynamic access of multiple remote databases and synchronization of data based on user rules
US9892457B1 (en) 2014-04-16 2018-02-13 Consumerinfo.Com, Inc. Providing credit data in search results
US9576030B1 (en) 2014-05-07 2017-02-21 Consumerinfo.Com, Inc. Keeping up with the joneses
CN105207974B (zh) * 2014-06-18 2018-09-11 中国电信股份有限公司 一种实现用户资源差异化开放的方法、平台、应用和系统
US10242019B1 (en) 2014-12-19 2019-03-26 Experian Information Solutions, Inc. User behavior segmentation using latent topic detection
US9591008B2 (en) 2015-03-06 2017-03-07 Imperva, Inc. Data access verification for enterprise resources
WO2018039377A1 (en) 2016-08-24 2018-03-01 Experian Information Solutions, Inc. Disambiguation and authentication of device users
US11036401B2 (en) * 2017-07-14 2021-06-15 Hitachi Vantara Llc Method, apparatus, and system for controlling user access to a data storage system
US10880313B2 (en) 2018-09-05 2020-12-29 Consumerinfo.Com, Inc. Database platform for realtime updating of user data from third party sources
US11315179B1 (en) 2018-11-16 2022-04-26 Consumerinfo.Com, Inc. Methods and apparatuses for customized card recommendations
US11238656B1 (en) 2019-02-22 2022-02-01 Consumerinfo.Com, Inc. System and method for an augmented reality experience via an artificial intelligence bot
US11941065B1 (en) 2019-09-13 2024-03-26 Experian Information Solutions, Inc. Single identifier platform for storing entity data

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6134591A (en) 1997-06-18 2000-10-17 Client/Server Technologies, Inc. Network security and integration method and system
US6631402B1 (en) 1997-09-26 2003-10-07 Worldcom, Inc. Integrated proxy interface for web based report requester tool set
US7065574B1 (en) 2000-05-09 2006-06-20 Sun Microsystems, Inc. Messaging system using pairs of message gates in a distributed computing environment
US6985946B1 (en) 2000-05-12 2006-01-10 Microsoft Corporation Authentication and authorization pipeline architecture for use in a web server
US6732101B1 (en) 2000-06-15 2004-05-04 Zix Corporation Secure message forwarding system detecting user's preferences including security preferences
AU2001280975B2 (en) 2000-08-04 2007-05-17 Computer Associates Think, Inc. Systems and methods for authenticating a user to a web server
US6675261B2 (en) * 2000-12-22 2004-01-06 Oblix, Inc. Request based caching of data store data
US7415607B2 (en) 2000-12-22 2008-08-19 Oracle International Corporation Obtaining and maintaining real time certificate status
US7882555B2 (en) 2001-03-16 2011-02-01 Kavado, Inc. Application layer security method and system
KR100426307B1 (ko) 2001-12-12 2004-04-08 한국전자통신연구원 에스오에이피-엑스엠엘을 이용한 데이터 액세스 장치 및방법
US7302488B2 (en) * 2002-06-28 2007-11-27 Microsoft Corporation Parental controls customization and notification
EP1381199B1 (en) 2002-07-12 2006-09-27 Alcatel Firewall for dynamically granting and denying network resources
US9124447B2 (en) 2002-07-26 2015-09-01 International Business Machines Corporation Interactive client computer communication
US7178163B2 (en) 2002-11-12 2007-02-13 Microsoft Corporation Cross platform network authentication and authorization model
US20040139198A1 (en) 2003-01-15 2004-07-15 Jose Costa-Requena Method and apparatus for manipulating data with session initiation protocol
EP1676206A4 (en) 2003-09-26 2008-03-05 Trusted Delivery Pty Ltd METHOD AND SYSTEM FOR DISTRIBUTING ELECTRONIC MESSAGES USING A TRUSTED DISTRIBUTION SYSTEM
US20050086197A1 (en) 2003-09-30 2005-04-21 Toufic Boubez System and method securing web services
US7748617B2 (en) 2004-04-12 2010-07-06 Gray R O'neal Electronic identification system
WO2005114957A1 (en) 2004-05-21 2005-12-01 Computer Associates Think, Inc. Method and apparatus for providing security to web services
US7895262B2 (en) * 2004-05-27 2011-02-22 Microsoft Corporation Web service application protocol and SOAP processing model
US7434252B2 (en) 2004-07-14 2008-10-07 Microsoft Corporation Role-based authorization of network services using diversified security tokens
US7383231B2 (en) 2004-07-19 2008-06-03 Amazon Technologies, Inc. Performing automatically authorized programmatic transactions
JP4748763B2 (ja) * 2004-09-06 2011-08-17 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、ならびにプログラム、記憶媒体
JP4417819B2 (ja) * 2004-11-09 2010-02-17 株式会社リコー 情報処理装置、責務判定方法、責務判定プログラム及び記録媒体
US7900247B2 (en) 2005-03-14 2011-03-01 Microsoft Corporation Trusted third party authentication for web services
US7571441B2 (en) 2005-03-22 2009-08-04 Microsoft Corporation Efficient retrieval of information from a network service using soap
US8266327B2 (en) 2005-06-21 2012-09-11 Cisco Technology, Inc. Identity brokering in a network element
ITMI20051742A1 (it) * 2005-09-20 2007-03-21 Accenture Global Services Gmbh Architettura di autenticazione ed autorizzazione per una porta di accesso
US7716279B2 (en) 2005-09-21 2010-05-11 Sap Ag WS addressing protocol for web services message processing runtime framework
US7818294B2 (en) 2005-10-07 2010-10-19 International Business Machines Corporation Apparatus, system, and method for implementing an IMS SOAP gateway

Also Published As

Publication number Publication date
EP2140394A1 (en) 2010-01-06
CN101663671A (zh) 2010-03-03
US20080263638A1 (en) 2008-10-23
CN101663671B (zh) 2013-07-24
EP2140394A4 (en) 2011-05-25
US7979896B2 (en) 2011-07-12
JP2010525449A (ja) 2010-07-22
WO2008130761A1 (en) 2008-10-30
EP2140394B1 (en) 2015-06-17

Similar Documents

Publication Publication Date Title
JP5432888B2 (ja) ウェブサービスリソースへのアクセスの認可
JP4676779B2 (ja) 情報処理装置、資源管理装置、属性変更許否判定方法、属性変更許否判定プログラム及び記録媒体
US7797726B2 (en) Method and system for implementing privacy policy enforcement with a privacy proxy
US8635679B2 (en) Networked identity framework
EP2724280B1 (en) Persistent key access to a resources in a collection
US8752152B2 (en) Federated authentication for mailbox replication
EP2316094B1 (en) Workflow based authorization for content access
US20060179003A1 (en) Consumer-controlled limited and constrained access to a centrally stored information account
US20100299738A1 (en) Claims-based authorization at an identity provider
JP2005526334A (ja) アプリケーションジェネレータ
TW200907739A (en) Method and system for protecting personally identifiable information
EP1861805A1 (en) System and method for securing information accessible using a plurality of software applications
US20040083243A1 (en) Privacy preferences roaming and enforcement
US20140033327A1 (en) Siftsort
US7639629B2 (en) Security model for application and trading partner integration
JP4944411B2 (ja) メニュー生成システム、メニュー生成方法およびメニュー生成プログラム
RU2377641C2 (ru) Система регистрационной информации для использования в вычислительной среде
JP5362125B1 (ja) ポリシ更新システム及びポリシ更新装置
US11940984B2 (en) Audit records monitoring using a blockchain structure
US20230185940A1 (en) Batch processing of audit records
JP2005316515A (ja) 情報処理装置、操作許否情報生成方法、操作許否情報生成プログラム及び記録媒体
JP5935446B2 (ja) メール処理プログラム,メール処理装置およびメール処理方法
JP2002324063A (ja) 文書作成管理システム、文書作成管理方法および文書作成管理プログラム
Leymann et al. WSO2 Rest API Design Guidelines

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130522

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130701

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130717

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130717

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131017

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131206

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5432888

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250