ファイル管理装置、ファイル管理プログラム、およびファイル管理方法
【課題】異なるシステム配下の各ユーザに関するファイルへのアクセス権管理を1つのシステムに容易に統合できるようにする。
【解決手段】ファイルアクセス装置2からアクセス要求7を受信すると、装置アクセス権判定手段1dにより、ファイルアクセス装置2がファイル3aに対したアクセス可能か否かが判定される。またユーザアクセス権判定手段1fにより、ファイルアクセス装置2に属するアクセス要求7を依頼したユーザによるファイル3aへのアクセスについて、可能か否かが判定される。そして、装置アクセス権判定手段1dとユーザアクセス権判定手段1fとの両方でアクセス可能と判定された場合、ファイルアクセス手段1gにより、アクセス要求7に応じたストレージ装置3内のファイル3aへのアクセスが行われる。
【解決手段】ファイルアクセス装置2からアクセス要求7を受信すると、装置アクセス権判定手段1dにより、ファイルアクセス装置2がファイル3aに対したアクセス可能か否かが判定される。またユーザアクセス権判定手段1fにより、ファイルアクセス装置2に属するアクセス要求7を依頼したユーザによるファイル3aへのアクセスについて、可能か否かが判定される。そして、装置アクセス権判定手段1dとユーザアクセス権判定手段1fとの両方でアクセス可能と判定された場合、ファイルアクセス手段1gにより、アクセス要求7に応じたストレージ装置3内のファイル3aへのアクセスが行われる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はファイルを管理するファイル管理装置、ファイル管理プログラム、およびファイル管理方法に関する。
【背景技術】
【0002】
従来のファイルシステムのユーザ認証方式として、UID/GID方式が広く普及している。UID/GID方式は、ユーザのユーザID(UID)、またはユーザが属するグループのグループID(GID)に対応付けて、各ファイルへのアクセス権限を管理する方式である。アクセス権限には、例えば、読み出しの許否、書き込みの許否、実行の許否などがある。
【0003】
また近年では、安全性の高いユーザ認証方式として秘密鍵暗号方式に基づくケルベロス(Kerberos)と呼ばれる方式が開発されている。ケルベロス方式では、ケルベロスサーバにおいて、ユーザ認証と、各ユーザがサービスを利用するためのチケットの発行とが行われる。ユーザは端末装置を用いて、ケルベロスサーバからチケットを取得する。そして、ユーザの端末装置からサービスを提供しているサーバに対して、チケットを含むサービス要求を送信することで、ユーザはそのサーバからのサービス提供を受けることができる。サーバから提供を受けることができるサービスには、ファイルサーバによるファイル管理サービスも含まれる。
【0004】
ケルベロスを用いた技術としては、例えば、ローカルなユーザアカウントを有さずにオブジェクトへのアクセス制限を行うアクセス制御方法がある。
ところで、企業がユーザにサービスを提供する場合、ユーザの要求に応じてファイルの保存などを行う場合がある。このような場合、サービスの運用継続に伴い、保存すべきデータ量が増加する。データ量が増加しシステムの資源が不足すれば、その都度、システムの拡張が行われる。このようなシステムの拡張の必要性を適宜判断し、拡張作業を適切に行うのは各企業にとって負担となる。そこで、ファイルの管理を他の機関に任せる場合がある。
【0005】
ファイルの管理を委託されたファイル管理サービス提供企業では、例えば顧客企業ごとにファイルサーバを構築する。そしてファイル管理サービス提供企業は、個々の顧客企業が必要としている資源の量に応じて、顧客企業ごとのファイルサーバの拡張などを行う。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2004−5647号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上記のような複数の顧客企業に対してサービスを提供するファイル管理サービス提供企業において、顧客企業ごとにファイルサーバを個別に構築・管理していたのでは管理の手間がかかると共に、資源の使用効率も低下してしまう。そこで、顧客企業ごとに構築されているファイルサーバを、1つのシステムに統合し、管理の手間の削減、資源の有効利用を図ることが考えられる。
【0008】
しかし、顧客企業ごとに既に運用されているファイルサーバを1つのシステムに統合する場合、顧客企業それぞれのユーザに対するファイルへのアクセス権管理の統合が難しいという問題がある。
【0009】
例えば、各顧客企業がUID/GID方式でユーザのアクセス権を管理している場合、顧客企業それぞれが、自己のユーザに対してUIDやGIDを独自に設定している。そのため、複数の顧客企業へのファイルサーバを1つのシステムに統合した場合、UIDやGIDが重複する可能性がある。UIDやGIDの重複を回避するには、ファイル管理サービス提供企業側の管理者が全ユーザのUIDやGIDを再設定し、顧客企業を跨った包括的なユーザ管理を行うこととなる。しかしながら、既に運用されているシステムの各ユーザのUID/GIDの変更は、管理対象の全ファイルに関するアクセス権に関する情報の変更を伴い、設定変更を行うべき情報量が膨大となる。そのため、すべてのユーザのUID/GIDを変更するのは困難である。
【0010】
なお、各ユーザの端末装置にケルベロス方式によるアクセス環境を構築すれば、システム統合後に、複数の顧客企業の各ユーザからファイルへのアクセス権をケルベロス方式で管理できる。ただし、ケルベロス方式は、鍵が必要であることや、鍵の管理方法、アクセス権の設定方法などがUID/GID方式とは大きく異なる。そのため、ファイルシステムのユーザ認証方式をUID/GID方式からケルベロス方式へ移行させるには、鍵の再生成やアクセス権の再設定など、ユーザは一連の作業を最初からやり直さなければならず、ユーザの負担が過大となる。既に膨大な数のユーザが登録されている場合、UID/GID方式で管理されているユーザを、従来のままのケルベロス方式での管理に移行するのは困難である。
【0011】
本発明はこのような点に鑑みてなされたものであり、異なるシステム配下のユーザに関するファイルへのアクセス権管理を1つのシステムに容易に統合できるファイル管理装置、ファイル管理プログラム、およびファイル管理方法を提供することを目的とする。
【課題を解決するための手段】
【0012】
上記課題を解決するために、以下のようなストレージ装置に格納されたファイルを管理するファイル管理装置が提供される。このファイル管理装置は、通信インタフェース部と制御装置とを有する。
【0013】
通信インタフェース部は、ファイルアクセス装置から、該ファイルアクセス装置の識別情報と、ユーザの識別情報とを含む、前記ファイルへのアクセス要求を受信する。
制御装置は、受信した前記ファイルアクセス装置の識別情報に基づいて、該ファイルアクセス装置が前記ファイルに対するアクセス権を有するか否かの第1の判定を行い、受信した前記ユーザの識別情報に基づいて、該ユーザが前記ファイルに対するアクセス権を有しているか否かの第2の判定を行い、該第1の判定及び該第2の判定の双方において、アクセス権が有ると判定する場合に、前記アクセス要求に応じた前記ファイルへのアクセスを許容する。
【0014】
また、上記課題を解決するために、装置アクセス権判定手段、ユーザアクセス権判定手段、およびファイルアクセス手段を有するファイル管理装置が提供される。装置アクセス権判定手段は、送信元のファイルアクセス装置を示す識別情報と、アクセス対象のファイルを使用するユーザのユーザIDとを含む、ファイルへのアクセス要求を受信すると、ファイルそれぞれに対してアクセス権を有するファイルアクセス装置の識別情報を記憶する装置識別情報記憶手段を参照し、アクセス要求を出力したファイルアクセス装置がアクセス対象のファイルに対するアクセス権を有するか否かを判定する。ユーザアクセス権判定手段は、アクセス要求を受信すると、ファイルそれぞれに対してユーザIDに応じたアクセス権が設定されたユーザアクセス権記憶手段を参照し、アクセス要求に含まれるユーザIDで示されるユーザがアクセス対象のファイルに対するアクセス権を有しているか否かを判定する。ファイルアクセス手段は、ファイルアクセス装置がアクセス権を有し、かつユーザがアクセス権を有している場合、アクセス要求に応じたファイルアクセスを実行する。
【0015】
さらに、上記課題を解決するためにストレージ装置に格納されたファイルを管理する処理をコンピュータに実行させるファイル管理プログラムが提供される。このファイル管理プログラムは、コンピュータに以下の処理を実行させる。
【0016】
コンピュータは、送信元のファイルアクセス装置を示す識別情報と、アクセス対象のファイルを使用するユーザのユーザIDとを含む、ファイルへのアクセス要求を受信すると、ファイルそれぞれに対してアクセス権を有するファイルアクセス装置の識別情報を記憶する装置識別情報記憶手段を参照し、アクセス要求を出力したファイルアクセス装置がアクセス対象のファイルに対するアクセス権を有するか否かを判定する。次にコンピュータは、アクセス要求を受信すると、ファイルそれぞれに対してユーザIDに応じたアクセス権が設定されたユーザアクセス権記憶手段を参照し、アクセス要求に含まれるユーザIDで示されるユーザがアクセス対象のファイルに対するアクセス権を有しているか否かを判定する。そしてコンピュータは、ファイルアクセス装置がアクセス権を有し、かつユーザがアクセス権を有している場合、アクセス要求に応じたファイルアクセスを実行する。
【0017】
さらに、上記課題を解決するために、上記ファイル管理プログラムに基づいてコンピュータが実行する処理と同様の方法でファイルを管理するファイル管理方法が提供される。
【発明の効果】
【0018】
異なるファイルアクセス装置配下のユーザに関するファイルへのアクセス権管理を1つのシステムに容易に統合できる。
【図面の簡単な説明】
【0019】
【図1】第1の実施の形態の機能を示すブロック図である。
【図2】第2の実施の形態のシステム構成例を示す図である。
【図3】ファイル管理装置のハードウェア構成例を示す図である。
【図4】各サーバの機能を示すブロック図である。
【図5】ローカルファイルシステムのディレクトリ構造を示す図である。
【図6】inode記憶部に格納されたinodeの例を示す図である。
【図7】ファイルアクセス手順を示すシーケンス図である。
【図8】NFSクライアント部から出力されるNFS要求のデータ構造例を示す図である。
【図9】サービスチケット記憶部のデータ構造例を示す図である。
【図10】ニックネーム付加後のNFS要求を示す図である。
【図11】NFSサーバ部によるファイルアクセス処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0020】
以下、本実施の形態について図面を参照して説明する。
〔第1の実施の形態〕
図1は、第1の実施の形態の機能を示すブロック図である。第1の実施の形態に係るシステムは、ファイル管理装置1、複数のファイルアクセス装置2,2a,・・・、および認証サーバ4を有している。ファイル管理装置1には、ストレージ装置3がローカル接続されている。
【0021】
ファイル管理装置1は、通信インタフェース部1−1と制御装置1−2とを有する。通信インタフェース部1−1は、ファイルアクセス装置2から、ファイルアクセス装置2の識別情報と、ユーザの識別情報とを含む、ファイルへのアクセス要求7を受信する。また、通信インタフェース部1−1は、ファイルアクセス装置2からサービスチケット5を受信する。サービスチケット5には、例えばファイルアクセス装置2の名称(装置名)が設定されている。さらに、通信インタフェース部1−1は、サービスチケット5を送信したファイルアクセス装置2に対して、サービスチケット5に一意に関連付けられたニックネーム6を送信する。
【0022】
制御装置1−2は、図1に示す各機能を用いて、ローカル接続されたストレージ装置3に格納されたファイルを管理する。すなわち、制御装置1−2は、サービスチケット取得手段1a、装置識別情報記憶手段1b、識別情報送信手段1c、装置アクセス権判定手段1d、ユーザアクセス権記憶手段1e、ユーザアクセス権判定手段1f、およびファイルアクセス手段1gを有する。
【0023】
サービスチケット取得手段1aは、ストレージ装置3へのアクセス権を有するファイルアクセス装置2に対して認証サーバ4によって発行されたサービスチケット5を、通信インタフェース部1−1を介して受信する。するとサービスチケット取得手段1aは、受信したサービスチケット5を、ファイルアクセス装置2のニックネーム6に関連付けて装置識別情報記憶手段1bに格納する。
【0024】
装置識別情報記憶手段1bは、ストレージ装置3に格納されたファイルにアクセス可能なファイルアクセス装置2の識別情報として、ニックネーム6を記憶する。ニックネーム6は、サービスチケット取得手段1aで取得されたサービスチケット5と関連付けて記憶されている。サービスチケット5にファイルアクセス装置2の装置名が含まれることで、ニックネーム6とファイルアクセス装置2とが対応付けられる。
【0025】
また装置識別情報記憶手段1bは、図1の例では、アクセス可能装置名記憶領域1baとサービスチケット記憶領域1bbとに分けられている。アクセス可能装置名記憶領域1baは、ストレージ装置3内のファイルに対応付けて、ファイルにアクセス可能なファイルアクセス装置2の装置名を記憶する記憶領域である。サービスチケット記憶領域1bbは、ニックネーム6とサービスチケット5とを関係づけて記憶する記憶領域である。アクセス可能装置名記憶領域1baとサービスチケット記憶領域1bbとの間では、装置名によってレコードが関連付けられる。装置名を介したレコード間の関連付けにより、アクセス可能装置名記憶領域1ba内のレコードのファイルIDとサービスチケット記憶領域1bb内のレコードのニックネーム6とが関連付けられている。
【0026】
識別情報送信手段1cは、装置識別情報記憶手段1bに格納されたサービスチケット5に関連付けられたニックネーム6を、サービスチケット5の送信元であるファイルアクセス装置2に、通信インタフェース部1−1を介して送信する。
【0027】
装置アクセス権判定手段1dは、ファイルアクセス装置2からファイル3aへのアクセス要求7を、通信インタフェース部1−1を介して受信する。装置アクセス権判定手段1dはアクセス要求7を受信すると、装置識別情報記憶手段1bを参照し、アクセス要求を出力したファイルアクセス装置がアクセス権を有するか否かを判定する。例えば装置アクセス権判定手段1dは、アクセス可能装置名記憶領域1baを参照して、アクセス要求7のアクセス対象のファイル3aのファイルIDに対応する装置名を取得する。次に装置アクセス権判定手段1dは、サービスチケット記憶領域1bbを参照し、取得した装置名が含まれるサービスチケット5に対応するニックネーム6を取得する。装置アクセス権判定手段1dは、装置識別情報記憶手段1bから取得したニックネーム6と、アクセス要求7に含まれるニックネームとが一致した場合、アクセス権有りと判断する。
【0028】
ユーザアクセス権記憶手段1eは、ストレージ装置3に格納されたファイル3aに対する、少なくともユーザID(UID)に応じたアクセス権が設定されている。アクセス権は、例えばファイルIDとUIDとの組に対応付けて、ファイル3aへの書き込み可能か否か、ファイル3aへの読み出し可能か否か、およびファイル3a内のプログラムを実行可能か否かが定義されている。
【0029】
ところで、ユーザアクセス権記憶手段1e内の情報と、装置識別情報記憶手段1bのアクセス可能装置名記憶領域1ba内の情報とは、共にファイルIDによってファイル3aに関連付けられている。そこで、ファイル管理装置1のローカルのファイルシステムがファイル3a管理に利用するファイル管理情報1h内に、ユーザアクセス権記憶手段1e内の情報とアクセス可能装置名記憶領域1ba内の情報とをまとめて格納することもできる。ファイル管理情報1hは、例えばUNIX(登録商標)システムにおけるinodeである。
【0030】
ユーザアクセス権判定手段1fは、アクセス要求7を受信すると、ユーザアクセス権記憶手段1eを参照し、アクセス対象のファイル3aに対してユーザがアクセス権を有しているか否かを判定する。例えばユーザアクセス権判定手段1fは、アクセス対象のファイル3aのファイルIDに対応付けて登録されているUIDと、アクセス要求7に含まれるUIDとを比較する。UIDが一致するレコードがある場合、ユーザアクセス権判定手段1fは、該当するレコードのアクセス権を判定する。そしてユーザアクセス権判定手段1fは、アクセス要求7に示されるアクセスの種別に対応するアクセスがアクセス権によって認められている場合、アクセス可能と判定する。
【0031】
ファイルアクセス手段1gは、ファイルアクセス装置2がアクセス可能であり、かつユーザがアクセス権を有している場合、アクセス要求7に応じたファイルアクセスを実行する。
【0032】
ファイルアクセス装置2,2a,・・・は、それぞれが個別にユーザ管理を行っている。すなわち、ファイルアクセス装置2,2a,・・・は独自にユーザカウントを生成する。ユーザアカウントには、ファイルアクセス装置2,2a,・・・それぞれ内で一意に識別可能なUIDが付与される。ファイルアクセス装置2,2a,・・・は、自己のユーザからの要求に応じてファイル管理装置1経由でストレージ装置3内のファイル3aにアクセスする。例えばファイルアクセス装置2は、ファイル3aへのアクセス時にアクセス要求7をファイル管理装置1に送信する。アクセス要求7には、送信元のファイルアクセス装置2を示すニックネーム6と、アクセス対象のファイルを使用するユーザのファイルアクセス装置2内でのUIDとを含む。ニックネーム6は、例えばストレージ装置3へアクセスする権利を正当に有することが認証サーバ4によって認証されていることを示す情報である。さらにアクセス要求7には、例えば、アクセス対象のファイルの識別子(ファイルID)、アクセスの種別(書き込み、読み出し、実行など)、書き込みアクセスの際の書き込みデータなどが含まれる。
【0033】
認証サーバ4は、ファイルアクセス装置2,2a,・・・が、少なくともストレージ装置3へアクセスする権利を正当に有することを認証する。ここで、ストレージ装置3へアクセスする権利は、ストレージ装置3内のファイルの保護が必要な場合に、ファイルアクセス装置2,2a,・・・が有すべき権利である。すなわち、フィルシステムサーバ1で提供されるファイル管理サービスには、ファイルの暗号化・復号サービスのように、単なるファイルアクセス以外のサービスもある。そのうち少なくともストレージ装置3へアクセスする権利についてファイルアクセス装置2,2a,・・・が有していれば、ストレージ装置3へのアクセスが可能となる。ただし、本実施の形態では、ストレージ装置3内のファイルごとに、そのファイルにアクセス可能なファイルアクセス装置は制限される。
【0034】
このようなシステムにおいて、例えば以下のような処理が行われる。
まずファイルアクセス装置2は、認証サーバ4に対して、ファイル管理装置1からのファイル管理サービスの提供を受ける権利を有する旨の認証を要求する。認証サーバ4は、ファイルアクセス装置2がサービス提供を受ける権利を正当に有していれば、装置名を含むサービスチケット5を発行する。サービスチケット5は、ファイルアクセス装置2に渡される。
【0035】
サービスチケット5を取得したファイルアクセス装置2は、サービスチケット5を、ファイル管理装置1に送信する。するとファイル管理装置1のサービスチケット取得手段1aが、ファイルアクセス装置2を一意に識別するニックネーム6を生成する。そしてサービスチケット取得手段1aは、ニックネーム6に関連付けてサービスチケット5を装置識別情報記憶手段1bに格納する。サービスチケット取得手段1aで生成されたニックネーム6は、識別情報送信手段1cによりファイルアクセス装置2に送信される。
【0036】
その後、ファイルアクセス装置2内のユーザのプロセスにおいて、ファイル3aへのアクセスが発生したものとする。この場合、ファイルアクセス装置2からファイル管理装置1に対してアクセス要求7が送信される。
【0037】
アクセス要求7を受信したファイル管理装置1では、装置アクセス権判定手段1dにより、ファイルアクセス装置2がファイル3aに対したアクセス可能か否かが判定される。例えば、アクセス要求7内のニックネームに対応付けられたサービスチケット内の装置名が、アクセス対象のファイル3aのファイルIDに対応付けてアクセス可能装置名記憶領域1baに登録されていれば、アクセス可能と判定される。
【0038】
また、アクセス要求7を受信したファイル管理装置1では、ユーザアクセス権判定手段1fにより、ファイルアクセス装置2に属するアクセス要求7を依頼したユーザによるファイル3aへのアクセスについて、可能か否かが判定される。例えばアクセス対象のファイル3aのファイルIDに対応付けてアクセス要求7内のUIDが登録されたレコードがあり、そのレコードのアクセス権にアクセス要求7で示される種別のアクセス権があると定義されていれば、アクセス可能と判定される。
【0039】
装置アクセス権判定手段1dとユーザアクセス権判定手段1fとの両方でアクセス可能と判定された場合、ファイルアクセス手段1gにより、アクセス要求7に応じたストレージ装置3内のファイル3aへのアクセスが行われる。例えば書き込み要求であれば、アクセス要求7に含まれる書き込みデータが、ファイル3aに書き込まれる。
【0040】
このようにUIDによるアクセス権管理に加え、ファイルアクセス装置2,2a,・・・の識別情報であるニックネームによるアクセス権管理が行われる。これにより、独自にUIDを設定している複数のファイルアクセス装置2,2a,・・・に対するファイル管理サービスを、1つのファイル管理装置1で提供できる。この際、異なるファイルアクセス装置に同じUIDのユーザが存在しても、クライアントアクセス権判定によってアクセス権を正しく判定できる。その結果、既に運用しているファイルアクセス装置2,2a,・・・に対して、ファイル管理装置1で一括したファイル管理サービスの提供が容易となる。
【0041】
しかも、ユーザのアクセス権判定についてはUIDを利用する。そのため、ファイルアクセス装置2,2a,・・・に対して個別のファイル管理装置でファイル管理サービスを提供しているシステム環境においても、ファイル管理サービス機能を1つのファイル管理装置に容易に統合できる。すなわち、ファイル管理装置を等どうしても、ファイルアクセス装置2,2a,・・・それぞれにおいて独自にユーザに割り振られたUIDを、変更する必要がない。
【0042】
さらに、認証サーバ4から認証を受けるのは、個々のユーザではなく、ファイルアクセス装置2,2a,・・・である。そのため、各ユーザが認証サーバ4との間の認証手続を行う必要はなく、ユーザの負担も抑制されている。
【0043】
なお、図1の例では、ファイルアクセス装置2,2a,・・・が、ストレージ装置3にアクセスする権利を正当に有していることを、認証サーバ4で認証している。これはファイル管理装置1に対して高度なセキュリティが要求される場合を想定したものである。他方、ファイルアクセス装置2,2a,・・・からのファイル管理装置1へのアクセスに関するセキュリティが、認証サーバ4以外の仕組みで保たれる場合もある。例えば、ファイルアクセス装置2,2a,・・・とファイル管理装置1とが、企業内のイントラネット内に存在し、共通の管理者が管理している場合である。このようにセキュリティを保つ他の仕組みが存在する場合、あるいは高度なセキュリティが不要な場合であれば、認証サーバ4による認証を行わなくてもよい。その場合、例えばファイルアクセス装置2,2a,・・・の装置名を、そのままファイルアクセス装置2,2a,・・・の識別情報として使用することもできる。ニックネーム6に代えて装置名が識別情報としてアクセス要求7に含められた場合、装置アクセス権判定手段1dは、アクセス可能装置名記憶領域1baのみを参照して、アクセス可能か否かを判定できる。すなわち、装置アクセス権判定手段1dは、アクセス要求7に示される装置名が、アクセス可能装置名記憶領域1ba内においてアクセス対象のファイルのファイルIDに対応付けて登録されていれば、アクセス可能と判定する。
【0044】
また図1の例では、ストレージ装置3へアクセスする権利を正当に有することが認証サーバ4によって認証されていることを示す情報として、ファイル管理装置1で発行されたニックネーム6が使用されている。このニックネーム6は、ファイルアクセス装置の台数分の数値を表現可能なデータ量で足りる。そのためニックネーム6は、サービスチケット5に比べて少ないデータ量に抑えることができる。これにより、アクセス要求7のデータ量の増加を最小限に抑えて、ファイルアクセス装置2がストレージ装置3へアクセスする権利を正当に有することを示す情報をアクセス要求7に含めることができる。
【0045】
なおサービスチケット5分のアクセス要求7のデータ量増加が許容できるのであれば、アクセス要求7にサービスチケット5を含めてもよい。その場合、ファイルアクセス装置2がサービスチケット5をファイル管理装置1に送信し、ニックネーム6を取得する処理は不要となる。また、ファイル管理装置1のサービスチケット取得手段1aと識別情報送信手段1cとは不要となる。ニックネーム6に代えてサービスチケット5をアクセス要求7に含めた場合、サービスチケット5に装置名が含まれることから、サービスチケット5がアクセス要求7の送信元のファイルアクセス装置2を示す識別情報となる。
【0046】
ニックネーム6に代えてサービスチケット5がアクセス要求7に含められた場合、装置アクセス権判定手段1dは、アクセス可能装置名記憶領域1baのみを参照して、アクセス可能か否かを判定できる。すなわち、装置アクセス権判定手段1dは、サービスチケット5に含まれる装置名が、アクセス可能装置名記憶領域1ba内において、アクセス対象のファイルのファイルIDに対応付けて登録されていれば、アクセス可能と判定する。
【0047】
〔第2の実施の形態〕
次に、第2の実施の形態について説明する。第2の実施の形態は、アクセスチケットを発行する認証サーバとして、ケルベロスサーバを用いたものである。
【0048】
ケルベロス方式の認証は、通常はユーザに対して認証が行われるが、第2の実施の形態では、ケルベロスサーバが、ファイルアクセス装置をユーザとみなして認証を行う。
また第2の実施の形態では、ファイル管理装置によるサービの提供を受ける顧客企業を「テナント」と呼ぶこととする。そして、テナントごとにファイルアクセス装置が設けられているものとする。そこで第2の実施の形態では、ファイルアクセス装置の名称を「テナント名」とする。
【0049】
ケルベロス方式の認証で発行されるチケットには、プリンシパル名の設定フィールドがある。このプリンシパル名の設定フィールドにテナント名を設定することで、ファイルアクセス装置の名称をチケットに付与することができる。
【0050】
以下、第2の実施の形態について詳細に説明する。
図2は、第2の実施の形態のシステム構成例を示す図である。ネットワーク10には、ファイル管理装置100、ケルベロスサーバ200、および複数のファイルアクセス装置300,400,・・・が接続されている。図2の例では、ファイル管理装置100とケルベロスサーバ200は、ファイル管理サービス提供企業のデータセンタ30内に設置されている。
【0051】
ファイル管理装置100には、ストレージ装置110が設けられている。ストレージ装置110には、例えばRAID(Redundant Arrays of Inexpensive Disks)5などにより、高速性・信頼性を確保した装置を用いることができる。ファイル管理装置100は、複数のファイルアクセス装置300,400,・・・それぞれで管理されているユーザの利用するデータのストレージ装置110への入出力を行うコンピュータである。またファイル管理装置100は、ストレージ装置110内の各データについて、ユーザのアクセス権を管理する。
【0052】
ケルベロスサーバ200は、ケルベロス方式による認証を行うコンピュータである。例えばケルベロスサーバ200は、ファイルアクセス装置300,400,・・・の認証や、ファイルアクセス装置300,400,・・・に対するチケット発行などの処理を行う。
【0053】
ファイルアクセス装置300には、複数のユーザ端末21,22,23,・・・が接続されている。ファイルアクセス装置300は、ユーザ端末21,22,23,・・・を使用するユーザに対して、各種サービスを提供する。ファイルアクセス装置300が提供するサービスには、ファイル管理装置100が管理するデータへのアクセスも含まれる。なおファイルアクセス装置300は、ユーザ端末21,22,23,・・・からのユーザの認証情報の入力を受け付け、その認証情報に基づいてユーザの認証を行うことができる。ユーザの認証情報には、例えばユーザのUIDとパスワードとが含まれる。
【0054】
ファイルアクセス装置400は、ユーザ端末31,32,33,・・・を使用するユーザに対して、各種サービスを提供する。ファイルアクセス装置400の機能は、ファイルアクセス装置300と同様である。
【0055】
ファイル管理装置100とファイルアクセス装置300,400,・・・とが協働することで、1つの大規模なファイルシステムとして機能する。ファイル管理装置100とファイルアクセス装置300,400,・・・で提供されるファイルシステムは、ケルベロスサーバ200を利用したケルベロス方式の認証システムを利用し、セキュリティを維持する。そして、ファイル管理装置100とファイルアクセス装置300,400,・・・が提供するファイルシステムにより、ユーザ端末21,22,23,・・・,31,32,33,・・・からの要求に応じて、ストレージ装置110内のファイルが操作される。これにより、ファイル管理装置100におけるファイル管理機能が、各ファイルアクセス装置300,400,・・・配下のユーザによって共同利用が可能となる。
【0056】
図3は、ファイル管理装置のハードウェア構成例を示す図である。ファイル管理装置100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス109を介してRAM(Random Access Memory)102と複数の周辺機器が接続されている。
【0057】
RAM102は、ファイル管理装置100の主記憶装置として使用される。RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。
【0058】
周辺機器としては、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、通信インタフェース107、およびストレージインタフェース108がある。
【0059】
HDD103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、ファイル管理装置100の二次記憶装置として使用される。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
【0060】
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。モニタ11としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
【0061】
入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号をCPU101に送信する。なお、マウス13は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【0062】
光学ドライブ装置106は、レーザ光などを利用して、光ディスク14に記録されたデータの読み取りを行う。光ディスク14は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク14には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
【0063】
通信インタフェース107は、ネットワーク10に接続されている。通信インタフェース107は、ネットワーク10を介して、ファイルアクセス装置300,400,・・・などの他のコンピュータとの間でデータの送受信を行う。
【0064】
ストレージインタフェース108は、ストレージ装置110に接続されている。ストレージインタフェース108は、CPU101からの指示に従って、ストレージ装置110へのデータの書き込み、およびストレージ装置110からのデータの読み出しを行う。
【0065】
なお、図3に示したCPU101は、図1に示した制御装置1−2が有する処理機能の一例である。また、図3に示したRAM102は、図1に示した制御装置1−2が有する記憶機能の一例である。また、図3に示した通信インタフェース107は、図1に示した通信インタフェース部1−1の一例である。
【0066】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図3にはファイル管理装置100の例を示したが、ケルベロスサーバ200、ファイルアクセス装置300,400,・・・、およびユーザ端末21,22,23,・・・,31,32,33,・・・も同様のハードウェアで実現できる。ただしケルベロスサーバ200、ファイルアクセス装置300,400,・・・、およびユーザ端末21,22,23,・・・,31,32,33,・・・には、ストレージインタフェース108に対応する機能はなくてもよい。
【0067】
次に、各サーバの機能について説明する。
図4は、各サーバの機能を示すブロック図である。図4には、複数のファイルアクセス装置300,400,・・・のうち、代表的に一のファイルアクセス装置300の機能を示しているが、他のファイルアクセス装置400,・・・もファイルアクセス装置300と同様の機能を有している。
【0068】
テナント名ファイルアクセス装置300は、NFS(Network File System)クライアント部310とレベル7スイッチ部320とを有している。
NFSクライアント部310は、ファイル管理装置100で管理されているデータへのアクセスを管理する。具体的には、NFSクライアント部310は、ファイル管理装置100で管理されているデータへのアクセス要求を、ユーザ端末21,22,23,・・・から取得する。アクセス要求を受け取ったNFSクライアント部310は、NFS要求をレベル7スイッチ部320に対して出力する。
【0069】
NFSクライアント部310は、ファイルアクセス装置300において正しくユーザ認証を行ったユーザが使用するユーザ端末からのアクセス要求のみを受け付けるようにすることができる。例えば、ファイルアクセス装置300内にユーザ端末21,22,23,・・・を使用する各ユーザの認証情報を格納しておく。認証情報には、UIDに対応付けられたユーザ名とパスワードとが含まれる。ユーザは、例えばユーザ端末21を用いてファイルアクセス装置300にアクセスし、ユーザ名とパスワードとを入力する。入力されたユーザ名とパスワードとは、ユーザ端末21からファイルアクセス装置300に送信される。ファイルアクセス装置300は、受け取ったユーザ名とパスワードとの組に該当する認証情報を有していれば、ユーザ端末21を使用しているユーザが正当であると認証する。以後、ユーザがログアウト操作をするまで、ユーザ端末21からの要求は、認証時に適用された認証情報のUIDによって、ファイルアクセス装置300内で他のユーザからの要求と識別される。
【0070】
なお、ファイルアクセス装置300が有する認証情報のUIDは、ファイルアクセス装置300内でユニークであればよい。すなわち、同じUIDがファイルアクセス装置400内の認証情報に設定されていてもよい。
【0071】
レベル7スイッチ部320は、OSI(Open Systems Interconnection)参照モデルのアプリケーション層(第7層)の情報に基づいて、パケットのルーティング処理を行う。具体的にはレベル7スイッチ部320は、NFSクライアント部310から出力されたパケットが、NFSクライアント部310により生成されたNFS要求であれば、該当パケットをファイル管理装置100へ転送する。
【0072】
なお、ファイルアクセス装置300には、テナント名「melon」が付与されている。テナント名は、ファイルアクセス装置300内のRAMなどの記憶領域に予め格納されている。レベル7スイッチ部320は、予め記憶されたテナント名を参照することで、ファイルアクセス装置300のテナント名を認識する。そしてファイル管理装置100に転送されるNFS要求には、レベル7スイッチ320によって、ファイルアクセス装置300が有するサービスチケットに対応付けられたニックネームが付加される。
【0073】
具体的には、レベル7スイッチ部320は、ファイルアクセス装置300の起動時にケルベロスサーバ200にログインし、ケルベロスサーバ200からサービスチケットを取得する。その後、レベル7スイッチ部320は、NFS要求をファイル管理装置100に転送する際に、サービスチケットに対応するニックネームをファイル管理装置100から取得する。そしてレベル7スイッチ部320は、NFS要求にニックネームを付加したうえで、NFSクライアント部310から出力されたNFS要求をファイル管理装置100に転送する。
【0074】
またレベル7スイッチ部320は、ニックネーム記憶部321を有している。ニックネーム記憶部321は、レベル7スイッチ部320がファイル管理装置100から取得したニックネームを記憶する記憶機能である。例えば、ファイルアクセス装置300内のRAMまたはHDDの記憶領域の一部が、ニックネーム記憶部321として使用される。
【0075】
ファイル管理装置100は、サービスチケット記憶部120、NFSサーバ部130、およびローカルファイルシステム部140を有している。
サービスチケット記憶部120は、ファイルアクセス装置300から送られたサービスチケットの認証用のサービスチケットを記憶する記憶機能である。例えば、ファイル管理装置100のRAM102またはHDD103の記憶領域の一部が、サービスチケット記憶部120として使用される。
【0076】
NFSサーバ部130は、ファイルアクセス装置300からのNFS要求に応じて、ストレージ装置110内のファイル操作を行う。具体的には、NFSサーバ130は、ファイルアクセス装置300からサービスチケットが通知されると、そのサービスチケットに対応するニックネームを応答する。その後、ファイルアクセス装置300からニックネームを付加したNFS要求を受け取ると、NFSサーバ部130は、ニックネームに対応するサービスチケットに基づいて、操作対象のファイルへのアクセス権の有無を判断する。この際、NFSサーバ部130は、ローカルファイルシステム部140を介して、アクセス対象のファイルのinodeを取得する。取得したinodeには、UID/GIDごとファイルへのアクセス権に加え、テナント名が含まれている。そして、NFSサーバ部130は、少なくともニックネームに対応するテナント名とアクセス対象のファイルのテナント名とが一致し、かつファイルに設定されたUID/GIDによるアクセス条件によりアクセスが可能な場合に、アクセス権があると判断する。アクセス権があると判断された場合、NFSサーバ部130は、受信したNFS要求に従ったファイル操作を、ローカルファイルシステム部140に依頼する。
【0077】
ローカルファイルシステム部140は、ストレージ装置110内のディレクトリおよびファイルを管理する。具体的には、ローカルファイルシステム部140はinode記憶部141を有している。inode記憶部141は、ストレージ装置110内のディレクトリおよびファイルのinodeを記憶する記憶機能である。例えば、RAM102またはHDD103の記憶領域の一部が、inode記憶部141として使用される。ローカルファイルシステム部140は、inode記憶部141内のinodeの作成・更新を行うと共に、NFSサーバ部130からの要求に応じてinodeをNFSサーバ部130に渡す。またローカルファイルシステム部140は、NFSサーバ部130からの要求に応じて、ストレージ装置110のファイルを操作する。ローカルファイルシステム部140は、例えば、Linux(登録商標)のext3ファイルシステムを改造することで実現できる。
【0078】
ローカルファイルシステム部140は、ストレージ装置110内にテナントごとのディレクトリを作成し、各テナントのファイルを該当ディレクトリ配下に格納する。
図5は、ローカルファイルシステムのディレクトリ構造を示す図である。ルートディレクトリ41の下には、テナントごとのディレクトリ42,43,44,45,・・・が設けられている。図5の例では、各ディレクトリのディレクトリ名として、そのディレクトリを使用するテナントとのテナント名が設定されている。例えば、ディレクトリ42のディレクトリ名は「apple」である。
【0079】
ディレクトリ42の配下には、複数のファイル51,52,・・・が格納されている。同様に、他のディレクトリ43,44,45,・・・にも複数のファイルが格納されている。
【0080】
このディレクトリ42は、ディレクトリ名で示されるテナント名「apple」に対応するファイルアクセス装置からのみアクセスが許可される。また、ディレクトリ42の配下のファイル51,52についても、上位のディレクトリのディレクトリ名で示されるテナント名「apple」に対応するファイルアクセス装置からのみアクセスが許可される。
【0081】
ディレクトリやファイルにアクセス可能なファイルアクセス装置の情報は、ディレクトリやファイルのinodeに、拡張属性として登録される。
図6は、inode記憶部に格納されたinodeの例を示す図である。inode記憶部141内には、複数のinode141a,141b,141c,・・・が格納されている。
【0082】
各inode141a,141b,141c,・・・には、inode番号が付与されている。ローカルファイルシステム内では、inode番号によって、各ディレクトリおよびファイルが一意に識別される。
【0083】
各inode141a,141b,141c,・・・には、ファイルデータ位置情報、UID/GID、アクセス権、拡張属性などの情報が含まれている。ファイルデータ位置情報は、inodeに対応するディレクトリまたはファイルの実体的なデータ(ファイルデータ111,112,113,・・・)が格納されたストレージ装置110内での位置を示す情報である。例えば、ファイルデータ位置情報には、ファイルデータ111の格納領域の先頭のブロック番号、データサイズなどが格納される。
【0084】
UID/GIDは、ファイルの所有者のユーザIDとグループIDである。このUIID/GIDは、ファイルアクセス装置300,400,・・・それぞれで個別に設定された値である。すなわち、ファイルアクセス装置300,400,・・・においてユーザ認証に用いられた認証情報に対応するUID/GIDが、ファイルの所有者の識別情報として使用される。
【0085】
アクセス権は、例えばパーミッションと呼ばれる情報であり、所有者、所有者の属するグループ内のユーザ、および所有者の属するグループに含まれないユーザそれぞれに、どの様なファイルアクセスを許可するのかが設定される。アクセスの種別には、読み出し、書き込み、実行がある。
【0086】
左から1〜3番目の値が、所有者の権限(Owner権限)を示している。左から4〜6番目の値が、所有者と同じグループに属するユーザの権限(Group権限)を示している。左から7〜9番目の値が、所有者の属するグループに含まれないユーザの権限(Other権限)を示している。各権限は3つの値で構成されており、左側が読み込み権限の有無を示し、中央が書き込み権限の有無を示し、右側が実行権限の有無を示す。読み込み権限があれば「r」が設定される。書き込み権限があれば「w」が設定される。実行権限があれば「x」が設定される。
【0087】
拡張属性には、ファイルにアクセス可能なファイルアクセス装置300を示すテナント名が設定される。例えば、inode141aの拡張属性にはテナント名「melon」が設定される。これは、テナント名「melon」に対応するファイルアクセス装置300からのアクセスのみが許可されることを示している。
【0088】
なお図1に示すファイル管理装置1内の処理機能は、図4に示すNFSサーバ部130とローカルファイルシステム部140との連係動作によって実現される。なお、ファイル管理装置1内の処理機能とは、ファイル管理装置1内のサービスチケット取得手段1a、識別情報送信手段1c、装置アクセス権判定手段1d、およびユーザアクセス権判定手段1fの各機能である。また図1に示す装置識別情報記憶手段1bのうちサービスチケット記憶領域1bbについては、図4に示すサービスチケット記憶部120によって実現される。図1に示す装置識別情報記憶手段1bのアクセス可能装置名記憶領域1baと、ユーザアクセス権記憶手段1eについては、図4に示すローカルファイルシステム部140内のinode記憶部141によって実現される。
【0089】
次に、ユーザ端末からのアクセス要求に基づくファイルアクセス手順について説明する。
図7は、ファイルアクセス手順を示すシーケンス図である。以下、図7に示す処理をステップ番号に沿って説明する。
【0090】
〔ステップS11〕ファイルアクセス装置300が起動されると、レベル7スイッチ部320は、ケルベロスサーバ200に対してテナント名などを引数にしてKRB_AS_REQ要求を発行する。
【0091】
〔ステップS12〕ケルベロスサーバ200は、レベル7スイッチ部320にKRB_AS_REP応答を発行する。KRB_AS_REP応答には、チケット認可チケット(TGT:Ticket Granting Ticket)が含まれる。
【0092】
具体的には、ケルベロスサーバ200は、鍵配布センタ(KDC:Key Distribution Center)データベースを有し、予めファイルアクセス装置300,400,・・・のテナント名と、秘密鍵の組をKDCデータベースに格納している。ケルベロスサーバ200は、KRB_AS_REQ要求を受信すると、KRB_AS_REQ要求に含まれるテナント名がKDCデータベースに登録されていることを確認する。テナント名が登録されていれば、ケルベロスサーバ200は、KDCデータベースからテナント名に対応する非公開鍵を取得する。次にケルベロスサーバ200は、ファイルアクセス装置300と通信するための第1のセッション鍵(K1)とチケット認可チケットを生成する。ケルベロスサーバ200は、第1のセッション鍵(K1)とチケット認可チケットとを暗号化する。例えばケルベロスサーバ200は、セッション鍵を、ファイルアクセス装置300の秘密鍵を使って暗号化し、チケット認可チケットを、ケルベロスサーバ200の秘密鍵を使って暗号化する。そして、ケルベロスサーバ200は、暗号化されたセッション鍵とチケット認可チケットとを含むKRB_AS_REP応答をファイルアクセス装置300に送信する。
【0093】
〔ステップS13〕レベル7スイッチ部320は、ケルベロスサーバ200に対して、認証子などを引数にしてKRB_TGS_REQ要求を送信する。具体的には、レベル7スイッチ部320は、ケルベロスサーバ200から受け取った第1のセッション鍵(K1)を自己の秘密鍵で復号する。次に、レベル7スイッチ部320は、自己の識別情報として認証子を生成し、その認証子を第1のセッション鍵(K1)で暗号化する。そしてレベル7スイッチ部320は、暗号化された認証子、ステップS12で受け取ったチケット認可チケット、およびサービス名を含むKRB_TGS_REQ要求を、ケルベロスサーバ200に送信する。この例では、サービス名として、ファイル管理装置100によるファイル管理サービスの名称が設定される。
【0094】
〔ステップS14〕ケルベロスサーバ200は、サービスチケットを含むKRB_TGS_REP応答を、レベル7スイッチ部320に送信する。具体的には、ファイルアクセス装置300から送られたチケット認可チケットを復号して、使用期限が経過していないことなどの内容を確認する。またケルベロスサーバ200は、認証子をセッション鍵(K1)で復号する。認証子が正しく復号されると、ケルベロスサーバ200はファイルアクセス装置300に対してサービスの利用を許可する。ケルベロスサーバ200は、サービスの利用を許可した場合、ファイル管理装置100にアクセスするためのサービスチケットを、ファイル管理装置100の秘密鍵で暗号化する。そしてケルベロスサーバ200は、暗号化したサービスチケットと、第1のセッション鍵(K1)で暗号化した第2のセッション鍵(K2)を含むKRB_TGS_REP応答を、ファイルアクセス装置300に送信する。第2のセッション鍵(K2)は、ファイルアクセス装置300とファイル管理装置100との間の通信用のセッション鍵である。
【0095】
ファイルアクセス装置300のレベル7スイッチ部320は、KRB_TGS_REP応答に含まれていたサービスチケットと第2のセッション鍵(K2)とを、RAMなどの記憶装置に格納する。例えば、サービスチケットと第2のセッション鍵(K2)とは、ファイル管理装置100が提供するサービスのサービス名に対応付けて格納される。
【0096】
なお、セッション鍵(K2)は、暗号化されたまま格納しておき、使用する際に復号することができる。また、第2のセッション鍵(K2)を予め復号して格納しておいてもよい。第2のセッション鍵(K2)は、ステップS12で取得した第1のセッション鍵(K1)を用いて復号できる。
【0097】
以上の処理が、ファイルアクセス装置300の起動時に実行される処理である。その後、ユーザ端末21,22,23,・・・からのアクセス要求がファイルアクセス装置300に入力されると、以下の処理が実行される。
【0098】
〔ステップS15〕ファイルアクセス装置300のNFSクライアント部310は、ユーザ端末21,22,23,・・・からのアクセス要求に応答して、1回目のNFS要求をレベル7スイッチ部320に対して出力する。このNFS要求では、アクセス先としてファイル管理装置100が指定されている。なおNFSクライアント部310は、NFS要求を発行する場合、毎回、RPC(Remote Procedure Call)のヘッダ部に、アクセス要求を出力したユーザのUID/GID情報を埋め込んでおく。なお、NFS要求の詳細は後述する(図8参照)。
【0099】
〔ステップS16〕レベル7スイッチ部320は、1回目のNFS要求に応答して、サービスチケットをファイル管理装置100に送信する。例えばレベル7スイッチ部320は、ファイルアクセス装置300を示す認証子と、ファイル管理装置100が提供するサービス名に対応付けて格納されたサービスチケットとを、ファイル管理装置100に送信する。サービスチケットと共に送信される認証子は、例えばステップS13の処理においてケルベロスサーバ200に送信した認証子が用いられる。またサービチケットと共に送信される認証子は、例えば第2のセッション鍵(K2)で暗号化される。
【0100】
〔ステップS17〕ファイル管理装置100のNFSサーバ部130は、サービスチケットが通知されると、ファイルアクセス装置300にニックネームを応答する。具体的には、NFSサーバ部130は、ファイルアクセス装置300から送られた認証子を第2のセッション鍵で復号する。正しく復号できた場合、NFSサーバ部130は、サービスチケットをファイル管理装置100の秘密鍵で復号する。NFSサーバ部130は、復号したサービスチケットを、そのサービスチケットに対して一意の値のニックネームに関連付けて、サービスチケット記憶部120に格納する。ニックネームとしては、サービスチケットよりもデータサイズが小さいデータである。そして、NFSサーバ部130は、格納したサービスチケットに関連付けられたニックネームの値を、ファイルアクセス装置300に対して送信する。このときNFSサーバ部130は、ニックネームを第2のセッション鍵(K2)で暗号化してもよい。なお、サービスチケット記憶部120のデータ構造について後述する(図9参照)。
【0101】
〔ステップS18〕ファイルアクセス装置300のレベル7スイッチ部320は、ニックネームの応答を受け取ると、ファイル管理装置100に対してニックネームを付加したNFS要求を送信する。具体的にはレベル7スイッチ部320は、1回目のNFS要求に対応する応答で受け取ったニックネームを、RAMなどの記憶媒体に格納する。例えば、レベル7スイッチ部320は、ファイル管理装置100が提供しているサービスのサービス名に対応付けて、ニックネームを格納する。次にレベル7スイッチ部320は、入手したニックネームをNFS要求ファイルハンドルに埋め込んで、ファイル管理装置100に送信する。レベル7スイッチ部320は、ニックネームが暗号化されていた場合、第2のセッション鍵(K2)を用いてニックネームを復号することができる。
【0102】
なお、サービスチケットの代わりにニックネームを送信するのは、ニックネームの方がサービスチケットよりデータサイズが小さく、NFSのファイルハンドルに入りきるためである。すなわち、ニックネームは、少なくともNFSのファイルバンドルに入りきるサイズで生成される。ニックネームを付与したNFS要求の詳細は後述する(図10参照)。
【0103】
〔ステップS19〕ファイル管理装置100のNFSサーバ部130は、UID/GIDやテナント名に基づいてアクセス権の有無を判断し、NFS要求に応じたファイルアクセスを実行する。ファイルアクセス処理の詳細は後述する(図11参照)。
【0104】
〔ステップS20〕NFSサーバ部130は、NFS要求の結果をファイルアクセス装置300に応答する。
〔ステップS21〕ファイルアクセス装置300のレベル7スイッチ部320は、ファイル管理装置100から送られたアクセス結果を、NFSクライアント部310に応答する。するとNFSクライアント部310が、アクセス要求の送信元であるユーザ端末に対してアクセス結果を送信する。
【0105】
〔ステップS22〕その後、いずれかのユーザ端末から2回目のアクセス要求がファイルアクセス装置300に入力されると、NFSクライアント部310は、2回目のNFS要求をレベル7スイッチ部320に出力する。ここで2回目のアクセス要求とは、ファイルアクセス装置300が受信したアクセス要求の2回目という意味である。すなわち、1回目のアクセス要求を出力したユーザ端末と異なるユーザ端末から出力されたアクセス要求であっても、1回目のアクセス要求の受信後に受信したアクセス要求は、2回目のアクセス要求である。
【0106】
〔ステップS23〕レベル7スイッチ部320は、2回目以降のNFS要求を受け取った場合、ステップS17で既に取得済みのニックネームをNFS要求に付与し、ファイル管理装置100に送信する。具体的には、レベル7スイッチ部320は、NFS要求の送信先であるファイル管理装置100が提供するサービスのサービス名に対応付けて、既にニックネームがRAM内に格納されていることにより、2回目以降のNFS要求であることを認識する。次にレベル7スイッチ部320は、ファイル管理装置100が提供するサービスのサービス名に対応付けられたニックネームを取得し、NFS要求のファイルバンドルに埋め込む。そしてレベル7スイッチ部320は、ニックネームを埋め込んだNFS要求を、ファイル管理装置100に送信する。
【0107】
〔ステップS24〕ファイル管理装置100のNFSサーバ部130は、UID/GIDやテナント名に基づいてアクセス権の有無を判断し、NFS要求に応じたファイルアクセスを実行する。
【0108】
〔ステップS25〕NFSサーバ部130は、NFS要求の結果をファイルアクセス装置300に応答する。
〔ステップS26〕ファイルアクセス装置300のレベル7スイッチ部320は、ファイル管理装置100から送られたアクセス結果を、NFSクライアント部310に応答する。するとNFSクライアント部310が、アクセス要求の送信元であるユーザ端末に対してアクセス結果を送信する。
【0109】
3回目以降のアクセス要求がユーザ端末から入力された場合、ステップS22〜ステップS26に示す2回目のアクセス要求時と同様の処理が実行される。
次にファイルアクセス装置300からファイル管理装置100に送信されるNFS要求のデータフォーマットについて説明する。
【0110】
図8は、NFSクライアント部から出力されるNFS要求のデータ構造例を示す図である。NFS要求60には、ヘッダ61と本体62とが含まれている。
ヘッダ61には、プロシジャ番号、信用証明(Credential)などが含まれている。プロシジャ番号は、要求の種別を示す識別番号である。要求の種別には、書き込み要求、読み出し要求、実行要求がある。信用証明は、アクセス権限などの証明情報である。信用証明には、アクセス要求を出力したユーザ端末を使用しているユーザのUIDとGIDとが含まれている。
【0111】
本体62には、ファイルバンドルが含まれている。ファイルバンドルには、アクセス対象のファイルを示すinode番号が含まれている。
このようなNFS要求60を受け取ったレベル7スイッチ部320により、ファイル管理装置100にサービスチケットが送信され、ファイル管理装置100でニックネームが発行される。ファイル管理装置100では、サービスチケットが、ニックネームに関連付けてサービスチケット記憶部120に格納される。
【0112】
図9は、サービスチケット記憶部のデータ構造例を示す図である。サービスチケット記憶部120には、複数のサービスチケット121,122,123,・・・,12nが格納されている。各サービスチケット121,122,123,・・・,12nには、サービスチケット記憶部120内でレコードを識別するためのインデックス(index)が設けられている。本実施の形態では、インデックスの値がニックネームとして使用される。
【0113】
また各サービスチケット121,122,123,・・・,12nには、プリンシパル名が設定されている。プリンシパルは、ケルベロス方式の認証で認証を受けたファイルアクセス装置の名称である。第2の実施の形態は、プリンシパル名として、各ファイルアクセス装置のテナント名が設定されている。
【0114】
レベル7スイッチ部320は、ファイル管理装置100からニックネームを受け取ると、NFS要求60にニックネームが付加してファイル管理装置100に送信する。
図10は、ニックネーム付加後のNFS要求を示す図である。レベル7スイッチ部320から出力されるNFS要求60aは、本体62のファイルバンドル内にニックネームが追加されている。このようなNFS要求60aがファイル管理装置100に送られることで、ファイル管理装置100では、NFS要求60aに示されるニックネームにより、サービスチケットを一意に特定できる。そして、NFS要求60aに対応するサービスチケットが特定できれば、アクセス権の有無を適切に判断できる。
【0115】
図11は、NFSサーバ部によるファイルアクセス処理の手順を示すフローチャートである。以下、図11に示す処理をステップ番号に沿って説明する。
〔ステップS31〕NFSサーバ部130は、受信したNFS要求に含まれるニックネームに対応するサービスチケットを、サービスチケット記憶部120から検索する。そしてNFSサーバ部130は、検索でヒットしたサービスチケット内のプリンシパル名を取得する。
【0116】
〔ステップS32〕NFSサーバ部130は、受信したNFS要求に含まれるinode番号に対応するinodeを、ローカルファイルシステム部140から取得する。そしてNFSサーバ部130は、取得したinodeの拡張属性に設定されているテナント名を取得する。
【0117】
〔ステップS33〕NFSサーバ部130は、サービスチケットのプリンシパル名とinodeのテナント名とが一致するか否かを判断する。一致した場合、処理がステップS34に進められる。不一致の場合、処理がステップS39に進められる。
【0118】
〔ステップS34〕NFSサーバ部130は、取得したNFS要求のヘッダからUID/GIDを抽出する。
〔ステップS35〕NFSサーバ部130は、ステップS32で取得したinodeから、ファイルの所有者のUID/GID、およびアクセス権の情報を抽出する。
【0119】
〔ステップS36〕NFSサーバ部130は、inodeに示されるアクセス権と、NFS要求から抽出されたUID/GIDとを比較し、UID/GIDで示されるユーザがUID/GID方式によるアクセス権を保持しているか否かを判断する。
【0120】
具体的にはNFSサーバ部130は、NFS要求から抽出したUID/GIDと、inodeから抽出したUID/GIDとを比較する。NFSサーバ部130は、比較によって、NFS要求を依頼元であるユーザの属性を判断する。ユーザの属性には、ファイルの所有者、ファイルの所有者と同じグループに属するユーザ、およびグループ外のユーザがある。UIDが一致すれば、ファイルの所有者からのNFS要求である。GIDが一致すれば、ファイルの所有者と同じグループ内のユーザからのNFS要求である。UID/GID共に一致しなければ、グループ外のユーザからのNFS要求である。そして、NFSサーバ部130は、アクセス権の情報を参照して、ユーザの属性に応じたアクセス権を取得する。アクセス権には、書き込みの許否、読み出しの許否、実行の許否が示される。NFS要求で示されるアクセスの種別(書き込み、読み出し、まはた実行)に応じて、その種別のアクセスが許可されていれば、NFSサーバ部130はアクセス権を保持していると判断する。
【0121】
アクセス権があれば、処理がステップS37に進められる。アクセス権がなければ、処理がステップS39に進められる。
〔ステップS37〕NFSサーバ部130は、ファイルシステムへの要求を実行する。すなわちNFSサーバ部130は、NFS要求で示されたアクセス処理を、ローカルファイルシステム部140に要求する。ローカルファイルシステム部140は、要求に従ってストレージ装置110内のファイルアクセスを実行し、実行結果をNFSサーバ部130に応答する。ファイルアクセスがデータの書き込みの場合、例えば書き込み完了のメッセージが、実行結果として応答される。ファイルアクセスがデータの読み出しの場合、例えば読み出されたデータが、実行結果として応答される。ファイルアクセスがファイル内のプログラムの実行の場合、例えばファイル内のプログラムが、実行結果として応答される。
【0122】
〔ステップS38〕NFSサーバ部130は、ローカルファイルシステム部140から受け取ったアクセス結果を、ファイルアクセス装置300に応答する。その後、ファイルアクセス処理が終了する。
【0123】
〔ステップS39〕NFSサーバ部130は、プリンシパル名とinodeのテナント名とが不一致の場合、およびユーザがアクセス権を保持していない場合には、ユーザに対するエラーメッセージを、ファイルアクセス装置300に応答する。
【0124】
以上のようにして、inodeのテナント名と一致するファイルアクセス装置からの正当なアクセス権を保持するユーザのアクセスの場合にのみ、NFS要求に示されるファイルアクセスが実行される。換言すると、inodeに設定されているテナント名と異なるテナント名のファイルアクセス装置からのNFS要求の場合、UID/GID方式によるアクセス権の有無に関係なく、ファイルアクセスが拒否される。
【0125】
ここで、図6に示したようなinode記憶部141と図9に示したようなサービスチケット記憶部120とに基づく、ファイアクセスの許否判定例を以下に示す。
(第1の例)NFS要求の内容が「inode番号=3,Nickname=1,UID=5,GID=2,プロシジャ番号=read」の場合
第1の例において、NFS要求で示されるニックネームは「1」である。そのニックネームに対応するプリンシパル名は「apple」である(図9参照)。またNFS要求で示されるinode番号は「3」である。そこで、inode記憶部141内のinode番号「3」のinode143(図6参照)とNFS要求とが比較される。inode143の拡張属性に設定されているテナント名は「orange」である。すると、プリンシパル名とinodeのテナント名が異なるため、アクセス不可と判定される。
【0126】
(第2の例)NFS要求の内容が「inode番号=2,Nickname=3,UID=4,GID=2,プロシジャ番号=write」の場合
第2の例において、NFS要求で示されるニックネームは「3」である。そのニックネームに対応するプリンシパル名は「peach」である(図9参照)。またNFS要求で示されるinode番号は「2」である。そこで、inode記憶部141内のinode番号「2」のinode142(図6参照)とNFS要求とが比較される。inode143の拡張属性に設定されているテナント名は「peach」である。すると、プリンシパル名とinodeのテナント名が一致する。またNFS要求で示されるUIDは「4」、GIDは「2」である。他方、inode142に示されるUIDは「5」、GIDは「2」である。するとNFS要求を出したのは、アクセス対象のファイルの所有者ではないが、所有者と同じグループ内のユーザである。inode142に設定されているアクセス権では、グループ内のユーザに対して読み込みアクセスのみが認められている。他方、NFS要求のプロシジャ番号には書き込み要求であることが示されている。すると、NFS要求を出したユーザにアクセス権がないため、アクセス不可と判断される。
【0127】
(第3の例)NFS要求の内容が「inode番号=2,Nickname=3,UID=5,GID=2,プロシジャ番号=write」の場合
第3の例において、NFS要求で示されるニックネームは「3」である。そのニックネームに対応するプリンシパル名は「peach」である(図9参照)。またNFS要求で示されるinode番号は「2」である。そこで、inode記憶部141内のinode番号「2」のinode142(図6参照)とNFS要求とが比較される。inode143の拡張属性に設定されているテナント名は「peach」である。すると、プリンシパル名とinodeのテナント名が一致する。またNFS要求で示されるUIDは「5」、GIDは「2」である。他方、inode142に示されるUIDは「5」、GIDは「2」である。するとNFS要求を出したのは、アクセス対象のファイルの所有者である。inode142に設定されているアクセス権では、所有者に対して書き込みと読み出しとのアクセスが認められている。NFS要求のプロシジャ番号には書き込み要求であることが示されている。すると、NFS要求を出したユーザにアクセス権があり、アクセス可と判断される。
【0128】
ところで、上記の実施の形態では、主にファイル操作に関するアクセスの許否判定について説明したが、ディレクトリ操作に関するアクセスの許否判定も同様に行うことができる。すなわち、ディレクトリに対してもファイルと同様のinodeが設けられているため、そのinodeの拡張属性に、そのディレクトリ配下のファイルを使用するファイルアクセス装置のテナント名が設定される。ディレクトリ配下のファイルのリストが要求された場合、およびディレクトリ配下のファイルの作成/削除が要求された場合、inodeに設定されているテナント名と一致するテナント名のファイルアクセス装置からの要求のみが許可される。
【0129】
ここで、ディレクトリ配下へのファイル/ディレクトリ作成時は、作成したファイル/ディレクトリのinodeの拡張属性に、要求元のファイルアクセス装置のテナント名が格納される。すなわち、ファイル/ディレクトリ作成は親ディレクトリへの操作に対してのテナント認証の成功が前提となる。するとファイル/ディレクトリ作成時に、作成されたファイル/ディレクトリのinodeの拡張属性に、作成要求を出力したファイルアクセス装置のテナント名を設定すると、親ディレクトリと同じテナント名が格納されることとなる。結果として、親ディレクトリのテナント名が、新たに作成されたファイル/ディレクトリに引き継がれる。
【0130】
以上説明したように、第2の実施の形態では、特定のテナントに属するファイルアクセス装置に対してケルベロス方式のチケットが配布される。そして、ファイルシステム要求の対象ファイルの拡張属性のテナント名がチケットのプリンシパル名に含まれていることが確認される。これにより、すべてのテナントは、異なるテナントのファイルアクセス装置から自テナントのファイルへのアクセスを防止することができる。そのため、仮に異なるテナントのユーザが同一のUID/GIDを使用してファイルシステム要求を送信したとしても、相互のセキュリティは維持される。従って、UID/GIDは従来のようにそれぞれのテナントに閉じてローカルに管理すればよく、他テナントのUID/GIDとの衝突を心配する必要はない。
【0131】
また、第2の実施の形態では、ユーザのアクセス権の設定にUID/GIDを使い続けることができる。そのため、ファイルシステムのユーザ認証方式をUID/GID方式からケルベロス方式へ移行させる場合でも、本来なら必要なはずの鍵の再生成やアクセス権の再設定を、個々のユーザが行う必要はない。その結果、早急に移行を完了させることができる。
【0132】
〔その他の応用例〕
上記第2の実施の形態では、ケルベロス方式によりファイルアクセス装置の認証を行っているが、認証されたことを示す証明書にテナント名を含ませることが可能な他の認証方式を利用することもできる。
【0133】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、ファイル管理装置1,100やファイルアクセス装置2,2a,・・・,300,400,・・・が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disc)などがある。
【0134】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0135】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0136】
また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現することもできる。
【0137】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
【0138】
以上説明した実施の形態の主な技術的特徴は、以下の付記の通りである。
(付記1) ストレージ装置に格納されるファイルを管理するファイル管理装置において、
ファイルアクセス装置から、該ファイルアクセス装置の識別情報と、ユーザの識別情報とを含む、前記ファイルへのアクセス要求を受信する通信インタフェース部と、
受信した前記ファイルアクセス装置の識別情報に基づいて、該ファイルアクセス装置が前記ファイルに対するアクセス権を有するか否かの第1の判定を行い、受信した前記ユーザの識別情報に基づいて、該ユーザが前記ファイルに対するアクセス権を有しているか否かの第2の判定を行い、該第1の判定及び該第2の判定の双方において、アクセス権が有ると判定する場合に、前記アクセス要求に応じた前記ファイルへのアクセスを許容する制御装置と、
を有することを特徴とするファイル管理装置。
【0139】
(付記2) ストレージ装置に格納されたファイルを管理するファイル管理装置において、
送信元のファイルアクセス装置を示す識別情報と、アクセス対象のファイルを使用するユーザのユーザIDとを含む、前記ファイルへのアクセス要求を受信すると、前記ファイルそれぞれに対してアクセス権を有する前記ファイルアクセス装置の前記識別情報を記憶する装置識別情報記憶手段を参照し、前記アクセス要求を出力した前記ファイルアクセス装置がアクセス対象の前記ファイルに対するアクセス権を有するか否かを判定する装置アクセス権判定手段と、
前記アクセス要求を受信すると、前記ファイルそれぞれに対してユーザIDに応じたアクセス権が設定されたユーザアクセス権記憶手段を参照し、前記アクセス要求に含まれる前記ユーザIDで示される前記ユーザがアクセス対象の前記ファイルに対するアクセス権を有しているか否かを判定するユーザアクセス権判定手段と、
前記ファイルアクセス装置がアクセス権を有し、かつ前記ユーザがアクセス権を有している場合、前記アクセス要求に応じたファイルアクセスを実行するファイルアクセス手段と、
を有することを特徴とするファイル管理装置。
【0140】
(付記3) ストレージ装置に格納されたファイルを管理する処理をコンピュータに実行させるファイル管理プログラムにおいて、
前記コンピュータに、
送信元のファイルアクセス装置を示す識別情報と、アクセス対象の前記ファイルを使用するユーザのユーザIDとを含む、前記ファイルへのアクセス要求を受信すると、前記ファイルそれぞれに対してアクセス権を有する前記ファイルアクセス装置の前記識別情報を記憶する装置識別情報記憶手段を参照し、前記アクセス要求を出力した前記ファイルアクセス装置がアクセス対象の前記ファイルに対するアクセス権を有するか否かを判定し、
前記アクセス要求を受信すると、前記ファイルそれぞれに対してユーザIDに応じたアクセス権が設定されたユーザアクセス権記憶手段を参照し、前記アクセス要求に含まれる前記ユーザIDで示される前記ユーザがアクセス対象の前記ファイルに対するアクセス権を有しているか否かを判定し、
前記ファイルアクセス装置がアクセス権を有し、かつ前記ユーザがアクセス権を有している場合、前記アクセス要求に応じたファイルアクセスを実行する、
処理を実行させることを特徴とするファイル管理プログラム。
【0141】
(付記4) 前記識別情報は、前記ファイルへのアクセス権を前記ファイルアクセス装置が正当に有することが、認証サーバによって認証されていることを示す情報であることを特徴とする付記3記載のファイル管理プログラム。
【0142】
(付記5) 前記コンピュータに、さらに、
前記ファイルへのアクセス権を有する前記ファイルアクセス装置に対して前記認証サーバによって発行されたサービスチケットを受信すると、前記サービスチケットを、前記ファイルアクセス装置の前記識別情報に関連付けて前記装置識別情報記憶手段に格納し、
前記サービスチケットに関連付けられた前記識別情報を、前記サービスチケットの送信元である前記ファイルアクセス装置に送信する、
処理を実行させることを特徴とする付記4記載のファイル管理プログラム。
【0143】
(付記6) 前記サービスチケットには、前記ファイルへのアクセス権を有する前記ファイルアクセス装置の装置名が含まれており、
前記装置識別情報記憶手段は、前記ファイルに対応付けて、前記ファイルに対するアクセス権を有する前記ファイルアクセス装置の装置名を記憶するアクセス可能装置名記憶領域と、前記識別情報と前記サービスチケットとを関係づけて記憶するサービスチケット記憶領域とに分かれており、
前記ファイルアクセス装置のアクセス権判定では、前記サービスチケット記憶領域を参照して、前記アクセス要求に示される前記識別情報に対応する前記装置名を抽出し、抽出した前記装置名が、アクセス対象となる前記ファイルに対応付けて前記アクセス可能装置名記憶領域に記憶されている場合、前記アクセス要求を出力した前記ファイルアクセス装置がアクセス権を有すると判断する、
ことを特徴とする付記5記載のファイル管理プログラム。
【0144】
(付記7) 前記アクセス可能装置名記憶領域は、前記ストレージ装置を管理するローカルファイルシステムが前記ファイルを管理するためのファイル管理情報内の領域であることを特徴とする付記6記載のファイル管理プログラム。
【0145】
(付記8) 前記サービスチケットは、ケルベロス方式により認証を行うケルベロスサーバで発行され、前記装置名は、前記サービスチケットのプリンシパル名の設定フィールドに格納されていることを特徴とする付記6記載のファイル管理プログラム。
【0146】
(付記9) 前記識別情報は、前記サービスチケットよりもデータ量が少ないことを特徴とする付記5記載のファイル管理装置。
(付記10) ストレージ装置に格納されたファイルを管理する処理を、コンピュータで実行するファイル管理方法において、
前記コンピュータが、
送信元のファイルアクセス装置を示す識別情報と、アクセス対象の前記ファイルを使用するユーザのユーザIDとを含む、前記ファイルへのアクセス要求を受信すると、前記ファイルそれぞれに対してアクセス権を有する前記ファイルアクセス装置の前記識別情報を記憶する装置識別情報記憶手段を参照し、前記アクセス要求を出力した前記ファイルアクセス装置がアクセス対象の前記ファイルに対するアクセス権を有するか否かを判定し、
前記アクセス要求を受信すると、前記ファイルそれぞれに対してユーザIDに応じたアクセス権が設定されたユーザアクセス権記憶手段を参照し、前記アクセス要求に含まれる前記ユーザIDで示される前記ユーザがアクセス対象の前記ファイルに対するアクセス権を有しているか否かを判定し、
前記ファイルアクセス装置がアクセス権を有し、かつ前記ユーザがアクセス権を有している場合、前記アクセス要求に応じたファイルアクセスを実行する、
ことを特徴とするファイル管理方法。
【符号の説明】
【0147】
1 ファイル管理装置
1−1 通信インタフェース部
1−2 制御装置
1a サービスチケット取得手段
1b 装置識別情報記憶手段
1ba アクセス可能装置名記憶領域
1bb サービスチケット記憶領域
1c 識別情報送信手段
1d 装置アクセス権判定手段
1e ユーザアクセス記憶手段
1f ユーザアクセス権判定手段
1g ファイルアクセス手段
1h ファイル管理情報
2,2a ファイルアクセス装置
3 ストレージ装置
4 認証サーバ
5 サービスチケット
6 ニックネーム
7 アクセス要求
【技術分野】
【0001】
本発明はファイルを管理するファイル管理装置、ファイル管理プログラム、およびファイル管理方法に関する。
【背景技術】
【0002】
従来のファイルシステムのユーザ認証方式として、UID/GID方式が広く普及している。UID/GID方式は、ユーザのユーザID(UID)、またはユーザが属するグループのグループID(GID)に対応付けて、各ファイルへのアクセス権限を管理する方式である。アクセス権限には、例えば、読み出しの許否、書き込みの許否、実行の許否などがある。
【0003】
また近年では、安全性の高いユーザ認証方式として秘密鍵暗号方式に基づくケルベロス(Kerberos)と呼ばれる方式が開発されている。ケルベロス方式では、ケルベロスサーバにおいて、ユーザ認証と、各ユーザがサービスを利用するためのチケットの発行とが行われる。ユーザは端末装置を用いて、ケルベロスサーバからチケットを取得する。そして、ユーザの端末装置からサービスを提供しているサーバに対して、チケットを含むサービス要求を送信することで、ユーザはそのサーバからのサービス提供を受けることができる。サーバから提供を受けることができるサービスには、ファイルサーバによるファイル管理サービスも含まれる。
【0004】
ケルベロスを用いた技術としては、例えば、ローカルなユーザアカウントを有さずにオブジェクトへのアクセス制限を行うアクセス制御方法がある。
ところで、企業がユーザにサービスを提供する場合、ユーザの要求に応じてファイルの保存などを行う場合がある。このような場合、サービスの運用継続に伴い、保存すべきデータ量が増加する。データ量が増加しシステムの資源が不足すれば、その都度、システムの拡張が行われる。このようなシステムの拡張の必要性を適宜判断し、拡張作業を適切に行うのは各企業にとって負担となる。そこで、ファイルの管理を他の機関に任せる場合がある。
【0005】
ファイルの管理を委託されたファイル管理サービス提供企業では、例えば顧客企業ごとにファイルサーバを構築する。そしてファイル管理サービス提供企業は、個々の顧客企業が必要としている資源の量に応じて、顧客企業ごとのファイルサーバの拡張などを行う。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2004−5647号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上記のような複数の顧客企業に対してサービスを提供するファイル管理サービス提供企業において、顧客企業ごとにファイルサーバを個別に構築・管理していたのでは管理の手間がかかると共に、資源の使用効率も低下してしまう。そこで、顧客企業ごとに構築されているファイルサーバを、1つのシステムに統合し、管理の手間の削減、資源の有効利用を図ることが考えられる。
【0008】
しかし、顧客企業ごとに既に運用されているファイルサーバを1つのシステムに統合する場合、顧客企業それぞれのユーザに対するファイルへのアクセス権管理の統合が難しいという問題がある。
【0009】
例えば、各顧客企業がUID/GID方式でユーザのアクセス権を管理している場合、顧客企業それぞれが、自己のユーザに対してUIDやGIDを独自に設定している。そのため、複数の顧客企業へのファイルサーバを1つのシステムに統合した場合、UIDやGIDが重複する可能性がある。UIDやGIDの重複を回避するには、ファイル管理サービス提供企業側の管理者が全ユーザのUIDやGIDを再設定し、顧客企業を跨った包括的なユーザ管理を行うこととなる。しかしながら、既に運用されているシステムの各ユーザのUID/GIDの変更は、管理対象の全ファイルに関するアクセス権に関する情報の変更を伴い、設定変更を行うべき情報量が膨大となる。そのため、すべてのユーザのUID/GIDを変更するのは困難である。
【0010】
なお、各ユーザの端末装置にケルベロス方式によるアクセス環境を構築すれば、システム統合後に、複数の顧客企業の各ユーザからファイルへのアクセス権をケルベロス方式で管理できる。ただし、ケルベロス方式は、鍵が必要であることや、鍵の管理方法、アクセス権の設定方法などがUID/GID方式とは大きく異なる。そのため、ファイルシステムのユーザ認証方式をUID/GID方式からケルベロス方式へ移行させるには、鍵の再生成やアクセス権の再設定など、ユーザは一連の作業を最初からやり直さなければならず、ユーザの負担が過大となる。既に膨大な数のユーザが登録されている場合、UID/GID方式で管理されているユーザを、従来のままのケルベロス方式での管理に移行するのは困難である。
【0011】
本発明はこのような点に鑑みてなされたものであり、異なるシステム配下のユーザに関するファイルへのアクセス権管理を1つのシステムに容易に統合できるファイル管理装置、ファイル管理プログラム、およびファイル管理方法を提供することを目的とする。
【課題を解決するための手段】
【0012】
上記課題を解決するために、以下のようなストレージ装置に格納されたファイルを管理するファイル管理装置が提供される。このファイル管理装置は、通信インタフェース部と制御装置とを有する。
【0013】
通信インタフェース部は、ファイルアクセス装置から、該ファイルアクセス装置の識別情報と、ユーザの識別情報とを含む、前記ファイルへのアクセス要求を受信する。
制御装置は、受信した前記ファイルアクセス装置の識別情報に基づいて、該ファイルアクセス装置が前記ファイルに対するアクセス権を有するか否かの第1の判定を行い、受信した前記ユーザの識別情報に基づいて、該ユーザが前記ファイルに対するアクセス権を有しているか否かの第2の判定を行い、該第1の判定及び該第2の判定の双方において、アクセス権が有ると判定する場合に、前記アクセス要求に応じた前記ファイルへのアクセスを許容する。
【0014】
また、上記課題を解決するために、装置アクセス権判定手段、ユーザアクセス権判定手段、およびファイルアクセス手段を有するファイル管理装置が提供される。装置アクセス権判定手段は、送信元のファイルアクセス装置を示す識別情報と、アクセス対象のファイルを使用するユーザのユーザIDとを含む、ファイルへのアクセス要求を受信すると、ファイルそれぞれに対してアクセス権を有するファイルアクセス装置の識別情報を記憶する装置識別情報記憶手段を参照し、アクセス要求を出力したファイルアクセス装置がアクセス対象のファイルに対するアクセス権を有するか否かを判定する。ユーザアクセス権判定手段は、アクセス要求を受信すると、ファイルそれぞれに対してユーザIDに応じたアクセス権が設定されたユーザアクセス権記憶手段を参照し、アクセス要求に含まれるユーザIDで示されるユーザがアクセス対象のファイルに対するアクセス権を有しているか否かを判定する。ファイルアクセス手段は、ファイルアクセス装置がアクセス権を有し、かつユーザがアクセス権を有している場合、アクセス要求に応じたファイルアクセスを実行する。
【0015】
さらに、上記課題を解決するためにストレージ装置に格納されたファイルを管理する処理をコンピュータに実行させるファイル管理プログラムが提供される。このファイル管理プログラムは、コンピュータに以下の処理を実行させる。
【0016】
コンピュータは、送信元のファイルアクセス装置を示す識別情報と、アクセス対象のファイルを使用するユーザのユーザIDとを含む、ファイルへのアクセス要求を受信すると、ファイルそれぞれに対してアクセス権を有するファイルアクセス装置の識別情報を記憶する装置識別情報記憶手段を参照し、アクセス要求を出力したファイルアクセス装置がアクセス対象のファイルに対するアクセス権を有するか否かを判定する。次にコンピュータは、アクセス要求を受信すると、ファイルそれぞれに対してユーザIDに応じたアクセス権が設定されたユーザアクセス権記憶手段を参照し、アクセス要求に含まれるユーザIDで示されるユーザがアクセス対象のファイルに対するアクセス権を有しているか否かを判定する。そしてコンピュータは、ファイルアクセス装置がアクセス権を有し、かつユーザがアクセス権を有している場合、アクセス要求に応じたファイルアクセスを実行する。
【0017】
さらに、上記課題を解決するために、上記ファイル管理プログラムに基づいてコンピュータが実行する処理と同様の方法でファイルを管理するファイル管理方法が提供される。
【発明の効果】
【0018】
異なるファイルアクセス装置配下のユーザに関するファイルへのアクセス権管理を1つのシステムに容易に統合できる。
【図面の簡単な説明】
【0019】
【図1】第1の実施の形態の機能を示すブロック図である。
【図2】第2の実施の形態のシステム構成例を示す図である。
【図3】ファイル管理装置のハードウェア構成例を示す図である。
【図4】各サーバの機能を示すブロック図である。
【図5】ローカルファイルシステムのディレクトリ構造を示す図である。
【図6】inode記憶部に格納されたinodeの例を示す図である。
【図7】ファイルアクセス手順を示すシーケンス図である。
【図8】NFSクライアント部から出力されるNFS要求のデータ構造例を示す図である。
【図9】サービスチケット記憶部のデータ構造例を示す図である。
【図10】ニックネーム付加後のNFS要求を示す図である。
【図11】NFSサーバ部によるファイルアクセス処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0020】
以下、本実施の形態について図面を参照して説明する。
〔第1の実施の形態〕
図1は、第1の実施の形態の機能を示すブロック図である。第1の実施の形態に係るシステムは、ファイル管理装置1、複数のファイルアクセス装置2,2a,・・・、および認証サーバ4を有している。ファイル管理装置1には、ストレージ装置3がローカル接続されている。
【0021】
ファイル管理装置1は、通信インタフェース部1−1と制御装置1−2とを有する。通信インタフェース部1−1は、ファイルアクセス装置2から、ファイルアクセス装置2の識別情報と、ユーザの識別情報とを含む、ファイルへのアクセス要求7を受信する。また、通信インタフェース部1−1は、ファイルアクセス装置2からサービスチケット5を受信する。サービスチケット5には、例えばファイルアクセス装置2の名称(装置名)が設定されている。さらに、通信インタフェース部1−1は、サービスチケット5を送信したファイルアクセス装置2に対して、サービスチケット5に一意に関連付けられたニックネーム6を送信する。
【0022】
制御装置1−2は、図1に示す各機能を用いて、ローカル接続されたストレージ装置3に格納されたファイルを管理する。すなわち、制御装置1−2は、サービスチケット取得手段1a、装置識別情報記憶手段1b、識別情報送信手段1c、装置アクセス権判定手段1d、ユーザアクセス権記憶手段1e、ユーザアクセス権判定手段1f、およびファイルアクセス手段1gを有する。
【0023】
サービスチケット取得手段1aは、ストレージ装置3へのアクセス権を有するファイルアクセス装置2に対して認証サーバ4によって発行されたサービスチケット5を、通信インタフェース部1−1を介して受信する。するとサービスチケット取得手段1aは、受信したサービスチケット5を、ファイルアクセス装置2のニックネーム6に関連付けて装置識別情報記憶手段1bに格納する。
【0024】
装置識別情報記憶手段1bは、ストレージ装置3に格納されたファイルにアクセス可能なファイルアクセス装置2の識別情報として、ニックネーム6を記憶する。ニックネーム6は、サービスチケット取得手段1aで取得されたサービスチケット5と関連付けて記憶されている。サービスチケット5にファイルアクセス装置2の装置名が含まれることで、ニックネーム6とファイルアクセス装置2とが対応付けられる。
【0025】
また装置識別情報記憶手段1bは、図1の例では、アクセス可能装置名記憶領域1baとサービスチケット記憶領域1bbとに分けられている。アクセス可能装置名記憶領域1baは、ストレージ装置3内のファイルに対応付けて、ファイルにアクセス可能なファイルアクセス装置2の装置名を記憶する記憶領域である。サービスチケット記憶領域1bbは、ニックネーム6とサービスチケット5とを関係づけて記憶する記憶領域である。アクセス可能装置名記憶領域1baとサービスチケット記憶領域1bbとの間では、装置名によってレコードが関連付けられる。装置名を介したレコード間の関連付けにより、アクセス可能装置名記憶領域1ba内のレコードのファイルIDとサービスチケット記憶領域1bb内のレコードのニックネーム6とが関連付けられている。
【0026】
識別情報送信手段1cは、装置識別情報記憶手段1bに格納されたサービスチケット5に関連付けられたニックネーム6を、サービスチケット5の送信元であるファイルアクセス装置2に、通信インタフェース部1−1を介して送信する。
【0027】
装置アクセス権判定手段1dは、ファイルアクセス装置2からファイル3aへのアクセス要求7を、通信インタフェース部1−1を介して受信する。装置アクセス権判定手段1dはアクセス要求7を受信すると、装置識別情報記憶手段1bを参照し、アクセス要求を出力したファイルアクセス装置がアクセス権を有するか否かを判定する。例えば装置アクセス権判定手段1dは、アクセス可能装置名記憶領域1baを参照して、アクセス要求7のアクセス対象のファイル3aのファイルIDに対応する装置名を取得する。次に装置アクセス権判定手段1dは、サービスチケット記憶領域1bbを参照し、取得した装置名が含まれるサービスチケット5に対応するニックネーム6を取得する。装置アクセス権判定手段1dは、装置識別情報記憶手段1bから取得したニックネーム6と、アクセス要求7に含まれるニックネームとが一致した場合、アクセス権有りと判断する。
【0028】
ユーザアクセス権記憶手段1eは、ストレージ装置3に格納されたファイル3aに対する、少なくともユーザID(UID)に応じたアクセス権が設定されている。アクセス権は、例えばファイルIDとUIDとの組に対応付けて、ファイル3aへの書き込み可能か否か、ファイル3aへの読み出し可能か否か、およびファイル3a内のプログラムを実行可能か否かが定義されている。
【0029】
ところで、ユーザアクセス権記憶手段1e内の情報と、装置識別情報記憶手段1bのアクセス可能装置名記憶領域1ba内の情報とは、共にファイルIDによってファイル3aに関連付けられている。そこで、ファイル管理装置1のローカルのファイルシステムがファイル3a管理に利用するファイル管理情報1h内に、ユーザアクセス権記憶手段1e内の情報とアクセス可能装置名記憶領域1ba内の情報とをまとめて格納することもできる。ファイル管理情報1hは、例えばUNIX(登録商標)システムにおけるinodeである。
【0030】
ユーザアクセス権判定手段1fは、アクセス要求7を受信すると、ユーザアクセス権記憶手段1eを参照し、アクセス対象のファイル3aに対してユーザがアクセス権を有しているか否かを判定する。例えばユーザアクセス権判定手段1fは、アクセス対象のファイル3aのファイルIDに対応付けて登録されているUIDと、アクセス要求7に含まれるUIDとを比較する。UIDが一致するレコードがある場合、ユーザアクセス権判定手段1fは、該当するレコードのアクセス権を判定する。そしてユーザアクセス権判定手段1fは、アクセス要求7に示されるアクセスの種別に対応するアクセスがアクセス権によって認められている場合、アクセス可能と判定する。
【0031】
ファイルアクセス手段1gは、ファイルアクセス装置2がアクセス可能であり、かつユーザがアクセス権を有している場合、アクセス要求7に応じたファイルアクセスを実行する。
【0032】
ファイルアクセス装置2,2a,・・・は、それぞれが個別にユーザ管理を行っている。すなわち、ファイルアクセス装置2,2a,・・・は独自にユーザカウントを生成する。ユーザアカウントには、ファイルアクセス装置2,2a,・・・それぞれ内で一意に識別可能なUIDが付与される。ファイルアクセス装置2,2a,・・・は、自己のユーザからの要求に応じてファイル管理装置1経由でストレージ装置3内のファイル3aにアクセスする。例えばファイルアクセス装置2は、ファイル3aへのアクセス時にアクセス要求7をファイル管理装置1に送信する。アクセス要求7には、送信元のファイルアクセス装置2を示すニックネーム6と、アクセス対象のファイルを使用するユーザのファイルアクセス装置2内でのUIDとを含む。ニックネーム6は、例えばストレージ装置3へアクセスする権利を正当に有することが認証サーバ4によって認証されていることを示す情報である。さらにアクセス要求7には、例えば、アクセス対象のファイルの識別子(ファイルID)、アクセスの種別(書き込み、読み出し、実行など)、書き込みアクセスの際の書き込みデータなどが含まれる。
【0033】
認証サーバ4は、ファイルアクセス装置2,2a,・・・が、少なくともストレージ装置3へアクセスする権利を正当に有することを認証する。ここで、ストレージ装置3へアクセスする権利は、ストレージ装置3内のファイルの保護が必要な場合に、ファイルアクセス装置2,2a,・・・が有すべき権利である。すなわち、フィルシステムサーバ1で提供されるファイル管理サービスには、ファイルの暗号化・復号サービスのように、単なるファイルアクセス以外のサービスもある。そのうち少なくともストレージ装置3へアクセスする権利についてファイルアクセス装置2,2a,・・・が有していれば、ストレージ装置3へのアクセスが可能となる。ただし、本実施の形態では、ストレージ装置3内のファイルごとに、そのファイルにアクセス可能なファイルアクセス装置は制限される。
【0034】
このようなシステムにおいて、例えば以下のような処理が行われる。
まずファイルアクセス装置2は、認証サーバ4に対して、ファイル管理装置1からのファイル管理サービスの提供を受ける権利を有する旨の認証を要求する。認証サーバ4は、ファイルアクセス装置2がサービス提供を受ける権利を正当に有していれば、装置名を含むサービスチケット5を発行する。サービスチケット5は、ファイルアクセス装置2に渡される。
【0035】
サービスチケット5を取得したファイルアクセス装置2は、サービスチケット5を、ファイル管理装置1に送信する。するとファイル管理装置1のサービスチケット取得手段1aが、ファイルアクセス装置2を一意に識別するニックネーム6を生成する。そしてサービスチケット取得手段1aは、ニックネーム6に関連付けてサービスチケット5を装置識別情報記憶手段1bに格納する。サービスチケット取得手段1aで生成されたニックネーム6は、識別情報送信手段1cによりファイルアクセス装置2に送信される。
【0036】
その後、ファイルアクセス装置2内のユーザのプロセスにおいて、ファイル3aへのアクセスが発生したものとする。この場合、ファイルアクセス装置2からファイル管理装置1に対してアクセス要求7が送信される。
【0037】
アクセス要求7を受信したファイル管理装置1では、装置アクセス権判定手段1dにより、ファイルアクセス装置2がファイル3aに対したアクセス可能か否かが判定される。例えば、アクセス要求7内のニックネームに対応付けられたサービスチケット内の装置名が、アクセス対象のファイル3aのファイルIDに対応付けてアクセス可能装置名記憶領域1baに登録されていれば、アクセス可能と判定される。
【0038】
また、アクセス要求7を受信したファイル管理装置1では、ユーザアクセス権判定手段1fにより、ファイルアクセス装置2に属するアクセス要求7を依頼したユーザによるファイル3aへのアクセスについて、可能か否かが判定される。例えばアクセス対象のファイル3aのファイルIDに対応付けてアクセス要求7内のUIDが登録されたレコードがあり、そのレコードのアクセス権にアクセス要求7で示される種別のアクセス権があると定義されていれば、アクセス可能と判定される。
【0039】
装置アクセス権判定手段1dとユーザアクセス権判定手段1fとの両方でアクセス可能と判定された場合、ファイルアクセス手段1gにより、アクセス要求7に応じたストレージ装置3内のファイル3aへのアクセスが行われる。例えば書き込み要求であれば、アクセス要求7に含まれる書き込みデータが、ファイル3aに書き込まれる。
【0040】
このようにUIDによるアクセス権管理に加え、ファイルアクセス装置2,2a,・・・の識別情報であるニックネームによるアクセス権管理が行われる。これにより、独自にUIDを設定している複数のファイルアクセス装置2,2a,・・・に対するファイル管理サービスを、1つのファイル管理装置1で提供できる。この際、異なるファイルアクセス装置に同じUIDのユーザが存在しても、クライアントアクセス権判定によってアクセス権を正しく判定できる。その結果、既に運用しているファイルアクセス装置2,2a,・・・に対して、ファイル管理装置1で一括したファイル管理サービスの提供が容易となる。
【0041】
しかも、ユーザのアクセス権判定についてはUIDを利用する。そのため、ファイルアクセス装置2,2a,・・・に対して個別のファイル管理装置でファイル管理サービスを提供しているシステム環境においても、ファイル管理サービス機能を1つのファイル管理装置に容易に統合できる。すなわち、ファイル管理装置を等どうしても、ファイルアクセス装置2,2a,・・・それぞれにおいて独自にユーザに割り振られたUIDを、変更する必要がない。
【0042】
さらに、認証サーバ4から認証を受けるのは、個々のユーザではなく、ファイルアクセス装置2,2a,・・・である。そのため、各ユーザが認証サーバ4との間の認証手続を行う必要はなく、ユーザの負担も抑制されている。
【0043】
なお、図1の例では、ファイルアクセス装置2,2a,・・・が、ストレージ装置3にアクセスする権利を正当に有していることを、認証サーバ4で認証している。これはファイル管理装置1に対して高度なセキュリティが要求される場合を想定したものである。他方、ファイルアクセス装置2,2a,・・・からのファイル管理装置1へのアクセスに関するセキュリティが、認証サーバ4以外の仕組みで保たれる場合もある。例えば、ファイルアクセス装置2,2a,・・・とファイル管理装置1とが、企業内のイントラネット内に存在し、共通の管理者が管理している場合である。このようにセキュリティを保つ他の仕組みが存在する場合、あるいは高度なセキュリティが不要な場合であれば、認証サーバ4による認証を行わなくてもよい。その場合、例えばファイルアクセス装置2,2a,・・・の装置名を、そのままファイルアクセス装置2,2a,・・・の識別情報として使用することもできる。ニックネーム6に代えて装置名が識別情報としてアクセス要求7に含められた場合、装置アクセス権判定手段1dは、アクセス可能装置名記憶領域1baのみを参照して、アクセス可能か否かを判定できる。すなわち、装置アクセス権判定手段1dは、アクセス要求7に示される装置名が、アクセス可能装置名記憶領域1ba内においてアクセス対象のファイルのファイルIDに対応付けて登録されていれば、アクセス可能と判定する。
【0044】
また図1の例では、ストレージ装置3へアクセスする権利を正当に有することが認証サーバ4によって認証されていることを示す情報として、ファイル管理装置1で発行されたニックネーム6が使用されている。このニックネーム6は、ファイルアクセス装置の台数分の数値を表現可能なデータ量で足りる。そのためニックネーム6は、サービスチケット5に比べて少ないデータ量に抑えることができる。これにより、アクセス要求7のデータ量の増加を最小限に抑えて、ファイルアクセス装置2がストレージ装置3へアクセスする権利を正当に有することを示す情報をアクセス要求7に含めることができる。
【0045】
なおサービスチケット5分のアクセス要求7のデータ量増加が許容できるのであれば、アクセス要求7にサービスチケット5を含めてもよい。その場合、ファイルアクセス装置2がサービスチケット5をファイル管理装置1に送信し、ニックネーム6を取得する処理は不要となる。また、ファイル管理装置1のサービスチケット取得手段1aと識別情報送信手段1cとは不要となる。ニックネーム6に代えてサービスチケット5をアクセス要求7に含めた場合、サービスチケット5に装置名が含まれることから、サービスチケット5がアクセス要求7の送信元のファイルアクセス装置2を示す識別情報となる。
【0046】
ニックネーム6に代えてサービスチケット5がアクセス要求7に含められた場合、装置アクセス権判定手段1dは、アクセス可能装置名記憶領域1baのみを参照して、アクセス可能か否かを判定できる。すなわち、装置アクセス権判定手段1dは、サービスチケット5に含まれる装置名が、アクセス可能装置名記憶領域1ba内において、アクセス対象のファイルのファイルIDに対応付けて登録されていれば、アクセス可能と判定する。
【0047】
〔第2の実施の形態〕
次に、第2の実施の形態について説明する。第2の実施の形態は、アクセスチケットを発行する認証サーバとして、ケルベロスサーバを用いたものである。
【0048】
ケルベロス方式の認証は、通常はユーザに対して認証が行われるが、第2の実施の形態では、ケルベロスサーバが、ファイルアクセス装置をユーザとみなして認証を行う。
また第2の実施の形態では、ファイル管理装置によるサービの提供を受ける顧客企業を「テナント」と呼ぶこととする。そして、テナントごとにファイルアクセス装置が設けられているものとする。そこで第2の実施の形態では、ファイルアクセス装置の名称を「テナント名」とする。
【0049】
ケルベロス方式の認証で発行されるチケットには、プリンシパル名の設定フィールドがある。このプリンシパル名の設定フィールドにテナント名を設定することで、ファイルアクセス装置の名称をチケットに付与することができる。
【0050】
以下、第2の実施の形態について詳細に説明する。
図2は、第2の実施の形態のシステム構成例を示す図である。ネットワーク10には、ファイル管理装置100、ケルベロスサーバ200、および複数のファイルアクセス装置300,400,・・・が接続されている。図2の例では、ファイル管理装置100とケルベロスサーバ200は、ファイル管理サービス提供企業のデータセンタ30内に設置されている。
【0051】
ファイル管理装置100には、ストレージ装置110が設けられている。ストレージ装置110には、例えばRAID(Redundant Arrays of Inexpensive Disks)5などにより、高速性・信頼性を確保した装置を用いることができる。ファイル管理装置100は、複数のファイルアクセス装置300,400,・・・それぞれで管理されているユーザの利用するデータのストレージ装置110への入出力を行うコンピュータである。またファイル管理装置100は、ストレージ装置110内の各データについて、ユーザのアクセス権を管理する。
【0052】
ケルベロスサーバ200は、ケルベロス方式による認証を行うコンピュータである。例えばケルベロスサーバ200は、ファイルアクセス装置300,400,・・・の認証や、ファイルアクセス装置300,400,・・・に対するチケット発行などの処理を行う。
【0053】
ファイルアクセス装置300には、複数のユーザ端末21,22,23,・・・が接続されている。ファイルアクセス装置300は、ユーザ端末21,22,23,・・・を使用するユーザに対して、各種サービスを提供する。ファイルアクセス装置300が提供するサービスには、ファイル管理装置100が管理するデータへのアクセスも含まれる。なおファイルアクセス装置300は、ユーザ端末21,22,23,・・・からのユーザの認証情報の入力を受け付け、その認証情報に基づいてユーザの認証を行うことができる。ユーザの認証情報には、例えばユーザのUIDとパスワードとが含まれる。
【0054】
ファイルアクセス装置400は、ユーザ端末31,32,33,・・・を使用するユーザに対して、各種サービスを提供する。ファイルアクセス装置400の機能は、ファイルアクセス装置300と同様である。
【0055】
ファイル管理装置100とファイルアクセス装置300,400,・・・とが協働することで、1つの大規模なファイルシステムとして機能する。ファイル管理装置100とファイルアクセス装置300,400,・・・で提供されるファイルシステムは、ケルベロスサーバ200を利用したケルベロス方式の認証システムを利用し、セキュリティを維持する。そして、ファイル管理装置100とファイルアクセス装置300,400,・・・が提供するファイルシステムにより、ユーザ端末21,22,23,・・・,31,32,33,・・・からの要求に応じて、ストレージ装置110内のファイルが操作される。これにより、ファイル管理装置100におけるファイル管理機能が、各ファイルアクセス装置300,400,・・・配下のユーザによって共同利用が可能となる。
【0056】
図3は、ファイル管理装置のハードウェア構成例を示す図である。ファイル管理装置100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス109を介してRAM(Random Access Memory)102と複数の周辺機器が接続されている。
【0057】
RAM102は、ファイル管理装置100の主記憶装置として使用される。RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。
【0058】
周辺機器としては、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、通信インタフェース107、およびストレージインタフェース108がある。
【0059】
HDD103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、ファイル管理装置100の二次記憶装置として使用される。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
【0060】
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。モニタ11としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
【0061】
入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号をCPU101に送信する。なお、マウス13は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【0062】
光学ドライブ装置106は、レーザ光などを利用して、光ディスク14に記録されたデータの読み取りを行う。光ディスク14は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク14には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
【0063】
通信インタフェース107は、ネットワーク10に接続されている。通信インタフェース107は、ネットワーク10を介して、ファイルアクセス装置300,400,・・・などの他のコンピュータとの間でデータの送受信を行う。
【0064】
ストレージインタフェース108は、ストレージ装置110に接続されている。ストレージインタフェース108は、CPU101からの指示に従って、ストレージ装置110へのデータの書き込み、およびストレージ装置110からのデータの読み出しを行う。
【0065】
なお、図3に示したCPU101は、図1に示した制御装置1−2が有する処理機能の一例である。また、図3に示したRAM102は、図1に示した制御装置1−2が有する記憶機能の一例である。また、図3に示した通信インタフェース107は、図1に示した通信インタフェース部1−1の一例である。
【0066】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図3にはファイル管理装置100の例を示したが、ケルベロスサーバ200、ファイルアクセス装置300,400,・・・、およびユーザ端末21,22,23,・・・,31,32,33,・・・も同様のハードウェアで実現できる。ただしケルベロスサーバ200、ファイルアクセス装置300,400,・・・、およびユーザ端末21,22,23,・・・,31,32,33,・・・には、ストレージインタフェース108に対応する機能はなくてもよい。
【0067】
次に、各サーバの機能について説明する。
図4は、各サーバの機能を示すブロック図である。図4には、複数のファイルアクセス装置300,400,・・・のうち、代表的に一のファイルアクセス装置300の機能を示しているが、他のファイルアクセス装置400,・・・もファイルアクセス装置300と同様の機能を有している。
【0068】
テナント名ファイルアクセス装置300は、NFS(Network File System)クライアント部310とレベル7スイッチ部320とを有している。
NFSクライアント部310は、ファイル管理装置100で管理されているデータへのアクセスを管理する。具体的には、NFSクライアント部310は、ファイル管理装置100で管理されているデータへのアクセス要求を、ユーザ端末21,22,23,・・・から取得する。アクセス要求を受け取ったNFSクライアント部310は、NFS要求をレベル7スイッチ部320に対して出力する。
【0069】
NFSクライアント部310は、ファイルアクセス装置300において正しくユーザ認証を行ったユーザが使用するユーザ端末からのアクセス要求のみを受け付けるようにすることができる。例えば、ファイルアクセス装置300内にユーザ端末21,22,23,・・・を使用する各ユーザの認証情報を格納しておく。認証情報には、UIDに対応付けられたユーザ名とパスワードとが含まれる。ユーザは、例えばユーザ端末21を用いてファイルアクセス装置300にアクセスし、ユーザ名とパスワードとを入力する。入力されたユーザ名とパスワードとは、ユーザ端末21からファイルアクセス装置300に送信される。ファイルアクセス装置300は、受け取ったユーザ名とパスワードとの組に該当する認証情報を有していれば、ユーザ端末21を使用しているユーザが正当であると認証する。以後、ユーザがログアウト操作をするまで、ユーザ端末21からの要求は、認証時に適用された認証情報のUIDによって、ファイルアクセス装置300内で他のユーザからの要求と識別される。
【0070】
なお、ファイルアクセス装置300が有する認証情報のUIDは、ファイルアクセス装置300内でユニークであればよい。すなわち、同じUIDがファイルアクセス装置400内の認証情報に設定されていてもよい。
【0071】
レベル7スイッチ部320は、OSI(Open Systems Interconnection)参照モデルのアプリケーション層(第7層)の情報に基づいて、パケットのルーティング処理を行う。具体的にはレベル7スイッチ部320は、NFSクライアント部310から出力されたパケットが、NFSクライアント部310により生成されたNFS要求であれば、該当パケットをファイル管理装置100へ転送する。
【0072】
なお、ファイルアクセス装置300には、テナント名「melon」が付与されている。テナント名は、ファイルアクセス装置300内のRAMなどの記憶領域に予め格納されている。レベル7スイッチ部320は、予め記憶されたテナント名を参照することで、ファイルアクセス装置300のテナント名を認識する。そしてファイル管理装置100に転送されるNFS要求には、レベル7スイッチ320によって、ファイルアクセス装置300が有するサービスチケットに対応付けられたニックネームが付加される。
【0073】
具体的には、レベル7スイッチ部320は、ファイルアクセス装置300の起動時にケルベロスサーバ200にログインし、ケルベロスサーバ200からサービスチケットを取得する。その後、レベル7スイッチ部320は、NFS要求をファイル管理装置100に転送する際に、サービスチケットに対応するニックネームをファイル管理装置100から取得する。そしてレベル7スイッチ部320は、NFS要求にニックネームを付加したうえで、NFSクライアント部310から出力されたNFS要求をファイル管理装置100に転送する。
【0074】
またレベル7スイッチ部320は、ニックネーム記憶部321を有している。ニックネーム記憶部321は、レベル7スイッチ部320がファイル管理装置100から取得したニックネームを記憶する記憶機能である。例えば、ファイルアクセス装置300内のRAMまたはHDDの記憶領域の一部が、ニックネーム記憶部321として使用される。
【0075】
ファイル管理装置100は、サービスチケット記憶部120、NFSサーバ部130、およびローカルファイルシステム部140を有している。
サービスチケット記憶部120は、ファイルアクセス装置300から送られたサービスチケットの認証用のサービスチケットを記憶する記憶機能である。例えば、ファイル管理装置100のRAM102またはHDD103の記憶領域の一部が、サービスチケット記憶部120として使用される。
【0076】
NFSサーバ部130は、ファイルアクセス装置300からのNFS要求に応じて、ストレージ装置110内のファイル操作を行う。具体的には、NFSサーバ130は、ファイルアクセス装置300からサービスチケットが通知されると、そのサービスチケットに対応するニックネームを応答する。その後、ファイルアクセス装置300からニックネームを付加したNFS要求を受け取ると、NFSサーバ部130は、ニックネームに対応するサービスチケットに基づいて、操作対象のファイルへのアクセス権の有無を判断する。この際、NFSサーバ部130は、ローカルファイルシステム部140を介して、アクセス対象のファイルのinodeを取得する。取得したinodeには、UID/GIDごとファイルへのアクセス権に加え、テナント名が含まれている。そして、NFSサーバ部130は、少なくともニックネームに対応するテナント名とアクセス対象のファイルのテナント名とが一致し、かつファイルに設定されたUID/GIDによるアクセス条件によりアクセスが可能な場合に、アクセス権があると判断する。アクセス権があると判断された場合、NFSサーバ部130は、受信したNFS要求に従ったファイル操作を、ローカルファイルシステム部140に依頼する。
【0077】
ローカルファイルシステム部140は、ストレージ装置110内のディレクトリおよびファイルを管理する。具体的には、ローカルファイルシステム部140はinode記憶部141を有している。inode記憶部141は、ストレージ装置110内のディレクトリおよびファイルのinodeを記憶する記憶機能である。例えば、RAM102またはHDD103の記憶領域の一部が、inode記憶部141として使用される。ローカルファイルシステム部140は、inode記憶部141内のinodeの作成・更新を行うと共に、NFSサーバ部130からの要求に応じてinodeをNFSサーバ部130に渡す。またローカルファイルシステム部140は、NFSサーバ部130からの要求に応じて、ストレージ装置110のファイルを操作する。ローカルファイルシステム部140は、例えば、Linux(登録商標)のext3ファイルシステムを改造することで実現できる。
【0078】
ローカルファイルシステム部140は、ストレージ装置110内にテナントごとのディレクトリを作成し、各テナントのファイルを該当ディレクトリ配下に格納する。
図5は、ローカルファイルシステムのディレクトリ構造を示す図である。ルートディレクトリ41の下には、テナントごとのディレクトリ42,43,44,45,・・・が設けられている。図5の例では、各ディレクトリのディレクトリ名として、そのディレクトリを使用するテナントとのテナント名が設定されている。例えば、ディレクトリ42のディレクトリ名は「apple」である。
【0079】
ディレクトリ42の配下には、複数のファイル51,52,・・・が格納されている。同様に、他のディレクトリ43,44,45,・・・にも複数のファイルが格納されている。
【0080】
このディレクトリ42は、ディレクトリ名で示されるテナント名「apple」に対応するファイルアクセス装置からのみアクセスが許可される。また、ディレクトリ42の配下のファイル51,52についても、上位のディレクトリのディレクトリ名で示されるテナント名「apple」に対応するファイルアクセス装置からのみアクセスが許可される。
【0081】
ディレクトリやファイルにアクセス可能なファイルアクセス装置の情報は、ディレクトリやファイルのinodeに、拡張属性として登録される。
図6は、inode記憶部に格納されたinodeの例を示す図である。inode記憶部141内には、複数のinode141a,141b,141c,・・・が格納されている。
【0082】
各inode141a,141b,141c,・・・には、inode番号が付与されている。ローカルファイルシステム内では、inode番号によって、各ディレクトリおよびファイルが一意に識別される。
【0083】
各inode141a,141b,141c,・・・には、ファイルデータ位置情報、UID/GID、アクセス権、拡張属性などの情報が含まれている。ファイルデータ位置情報は、inodeに対応するディレクトリまたはファイルの実体的なデータ(ファイルデータ111,112,113,・・・)が格納されたストレージ装置110内での位置を示す情報である。例えば、ファイルデータ位置情報には、ファイルデータ111の格納領域の先頭のブロック番号、データサイズなどが格納される。
【0084】
UID/GIDは、ファイルの所有者のユーザIDとグループIDである。このUIID/GIDは、ファイルアクセス装置300,400,・・・それぞれで個別に設定された値である。すなわち、ファイルアクセス装置300,400,・・・においてユーザ認証に用いられた認証情報に対応するUID/GIDが、ファイルの所有者の識別情報として使用される。
【0085】
アクセス権は、例えばパーミッションと呼ばれる情報であり、所有者、所有者の属するグループ内のユーザ、および所有者の属するグループに含まれないユーザそれぞれに、どの様なファイルアクセスを許可するのかが設定される。アクセスの種別には、読み出し、書き込み、実行がある。
【0086】
左から1〜3番目の値が、所有者の権限(Owner権限)を示している。左から4〜6番目の値が、所有者と同じグループに属するユーザの権限(Group権限)を示している。左から7〜9番目の値が、所有者の属するグループに含まれないユーザの権限(Other権限)を示している。各権限は3つの値で構成されており、左側が読み込み権限の有無を示し、中央が書き込み権限の有無を示し、右側が実行権限の有無を示す。読み込み権限があれば「r」が設定される。書き込み権限があれば「w」が設定される。実行権限があれば「x」が設定される。
【0087】
拡張属性には、ファイルにアクセス可能なファイルアクセス装置300を示すテナント名が設定される。例えば、inode141aの拡張属性にはテナント名「melon」が設定される。これは、テナント名「melon」に対応するファイルアクセス装置300からのアクセスのみが許可されることを示している。
【0088】
なお図1に示すファイル管理装置1内の処理機能は、図4に示すNFSサーバ部130とローカルファイルシステム部140との連係動作によって実現される。なお、ファイル管理装置1内の処理機能とは、ファイル管理装置1内のサービスチケット取得手段1a、識別情報送信手段1c、装置アクセス権判定手段1d、およびユーザアクセス権判定手段1fの各機能である。また図1に示す装置識別情報記憶手段1bのうちサービスチケット記憶領域1bbについては、図4に示すサービスチケット記憶部120によって実現される。図1に示す装置識別情報記憶手段1bのアクセス可能装置名記憶領域1baと、ユーザアクセス権記憶手段1eについては、図4に示すローカルファイルシステム部140内のinode記憶部141によって実現される。
【0089】
次に、ユーザ端末からのアクセス要求に基づくファイルアクセス手順について説明する。
図7は、ファイルアクセス手順を示すシーケンス図である。以下、図7に示す処理をステップ番号に沿って説明する。
【0090】
〔ステップS11〕ファイルアクセス装置300が起動されると、レベル7スイッチ部320は、ケルベロスサーバ200に対してテナント名などを引数にしてKRB_AS_REQ要求を発行する。
【0091】
〔ステップS12〕ケルベロスサーバ200は、レベル7スイッチ部320にKRB_AS_REP応答を発行する。KRB_AS_REP応答には、チケット認可チケット(TGT:Ticket Granting Ticket)が含まれる。
【0092】
具体的には、ケルベロスサーバ200は、鍵配布センタ(KDC:Key Distribution Center)データベースを有し、予めファイルアクセス装置300,400,・・・のテナント名と、秘密鍵の組をKDCデータベースに格納している。ケルベロスサーバ200は、KRB_AS_REQ要求を受信すると、KRB_AS_REQ要求に含まれるテナント名がKDCデータベースに登録されていることを確認する。テナント名が登録されていれば、ケルベロスサーバ200は、KDCデータベースからテナント名に対応する非公開鍵を取得する。次にケルベロスサーバ200は、ファイルアクセス装置300と通信するための第1のセッション鍵(K1)とチケット認可チケットを生成する。ケルベロスサーバ200は、第1のセッション鍵(K1)とチケット認可チケットとを暗号化する。例えばケルベロスサーバ200は、セッション鍵を、ファイルアクセス装置300の秘密鍵を使って暗号化し、チケット認可チケットを、ケルベロスサーバ200の秘密鍵を使って暗号化する。そして、ケルベロスサーバ200は、暗号化されたセッション鍵とチケット認可チケットとを含むKRB_AS_REP応答をファイルアクセス装置300に送信する。
【0093】
〔ステップS13〕レベル7スイッチ部320は、ケルベロスサーバ200に対して、認証子などを引数にしてKRB_TGS_REQ要求を送信する。具体的には、レベル7スイッチ部320は、ケルベロスサーバ200から受け取った第1のセッション鍵(K1)を自己の秘密鍵で復号する。次に、レベル7スイッチ部320は、自己の識別情報として認証子を生成し、その認証子を第1のセッション鍵(K1)で暗号化する。そしてレベル7スイッチ部320は、暗号化された認証子、ステップS12で受け取ったチケット認可チケット、およびサービス名を含むKRB_TGS_REQ要求を、ケルベロスサーバ200に送信する。この例では、サービス名として、ファイル管理装置100によるファイル管理サービスの名称が設定される。
【0094】
〔ステップS14〕ケルベロスサーバ200は、サービスチケットを含むKRB_TGS_REP応答を、レベル7スイッチ部320に送信する。具体的には、ファイルアクセス装置300から送られたチケット認可チケットを復号して、使用期限が経過していないことなどの内容を確認する。またケルベロスサーバ200は、認証子をセッション鍵(K1)で復号する。認証子が正しく復号されると、ケルベロスサーバ200はファイルアクセス装置300に対してサービスの利用を許可する。ケルベロスサーバ200は、サービスの利用を許可した場合、ファイル管理装置100にアクセスするためのサービスチケットを、ファイル管理装置100の秘密鍵で暗号化する。そしてケルベロスサーバ200は、暗号化したサービスチケットと、第1のセッション鍵(K1)で暗号化した第2のセッション鍵(K2)を含むKRB_TGS_REP応答を、ファイルアクセス装置300に送信する。第2のセッション鍵(K2)は、ファイルアクセス装置300とファイル管理装置100との間の通信用のセッション鍵である。
【0095】
ファイルアクセス装置300のレベル7スイッチ部320は、KRB_TGS_REP応答に含まれていたサービスチケットと第2のセッション鍵(K2)とを、RAMなどの記憶装置に格納する。例えば、サービスチケットと第2のセッション鍵(K2)とは、ファイル管理装置100が提供するサービスのサービス名に対応付けて格納される。
【0096】
なお、セッション鍵(K2)は、暗号化されたまま格納しておき、使用する際に復号することができる。また、第2のセッション鍵(K2)を予め復号して格納しておいてもよい。第2のセッション鍵(K2)は、ステップS12で取得した第1のセッション鍵(K1)を用いて復号できる。
【0097】
以上の処理が、ファイルアクセス装置300の起動時に実行される処理である。その後、ユーザ端末21,22,23,・・・からのアクセス要求がファイルアクセス装置300に入力されると、以下の処理が実行される。
【0098】
〔ステップS15〕ファイルアクセス装置300のNFSクライアント部310は、ユーザ端末21,22,23,・・・からのアクセス要求に応答して、1回目のNFS要求をレベル7スイッチ部320に対して出力する。このNFS要求では、アクセス先としてファイル管理装置100が指定されている。なおNFSクライアント部310は、NFS要求を発行する場合、毎回、RPC(Remote Procedure Call)のヘッダ部に、アクセス要求を出力したユーザのUID/GID情報を埋め込んでおく。なお、NFS要求の詳細は後述する(図8参照)。
【0099】
〔ステップS16〕レベル7スイッチ部320は、1回目のNFS要求に応答して、サービスチケットをファイル管理装置100に送信する。例えばレベル7スイッチ部320は、ファイルアクセス装置300を示す認証子と、ファイル管理装置100が提供するサービス名に対応付けて格納されたサービスチケットとを、ファイル管理装置100に送信する。サービスチケットと共に送信される認証子は、例えばステップS13の処理においてケルベロスサーバ200に送信した認証子が用いられる。またサービチケットと共に送信される認証子は、例えば第2のセッション鍵(K2)で暗号化される。
【0100】
〔ステップS17〕ファイル管理装置100のNFSサーバ部130は、サービスチケットが通知されると、ファイルアクセス装置300にニックネームを応答する。具体的には、NFSサーバ部130は、ファイルアクセス装置300から送られた認証子を第2のセッション鍵で復号する。正しく復号できた場合、NFSサーバ部130は、サービスチケットをファイル管理装置100の秘密鍵で復号する。NFSサーバ部130は、復号したサービスチケットを、そのサービスチケットに対して一意の値のニックネームに関連付けて、サービスチケット記憶部120に格納する。ニックネームとしては、サービスチケットよりもデータサイズが小さいデータである。そして、NFSサーバ部130は、格納したサービスチケットに関連付けられたニックネームの値を、ファイルアクセス装置300に対して送信する。このときNFSサーバ部130は、ニックネームを第2のセッション鍵(K2)で暗号化してもよい。なお、サービスチケット記憶部120のデータ構造について後述する(図9参照)。
【0101】
〔ステップS18〕ファイルアクセス装置300のレベル7スイッチ部320は、ニックネームの応答を受け取ると、ファイル管理装置100に対してニックネームを付加したNFS要求を送信する。具体的にはレベル7スイッチ部320は、1回目のNFS要求に対応する応答で受け取ったニックネームを、RAMなどの記憶媒体に格納する。例えば、レベル7スイッチ部320は、ファイル管理装置100が提供しているサービスのサービス名に対応付けて、ニックネームを格納する。次にレベル7スイッチ部320は、入手したニックネームをNFS要求ファイルハンドルに埋め込んで、ファイル管理装置100に送信する。レベル7スイッチ部320は、ニックネームが暗号化されていた場合、第2のセッション鍵(K2)を用いてニックネームを復号することができる。
【0102】
なお、サービスチケットの代わりにニックネームを送信するのは、ニックネームの方がサービスチケットよりデータサイズが小さく、NFSのファイルハンドルに入りきるためである。すなわち、ニックネームは、少なくともNFSのファイルバンドルに入りきるサイズで生成される。ニックネームを付与したNFS要求の詳細は後述する(図10参照)。
【0103】
〔ステップS19〕ファイル管理装置100のNFSサーバ部130は、UID/GIDやテナント名に基づいてアクセス権の有無を判断し、NFS要求に応じたファイルアクセスを実行する。ファイルアクセス処理の詳細は後述する(図11参照)。
【0104】
〔ステップS20〕NFSサーバ部130は、NFS要求の結果をファイルアクセス装置300に応答する。
〔ステップS21〕ファイルアクセス装置300のレベル7スイッチ部320は、ファイル管理装置100から送られたアクセス結果を、NFSクライアント部310に応答する。するとNFSクライアント部310が、アクセス要求の送信元であるユーザ端末に対してアクセス結果を送信する。
【0105】
〔ステップS22〕その後、いずれかのユーザ端末から2回目のアクセス要求がファイルアクセス装置300に入力されると、NFSクライアント部310は、2回目のNFS要求をレベル7スイッチ部320に出力する。ここで2回目のアクセス要求とは、ファイルアクセス装置300が受信したアクセス要求の2回目という意味である。すなわち、1回目のアクセス要求を出力したユーザ端末と異なるユーザ端末から出力されたアクセス要求であっても、1回目のアクセス要求の受信後に受信したアクセス要求は、2回目のアクセス要求である。
【0106】
〔ステップS23〕レベル7スイッチ部320は、2回目以降のNFS要求を受け取った場合、ステップS17で既に取得済みのニックネームをNFS要求に付与し、ファイル管理装置100に送信する。具体的には、レベル7スイッチ部320は、NFS要求の送信先であるファイル管理装置100が提供するサービスのサービス名に対応付けて、既にニックネームがRAM内に格納されていることにより、2回目以降のNFS要求であることを認識する。次にレベル7スイッチ部320は、ファイル管理装置100が提供するサービスのサービス名に対応付けられたニックネームを取得し、NFS要求のファイルバンドルに埋め込む。そしてレベル7スイッチ部320は、ニックネームを埋め込んだNFS要求を、ファイル管理装置100に送信する。
【0107】
〔ステップS24〕ファイル管理装置100のNFSサーバ部130は、UID/GIDやテナント名に基づいてアクセス権の有無を判断し、NFS要求に応じたファイルアクセスを実行する。
【0108】
〔ステップS25〕NFSサーバ部130は、NFS要求の結果をファイルアクセス装置300に応答する。
〔ステップS26〕ファイルアクセス装置300のレベル7スイッチ部320は、ファイル管理装置100から送られたアクセス結果を、NFSクライアント部310に応答する。するとNFSクライアント部310が、アクセス要求の送信元であるユーザ端末に対してアクセス結果を送信する。
【0109】
3回目以降のアクセス要求がユーザ端末から入力された場合、ステップS22〜ステップS26に示す2回目のアクセス要求時と同様の処理が実行される。
次にファイルアクセス装置300からファイル管理装置100に送信されるNFS要求のデータフォーマットについて説明する。
【0110】
図8は、NFSクライアント部から出力されるNFS要求のデータ構造例を示す図である。NFS要求60には、ヘッダ61と本体62とが含まれている。
ヘッダ61には、プロシジャ番号、信用証明(Credential)などが含まれている。プロシジャ番号は、要求の種別を示す識別番号である。要求の種別には、書き込み要求、読み出し要求、実行要求がある。信用証明は、アクセス権限などの証明情報である。信用証明には、アクセス要求を出力したユーザ端末を使用しているユーザのUIDとGIDとが含まれている。
【0111】
本体62には、ファイルバンドルが含まれている。ファイルバンドルには、アクセス対象のファイルを示すinode番号が含まれている。
このようなNFS要求60を受け取ったレベル7スイッチ部320により、ファイル管理装置100にサービスチケットが送信され、ファイル管理装置100でニックネームが発行される。ファイル管理装置100では、サービスチケットが、ニックネームに関連付けてサービスチケット記憶部120に格納される。
【0112】
図9は、サービスチケット記憶部のデータ構造例を示す図である。サービスチケット記憶部120には、複数のサービスチケット121,122,123,・・・,12nが格納されている。各サービスチケット121,122,123,・・・,12nには、サービスチケット記憶部120内でレコードを識別するためのインデックス(index)が設けられている。本実施の形態では、インデックスの値がニックネームとして使用される。
【0113】
また各サービスチケット121,122,123,・・・,12nには、プリンシパル名が設定されている。プリンシパルは、ケルベロス方式の認証で認証を受けたファイルアクセス装置の名称である。第2の実施の形態は、プリンシパル名として、各ファイルアクセス装置のテナント名が設定されている。
【0114】
レベル7スイッチ部320は、ファイル管理装置100からニックネームを受け取ると、NFS要求60にニックネームが付加してファイル管理装置100に送信する。
図10は、ニックネーム付加後のNFS要求を示す図である。レベル7スイッチ部320から出力されるNFS要求60aは、本体62のファイルバンドル内にニックネームが追加されている。このようなNFS要求60aがファイル管理装置100に送られることで、ファイル管理装置100では、NFS要求60aに示されるニックネームにより、サービスチケットを一意に特定できる。そして、NFS要求60aに対応するサービスチケットが特定できれば、アクセス権の有無を適切に判断できる。
【0115】
図11は、NFSサーバ部によるファイルアクセス処理の手順を示すフローチャートである。以下、図11に示す処理をステップ番号に沿って説明する。
〔ステップS31〕NFSサーバ部130は、受信したNFS要求に含まれるニックネームに対応するサービスチケットを、サービスチケット記憶部120から検索する。そしてNFSサーバ部130は、検索でヒットしたサービスチケット内のプリンシパル名を取得する。
【0116】
〔ステップS32〕NFSサーバ部130は、受信したNFS要求に含まれるinode番号に対応するinodeを、ローカルファイルシステム部140から取得する。そしてNFSサーバ部130は、取得したinodeの拡張属性に設定されているテナント名を取得する。
【0117】
〔ステップS33〕NFSサーバ部130は、サービスチケットのプリンシパル名とinodeのテナント名とが一致するか否かを判断する。一致した場合、処理がステップS34に進められる。不一致の場合、処理がステップS39に進められる。
【0118】
〔ステップS34〕NFSサーバ部130は、取得したNFS要求のヘッダからUID/GIDを抽出する。
〔ステップS35〕NFSサーバ部130は、ステップS32で取得したinodeから、ファイルの所有者のUID/GID、およびアクセス権の情報を抽出する。
【0119】
〔ステップS36〕NFSサーバ部130は、inodeに示されるアクセス権と、NFS要求から抽出されたUID/GIDとを比較し、UID/GIDで示されるユーザがUID/GID方式によるアクセス権を保持しているか否かを判断する。
【0120】
具体的にはNFSサーバ部130は、NFS要求から抽出したUID/GIDと、inodeから抽出したUID/GIDとを比較する。NFSサーバ部130は、比較によって、NFS要求を依頼元であるユーザの属性を判断する。ユーザの属性には、ファイルの所有者、ファイルの所有者と同じグループに属するユーザ、およびグループ外のユーザがある。UIDが一致すれば、ファイルの所有者からのNFS要求である。GIDが一致すれば、ファイルの所有者と同じグループ内のユーザからのNFS要求である。UID/GID共に一致しなければ、グループ外のユーザからのNFS要求である。そして、NFSサーバ部130は、アクセス権の情報を参照して、ユーザの属性に応じたアクセス権を取得する。アクセス権には、書き込みの許否、読み出しの許否、実行の許否が示される。NFS要求で示されるアクセスの種別(書き込み、読み出し、まはた実行)に応じて、その種別のアクセスが許可されていれば、NFSサーバ部130はアクセス権を保持していると判断する。
【0121】
アクセス権があれば、処理がステップS37に進められる。アクセス権がなければ、処理がステップS39に進められる。
〔ステップS37〕NFSサーバ部130は、ファイルシステムへの要求を実行する。すなわちNFSサーバ部130は、NFS要求で示されたアクセス処理を、ローカルファイルシステム部140に要求する。ローカルファイルシステム部140は、要求に従ってストレージ装置110内のファイルアクセスを実行し、実行結果をNFSサーバ部130に応答する。ファイルアクセスがデータの書き込みの場合、例えば書き込み完了のメッセージが、実行結果として応答される。ファイルアクセスがデータの読み出しの場合、例えば読み出されたデータが、実行結果として応答される。ファイルアクセスがファイル内のプログラムの実行の場合、例えばファイル内のプログラムが、実行結果として応答される。
【0122】
〔ステップS38〕NFSサーバ部130は、ローカルファイルシステム部140から受け取ったアクセス結果を、ファイルアクセス装置300に応答する。その後、ファイルアクセス処理が終了する。
【0123】
〔ステップS39〕NFSサーバ部130は、プリンシパル名とinodeのテナント名とが不一致の場合、およびユーザがアクセス権を保持していない場合には、ユーザに対するエラーメッセージを、ファイルアクセス装置300に応答する。
【0124】
以上のようにして、inodeのテナント名と一致するファイルアクセス装置からの正当なアクセス権を保持するユーザのアクセスの場合にのみ、NFS要求に示されるファイルアクセスが実行される。換言すると、inodeに設定されているテナント名と異なるテナント名のファイルアクセス装置からのNFS要求の場合、UID/GID方式によるアクセス権の有無に関係なく、ファイルアクセスが拒否される。
【0125】
ここで、図6に示したようなinode記憶部141と図9に示したようなサービスチケット記憶部120とに基づく、ファイアクセスの許否判定例を以下に示す。
(第1の例)NFS要求の内容が「inode番号=3,Nickname=1,UID=5,GID=2,プロシジャ番号=read」の場合
第1の例において、NFS要求で示されるニックネームは「1」である。そのニックネームに対応するプリンシパル名は「apple」である(図9参照)。またNFS要求で示されるinode番号は「3」である。そこで、inode記憶部141内のinode番号「3」のinode143(図6参照)とNFS要求とが比較される。inode143の拡張属性に設定されているテナント名は「orange」である。すると、プリンシパル名とinodeのテナント名が異なるため、アクセス不可と判定される。
【0126】
(第2の例)NFS要求の内容が「inode番号=2,Nickname=3,UID=4,GID=2,プロシジャ番号=write」の場合
第2の例において、NFS要求で示されるニックネームは「3」である。そのニックネームに対応するプリンシパル名は「peach」である(図9参照)。またNFS要求で示されるinode番号は「2」である。そこで、inode記憶部141内のinode番号「2」のinode142(図6参照)とNFS要求とが比較される。inode143の拡張属性に設定されているテナント名は「peach」である。すると、プリンシパル名とinodeのテナント名が一致する。またNFS要求で示されるUIDは「4」、GIDは「2」である。他方、inode142に示されるUIDは「5」、GIDは「2」である。するとNFS要求を出したのは、アクセス対象のファイルの所有者ではないが、所有者と同じグループ内のユーザである。inode142に設定されているアクセス権では、グループ内のユーザに対して読み込みアクセスのみが認められている。他方、NFS要求のプロシジャ番号には書き込み要求であることが示されている。すると、NFS要求を出したユーザにアクセス権がないため、アクセス不可と判断される。
【0127】
(第3の例)NFS要求の内容が「inode番号=2,Nickname=3,UID=5,GID=2,プロシジャ番号=write」の場合
第3の例において、NFS要求で示されるニックネームは「3」である。そのニックネームに対応するプリンシパル名は「peach」である(図9参照)。またNFS要求で示されるinode番号は「2」である。そこで、inode記憶部141内のinode番号「2」のinode142(図6参照)とNFS要求とが比較される。inode143の拡張属性に設定されているテナント名は「peach」である。すると、プリンシパル名とinodeのテナント名が一致する。またNFS要求で示されるUIDは「5」、GIDは「2」である。他方、inode142に示されるUIDは「5」、GIDは「2」である。するとNFS要求を出したのは、アクセス対象のファイルの所有者である。inode142に設定されているアクセス権では、所有者に対して書き込みと読み出しとのアクセスが認められている。NFS要求のプロシジャ番号には書き込み要求であることが示されている。すると、NFS要求を出したユーザにアクセス権があり、アクセス可と判断される。
【0128】
ところで、上記の実施の形態では、主にファイル操作に関するアクセスの許否判定について説明したが、ディレクトリ操作に関するアクセスの許否判定も同様に行うことができる。すなわち、ディレクトリに対してもファイルと同様のinodeが設けられているため、そのinodeの拡張属性に、そのディレクトリ配下のファイルを使用するファイルアクセス装置のテナント名が設定される。ディレクトリ配下のファイルのリストが要求された場合、およびディレクトリ配下のファイルの作成/削除が要求された場合、inodeに設定されているテナント名と一致するテナント名のファイルアクセス装置からの要求のみが許可される。
【0129】
ここで、ディレクトリ配下へのファイル/ディレクトリ作成時は、作成したファイル/ディレクトリのinodeの拡張属性に、要求元のファイルアクセス装置のテナント名が格納される。すなわち、ファイル/ディレクトリ作成は親ディレクトリへの操作に対してのテナント認証の成功が前提となる。するとファイル/ディレクトリ作成時に、作成されたファイル/ディレクトリのinodeの拡張属性に、作成要求を出力したファイルアクセス装置のテナント名を設定すると、親ディレクトリと同じテナント名が格納されることとなる。結果として、親ディレクトリのテナント名が、新たに作成されたファイル/ディレクトリに引き継がれる。
【0130】
以上説明したように、第2の実施の形態では、特定のテナントに属するファイルアクセス装置に対してケルベロス方式のチケットが配布される。そして、ファイルシステム要求の対象ファイルの拡張属性のテナント名がチケットのプリンシパル名に含まれていることが確認される。これにより、すべてのテナントは、異なるテナントのファイルアクセス装置から自テナントのファイルへのアクセスを防止することができる。そのため、仮に異なるテナントのユーザが同一のUID/GIDを使用してファイルシステム要求を送信したとしても、相互のセキュリティは維持される。従って、UID/GIDは従来のようにそれぞれのテナントに閉じてローカルに管理すればよく、他テナントのUID/GIDとの衝突を心配する必要はない。
【0131】
また、第2の実施の形態では、ユーザのアクセス権の設定にUID/GIDを使い続けることができる。そのため、ファイルシステムのユーザ認証方式をUID/GID方式からケルベロス方式へ移行させる場合でも、本来なら必要なはずの鍵の再生成やアクセス権の再設定を、個々のユーザが行う必要はない。その結果、早急に移行を完了させることができる。
【0132】
〔その他の応用例〕
上記第2の実施の形態では、ケルベロス方式によりファイルアクセス装置の認証を行っているが、認証されたことを示す証明書にテナント名を含ませることが可能な他の認証方式を利用することもできる。
【0133】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、ファイル管理装置1,100やファイルアクセス装置2,2a,・・・,300,400,・・・が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disc)などがある。
【0134】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0135】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0136】
また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現することもできる。
【0137】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
【0138】
以上説明した実施の形態の主な技術的特徴は、以下の付記の通りである。
(付記1) ストレージ装置に格納されるファイルを管理するファイル管理装置において、
ファイルアクセス装置から、該ファイルアクセス装置の識別情報と、ユーザの識別情報とを含む、前記ファイルへのアクセス要求を受信する通信インタフェース部と、
受信した前記ファイルアクセス装置の識別情報に基づいて、該ファイルアクセス装置が前記ファイルに対するアクセス権を有するか否かの第1の判定を行い、受信した前記ユーザの識別情報に基づいて、該ユーザが前記ファイルに対するアクセス権を有しているか否かの第2の判定を行い、該第1の判定及び該第2の判定の双方において、アクセス権が有ると判定する場合に、前記アクセス要求に応じた前記ファイルへのアクセスを許容する制御装置と、
を有することを特徴とするファイル管理装置。
【0139】
(付記2) ストレージ装置に格納されたファイルを管理するファイル管理装置において、
送信元のファイルアクセス装置を示す識別情報と、アクセス対象のファイルを使用するユーザのユーザIDとを含む、前記ファイルへのアクセス要求を受信すると、前記ファイルそれぞれに対してアクセス権を有する前記ファイルアクセス装置の前記識別情報を記憶する装置識別情報記憶手段を参照し、前記アクセス要求を出力した前記ファイルアクセス装置がアクセス対象の前記ファイルに対するアクセス権を有するか否かを判定する装置アクセス権判定手段と、
前記アクセス要求を受信すると、前記ファイルそれぞれに対してユーザIDに応じたアクセス権が設定されたユーザアクセス権記憶手段を参照し、前記アクセス要求に含まれる前記ユーザIDで示される前記ユーザがアクセス対象の前記ファイルに対するアクセス権を有しているか否かを判定するユーザアクセス権判定手段と、
前記ファイルアクセス装置がアクセス権を有し、かつ前記ユーザがアクセス権を有している場合、前記アクセス要求に応じたファイルアクセスを実行するファイルアクセス手段と、
を有することを特徴とするファイル管理装置。
【0140】
(付記3) ストレージ装置に格納されたファイルを管理する処理をコンピュータに実行させるファイル管理プログラムにおいて、
前記コンピュータに、
送信元のファイルアクセス装置を示す識別情報と、アクセス対象の前記ファイルを使用するユーザのユーザIDとを含む、前記ファイルへのアクセス要求を受信すると、前記ファイルそれぞれに対してアクセス権を有する前記ファイルアクセス装置の前記識別情報を記憶する装置識別情報記憶手段を参照し、前記アクセス要求を出力した前記ファイルアクセス装置がアクセス対象の前記ファイルに対するアクセス権を有するか否かを判定し、
前記アクセス要求を受信すると、前記ファイルそれぞれに対してユーザIDに応じたアクセス権が設定されたユーザアクセス権記憶手段を参照し、前記アクセス要求に含まれる前記ユーザIDで示される前記ユーザがアクセス対象の前記ファイルに対するアクセス権を有しているか否かを判定し、
前記ファイルアクセス装置がアクセス権を有し、かつ前記ユーザがアクセス権を有している場合、前記アクセス要求に応じたファイルアクセスを実行する、
処理を実行させることを特徴とするファイル管理プログラム。
【0141】
(付記4) 前記識別情報は、前記ファイルへのアクセス権を前記ファイルアクセス装置が正当に有することが、認証サーバによって認証されていることを示す情報であることを特徴とする付記3記載のファイル管理プログラム。
【0142】
(付記5) 前記コンピュータに、さらに、
前記ファイルへのアクセス権を有する前記ファイルアクセス装置に対して前記認証サーバによって発行されたサービスチケットを受信すると、前記サービスチケットを、前記ファイルアクセス装置の前記識別情報に関連付けて前記装置識別情報記憶手段に格納し、
前記サービスチケットに関連付けられた前記識別情報を、前記サービスチケットの送信元である前記ファイルアクセス装置に送信する、
処理を実行させることを特徴とする付記4記載のファイル管理プログラム。
【0143】
(付記6) 前記サービスチケットには、前記ファイルへのアクセス権を有する前記ファイルアクセス装置の装置名が含まれており、
前記装置識別情報記憶手段は、前記ファイルに対応付けて、前記ファイルに対するアクセス権を有する前記ファイルアクセス装置の装置名を記憶するアクセス可能装置名記憶領域と、前記識別情報と前記サービスチケットとを関係づけて記憶するサービスチケット記憶領域とに分かれており、
前記ファイルアクセス装置のアクセス権判定では、前記サービスチケット記憶領域を参照して、前記アクセス要求に示される前記識別情報に対応する前記装置名を抽出し、抽出した前記装置名が、アクセス対象となる前記ファイルに対応付けて前記アクセス可能装置名記憶領域に記憶されている場合、前記アクセス要求を出力した前記ファイルアクセス装置がアクセス権を有すると判断する、
ことを特徴とする付記5記載のファイル管理プログラム。
【0144】
(付記7) 前記アクセス可能装置名記憶領域は、前記ストレージ装置を管理するローカルファイルシステムが前記ファイルを管理するためのファイル管理情報内の領域であることを特徴とする付記6記載のファイル管理プログラム。
【0145】
(付記8) 前記サービスチケットは、ケルベロス方式により認証を行うケルベロスサーバで発行され、前記装置名は、前記サービスチケットのプリンシパル名の設定フィールドに格納されていることを特徴とする付記6記載のファイル管理プログラム。
【0146】
(付記9) 前記識別情報は、前記サービスチケットよりもデータ量が少ないことを特徴とする付記5記載のファイル管理装置。
(付記10) ストレージ装置に格納されたファイルを管理する処理を、コンピュータで実行するファイル管理方法において、
前記コンピュータが、
送信元のファイルアクセス装置を示す識別情報と、アクセス対象の前記ファイルを使用するユーザのユーザIDとを含む、前記ファイルへのアクセス要求を受信すると、前記ファイルそれぞれに対してアクセス権を有する前記ファイルアクセス装置の前記識別情報を記憶する装置識別情報記憶手段を参照し、前記アクセス要求を出力した前記ファイルアクセス装置がアクセス対象の前記ファイルに対するアクセス権を有するか否かを判定し、
前記アクセス要求を受信すると、前記ファイルそれぞれに対してユーザIDに応じたアクセス権が設定されたユーザアクセス権記憶手段を参照し、前記アクセス要求に含まれる前記ユーザIDで示される前記ユーザがアクセス対象の前記ファイルに対するアクセス権を有しているか否かを判定し、
前記ファイルアクセス装置がアクセス権を有し、かつ前記ユーザがアクセス権を有している場合、前記アクセス要求に応じたファイルアクセスを実行する、
ことを特徴とするファイル管理方法。
【符号の説明】
【0147】
1 ファイル管理装置
1−1 通信インタフェース部
1−2 制御装置
1a サービスチケット取得手段
1b 装置識別情報記憶手段
1ba アクセス可能装置名記憶領域
1bb サービスチケット記憶領域
1c 識別情報送信手段
1d 装置アクセス権判定手段
1e ユーザアクセス記憶手段
1f ユーザアクセス権判定手段
1g ファイルアクセス手段
1h ファイル管理情報
2,2a ファイルアクセス装置
3 ストレージ装置
4 認証サーバ
5 サービスチケット
6 ニックネーム
7 アクセス要求
【特許請求の範囲】
【請求項1】
ストレージ装置に格納されるファイルを管理するファイル管理装置において、
ファイルアクセス装置から、該ファイルアクセス装置の識別情報と、ユーザの識別情報とを含む、前記ファイルへのアクセス要求を受信する通信インタフェース部と、
受信した前記ファイルアクセス装置の識別情報に基づいて、該ファイルアクセス装置が前記ファイルに対するアクセス権を有するか否かの第1の判定を行い、受信した前記ユーザの識別情報に基づいて、該ユーザが前記ファイルに対するアクセス権を有しているか否かの第2の判定を行い、該第1の判定及び該第2の判定の双方において、アクセス権が有ると判定する場合に、前記アクセス要求に応じた前記ファイルへのアクセスを許容する制御装置と、
を有することを特徴とするファイル管理装置。
【請求項2】
ストレージ装置に格納されたファイルを管理するファイル管理装置において、
送信元のファイルアクセス装置を示す識別情報と、アクセス対象のファイルを使用するユーザのユーザIDとを含む、前記ファイルへのアクセス要求を受信すると、前記ファイルそれぞれに対してアクセス権を有する前記ファイルアクセス装置の前記識別情報を記憶する装置識別情報記憶手段を参照し、前記アクセス要求を出力した前記ファイルアクセス装置がアクセス対象の前記ファイルに対するアクセス権を有するか否かを判定する装置アクセス権判定手段と、
前記アクセス要求を受信すると、前記ファイルそれぞれに対してユーザIDに応じたアクセス権が設定されたユーザアクセス権記憶手段を参照し、前記アクセス要求に含まれる前記ユーザIDで示される前記ユーザがアクセス対象の前記ファイルに対するアクセス権を有しているか否かを判定するユーザアクセス権判定手段と、
前記ファイルアクセス装置がアクセス権を有し、かつ前記ユーザがアクセス権を有している場合、前記アクセス要求に応じたファイルアクセスを実行するファイルアクセス手段と、
を有することを特徴とするファイル管理装置。
【請求項3】
ストレージ装置に格納されたファイルを管理する処理をコンピュータに実行させるファイル管理プログラムにおいて、
前記コンピュータに、
送信元のファイルアクセス装置を示す識別情報と、アクセス対象の前記ファイルを使用するユーザのユーザIDとを含む、前記ファイルへのアクセス要求を受信すると、前記ファイルそれぞれに対してアクセス権を有する前記ファイルアクセス装置の前記識別情報を記憶する装置識別情報記憶手段を参照し、前記アクセス要求を出力した前記ファイルアクセス装置がアクセス対象の前記ファイルに対するアクセス権を有するか否かを判定し、
前記アクセス要求を受信すると、前記ファイルそれぞれに対してユーザIDに応じたアクセス権が設定されたユーザアクセス権記憶手段を参照し、前記アクセス要求に含まれる前記ユーザIDで示される前記ユーザがアクセス対象の前記ファイルに対するアクセス権を有しているか否かを判定し、
前記ファイルアクセス装置がアクセス権を有し、かつ前記ユーザがアクセス権を有している場合、前記アクセス要求に応じたファイルアクセスを実行する、
処理を実行させることを特徴とするファイル管理プログラム。
【請求項4】
前記識別情報は、前記ファイルへのアクセス権を前記ファイルアクセス装置が正当に有することが、認証サーバによって認証されていることを示す情報であることを特徴とする請求項3記載のファイル管理プログラム。
【請求項5】
前記コンピュータに、さらに、
前記ファイルへのアクセス権を有する前記ファイルアクセス装置に対して前記認証サーバによって発行されたサービスチケットを受信すると、前記サービスチケットを、前記ファイルアクセス装置の前記識別情報に関連付けて前記装置識別情報記憶手段に格納し、
前記サービスチケットに関連付けられた前記識別情報を、前記サービスチケットの送信元である前記ファイルアクセス装置に送信する、
処理を実行させることを特徴とする請求項4記載のファイル管理プログラム。
【請求項6】
前記サービスチケットには、前記ファイルへのアクセス権を有する前記ファイルアクセス装置の装置名が含まれており、
前記装置識別情報記憶手段は、前記ファイルに対応付けて、前記ファイルに対するアクセス権を有する前記ファイルアクセス装置の装置名を記憶するアクセス可能装置名記憶領域と、前記識別情報と前記サービスチケットとを関係づけて記憶するサービスチケット記憶領域とに分かれており、
前記ファイルアクセス装置のアクセス権判定では、前記サービスチケット記憶領域を参照して、前記アクセス要求に示される前記識別情報に対応する前記装置名を抽出し、抽出した前記装置名が、アクセス対象となる前記ファイルに対応付けて前記アクセス可能装置名記憶領域に記憶されている場合、前記アクセス要求を出力した前記ファイルアクセス装置がアクセス権を有すると判断する、
ことを特徴とする請求項5記載のファイル管理プログラム。
【請求項7】
ストレージ装置に格納されたファイルを管理する処理を、コンピュータで実行するファイル管理方法において、
前記コンピュータが、
送信元のファイルアクセス装置を示す識別情報と、アクセス対象の前記ファイルを使用するユーザのユーザIDとを含む、前記ファイルへのアクセス要求を受信すると、前記ファイルそれぞれに対してアクセス権を有する前記ファイルアクセス装置の前記識別情報を記憶する装置識別情報記憶手段を参照し、前記アクセス要求を出力した前記ファイルアクセス装置がアクセス対象の前記ファイルに対するアクセス権を有するか否かを判定し、
前記アクセス要求を受信すると、前記ファイルそれぞれに対してユーザIDに応じたアクセス権が設定されたユーザアクセス権記憶手段を参照し、前記アクセス要求に含まれる前記ユーザIDで示される前記ユーザがアクセス対象の前記ファイルに対するアクセス権を有しているか否かを判定し、
前記ファイルアクセス装置がアクセス権を有し、かつ前記ユーザがアクセス権を有している場合、前記アクセス要求に応じたファイルアクセスを実行する、
ことを特徴とするファイル管理方法。
【請求項1】
ストレージ装置に格納されるファイルを管理するファイル管理装置において、
ファイルアクセス装置から、該ファイルアクセス装置の識別情報と、ユーザの識別情報とを含む、前記ファイルへのアクセス要求を受信する通信インタフェース部と、
受信した前記ファイルアクセス装置の識別情報に基づいて、該ファイルアクセス装置が前記ファイルに対するアクセス権を有するか否かの第1の判定を行い、受信した前記ユーザの識別情報に基づいて、該ユーザが前記ファイルに対するアクセス権を有しているか否かの第2の判定を行い、該第1の判定及び該第2の判定の双方において、アクセス権が有ると判定する場合に、前記アクセス要求に応じた前記ファイルへのアクセスを許容する制御装置と、
を有することを特徴とするファイル管理装置。
【請求項2】
ストレージ装置に格納されたファイルを管理するファイル管理装置において、
送信元のファイルアクセス装置を示す識別情報と、アクセス対象のファイルを使用するユーザのユーザIDとを含む、前記ファイルへのアクセス要求を受信すると、前記ファイルそれぞれに対してアクセス権を有する前記ファイルアクセス装置の前記識別情報を記憶する装置識別情報記憶手段を参照し、前記アクセス要求を出力した前記ファイルアクセス装置がアクセス対象の前記ファイルに対するアクセス権を有するか否かを判定する装置アクセス権判定手段と、
前記アクセス要求を受信すると、前記ファイルそれぞれに対してユーザIDに応じたアクセス権が設定されたユーザアクセス権記憶手段を参照し、前記アクセス要求に含まれる前記ユーザIDで示される前記ユーザがアクセス対象の前記ファイルに対するアクセス権を有しているか否かを判定するユーザアクセス権判定手段と、
前記ファイルアクセス装置がアクセス権を有し、かつ前記ユーザがアクセス権を有している場合、前記アクセス要求に応じたファイルアクセスを実行するファイルアクセス手段と、
を有することを特徴とするファイル管理装置。
【請求項3】
ストレージ装置に格納されたファイルを管理する処理をコンピュータに実行させるファイル管理プログラムにおいて、
前記コンピュータに、
送信元のファイルアクセス装置を示す識別情報と、アクセス対象の前記ファイルを使用するユーザのユーザIDとを含む、前記ファイルへのアクセス要求を受信すると、前記ファイルそれぞれに対してアクセス権を有する前記ファイルアクセス装置の前記識別情報を記憶する装置識別情報記憶手段を参照し、前記アクセス要求を出力した前記ファイルアクセス装置がアクセス対象の前記ファイルに対するアクセス権を有するか否かを判定し、
前記アクセス要求を受信すると、前記ファイルそれぞれに対してユーザIDに応じたアクセス権が設定されたユーザアクセス権記憶手段を参照し、前記アクセス要求に含まれる前記ユーザIDで示される前記ユーザがアクセス対象の前記ファイルに対するアクセス権を有しているか否かを判定し、
前記ファイルアクセス装置がアクセス権を有し、かつ前記ユーザがアクセス権を有している場合、前記アクセス要求に応じたファイルアクセスを実行する、
処理を実行させることを特徴とするファイル管理プログラム。
【請求項4】
前記識別情報は、前記ファイルへのアクセス権を前記ファイルアクセス装置が正当に有することが、認証サーバによって認証されていることを示す情報であることを特徴とする請求項3記載のファイル管理プログラム。
【請求項5】
前記コンピュータに、さらに、
前記ファイルへのアクセス権を有する前記ファイルアクセス装置に対して前記認証サーバによって発行されたサービスチケットを受信すると、前記サービスチケットを、前記ファイルアクセス装置の前記識別情報に関連付けて前記装置識別情報記憶手段に格納し、
前記サービスチケットに関連付けられた前記識別情報を、前記サービスチケットの送信元である前記ファイルアクセス装置に送信する、
処理を実行させることを特徴とする請求項4記載のファイル管理プログラム。
【請求項6】
前記サービスチケットには、前記ファイルへのアクセス権を有する前記ファイルアクセス装置の装置名が含まれており、
前記装置識別情報記憶手段は、前記ファイルに対応付けて、前記ファイルに対するアクセス権を有する前記ファイルアクセス装置の装置名を記憶するアクセス可能装置名記憶領域と、前記識別情報と前記サービスチケットとを関係づけて記憶するサービスチケット記憶領域とに分かれており、
前記ファイルアクセス装置のアクセス権判定では、前記サービスチケット記憶領域を参照して、前記アクセス要求に示される前記識別情報に対応する前記装置名を抽出し、抽出した前記装置名が、アクセス対象となる前記ファイルに対応付けて前記アクセス可能装置名記憶領域に記憶されている場合、前記アクセス要求を出力した前記ファイルアクセス装置がアクセス権を有すると判断する、
ことを特徴とする請求項5記載のファイル管理プログラム。
【請求項7】
ストレージ装置に格納されたファイルを管理する処理を、コンピュータで実行するファイル管理方法において、
前記コンピュータが、
送信元のファイルアクセス装置を示す識別情報と、アクセス対象の前記ファイルを使用するユーザのユーザIDとを含む、前記ファイルへのアクセス要求を受信すると、前記ファイルそれぞれに対してアクセス権を有する前記ファイルアクセス装置の前記識別情報を記憶する装置識別情報記憶手段を参照し、前記アクセス要求を出力した前記ファイルアクセス装置がアクセス対象の前記ファイルに対するアクセス権を有するか否かを判定し、
前記アクセス要求を受信すると、前記ファイルそれぞれに対してユーザIDに応じたアクセス権が設定されたユーザアクセス権記憶手段を参照し、前記アクセス要求に含まれる前記ユーザIDで示される前記ユーザがアクセス対象の前記ファイルに対するアクセス権を有しているか否かを判定し、
前記ファイルアクセス装置がアクセス権を有し、かつ前記ユーザがアクセス権を有している場合、前記アクセス要求に応じたファイルアクセスを実行する、
ことを特徴とするファイル管理方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2011−134037(P2011−134037A)
【公開日】平成23年7月7日(2011.7.7)
【国際特許分類】
【出願番号】特願2009−291829(P2009−291829)
【出願日】平成21年12月24日(2009.12.24)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成23年7月7日(2011.7.7)
【国際特許分類】
【出願日】平成21年12月24日(2009.12.24)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]