(57)【要約】      （修正有）【課題】ストレージサーバを含む複数のサーバを有するシステムにおいて、クライアントに対してストレージサーバに対する適切なアクセス権を設定する。【解決手段】ストレージサーバとストレージサーバと異なる第１のサーバとにアクセスするクライアントと通信可能な情報処理装置であって、クライアントから、クライアントが第１のサーバにアクセスするために用いられる第１のアクセス権の情報を受信する受信手段と、第１のアクセス権の情報に基づき、クライアントがストレージサーバにアクセスするために用いられる第２のアクセス権の情報を生成する生成手段と、第２のアクセス権の情報をクライアントに送信する送信手段と、を有する。【選択図】図６
2019036347.tif 000002
【特許請求の範囲】
【請求項１】
ストレージサーバと当該ストレージサーバと異なる第１のサーバとにアクセスするクライアントと通信可能な情報処理装置であって、
前記クライアントから、前記クライアントが前記第１のサーバにアクセスするために用いられる第１のアクセス権の情報を受信する受信手段と、
前記第１のアクセス権の情報に基づき、前記クライアントが前記ストレージサーバにアクセスするために用いられる第２のアクセス権の情報を生成する生成手段と、
前記第２のアクセス権の情報を前記クライアントに送信する送信手段と、を有することを特徴とする情報処理装置。
【請求項２】
前記第１のアクセス権の情報には、前記クライアントのクライアントＩＤ、アクセス権の有効期限を示す情報が含まれていることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第２のアクセス権の情報には、前記ストレージサーバのストレージ内でアクセス可能なファイルパスの情報が含まれていることを特徴とする請求項１もしくは２のいずれか１項に記載の情報処理装置。
【請求項４】
前記生成手段は、前記ストレージサーバに対するアクセス権を管理する管理サーバに前記第１のアクセス権の情報に基づく問い合わせを行い、当該問い合わせに対する応答に基づき前記第２のアクセス権の情報を生成することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記第１のアクセス権の情報と前記第２のアクセス権の情報との対応情報を保持する保持手段を更に有し、
前記生成手段は、前記対応情報を参照することによって、前記第２のアクセス権の情報を生成することを特徴とする請求項１乃至４のいずれ１項に記載の情報処理装置。
【請求項６】
前記クライアントから前記第２のアクセス権の情報を変更する変更要求を受ける第２の受信手段を更に有し、
前記生成手段は、前記変更要求に基づき、前記クライアントが前記ストレージサーバにアクセスするために用いられる第２のアクセス権の情報を生成することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
ストレージサーバと、
当該ストレージサーバと異なる第１のサーバと、
前記ストレージサーバと前記第１のサーバにアクセスするクライアントと、
前記クライアントと通信可能な情報処理装置とから構成される情報処理システムであって、
前記情報処理装置は、
前記クライアントから、前記クライアントが前記第１のサーバにアクセスするために用いられる第１のアクセス権の情報を受信する受信手段と、
前記第１のアクセス権の情報に基づき、前記クライアントが前記ストレージサーバにアクセスするために用いられる第２のアクセス権の情報を生成する生成手段と、
前記第２のアクセス権の情報を前記クライアントに送信する送信手段と、を有することを特徴とする情報処理システム。
【請求項８】
ストレージサーバと当該ストレージサーバと異なる第１のサーバとにアクセスするクライアントと通信可能な情報処理装置の制御方法であって、
受信手段が、前記クライアントから、前記クライアントが前記第１のサーバにアクセスするために用いられる第１のアクセス権の情報を受信する受信工程と、
生成手段が、前記第１のアクセス権の情報に基づき、前記クライアントが前記ストレージサーバにアクセスするために用いられる第２のアクセス権の情報を生成する生成工程と、
送信手段が、前記第２のアクセス権の情報を前記クライアントに送信する送信工程と、を有することを特徴とする制御方法。
【請求項９】
コンピュータを、
ストレージサーバと当該ストレージサーバと異なる第１のサーバとにアクセスするクライアントと通信可能な情報処理装置であって、
前記クライアントから、前記クライアントが前記第１のサーバにアクセスするために用いられる第１のアクセス権の情報を受信する受信手段と、
前記第１のアクセス権の情報に基づき、前記クライアントが前記ストレージサーバにアクセスするために用いられる第２のアクセス権の情報を生成する生成手段と、
前記第２のアクセス権の情報を前記クライアントに送信する送信手段と、を有することを特徴とする情報処理装置として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバにアクセスするクライアントと通信可能な情報処理装置、情報処理装置の制御方法、情報処理システム、およびコンピュータプログラムに関する。
【背景技術】
【０００２】
近年、インターネット上などで展開するサービスを提供するサーバにおいては、ユーザの個人情報やユーザが作成した写真や動画などのコンテンツに代表されるプライベートな情報を安全に保管することが必要不可欠である。
【０００３】
そのために、サービスを提供するサーバに対するアクセス権の制限を、ユーザ（クライアント装置）ごとに設定する必要がある。アクセス権の制限を行うためには、ユーザごとに設定されたアクセス権を発行するアクセス権発行サーバを導入することが一般的である。クライアントは、サービスの提供を受ける場合は、アクセス権発行サーバ装置からアクセス権を付与され、サービスを提供するサーバ装置に対してアクセスして、サービスの提供をリクエストする。サーバは、アクセス権が正当である場合、リクエストに対して応答する。アクセス権発行サーバからアクセス権を取得するためのプロトコルやアクセス権の形式はアクセス権発行方式によって様々である。
【０００４】
アクセス権発行方式の標準仕様として、ＯＡｕｔｈ２．０やＯＡｕｔｈ２．０の拡張であるＯｐｅｎＩＤ  Ｃｏｎｎｅｃｔなどが挙げられる。これらの標準仕様は、インターネット上における多種多様なサービスにおいてすでに採用されている。ＯＡｕｔｈ２．０のプロトコルにおいては、発行されるアクセス権はアクセストークンと呼ばれる文字列で表現される。また、アクセストークンには権限の範囲を示すスコープと呼ばれる文字列が関連付けられる。さらに、アクセストークンには、スコープ以外の様々な情報を関連付けることが可能である。アクセストークンに関連付けられる情報としては、アクセストークンの有効期限やアクセストークンを発行した発行者のＩＤなどがある。ＯＡｕｔｈ２．０の仕様に基づいてサービスを提供するサーバは、受信したアクセストークンの有効期限やスコープの値に基づいてアクセストークンの有効性や権限の範囲を確認し、アクセストークンが正当か否かを判断する。
【０００５】
一方、ＯＡｕｔｈ２．０などの標準仕様を採用していないアクセス権発行サーバでは、独自の仕様でアクセス権を発行することになる。独自の仕様でアクセス権を発行することになるサーバとしては、ストレージサーバがある。アクセス先サーバがストレージサーバである場合、読み込みや書き込みなどの操作に対する制限や、アクセス可能なストレージ上の特定のファイルパスを指定するなどの複雑な処理を独自の仕様で行う必要がある。
【０００６】
ストレージサーバは、クライアントとサーバとの間で比較的容量の大きなデータの送受信を行う場合に採用されることが多い。採用の理由としては、ストレージサーバ以外のサーバがデータの送受信の管理を行う必要が無いため、各サーバに求められる性能が低くなり、サーバ運用のコストを抑えることが出来ることが挙げられる。更に、ストレージサーバ内のデータに対してダイレクトにアクセスすることが出来るので、データがストレージサーバ以外の別のサーバを経由することが無く、データに対して複雑な処理が可能になる。
特許文献１には、ユーザが操作する端末ごとにストレージサーバへのアクセス権限を設定するための技術が開示されている。具体的には、ユーザが操作する端末のＩＤごとに、許可する操作や、操作できるストレージサーバ内のファイルパスを設定するものである。
【０００７】
また、特許文献２には、通信メディアカードが中継サーバを介してストレージサーバへのアクセスを行う技術が開示されている。具体的には、中継サーバが、通信メディアカードの端末ＩＤごとに、ストレージサーバの認証情報及びアクセス可能なディレクトリのパスを設定するものである。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００７−０３４３８６号公報
【特許文献２】特開２０１２−０７９２６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上記の通り、ストレージサーバの採用には多くの利点があるが、ストレージサーバにはユーザの個人情報やプライベートな情報が保存されることもあるため、ストレージサーバへのアクセス制限をクライアントに対して適切に行う必要がある。
【００１０】
しかしながら、特許文献１に開示されている技術では、システム全体が単一のアクセス権で制御されることを前提としており、端末のストレージサーバに対するアクセス権限は一定になっている。
【００１１】
一方、特許文献２においては、端末ユーザのウェブサーバへの認証情報とストレージサーバへの認証情報との関連付けについて開示されているが、特許文献１と同様に、ストレージサーバに対するアクセス権限は一定になっている。
【００１２】
よって、従来の技術においては、ストレージサーバを含む複数のサーバを有するシステムにおいて、ストレージサーバに対する適切なアクセス権をクライアントに設定することが出来ていなかった。従って、クライアントに対して過剰なアクセス権限が設定されてしまう可能性があり、ストレージサーバ内に格納されたデータを適切に保護することができなかった。
【００１３】
本発明は、上記従来例に鑑みてなされたものであり、ストレージサーバを含む複数のサーバを有するシステムにおいて、クライアントに対してストレージサーバに対する適切なアクセス権を設定することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するため、本発明は、ストレージサーバと当該ストレージサーバと異なる第１のサーバとにアクセスするクライアントと通信可能な情報処理装置であって、前記クライアントから、前記クライアントが前記第１のサーバにアクセスするために用いられる第１のアクセス権の情報を受信する受信手段と、前記第１のアクセス権の情報に基づき、前記クライアントが前記ストレージサーバにアクセスするために用いられる第２のアクセス権の情報を生成する生成手段と、前記第２のアクセス権の情報を前記クライアントに送信する送信手段と、を有することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、ストレージサーバを含む複数のサーバを有するシステムにおいて、クライアントに対してストレージサーバに対する適切なアクセス権を設定することが出来る。
【図面の簡単な説明】
【００１６】
【図１】第１実施形態における情報処理システムの構成を示す図
【図２】第１実施形態における情報処理装置のハードウェア構成を示す図
【図３】システム全体の処理フローを示す図
【図４】第１実施形態における認証認可サーバ１０２が保持する管理テーブルの例
【図５】取得要求および応答の具体的な例を示す図
【図６】アクセス権を仲介するサーバの構成を示す図
【図７】ストレージアクセス範囲管理テーブルを示す図
【図８】ストレージアクセス権取得の要求の処理フローを示す図
【図９】認可トークンの情報の例を示す図
【図１０】ストレージアクセス範囲決定の処理フローを示す図
【図１１】第２実施形態におけるアクセス権を仲介するサーバの構成を示す図
【図１２】第２実施形態におけるストレージアクセス権の管理テーブルを示す図
【図１３】第２実施形態におけるストレージアクセス権の取得要求の処理フロー
【図１４】第２実施形態におけるアクセス権の仲介サーバの構成を示す図
【図１５】第３実施形態におけるストレージアクセス範囲の設定変更要求の処理フロー
【図１６】第３実施形態におけるストレージアクセス範囲の設定の変更要求の例を示す図
【発明を実施するための形態】
【００１７】
以下、添付の図面を参照して、本実施形態について詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１８】
（第１実施形態）
図１を用いて、本実施形態における情報処理システムの構成について説明する。
【００１９】
本実施形態における情報処理システムは、クライアント１０１、認証認可サーバ１０２、アクセス権仲介サーバ１０３、ストレージアクセス権発行サーバ１０４、ストレージサーバ１０５から構成される。
【００２０】
クライアント１０１は、ネットワーク１０６を介して、認証認可サーバ１０２、アクセス権仲介サーバ１０３、およびストレージサーバ１０５との通信が可能となっている。また、認証認可サーバ１０２、アクセス権仲介サーバ１０３、ストレージアクセス権発行サーバ１０４同士も、ネットワーク１０６を介して相互に通信可能になっている。
【００２１】
クライアント１０１は、ストレージサーバ１０５に対して、ファイルのアップロードやダウンロード等のファイルに関する操作を行う情報処理装置である。ストレージサーバ１０５に対して操作を行う際には、まず、クライアント１０１は、認証認可サーバ１０２から認可トークンを取得する。認可トークンとは、ウェブサーバなどのサービスを提供するサーバへのアクセス権やアクセス範囲を示すものである。クライアント１０１は、認可トークンを取得することによって、各サーバにアクセスすることが可能になる。認可トークン取得後、クライアント１０１は、アクセス権仲介サーバ１０３を利用して、認可トークンに対応したストレージサーバ１０５に対するアクセス権を取得する。
【００２２】
認証認可サーバ１０２は、ＩＤやパスワードなどの認証および認可に関するデータを保持し、クライアント１０１に対して前述の認可トークンを発行するサーバである。本実施形態では、認証認可サーバ１０２はＯＡｕｔｈ２．０の認可プロトコルに準拠したものを想定しているが、ＯｐｅｎＩＤ  Ｃｏｎｎｅｔのような他の認可プロトコルに準拠したものでも良い。認証認可サーバ１０２は、前述のウェブサーバに対して認可トークンの対応情報を提供する機能も有する。認可トークンの対応情報とは、認可トークンの有効期限や認可トークンの権限の範囲を示す情報である。ウェブサーバは、クライアント１０１が有する認可トークンの正当性を確認するために、認証認可サーバ１０２から認可トークンの対応情報を取得することがある。
【００２３】
アクセス権仲介サーバ１０３は、発行された認可トークンに基づいて、ストレージサーバ１０５に対するアクセス権およびアクセス範囲をストレージアクセス権発行サーバ１０４から取得するサーバである。アクセス権仲介サーバ１０３は、認証認可サーバ１０２が発行した認可トークンとストレージサーバ１０５に対するアクセス権の権限の対応関係を示す情報を保持する。
【００２４】
ストレージアクセス権発行サーバ１０４は、ストレージサーバ１０５に対するアクセス権およびアクセス範囲（ストレージアクセス権）を発行・管理する管理サーバである。ストレージアクセス権の発行は、アクセス権仲介サーバ１０３からの取得要求に基づき行われる。発行されるアクセス範囲としては、読み出しや書き込みなどの操作や、操作を許可するファイルパスなどが設定される。
【００２５】
ストレージサーバ１０５は、ファイルなどのデータの保管及び管理を行うサーバである。ストレージサーバ１０５は、クライアント１０１からストレージアクセス権が送信されると、送信されたストレージアクセス権の検証を行う。検証の結果、ストレージアクセス権が正当である場合、クライアント１０１からの要求に応答して、保管しているファイルへのアクセスを許可する。
【００２６】
尚、本実施形態では、システム内の通信プロトコルとして、ＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）を想定しているが、ＨＴＴＰ以外の通信プロトコルを用いても良い。更に、システム内において複数種類の通信プロトコルを用いても良い。
【００２７】
また、図１では、クライアント１０１、認証認可サーバ１０２、アクセス権仲介サーバ１０３、ストレージアクセス権発行サーバ１０４はそれぞれ１台ずつとしている。しかしながら、それぞれの台数を１台に限る必要はない。また、図１では、認証認可サーバ１０２、アクセス権仲介サーバ１０３、ストレージアクセス権発行サーバ１０４はそれぞれ別のサーバとしている。しかしながら、これらのサーバが持つ機能をひとつのサーバに統一してもよい。一例として、認証認可サーバ１０２とアクセス権仲介サーバ１０３の機能を同一のサーバに持たせる構成としても良い。
【００２８】
次に、図２を用いて、本実施形態における情報処理装置のハードウェア構成を説明する。本実施形態における情報処理装置とは、クライアント１０１、認証認可サーバ１０２、アクセス権仲介サーバ１０３、ストレージアクセス権発行サーバ１０４などである。図示の通り、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３などをハードウェア構成として備えている。更に、ＮＥＴ  Ｉ／Ｆ（Ｎｅｔｏｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ）２０４、表示装置２０５、入力装置２０６、バス２０７なども備えている。
【００２９】
ＣＰＵ２０１は、バス２０７に接続された各装置の制御を行う処理装置である。ＣＰＵ２０１は、クライアント１０１、認証認可サーバ１０２、アクセス権仲介サーバ１０３、ストレージアクセス権発行サーバ１０４において後述の各種処理を実行する。ＲＯＭ２０２は、コンピュータの基本制御を行うオペレーティングシステムや動作プログラムなどが格納される記憶媒体である。ＲＡＭ２０３は、ＣＰＵ２０１のワークメモリとして、動作プログラム自身や動作プログラムに必要なデータが格納される記憶媒体である。ＣＰＵ２０１は、ＲＯＭ２０２に格納されている各種コンピュータプログラムをＲＡＭ２０３に格納し、各種コンピュータプログラムを実行する。
【００３０】
ＮＥＴ  Ｉ／Ｆ２０４は、ネットワークを介して接続される外部装置との情報のやり取りを制御するためのインターフェースである。ＮＥＴ  Ｉ／Ｆ２０４を通して、クライアント１０１、認証認可サーバ１０２、アクセス権仲介サーバ１０３、ストレージアクセス権発行サーバ１０４それぞれはデータの送受信を行う。表示装置２０５は、ＣＰＵ２０１の処理結果を表示するため装置であり、液晶ディスプレイや有機ＥＬディスプレイなどにより構成される。
【００３１】
入力装置２０６は、ユーザからの入力を物理的に受け付けるための装置であり、キーボードやマウスまたはタッチパネルにより構成される。なお、タッチパネル搭載のディスプレイの場合は、表示装置２０５と入力装置２０６は一体の構成となる。また、ＮＥＴ  Ｉ／Ｆ２０４を通して外部装置の表示装置２０５及び入力装置２０６を利用することが可能であり、その場合は表示装置２０５及び入力装置２０６を持たない構成となる。
【００３２】
次に、図３を用いて、本実施形態においてクライアント１０１がストレージサーバ１０５にダイレクトにアクセスする際の具体的な処理フローを説明する。図３の処理フローは、ストレージサーバ１０５にアクセスする際の処理の一例として、ファイルのアップロードを挙げたものである。内、ファイルのダウンロードなどの別の操作を行う場合でもあっても、図３と同様の処理フローとなる。
【００３３】
（ステップＳ３０１）
ステップＳ３０１は、クライアント１０１が、認証認可サーバ１０２に対して認可トークン取得の要求を行い、認証認可サーバ１０２から認可トークンを取得するステップである。取得の要求の際には、認証認可サーバ１０２に対して認証情報が送付され、認証認可サーバ１０２は、認証情報に応じた認可トークンを付与する。
【００３４】
認可トークンの取得要求およびその応答（認可トークン）は、認可トークン発行処理の種類ごとに異なる形式や値となる。図５（ａ）および図５（ｂ）は、認可トークン取得要求およびその応答の具体的な例を示す図である。
【００３５】
図５（ａ）は、ＯＡｕｔｈ２．０におけるＣｌｉｅｎｔ  Ｃｒｅｄｅｎｔｉａｌｓ  Ｇｒａｎｔの認可トークン発行処理に従った認可トークン取得要求の例になる。Ａｕｔｈｏｒｉｚａｔｉｏｎヘッダには、認可トークンの発行に必要な認証情報が付加されている。図の例では、Ｂａｓｉｃ認証によって、クライアントのクライアントＩＤとクライアントシークレットが送信されるようになっている。また、認可トークンのスコープがリクエストのボディに付加されている。更に、認可トークン発行処理の種類の識別子が、ｇｒａｎｔ＿ｔｙｐｅとしてリクエストのボディに付加されている。
【００３６】
尚、図５（ａ）で認可トークン発行処理の種類は、Ｃｌｉｅｎｔ  Ｃｒｅｄｅｎｔｉａｌｓ  Ｇｒａｎｔになっているが、Ｃｌｉｅｎｔ  Ｃｒｅｄｅｎｔｉａｌｓ  Ｇｒａｎｔ以外を用いても良い。
【００３７】
Ｃｌｉｅｎｔ  Ｃｒｅｄｅｎｔｉａｌｓ  Ｇｒａｎｔ以外の認可フローを用いる場合には、認可トークンの発行がユーザに承認された際に発行する認可コードと呼ばれる情報などが追加で必要になる。
【００３８】
図５（ｂ）は、図５（ａ）の認可トークンの取得要求に対する応答（認可トークン）の例である。レスポンスボディに含まれるａｃｃｅｓｓ＿ｔｏｋｅｎが認可トークンの値を示している。また、ｔｏｋｅｎ＿ｔｙｐｅは認可トークンの種類を指し、ｅｘｐｉｒｅｓ＿ｉｎは認可トークンが無効になるまでの残り時間を指す。
【００３９】
図５（ｂ）では、ｅｘｐｉｒｅｓ＿ｉｎの時間単位は秒としているが、秒以外の単位を用いても良い。尚、応答には、上述以外の属性情報を含ませても良い。
【００４０】
認可トークンの発行の際には、認証認可サーバ１０２は図４に示す管理テーブルを利用する。図示の通り、図４（ａ）の認可クライアント管理テーブル４００には、クライアントを認証するための情報であるクライアントＩＤ４０１及びクライアントシークレット４０２と、スコープ４０３とが関連付けられて記録されている。よって、認証認可サーバ１０２は、クライアント管理テーブル４００を参照することによって、認可トークンの取得要求が正当なものであるか否かを確認することが出来る。認証認可サーバ１０２は、認可トークンの取得要求の認証情報とクライアント管理テーブル４００に登録されている認証情報とが一致した場合、取得要求が正当なものであると見なす。そして、認証情報に基づくスコープ４０３の中から認可トークンの取得要求に含まれるスコープを取得し、認可トークンを生成する。尚、認証情報のクライアントシークレット４０２は平文ではなく暗号化して保存しても良い。また、認証情報がユーザＩＤおよびパスワードである場合は、ユーザＩＤ５０１とパスワード５０２とが関連付けられて記録されているユーザ管理テーブル５００を参照する。
【００４１】
一方、管理テーブル４００には、デフォルトスコープ４０４が含まれている。デフォルトスコープ４０４は、認可トークン取得の要求にスコープが含まれていなかった場合に利用する。すなわち、認可トークン取得の要求にスコープが含まれていなかった場合、スコープ４０３ではなく、デフォルトスコープ４０４を使った認可トークンを生成する。スコープ４０３およびデフォルトスコープ４０４は複数指定することが可能である。
【００４２】
認証認可サーバ１０２によって認可トークンが生成されると、生成された認可トークンの情報が認可トークン管理テーブル６００に登録される。認可トークン管理テーブル６００には、認可トークン６０１ごとに有効期限６０２、スコープ６０３、認可トークン６０１を発行した認可クライアントのクライアントＩＤ６０４が記録されている。なお、有効期限６０２を超過した認可トークン６０１は認可トークン管理テーブル６００から削除しても良い。また、認可トークン取得要求にユーザのユーザＩＤ６０５の情報が含まれていた場合は、ユーザＩＤ６０５を合わせて保管する。
【００４３】
上述の認可トークン取得要求はユーザの認証情報との認可クライアントの認証情報の両方を含んでも良い。さらに、認可クライアントの認証情報とユーザの認証情報を段階的に送信しても良い。例えば、ユーザの認証情報を最初に送信し、ユーザの認証情報が正当である場合にのみ認可クライアントの認証情報を続けて送信しても良い。
【００４４】
（ステップＳ３０２）
ステップＳ３０２では、クライアント１０１はステップＳ３０１で取得した認可トークンをアクセス権仲介サーバ１０３に送信し、ストレージサーバ１０５にアクセスするためのアクセス権を取得する。尚、本ステップにおけるアクセス権仲介サーバ１０３の処理のフローについては後述する。
【００４５】
（ステップＳ３０３）
ステップＳ３０３では、アクセス権仲介サーバ１０３はクライアント１０１が送信した認可トークンに応じたストレージサーバ１０５のアクセス権をストレージアクセス権発行サーバ１０４から取得する。
【００４６】
図５（ｃ）および図５（ｄ）は、ストレージアクセス権取得の要求とその応答の具体的な例を示したものである。図５（ｃ）は、アクセス権仲介サーバ１０３がストレージアクセス権発行サーバ１０４に送信するストレージアクセス権取得の要求の例である。Ａｕｔｈｏｒｉｚａｔｉｏｎヘッダに含まれる文字列は、ステップＳ３０１で取得された認可トークンに含まれる文字列と同じものである。
【００４７】
図５（ｄ）は、図５（ｃ）のストレージアクセス権取得の要求に対する応答の例である。ストレージアクセス権は、ｓｔｏｒａｇｅ＿ｃｒｅｄｅｎｔｉａｌとして応答に含まれる。尚、ストレージサーバ１０５の種類や規格によってストレージアクセス権の形式は異なるため、ｓｔｏｒａｇｅ＿ｃｒｅｄｅｎｔｉａｌに含まれる属性はストレージサーバ１０５の種類や規格に合わせて変更する必要がある。例えば、ストレージサーバ１０５へのアクセス権がＩＤとパスワードとの組み合わせで設定される場合は、ｓｔｏｒａｇｅ＿ｃｒｅｄｅｎｔｉａｌにはＩＤとパスワードとが含まれる。また、図５（ｄ）のｅｘｐｉｒａｔｉｏｎに登録されているように、ストレージアクセス権の有効期限を設定しても良い。尚、上記の図５（ｃ）および図５（ｄ）では、ストレージアクセス権取得の要求およびその応答はｊｓｏｎ形式で記述されているが、ＸＭＬのような他の形式で記述されても良い。
【００４８】
（ステップＳ３０４）
ステップＳ３０４では、クライアント１０１はステップＳ２０２で取得したストレージアクセス権を用いてストレージサーバ１０５にアクセスし、各種ファイル操作を行う。当該アクセス権には、ストレージサーバ１０５のストレージ内のアクセス可能なファイルパス情報などが含まれている。図３の例では、ファイルのアップロードが実行されている。アップロードが成功した場合には、アップロードが成功したことを示すレスポンスがストレージサーバ１０５からクライアント１０１に送信される。
【００４９】
次に、図６を用いて、本実施形態におけるアクセス権仲介サーバ１０３の機能の構成例について説明する。アクセス権仲介サーバ１０３は、前述の通り、ストレージアクセス権発行サーバ１０４にストレージアクセス権取得の要求を行い、その応答をクライアント１０１に送信する。
【００５０】
ストレージアクセス権管理部１１０１は、クライアント１０１から送信された認可トークンを基に、ストレージアクセス権取得部１１０２を用いてストレージアクセス権をストレージアクセス権発行サーバ１０４から取得する。そして、ストレージアクセス権発行サーバ１０４から取得したストレージアクセス権をクライアント１０１に送信する。ストレージアクセス権管理部１１０１は、受信した認可トークンの情報を認可トークン情報取得部１１０３によって取得する。また、ストレージアクセス権管理部１１０１は、ストレージアクセス範囲決定部１１０４を用いて、発行するストレージアクセス権の権限の範囲を決定する。
【００５１】
ストレージアクセス範囲保管部１１０６は、ストレージアクセス範囲の設定情報を保管する。図７は、本実施形態におけるストレージアクセス範囲管理テーブル１２００である。
【００５２】
ストレージアクセス範囲管理テーブル１２００は、ストレージアクセス範囲保管部１１０６が保持し、ストレージアクセス権の管理を行う。図示の通り、ストレージアクセス範囲管理テーブル１２００は、認可トークンのスコープに対応したストレージの権限の範囲を記述したものである。ストレージアクセス範囲管理テーブル１２００は、認可トークンに対応するクライアントＩＤ１２０１に関連付けられたスコープ１２０２を持つ。また、スコープ１２０２に対応したストレージサーバ１０５のアクセス範囲として操作１２０３とファイルパス１２０４が関連付けられている。操作１２０３はストレージサーバ１０５に対する操作を示したものである。操作の名称は、ストレージサーバ１０５によって定義されている。例えば、ＲＥＡＤはストレージサーバ１０５に対する読み込み、ＷＲＩＴＥはストレージサーバ１０５対する書き込みを示すものとする。なお、操作１２０３に設定する文字列とストレージサーバ１０５対する操作の対応付けを別途管理し、操作１２０３をアクセス権仲介サーバ１０３が定義する独自の文字列としても良い。
【００５３】
ファイルパス１２０４には、アクセスを許可するストレージサーバ１０５のファイルパスが記入されている。尚、ファイルパス１２０４には、ストレージサーバ１０５のディレクトリやファイル名を設定することが可能である。更に、ファイルパス１２０４には設定値として２種類の変数を使用できる。２種類の変数の１つ目は、認可トークンに関連付けられた情報を示すものであり、＄｛ｔｏｋｅｎ．属性名｝の形式で表現される。そして、２種類の変数の２つ目は、ストレージアクセス権発行要求に含まれる任意に指定可能な情報を示すものであり、＄｛ｐａｒａｍ．パラメータ名｝の形式で表現される。この２種類の変数を用いることにより、認証認可サーバ１０２が発行した認可トークンの情報とストレージアクセス権取得時に任意に指定可能な情報を組み合わせてストレージサーバ１０５上のパスを設定できる。例えば、ファイルパス１２０４の上位部に認可トークンに関連付けられた情報を指定し、下位部にストレージアクセス権発行要求に含まれる任意に指定可能な情報を指定することが可能である。この指定の方法では、アクセスできるストレージサーバ１０５の上位のパスが認証認可サーバ１０２によって管理される情報に基づいて決定されるため、ストレージアクセス権を取得するクライアントがアクセスするパスを限定できる。これにより、クライアントが特定のパス以下にしかアクセスできない状況となるため、ストレージサーバ１０５に対するアクセス権を最低限必要なものに制限できる。さらに、ストレージサーバ１０５のパスの下位部はリクエスト時に指定可能な任意な値であるため、特定のフォルダ内で処理に応じた細かなパスの制御が可能となる。
【００５４】
なお、スコープ１２０２及び操作１２０３及びファイルパス１２０４は複数の値を指定可能である。また、２種類の変数の形式はあくまで一例であり、それぞれの変数が区別できる形式であれば良い。また、ストレージアクセス範囲管理テーブル１２００はストレージアクセス権の有効期限１２０５を持つ。有効期限１２０５はストレージアクセス権を発行した時点からのストレージアクセス権が有効である期間を秒の単位で表したものである。なお、有効期限１２０５は秒以外の単位でも良いし、期間ではなく特定の日付を指定してもよい。また、ストレージアクセス権を利用できるクライアント１０１のＩＰアドレスをさらに指定しても良い。なお、ＩＰアドレスはサブネットの情報を含むＣＩＤＲ（Ｃｌａｓｓｌｅｓｓ  Ｉｎｔｅｒ−Ｄｏｍａｉｎ  Ｒｏｕｔｉｎｇ）形式で指定しても良い。
【００５５】
さらに、ストレージアクセス範囲管理テーブル１２００はクライアントＩＤ１２０１を持ち、認可クライアントごとに設定情報を分けて管理することが可能である。これにより、スコープ１２０２値が同じであっても異なるストレージサーバ１０５の権限を認可クライアントごとに設定することが可能である。
【００５６】
通信部１１０７は、クライアント１０１からネットワーク１０６を介したストレージアクセス権発行要求を受信する。ストレージアクセス権発行要求を受信した場合はストレージアクセス権管理部１１０１に通知する。また、通信部１１０７は、受信したストレージアクセス権発行要求に対する応答をクライアント１０１に送信する。さらに、通信部１１０７を用いて認証認可サーバ１０２やストレージアクセス権発行サーバ１０４にアクセスする。
【００５７】
図８を用いて、ストレージアクセス権取得の要求を受信した際のストレージアクセス権管理部１１０１によって行われる処理のフローについて説明する。図８の一連の処理は、図３のステップＳ３０２で、クライアント１０１からストレージアクセス権取得の要求が行われた後の処理になる。各ステップは、図６によって示された各機能で行われるが、実体としては、ＣＰＵ２０１が、ＲＯＭ２０２に格納されている各種コンピュータプログラムをＲＡＭ２０３に格納し、各種コンピュータプログラムを実行することによって実現される。
【００５８】
ステップＳ１３０１は、通信部１１０７から送信されたストレージアクセス権取得の要求をストレージアクセス権管理部１１０１が受信するステップである。ストレージアクセス権取得の要求には、認証認可サーバ１０２が発行した認可トークンが含まれている。ストレージアクセス権取得の要求は、前述の通り、図５（ｃ）のようになる。
【００５９】
ステップＳ１３０２は、認可トークン情報取得部１１０３がストレージアクセス権取得の要求に含まれる認可トークンの情報を取得するステップである。認可トークン情報取得部１１０３は、認証認可サーバ１０２に認可トークンの情報の取得要求を送信し、その返信として認可トークンの情報を取得する。認可トークンの情報には、認可トークンの有効期限や認可トークンの権限の範囲が含まれる。また、認可トークンの情報には、認可トークンを発行した認可クライアントのクライアントＩＤや認可トークンの発行を許可したユーザのユーザＩＤが含まれる。尚、認可トークンの情報の取得要求には認可トークンの値が少なくとも含まれる。
【００６０】
認証認可サーバ１０２は、認可トークンの情報の取得要求を受信した場合、認可トークン管理テーブル６００を参照して、認可トークンの情報の取得要求に含まれる認可トークンが存在するか否かを確認する。認可トークン管理テーブル６００に対象の認可トークンが存在しなかった場合は、認可トークンが存在しない旨の応答を送信する。また、認可トークン管理テーブル６００に対象の認可トークンが存在した場合であっても、認可トークンの有効期限６０２が超過している場合は、有効期限切れを示す応答を送信する。認可トークン管理テーブル６００に対象の認可トークンが存在し、かつ、有効期限６０２内の場合は、認可トークン管理テーブル６００に保管されている認可トークン６０１の情報を送信する。図９は、認証認可サーバ１０２が提供する認可トークンの情報の例を示したものである。尚、アクセス権仲介サーバ１０３が認可トークンの有効期限のチェックを行う機能を有している場合、認可トークンの有効期限６０２が超過している場合であっても、認証認可サーバ１０２は認可トークン６０１の情報を送信するようにしても良い。
【００６１】
ステップＳ１３０３は、ストレージアクセス権管理部１１０１が受信した認可トークンが正当か否かの判定を行うステップである。認可トークン情報取得部１１０３が認証認可サーバ１０２から認可トークン情報が正常に取得できた場合には認可トークンが正当であると判定する。一方、認可トークン情報が正常に取得できない場合は認可トークンが正当でないと判定する。認可トークン情報が正常に取得できない場合とは、認可トークンの有効期限が切れている場合や認可トークン管理テーブル６００に登録されていない認可トークンを送信された場合である。
【００６２】
ステップＳ１３０４は、認可トークンが正当ではないか否かの判定に基づき処理を分岐させるステップである。ステップＳ１３０３で認可トークンが正当であると判定された場合は、ステップＳ１３０５に処理を進める。認可トークンが正当でないと判定された場合、ステップＳ１３１０に処理を進める。
【００６３】
ステップＳ１３０５は、発行するストレージアクセス権の権限の範囲をストレージアクセス範囲決定部１１０４が決定するステップである。尚、本ステップの処理内容の詳細については後述する。
【００６４】
ステップＳ１３０６は、ストレージアクセス範囲決定部１１０４が、ステップＳ１３０５で決定したストレージアクセス権の権限の範囲が正当かどうかの判定を行うステップである。ストレージアクセス権の権限の範囲が正当かどうかの判定は権限範囲ポリシーに基づいて行われる。権限範囲ポリシーの例として、特定のファイルパスへのアクセス権を持っている場合にストレージアクセス権として正当でないと判断させるものがある。また、ストレージアクセス範囲管理テーブル１２００のファイルパス１２０４に定義された変数が置換されていない場合に、ストレージアクセス権として正当でないと判断させるものもある。なお、権限範囲ポリシーは、アクセス権仲介サーバ１０３全体に適用するものとしても良いし、ストレージアクセス範囲管理テーブル１２００におけるクライアントＩＤ１２０１ごとに適用するものとしても良い。なお、ストレージアクセス権の権限の範囲が正当かどうかの判定を行うか否かを、ストレージアクセス範囲決定部１１０４に対する設定によって切り替えられるものとしても良い。
【００６５】
本ステップにおいて、ストレージアクセス範囲決定部１１０４が発行するストレージアクセス権の権限が正当であると判定された場合、ステップＳ１３０７に処理を進める。一方、ストレージアクセス範囲決定部１１０４が発行するストレージアクセス権の権限が正当ではないと判定された場合、前述のステップＳ１３１０に処理を進める。
【００６６】
ステップＳ１３０７は、ストレージアクセス権取得部１１０２が、ストレージアクセス権発行サーバ１０４からストレージアクセス権を取得するステップである。ストレージアクセス権取得部１１０２は、ストレージアクセス権発行サーバ１０４が備えるストレージアクセス権の発行機能により、ストレージアクセス権を取得する。ストレージアクセス権取得部はストレージアクセス権の取得結果をストレージアクセス権管理部１１０１に通知する。
【００６７】
ステップＳ１３０８は、ストレージアクセス権が正常に取得できたか否かを判定するステップである。ストレージアクセス権が正常に取得できた場合、ステップＳ１３０９に処理を進める。一方、ストレージアクセス権が正常に取得できなかった場合、前述のＳ１３１０に処理を進める。
【００６８】
ステップＳ１３０９は、ストレージアクセス権管理部１１０１がクライアント１０１に対して、ステップＳ１３０７で取得されたストレージアクセス権を送信するステップである。
【００６９】
ステップＳ１３１０は、ストレージアクセス権管理部１１０１がクライアント１０１にエラー応答を送信するステップである。本ステップで送信するエラー応答には、エラーの原因として認可トークンが正当でないことを含めても良い。また、エラーの原因としてストレージアクセス権の権限の範囲が正しくないことや、エラーの原因としてストレージアクセス権発行サーバ１０４からストレージアクセス権が取得できなかったことを含めても良い。ステップＳ１３０９もしくはステップＳ１３１０の処理の後、本フローにおける処理は終了する。
【００７０】
次に、図１０を用いて、前述のステップＳ１３０５にて行われるストレージアクセス権の権限の決定の処理のフローについて説明する。各ステップは、実体としては、ＣＰＵ２０１が、ＲＯＭ２０２に格納されている各種コンピュータプログラムをＲＡＭ２０３に格納し、各種コンピュータプログラムを実行することによって実現される。
【００７１】
ステップＳ１５０１は、ストレージアクセス範囲管理テーブル１２００から、ストレージアクセス権の権限に関する情報を取得するステップである。本ステップでは、ステップＳ１３０２で取得した認可トークン情報に含まれるクライアントＩＤとスコープを基に対応する操作１２０３及びファイルパス１２０４及び有効期限１２０５を取得する。取得の際には、ストレージアクセス範囲管理テーブル１２００が参照される。
【００７２】
尚、クライアント１０１から送信されるストレージアクセス権の取得の要求において、認可トークンに含まれるスコープのうち、どのスコープに対してストレージアクセス権を取得するかを指定しても良い。その場合、本ステップにおいて、認可トークンに含まれるスコープの中で、ストレージアクセス権の取得の要求で指定されたスコープを用いてストレージアクセス範囲管理テーブル１２００からストレージアクセス権の権限に関する情報を取得しても良い。
【００７３】
ステップＳ１５０２は、ストレージアクセス範囲管理テーブル１２００に該当するクライアントＩＤ４０１及びスコープ４０３が存在するか否かを判定するステップである。該当するクライアントＩＤ４０１及びスコープ４０３が存在すると判定された場合、ステップＳ１５０３に処理を進める。一方、存在しないと判定された場合、ステップＳ１５０６に処理を進める。
【００７４】
ステップＳ１５０３は、ステップＳ１５０１で取得したファイルパス１２０４に変数が含まれているか否かを判定するステップである。ステップＳ１５０１で取得したファイルパス１２０４が変数を含む場合には、ステップＳ１５０４に処理を進める。一方、変数を含まないと判定された場合は、ステップＳ１５０５に処理を進める。
【００７５】
ステップＳ１５０４は、テップＳ１３０２で取得した認可トークン情報に基づいて変数を置換するステップである。本ステップでは、ファイルパス１２０４に含まれる変数に対応する認可トークン情報を使って変数を置換する。図７のクライアントＩＤ１２０１がＣｌｉｅｎｔ００１でスコープ１２０２がｕｐｌｏａｄの場合かつ、図９の認可トークン情報が取得された場合を例に取る。この場合、ファイルパス１２０４に含まれる＄｛ｔｏｋｅｎ．ｃｌｉｅｎｔ＿ｉｄ｝はｃｌｉｅｎｔ００１に置換されることになる。これは、図９の認可トークン情報にｃｌｉｅｎｔ＿ｉｄとしてｃｌｉｅｎｔ００１が含まれているからである。同様に、ストレージアクセス権取得の要求に含まれる値に基づいて、ファイルパス１２０４の＄｛ｐａｒａｍ．ｔｉｍｅ｝は２０１４０９３０に置換される。そして、＄｛ｐａｒａｍ．ｎａｍｅ｝はｉｍａｇｅ００１．ｊｐｇに置換されることになる。したがって、置換結果のファイルパス１２０４は、／ｃｌｉｅｎｔ００１／２０１４０９３０／ｉｍａｇｅ００１．ｊｐｇとなる。
【００７６】
ステップＳ１５０５は、ストレージアクセス権の有効期限を決定するステップである。本ステップでは、ステップＳ１５０１で取得した有効期限１２０５に基づいて、現在時刻から有効期限１２０５だけ経過した日時をストレージアクセス権の有効期限とする。
【００７７】
ステップＳ１５０６は、クライアント１０１にエラーの応答を送信するステップである。ステップＳ１５０６で送信するエラー応答には、エラーの原因としてストレージアクセス範囲管理テーブル１２００に該当するクライアントＩＤ４０１及びスコープ４０３が存在しなかったことを含めても良い。なお、本ステップではエラー応答をするものとしたが、必要な設定が存在しなかった場合に使用するデフォルトの設定をストレージアクセス範囲管理テーブル１２００に登録しておき、デフォルトの設定を用いてストレージアクセス権の権限としても良い。ステップＳ１５０５もしくはステップＳ１５０６の処理の終了後、全体処理を終了させる。
【００７８】
以上のように、本実施形態のアクセス権仲介サーバ１０３によれば、認証認可サーバ１０２が発行した認可トークンに基づいたストレージサーバ１０５のアクセス権の仲介を行うことが出来る。仲介を行うことによって、認証認可サーバ１０２は、ストレージサーバ１０５に対するアクセス権の権限の範囲を制御でき、適切な権限を持ったストレージサーバ１０５のアクセス権の発行が行うことが出来る。更に、クライアント１０１の処理に応じたストレージサーバ１０５のアクセス権を発行することも可能なため、クライアント１０１に必要最低限のアクセス権を与えられ、過剰な権限を与えることを回避できる。
【００７９】
（第２実施形態）
第１実施形態では、アクセス権仲介サーバ１０３が、ストレージアクセス権取得の要求を受信した際にストレージアクセス権を毎回取得する例を示した。本実施形態では、アクセス権仲介サーバがストレージアクセス権を一時的にキャッシュする。尚、本実施形態は、第１実施形態と同様の構成を含むため、以下では、第１実施形態との差分について説明する。
【００８０】
図１１は、本実施形態におけるアクセス権仲介サーバ１０３の機能の構成例を示したものである。本実施形態におけるアクセス権仲介サーバ１０３は、ストレージアクセス権保管手段１６０１を持ち、ストレージアクセス権発行サーバ１０４から取得したストレージアクセス権を一時的に保管する。ストレージアクセス権保管手段１６０１は、図１２に示すストレージアクセス権管理テーブル１７００を持ち、ストレージアアクセス権を取得した認可クライアントやスコープごとにストレージアクセス権を保管する。
【００８１】
図示の通り、ストレージアクセス権管理テーブル１７００は、取得したストレージアクセス権の管理を行うためのものである。ストレージアクセス権管理テーブル１７００は、認可トークンに対応するクライアントＩＤ１７０１に関連付けられたスコープ１７０２を持つ。また、スコープ１７０２に対応したストレージサーバ１０５のアクセス範囲として操作１７０３とファイルパス１７０４が関連付けられている。さらに、ストレージアクセス権１７０５とその有効期限１７０５が関連付けられている。有効期限１７０５はストレージアクセス権１７０６が無効になる日時を示したものである。尚、ストレージアクセス権１７０５は平文ではなく暗号化して保存しても良い。また、有効期限１７０５はアクセス権仲介サーバ１０３やクライアント１０１が使用するタイムゾーンに合わせた日時で保存しても良い。
【００８２】
図１３を用いて、ストレージアクセス権取得の要求を受信した際のストレージアクセス権管理部１１０１によって行われる処理のフローについて説明する。図１３の処理は、各処理は第１実施形態の図８の処理とほぼ同じであるため、異なる点のみ説明する。
【００８３】
尚、各ステップは、実体としては、ＣＰＵ２０１が、ＲＯＭ２０２に格納されている各種コンピュータプログラムをＲＡＭ２０３に格納し、各種コンピュータプログラムを実行することによって実現される。
【００８４】
ステップＳ１８０１は、取得対象のストレージアクセス権に相当するストレージアクセス権がすでに取得されているかどうかをストレージアクセス権保管手段１６０１に問い合わせるステップである。問い合わせの際には、ストレージアクセス権保管手段１６０１は、以下の確認を行う。すなわち、取得対象のストレージアクセス権の認可クライアントのクライアントＩＤとスコープと操作とファイルパスが一致するストレージアクセス権がストレージアクセス権管理テーブル１７００に存在するか否かである。そして、該当のストレージアクセス権が存在した場合は、有効期限の確認を行う。ストレージアクセス権が有効期限内であれば、ストレージアクセス権は取得済みとし、ストレージアクセス権の値をストレージアクセス権取得部に返却する。なお、該当のストレージアクセス権が有効期限内であっても、有効期限が切れるまでに一定以上の期間がある場合のみ取得済みと判断しても良い。上記の処理後、すでに取得されている場合、ステップＳ１３０９に処理を進める。一方、すでに取得されていない場合、ステップＳ１３０７に処理を進める。
【００８５】
ステップＳ１８０２は、取得されたストレージアクセス権をストレージアクセス権保管手段１６０１で保存するステップである。取得されたストレージアクセス権は、ストレージアクセス権管理テーブル１７００にキャッシュとして記録され、同じストレージアクセス権の取得要求があった場合、ストレージアクセス権管理テーブル１７００を参照して取得することが可能になる。
【００８６】
以上のように、本実施形態のアクセス権仲介サーバによれば、ストレージアクセス権発行サーバ１０４からストレージアクセス権を毎回取得する必要が無くなる。これにより、図１３の処理完了までの時間が短縮できるため、クライアント１０１にストレージアクセス権取得の要求に対する応答を高速に返却できることが出来る。
【００８７】
（第３実施形態）
本実施形態では、アクセス権仲介サーバ１０３がストレージアクセス範囲変更要求を受け付けた際の処理を示すものである。
【００８８】
図１４は、本実施形態におけるアクセス権仲介サーバ１０３の機能構成の例である。本実施形態におけるアクセス権仲介サーバ１０３は、ストレージアクセス範囲管理部１４０１を持つ。ストレージアクセス範囲管理部１４０１は、ストレージアクセス範囲設定情報  １１０６に格納される情報の追加、削除、更新の処理を行う。通信部１１０７は、ストレージアクセス範囲変更要求を受信し、受信したストレージアクセス範囲変更要求をストレージアクセス範囲管理部１４０１に通知する。ストレージアクセス範囲管理部１４０１は、ストレージアクセス範囲変更要求に基づいてストレージアクセス範囲管理テーブル１２００が持つ情報を変更する。
【００８９】
図１５は、本実施形態におけるストレージアクセス範囲変更要求を受信した際のストレージアクセス範囲管理部１４０１によって行われる処理のフローである。
【００９０】
各ステップは、実体としては、ＣＰＵ２０１が、ＲＯＭ２０２に格納されている各種コンピュータプログラムをＲＡＭ２０３に格納し、各種コンピュータプログラムを実行することによって実現される。
【００９１】
ステップＳ１９０１は、通信部１１０７から送信されたストレージアクセス範囲の変更要求を受信するステップである。ストレージアクセス範囲の変更要求には、認証認可サーバ１０２が発行した認可トークン及びストレージアクセス範囲の変更内容が含まれている。
【００９２】
図１６は、ストレージアクセス範囲の修正を行う場合のストレージアクセス範囲の変更要求の例である。ストレージアクセス範囲の変更要求は、ストレージアクセス範囲管理テーブル１２００が持つ情報に対応した属性を持っている。尚、ストレージアクセス範囲の変更要求はストレージアクセス範囲管理テーブル１２００が持つ項目の全てを含んでいても良いし、変更が必要な属性のみを含んでもいても良い。
【００９３】
ステップＳ１９０２は、ストレージアクセス範囲変更要求に含まれる認可トークンの情報を取得するステップである。認可トークン情報取得部１１０３は、認証認可サーバ１０２に認可トークン情報取得要求を送信し、認可トークンの情報を取得する。認可トークン情報取得要求には認可トークンの値を含む。
【００９４】
ステップＳ１９０３は、ステップＳ１９０２で取得された認可トークンが正当かどうかの検証を行うステップである。検証の結果を受けて、ステップＳ１９０４では、認可トークンは正当であるか否かを判定する。ステップＳ１９０２において認可トークン情報が正常に取得できなかった場合、認可トークンは正当でないと判定する。また、認可トークン情報が正常に取得できた場合に、認可トークン情報が含む認可クライアントのクライアントＩＤおよびスコープと、ストレージアクセス範囲変更要求に含まれるクライアントＩＤおよびスコープが一致するか確認を行う。一致した場合は、認可トークンが正当であると判断する。正当であると判定された場合は、ステップＳ１９０５に処理を進める。一方、一致しない場合は、ストレージアクセス範囲変更要求を送信した認可クライアントとは異なる認可クライアントの設定を変更しようとしているとみなせるため、認可トークンは正当でないと判定する。認可トークンが正当でないと判定された場合は、ステップＳ１９０６に処理を進める。
【００９５】
ステップＳ１９０５は、受信したストレージアクセス範囲変更要求の情報を用いて、ストレージアクセス範囲管理テーブル１２００の該当の認可クライアントかつスコープの情報を変更するステップである。ステップＳ１９０６は、クライアント１０１にエラーの応答を返却するである。ステップＳ１９０５もしくはステップＳ１９０６の処理後、全体処理を終了させる。
【００９６】
なお、図１５の処理では既存の設定を更新する例を示したが、設定の削除や新規作成も可能である。設定の削除を行う場合には、例えば、図１６のＨＴＴＰの動詞部分をＤＥＬＥＴＥにすれば良く、新規作成の場合には、ＨＴＴＰの動詞部分をＰＯＳＴにすれば良い。
また、ストレージアクセス範囲の変更要求には認可トークンが含まれるものとしたが、代替えとしてユーザＩＤとパスワードでの認証結果を示す情報を送信しても良い。更に、ユーザが属する特定のユーザグループのみにストレージアクセス範囲の変更ができる権限を与えてもよい。
【００９７】
以上のように、本実施形態のアクセス権仲介サーバによれば、ユーザがストレージアクセス範囲管理テーブル１２００にて管理されるストレージアクセス範囲の設定情報を変更できる。これにより、ストレージサーバ１０５に対するアクセス権の権限の設定を必要に応じて変更できるため、ストレージサーバ１０５に対するアクセス権の権限を適切な範囲で運用できる。
【００９８】
尚、ストレージアクセス範囲管理テーブル１２００の設定の変更の際には、ストレージアクセス範囲管理テーブル１２００の設定を変更できるユーザかどうかのチェックを行う。よって、正当でないユーザによるストレージアクセス範囲管理テーブル１２００の設定改竄は困難になる。
【００９９】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０１００】
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために以下の請求項を添付する。
【符号の説明】
【０１０１】
１１０２  ストレージアクセス権取得部
１１０３  認可トークン情報取得部
１１０４  ストレージアクセス範囲決定部
１１０７  通信部
【図１】
2019036347.tif 000003
【図２】
2019036347.tif 000004
【図３】
2019036347.tif 000005
【図４】
2019036347.tif 000006
【図５】
2019036347.tif 000007
【図６】
2019036347.tif 000008
【図７】
2019036347.tif 000009
【図８】
2019036347.tif 000010
【図９】
2019036347.tif 000011
【図１０】
2019036347.tif 000012
【図１１】
2019036347.tif 000013
【図１２】
2019036347.tif 000014
【図１３】
2019036347.tif 000015
【図１４】
2019036347.tif 000016
【図１５】
2019036347.tif 000017
【図１６】
2019036347.tif 000018
【手続補正書】
【提出日】平成30年11月21日(2018.11.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ストレージサーバと、当該ストレージサーバと異なり、サービスを提供するウェブサーバとにアクセスするクライアントと通信可能な情報処理装置であって、
前記クライアントから、前記クライアントが前記ウェブサーバにアクセスし、前記サービスを受けるために用いられるアクセス権の情報を受信する受信手段と、
前記アクセス権の情報を受信した後、前記クライアントが前記ストレージサーバにアクセスするために用いられるファイルパスの情報を生成する生成手段と、
前記ファイルパスの情報を前記クライアントに送信する送信手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記アクセス権の情報には、
前記クライアントのクライアントＩＤ、アクセス権の有効期限を示す情報の少なくともいずれか１つが含まれていることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記ファイルパスの情報には、
前記ストレージサーバに対して操作可能な情報が含まれていることを特徴とする請求項１もしくは２のいずれか１項に記載の情報処理装置。
【請求項４】
前記生成手段は、前記ストレージサーバに対するアクセス権を管理する管理サーバに前記アクセス権の情報に基づく問い合わせを行い、当該問い合わせに対する応答に基づき前記第ファイルパスの情報を生成することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記アクセス権の情報と前記ファイルパスの情報との対応情報を保持する保持手段を更に有し、
前記生成手段は、前記対応情報を参照することによって、前記ファイルパスの情報を生成することを特徴とする請求項１乃至４のいずれ１項に記載の情報処理装置。
【請求項６】
前記クライアントから前記ファイルパスの情報を変更する変更要求を受ける第２の受信手段を更に有し、
前記生成手段は、前記変更要求に基づき前記対応情報を変更して、前記クライアントが前記ストレージサーバにアクセスするために用いられるファイルパスの情報を生成することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
ストレージサーバと、
当該ストレージサーバと異なり、サービスを提供するウェブサーバと、
前記ストレージサーバと前記ウェブサーバにアクセスするクライアントと、
前記クライアントと通信可能な情報処理装置とから構成される情報処理システムであって、
前記情報処理装置は、
前記クライアントから、前記クライアントが前記ウェブサーバにアクセスし、前記サービスを受けるために用いられるアクセス権の情報を受信する受信手段と、
前記アクセス権の情報を受信した後、前記クライアントが前記ストレージサーバにアクセスするために用いられるファイルパスの情報を生成する生成手段と、
前記ファイルパスの情報を前記クライアントに送信する送信手段と、を有することを特徴とする情報処理システム。
【請求項８】
ストレージサーバと、当該ストレージサーバと異なり、サービスを提供するウェブサーバとにアクセスするクライアントと通信可能な情報処理装置の制御方法であって、
受信手段が、前記クライアントから、前記クライアントが前記ウェブサーバにアクセスし、前記サービスを受けるために用いられるアクセス権の情報を受信する受信工程と、
生成手段が、前記アクセス権の情報に基づき、前記クライアントが前記ストレージサーバにアクセスするために用いられるファイルパスの情報を生成する生成工程と、
送信手段が、前記ファイルパスの情報を前記クライアントに送信する送信工程と、を有することを特徴とする制御方法。
【請求項９】
コンピュータを、
ストレージサーバと、当該ストレージサーバと異なり、サービスを提供するウェブサーバとにアクセスするクライアントと通信可能な情報処理装置であって、
前記クライアントから、前記クライアントが前記ウェブサーバにアクセスし、前記サービスを受けるために用いられるアクセス権の情報を受信する受信手段と、
前記アクセス権を受信した後、前記クライアントが前記ストレージサーバにアクセスするために用いられるファイルパスの情報を生成する生成手段と、
前記ファイルパスの情報を前記クライアントに送信する送信手段と、を有することを特徴とする情報処理装置として機能させるためのコンピュータプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
上記目的を達成するため、本発明は、ストレージサーバと、当該ストレージサーバと異なり、サービスを提供するウェブサーバとにアクセスするクライアントと通信可能な情報処理装置であって、前記クライアントから、前記クライアントが前記ウェブサーバにアクセスし、前記サービスを受けるために用いられるアクセス権の情報を受信する受信手段と、前記アクセス権の情報に基づき、前記クライアントが前記ストレージサーバにアクセスするために用いられるファイルパスの情報を生成する生成手段と、前記ファイルパスの情報を前記クライアントに送信する送信手段と、を有することを特徴とする。