IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

特開2023-118208アクセス制御システム及びアクセス制御方法
<>
  • 特開-アクセス制御システム及びアクセス制御方法 図1
  • 特開-アクセス制御システム及びアクセス制御方法 図2
  • 特開-アクセス制御システム及びアクセス制御方法 図3
  • 特開-アクセス制御システム及びアクセス制御方法 図4
  • 特開-アクセス制御システム及びアクセス制御方法 図5
  • 特開-アクセス制御システム及びアクセス制御方法 図6
  • 特開-アクセス制御システム及びアクセス制御方法 図7
  • 特開-アクセス制御システム及びアクセス制御方法 図8
  • 特開-アクセス制御システム及びアクセス制御方法 図9
  • 特開-アクセス制御システム及びアクセス制御方法 図10
  • 特開-アクセス制御システム及びアクセス制御方法 図11
  • 特開-アクセス制御システム及びアクセス制御方法 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023118208
(43)【公開日】2023-08-25
(54)【発明の名称】アクセス制御システム及びアクセス制御方法
(51)【国際特許分類】
   G06F 21/62 20130101AFI20230818BHJP
【FI】
G06F21/62 318
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2022021028
(22)【出願日】2022-02-15
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】在塚 俊之
(72)【発明者】
【氏名】山本 貴大
(72)【発明者】
【氏名】平井 達哉
(72)【発明者】
【氏名】斎藤 秀雄
(57)【要約】
【課題】システムのセキュリティ性の低下を抑制しつつ、ユーザ必要なリソースアクセスを実行することを許可する。
【解決手段】アクセス制御システムは、ユーザそれぞれのリソースアクセスの実行を許可する条件を規定する情報を格納する。アクセス制御システムは、第1ユーザによる対象システム内の第1リソースに対する操作を示す第1アクセス要求を取得し、上記情報に基づき、第1アクセス要求の許否を判定し、第1アクセス要求の不許可判定に対して第1アクセス要求の追加の許否判定の結果を取得し、許可を示す追加の許否判定の結果に従って第1ユーザによる第1アクセス要求の実行権限を付与する。
【選択図】図2
【特許請求の範囲】
【請求項1】
ユーザのリソースへのアクセスを制御するアクセス制御システムであって、
1以上のプロセッサと、
ユーザそれぞれのリソースアクセスの実行を許可する条件を規定する情報を格納する、1以上の記憶装置と、を含み、
前記1以上のプロセッサは、
第1ユーザによる対象システム内の第1リソースに対する操作を示す第1アクセス要求を取得し、
前記情報に基づき、前記第1アクセス要求の許否を判定し、
前記第1アクセス要求の不許可判定に対して、前記第1アクセス要求の追加の許否判定の結果を取得し、
許可を示す前記追加の許否判定の結果に従って、前記第1ユーザによる前記第1アクセス要求の実行権限を付与する、アクセス制御システム。
【請求項2】
請求項1に記載のアクセス制御システムであって、
前記1以上のプロセッサは、
前記第1アクセス要求の不許可判定に対して、前記第1アクセス要求の前記追加の許否判定の要求を管理者に提示し、
前記管理者から前記追加の許否判定の結果を受け取る、アクセス制御システム。
【請求項3】
請求項2に記載のアクセス制御システムであって、
前記1以上のプロセッサは、前記追加の許否判定の要求と共に、前記対象システムの状態及び前記第1ユーザの状態の少なくとも一方の情報を前記管理者に提示する、アクセス制御システム。
【請求項4】
請求項2に記載のアクセス制御システムであって、
前記1以上の記憶装置は、補助情報を格納し、
前記補助情報は、
前記対象システムの状態及び前記第1ユーザを含む1以上のユーザの状態の少なくとも一方の情報と、
前記追加の許否判定の基準の情報と、を含み、
前記1以上のプロセッサは、前記追加の許否判定の基準を満たす前記少なくとも一方の情報を前記管理者に提示する、アクセス制御システム。
【請求項5】
請求項1に記載のアクセス制御システムであって、
前記1以上の記憶装置は、補助情報を格納し、
前記補助情報は、
前記対象システムの状態及び前記第1ユーザを含む1以上のユーザの状態の少なくとも一方の情報と、
前記追加の許否判定の基準の情報と、を含み、
前記1以上のプロセッサは、前記補助情報に基づいて、前記第1アクセス要求の追加の許否判定を実行する、アクセス制御システム。
【請求項6】
請求項2に記載のアクセス制御システムであって、
前記1以上の記憶装置は、1以上のリソースアクセスグループを定義するリソースアクセス管理情報を格納し、
前記1以上のプロセッサは、
前記リソースアクセス管理情報から、前記第1アクセス要求と同一のリソースアクセスグループに含まれる付随リソースアクセスの情報を取得し、
前記付随リソースアクセスの情報を前記管理者に提示し、
前記管理者から、前記付随リソースアクセスの許否の判定結果を取得する、アクセス制御システム。
【請求項7】
請求項5に記載のアクセス制御システムであって、
前記1以上の記憶装置は、1以上のリソースアクセスグループを定義するリソースアクセス管理情報を格納し、
前記1以上のプロセッサは、
前記リソースアクセス管理情報から、前記第1アクセス要求と同一のリソースアクセスグループに含まれる付随リソースアクセスの情報を取得し、
前記付随リソースアクセスの許否判定を前記補助情報に基づいて実行する、アクセス制御システム。
【請求項8】
ユーザのリソースへのアクセスを制御する、アクセス制御方法であって、
システムが、第1ユーザによる対象システム内の第1リソースに対する操作を示す第1アクセス要求を取得し、
前記システムが、ユーザそれぞれのリソースアクセスの実行を許可する条件を規定する情報に基づき、前記第1アクセス要求の許否を判定し、
前記システムが、前記第1アクセス要求の不許可判定に対して、前記第1アクセス要求の追加の許否判定の結果を取得し、
前記システムが、許可を示す前記追加の許否判定の結果に従って、前記第1ユーザによる前記第1アクセス要求の実行権限を付与する、アクセス制御方法。
【請求項9】
請求項8に記載のアクセス制御方法であって、
前記システムが、前記第1アクセス要求の不許可判定に対して、前記第1アクセス要求の前記追加の許否判定の要求を管理者に提示し、
前記システムが、前記管理者から前記追加の許否判定の結果を受け取る、アクセス制御方法。
【請求項10】
請求項9に記載のアクセス制御方法であって、
前記システムが、前記追加の許否判定の要求と共に、前記対象システムの状態及び前記第1ユーザの状態の少なくとも一方の情報を前記管理者に提示する、アクセス制御方法。
【請求項11】
請求項9に記載のアクセス制御方法であって、
前記システムが補助情報を参照し、前記補助情報は、前記対象システムの状態及び前記第1ユーザを含む1以上のユーザの状態の少なくとも一方の情報と、前記追加の許否判定の基準の情報と、を含み、
前記システムが、前記追加の許否判定の基準を満たす前記少なくとも一方の情報を前記管理者に提示する、アクセス制御方法。
【請求項12】
請求項8に記載のアクセス制御方法であって、
前記システムが補助情報を参照し、前記補助情報は、前記対象システムの状態及び前記第1ユーザを含む1以上のユーザの状態の少なくとも一方の情報と、前記追加の許否判定の基準の情報と、を含み、
前記システムが、前記補助情報に基づいて、前記第1アクセス要求の追加の許否判定を実行する、アクセス制御方法。
【請求項13】
請求項9に記載のアクセス制御方法であって、
前記システムが、1以上のリソースアクセスグループを定義するリソースアクセス管理情報から、前記第1アクセス要求と同一のリソースアクセスグループに含まれる付随リソースアクセスの情報を取得し、
前記システムが、前記付随リソースアクセスの情報を前記管理者に提示し、
前記システムが、前記管理者から、前記付随リソースアクセスの許否の判定結果を取得する、アクセス制御方法。
【請求項14】
請求項12に記載のアクセス制御方法であって、
前記システムが、1以上のリソースアクセスグループを定義するリソースアクセス管理情報から、前記第1アクセス要求と同一のリソースアクセスグループに含まれる付随リソースアクセスの情報を取得し、
前記システムが、前記付随リソースアクセスの許否判定を前記補助情報に基づいて実行する、アクセス制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、リソースへのアクセス制御に関する。
【背景技術】
【0002】
ストレージシステム等のリソースへのアクセスを、許可されたユーザに限定する制御を行うことにより、不正アクセスを防止し、セキュリティ性を高める機能が用いられる。良く用いられるアクセス制御方式の1つであるRBAC(Role Based Access Control)では、リソースにアクセスするユーザに、業務等の役割に応じてアクセス権を付与したロールを割り当て、認可判定部が、ユーザに割り当てられたロールに基づいてリソースへのアクセス可否を判定して認可する。
【0003】
例えば、本開示の背景技術を開示する先行文献として、米国特許出願公開第2019/0361726号がある。米国特許出願公開第2019/0361726号は、仮想化技術を利用したリソースに対するアクセス制御を開示する。具体的には、複数のリソースを有する計算機システムは、リソース及びリソースグループを対応付けた情報を格納するリソース管理情報と、リソースグループを利用可能なユーザ及びプログラムを対応付けた情報を格納するリソースグループ管理情報と、を含む。リソース利用プログラムから、プログラムを使用するユーザにかかるリソースを指定したリクエストを受信した場合に、制御部は、リソースグループ管理情報と、リソース管理情報とを用いて、リクエストにかかるリソースへのアクセス可否を判定する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許出願公開第2019/0361726号
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来は、ユーザに不必要な権限を与えるリスクを避けるため、予め付与するリソースアクセス権限を限定していた。この場合は、後から必要になったリソースアクセス権限は、ユーザに付与されてない可能性があった。逆に、ユーザの利便性を向上させるため、後から必要となる可能性のあるリソースアクセス権限を、予め付与していた。この場合は、必要のないリソースアクセス実行権限が付与されてセキュリティ性が低下してしまうリスクがあった。
【課題を解決するための手段】
【0006】
本開示の代表的な例は、ユーザのリソースへのアクセスを制御するアクセス制御システムであって、1以上のプロセッサと、ユーザそれぞれのリソースアクセスの実行を許可する条件を規定する情報を格納する、1以上の記憶装置と、を含み、前記1以上のプロセッサは、第1ユーザによる対象システム内の第1リソースに対する操作を示す第1アクセス要求を取得し、前記情報に基づき、前記第1アクセス要求の許否を判定し、前記第1アクセス要求の不許可判定に対して、前記第1アクセス要求の追加の許否判定の結果を取得し、許可を示す前記追加の許否判定の結果に従って、前記第1ユーザによる前記第1アクセス要求の実行権限を付与する。
【発明の効果】
【0007】
本発明の代表的な一例によれば、システムのセキュリティ性の低下を抑制しつつ、ユーザ必要なリソースアクセスを実行することを許可できる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【0008】
図1】本明細書の第1の実施例に係る計算機システムの構成例を示す。
図2】計算機システムの論理構成例を模式的に示す。
図3】ユーザ端末のコマンド取得部が発行するリソースアクセスコマンドの例を示す。
図4】ユーザ認証部がユーザ認証において利用することができる認証タイプの例を示す。
図5】ユーザ管理テーブルの例を示す。
図6】ポリシ管理テーブルの例を示す。
図7】本明細書の第1の実施例に係るリソースアクセス制御の処理フローの例を示す。
図8】本明細書の第2の実施例に係る計算機システムの論理構成例を模式的に示す。
図9】判定補助情報管理テーブルの例を示す。
図10】本明細書の第3の実施例に係る計算機システムの論理構成例を模式的に示す。
図11】本明細書の第4の実施例に係る計算機システムの論理構成例を模式的に示す。
図12】ロール管理テーブルの例を示す。
【発明を実施するための形態】
【0009】
以下、図面に基づいて、本発明の実施の形態を説明する。なお、以下の記載及び図面は、本発明を説明するための例示であって、説明の明確化のため、適宜、省略及び簡略化がなされており、本発明は、他の種々の形態でも実施する事が可能であり、特に限定しない限り、各構成要素は単数でも複数でも構わない。
【0010】
また、以下に説明する実施例は特許請求の範囲に係る発明を限定するものではなく、実施例の中で説明されている要素の組み合わせの全てが、発明の解決手段に必須であるとは限らない。
【0011】
以下の説明では、「テーブル」、「リスト」等の表現にて各種情報を説明することがあるが、各種情報は、これら以外のデータ構造で表現されていてもよく、データ構造に依存しないことを示すため、「xxxのテーブル」、「xxxのリスト」等を「xxx情報」等と称することがある。以下の説明では、識別情報について説明する際に、「識別情報」、「名」、「ID」等の表現を用いるが、これらについてはお互いに置換が可能である。
【0012】
以下の説明では、同一あるいは同様な機能を有する構成要素が複数ある場合には、基本的に同一の符号を付して説明するが、機能が同じであっても機能を実現するための手段が異なる場合がある。さらに、後述する本発明の実施例は、汎用コンピュータ上で稼動するソフトウェアで実装してもよいし、専用ハードウェア又はソフトウェアとハードウェアの組み合わせで実装してもよい。
【0013】
また、以下の説明では「プログラム」を主語として処理を説明することがあるが、プログラムはプロセッサ(例えば、CPU: Central Processing Unit) によって実行されることによって、定められた処理に対して、適宜に記憶資源(例えば、メモリ)、及び/または、インタフェースデバイス(通信ポート)等を用いながら行うため、処理の主体がプロセッサとして説明してもよい。
【0014】
プログラムを主語として説明された処理は、プロセッサを有する計算機(例えば、計算ホスト、ストレージ装置)が行う処理としてもよい。また、以下の説明では、「コントローラ」の表現で、プロセッサ又はプロセッサが行う処理の一部又は全部を行うハードウェア回路を指してもよい。
【0015】
プログラムは、プログラムソース(例えば、プログラム配布サーバや、計算機が読み取り可能な記憶メディア)から、各計算機にインストールされてもよく、この場合、プログラム配布サーバはCPUと記憶資源を含み、記憶資源はさらに配布プログラムと配布対象であるプログラムを記憶し、配布プログラムをCPUが実行することで、プログラム配布サーバのCPUは配布対象のプログラムを他の計算機に配布してもよい。
【0016】
また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。
【0017】
さらに、以下の説明において、記憶ドライブ又は単にドライブは、物理的な記憶デバイスを意味し、典型的には、不揮発性の記憶デバイス(例えば補助記憶デバイス)でもよい。ドライブは、例えば、HDD(Hard Disk Drive)又はSSD(Solid State Drive)でもよい。ストレージシステムに異なる種類のドライブが混在していてもよい。
【0018】
以下において、本明細書の一実施形態に係るリソースアクセス制御を説明する。ストレージシステム等では、リソースへのアクセスを、許可されたユーザに限定するセキュリティ機能が要求される。しかし、状況変化等により、ユーザが、予め許可されたリソースアクセス以外のリソースアクセスを要求した場合には、従来は当該リソースアクセスを実行することができなかった。
【0019】
例えばRBAC(Role Based Access Control)方式では、1つのロールに、関連する複数のリソースアクセス権限を付与しておくことがある。この場合は、ユーザが実行する必要のあるリソースアクセス権限を付与するために、当該リソースアクセス権限を付与したロールをユーザに割り当てることにより、同ロールに付与されていて当該ユーザが実行する必要のない他のリソースアクセス権限も、同時に付与してしまう可能性がある。
【0020】
一方、予めユーザに割り当てられたロールが持つ権限範囲を超える操作権限が必要になることがある。例えば、マルチテナント対応等でストレージ管理権限を細分化する必要がある場合や、DevOps等において開発時と本番運用時で必要な権限が変化する場合では、一時的なユーザの作業範囲拡大や、当初想定外作業が発生し得る。
【0021】
リソースアクセス制御を必要とするストレージシステム等では、システム構築や初期設定作業を行うベンダ等ストレージ提供者と、ストレージシステムの運用管理を行う顧客等のストレージ運用管理者で実行する作業が異なる。それぞれを担当するユーザが、誤って実行する必要のない操作を行ってしまう等のトラブルを抑止するため、担当作業に必要な操作権限のみを付与する必要がある。
【0022】
運用管理者は、通常業務ではボリューム設定等、提供されたストレージ構成のプロビジョニング操作を実行しているため、通常はこれらの操作を実行する権限のみを予め付与しておく。しかし、例えば、ボリュームを作成したプールの容量がひっ迫した場合や、IO負荷が高くなった場合等、稼働状態が悪化した際には、プール容量を拡張する等の操作の実行権限が一時的に必要になることがある。
【0023】
設定ミス等による障害リスクを避ける観点から、運用管理者には、デフォルトでは構成変更を伴うプール編集操作の実施権限を付与していなかった場合、運用管理者がプール容量拡大操作を実行するリソースアクセスコマンドを要求した際に、従来は当該リソースアクセスを実行できなかった。
【0024】
ユーザが、付与されている権限範囲を逸脱するリソースアクセスを実行する必要が生じた場合に、これまでは、ユーザがリソースアクセスを行う前に、システム管理者に当該リソースアクセス権限の付与を依頼し、システム管理者が、アクセス権付与の必要性を判定するとともに、マニュアル等を参照してアクセス権付与に必要なロールを特定し、手作業でロール割り当てを変更するコマンドを実行する必要があった。
【0025】
また、ユーザが、一連の作業の中で、権限付与を要求したリソースアクセスに関連する別のリソースアクセスを行おうとし、当該リソースへのアクセス権限が付与されていなかった場合は、再度システム管理者に当該リソースアクセス権限の付与を依頼し、システム管理者がロール割り当て判定、及び割り当てを行う必要があった。
【0026】
さらに、リソースアクセス実行後に、引き続き当該権限を付与したままにする必要があるかを判定し、不要な場合はロール割り当てを解除する必要があった。このように、ユーザのリソースアクセスの実行範囲が変わる度に、システム管理者がロール割り当ての変更、復元を手作業で行うのは煩雑であり、また時間がかかっていた。
【0027】
本明細書の一実施形態は、ユーザが、リソースへの操作を示すアクセス要求を行った際に、アクセス権限を判定する条件を記載した情報を参照し、これに基づいた当該アクセス要求の実行可否判定を行う。ユーザに当該アクセス要求を実行する権限が付与されていないと判定された場合(不許可判定の場合)に、当該アクセスの実行権限付与の許否を追加判定して、これに基づいて権限付与を行う。追加判定は、アクセス制御システムから要求を受けたシステム管理者又はアクセス制御システムが自動で実行することができる。
【0028】
これにより、予めユーザに割り当てるリソースアクセス実行権限を必要範囲に限り、ユーザが、運用中に、認可されていない権限を必要とするリソースアクセスを要求した際に、要求が妥当であるかを判定し、当該リソースアクセスの実行権限を認可することが可能にる。この結果、セキュリティ性の高いアクセス管理を行うことが可能になる。本開示の特徴は、ストレージシステムと異なる対象システムへのリソースアクセス制御に適用することができる。アクセス実行権限は、例えばユーザのロールに応じて与えられてもよく、他の条件項目を基準に与えれてもよい。
【実施例0029】
図1は、本明細書の一実施例に係る計算機システムの構成例を示す。計算機システムは、ユーザ端末100、ホストサーバ210、管理サーバ220及びストレージシステム230と、を含む。これらは、ネットワーク250を介して通信可能である。なお、これら構成要素それぞれの数は任意である。また、ユーザ端末100が、ホストサーバ210又は管理サーバ220の機能を含んでもよい。
【0030】
ネットワーク250の方式は、例えば、LAN(Local Area Network)やSAN(Storage Area Network)であってもよい。ホストサーバ210と管理サーバ220は、異なるネットワークを介してストレージシステム230にアクセスしてもよく、ユーザ端末100は、ネットワーク250と異なるネットワークを介して、ホストサーバ210又は管理サーバ220にアクセスしてもよい。
【0031】
ユーザ端末100は、ユーザから計算機システムへのアクセスを可能とする装置である。ユーザ端末100は、例えば一般的な計算機構成を有することができ、1以上のプロセッサ、1以上の記憶装置及び1以上のネットワークインタフェース及び1以上の入出力インタフェースを含む。ユーザ端末100は、特定処理専用のハードウェアを含んでもよい。
【0032】
ホストサーバ210は、ユーザアプリケーション等が動作するホストマシンである。ホストサーバ210は、例えば一般的な計算機構成を有することができ、1以上のプロセッサ、1以上の記憶装置及び1以上のインタフェースを含む。ホストサーバ210は、特定処理専用のハードウェアを含んでもよい。ホストサーバ210は、様々なソフトウェアプログラムを実行することができ、例えば、データベースやWebサービスを実行し、それらにより作られたデータを、ネットワーク250を介してストレージシステム230にライト及びリードする。ホストサーバ210は、後述するリソース利用アプリケーションを実行してもよい。
【0033】
管理サーバ220は、ストレージシステム230を管理する。管理サーバ220は、例えば一般的な計算機構成を有することができ、1以上のプロセッサ、1以上の記憶装置及び1以上のインタフェースを含む。管理サーバ220は、特定処理専用のハードウェアを含んでもよい。管理サーバ220は、後述する認証及び認可システムを管理するソフトウェアプログラムを実行してもよい。
【0034】
計算機システムは、後述する認証及び認可システムを含む。ストレージシステム230は、コントローラ231及びドライブボックス237を含む。コントローラ231は、ホストインタフェース232、管理インタフェース233、ドライブインタフェース234、プロセッサ235、及びメモリ236を含む。これら構成要素の数は任意である。
【0035】
ホストインタフェース232は、ホストサーバ210との通信のためのインタフェース装置である。管理インタフェース233は、管理サーバ220との通信のためのインタフェース装置である。ドライブインタフェース234は、ドライブボックス237との通信のためのインタフェース装置である。
【0036】
ドライブボックス237は、ホストサーバ210のアプリケーションプログラムが使用する各種データを格納する1以上の不揮発性又は揮発性の記憶ドライブを収容する。ドライブボックス237は、コントローラ231のドライブインタフェース234に接続される。図1の構成例において、ドライブボックス237は、複数のハードディスクドライブ(HDD)238及び複数のソリッドステートドライブ(SSD)239を含む。複数の記憶ドライブ238、239は、データ冗長化のためのRAID(Redundant Arrays of Independent Disks)グループを構成してもよい。
【0037】
コントローラ231は、ストレージシステム230の制御を行う。コントローラ231は、ホストサーバ210のデータを格納するためのボリュームを、ホストサーバ210に提供する。コントローラ231は、記憶ドライブ238及び239の物理的な記憶領域をボリュームに割り当てて、データを記憶ドライブ238及び239に格納する。コントローラ231は、ホストサーバ210にストレージとしての機能を提供する。
【0038】
プロセッサ235は、ホストサーバ210からのリードコマンドやライトコマンドに応じて、対応するドライブボックス237に格納されたデータを転送指示する。コントローラ231のメモリ236は、例えば、SDRAM(Synchronous Dynamic Random Access Memory)等の半導体メモリで構成される。メモリは、揮発メモリと不揮発メモリと組み合わせて構成してもよい。
【0039】
プロセッサ235は、ストレージシステム230の制御、ホストサーバ210、管理サーバ220及びドライブボックス237との通信のための処理を実行する。メモリ236は、プロセッサ235の主記憶として、制御や通信のためのプログラム及び各種データを格納する。メモリ236は、後述する認証及び認可システムを実現するソフトウェアプログラムを格納する。また、メモリ236は、コントローラ231のディスクキャッシュ(キャッシュメモリ)としても使用される。プロセッサ235は、メモリ236に格納されている、命令コードを含むプログラムを実行することで所定の機能を実現する。
【0040】
複数のコントローラが冗長化のために実装されていてもよい。複数コントローラは、ストレージシステム230内のネットワークを介して通信する。コントローラは、ネットワークを介して、ライトデータの2重化やメタデータの共有等を行う。一方のコントローラが保守や障害等で閉塞しても、もう一方のコントローラにより、ストレージ処理を継続可能となる。
【0041】
なお、計算機システムは、ここで示したもの以外も含んでよい。例えば、ネットワークには、スイッチやルーター等のネットワーク機器が間に接続されてもよい。また、パブリッククラウド上のストレージサービスに外部ネットワークを経由して接続する構成でもよい。
【0042】
図2は、本明細書の一実施例に係る計算機システムの論理構成例を模式的に示す。計算機システムは、リソースアクセス認証及び認可システムを含む。計算機システムは、リソース利用アプリケーション120、認証基盤130、認可基盤140、及びリソースサーバ150を含む。これらは、計算機システムに実装されるソフトウェア構成要素又は例えばプロセッサにより実現される機能構成要素を表す。
【0043】
リソース利用アプリケーション120は、例えば、ホストサーバ210に含まれる。認証基盤130、認可基盤140、及びリソースサーバ150は、例えば、ストレージシステム230に含まれる。各機能がいずれのハードウェア装置に実装されるかは、計算機しシステムの設計に依存する。
【0044】
図2に示すように、ユーザ10は、ユーザ端末100を使用して、計算機システムのソフトウェアリソース又はハードウェアリソースにアクセスする。ユーザ端末100は、ユーザからの入力に応じて、リソース利用アプリケーション120にアクセスする。ユーザは、ユーザ端末100を介してリソース利用アプリケーション120に対し、対象リソース、リソースに対する操作、及び操作パラメータを指定したコマンドを発行することにより、リソースアクセスを要求する。
【0045】
ユーザ端末100は、ユーザインタフェース(I/F)101、ユーザ情報取得部102、及びコマンド取得部103を含む。ユーザインタフェース101は、ユーザ10がユーザ端末100を用いてリソース操作の実行を要求するためのユーザインタフェースであり、例えば、Webブラウザを利用することができる。
【0046】
ユーザ情報取得部102は、ユーザ10が入力したユーザ名、アカウント名、ログインID、パスワード等のユーザ情報を取得する。コマンド取得部103は、ユーザがユーザインタフェース101を介して入力したリソースアクセスコマンドを取得し、認可基盤140のポリシ判定部141、及びリソース利用アプリケーション120のリソースアクセス実行部123に送信する。
【0047】
リソース利用アプリケーション120は、ストレージ、コンピュート(ベアマシン、VM、コンテナを含む)、ネットワーク等のリソースにアクセスして処理を実行する。リソース利用アプリケーション120は、認証要否判定部121、アクセス権判定部122、リソースアクセス実行部123及びリソース利用処理実行部124を含む。
【0048】
認証要否判定部121は、ユーザ10がリソースアクセス要求を行った際に、該ユーザを識別する情報、例えばアカウント名をユーザ端末100のユーザ情報取得部102から取得し、認証が必要か又はすでに認証済ユーザかを判定する。認証が必要かつ未認証だった場合、認証要否判定部121は、認証基盤130に認証を要求する。ユーザ10が認証済み、あるいは認証基盤130によって認証が完了した通知を受信した場合に、認可基盤140に、リソースアクセス要求の認可判定を要求する。
【0049】
リソースアクセス実行部123は、ユーザ端末100のコマンド取得部103からリソースアクセスコマンドを取得する。なお、リソースアクセス実行部123によるリソースアクセスコマンド取得は、認可基盤140のポリシ判定部141による判定の結果、当該リソースへのアクセス及び操作の実行が認可されてからでもよい。
【0050】
アクセス権判定部122は、ユーザ10が要求したリソースアクセスが認可されているかを判定する。認可済の場合、アクセス権判定部122は、リソースアクセスコマンドの実行を、リソースアクセス実行部123に許可する。
【0051】
リソースアクセス実行部123は、リソースアクセスコマンドをリソースサーバ150に発行する。リソース利用処理実行部124は、リソースアクセスに基づいて所定の処理を実行する。
【0052】
認証基盤130は、リソース利用アプリケーション120の認証要否判定部121から認証要求を受けた場合に、ユーザ認証を実行する。認証基盤130は、ユーザ認証部132及びユーザ管理テーブル(TBL)131を含む。ユーザ認証部132は、ユーザ10からのサインインを処理する。具体的には、ユーザ認証部132は、例えば、ユーザ10からユーザ端末100を介して入力されたパスワード及び/または指紋や顔の生体情報等を用いて、ユーザ10が計算機システムに予め登録されたユーザ本人であることを認証する。
【0053】
ユーザ管理テーブル131には、認証対象として登録されたユーザの情報、例えば、ユーザ名、役職、E-mailアドレス、パスワード、生体情報を照合するための情報、割り当てたロール、所属グループ、アクセス日時等を格納する。ユーザ認証部132は、ユーザ10がサインイン時に入力したユーザ情報と、ユーザ管理テーブル131に格納されている情報とを照合することにより、ユーザ認証を行う。
【0054】
ユーザ認証部132によって認証が成功した場合は、ユーザ認証部132は、当該ユーザに割り当てられたロールを含むユーザ情報を、認可基盤140のポリシ判定部141に送信する。
【0055】
なお、最初にユーザ認証を実行した際に取得したユーザ情報は、対象ユーザの認証が有効な間(有効セッション中)、リソース利用アプリケーション120、認証基盤130、認可基盤140のいずれか、またはその全てに保持し、同一ユーザによるリソースアクセス要求が発行された場合には、保持されたユーザ情報を用いてポリシ判定を行ってもよい。保持されたユーザ情報は、セッション有効期間終了と共に破棄してもよい。
【0056】
認可基盤140は、認証基盤130において認証されたユーザ10に対し、該ユーザ10がアクセス要求したリソースへのアクセス権及びリソースに対する操作の実行権を有するかを判定する。ユーザ10が、アクセス権及び操作の実行権を有する場合、認可基盤140は実行を認可し、ユーザ10がアクセス権又は操作の実行権を有しない場合は、認可基盤140は実行を認可しない。
【0057】
認可基盤140は、ポリシ判定部141、ポリシ管理テーブル142、アクセス認可部143、ロール割り当て変更部144、及びロール管理インタフェース145を含む。
【0058】
ポリシ判定部141は、ユーザ認証部132から、認証済ユーザについて、ロール情報を含むユーザ情報を取得する。また、要求されたリソースアクセスコマンドが対象とするリソース及び当該リソースに対する操作の情報を、ユーザ端末のコマンド取得部103から取得する。ポリシ判定部141は、それらをポリシ管理テーブル142に格納されたアクセスポリシの情報(ポリシ情報)と照合し、該ユーザ10が、要求したリソースへのアクセス権及び操作実行権を有するか判定する。
【0059】
ポリシ管理テーブル142には、ポリシ判定部141で使用するポリシ情報を格納する。ポリシ情報には、例えば、ロール、ロールに付与された権限、権限がアクセスを許可するリソース、及び該リソースに対し許可する操作を対応付けた判定ルールが含まれる。ポリシ判定部141は、ポリシ管理テーブル142を参照し、ユーザ認証部132で認証されたユーザ10に割り当てられているロールに、要求されたリソースアクセス及びリソースに対する操作を実行する権限が付与されているかを判定する。
【0060】
アクセス認可部143は、ポリシ判定部141によって判定した結果、ユーザ10が、要求したリソースへのアクセス権及び要求操作の実行権を有する場合に、当該リソースへのアクセス及び操作を認可する。アクセス認可部143は、認可コードをリソース利用アプリケーション120に送信する。
【0061】
ロール割り当て変更部144は、ポリシ判定部141において、ユーザが要求したリソースアクセスコマンドの実行権限を付与したロールが、当該ユーザに割り当てられていなかった場合に、当該リソースアクセスコマンドの実行権限が付与されているロールをポリシ管理テーブル142から取得する。ロール割り当て変更部144は、さらに、ポリシ判定部141を介して取得した、リソースアクセス要求及びリソースアクセスを要求したユーザの情報を、ロール管理インタフェース145に送信する。
【0062】
ロール管理インタフェース145は、要求されたリソースアクセス情報、及びリソースアクセスを要求したユーザの情報をシステム管理者に提示して、当該リソースアクセス要求の許否の追加判定を要求する。
【0063】
システム管理者20は、ロール管理インタフェース145を介して提示されたこれらの情報に基づいて、要求されたリソースアクセスコマンドの実行権限付与の正当性を追加判定する。権限付与が正当と判定した場合に、システム管理者20は、当該権限の付与を許可し、ロール管理インタフェース145を用いて許可した旨入力する。
【0064】
なお、ロール割り当て変更部144は、要求されたリソースアクセスコマンドの実行権限が付与されているロール情報をロール管理インタフェース145に送信し、ロール管理インタフェース145がシステム管理者に当該ロール情報を提示してもよい。この場合は、システム管理者20が、要求されたリソースアクセスコマンドの実行権限を付与するロールが何であるかを確認することができる。
【0065】
ロール管理インタフェース145は、システム管理者20が権限付与を許可した場合に、該権限を許可したことを示す通知をロール割り当て変更部144に送信する。ロール割り当て変更部144は、許可通知を受けて許可されたリソースアクセスコマンド実行権限を付与するロールを、リソースアクセスを要求したユーザのユーザ情報に含まれるロール割り当て情報に追加する。ロール割り当て情報は、リソース利用アプリケーション120、認証基盤130、認可基盤140のいずれか、またはその全てに保持されている。ロール割り当て変更部144は、さらに、ポリシ判定部141に、変更されたロール割り当てを通知する。
【0066】
ポリシ判定部141は、変更されたロール割り当てに基づいてポリシ判定を再度実行することにより、要求されたリソースアクセスの実行を認可する。また、ロール割り当て変更部144は、変更されたロール割り当て情報に基づいて、認証基盤130のユーザ管理テーブル131に格納されている該当ユーザのロール割り当て情報を更新する。
【0067】
ユーザ管理テーブル131におけるロール割り当て情報は、例えば、割り当て変更が生じたタイミング若しくはポリシ判定を実行するタイミングで更新してもよく、又はポリシ判定時にロール割り当て情報が最新になる頻度で定期的に更新してもよい。これにより、次回のポリシ判定時点で最新のロール割り当て情報が使用されるようにする。
【0068】
リソース利用アプリケーション120、認証基盤130、認可基盤140のいずれか、またはその全てに保持されているロール割り当て情報は、セッション有効期間が終了した際に、セッション情報と共に破棄してもよい。
【0069】
他の例において、保持されているユーザ情報は、上記タイミングまたは他の必要なタイミングで、ユーザにロールを割り当てる通常の手段等を用いて認証基盤130のユーザ管理テーブル131のロール割り当て情報と同期させ、新たなセッションを開始した時に使用してもよい。これにより、セッション有効期間終了後に、同一ユーザによって新たなリソースアクセスが要求された際には、変更されたロール割り当て情報に基づいてポリシ判定を実行することができる。
【0070】
ロールを追加する際には、システム管理者あるいはシステム設定により、必要に応じて有効期限を設ける、アクセス環境を制限する(コンソールからのアクセスに限定する、VPN接続が必要等)、アクセス可能リソース又は実行操作を制限する、等の制限条件を設定し、ポリシ判定時に、制限条件を判定し、条件を満たさない場合には認可しないようにしてもよい。
【0071】
なお、ロール管理インタフェース145が、システム管理者20による権限付与許否判定結果をアクセス認可部143に送信し、アクセス認可部143は、ユーザ10が要求したリソースへのアクセス権及び要求操作の実行権付与が許可された場合に、当該リソースへのアクセス及び操作を認可し、認可コードをリソース利用アプリケーション120に送信してもよい。この場合は、割り当て変更されたロール情報に基づいてポリシ判定を再度実行する必要はなく、個別のリソースアクセス要求毎に実行権限を認可することができる。
【0072】
システム管理者20が、要求されたリソースアクセスの実行を許可しなかった場合は、アクセス認可部143は、非認可メッセージ(エラーコード)をアクセス権判定部122に送信する。アクセス権判定部122は、必要に応じて非認可メッセージをユーザ端末100に送信し、ユーザ端末100を介して非認可メッセージに相当する情報をユーザ10に提示してもよい。
【0073】
リソースサーバ150は、データストレージ(ボリューム、プール、ファイルディレクトリ等)や、コンピュート(VM、コンテナ等)、ネットワーク(ドメイン、ポート、チャネル、プロトコル等)のリソースを管理する。リソースサーバ150は、1又は複数のリソースを含む。
【0074】
リソース例A151は、例えばデータストレージのボリュームであり、リソース例B152は、例えばデータストレージのファイルディレクトリである。リソース例C153は、例えばコンピュートのVM(仮想マシン)であり、リソース例D154は、例えばコンピュートのDockerコンテナである。リソース例E155は、例えばネットワークリソースのドメインであり、リソース例F156は、例えばネットワークリソースのポートである。
【0075】
なお、図2は、本明細書の一実施例に係る認証、認可及びリソースアクセス処理の流れの例を示したものである。認証及び認可プロトコルは、例えば、OAuth2、OpenID Connect、SAML等の規格に基づいて実行され得る。認証及び認可に必要な情報を含有するデータ(種々トークン)が、ユーザ端末100、リソース利用アプリケーション120、認証基盤130、及び認可基盤140の間でやり取りされ、セキュリティを保全しながら認証及び認可処理が実行され得る。
【0076】
上述のように、ユーザ10は、ユーザ端末100を利用して、リソースアクセスコマンドを送信する。図3は、ユーザ端末100のコマンド取得部103が発行するリソースアクセスコマンドの例である。図3は、コマンドの項目311及びそれらの指定例312を示している。このコマンドに応じて、リソースアクセス実行部123がリソースサーバ150にリソースアクセスコマンドを発行する。リソースアクセスコマンドは、対象のリソース、リソースに対する操作、及び操作におけるパラメータ等を指定する。
【0077】
図3は、ストレージリソースアクセスコマンドの例である。例えば、REST APIのようなアプリケーションプログラミングインタフェースを用いてストレージリソースアクセスを実行することができる。アクセス対象のリソースは、例えば、プールやボリューム等のストレージシステムのデータ格納領域である。上述のように、アクセス及び操作されるリソースは、ストレージリソースに限定されない。
【0078】
アクセス対象のリソースURI(Universal Resource Identifier)301は、リソース(本例ではプール)を同定する。リソースURI301で指定したリソースに対し、ストレージリソースアクセスコマンドは、プール容量を変更する操作302を定義する。
【0079】
操作302のために指定されるパラメータは、ストレージプールID303、プールタイプ304、プール容量305、を含む。操作302例は、他にプール作成、プール削除、プール情報取得等を含む。
【0080】
他のリソースアクセスの例は、コンピュートリソースにアクセスし、仮想マシン(VM)や、Docker Containerの生成、削除、変更等を行う。他のリソースアクセスの例は、ネットワークリソースにアクセスし、特定ドメインの情報を取得又は特定ネットワークポートを作成する。
【0081】
ユーザ10が、ユーザ端末100を介してリソースアクセスを要求した際、リソース利用アプリケーション120内の認証要否判定部121は、ユーザ10がすでに認証済みかを判定する。まだ認証されていないユーザ10の場合に、認証基盤130のユーザ認証部132に、ユーザ認証を要求する。
【0082】
ユーザ認証部132は、単独の認証タイプ又は複数の認証タイプの組み合わせを用いて、ユーザ認証を実行し、正当なユーザであるかを判定する。認証方法は、種々の認証システムで用いられている公知の方法を用いることができる。また、外部の認証システムに認証処理を委託することも可能である。
【0083】
図4は、ユーザ認証部132がユーザ認証において利用することができる認証タイプの例である。図4は、認証タイプ331及びそれらの概要332を示している。認証タイプの例として、パスワード認証321、ワンタイムパスワード認証322、指紋認証323、顔認証324及び静脈認証325を示す。
【0084】
パスワード認証321は、ユーザ10が入力したパスワードを、認証基盤130のユーザ管理テーブル131の情報と照合する。ワンタイムパスワード認証322は、ユーザ端末100と認証基盤130のそれぞれで、ワンタイムパスワード生成し、ユーザ10が入力したパスワードを双方で照合する。
【0085】
指紋認証323は、ユーザ端末100等に接続した指紋センサを用いてユーザ10の指紋に基づくデータを、ユーザ管理テーブル131の登録データと照合する。顔認証324は、ユーザ端末100等に接続したカメラ等を用いて取得したユーザ10の顔画像に基づくデータを、ユーザ管理テーブル131の登録データと照合する。静脈認証325は、ユーザ端末100等に接続した赤外線センサ等を用いて取得したユーザ10の静脈パターンに基づくデータを、ユーザ管理テーブル131の登録データと照合する。
【0086】
図5は、ユーザ情報を格納するユーザ管理テーブル131の例である。ユーザ情報には、例えばユーザ名、役職、E-mailアドレス、パスワード、生体情報を照合するための情報、割り当てたロール、所属グループ、アクセス日時等を格納する。また、本明細書の一実施例に係る、リソースアクセス要求時に追加されたロール及び追加ロールに対する制限等を格納する。
【0087】
図5は、ロール以外のユーザ情報の例として、ユーザID351、ユーザ名352、所属グループ353を示す。ユーザのロールの情報として、初期ロール355及び追加ロール356が示されている。追加ロール356は、ロール名(ロールのID)357、並びに、制限としての有効期限358及びアクセス環境359を示す。
【0088】
図5では、例えばID1のユーザに対し、ユーザ名User1、所属グループGroup1、初期割り当てロールRole1、Role2が設定されている。また、本明細書の一実施例に係る追加ロールとして、Role4、及び追加ロールの制限として、「8時間」の有効期限、及び「コンソール」のアクセス環境が格納されている。
【0089】
このうち、初期ロール355は、アクセス制御対象システムにユーザを登録した際等、事前に割り当てたロールを示す。また、追加ロール356は、本明細書の一実施例を用いて、ユーザが実行権限を有していないリソースアクセスを要求した際に、割り当てたロールを示している。図5の例では、追加したロールの制限として、有効期限358、及びアクセス環境359が設定されている。
【0090】
図6は、ポリシ情報を格納するポリシ管理テーブル142の例である。ロールそれぞれに対し、実行権限を付与する操作と対象リソースが対応づけられている。具体的には、図6に示すポリシ管理テーブル142は、ロールID371、ロール名372、及びポリシ373を示す。ポリシ373は、ロールに対応付けられているリソース374及び操作375を示す。
【0091】
例えばロールRole1には、対象リソースとして、ボリューム(/Obj/Volume)、LUN(Obj/LUN)、プール(/Obj/Pool)、性能(/Obj/Performance)が、それらのリソースに対する操作として、情報取得(GET)権限が、付与されている。
【0092】
またロールRole4には、プール(Obj/Pool)リソースに対し、作成(POST)操作と更新(PATCH)の操作権限が付与されている。これに基づいて、例えばRole1を割り当てたユーザには、ボリューム、LUN、プール、性能リソースの情報取得権限が付与される。またRole4を割り当てたユーザには、プールリソースの作成、更新権限が付与される。
【0093】
図2のポリシ判定部141は、図5のユーザ管理テーブル131を参照して抽出した、リソースアクセスを要求したユーザに割り当てられているロール、リソースアクセスコマンドに含まれるリソース、及びリソースに対する操作の組み合わせを、図6のポリシ管理テーブル142に含まれるポリシと照合する。これにって、ユーザが要求したリソースアクセスを実行する権限を有しているかを判定する。
【0094】
図7は、本明細書の一実施例に係るリソースアクセス認証及び認可システムの処理フローの例を示す。まず、ユーザが、ユーザ端末100から、ユーザ識別情報とリソースアクセスコマンドを入力する(S101)。
【0095】
リソース利用アプリケーション120は、ユーザ端末100からユーザ識別情報とリソースアクセスコマンドを取得する(S102)。認証要否判定部121は、認証済みユーザを示す管理情報を参照して、当該ユーザ10のユーザ認証が済んでいるか判定する(S103)。
【0096】
ユーザ認証が済んでいない場合(S103:NO)、認証要否判定部121は、認証基盤130にユーザ認証を要求する(S104)。認証基盤130のユーザ認証部132は、ユーザ認証に必要な情報を認証要否判定部121から取得し、ユーザ管理テーブル131を参照して、ユーザ認証を実行する(S105)。
【0097】
ユーザが正当なユーザではない場合(S106:NO)、認証要否判定部121はその判定結果をユーザ認証部132から取得し、エラーメッセージをユーザ端末100に送信する。ユーザ端末100は、そのエラーメッセージをユーザ10に提示する(S107)。エラー処理としては、アプリケーションを終了するか、ユーザからのアプリケーションへのアクセスを遮断してもよいし、ユーザに新しいパスワードの入力を促す等により、認証処理を再実行してもよい。
【0098】
ユーザが正当なユーザである場合(S106:YES)、ユーザ認証部132は、ユーザ認証成功通知をリソース利用アプリケーション120の認証要否判定部121に送信する(S108)。認証要否判定部121は、ユーザが認証済みか(S103:YES)、認証成功通知を受信した場合に、認可基盤140にリソースアクセスコマンド実行の認可判定を要求する(S109)。認可基盤140は、認証基盤130からユーザ情報を、またユーザ端末100からリソースアクセスコマンドを取得する(S110)。
【0099】
上述のように、ユーザ認証が一度実行されると、その後のユーザ認証は省略される。これにより、リソースへのアクセスの度に認証を行う必要がなく、一度の認証で複数のリソースアクセスに対する認可処理を実行できる。なお、ユーザ認証をアクセス要求毎に実行してもよい。認証は、OpenID ConnectやSAML等の認証・認可プロトコルに則って実行することとしてよい。これらのプロトコルでは、認証成功時にトークンと呼ばれる識別情報が発行され、認証済みのユーザかどうかの判定は、トークンの有効性判定に基づいて行われる。
【0100】
次に、認可基盤140が、ユーザ10が、要求したリソースアクセスコマンドを実行する権限を有するかを判定する(S111)。判定は、ポリシ判定部141が、ユーザ情報から抽出したユーザに割り当てられているロールと、ポリシ管理テーブル142から抽出した、ロールに付与されたリソースアクセスコマンド実行権限を照合することによって行われる(S112)。
【0101】
ユーザ10がリソースアクセスコマンド実行権限を有する場合(S112:YES)は、アクセス認可部143が、リソースアクセスを認可し、リソース利用アプリケーションのアクセス権判定部122に認可通知を送信する(S113)。アクセス権判定部122は、認可通知に応答して、ユーザ10に、リソースへのアクセス権及び操作の実行権を付与する。リソースアクセス実行部123は、認可されたリソースアクセスコマンドを実行し(S114)、リソース利用アプリケーション120のリソース利用処理実行部124において、リソースアクセスに基づく処理を実行する(S115)。
【0102】
ユーザ10がリソースアクセスコマンド実行権限を有していない場合(S112:NO)は、判定結果は不許可となる。ロール割り当て変更部144が、リソースアクセスコマンド実行権限が付与されているロールを抽出する(S116)。さらにロール割り当て変更部144は、ユーザ情報及びリソースアクセスコマンドを、ロール管理インタフェース145を介してシステム管理者20に提示する(S117)。
【0103】
システム管理者20は、提示された情報に基づいて、要求されたリソースアクセスコマンドを実行する権限付与の正当性を判定する(S118)。システム管理者20が、権限付与が正当と判定した場合(S119:YES)は、ロール割り当て変更部144が当該権限を付与したロールをユーザに追加で割り当て、ポリシ判定の再実行を要求する(S120)。ポリシ判定部141は、再度リソースアクセスコマンド実行権限を有するか判定する(S111)。
【0104】
システム管理者20による権限付与判定結果が、権限付与が正当でないこと(不許可)を示す場合(S119:NO)、アクセス認可部143は、リソース利用アプリケーション120を介して、エラーメッセージをユーザ端末100に送信し、ユーザ端末100はそのエラーメッセージをユーザ10に提示する(S121)。エラー処理として、アプリケーションを終了するか、ユーザからのアプリケーションへのアクセスを遮断してもよいし、ユーザに新しいリソースアクセスコマンドの入力を促す等により、認可処理を再実行してもよい。上記例はロールを基準に実行権限を付与るが、リソースアクセス要求の実行権限は、例えば、図5に1例を示した、リソースアクセスを要求したユーザの所属グループやアクセス環境の他、現在地や要求日時等のユーザ属性等、他の条件項目を基準に付与されてもよい。この点は他の実施例において同様である。
【実施例0105】
上記実施例1の構成例は、システム管理者が、ユーザのリソースアクセス要求の正当性を判定してリソースアクセス実行権限の認可を決定する。以下に説明する構成例では、システム管理者によるリソースアクセス要求の正当性判定時に、補助情報として、システムの使用状況等の状態や、ユーザの状態を含む情報を活用する。これにより、システム管理者はより詳細に正当性判定を行うことが可能になる。
【0106】
図8は、図2に示す構成例に対して、システム管理者20がリソースアクセス要求の正当性を判定する際に、判定を補助する情報を格納する判定補助情報管理テーブル801、及び判定補助情報を取得するシステム情報取得部802を設ける例である。
【0107】
判定補助情報管理テーブル801及びシステム情報取得部802は、認可基盤140に含まれる。判定補助情報管理テーブル801には、ユーザへのリソースアクセス実行権限付与の正当性を判定するための情報を格納する。リソースアクセス実行権限付与の正当性を判定するための情報には、例えば、アクセス対象リソースの使用状況等の状態や、対象ユーザのリソースアクセス実行履歴やリソースアクセス要求時のユーザが置かれている状況等の状態、及びこれらの値に対する判定条件等を含む。
【0108】
システム情報取得部802は、計算機システムからアクセス対象リソースの使用状況等の状態や、ユーザのリソースアクセス実行履歴や要求時のユーザ環境等の状態等のシステム情報を取得し、判定補助情報管理テーブル801に格納する。
【0109】
ロール管理インタフェース145は、要求されたリソースアクセスの情報、及び要求したユーザの情報をシステム管理者20に提示する際に、判定補助情報を合わせて提示し、システム管理者20は、これらの情報に基づいて要求されたリソースアクセス権限付与の正当性を判定する。
【0110】
図9は、判定補助情報管理テーブル801の例である。判定補助情報管理テーブル801には、リソース関連情報810及びユーザ関連情報830を含む。リソース関連情報810は、リソース811、及び各リソースに対する操作812を示す。リソース関連情報810はリソースと操作の各組み合わせに対して、判定対象813、判定対象において判定基準とする判定パラメータ814、判定パラメータ値に対し判定する条件815を規定する。
【0111】
ユーザ関連情報830は、ユーザID831、ユーザ名832を示し、さらに、ユーザ毎に、判定対象833、判定対象において判定基準とする判定パラメータ834、判定パラメータ値に対し判定する条件835を規定する。
【0112】
判定補助情報管理テーブル801は、さらに、リソースアクセス要求時点のリソースについてのパラメータ値816及びユーザについてのパラメータ値836を格納する。システム情報取得部802は、パラメータ値を取得して判定補助情報管理テーブル801に格納する。パラメータ値取得のタイミングは、リソースアクセス要求時点や、パラメータ値が変化した時点でもよいし、適切な頻度で定期的に取得してもよい。
【0113】
判定補助情報のうち、リソース関連情報810は、例えば、プール容量を拡張するリソースアクセスコマンドの実行要求に対して、次のように規定する。リソース811の「/Obj/Pool」)の判定対象813の「プール」に対して、判定パラメータ814として容量使用率を規定する。判定条件815は、パラメータ値に対して「割り当て容量の90%以上消費」を規定する。
【0114】
ロール管理インタフェース145は、プールの割り当て容量の90%以上が消費されている場合に、システム管理者20にプール容量使用率が判定条件を超えていること(補助情報)を提示する。これにより、システム管理者20に提示する情報を少なくすることができる。
【0115】
図9の例では、ユーザがプール容量拡張を要求したプールのIDがID1であった場合には、パラメータ値816が93%である。この値は、判定条件815の90%を超える。システム管理者20は、この情報から、プール容量がひっ迫していることを把握する。システム管理者20は、これを判定を補助する情報として使用し、ユーザにプール容量を拡張するリソースアクセスコマンドの実行権限付与の許否判定を行う。
【0116】
判定補助情報のうちユーザ関連情報830は、例えば、プール容量を拡張するリソースアクセスコマンドの実行要求に対して、次のように規定する。判定対象833は、対象リソースアクセスの作業実績を規定する。判定パラメータ834は過去実行履歴を規定する。判定条件は、「1回以上」を規定する。例えば、パラメータ値が、判定条件835である過去実行履歴1回以上の場合に、ロール管理インタフェース145は、システム管理者20にプール使用率が判定条件を超えていることを提示する。
【0117】
判定対象としては、例えば要求時作業状態として、図9に例示した使用端末の他、例えば、要求日時、要求時の現在地等のユーザ属性情報を使用し、リソースアクセス要求時点でのユーザ所在地や要求日時が、予め定めた正当な範囲内かを判定基準として用いてもよい。
【0118】
なお、ロール管理インタフェース145は、リソース又はユーザについての判定条件が満たされているか否かに関わらず、システム管理者20に補助情報を提示してもよく、補助情報は判定条件を含んでもよい。
【0119】
図9の例では、ID1のユーザUser1は、パラメータ値836が3回のため、判定条件835を満足する。一方、User2は過去実行履歴のパラメータ値836が0回のため、判定条件835を満たさない。システム管理者20はこの情報を用いて、ユーザが過去に要求リソースアクセスコマンドを実行したことがあるかを把握し、当該リソースアクセスコマンドの実行権限付与の許否判定を行う。
【0120】
上述のように、システム管理者20は、補助情報によって、ユーザによるリソース操作の必要性やリソース操作許可時の問題発生の蓋然性(安全性)を知ることができる。これにより、システム管理者20はより適切な判定を行うことができる。なお、リソース又はユーザの一方のみの補助情報、例えば、リソースについての補助情報のみをシステム管理者20に提示してもよい。
【実施例0121】
上記実施例2の構成例は、システム管理者が、ユーザのリソースアクセス要求の正当性を判定してリソースアクセス実行権限の許否を決定する際に、判定補助情報として、システムの使用状況等の状態や、ユーザ情報を活用する。以下に説明する構成例は、システム管理者の代わりに、システムが該判定補助情報を利用して、リソースアクセス実行権限付与の正当性を判定する。これにより、リソースアクセス実行権限付与の正当性判定、及び認可を自動で行うことが可能になる。
【0122】
図10は、図8のロール管理インタフェース145の代わりに、正当性判定部1001を設ける例である。図10の構成例では、ロール割り当て変更部144は、ポリシ判定部141において、ユーザが要求したリソースアクセスコマンドの実行権限を付与したロールが、当該ユーザに割り当てられていなかった場合に、当該リソースアクセスコマンドの実行権限を付与したロールをポリシ管理テーブル142から取得し、ポリシ判定部141を介して取得したリソースアクセス要求及びリソースアクセスを要求したユーザの情報と共に、正当性判定部1001に送信する。
【0123】
正当性判定部1001は、判定補助情報管理テーブル801の情報に基づいて、リソースアクセスを要求したユーザ、及び要求したリソースアクセスコマンドの対象リソースについて、権限付与の許否を判定する。正当性判定部1001は、図9に示した判定条件815を照合し、それぞれの判定条件のうち必須の全ての条件を満たす場合に、自動で権限付与を許可する。どの条件を必須とするかは予め定めておく。この実施例においては、システム管理者20によるインタラクティブな権限付与判定作業が不要となる。
【0124】
なお、判定補助情報に基づいて正当性判定部1001が正当性を判定し、正当性が無いと判定された時のみ自動的に不許可判定し、正当性が有ると判定された時には、システム管理者20に権限付与の許否判定を依頼することも可能である。その場合、システム管理者20は、正当性判定部1001が正当性が有ると判定したリソースアクセス要求のみに対し、権限付与判定を実施すればよい。
【実施例0125】
上記実施例1~3の構成例は、ユーザが要求したリソースアクセス単体に対し、実行権限付与の正当性判定、及び認可を行う。以下に説明する構成例では、一連の作業の中で、要求されたリソースアクセスと連続して実行する可能性のあるリソースアクセスをグルーピングする。さらに、要求されたリソースアクセスと同じグループに含まれる1又は複数の他のリソースアクセスに対し、同時に実行権限付与の正当性を判定し、正当性があると判定された場合に許可を行う。
【0126】
図11は、図2の構成に、さらにリソースアクセス管理テーブル901、及びリソースアクセスグループ抽出部1102を設けた例である。リソースアクセス管理テーブル901は、一連の作業の中で連続的に実行する可能性のあるリソースアクセスコマンドを、グループとして登録したテーブルである。
【0127】
本明細書の一実施例において、リソースアクセスグループ抽出部1102は、リソースアクセスが要求された際に、当該リソースアクセスコマンドと同じグループに属するリソースアクセスコマンドを、リソースアクセス管理テーブル1101を照合することによって取得する。リソースアクセスグループ抽出部1102は、要求されたリソースアクセスコマンドの情報と共に、同じグループに属する付随リソースアクセスコマンドの情報を、ロール管理インタフェース145を介してシステム管理者20に提示する。
【0128】
これにより、システム管理者20は、要求されたリソースアクセスコマンドに加え、一連の作業の中で連続的に実施する可能性のあるリソースアクセスコマンドについても、同時に実行権限付与の許否判定を行うことが可能になる。連続的に実行する可能性のあるリソースアクセスコマンドの実行権限をまとめて認可すれば、一連の作業の中でユーザが連続的に要求するリソースコマンドに対し、都度実行権限付与判定を行う必要がなくなるため、判定効率が向上する。
【0129】
図12は、リソースアクセス管理テーブル901の例である。リソースアクセス管理テーブル901は、リソースアクセス名921、操作922、対象リソース923、パラメータ924、必要ロール925及びリソースアクセスのグループ926を示す。リソースアクセスコマンドは、操作922及びリソース923の組み合わせで同定される。
【0130】
図12においては、例えば、ストレージシステムにおけるリソースアクセス921において、ドライブ確認、パリティグループ作成、スペアドライブ割り当て、プール作成、プール容量拡張が、一連の作業として実行される可能性が高いため、これらのリソースアクセスコマンドを同じグループ(Group1)に属するものとする。
【0131】
同様に、ローカルコピーペア作成、ローカルコピー設定をGroup2に、リモートコピーペア作成、リモートコピー設定をGroup3に属する等とする。これにより、例えば、ユーザがプール作成コマンドの実行を要求した場合に、Group1に属する他のリソースアクセスコマンドの実行権限付与も合わせて判定し、必要に応じて同時に認可することが可能になる。
【0132】
リソースアクセスグループ抽出部1102は、システム管理者20に提示する情報として、リソースアクセス管理テーブル901の全てのカラム921~926の情報を抽出してもよく、一部のカラムのみの情報を抽出してもよい。提示する情報の種類は、予め設定される。
【0133】
リソースアクセスグループ抽出部1102は、要求されたリソースアクセスコマンドのグループの他の全てのリソースアクセスコマンドの情報を提示してもよく、一部のリソースアクセスコマンドを選択してその情報を提示してもよい。例えば、リソースアクセスグループ抽出部1102は、ユーザのロールの情報を参照、要求されたリソースアクセスコマンドのグループから、要求元ユーザが必要ロール925を有していないリソースアクセスコマンドを抽出する。ロール管理インタフェース145は、抽出されたリソースアクセスコマンドの情報をシステム管理者20に提示する。
【0134】
システム管理者20は、要求されたリソースアクセスコマンド以外の追加提示された付随リソースアクセスコマンド全てについて実行権限付与判定を行ってよく、それらの一部についてのみ実行権限付与判定を行ってもよい。システム管理者20は、それら追加提示されたリソースアクセスコマンド個別に実行権限付与の許否判定を行ってもよく、追加提示されたリソースアクセスコマンドの全てを一括して許否判定してもよい。一括判定は、全てのリソースアクセスコマンドを許可する又は不許可(禁止)とする。
【0135】
実施例3において、正当性判定部1001は、システム管理者20に代わり、要求されたリソースアクセスコマンドの実行権限付与の許否を判定する。本実施例において、正当性判定部1001が利用されてもよい。実施例3で説明したように、正当性判定部1001共に、判定補助情報管理テーブル801が認可基盤140に実装される。
【0136】
正当性判定部1001は、リソースアクセスグループ抽出部1102から、要求されたリソースアクセスコマンドのグループの付随リソースアクセスコマンド及び必要ロールの情報を取得する。正当性判定部1001は、必要ロールとユーザ情報のロール情報を比較して、ユーザが必要ロールを有していない付随リソースアクセスコマンドを選択する。正当性判定部1001は、選択した付随リソースアクセスコマンドそれぞれについて、実施例3で説明したように、判定補助情報に基づく実行権限付与の許否判定を実行する。
【0137】
正当性判定部1001は、それら追加提示されたリソースアクセスコマンド個別に実行権限付与の許否判定を行ってもよく、追加提示されたリソースアクセスコマンドの全てを一括して許否判定してもよい。
【0138】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明したすべての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0139】
また、上記の各構成・機能・処理部等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード等の記録媒体に置くことができる。
【0140】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしもすべての制御線や情報線を示しているとは限らない。実際には殆どすべての構成が相互に接続されていると考えてもよい。
【符号の説明】
【0141】
10 ユーザ
20 システム管理者
100 ユーザ端末
101 ユーザインタフェース
102 ユーザ情報取得部
103 リソースアクセスコマンド取得部
120 リソース利用アプリケーション
121 認証要否判定部
122 アクセス権判定部
123 リソースアクセス実行部
124 リソース利用処理実行部
130 認証基盤
131 ユーザ管理テーブル
132 ユーザ認証部
140 認可基盤
141 ポリシ判定部
142 ポリシ管理テーブル
143 アクセス認可部
144 ロール割り当て変更部
145 ロール管理インタフェース
150 リソースサーバ
210 ホストサーバ
220 管理サーバ
230 ストレージシステム
231 コントローラ
232 ホストインタフェース
233 管理インタフェース
234 ドライブインタフェース
235 プロセッサ
236 メモリ
237 ドライブボックス
238、239 記憶ドライブ
250 ネットワーク
801 判定補助情報管理テーブル
802 システム情報取得部
901 リソースアクセス管理テーブル
1001 正当性判定部
1102 リソースアクセスグループ抽出部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12