(57)【特許請求の範囲】
【請求項１】
ホスト計算機がアクセスするメモリリソースと、
前記メモリリソースを論理化したボリュームを前記ホスト計算機に提供するストレージシステムと、
前記ボリュームの移行を管理する管理装置と、
を備え、
前記管理装置は、第１の管理者のリクエストに基づく前記ボリュームの移行のタスクを検出すると、前記ボリュームに対する暗号化機能の設定状態と、前記ボリュームの移行先オブジェクトに対する暗号化機能の設定状態と、を比較し、
この比較結果を、前記第１の管理者とは異なる、前記ストレージシステムのセキュリティ管理のための第２の管理者に通知し、
前記ストレージシステムは、
第１のパリティグループを有し、当該第１のパリティグループに第１のボリュームを設定する第１のストレージシステムと、第２のパリティグループを有し、当該第２のパリティグループに第２のボリュームを設定する第２のストレージシステムと、を備え、
前記第２のボリュームは前記移行先オブジェクトであり、
前記管理装置は、さらに、
前記第１のボリュームと前記第２のボリュームとの間で前記ボリューム移行処理を実行させるために前記第１のストレージシステムと前記第２のストレージシステムとを制御し、
前記第２のボリュームに対する暗号化のレベルと前記第１のボリュームに対する暗号化のレベルとを比較し、前者が後者より劣っていることを判定すると、これを第１の判定結果として前記第２の管理者に通知し、
前記第２のボリュームに対する暗号キーのバックアップタイプと前記第１のボリュームに対する暗号キーのバックアップタイプとを比較し、前者が後者より劣っていることを判定すると、これを第２の判定結果として、前記第２の管理者に通知し、
これらの通知を受けた第２の管理者からの要求に基づいて、前記第１の管理者からの前記ボリューム移行要求の実行の継続の要否を決定し、
前記第１のボリュームが暗号化され、前記第２のボリュームが暗号化されていないことを判定すると、前記第１の判定結果を前記第２の管理者に通知し、
前記第１のボリューム及び第２のボリュームが夫々暗号化されており、第１のボリュームの暗号キーのバックアップのタイプと前記第２のボリュームの暗号キーのバックアップタイプとが同じである場合には、前記第２の判定結果を伴うことなく、前記第１のボリュームを移行元とし、前記第２のボリュームを移行先とする前記ボリュームの移行処理を、前記第１のストレージシステムと前記第２のストレージシステムとに実行させ、
前記第１のボリュームの暗号キーのバックアップタイプと前記第２のボリュームの暗号キーのバックアップタイプとが異なる場合、前記第２の判定結果を前記第２の管理者に通知する計算機システム。
【請求項２】
前記暗号キーのバックアップのタイプには、暗号キーを、外部サーバでバックアップする第１の方式と、前記セキュリティ管理者側でバックアップする第２の方式があり、前記第１のボリュームの暗号キーのバックアップが第１の方式で実行され、前記第２のボリュームの暗号キーのバックアップが前記第２の方式で実行されている場合、前記管理装置は、前記第２の判定結果を前記第２の管理者に通知する、請求項１記載の計算機システム。
【請求項３】
前記ストレージシステムは、
前記ホスト計算機がアクセスする仮想ボリュームと、
前記仮想ボリュームに前記メモリリソースを割り当てるプールと、
パリティグループと、を備え、
前記プールを前記オブジェクトとして、前記パリティグループから前記ボリュームを割り当てるように構成され、
前記管理装置は、
前記プールに暗号化機能の設定があり、前記プールに割当てられるボリュームに対する前記パリティグループに暗号化機能の設定が無いことを判定すると、
前記プールへ前記ボリュームを移行させようとする、前記第１の管理者のリクエストを拒否し、
前記プールに暗号化機能の設定があり、前記プールに割当てられるボリュームに対する前記パリティグループにも暗号化機能の設定があることを判定すると、
前記プールに対する暗号キーのバックアップタイプと、前記パリティグループから前記プールに割当てられるボリュームに対する暗号キーのバックアップタイプと、を比較し、
これら暗号キーのバックアップタイプが互いに同一でないと判定すると、前記第２の管理者に、こられ暗号キーのバックアップタイプを互いに同一にすることを促す通知を実行する、
請求項１記載の計算機システム。
【請求項４】
前記管理装置は、
前記暗号キーのバックアップのタイプには、暗号キーを、外部サーバでバックアップする第１の方式と、前記セキュリティ管理者側でバックアップする第２の方式があり、
前記プールに対する暗号キーのバックアップタイプと、前記パリティグループから前記プールに割当てられるボリュームに対する暗号キーのバックアップタイプの何れかが前記第１の方式であることを判定すると、
前記第２の方式で管理されている前記暗号キーを前記第１の方式でそのバックアップをするように変更することを促す通知を、前記第２の管理者に実行する、
請求項３記載の計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はボリュームモビリティをセキュアに実行可能な計算機システム及びそれを用いたボリューム移行制御方法に関するものである。
【背景技術】
【０００２】
近年、情報処理システムで処理すべき情報量の増大から、計算機システムのストレージの規模が拡大されている。このようなストレージとして、複数の記憶デバイスをアレイ化したストレージシステムが知られている。ストレージシステムは、ホスト計算機からのデータをストレージコントローラが処理することによって、データがアレイシステムに格納される。
【０００３】
情報処理システムは様々なセキュリティの脅威にさらされており、ストレージシステムもその例外ではない。したがって、データの盗難、不正アクセス、改ざん、データ破壊などの種々の脅威に対して常時備えておかなければならない。ストレージシステムに伴うセキュリティの方式として、ホスト計算機における上位アプリケーション側のセキュリティと、ストレージ側でのセキュリティとがある。上位アプリケーションの負担を軽減するため、ストレージシステム側でのセキュリティ機能が強化されている。
【０００４】
ストレージシステム側でのセキュリティ機能の強化といっても、記憶ドライブをベースとした暗号化機能では、ストレージシステムの筐体からの記憶ドライブの盗難や持ち出しによるデータ漏洩のおそれがある。そこで、記憶ドライブをベースとした暗号化機能に代えて、あるいは、これと共にストレージコントローラベースでの暗号化機能が提供されている。この暗号化機能によれば、記憶ドライブにデータを格納する際、ストレージコントローラが直接データを暗号化して、暗号化したデータを記憶ドライブに保存することができる。そして、暗号キーの管理はストレージコントローラによって行なわれるため、装置保守などに伴い記憶ドライブが持ち出される場合でも、暗号キーが記憶ドライブ自体には存在せず、データの不正解析が困難であり、セキュリティレベルの高いデータ漏洩対策が実現される。
【０００５】
データの暗号化と復号化に必要な秘密キーは、ファイルとしてセキュリティ管理者によって保管されるか、或いは、キーマネージメントサービスを行うサーバ（ＫＭＳ）によって管理されることが普通である。ＫＭＳは、秘密キーの生成、発行、バックアップ、リカバリを一元的に管理する。
【０００６】
なお、ストレージコントローラベースでの暗号化機能を備えたストレージシステムの従来例として、例えば、特開２０１０−３３３１９号公報に記載されたものが存在する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１０−３３３１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
クラウド環境では、ストレージシステムを越えたボリュームモビリティ機能が必要となる。例えば、ホスト計算機間でのＶＭ（バーチャルマシン）の移動や、ストレージシステム間でのリソース負荷の分散に伴い、ホスト計算機を停止させることがない、ボリュームモビリティ機能が望まれる。ボリュームの移動によって、複数のボリューム間でのデータマイグレーション、データレプリケーション、プールへのボリュームの追加など所定のストレージ機能が実現される。
【０００９】
ところで、ストレージシステムの管理者が、データの暗号化機能が設定されているボリュームを暗号化機能が設定されていない対象に移行してしまうと、データの漏洩のおそれがある。また、移行先ボリュームに暗号化機能が設定されていても、移行元ボリュームの暗号キーの保護レベルより移行先ボリュームでの暗号キーの保護レベルが低いと、移行先ボリュームにおいて、暗号キーの逸失によるデータ損失、また、暗号キーの漏洩によるデータ漏洩に繋がる。
【００１０】
また、ボリュームライフサイクルでは、ボリューム移行時に、例えば、ホストベース暗号化方式への切り替え等、移行先で暗号化を解除したり、暗号化機能のレベルを変更したりする事象が生じる。この際、ストレージ管理者が安易に暗号化を移行先で解除できるとすると、データ漏洩に繋がったり、セキュリティポリシーに反したりするため、セキュリティ管理者が移行先での暗号化機能を解除したり、変更したりする必要があるが、これを単に行うだけではボリュームモビリティ機能の柔軟性を損なうことになる。
【００１１】
そこで、本発明は、ボリューム移動に伴うデータの損失及びデータ漏洩のおそれが無い、計算機システムを提供することを目的とする。本発明の他の目的はボリュームモビリティ機能の柔軟性を損なうことがなく、ボリューム移行先でのセキュリティ管理者による暗号化機能の変更をセキュアかつ柔軟に行うことができる計算機システムを提供することにある。
【課題を解決するための手段】
【００１２】
前記目的を達成するために、本発明に係る計算機システムは、ホスト計算機がアクセスするメモリリソースを備え、前記メモリリソースを論理化したボリュームを前記ホスト計算機に提供するストレージシステムと、前記ボリュームの移行を管理する管理装置と、を備え、前記管理装置は、第１の管理者のリクエストに基づく前記ボリュームの移行のタスクを検出すると、前記ボリュームに対する暗号化機能の設定状態と、前記ボリュームの移行先オブジェクトに対する暗号化機能の設定状態と、を比較し、この比較結果を、前記第１の管理者とは異なる、前記ストレージシステムのセキュリティ管理のための第２の管理者に通知する、ことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、ボリューム移行に関連させて、当該ボリュームとボリュームの移行先オブジェクトの暗号化機能の設定状態を整合させることができるために、ボリューム移動に伴うデータの損失及びデータ漏洩のおそれが無い、計算機システムを提供することができる。また、本発明によれば、ボリュームモビリティ機能の柔軟性を損なうことがなく、ボリューム移行先でのセキュリティ管理者による暗号化機能の変更をセキュアかつ柔軟に行うことができる計算機システムを提供することができる。
【図面の簡単な説明】
【００１４】
【図１】計算機システムの第１の形態を表わすブロック構成図である。
【図２】ホスト計算機のブロック構成図である。
【図３】ストレージシステムのブロック構成図である。
【図４】管理サーバのブロック図である。
【図５】ストレージシステムを管理するためのストレージ管理テーブルの一例である。
【図６】ボリュームを管理するための管理テーブルの一例である。
【図７】パリティグループを管理するためのパリティグループ管理テーブルの一例である。
【図８】暗号キーの管理テーブルの一例である。
【図９】管理サーバにおける暗号キーの管理処理のフローチャートである。
【図１０】シンプロビジョニングの方式によって運用されるストレージシステムを含む計算機システム（第２の実施形態）のブロック図である。
【図１１】第２の実施形態の計算機システムの暗号化設定処理に必要な特有なプール管理テーブルの一例である。
【図１２】シンプロビジョニングにおける暗号化機能の設定処理のフローチャートに基づいて説明する。
【図１３】ユーザに与えられる権限とビットアドレスの対応を設定した、権限管理テーブルの一例である。
【図１４】ユーザのロールと権限ビットマップとの対応を管理するテーブルの一例である。
【図１５】ユーザグループ（ＵＧ）のＩＤとロールとの対応関係に係る管理テーブルの一例である。
【図１６】ユーザＩＤとユーザグループＩＤとの対応関係に係る管理テーブルの一例である。
【図１７Ａ】ユーザからのログインを管理サーバが処理するためのフローチャート(前半部)である。
【図１７Ｂ】ユーザからのログインを管理サーバが処理するためのフローチャート(後半部)である。
【図１８】管理サーバによる、ストレージ管理者からのログインの処理を説明するフローチャートである。
【図１９】ストレージ管理者からの管理サーバへのログインに対する、セキュリティ管理者の認証処理を説明するフローチャートである。
【図２０】管理サーバがＧＵＩを介してセキュリティ管理者に提供する承認要求画面の一例である。
【図２１】承認要求に対するパスワード入力画面の一例である。
【図２２】ストレージ管理者からのリクエストについての実行可否の判定処理に係るフローチャートである。
【図２３】図１０の計算機システムの変形例に係るブロック図である。
【図２４】図２４は、第１のストレージシステム内の外部ボリュームと、外部ストレージシステム、第１のストレージシステムのプールに追加されるボリューム、そのボリュームのパリティグループとの対応関係を管理するテーブルの一例である。
【発明を実施するための形態】
【００１５】
次に、本発明の実施形態について説明する。図１は、計算機システムの第１の形態を表わすブロック図である。本発明の計算機システムは、一基以上のストレレージシステムを備えればよいものであるが、この実施形態に係る計算機システムは、ホスト装置と、複数のストレージシステムと、ボリューム移行とボリューム移行に伴う暗号化機能の管理を行う管理装置と、を備える。ボリューム移行の形態には、複数のボリューム間でのデータマイグレーション、複数のボリューム間でのデータレプリケーション、シンプロビジョニングにおけるプールへのボリューム追加がある。ストレージシステムが備える記憶ドライブは、ハードディスクドライブ等のディスクドライブの他、半導体メモリドライブ、例えば，ＳＳＤなどでもよい。
【００１６】
計算機システムは、ホスト計算機７０と、第１のストレージシステム（ＳＴ１）１０と、第２のストレージシステム（ＳＴ２）２０と、第３のストレージシステム（ＳＴ３）３０と、これらストレージシステムの管理サーバ６０と、を備える。
【００１７】
第１のストレージシステム１０は、ボリューム移行の際、データの移行元となるオリジナルボリューム（Origin VOL）１００と、オリジナルボリューム１００からのデータマイグレーション或いはデータレプリケーションの実行対象となるデータ移行先ボリュームとしての第１のターゲットボリューム(Target VOL)１００Ａとを備えている。第２のストレージシステム２０は第２のターゲットボリューム１００Ｂを備え、第３のストレージシステム３０は第３のターゲットボリューム１００Ｃを備えている。
【００１８】
ホスト計算機７０は、フロントエンドＳＡＮ等の通信ネットワーク８０を介して第１のストレージシステム１０に接続している。第２のストレージシステム２０及び第３のストレージシステム３０は夫々第１のストレージシステムの外部接続ポートに接続されている。管理サーバ６０はＬＡＮ等の通信ネットワーク９０を介して、第１のストレージシステム１０、第２のストレージシステム２０、及び、第３のストレージシステム３０の夫々に接続されている。
【００１９】
オリジナルボリューム１００と第１ターゲットボリューム１００Ａとの間では、筐体内のデータコピーが行われ、オリジナルボリューム１００と第２ターゲットボリューム１００Ｂ・第３ターゲットボリューム１００Ｃとの間では筐体間データコピーが行われる。
【００２０】
オリジナルボリューム１００は、暗号化機能が設定されたパリティグループ（ENCRYPTED PG）２００に設定され、第１のターゲットボリューム１００Ａは暗号化機能が設定されていないパリティグループ（NORMAL PG）２００Ａに設定されている。第２のターゲットボリューム１００Ｂは暗号化機能が設定されたパリティグループ２００Ｂに設定されている。第３のターゲットボリューム１００Ｃは、暗号化機能が設定されていないパリティグループ２００Ｃに設定されている。
【００２１】
ストレージシステム内でデータの暗号化のための機能はパリティグループ毎に適用される。パリティグループに暗号化が機能設定されると、パリティグループに設定されたボリュームにデータを書き込む際に、記憶ドライブに対するデータの書込みが暗号化される。暗号化の設定は、ストレージシステムのコントローラによって実行される。その他の暗号化の設定のための形態は、記憶ドライブベースでの暗号化、ホスト計算機ベースでの暗号化がある。
【００２２】
「暗号化機能が設定されていないパリティグループ」とは、ストレージシステムに暗号化のための機能はマウントされているものの、当該機能が、セキュリティ管理者４０の権限に基づく操作に基づいて、コントローラによってオフされているか、元々、ストレージシステムに当該機能がマウントされていないかの何れかである。パリティグループとはＲＡＩＤレベルに応じた複数のハードディスクドライブの組み合わせである。パリティグループの暗号化のためには、暗号化機能を備えたドライブが利用される。
【００２３】
図２はホスト計算機７０のブロック構成図である。ホスト計算機は、ビジネスアプリケーションソフトウェア７００等が格納されたメモリ７０２、入力装置７０４、出力装置７０６、プロセッサ７０８、ストレージシステムに対するファイルアクセスを可能とするファイルシステム７１０、ストレージシステムに接続するためのホットバスアダプタ（ＨＢＡ）７１２、そして、これらを接続する内部バス７１６と、を備えている。ＨＢＡ７１２にＲＡＷデバイス７１４が設定されている場合には、ファイルシステムを介することなく、ホスト計算機は、ストレージシステム１０にアクセスすることができる。
【００２４】
図３は第１のストレージシステム１０のハードウェアブロック図である。第２のストレージシステム２０及び第３のストレージシステム３０も第１のストレージシステムと同様な構成を備えるため、それらの説明を省略する。各フロントエンドパッケージ（ＦＥＰＫ）２１０のインタフェース（Ｉ／Ｆ）２１１には上位計算機としてのホスト計算機７０が接続する。各バックエンドパッケージ（ＢＥＰＫ）２４０の各インタフェース（Ｉ/Ｆ）２４１にはハードディスクドライブ等の記憶ドライブが接続する。フロントエンドパッケージ２１０は、ホスト計算機７０からのリード・ライト要求を受信し、リード・ライト要求をマイクロプロセッサパッケージ（ＭＰＰＫ）２２０に転送する。
【００２５】
各マイクロプロセッサパッケージ２２０はリード・ライト要求を処理し、バックエンドパッケージ２４０は、ライトデータを記憶ドライブ２７０に書き込むか、または、データを記憶デバイス２７０からリードする。各マイクロプロセッサパッケージ２２０は、複数のマイクロプロセッサ２２１と、ローカルメモリ２２２と、内部バス２２３を有する。
【００２６】
各メモリパッケージ２３０は、ライト・リードデータを一時記憶するキャッシュメモリ２３１と、制御情報を記録する制御用メモリ２３２と、を有する。符号２６０は、管理サーバ６０が接続される管理用インタフェースである。符号２５０は、メモリパッケージ２２０等の各要素を互いに接続するためのスイッチである。
【００２７】
データ暗号化はコントローラ(バックエンドパッケージ２４０)によって実現される。データがボリュームに書き込まれる際の暗号化は、公開キーと秘密キーの組み合わせによって行われる。暗号キー（秘密キー）は、パリティグループを構成する全てのドライブに同一なものが設定されてもよいし、ドライブ毎に異なるものが設定されていてもよい。
【００２８】
管理サーバ６０は、図１に示すように、ストレージ管理プログラム６００と、データ暗号化プログラム６０２と、を備えている。管理サーバ６０には、セキュリティ管理者としてのクライアント４０と、ストレージ管理者５０としてのクライアント５０と、が接続されている。
【００２９】
図４は、管理サーバ６０のブロック図であり、管理サーバは、ストレージシステムの管理機能を実現するための管理テーブル又は管理プログラムを格納したメモリ６１０と、入力装置６１２と、出力装置６１４と、プロセッサ６１６と、これらを接続する内部バス６１８と、を備えている。
【００３０】
メモリ６１０には、ストレージ管理テーブル６２０と、ボリューム管理テーブル６２２と、パリティグループ管理テーブル６２４と、暗号キー（秘密キー）管理テーブル（キー管理テーブル）６２６と、プール管理テーブル６２８と、ストレージ管理プログラム６３０と、データ暗号化管理プログラム６３２と、アカウント制御プログラム６３４と、グラフィカルユーザインタフェース６３６と、コマンドラインインタフェース６３８と、を格納している。
【００３１】
図５は、ストレージシステムを管理するためのストレージ管理テーブル６２０の一例である。ストレージ管理テーブル６２０は、ストレージシステムのＩＤ６２０Ａと、ストレージシステムのシリアル番号６２０Ｂと、管理ポート２６０のＩＰアドレス６２０Ｃと、を夫々対応させたデータ構造を備えている。
【００３２】
図６はボリュームを管理するための管理テーブル６２２の一例であり、ボリューム管理テーブル６２２は、ストレージシステム毎のボリュームＩＤ６２２Ａと、ボリュームが対応する、ストレージシステム毎のパリティグループ（ＰＧ）のＩＤ６２２Ｂとを対応させたデータ構造を有する。
【００３３】
図７は、パリティグループ（ＰＧ）を管理するためのパリティグループ管理テーブル６２４の一例であり、ストレージシステム毎のパリティグループＩＤ６２４Ａと、パリティグループの暗号化状態６２４Ｂと、暗号キーのＩＤ６２４Ｃと、を対応させたデータ構造を有している。暗号化ステイタス６２４Ｂが［ＯＮ］とはパリティグループにデータの暗号化機能が設定され、かつ、パリティグループの論理ボリュームに書き込まれるデータの暗号化が実施されていることを示し、［ＯＦＦ］とはパリティグループに暗号化機能が設定されているものの、データの暗号化が実行されていないことを示し、［Ｎ/Ａ］とは、そもそも、ストレージシステムのコントローラ（マイクロプロセッサパッケージ２２０）に、パリティグループに対する暗号化のための機能がアサインされていないことを示している。
【００３４】
図８は暗号キーの管理テーブル６２６の一例である。キー管理テーブル６２６は、暗号キーのＩＤ（６２６Ａ）と、暗号キーの作成日時（６２６Ｂ）と、暗号キーのバックアップタイプ（６２６Ｃ）と、ＫＭＳのＩＰアドレス６２６Ｄとを対応させたデータ構造を備えている。暗号キーのバックアップタイプには、既述のＫＭＳによる管理方式と、ファイルでの保管による管理方式とがある。ファイル管理方式では、暗号キーがセキュリティ管理者４０によって保管される。ＫＭＳによる暗号キーの管理方式では、ＫＭＳのＩＰアドレスがキー管理テーブル６２６に登録される。
【００３５】
次に、複数のボリューム間でのボリューム移行における、暗号キーの管理処理について、フローチャートに基づいて説明する。図９は、管理サーバ６０の動作を示す。ストレージ管理者５０が管理サーバ６０のストレージ管理プログラム（ボリューム移行管理プログラム）６３０にデータ移行要求をリクエストすると、ストレージ管理プログラム６３０はデータ暗号化管理プログラム６３２に暗号化設定確認要求を出力して、図９のフローチャートを開始させる。
【００３６】
次いで、データ暗号化管理プログラム６３２は、図９のフローチャートを実行して、オリジナルボリューム１００と、ターゲットボリューム１００Ａ（１００Ｂ，１００Ｃ）の夫々の暗号化設定状態の確認処理を遂行する。先ず、データ暗号化管理プログラム６３２は、ストレージ管理者５０のボリューム移行要求からオリジナルボリューム１００のＩＤとターゲットボリューム１００Ａ（１００Ｂ，１００Ｃ）のＩＤとを抽出する（Ｓ９００）。
【００３７】
次いで、データ暗号化管理プログラム６３２は、ボリューム管理テーブル６２２を参照して、オリジナルボリューム１００とターゲットボリューム１００Ａ（１００Ｂ，１００Ｃ）夫々が属するパリティグループ２００（２００Ａ，２００Ｂ，２００Ｃ）のＩＤを判定する（Ｓ９０２）。
【００３８】
次いで、データ暗号化管理プログラム６３２は、パリティグループ管理テーブル６２４を参照して、オリジナルボリューム１００のパリティグループ２００に暗号化機能が設定されていてオリジナルボリューム１００が暗号化されているか否かを判定し（Ｓ９０４）、暗号化されていない場合には、暗号キーに対する管理処理は必要ないものとしてフローチャートを終了する。そして、計算機システム１０は、オリジナルボリュームとターゲットボリューム間でのボリューム移行に伴うデータコピーをそのまま実行する。
【００３９】
オリジナルボリューム１００が暗号化されている場合は、データ暗号化管理プログラム６３２は、パリティグループ管理テーブル６２４を参照して、ターゲットボリューム１００Ａ（１００Ｂ，１００Ｃ）が属するパリティグループＰＧ２〜ＰＧ４に暗号化機能が設定されていてターゲットボリュームが暗号化されているか否かを判定する（Ｓ９０６）。
【００４０】
ターゲットボリュームのパリティグループの暗号化機能の設定状態が［ＯＦＦ］又は［Ｎ／Ａ］の場合は、データ暗号化管理プログラム６３０は、オリジナルボリュームとターゲットボリューム間でのボリューム移行に伴い、データの暗号化が失われることを、セキュリティ管理者４０に通知した上でストレージ管理者のデータ移行リクエストを拒絶するか、又は、通知なくユーザのデータ移行リクエストを拒絶する（Ｓ９１０）。どちらによるかは、ストレージ管理ユーザ５０による管理サーバ６０への事前の設定による。この通知を受けたセキュリティ管理者は、ターゲットボリュームのパリティグループでの暗号化機能が［ＯＦＦ］の場合、暗号化機能を［ＯＮ］に設定するようにデータ暗号化管理プログラムに要求することもできる。データ暗号化管理プログラムはこの要求を受けて、移行先ストレージシステムのコントローラに暗号化機能の設定変更を要求することができる。
【００４１】
ターゲットボリュームのパリティグループの暗号化の設定状態が［ＯＮ］であり、ターゲットボリュームが暗号化されている場合、データ暗号化管理プログラム６３２は、暗号キー管理テーブル６２６（図８）から、オリジナルボリュームとターゲットボリュームそれぞれの暗合化キーのバックタイプ（６２６Ｃ）を取得する（Ｓ９０８）。
【００４２】
次いで、データ暗号化管理プログラム６３２は、オリジナルボリュームの暗号キーのバックアップタイプとターゲットボリュームの暗号キーバックアップタイプとが同一か否かを判定する（Ｓ９１２）。これが同じ場合には、データ暗号化管理プログラム６３２は、フローチャートを終了する。この後、データ暗号化管理プログラム６３２はフローチャートの終了をストレージ管理プログラム６３０に通知し、ストレージ管理プログラム６３０はオリジナルボリュームとターゲットボリューム間でのデータコピーを移行元ストレージシステムと移行先ストレージシステムとに指示し、これらストレージシステムはオリジナルボリュームとターゲットボリューム間でデータコピーを実行する。
【００４３】
オリジナルボリューム１００の暗号キーのバックアップタイプとターゲットボリューム１００Ａ（１００Ｂ，１００Ｃ）の暗号キーバックアップタイプとが異なる場合には、データ暗号化管理プログラム６３２は、セキュリティ管理者４０に、オリジナルボリュームの暗号化キーのバックアップタイプとターゲットボリュームの暗号化キーのバックアップタイプとが異なる旨の通知を、ＧＵＩ６３６を介して実行した後フローチャートを終了する。
【００４４】
データ暗号化管理プログラム６３２がフローチャートを終了した後、ストレージ管理プログラム６３０はセキュリティ管理者４０の確認を待って、オリジナルボリュームとターゲットボリューム間でのボリューム移行を実行する。
【００４５】
一方、単なる通知に留まらず、ターゲットボリュームのパリティグループでのバックアップタイプがオリジナルボリュームのパリティグループでのバックアップタイプより低レベルの場合、データ暗号化管理プログラム６３２は、前者のタイプを後者のタイプに合わせることを促す要求を、ＧＵＩを介してセキュリティ管理者４０に出力してもよい。具体的には後者のバックアップタイプがファイル管理方式であり、前者のバックアップタイプがＫＭＳ方式で、後者での管理方式をＫＭＳ方式に変更する場合である。この変更は、セキュリティ管理者４０によって実行される。暗号キーのバックアップ方式を整合させない限り、データ暗号化管理プログラムは、ストレージ管理者のボリューム移行要求を拒否するようにしてもよい。
【００４６】
一方、前者のバックアップレベルが後者のバックアップレベルより高い場合には、セキュリティ管理者は、通知を受けるのみで、ストレージ管理プログラムは、ボリューム移行要求を実行させてもよい。あるいは、この場合、Ｓ９１４の通知がなされなくてもよい。
【００４７】
なお、ストレージ管理者が、ボリューム移行先ストレージシステムにおいて、暗号化機能を解除、例えば、ホスト計算機ベースでの暗号化に変更、しようとする場合、暗号化管理プログラムは、Ｓ９０６において否定判定を行う。セキュリティ管理プログラムは、Ｓ９１０の通知を行った後、セキュリティ管理者からの承諾を得ることによって、セキュリティ管理プログラムがターゲットボリュームに対する暗号化の設定状態を変更することなしに、ストレージ管理プログラムがボリューム移行処理を継続することができる。
【００４８】
また、Ｓ９０４とＳ９０６では、暗号化の有無を判定の基準としたが、暗号化レベルの優劣であってもよい。ボリューム移行先ストレージシステムでの暗号化のレベルがボリューム移行元ストレージシステムでの暗号化のレベルより低い場合には、Ｓ９１０と同様の処理をデータ暗号化管理プログラムが実行してもよい。
【００４９】
図９に示すフローチャートによれば、ボリューム移行処理と、ボリューム移行先環境とボリューム移行先環境とに対する暗号化設定状態の制御処理とを同期させて、ボリュームモビリティ機能の柔軟性を維持しながら、ボリュームモビリティシステムのセキュア性を維持、向上することができる。
【００５０】
次に計算機システムの第２の実施形態について説明する。図１０は、シンプロビジョニングの方式によって運用されるストレージシステム１０を含む計算機システムのブロック図である。図１のシステムとの相違点を中心に説明する。ホスト計算機７０は、実容量を持たない仮想ボリューム１００１にアクセスする。仮想ボリューム１００１にホスト計算機７０からのアクセスがあると、ストレージシステム１０は、プール１０００から実容量を持つ記憶領域を仮想ボリューム１００１に割り当てる。
【００５１】
プール１０００には、パリティグループ１０１０からボリュームを割り当てる。プールに割り当てられたボリュームがプールボリューム１００２,１００４である。プールボリュームは実容量を持つ記憶領域から構成されている。符号１００６は、パリティグループ１００８からプール１０００に割当てられようとしているボリューム１００６である。
【００５２】
この実施形態において、暗号キーの管理方式が問題になるのは、プールボリュームの基となるパリティグループの暗号化設定状態及び暗号キーのバックアップタイプが、プールと異なる場合である。図１０においては、パリティグループ１０１０には暗号化機能が設定されている。ストレージシステム１０はプール１０００を、データの暗号化が可能なプールボリューム１００２,１００４に合わせて、暗号化がされたものとして管理している。
【００５３】
一方、暗号化機能が設定されていないパリティグループ１００８からのボリューム１００６はデータの暗号化が出来ないものであるため、このボリューム１００６をプールボリュームとしてプール１０００に割当てようとすると、プール１０００の暗号化状態にボリューム１００６がそぐわないものとなる。そこで、プールへのボリュームの割り当てに対処する処理が必要となる。
【００５４】
図１１は、第２の実施形態の計算機システムの暗号化設定処理に必要な特有なプール管理テーブルの一例を示す。プール管理テーブルは、プールＩＤ１１００と、プールの暗号化設定状態１１０２と、プールボリュームＩＤ１１０４と、パリティグループＩＤ１１０６とを対応させたデータ構造を有する。
【００５５】
次に、シンプロビジョニングにおける暗号化機能の設定処理を図１２のフローチャートに基づいて説明する。ストレージ管理プログラム６３０がストレージ管理者５０から、プール１０００へのボリューム１００６の割り当て要求を受け付けると、データ暗号化管理プログラム６３２はストレージ管理プログラム６３０から暗号化設定確認要求を受け、次いで、ストレージ管理者５０からの要求から、プール１０００に追加しようとしている追加ボリューム１００６のＩＤとプール１０００のＩＤとを取得する（Ｓ１２００）。次いで、データ暗号化管理プログラム６３２は、プール管理テーブル１１００を参照して、プール１０００に既に存在するプールボリューム１００２、１００６のＩＤを取得する（Ｓ１２０２）。
【００５６】
次いで、データ暗号化管理プログラム６３２は、プールに対する暗号化の設定がされているか否かを、プール管理テーブル１１００を参照して判定する（Ｓ１２０４）。これを否定判定すると、フローチャートを終了し、ストレージ管理プログラム６３０は、暗号化設定プログラム６３２からフローチャートの終了の通知を受けて、新規ボリューム１００６をプール１０００に割当てる。
【００５７】
次いで、データ暗号化プログラム６３２は、Ｓ１２０４を肯定判定する場合は、プール１０００に追加すべきボリューム１００６が属するパリティグループ１００８に暗号化設定がされているか否かを判定する（Ｓ１２０６）。
【００５８】
これを否定判定すると、暗号化されていないボリューム１００６を暗号化対象として定義されたプール１０００に割当てることを防ぐため、データ暗号化管理プログラム６３２は、ＧＵＩ６３６を介して、ストレージ管理者のリクエストを拒絶する(Ｓ１２０８)。
【００５９】
一方、判定を肯定すると、データ暗号化管理プログラム６３２は、関連するパリティグループ、即ち、追加ボリューム１００６のパリティグループ１００８、プールに存在しているプールボリューム１００２,１００４のＩＤ（Ｓ１２０２）から、プールに関連するパリティグループ１０１０の暗号キーのバックアップタイプを暗号キー管理テーブル６２６から取得する（Ｓ１２１０）。
【００６０】
次いで、データ暗号化管理プログラム６３２は、これら関連する暗号キーのバックアップタイプが全て同一であるか否かをチェックする（Ｓ１２１２）。これが肯定される場合、データ暗号化管理プログラムは、フローチャートを終了する。この時、ストレージ管理プログラム６３０は、ストレージシステム１０のコントローラに、追加ボリューム１００８をプール１０００に割当てるように指示する。
【００６１】
一方、Ｓ１２１２の判定が否定されると、データ暗号化管理プログラム６３２は、関連する全ての暗号キーの少なくとも一つにキーバックアップタイプがＫＭＳ管理方式のものがあるか否かをチェックし（Ｓ１２１４）、これを肯定する場合、暗号キーバックアップタイプがＫＭＳ方式以外の方式でバックアップされた暗号キーをＫＭＳ方式でのバックアップタイプに変更するにするように、セキュリティ管理者４０にＧＵＩ６３６を介して通知する（Ｓ１２１６）。
【００６２】
一方、データ暗号化管理プログラム６３２は、この判定を否定すると、追加するボリューム１００６の暗号キーのバックアップ方式を追加先プールでの暗号キーのバックアップタイプに合わせるようにセキュリティ管理者に促すなどして、暗号キーのバックアップ方式をＫＭＳ以外の方式に統一させる（Ｓ１２１８）。
【００６３】
Ｓ１２１４の処理によって、プール１０００に属するプールボリュームの暗号キーのバックアップタイプを、例えば、ＫＭＳ方式又はファイル管理方式に統一させることができる。の、バックアップ方式がＫＭＳ方式以外の複数の方式があれば、最も、安全性の高いバックアップ方式に統一させることがよい。
【００６４】
以上によって、ボリュームが新たにプールに追加されることを契機として、プールボリュームの暗号キーのバックアップ方式を同一のものに整合させることができる。なお、図１０に示す実施形態では、パリティグループ１００８は暗号化機能が設定されていないものとして説明したが、Ｓ１２１８の前提として、パリティグループ１００８は暗号化機能を設定可能なものである。
【００６５】
次に、第３の実施形態について説明する。既述の実施形態では、管理サーバ６０のデータ暗号化管理プログラム６３２が既述のフローチャートを実行して暗号キーの最適なバックアップ形態を決定する構成が採用されていた。これに対して、第３の実施形態は、データ暗号化管理プログラムが暗号キーのバックアップタイプを変更しようとする際、セキュリティ管理者４０の承認を求めるシステムを提供する。このためには、セキュリティ管理者４０、ストレージ管理者の権限及び役割を、統一的に管理するための制御機能が必要になる。管理サーバ６０はこの機能を実現するための、管理テーブル、制御プログラムを備えている。
【００６６】
図１３は、ユーザに与えられる権限とビットアドレスの対応を設定した、権限管理テーブルの一例である。各ビットアドレスに各権限が対応している。例えば、ビットアドレス［４］には［キー管理］、ビットアドレス［５］には［データ暗号化管理］が対応している。前者の権限は、キーペア（公開キー・秘密キー）の決定、その変更、秘密キーのバックアップ、秘密キーのバックアップタイプの決定・変更などに対する承認権限を含む。後者の権限は、データの暗号化の実施、その解除等の権限を含む。
【００６７】
図１４は、ユーザのロールと権限ビットマップとの対応を管理するテーブルの一例である。権限ビットマップは、全ての権限アドレスの集合であり、ロールは、一つ又は複数の権限の管理単位である。例えば、ロール２はセキュリティ管理に関するロールであり、ロール２には権限アドレスの第１ビット、第４〜第６ビットの夫々に対応する権限が割当てられている。したがって、セキュリティに関して第２ロールは第１ロール(セキュリティ情報の参照)が割当てられているに過ぎない第１ロールより広い権能を有している。セキュリティ管理者４０にはロール２が設定される。ストレージ管理者５０にはセキュリティ以外の例えばロール６−１３までが設定される。メンテナンス管理者にはロール１４によって全ての権限が与えられる。
【００６８】
図１５は、ユーザグループ（ＵＧ）のＩＤとロールとの対応関係に係る管理テーブルであり、図１６は、ユーザＩＤとユーザグループＩＤとの対応関係に係る管理テーブルである。ユーザ（管理者）には、ユーザＩＤが設定される。ユーザＩＤはユーザの分類情報を示すものとして設定される。例えば、［ＳＴ＿ＡＤＭＩＮ１］は、ストレージ管理者５０を示し、［ＳＥＣＵＲＩＴＹ＿ＡＤＭＩＮ］はセキュリティ管理者４０を示す。各ユーザＩＤはユーザグループに所属する。各ユーザグループには一つ又は複数のロールが設定される。したがって、各ユーザＩＤにユーザグループＩＤ、ロールＩＤ、権限ビットマップを介して、一つ又は複数の権限が対応するようになる。ユーザグループはユーザをグループ化するための指標である。
【００６９】
図１７Ａ，１７Ｂは、ユーザからのログインを管理サーバ６０が処理するためのフローチャートである。管理サーバ６０のＧＵＩ６３６又はコマンドラインインタフェース（ＣＬＩ）６３８がユーザからのログインを受付けると、ログインから、ユーザＩＤ及びパスワードを取得して（Ｓ１７００）、これらをアカウント管理プログラム６３４に送信する（Ｓ１７０２）。
【００７０】
アカウント管理プログラム６３４がユーザＩＤ等の各種ＩＤ及びパスワードを取得すると（Ｓ１７０４）、これらが正しいか否かを判定する（Ｓ１７０６）。アカウント管理プログラム６３４がこの判定を否定すると、ログインセッション作成処理(Ｓ１７０８〜Ｓ１７１２)を経ることなく、ログイン結果メッセージの作成処理にまでジャンプする。一方、この判定を肯定するとログインセッション作成処理を実行する。
【００７１】
先ず、アカウント管理プログラム６３４は、ログインセッションＩＤを生成する（Ｓ１７０８）。次いで、ユーザＩＤ、ユーザグループＩＤ、ロールＩＤから、セッションＩＤに割当てる権限ビットマップを、権限ビットマップ管理テーブル（図１３）を参照して生成する（Ｓ１７１０）。そして、セッション管理テーブルに生成されたログインセッションを追加する(Ｓ１７１２)。
【００７２】
次いで、図１７Ｂに示すように、アカウント制御プログラム６３６は、ログイン結果メッセージを作成し(Ｓ１７１４)、次いで、ログインメッセージをＧＵＩ（ＣＬＩ）に送信する（Ｓ１７１６）。ＧＵＩ等がこれを取得すると（Ｓ１７１８）、ログインセッションＩＤが［ＮＵＬＬ］かどうかを判定する(Ｓ１７２０)。ユーザＩＤ及びパスワードが正確でない場合は、この判定が肯定され、アカウント管理プログラム６３６はログインを拒絶するメッセージを作成してＧＵＩ等に送り(Ｓ１７２６)、ＧＵＩはこれを表示する（Ｓ１７２８）。
【００７３】
一方、ＧＵＩがセッションＩＤを確認すると、ログインセッションＩＤを維持し（Ｓ１７２２）、ユーザログインを許可する旨のメッセージを作成する（Ｓ１７２４）。
【００７４】
管理サーバ６０がユーザログインを許可すると、ストレージ管理プログラム６３０は、図１８に示すように、セッション管理テーブルからセッションＩＤを取得し(Ｓ１８００)、セッションＩＤに付帯するユーザリクエスト情報及び権限ビットマップを取得する。ストレージ管理プログラム６３０は、ユーザリクエスト情報から、ユーザから要求された処理の対象となるオブジェクトの少なくとも一つに暗号化機能が設定されているか否かを判定する(Ｓ１８０２)。ストレージ管理プログラムがこの判定を否定する場合、オブジェクトに対して、暗号化に関して留意すべき点はないので、ストレージ管理プログラム６３０はユーザリクエスト、例えば、複数のボリューム間のデータマイグレーション、或いはデータレプリケーション、プールへの新規ボリュームの追加を実行する(Ｓ１８０４)。なお、［オブジェクト］とは、データマイグレーション、データレプリケーション、プールへの新規ボリュームの割り当てにおける、オリジナルボリューム、ターゲットボリューム、パリティグループ、プール、プールボリューム、プールに追加するボリュームなどである。
【００７５】
Ｓ１８０２の判定が肯定される場合は、ユーザリクエストの処理に先立ち、ストレージ管理プログラム６３０は、セキュリティ管理者に対する認証処理を実行する。この認証処理を図１９のフローチャートに基づいて説明する。ストレージ管理プログラム６３０は、データ暗号化管理プログラムに、ユーザリクエストの処理伴う承認を要求する（Ｓ１９００）。データ暗号化管理プログラム６３０は、この要求をスタック（Ｓ１９０２）し、ストレージ管理プログラムにスタックの完了通知を発行する(Ｓ１９０４)。
【００７６】
次いで、ストレージ管理プログラム６３０は、データ暗号化管理プログラム６３２にセキュリティ管理者（ＳＥＣＵＲＩＴＹ＿ＡＤＭＩＮ）４０からの承認結果を繰り返し要求する(Ｓ１９０６)。データ暗号化管理プログラム６３２は、未だ承認結果を受けていないので未承認通知をストレージ管理プログラムに発行する(Ｓ１９０８)。
【００７７】
セキュリティ管理者４０は、電子メール等によってストレージ管理プログラム６３０からの承認要求が来ていることを知ると、データ暗号化管理プログラムにアクセス（ログイン）する(Ｓ１９１０)。データ暗号化管理プログラム６３２はこのアクセスを受けてセキュリティ管理者にスタックした承認要求を発行する(Ｓ１９１２)。セキュリティ管理者４０は承認結果をデータ暗号化管理プログラム６３２に通知する(Ｓ１９１４)。データ暗号化管理プログラム６３２は承認結果を登録する(Ｓ１９１６)。次いで、データ暗号化管理プログラム６３２はストレージ管理プログラム６３０から承認結果の通知要求(Ｓ１９１８)を受けると、承認結果を通知する（Ｓ１９２０）。
【００７８】
図２０は、データ暗号化管理プログラム６３２がＧＵＩ６３６を介してセキュリティ管理者４０に提供する承認要求画面の一例である。要求画面は、リクエストＩＤと、リクエストの発行日時と、承認欄とを含む。セキュリティ管理者が承認欄にチェックを入れて［ＤＯＮＥ］をクリックすると、図２１のパスワード入力画面がセキュリティ管理者５０に表示される。セキュリティ管理者が［ＯＫ］をクリックしてパスワードが認証されると承認要求画面の承認欄に[許可]が設定される。一方、チェックを入れることなく［ＤＯＮＥ］をクリックすると、[拒否]が設定される。なお、セキュリティ管理者４０が、リクエストＩＤの左側のボックスにチェックを入れて、［ＤＥＴＡＩＬ］をクリックしてパスワードが承認されると、ユーザリクエストの詳細、例えば、データマイグレーション、データレプリケーション、ＨＤＰプールへのボリューム追加など暗号化設定の確認を要する具体的なユーザリクエストの内容が表示される。［ＣＡＮＣＥＬ］は、再入力のためにクリックされるものである。図２０の承認画面に、承認処理日時の欄があってもよい。リクエストＩＤは、ストレージ管理者のリクエストの対象となってストレージシステムのＩＤとリクエストに付加されるＩＤとから構成される。
【００７９】
ストレージ管理プログラム６３０がデータ暗号化管理プログラム６３２からのセキュリティ管理者による承認結果を受け取ると、ユーザリクエストの実行に関する処理を行う(Ｓ１８０６)。この処理の詳細として、図２２にユーザリクエスト実行可否判定処理のフローチャートが示されている。
【００８０】
先ず、ストレージ管理プログラム６３０は、ストレージ管理者５０からの一つ又は複数のリクエスト(リクエストの全て)を取得する(Ｓ２２００)。ストレージ管理プログラム６３０は、複数のユーザリクエストの中から一つのリクエストを取得し(Ｓ２２０２)、リクエストに係わる暗号化設定の要請がセキュリティ管理者４０によって承認されたか、拒絶されたかを判定する(Ｓ２２０４)。リクエストが承認された場合には、ユーザリクエストを実行するための処理を行い(Ｓ２２０８)、リクエストが拒絶された場合には、ストレージ管理プログラム６３０は、ユーザリクエストを拒絶し(Ｓ２２０６)、その旨をユーザ側計算機に通知する。ストレージ管理プログラム６３０は全てのリクエストについて、Ｓ２２０４〜Ｓ２２０８の処理を繰り返す。
【００８１】
図２３は図１０の計算機システムの変形例である。図１０の計算機システムでは、プール１０００に追加されるボリュームは、ストレージシステム１０内のパリティグループから提供されたものであるが、図２３に係る計算機システムは、第１のストレージシステム１０に外部接続された第２のストレージシステム２０Ｂのパリティグループのボリューム２０Ａが第１のストレージシステムのプール１０００に割当てられる。第１のストレージシステム１０と第２のストレージシステム２０はバックエンドＳＡＮ８０Ａを介して接続されている。第１のストレージシステム１０の外部ボリューム１００６は、第２のストレージシステム２０のボリューム２０Ａをプール１０００に割当てるための仮想的なボリュームである。
【００８２】
図２３に係る計算機システムにおいても、パリティグループ２００Ｂに対する暗号化設定状態とプールに対する暗号化設定状態に対して、既述の暗号キーのバックアップタイプの調整処理等が適用される。なお、図２４は、第１のストレージシステム１０内の外部ボリューム１００６と、外部ストレージシステム２０、第１のストレージシステム１０のプール１０００に追加されるボリューム２０Ａ、そのボリュームのパリティグループ２００Ｂとの対応関係を管理するテーブルの一例である。データ暗号化プログラム６３２は暗号化設定に関する既述の諸処理を実行する際に、このテーブルを適宜参照する。
【符号の説明】
【００８３】
１０  第１のストレージシステム
２０  第２のストレージシステム
３０  第３のストレージシステム
７０  ホスト計算機
１００  オリジナルボリューム
１００Ａ〜１００Ｃ  ターゲットボリューム
２００，２００Ａ〜２００Ｃ  パリティグループ
６０  管理サーバ
【図１】
0005749855.tif 000002
【図２】
0005749855.tif 000003
【図３】
0005749855.tif 000004
【図４】
0005749855.tif 000005
【図５】
0005749855.tif 000006
【図６】
0005749855.tif 000007
【図７】
0005749855.tif 000008
【図８】
0005749855.tif 000009
【図９】
0005749855.tif 000010
【図１０】
0005749855.tif 000011
【図１１】
0005749855.tif 000012
【図１２】
0005749855.tif 000013
【図１３】
0005749855.tif 000014
【図１４】
0005749855.tif 000015
【図１５】
0005749855.tif 000016
【図１６】
0005749855.tif 000017
【図１７Ａ】
0005749855.tif 000018
【図１７Ｂ】
0005749855.tif 000019
【図１８】
0005749855.tif 000020
【図１９】
0005749855.tif 000021
【図２０】
0005749855.tif 000022
【図２１】
0005749855.tif 000023
【図２２】
0005749855.tif 000024
【図２３】
0005749855.tif 000025
【図２４】
0005749855.tif 000026