(57)【特許請求の範囲】
【請求項１】
ホストが読み書きするデータを記憶するデバイスと、
前記デバイスへのアクセスを許可されたホストごとに、各ホストが前記デバイスへ読み書きを実行する前までの間に前記デバイスに発行したコマンドの種別であって、前記デバイスにアクセスするために必要な情報を取得するコマンドの種別を記憶するコマンド記憶部と、
前記デバイスに記憶されるデータへのアクセスを要求する前記ホストのログインを許可すると判定した場合に、前記ホストが前記デバイスに読み書きを実行する前までの間に前記デバイスに発行したコマンドの種別を取得するコマンド取得部と、
前記コマンド取得部により取得されたコマンドの種別と、前記コマンド記憶部に記憶されているコマンドの種別とに基づいて、前記アクセスを許可するアクセス判定部と
を有することを特徴とするストレージ装置。
【請求項２】
ログインを許可されたホストが、前記デバイスへ読み書きを実行する前までの間に前記デバイスに発行したコマンドの種別が、前記コマンド記憶部に記憶されていない場合に、前記コマンド取得部によって取得された前記コマンドの種別を前記コマンド記憶部に格納するコマンド格納部をさらに有することを特徴とする請求項１に記載のストレージ装置。
【請求項３】
前記コマンド記憶部は、ログインを許可されたホストごとに、前記デバイスが有するボリュームのうち前記コマンドの発行対象であるボリュームに発行されたコマンドの種別と発行されたコマンドの回数とを記憶し、
前記コマンド取得部は、前記ログインを許可されたホストが前記アクセスを要求する場合に、前記コマンド発行対象のボリュームに発行されたコマンドの種別と発行されたコマンドの回数とを取得することを特徴とする請求項１または２に記載のストレージ装置。
【請求項４】
前記アクセス判定部は、前記コマンド取得部により取得されたコマンドの種別と前記コマンド記憶部に記憶されているコマンドの種別とが完全に一致する場合に、前記アクセスを許可することを特徴とする請求項１〜３のいずれか一つに記載のストレージ装置。
【請求項５】
前記コマンド記憶部は、前記デバイスへ発行されるコマンドの種別と発行される順番とを対応付けて記憶し、
前記コマンド取得部は、前記ホストが前記アクセスを要求する場合に、前記デバイスに発行されるコマンドの種別と、前記コマンドが発行される順番とを対応付けて取得し、
前記アクセス判定部は、前記コマンド取得部により取得されたコマンドの種別と順番とが対応付けられて前記コマンド記憶部に記憶されている場合に、前記アクセスを許可することを特徴とする請求項１〜３のいずれか一つに記載のストレージ装置。
【請求項６】
コンピュータに実行させるためのアクセス制御プログラムであって、
前記コンピュータは、ホストが読み書きするデータを記憶するデバイスへのアクセスを許可されたホストごとに、各ホストが前記デバイスへ読み書きを実行する前までの間に前記デバイスに発行したコマンドの種別であって、前記デバイスにアクセスするために必要な情報を取得するコマンドの種別を記憶するコマンド記憶部を備え、
前記コンピュータに、
前記デバイスへのアクセスを要求するホストのログインを許可すると判定した場合に、前記ホストが前記デバイスに読み書きを実行する前までの間に前記デバイスに発行したコマンドを取得するコマンド取得手順と、
前記コマンド取得手順によって取得されたコマンドの種別と、前記コマンド記憶部に記憶されているコマンドの種別とに基づいて、前記アクセスを許可するアクセス判定手順と
を実行させることを特徴とするアクセス制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置及びアクセス制御プログラムに関する。
【背景技術】
【０００２】
従来、複数のホストサーバによって共有されるストレージ装置は、ホストサーバ毎に特定の領域を割り当ててデータを保存する。つまり、ストレージ装置は、あるホストサーバが読み書きの対象とするデータ以外にも他のホストサーバからのデータを保存する。このような状況において、ストレージ装置は、悪意ある利用者によってデータを破壊されたり流出させられることを防止するために、特定の利用者に対してのみアクセス権限を与え、不特定の利用者からのアクセスを制限するアクセス制限を行っている。
【０００３】
例えば、ストレージ装置は、ホストサーバ毎に一意に決まるｉＳＣＳＩ  ＮａｍｅやＷｏｒｌｄ  Ｗｉｄｅ  Ｎａｍｅ（以下、「ホスト名」と呼ぶ）を用いてアクセスしたホストサーバを識別する。そして、ストレージ装置は、ホスト名が登録されているホストサーバのみからのアクセスを受付け、ホスト名が登録されていないホストサーバからのアクセスを拒絶する。このようにして、ストレージ装置は、不特定のホストサーバからのアクセスを制限する。
【０００４】
具体例を用いて、ストレージ装置によるホストサーバの識別を説明する。図１３は、従来技術に係るストレージ装置によるホスト識別を説明する図である。図１３に示すストレージ装置は、アクセス許可ホストとしてホストＡのホスト名「ｘｘｘ１」を登録している。また、ストレージ装置は、ＩＰ(Internet  Protocol)やＳＡＮ(Storage  Area  Network)などのネットワーク網を介してホストＡ及びホストＢと接続されている。
【０００５】
そして、ストレージ装置は、ホストＡからアクセス要求を受付けた場合、ホストＡのホスト名「ｘｘｘ１」取得する。ストレージ装置は、取得したホスト名「ｘｘｘ１」が登録済みであると判定し、ホストＡからのアクセスを許可する。
【０００６】
一方、ストレージ装置は、ホストＢからアクセス要求を受付けた場合、ホストＢのホスト名「ｘｘｘ２」を取得する。ストレージ装置は、取得したホスト名「ｘｘｘ２」が登録済みではないと判定し、ホストＢからのアクセスを不許可にする。なお、ホスト名だけでなく、ＭＡＣアドレスやＩＰアドレスを用いてホストサーバを識別する方法も利用されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００５−１３４９６１号公報
【特許文献２】特開２００５−８５２７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した従来の技術では、第三者のなりすましを防止することができないという課題があった。具体的には、ストレージ装置は、第三者が何らかの方法によって正当なホスト名を入手してアクセスしてきた場合に、正当なホストサーバと第三者とを識別することができない。
【０００９】
図１３に示す例において、ストレージ装置は、未登録のホストＢからのアクセス要求を受付けた場合、ホストＢを識別するホスト名「ｘｘｘ２」が登録済みではないことからアクセスを不許可にする。しかし、ホストＢがホストＡのホスト名を何らかの方法によって入手した場合には、ストレージ装置は、ホストＢを登録済みのホストＡと判定してしまう。したがって、ストレージ装置は、不正なホストＢからのアクセスを許可してしまう。すなわち、ストレージ装置は、ホスト名でホストを識別した場合、登録済みのホスト名を何らかの方法によって入手した第三者のなりすましを防止することはできない。
【００１０】
開示の技術は、上記に鑑みてなされたものであって、第三者のなりすましを防止することができるストレージ装置及びアクセス制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本願の開示するストレージ装置及びアクセス制御プログラムは、ホストが読み書きするデータを記憶する。また、ストレージ装置及びアクセス制御プログラムは、デバイスに関する情報を取得するコマンドを記憶する。また、ストレージ装置及びアクセス制御プログラムは、デバイスに記憶されるデータへのアクセスを要求するホストが、アクセスを要求する場合に発行したコマンドを取得する。そして、ストレージ装置及びアクセス制御プログラムは、コマンドが記憶されている場合に、アクセスを許可する。
【発明の効果】
【００１２】
本願の開示するストレージ装置及びアクセス制御プログラムの一つの態様によれば、第三者のなりすましを防止することができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施例１に係るストレージ装置の構成を示すブロック図である。
【図２】図２は、実施例２に係るストレージ装置の構成を示すブロック図である。
【図３】図３は、ホスト名記憶テーブルとして格納される情報の一例を示す図である。
【図４】図４は、コマンド記憶テーブルとして格納される情報の一例を示す図である。
【図５】図５は、コマンド記憶テーブルとして格納される情報の別例を示す図である。
【図６】図６は、コマンド取得部が取得するコマンドが格納されたＣＤＢフォーマットの一例を示す図である。
【図７】図７は、ホストによって発行されたコマンドの一例を示す図である。
【図８】図８は、コマンド取得部が集計したホストの発行コマンドの一例を示す図である。
【図９】図９は、コマンド取得部が集計したホストの発行コマンドの別例を示す図である。
【図１０】図１０は、実施例２に係るストレージ装置による処理の処理手順を示すフローチャートである。
【図１１】図１１は、実施例２に係るストレージ装置によるアクセス判定処理の処理手順を示すフローチャートである。
【図１２】図１２は、アクセス制御プログラムを実行するコンピュータシステムの一例を示す図である。
【図１３】図１３は、従来技術に係るストレージ装置によるホスト識別を説明する図である。
【発明を実施するための形態】
【００１４】
以下に、本願の開示するストレージ装置及びアクセス制御プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１５】
図１は、実施例１に係るストレージ装置１０の構成を示すブロック図である。図１に示すように、ストレージ装置１０は、デバイス１１と、記憶部１２と、制御部１３とを有する。また、ストレージ装置１０は、ホスト２０と接続されている。
【００１６】
デバイス１１は、ホストが読み書きするデータを記憶する。記憶部１２は、コマンド記憶部１２ａを有する。コマンド記憶部１２ａは、デバイス１１に関する情報を取得するコマンドを記憶する。制御部１３は、コマンド取得部１３ａとアクセス判定部１３ｂとを有する。コマンド取得部１３ａは、デバイス１１に記憶されるデータへのアクセスを要求するホストが、アクセスを要求する場合にデバイス１１に発行したコマンドを取得する。アクセス判定部１３ｂは、コマンド取得部１３ａにより取得されたコマンドがコマンド記憶部１２ａに記憶されている場合に、アクセスを許可する。
【００１７】
上述してきたように、本実施例１では、アクセス判定部１３ｂは、ホストが発行したコマンドとコマンド記憶部１２ａが記憶するコマンドとが一致する場合にアクセスを許可する。したがって、ストレージ装置１０は、ホストのなりすましを防止することができる。
【実施例２】
【００１８】
[実施例２に係るストレージ装置の構成]
次に、図２を用いて、実施例２に係るストレージ装置１００の構成を説明する。図２は、実施例２に係るストレージ装置１００の構成を示すブロック図である。実施例２に係るストレージ装置１００は、デバイス部１１０とコントロール部１２０とを有する。また、実施例２に係るストレージ装置１００は、ｉＳＣＳＩ（Internet  Small  Computer  System  Interface）を用いてＩＰ(Internet  Protocol)網に接続され、ＩＰ網を介してホスト３００及びホスト４００と接続される。ただし、ストレージ装置１００が使用するネットワーク網２００は、ＩＰ網に限定されない。例えば、ストレージ装置１００は、ファイバーチャネルを用いた場合、ネットワーク網２００としてＳＡＮ(Storage  Area  Network)を介してホスト３００及びホスト４００と接続することもできる。また、ホスト３００は、ｉＳＣＳＩ  Ｎａｍｅ「ｘｘｘ１」を有し、ホストＩＤ「１」が割り当てられる。また、ホスト４００は、ｉＳＣＳＩ  Ｎａｍｅ「ｘｘｘ２」を有し、ホストＩＤ「２」が割り当てられる。
【００１９】
デバイス部１１０は、デバイス１１１〜１１４とデバイス制御部１１５とを有する。なお、デバイス１１２〜１１４は、デバイス１１１と同様の構成であるためここでは詳細な説明を省略する。デバイス１１１は、ホスト３００及びホスト４００からの要求に応じて読み書きされるデータを記憶する記憶部であり、例えば、ＨＤＤ（Hard  Disk  Drive）やＳＳＤ（Solid  State  Drive）などである。
【００２０】
デバイス制御部１１５は、デバイス１１１〜１１４への読み書きを実行する。例えば、デバイス制御部１１５は、デバイスインターフェース１２２を介して、制御部１２４からどのデバイスのどのメモリアドレスに対して読み書きを実行するのかを示した通知を受信する。そして、デバイス制御部１１５は、受信した通知に基づいて、読み書きを実行する。一例としては、デバイス制御部１１５は、ホスト３００からデバイス１１１のＶｏｌｕｍｅＡに記憶されたデータの読み出し要求を受付けた場合、デバイス１１１のＶｏｌｕｍｅＡに記憶されたデータを読み出し、読み出したデータをコントロール部１２０へ送信する。
【００２１】
コントロール部１２０は、ホストインターフェース１２１とデバイスインターフェース１２２と記憶部１２３と制御部１２４とを有し、ホスト３００及びホスト４００からの要求に応じて、デバイス部１１０へのデータの読み書きを制御する。
【００２２】
ホストインターフェース１２１は、ホスト３００及びホスト４００から、デバイス部１１０へのデータの読み書きを実行する旨の要求を受付け、受付けた要求を制御部１２４へ転送する。例えば、ホストインターフェース１２１は、ホストから書き込み要求を受付けた場合、ホストから受信したデータをデバイス制御部１１５まで制御部１２４を介して転送する。また、ホストインターフェース１２１は、ホストから読み出し要求を受付けた場合、制御部１２４を介して、デバイス制御部１１５が読み出したデータを受け取り、ホスト３００及び４００へ転送する。
【００２３】
デバイスインターフェース１２２は、制御部１２４からどのデバイスのどのメモリアドレスに対して読み書きを実行するのかを示した通知を受信し、受信した通知をデバイス制御部１１５へ転送する。例えば、デバイスインターフェース１２２は、ホストから書き込み要求を受付けた場合、制御部１２４を介して、ホストから受信したデータをデバイス制御部１１５へ転送する。また、デバイスインターフェース１２２は、ホストから読み出し要求を受付けた場合、デバイス制御部１１５が読み出したデータを受け取り、制御部１２４へ転送する。
【００２４】
記憶部１２３は、例えば、半導体メモリ素子、又はハードディスクなどの記憶装置であり、ホスト名記憶テーブル１２３ａとコマンド記憶テーブル１２３ｂとを有する。また、記憶部１２３は、ホスト３００及びホスト４００がデバイス１１１〜１１４のうちどのデバイスのどのＶｏｌｕｍｅにアクセスを許可されているのかについての情報を記憶する。この情報を参照することで、制御部１２４は、ホスト３００及びホスト４００から要求を受付けた場合に、デバイスインターフェース１２２に対して、どのデバイスのどのメモリアドレスに対して読み書きを実行するのかを通知することができる。したがって、ホスト３００及びホスト４００は、デバイス１１１〜１１４にデータの読み出しや書き込みを実行することができる。
【００２５】
ホスト名記憶テーブル１２３ａは、ストレージ装置１００へのアクセスを許可されたホスト名を記憶する。図３は、ホスト名記憶テーブル１２３ａとして格納される情報の一例を示す図である。例えば、ホスト名記憶テーブル１２３ａは、図３に示すように、ホスト名を一意に識別する識別子である「ホスト名ＩＤ」と「ホスト名」とを対応付けて記憶する。具体的には、図３に示したホスト名記憶テーブル１２３ａは、「ホスト名ＩＤ」が「１」のホストの「ホスト名」は、「ｘｘｘ１」であることを示す。また、ホスト名記憶テーブル１２３ａは、「ホスト名ＩＤ」が「２」のホストの「ホスト名」は、「ｘｘｘ２」であることを示す。ここで、ホスト名記憶テーブル１２３ａは、利用者によって予め登録される。
【００２６】
コマンド記憶テーブル１２３ｂは、デバイス１１１〜１１４へのアクセスを許可されたホスト３００及び４００が発行したコマンドを記憶する。例えば、コマンド記憶テーブル１２３ｂは、ホスト３００及び４００がデバイス１１１〜１１４へ読み書きを実行する前に発行した、ストレージ装置の構成、種別や記憶容量などの情報を取得するＳＣＳＩコマンド一覧を記憶する。
【００２７】
図４は、コマンド記憶テーブルとして格納される情報の一例を示す図である。例えば、コマンド記憶テーブル１２３ｂは、図４に示すように、「ホストＩＤ」と「発行ｖｏｌｕｍｅ」と「ＳＣＳＩコマンド」と「発行回数」の項目を有する。ここで、「ホストＩＤ」は、ホスト名を一意に識別する識別子であり、「発行ｖｏｌｕｍｅ」は、デバイスが有する論理空間を特定する情報である。また、「ＳＣＳＩコマンド」は、アクセスを許可されたホストが発行したコマンドの種別であり、「発行回数」は、アクセスを許可されたホストがストレージ装置の構成、種別や記憶容量などの情報を取得するにあたってコマンドを発行した回数である。すなわち、ログインを許可されたホストが、デバイスにアクセスするために必要な情報を取得するコマンドであって、ログイン後からデバイスへ読み書きを実行する前までの間に発行したコマンドの回数である。
【００２８】
「Ｉｎｑｕｉｒｙ  Ｓｔａｎｄａｒｄ」は、ストレージ装置１００の構成を示す基本情報を取得するコマンドである。「Ｉｎｑｕｉｒｙ  Ｐａｇｅ」は、ストレージ装置１００の構成を示す詳細な情報を取得するコマンドである。「Ｒｅｐｏｒｔ  Ｌｕｎｓ」は、ストレージ装置１００に存在するＶｏｌｕｍｅの情報を取得するコマンドである。「Ｔｅｓｔ  Ｕｎｉｔ  Ｒｅａｄｙ」は、ホストが指定したＶｏｌｕｍｅの状態がＲｅａｄｙであるか否かを示す情報を取得するコマンドである。「Ｓｔａｒｔ  Ｓｔｏｐ  Ｕｎｉｔ」は、ホストが指定したＶｏｌｕｍｅをアクセス可能にしたり、アクセスできない状態に変更するコマンドである。「Ｒｅａｄ  Ｃａｐａｃｉｔｙ（１０）」は、１０Ｂｙｔｅのフォーマットで指定したＶｏｌｕｍｅの容量を示す情報を取得するコマンドである。「Ｒｅａｄ  Ｃａｐａｃｉｔｙ（１６）」は、１６Ｂｙｔｅのフォーマットで指定したＶｏｌｕｍｅの容量を示す情報を取得するコマンドである。「Ｌｏｇ  Ｓｅｎｓｅ」は、ストレージ装置１００が保持する統計情報の値やパラメーターの属性を取得するコマンドである。「Ｍｏｄｅ  Ｓｅｎｓｅ（６）Ｐａｇｅ」は、６Ｂｙｔｅのフォーマットでホストが指定したＶｏｌｕｍｅやストレージ装置１００の情報を取得するコマンドである。情報はページで分かれており、ホストは、ページを指定することによって必要な情報を取得する。「Ｍｏｄｅ  Ｓｅｎｓｅ（１０）Ｐａｇｅ」は、１０Ｂｙｔｅのフォーマットでホストが指定したＶｏｌｕｍｅやストレージ装置１００の情報を取得するコマンドである。情報はページで分かれており、ホストは、ページを指定することによって必要な情報を取得する。「Ｏｔｈｅｒ  Ｃｏｍｍａｎｄ」は、上述したコマンド以外に発行されたコマンドを総称する。
【００２９】
具体的には、図４に示すコマンド記憶テーブル１２３ｂには、「ホストＩＤ」が「１」で識別されるホストから「発行ｖｏｌｕｍｅ」が「０」で識別されるデバイスに「Ｉｎｑｕｉｒｙ  Ｓｔａｎｄａｒｄ」が３回発行されたことを示す情報が格納されている。また、係るコマンド記憶テーブル１２３ｂには、「Ｉｎｑｕｉｒｙ  Ｐａｇｅ」が３回、「Ｒｅｐｏｒｔ  Ｌｕｎｓ」が０回、「Ｔｅｓｔ  Ｕｎｉｔ  Ｒｅａｄｙ」が１回、「Ｓｔａｒｔ  Ｓｔｏｐ  Ｕｎｉｔ」が１回発行されたことを示す情報が格納されている。また、係るコマンド記憶テーブル１２３ｂには、「Ｒｅａｄ  Ｃａｐａｃｉｔｙ（１０）」が１回、「Ｒｅａｄ  Ｃａｐａｃｉｔｙ（１６）」が０回、「Ｌｏｇ  Ｓｅｎｓｅ」が１回発行されたことを示す情報が格納されている。また、係るコマンド記憶テーブル１２３ｂには、「Ｍｏｄｅ  Ｓｅｎｓｅ（６）Ｐａｇｅ」が２回、「Ｍｏｄｅ  Ｓｅｎｓｅ（１０）Ｐａｇｅ」が０回、「Ｏｔｈｅｒ  Ｃｏｍｍａｎｄ」が１回発行されたことを示す情報が格納されている。
【００３０】
また、具体例を用いてコマンド記憶テーブル１２３ｂとして格納される情報の別例を示す。図５は、コマンド記憶テーブルとして格納される情報の別例を示す図である。図５に示すコマンド記憶テーブル１２３ｂには、「ホストＩＤ」が「２」で識別されるホストから「発行ｖｏｌｕｍｅ」が「１」で識別されるデバイスに「Ｉｎｑｕｉｒｙ  Ｓｔａｎｄａｒｄ」が１回発行されたことを示す情報が格納されている。また、係るコマンド記憶テーブル１２３ｂには、「Ｉｎｑｕｉｒｙ  Ｐａｇｅ」が３回、「Ｒｅｐｏｒｔ  Ｌｕｎｓ」が５回、「Ｔｅｓｔ  Ｕｎｉｔ  Ｒｅａｄｙ」が０回、「Ｓｔａｒｔ  Ｓｔｏｐ  Ｕｎｉｔ」が０回発行されたことを示す情報が格納されている。また、係るコマンド記憶テーブル１２３ｂには、「Ｒｅａｄ  Ｃａｐａｃｉｔｙ（１０）」が１回、「Ｒｅａｄ  Ｃａｐａｃｉｔｙ（１６）」が０回、「Ｌｏｇ  Ｓｅｎｓｅ」が０回発行されたことを示す情報が格納されている。また、係るコマンド記憶テーブル１２３ｂには、「Ｍｏｄｅ  Ｓｅｎｓｅ（６）Ｐａｇｅ」が０回、「Ｍｏｄｅ  Ｓｅｎｓｅ（１０）Ｐａｇｅ」が０回、「Ｏｔｈｅｒ  Ｃｏｍｍａｎｄ」が０回発行されたことを示す情報が格納されている。
【００３１】
図２に戻り、制御部１２４は、制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有する。この制御部１２４は、ログイン判定部１２４ａとコマンド取得部１２４ｂとアクセス判定部１２４ｃとを有する。また、制御部１２４は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路、又は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路である。
【００３２】
ログイン判定部１２４ａは、ホストからアクセス要求を受付けた場合に、当該ホストのログインを許可するか否かを判定する。例えば、ログイン判定部１２４ａは、ホストインターフェース１２１が受付けたホストからのアクセス要求を受信し、受信した要求からホスト名を特定する。続いて、ログイン判定部１２４ａは、特定したホスト名がホスト名記憶テーブル１２３ａに格納されているか否かを判定する。ここで、ログイン判定部１２４ａは、特定したホスト名がホスト名記憶テーブル１２３ａに格納されていた場合には、特定したホスト名が登録済みのホストであると判定し、当該ホストのログインを許可する。一方、ログイン判定部１２４ａは、特定したホスト名がホスト名記憶テーブル１２３ａに格納されていない場合には、特定したホスト名が登録済みのホストではないと判定し、当該ホストのログインを許可しない。
【００３３】
図３に示したホスト名記憶テーブルを用いて具体例を示す。例えば、ログイン判定部１２４ａは、ホスト名が「ｘｘｘ１」であるホストからアクセス要求を受付けた場合、ホスト名記憶テーブル１２３ａの「ホストＩＤ」が「１」の項目にホスト名「ｘｘｘ１」が格納されていると判定する。したがって、ログイン判定部１２４ａは、ホスト名が「ｘｘｘ１」であるホストからのログインを許可する。
【００３４】
また、ログイン判定部１２４ａは、ログインを許可するか否かの判定終了後に、コマンド取得部１２４ｂへログインを許可したことを通知する。また、ログイン判定部１２４ａは、ログインを許可されたホストにコマンドを送信させるようにホストインターフェース１２１へ通知する。この結果、ホストは、ストレージ装置の構成、種別や記憶容量などの情報を取得するコマンドを発行することができる。
【００３５】
コマンド取得部１２４ｂは、ログイン判定部１２４ａからログインを許可した通知を受付けると、ホストがデバイスへ読み書きを実行する前に、ストレージ装置１００及びデバイス１１１〜１１４の情報を取得するのに発行するコマンドを取得する。ここで、コマンド取得部１２４ｂは、ホスト３００及びホスト４００が送信したＣＤＢ（Command  Descriptor  Block）フォーマットからコマンドを取得する。
【００３６】
図６を用いて、ホスト３００及びホスト４００が、ログインを許可された後からデバイスへ読み書きを実行する前までの間に送信したＣＤＢフォーマットに格納されるコマンドを説明する。ここでホスト３００及び４００は、コマンドを送信することでストレージ装置１００及びデバイス１１１〜１１４の構成、種別や記憶容量などの情報を取得する。図６は、コマンド取得部が取得するコマンドが格納されたＣＤＢフォーマットの一例を示す図である。図６に示すように、ＣＤＢフォーマットは、「Ｂｉｔ」と「Ｂｙｔｅ」の項目を有し、「Ｂｉｔ」は、「０」〜「７」の８Ｂｉｔを有する。「Ｂｙｔｅ」は、「０」〜「Ｎ」のＢｙｔｅを有しており、「Ｎ」が５以上３１以下で表されるので６〜３２Ｂｙｔｅを有する。「０」Ｂｙｔｅの項目にはＳＣＳＩコマンドを特定する「オペレーション・コード」が格納される。なお、「オペレーション・コード」によって特定されるＳＣＳＩコマンドについては、上述したので、ここでは詳細な説明を省略する。また、「１」以降のＢｙｔｅの項目には、パラメーター情報が格納される。
【００３７】
図２に戻り、コマンド取得部１２４ｂは、ホストが発行した順番でＳＣＳＩコマンドを取得し、取得したコマンドを集計する。例えば、コマンド取得部１２４ｂは、ホスト３００及びホスト４００が発行したコマンドを取得して、どのホストが、どのＶｏｌｕｍｅへ、どのＳＣＳＩコマンドを何回発行したのかについての情報を集計する。
【００３８】
図７及び図８を用いてコマンド取得部１２４ｂが集計するコマンドの具体例を示す。図７は、ホスト３００によって発行されたコマンドの一例を示す図である。図８は、コマンド取得部１２４ｂが集計したホスト３００の発行コマンドの一例を示す図である。
【００３９】
まず、図７に示すように、コマンド取得部１２４ｂは、ログインを許可されたホスト３００がデバイス１１１〜１１４へ読み書きを実行する前までの間に発行したコマンドの種別と発行回数とを対応付けて集計する。コマンド取得部１２４ｂが集計する結果は、後述するアクセス判定部１２４ｃによってホストがアクセスを許可されたホストであるかの判定に使用される。図７は、ホストＩＤが「１」で識別されるホスト３００が、１番目に、Ｖｏｌｕｍｅ「０」のデバイスへ「Ｉｎｑｕｉｒｙ  Ｓｔａｎｄａｒｄ」を発行したことを示す。また、図７は、ホスト３００が、２番目に、コマンド「Ｉｎｑｕｉｒｙ  Ｓｔａｎｄａｒｄ」、３番目に「Ｔｅｓｔ  Ｕｎｉｔ  Ｒｅａｄｙ」、４番目に「Ｓｔａｒｔ  Ｓｔｏｐ  Ｕｎｉｔ」をＶｏｌｕｍｅ「０」のデバイスへ発行したことを示す。また、ホスト３００が、５番目に「Ｉｎｑｕｉｒｙ  Ｓｔａｎｄａｒｄ」、６番目に「Ｒｅａｄｙ  Ｃａｐａｃｉｔｙ（１０）」、７番目に「Ｌｏｇ  Ｓｅｎｓｅ」、８番目に「Ｍｏｄｅ  Ｓｅｎｓｅ（６）Ｐａｇｅ０３」をＶｏｌｕｍｅ「０」のデバイスへ発行したことを示す。また、ホスト３００が、９番目に「Ｍｏｄｅ  Ｓｅｎｓｅ（６）Ｐａｇｅ０４」、１０番目に「Ｉｎｑｕｉｒｙ  Ｐａｇｅ００」、１１番目に「Ｉｎｑｕｉｒｙ  Ｐａｇｅ８０」をＶｏｌｕｍｅ「０」のデバイスへ発行したことを示す。また、ホスト３００が、１２番目に「Ｉｎｑｕｉｒｙ  Ｐａｇｅ８３」、１３番目に「Ｐｅｒｓｉｓｔｅｎｔ  Ｒｅｓｅｒｖｅ  Ｉｎ」をＶｏｌｕｍｅ「０」のデバイスへ発行したことを示す。なお、「Ｐｅｒｓｉｓｔｅｎｔ  Ｒｅｓｅｒｖｅ  Ｉｎ」は、複数のホストがデバイスにアクセスする際の競合を解決するコマンドである。
【００４０】
続いて、ホスト３００が図７に示すコマンドを発行した場合を例に、コマンド取得部１２４ｂによるコマンドの集計を説明する。コマンド取得部１２４ｂは、１番目と２番目と５番目に「Ｉｎｑｕｉｒｙ  Ｓｔａｎｄａｒｄ」が発行されたことを取得したので、「Ｉｎｑｕｉｒｙ  Ｓｔａｎｄａｒｄ」が３回発行されたと集計する。また、コマンド取得部１２４ｂは、１０番目と１１番目と１２番目に「Ｉｎｑｕｉｒｙ  Ｐａｇｅ」が発行されたことを取得したので、「Ｉｎｑｕｉｒｙ  Ｐａｇｅ」が３回発行されたと集計する。また、コマンド取得部１２４ｂは、「Ｒｅｐｏｒｔ  Ｌｕｎｓ」が発行されたことを取得していないので、「Ｒｅｐｏｒｔ  Ｌｕｎｓ」が０回発行されたと集計する。
【００４１】
また、コマンド取得部１２４ｂは、３番目に「Ｔｅｓｔ  Ｕｎｉｔ  Ｒｅａｄｙ」が発行されたことを取得したので、「Ｔｅｓｔ  Ｕｎｉｔ  Ｒｅａｄｙ」が１回発行されたと集計する。また、コマンド取得部１２４ｂは、４番目に「Ｓｔａｒｔ  Ｓｔｏｐ  Ｕｎｉｔ」が発行されたことを取得したので、「Ｓｔａｒｔ  Ｓｔｏｐ  Ｕｎｉｔ」が１回発行されたと集計する。また、コマンド取得部１２４ｂは、６番目に「Ｒｅａｄ  Ｃａｐａｃｉｔｙ（１０）」が発行されたことを取得したので、「Ｒｅａｄ  Ｃａｐａｃｉｔｙ（１０）」が１回発行されたと集計する。また、コマンド取得部１２４ｂは、「Ｒｅａｄ  Ｃａｐａｃｉｔｙ（１６）」が発行されたことを取得していないので、「Ｒｅａｄ  Ｃａｐａｃｉｔｙ（１６）」が０回発行されたと集計する。また、コマンド取得部１２４ｂは、７番目に「Ｌｏｇ  Ｓｅｎｓｅ」が発行されたことを取得したので、「Ｌｏｇ  Ｓｅｎｓｅ」が１回発行されたと集計する。
【００４２】
また、コマンド取得部１２４ｂは、８番目と９番目に「Ｍｏｄｅ  Ｓｅｎｓｅ（６）Ｐａｇｅ」が発行されたことを取得したので、「Ｍｏｄｅ  Ｓｅｎｓｅ（６）Ｐａｇｅ」が２回発行されたと集計する。また、コマンド取得部１２４ｂは、「Ｍｏｄｅ  Ｓｅｎｓｅ（１０）Ｐａｇｅ」が発行されたことを取得していないので、「Ｍｏｄｅ  Ｓｅｎｓｅ（１０）Ｐａｇｅ」が０回発行されたと集計する。また、コマンド取得部１２４ｂは、１３番目に「Ｐｅｒｓｉｓｔｅｎｔ  Ｒｅｓｅｒｖｅ  Ｉｎ」が発行されたことを取得したので、「Ｐｅｒｓｉｓｔｅｎｔ  Ｒｅｓｅｒｖｅ  Ｉｎ」が１回発行されたと集計する。ただし、コマンド取得部１２４ｂは、「Ｐｅｒｓｉｓｔｅｎｔ  Ｒｅｓｅｒｖｅ  Ｉｎ」を「Ｏｔｈｅｒ  Ｃｏｍｍａｎｄ」として扱うので、「Ｏｔｈｅｒ  Ｃｏｍｍａｎｄ」が１回発行されたと集計する。
【００４３】
以上の処理を実行することで、コマンド取得部１２４ｂは、図８に示すような集計結果を得る。図８は、「ホストＩＤ」が「１」であるホスト３００がＶｏｌｕｍｅ「０」へ発行したＳＣＳＩコマンドの種別と発行回数をコマンド取得部１２４ｂが集計した結果を示す。
【００４４】
また、コマンド取得部１２４ｂが、同様にして、ログインを許可されたホスト４００がデバイス１１１〜１１４へ読み書きを実行する前までの間に発行したコマンドの種別と発行回数とを対応付けて集計した結果を図９に示す。なお、図９は、コマンド取得部１２４ｂが集計したホスト４００の発行コマンドの別例を示す図である。
【００４５】
図９の例では、「ホストＩＤ」が「２」で識別されるホスト４００が「発行Ｖｏｌｕｍｅ」が「１」で識別されるデバイスへアクセスを要求する場合に発行したコマンド毎の発行回数を示す。コマンド取得部１２４ｂは、「Ｉｎｑｕｉｒｙ  Ｓｔａｎｄａｒｄ」が２回、「Ｉｎｑｕｉｒｙ  Ｐａｇｅ」が０回、「Ｒｅｐｏｒｔ  Ｌｕｎｓ」が１回、「Ｔｅｓｔ  Ｕｎｉｔ  Ｒｅａｄｙ」が１回発行されたと集計する。また、コマンド取得部１２４ｂは、「Ｓｔａｒｔ  Ｓｔｏｐ  Ｕｎｉｔ」が０回、「Ｒｅａｄ  Ｃａｐａｃｉｔｙ（１０）」が１回、「Ｒｅａｄ  Ｃａｐａｃｉｔｙ（１６）」が０回、「Ｌｏｇ  Ｓｅｎｓｅ」が０回発行されたと集計する。また、コマンド取得部１２４ｂは、「Ｍｏｄｅ  Ｓｅｎｓｅ（６）Ｐａｇｅ」が２回、「Ｍｏｄｅ  Ｓｅｎｓｅ（１０）Ｐａｇｅ」が０回、「Ｏｔｈｅｒ  Ｃｏｍｍａｎｄ」が０回発行されたと集計する。なお、コマンド取得部１２４ｂは、「Ｐｅｒｓｉｓｔｅｎｔ  Ｒｅｓｅｒｖｅ  Ｉｎ」を「Ｏｔｈｅｒ  Ｃｏｍｍａｎｄ」として集計する。
【００４６】
また、コマンド取得部１２４ｂは、集計が終了した場合、集計した結果を制御部１２４が有する内部メモリ等に格納する。続いて、コマンド取得部１２４ｂは、集計したコマンドがコマンド記憶テーブル１２３ｂとして登録済みであるか否かを判定する。例えば、コマンド取得部１２４ｂは、集計したコマンドの「ホストＩＤ」及び「発行Ｖｏｌｕｍｅ」と同一の「ホストＩＤ」及び「発行Ｖｏｌｕｍｅ」とを有するコマンド記憶テーブル１２３ｂが存在するか否かを判定する。
【００４７】
コマンド取得部１２４ｂは、集計したコマンドがコマンド記憶テーブル１２３ｂとして登録済みではないと判定した場合、集計したコマンドをコマンド記憶テーブル１２３ｂとして格納する。例えば、同一の「ホストＩＤ」及び「発行Ｖｏｌｕｍｅ」を有するコマンド記憶テーブル１２３ｂが存在しない場合、コマンド取得部１２４ｂは、コマンド記憶テーブル１２３ｂが登録済みではないと判定する。係る場合は、例えば、ホストが最初にストレージ装置へアクセスを要求した場合である。また、コマンド取得部１２４ｂは、集計したコマンドの「ホストＩＤ」及び「発行Ｖｏｌｕｍｅ」と同一のコマンド記憶テーブル１２３ｂが登録済みではない旨をアクセス判定部１２４ｃへ通知する。
【００４８】
一方、コマンド取得部１２４ｂは、集計したコマンドがコマンド記憶テーブル１２３ｂとして登録済みである場合、アクセス判定部１２４ｃへ通知し、集計したコマンドの内容が登録済みの内容と同一であるか否かを判定させる。具体的には、コマンド取得部１２４ｂは、図８に示した集計結果の「ホストＩＤ」から「１」を特定し、図４に示したコマンド記憶テーブル１２３ｂに格納された「ホストＩＤ」が同一であると判定する。
【００４９】
図２に戻り、アクセス判定部１２４ｃは、コマンド取得部１２４ｂによって同一のホストＩＤを有するコマンドが存在すると判定された場合に、コマンド取得部１２４ｂから通知を受付ける。そして、アクセス判定部１２４ｃは、コマンド取得部１２４ｂが集計したコマンドの内容がコマンド記憶テーブル１２３ｂに格納された情報の内容と同一であるか否かを判定する。例えば、アクセス判定部１２４ｃは、「ＳＣＳＩコマンド」に格納された情報と「発行回数」に格納された情報とが一致するか否かを判定する。
【００５０】
アクセス判定部１２４ｃは、コマンド記憶テーブル１２３ｂに格納された情報と、コマンド取得部１２４ｂが集計した情報の内容の両者が完全に一致した場合に、アクセスを許可されたホストであると判定し、当該ホストからのアクセスを許可する。具体例として、コマンド取得部１２４ｂが図８に示す集計結果を得た場合を示す。アクセス判定部１２４ｃは、図４に示したコマンド記憶テーブル１２３ｂと図８に示す集計結果を比較し、コマンドが一致するか否かを判定する。
【００５１】
具体的には、アクセス判定部１２４ｃは、記憶部１２３から図４に示したコマンド記憶テーブル１２３ｂと制御部１２４が有する内部メモリ等から図８に示したコマンドの集計結果とを読み出す。続いて、アクセス判定部１２４ｃは、図４に示したコマンド記憶テーブル１２３ｂの「Ｉｎｑｕｉｒｙ  Ｓｔａｎｄａｒｄ」と、図８に示す集計結果の「Ｉｎｑｕｉｒｙ  Ｓｔａｎｄａｒｄ」が共に３回であることから、発行回数が同一であると判定する。同様に、アクセス判定部１２４ｃは、コマンド記憶テーブル１２３ｂと集計結果における「Ｉｎｑｕｉｒｙ  Ｐａｇｅ」、「Ｒｅｐｏｒｔ  Ｌｕｎｓ」、「Ｔｅｓｔ  Ｕｎｉｔ  Ｒｅａｄｙ」の発行回数が同一であると判定する。また、アクセス判定部１２４ｃは、コマンド記憶テーブル１２３ｂと集計結果における「Ｓｔａｒｔ  Ｓｔｏｐ  Ｕｎｉｔ」、「Ｒｅａｄ  Ｃａｐａｃｉｔｙ（１０）」、「Ｒｅａｄ  Ｃａｐａｃｉｔｙ（１６）」の発行回数が同一であると判定する。また、アクセス判定部１２４ｃは、コマンド記憶テーブル１２３ｂと集計結果における「Ｌｏｇ  Ｓｅｎｓｅ」、「Ｍｏｄｅ  Ｓｅｎｓｅ（６）Ｐａｇｅ」、「Ｍｏｄｅ  Ｓｅｎｓｅ（１０）Ｐａｇｅ」の発行回数が同一であると判定する。また、アクセス判定部１２４ｃは、コマンド記憶テーブル１２３ｂと集計結果における「Ｏｔｈｅｒ  Ｃｏｍｍａｎｄ」の発行回数が同一であると判定する。
【００５２】
したがって、アクセス判定部１２４ｃは、コマンド取得部１２４ｂが図８に示す集計結果を得た場合、アクセスを要求したホスト３００がアクセス要求を許可されたホスト３００であると判定する。そして、アクセス判定部１２４ｃは、アクセスを要求したホスト３００のアクセスを許可する。
【００５３】
一方、アクセス判定部１２４ｃは、コマンド記憶テーブル１２３ｂに格納された情報と、コマンド取得部１２４ｂが集計した情報の内容が完全には一致しないと判定した場合、ホストがなりすましであると判定し、当該ホストからのアクセスを拒絶する。すなわち、アクセス判定部１２４ｃは、ホストとの接続を切断する。具体例として、アクセス判定部１２４ｃが図９に示す集計結果を得た場合を示す。アクセス判定部１２４ｃは、図５に示したコマンド記憶テーブル１２３ｂと図９に示す集計結果を比較し、コマンドが一致するか否かを判定する。
【００５４】
具体的には、アクセス判定部１２４ｃは、図５に示したコマンド記憶テーブル１２３ｂの「Ｉｎｑｕｉｒｙ  Ｓｔａｎｄａｒｄ」が１回であり、図９に示す集計結果の「Ｉｎｑｕｉｒｙ  Ｓｔａｎｄａｒｄ」が２回であることから、発行回数が同一ではないと判定する。したがって、アクセス判定部１２４ｃは、コマンド取得部１２４ｂが図９に示す集計結果を得た場合、アクセスを要求したホスト４００がアクセス要求を許可されたホスト４００ではないと判定する。そして、アクセス判定部１２４ｃは、アクセスを要求したホスト４００は、なりすましのホストであると判定し、当該ホストからのアクセスを拒絶する。また、アクセス判定部１２４ｃは、当該ホストとの間で確立されたコネクションを切断する。
【００５５】
また、アクセス判定部１２４ｃは、コマンド取得部１２４ｂからコマンド記憶テーブル１２３ｂが登録済みではない旨の通知を受付けた場合、アクセスを要求したホストのアクセスを許可する。
【００５６】
[ストレージ装置による処理の処理手順]
次に、図１０を用いて、ストレージ装置１００による処理の処理手順を説明する。図１０は、実施例２に係るストレージ装置による処理の処理手順を示すフローチャートである。ログイン判定部１２４ａは、ホストからのログインを受信した場合（ステップＳ１０１、Ｙｅｓ）、ホスト名が登録されているか否かを判定する（ステップＳ１０２）。ログイン判定部１２４ａは、ホスト名が登録されていないと判定した場合（ステップＳ１０２、Ｎｏ）、ホストからのログインを拒絶し（ステップＳ１０６）、処理を終了する。
【００５７】
一方、ログイン判定部１２４ａは、ホスト名が登録されていると判定した場合（ステップＳ１０２、Ｙｅｓ）、ホストのログインを許可する（ステップＳ１０３）。続いて、コマンド取得部１２４ｂは、ホストがデバイスへ読み書きを実行する前に、ストレージ装置１００及びデバイス１１１〜１１４の情報を取得するのに発行したコマンドを取得する（ステップＳ１０４）。そして、ストレージ装置１００は、取得したコマンドの内容からアクセスを要求したホストのアクセスを許可するか否かを判定するアクセス判定処理を実行し（ステップＳ１０５）、処理を終了する。
【００５８】
なお、ストレージ装置１００は、ホストのアクセスを許可した場合、ホストとのコネクションが切断されるまので間、ここで説明したステップＳ１０１〜ステップＳ１０５の処理を省略することもできる。例えば、ストレージ装置１００は、エラーを検出した場合やコネクションを再確立する場合に、ステップＳ１０１〜ステップＳ１０５の処理を実行するようにしてもよい。
【００５９】
[ストレージ装置によるアクセス判定処理の処理手順]
次に、図１１を用いて、ストレージ装置１００によるアクセス判定処理の処理手順を説明する。図１１は、実施例２に係るストレージ装置１００によるアクセス判定処理の処理手順を示すフローチャートである。なお、この処理は、図１０のステップＳ１０５に対応する。
【００６０】
ステップＳ１０４の処理でホストが発行したコマンドを取得した場合、コマンド取得部１２４ｂは、集計したコマンドのホストＩＤと同一のホストＩＤを有するコマンド記憶テーブル１２３ｂが存在するか否かを判定する（ステップＳ２０１）。コマンド取得部１２４ｂは、コマンド記憶テーブル１２３ｂが存在しないと判定した場合（ステップＳ２０１、Ｎｏ）、集計したコマンドをコマンド記憶テーブル１２３ｂとして格納する（ステップＳ２０４）。続いて、アクセス判定部１２４ｃは、アクセスを要求したホストのアクセスを許可し（ステップＳ２０３）、処理を終了する。
【００６１】
コマンド取得部１２４ｂによって当該コマンド記憶テーブル１２３ｂが存在すると判定された場合（ステップＳ２０１、Ｙｅｓ）、アクセス判定部１２４ｃは、情報が一致するか否かを判定する（ステップＳ２０２）。すなわち、アクセス判定部１２４ｃは、コマンド記憶テーブル１２３ｂが記憶する情報と、コマンド取得部１２４ｂが取得したコマンドとが一致するか否かを判定する。
【００６２】
ここで、アクセス判定部１２４ｃは、情報が一致すると判定した場合（ステップＳ２０２、Ｙｅｓ）、アクセスを要求したホストのアクセスを許可し（ステップＳ２０３）、処理を終了する。一方、アクセス判定部１２４ｃは、情報が一致しないと判定した場合（ステップＳ２０２、Ｎｏ）、アクセスを要求したホストのアクセスを拒絶し（ステップＳ２０５）、処理を終了する。
【００６３】
[実施例２の効果]
本実施例に係るストレージ装置１００において、ログイン判定部１２４ａは、アクセスを要求したホストのホスト名が登録されているか否かを判定する。ログイン判定部１２４ａによってアクセスを要求したホストのホスト名が登録されていた場合には、コマンド取得部１２４ｂは、ホストが発行したコマンドを取得し、取得したコマンドを集計する。アクセス判定部１２４ｃは、コマンド取得部１２４ｂが集計したコマンドが、アクセスを許可されたホストが発行するコマンドと一致するか否かを判定し、一致する場合にアクセスを許可する。また、コマンド記憶テーブル１２３ｂとして格納されるコマンドは、ホスト３００及びホスト４００を構成するハードウェアやソフトウェアによって異なる。すなわち、同じホストであれば、発行するコマンドも同じである。
【００６４】
したがって、本実施例２では、何らかの方法によってホスト名を入手した第三者によるなりすましを防止することができる。この結果、ストレージ装置１００は、第三者によるデータの破壊及び第三者へのデータの漏洩を防止することができる。
【実施例３】
【００６５】
ところで、本願の開示するストレージ装置は、上述した実施例以外にも、種々の異なる形態にて実施されてよい。そこで、実施例３では、本願の開示するストレージ装置の他の実施例について説明する。
【００６６】
（システム構成等）
本実施例において説明した各処理のうち自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文章中や図面中で示した処理手順、制御手順、具体的名称については、特記する場合を除いて任意に変更することができる。
【００６７】
コマンド記憶テーブル１２３ｂには、ホストが最初にストレージ装置１００へアクセスを要求した場合、コマンド取得部１２４ｂが集計したコマンドが格納されるものとして説明したが、これに限定されるものではない。例えば、コマンド記憶テーブル１２３ｂには、ホストとストレージ装置との関係によって予測されたものを事前に格納しておいてもよい。例えば、ホストの機種種別、使用するＯＳ（Operating  System）、Ｈｏｓｔ  Ｂｕｓ  Ａｄａｐｔｅｒやストレージ装置のＲＡＩＤ、ディスクなどの種別によって予測される。
【００６８】
コマンド取得部１２４ｂが集計したコマンドは、制御部１２４が有する内部メモリ等に格納するものとして説明したが、これに限定されるものではない。例えば、コマンド取得部１２４ｂは、記憶部１２３が有する記憶領域にコマンド取得部１２４ｂが集計したコマンドを格納してもよい。
【００６９】
コマンド取得部１２４ｂは、「Ｐｅｒｓｉｓｔｅｎｔ  Ｒｅｓｅｒｖｅ  Ｉｎ」を「Ｏｔｈｅｒ  Ｃｏｍｍａｎｄ」として集計するものとして説明したが、これに限定されるものではない。例えば、その他のコマンドを「Ｏｔｈｅｒ  Ｃｏｍｍａｎｄ」として集計してもよい。具体的には、コマンド取得部１２４ｂは、「Ｍｏｄｅ  Ｓｅｎｓｅ（６）Ｐａｇｅ」及び「Ｍｏｄｅ  Ｓｅｎｓｅ（１０）Ｐａｇｅ」を「Ｏｔｈｅｒ  Ｃｏｍｍａｎｄ」として集計してもよい。
【００７０】
また、アクセス判定部１２４ｃが判定に用いるコマンドの数は、任意に選択し、組み合わせることが可能である。例えば、アクセス判定部１２４ｃは、「Ｉｎｑｕｉｒｙ  Ｓｔａｎｄａｒｄ」、「Ｉｎｑｕｉｒｙ  Ｐａｇｅ」、「Ｒｅｐｏｒｔ  Ｌｕｎｓ」、「Ｔｅｓｔ  Ｕｎｉｔ  Ｒｅａｄｙ」、「Ｓｔａｒｔ  Ｓｔｏｐ  Ｕｎｉｔ」のみを用いてアクセスを判定してもよい。また、アクセス判定部１２４ｃは、図４及び図５に記載したＳＣＳＩコマンド以外のコマンドを用いてアクセスを判定してもよい。
【００７１】
また、アクセス判定部１２４ｃは、コマンドの順番を考慮して判定してもよい。例えば、コマンド取得部１２４ｂは、取得したコマンドの種類と取得した順番とを対応付けて制御部１２４の内部メモリ等に格納する。また、コマンド記憶テーブル１２３ｂには、ホストが発行したコマンドの種類と発行した順番とを対応付けて格納される。そして、アクセス判定部１２４ｃは、コマンド記憶テーブル１２３ｂに格納された情報と、コマンド取得部１２４ｂが取得した情報の内容が完全に一致するか否か判定する。
【００７２】
また、図示した記憶部が格納する情報は一例に過ぎず、必ずしも図示のごとく情報が格納される必要はない。例えば、コマンド記憶テーブル１２３ｂとして格納されるコマンドは、他のＳＣＳＩコマンドを格納してもよい。具体的には、コマンド記憶テーブル１２３ｂは、ＳＣＳＩコマンドとして「ＳＰＡＣＥ」や「Ｒｅａｄ  Ｐｏｓｉｔｉｏｎ」を格納してもよい。
【００７３】
また、図示した各構成部は、機能概念的なものであり、必ずしも物理的に図示のごとく構成されていることを要しない。例えば、ストレージ装置１００は、コマンド取得部１２４ｂとアクセス判定部１２４ｃとは統合されてもよい。さらに、各装置にて行われる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００７４】
（プログラム）
ところで、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。
【００７５】
図１２は、アクセス制御プログラムを実行するコンピュータシステム５００を示す図である。図１２に示すように、コンピュータシステム５００は、ＲＡＭ５１０と、ＣＰＵ５２０と、ＲＯＭ５３０と、入力装置５４０と、出力装置５５０と、媒体読取装置５６０と、ネットワークインターフェース５７０とを有する。ここで、ＲＯＭ５３０には、上記実施例と同様の機能を発揮するプログラムを予め記憶されている。つまり、図１０に示すように、ＲＯＭ５３０には、コマンド取得プログラム５３１とアクセス判定プログラム５３２とが予め記憶されている。
【００７６】
そして、ＣＰＵ５２０には、コマンド取得プログラム５３１とアクセス判定プログラム５３２とを読み出してＲＡＭ５１０に展開する。そして、ＣＰＵ５２０は、コマンド取得プログラム５３１をコマンド取得プロセス５２１として実行する。またＣＰＵ５２０は、アクセス判定プログラム５３２をアクセス判定プロセス５２２として実行する。なお、コマンド取得プロセス５２１は、図２に示したコマンド取得部１２４ｂに対応する。同様に、アクセス判定プロセス５２２は、アクセス判定部１２４ｃに対応する。
【００７７】
ところで、上記したプログラム５３１及び５３２は、必ずしもＲＯＭ５３０に記憶させておく必要はない。例えば、コンピュータシステム５００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に記憶させておくようにしてもよい。また、コンピュータシステム５００の内外に備えられるハードディスクドライブ（ＨＤＤ）などの「固定用の物理媒体」に記憶させておいてもよい。さらに、公衆回線、インターネット、ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）などを介してコンピュータシステム５００に接続される「他のコンピュータシステム」に記憶させておいてもよい。そして、コンピュータシステム５００がこれらからプログラムを読み出して実行するようにしてもよい。
【００７８】
すなわち、このプログラムは、上記した「可搬用の物理媒体」、「固定用の物理媒体」、「通信媒体」などの記録媒体に、コンピュータ読み取り可能に記憶されるものである。そして、コンピュータシステム５００は、このような記録媒体からプログラムを読み出して実行することで上記した実施例と同様の機能を実現する。なお、この他の実施例でいうプログラムは、コンピュータシステム５００によって実行されることに限定されるものではない。例えば、他のコンピュータシステムまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【符号の説明】
【００７９】
１０  ストレージ装置
１１  デバイス
１２  記憶部
１２ａ  コマンド記憶部
１３  制御部
１３ａ  コマンド取得部
１３ｂ  アクセス判定部
２０  ホスト
１００  ストレージ装置
１１０  デバイス部
１１１、１１２、１１３、１１４  デバイス
１１５  デバイス制御部
１２０  コントロール部
１２１  ホストインターフェース
１２２  デバイスインターフェース
１２３  記憶部
１２３ａ  ホスト名記憶テーブル
１２３ｂ  コマンド記憶テーブル
１２４  制御部
１２４ａ  ログイン判定部
１２４ｂ  コマンド取得部
１２４ｃ  アクセス判定部
２００  ネットワーク網
３００、４００  ホスト
５００  コンピュータシステム
５１０  ＲＡＭ
５２０  ＣＰＵ
５２１  コマンド取得プロセス
５２２  アクセス判定プロセス
５３０  ＲＯＭ
５３１  コマンド取得プログラム
５３２  アクセス判定プログラム
５４０  入力装置
５５０  出力装置
５６０  媒体読取装置
５７０  ネットワークインターフェース
【図１】
0005549432.tif 000002
【図２】
0005549432.tif 000003
【図３】
0005549432.tif 000004
【図４】
0005549432.tif 000005
【図５】
0005549432.tif 000006
【図６】
0005549432.tif 000007
【図７】
0005549432.tif 000008
【図８】
0005549432.tif 000009
【図９】
0005549432.tif 000010
【図１０】
0005549432.tif 000011
【図１１】
0005549432.tif 000012
【図１２】
0005549432.tif 000013
【図１３】
0005549432.tif 000014