(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023107599
(43)【公開日】2023-08-03
(54)【発明の名称】インシデント管理装置、及びインシデント管理方法
(51)【国際特許分類】
G06F 11/07 20060101AFI20230727BHJP
G06F 21/62 20130101ALI20230727BHJP
【FI】
G06F11/07 184
G06F11/07 140A
G06F21/62
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022008869
(22)【出願日】2022-01-24
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000176
【氏名又は名称】弁理士法人一色国際特許事務所
(72)【発明者】
【氏名】那須 弘志
(72)【発明者】
【氏名】爲重 貴志
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042GA12
5B042KK13
5B042MA08
5B042MA14
5B042MC22
5B042MC40
(57)【要約】 (修正有)
【課題】発生したリソースの障害の復旧に必要な適切なアクセス権限の設定を行うインシデント管理装置及びインシデント管理方法を提供する。
【解決手段】インシデント管理システムにおいて、インシデント管理サーバ300は、複数のリソース115を記憶しており、各リソース115へのアクセスが可能なユーザの情報を含む情報であるアクセス権限管理情報119に基づき各リソース115へのアクセスを管理しているサーバ装置から、複数のリソース115のいずれかに発生した障害の情報を受信する障害情報受信部321と、障害の情報を受信した場合に、サーバ装置における障害が発生したリソースにアクセスするユーザ及び当該ユーザのアクセス権限を特定するアクセス権限情報特定部322と、特定したユーザ及びアクセス権限の情報をアクセス権限管理情報119に設定するアクセス権限管理情報設定部323と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
プロセッサ及びメモリを有し、
複数のリソースを記憶しており、各前記リソースへのアクセスが可能なユーザの情報を含む情報であるアクセス権限管理情報に基づき前記各リソースへのアクセスを管理しているサーバ装置から、前記複数のリソースのいずれかに発生した障害の情報を受信する障害情報受信部と、
前記障害の情報を受信した場合に、前記サーバ装置における前記障害が発生したリソースにアクセスするユーザ及び当該ユーザのアクセス権限を特定するアクセス権限情報特定部と、
前記特定したユーザ及びアクセス権限の情報を前記アクセス権限管理情報に設定するアクセス権限管理情報設定部と
を備える、インシデント管理装置。
【請求項2】
前記アクセス権限管理情報設定部は、前記障害が解消したか否かを判断し、前記障害が解消したと判断した場合に、前記アクセス権限管理情報に設定した前記ユーザの情報を削除する、
請求項1に記載のインシデント管理装置。
【請求項3】
前記アクセス権限情報特定部は、前記サーバ装置から受信した障害の情報に基づき、前記アクセス権限の情報を特定する、
請求項1に記載のインシデント管理装置。
【請求項4】
前記アクセス権限情報特定部は、過去に受信した障害の情報に基づき、前記発生した障害に対応する障害を特定し、特定した障害の情報に基づき、前記アクセス権限の情報を特定する、
請求項1に記載のインシデント管理装置。
【請求項5】
前記アクセス権限管理情報設定部は、前記障害が発生したリソース及び当該リソースに関連づけられている他のリソースの間の関係性を特定し、特定した関係性と同じ関係性を有するリソース群における、前記障害が発生したリソースに対応するリソースを特定し、特定したリソースと、過去に受信した前記障害の情報とに基づき、前記アクセス権限の情報を特定する、
請求項1に記載のインシデント管理装置。
【請求項6】
前記アクセス権限情報特定部は、前記障害が発生したリソースにアクセスするユーザの情報の入力を受け付ける画面を表示することで、前記ユーザの情報を特定する、
請求項1に記載のインシデント管理装置。
【請求項7】
情報処理装置が、
複数のリソースを記憶しており、各前記リソースへのアクセスが可能なユーザの情報を含む情報であるアクセス権限管理情報に基づき前記各リソースへのアクセスを管理しているサーバ装置から、前記複数のリソースのいずれかに発生した障害の情報を受信する障害情報受信処理と、
前記障害の情報を受信した場合に、前記サーバ装置における前記障害が発生したリソースにアクセスするユーザ及び当該ユーザのアクセス権限を特定するアクセス権限情報特定処理と、
前記特定したユーザ及びアクセス権限の情報を前記アクセス権限管理情報に設定するアクセス権限管理情報設定処理と
を実行する、インシデント管理方法。
【請求項8】
前記情報処理装置が、
前記アクセス権限管理情報設定処理において、前記障害が解消したか否かを判断し、前記障害が解消したと判断した場合に、前記アクセス権限管理情報に設定した前記ユーザの情報を削除する、
請求項7に記載のインシデント管理方法。
【請求項9】
前記情報処理装置が、
前記アクセス権限情報特定処理において、前記サーバ装置から受信した障害の情報に基づき、前記アクセス権限の情報を特定する、
請求項7に記載のインシデント管理方法。
【請求項10】
前記情報処理装置が、
前記アクセス権限情報特定処理において、過去に受信した障害の情報に基づき、前記発生した障害に対応する障害を特定し、特定した障害の情報に基づき、前記アクセス権限の情報を特定する、
請求項7に記載のインシデント管理方法。
【請求項11】
前記情報処理装置が、
前記アクセス権限管理情報設定処理において、前記障害が発生したリソース及び当該リソースに関連づけられている他のリソースの間の関係性を特定し、特定した関係性と同じ関係性を有するリソース群における、前記障害が発生したリソースに対応するリソースを特定し、特定したリソースと、過去に受信した前記障害の情報とに基づき、前記アクセス権限の情報を特定する、
請求項7に記載のインシデント管理方法。
【請求項12】
前記情報処理装置が、
前記アクセス権限情報特定処理において、前記障害が発生したリソースにアクセスするユーザの情報の入力を受け付ける画面を表示することで、前記ユーザの情報を特定する、
請求項7に記載のインシデント管理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、インシデント管理装置、及びインシデント管理方法に関する。
【背景技術】
【0002】
インターネット上でコンピュータ資源を貸し出すクラウドサービスが様々な事業者から提供されている。顧客の要望や顧客が保有するデータの保存場所等にあわせて、任意のクラウドシステム又はオンプレミス環境における、アプリケーションのデプロイ及びその運用を可能とすることが求められている。
【0003】
Kubernetes等のアプリケーション実行環境においては、アプリケーションのリソースに発生した障害への対応状況はインシデントとして、インシデント管理システムで管理されることが一般的である。この場合、発生した障害からの回復作業を担当するユーザ(障害対応ユーザ)に対して、アプリケーションの安全性確保のため、当該リソースへの適切なアクセス権限の管理を行うことは必須である。
【0004】
例えば、特許文献1には、障害監視システムにおいて、監視サーバが、監視対象システムから稼動情報を取得し、障害発生と判定した場合、障害発生を通知し、障害発生通知を受信した動的権限管理サーバが、障害発生サーバについて登録された作業担当者を特定し、認証管理サーバに対して、特定されたユーザIDの有効化を指示し、障害復旧通知を受信した動的権限管理サーバが、認証管理サーバに対して、障害発生サーバについて一時的に有効化したユーザIDの無効化を指示する技術が開示されている。また、非特許文献1、2には、業務管理サービスが開示されている。
【先行技術文献】
【特許文献】
【0005】
【非特許文献】
【0006】
【非特許文献1】"Redmine",[online],[令和3年(2021年)11月26日検索],インターネット(URL: https://www.redmine.org/)
【非特許文献2】"ServiceNow",[online],[令和3年(2021年)11月26日検索],インターネット(https://www.servicenow.com/)
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1、非特許文献1、及び非特許文献2の管理システムないし管理サービスにおいて開示されている技術では、リソースへのアクセス権限の設定をする場合、現在のアプリケーションのリソースのアクセス権限の内容と、最新の障害対応ユーザの情報とを一致させる必要がある。しかしながら、両者の情報の不一致が頻繁に発生する場合、両者の監視が常時必要となるため、アクセス権限の管理コストが増大する。
【0008】
本発明は、このような現状に鑑みてなされたものであり、その目的は、発生したリソースの障害の復旧に必要な適切なアクセス権限の設定が可能なインシデント管理装置、及びインシデント管理方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するための本発明の一つは、プロセッサ及びメモリを有し、複数のリソ
ースを記憶しており、各前記リソースへのアクセスが可能なユーザの情報を含む情報であるアクセス権限管理情報に基づき前記各リソースへのアクセスを管理しているサーバ装置から、前記複数のリソースのいずれかに発生した障害の情報を受信する障害情報受信部と、前記障害の情報を受信した場合に、前記サーバ装置における前記障害が発生したリソースにアクセスするユーザ及び当該ユーザのアクセス権限を特定するアクセス権限情報特定部と、前記特定したユーザ及びアクセス権限の情報を前記アクセス権限管理情報に設定するアクセス権限管理情報設定部とを備える、インシデント管理装置とする。
【0010】
また、上記課題を解決するための本発明の一つは、情報処理装置が、複数のリソースを記憶しており、各前記リソースへのアクセスが可能なユーザの情報を含む情報であるアクセス権限管理情報に基づき前記各リソースへのアクセスを管理しているサーバ装置から、前記複数のリソースのいずれかに発生した障害の情報を受信する障害情報受信処理と、前記障害の情報を受信した場合に、前記サーバ装置における前記障害が発生したリソースにアクセスするユーザ及び当該ユーザのアクセス権限を特定するアクセス権限情報特定処理と、前記特定したユーザ及びアクセス権限の情報を前記アクセス権限管理情報に設定するアクセス権限管理情報設定処理とを実行する、インシデント管理方法とする。
【発明の効果】
【0011】
本発明によれば、発生したリソースの障害の復旧に必要な情報を適時に設定することができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0012】
【
図1】本実施形態に係るインシデント管理システム1の構成及びインシデント管理システムが行う処理の概要を説明する図である。
【
図4】アプリケーション実行基盤テーブルの一例を示す図である。
【
図6】インシデントテーブルの一例を示す図である。
【
図7】リソース管理者テーブルの一例を示す図である。
【
図8】各情報処理装置が備えるハードウエア構成の一例を示す図である。
【
図9】インシデント情報追加処理の一例を説明するフローチャートである。
【
図10】アクセス権限管理情報取得処理の一例を説明するフローチャートである。
【
図11】インシデント情報更新処理の一例を説明するフローチャートである。
【
図12】アクセス権限管理情報更新処理の一例を説明するフローチャートである。
【
図13】インシデント管理画面の一例を示す図である。
【発明を実施するための形態】
【0013】
以下、図面を参照しつつ、本発明の一実施形態を説明する。
図1は、本実施形態に係るインシデント管理システム1の構成及びインシデント管理システム1が行う処理の概要を説明する図である。
【0014】
<構成>
インシデント管理システム1は、アプリケーション実行サーバ100、アプリケーション監視サーバ200、インシデント管理サーバ300、管理者端末501、及びユーザ端末502を含んで構成される。これらの間は、例えば、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)、又は専用線等の有線又は無線の通信ネ
ットワークにより通信可能に接続される。
【0015】
アプリケーション実行サーバ100は、後述するアプリケーション実行基盤110により、各種のアプリケーションを実行する情報処理装置である。
【0016】
アプリケーション監視サーバ200は、アプリケーション実行基盤110の各アプリケーションの動作及び障害の発生を監視する情報処理装置である。
【0017】
インシデント管理サーバ300は、アプリケーション監視サーバ200が検知したアプリケーションの障害(以下、インシデントという)に対する対応を支援する情報処理装置である。
【0018】
管理者端末501は、インシデント管理システム1を管理する管理者が使用する情報処理装置である。本実施形態では、管理者は、アプリケーションを記憶している後述のリソース115ごとに存在しているものとする(以下、各管理者をリソース管理者という)。リソース管理者は、そのリソースに関する全てのアクセス権限を有しているものとする。なお、管理者端末501は、リソース管理者ごとに複数設けられてもよい。
【0019】
ユーザ端末502は、アプリケーション実行基盤110で発生した障害からの復旧業務を担当する各ユーザ(以下、担当ユーザという)が使用する情報処理装置である。各担当ユーザは、ユーザ端末502を使用してアプリケーション実行サーバ100にアクセスすることで、障害に対する対応及び復旧等を実施する。ユーザ端末502は、担当ユーザごとに複数設けられてもよい。
【0020】
次に、アプリケーション実行サーバ100は、1又は複数のアプリケーション実行基盤110を記憶している。アプリケーション実行基盤110は、例えば、Kubernetesである。アプリケーション実行基盤110は、リソース領域114に格納されているアプリケーションのリソースの稼働、リソースの管理、リソース管理者及び担当ユーザの管理、並びにリソースへのアクセス権限の管理等を行うプログラムである。
【0021】
具体的には、アプリケーション実行基盤110は、アプリケーション実行基盤110にアクセスする担当ユーザの認証を行うユーザ認証プログラム111と、担当ユーザ及びリソース管理者(以下、担当ユーザ及びリソース管理者を「ユーザ」と総称する)のアカウント情報の作成、更新、及び削除等を実行するユーザ管理プログラム112と、リソース領域114へのアクセス権限を管理するリソースアクセス権限管理プログラム113と、リソース領域114と、リソース領域114の構成を管理するリソース管理プログラム116とを備える。
【0022】
リソース領域114は、1又は複数の記憶領域(以下、ネームスペースともいう)からなる。各ネームスペース(リソース領域114a、b、・・・)は、アプリケーションを記憶し実行するための単位であるリソース115を1つ以上有する。すなわち、リソース115は、例えばコンテナ、サービス、仮想マシン等の記憶領域の単位である。
【0023】
リソースアクセス権限管理プログラム113は、リソース領域114の各リソース115にアクセス可能な担当ユーザの情報であるアクセス権限管理情報119を管理している。リソース115の各プログラムは、各ユーザがアクセスしてきた場合、アクセス権限管理情報119に基づき実行の可不可を判定し、実行可と判定した場合に、そのプログラムを実行する。
【0024】
アクセス権限管理情報119は、本実施形態では、各ユーザのユーザID、そのユーザがアクセス可能なリソース、及び、そのリソースに対するアクセス権限の具体的内容(書き込み、参照等)の情報を含むものとするが、これらの情報以外の情報が含まれていても
よい。
【0025】
リソース管理プログラム116は、担当ユーザ(ユーザ端末502)又はリソース管理者(管理者端末501)からの、リソース115に対する所定の操作命令を受信し、当該リソース115に対し各種の処理を実行させる。
【0026】
次に、アプリケーション実行サーバ100は、以下に説明するユーザテーブル及びロールテーブルを記憶し、各ユーザのリソースへのアクセス権限を管理している。ユーザテーブル及びロールテーブルは、例えば、ユーザ認証プログラム111の実行に際して参照される。
【0027】
(ユーザテーブル)
図2は、ユーザテーブル117の一例を示す図である。ユーザテーブル117は複数のレコードを有し、各レコードは、各ユーザのIDが設定されるユーザID1171、そのユーザのパスワードをハッシュ化した文字列の情報が設定されるパスワードハッシュ文字列1172、及び、そのユーザに割り当てられた、リソース115へのアクセス権限(ロール)の情報が設定されるロールID1173の各データ項目を有する。ロールの具体的内容は、以下のロールテーブル118で定義されている。
【0028】
(ロールテーブル)
図3は、ロールテーブル118の一例を示す図である。ロールテーブル118は複数のレコードを有し、各レコードは、ロールのIDが設定されるロールID1181、そのロールが対象とするリソースの情報が設定されるリソース1182、及び、そのリソースへのアクセス権限の具体的内容の情報が設定されるアクセス権限1183の各データ項目を有する。
【0029】
同図の例では、「ロールA1」及び「ロールA2」は、「ネームスペースA」に含まれる全リソースがアクセス権限の設定の対象である。また、「ロールA1」は、各リソースに対して全てのアクセス権限を有する(「*」)。「ロールA2」は、リソースを参照す
る権限のみを有する(「get, list, watch」)。
【0030】
次に、
図1に示すように、アプリケーション監視サーバ200は、アプリケーション監視プログラム210を備える。アプリケーション監視プログラム210は、アプリケーション実行基盤110で稼働しているアプリケーションのリソース状態を監視する。
【0031】
インシデント管理サーバ300は、インシデント管理プログラム310を備える。インシデント管理プログラム310は、インシデントに関する情報の作成、更新、及び削除等を実行する。インシデント管理プログラム310は、アプリケーション実行基盤110にアクセスするユーザの情報の作成を実行する。また、インシデント管理プログラム310は、リソースアクセス権限管理プログラム113を呼び出し、アクセス権限管理情報119を設定又は更新する。
【0032】
具体的には、インシデント管理プログラム310は、障害情報受信部321、アクセス権限情報特定部322、アクセス権限管理情報設定部323、及び画面表示部324を有する。
【0033】
障害情報受信部321は、アクセス権限管理情報119に基づき各リソース115へのアクセスを管理しているアプリケーション実行基盤110から、リソース115のいずれかに発生した障害の情報(障害情報)を受信する。
【0034】
アクセス権限情報特定部322は、アプリケーション実行基盤110において障害が発生したリソース115にアクセスするユーザ(障害対応ユーザ)及び当該障害対応ユーザのアクセス権限を特定する。
【0035】
アクセス権限管理情報設定部323は、アクセス権限情報特定部322が特定した障害対応ユーザ及びアクセス権限の情報をアクセス権限管理情報119に設定する。
【0036】
画面表示部324は、インシデント、及びアクセス権限管理情報119等の各種の情報を画面に表示する。
【0037】
さらに、インシデント管理サーバ300は、次述するアプリケーション実行基盤テーブル、ログテーブル、インシデントテーブル、及びリソース管理者テーブルの各データベースを記憶している。
【0038】
(アプリケーション実行基盤テーブル)
図4は、アプリケーション実行基盤テーブル311の一例を示す図である。アプリケーション実行基盤テーブル311は1又は複数のレコードを有する。各レコードは、インシデント管理プログラム310がアクセスする各アプリケーション実行基盤110のIDが設定されるアプリケーション実行基盤ID3111、そのアプリケーション実行基盤110のアクセス権限管理情報119の管理を行うプログラム(例えば、API:Application Programming Interfaceとして提供されるリソースアクセス権限管理プログラム113
)のエンドポイントの情報(例えば、URL)が設定されるAPIエンドポイント3112、及び、ユーザ情報自動削除3113の各データ項目を有する。
【0039】
ユーザ情報自動削除3113には、障害対応ユーザによるリソース115の復旧が完了した場合に、アプリケーション実行基盤110のアクセス権限管理情報119におけるその障害対応ユーザの情報を削除するか否かを示す情報が設定される。本実施形態では、ユーザ情報自動削除3113が”true”である場合、障害対応ユーザの情報は削除され、”false”である場合、障害対応ユーザの情報は削除されない。
【0040】
(ログテーブル)
図5は、ログテーブル312の一例を示す図である。ログテーブル312は1又は複数のレコードを有する。各レコードは、アプリケーション監視プログラム210から送信された、インシデント(障害)の内容を記録したログ情報のIDが設定されるログID3121、及び、アプリケーション監視プログラム210から送信されたログ情報の内容(ログファイルのテキスト情報等)が格納されるログ内容3122の各データ項目を有する。
【0041】
ログ情報には、例えば、障害が発生したリソース、障害の種類、リソースの種類、又はそのリソースに関連する他のリソースの情報が含まれる。
【0042】
(インシデントテーブル)
図6は、インシデントテーブル313の一例を示す図である。インシデントテーブル313は、後述するインシデント管理画面315によりリソース管理者がデータ入力を行って作成することができる。
【0043】
インシデントテーブル313は1又は複数のレコードを有する。各レコードは、インシデントのIDが設定されるインシデントID3131、そのインシデントの情報を記録したログ情報のIDが設定されるログID3132、そのインシデントが発生したアプリケーション実行基盤110のIDが設定されるアプリケーション実行基盤ID3133、そのインシデントが発生したリソースのIDが設定されるリソースID3134、そのイン
シデントの復旧作業を担当する障害対応ユーザによる現在の対応状況に関する情報(以下、状態情報という)が設定される状態3135、その障害対応ユーザのユーザIDが設定されるユーザID3136、及び、そのインシデントに係るリソースに対して設定するアクセス権限の内容を示す情報(以下、アクセス権限情報という)が設定されるリソースアクセス権限設定情報3137の各データ項目を有する。なお、同図には示していないが、各レコードには日時の情報が設定されている。
【0044】
状態3135には、レコードの作成時(インシデントの検出時)に「新規」が自動的に設定される。その後、そのインシデントに対応する障害対応ユーザが決定された場合(又は変更された場合)には、リソース管理者(管理者端末501)が、状態3135に「対応中」を設定する。さらにその後、その障害対応ユーザによる対応が完了した場合には、リソース管理者(管理者端末501)が、状態3135に「完了」を設定する。なお、状態3135への「対応中」又は「完了」の設定は、インシデント管理プログラム310が障害対応ユーザの決定又は障害の対応完了を検知して自動的に行ってもよい。
【0045】
ユーザID3136には、レコードの作成時(インシデントの検出時)には情報が設定されないが、その後、障害対応ユーザが決定された場合(又は変更された場合)には、リソース管理者(管理者端末501)が、状態3135にその障害対応ユーザのIDを設定する。なお、インシデント管理プログラム310は、障害対応ユーザの決定又は変更を検知して障害対応ユーザのIDを自動的に設定してもよい。
【0046】
リソースアクセス権限設定情報3137には、例えば、障害対応ユーザのユーザID、インシデントが発生したリソースのリソースID、及び、そのリソースに対するアクセス権限の情報(get, list, watch等)が格納される。
【0047】
(リソース管理者テーブル)
図7は、リソース管理者テーブル314の一例を示す図である。リソース管理者テーブル314は複数のレコードを有し、各レコードは、リソース管理者のユーザIDが設定されるユーザID3141、そのリソース管理者が担当するアプリケーション実行基盤110のIDが設定されるアプリケーション実行基盤ID3142、及び、そのリソース管理者が担当するリソースのIDが設定されるリソースID3143の各データ項目を有する。
【0048】
<処理の概要>
次に、インシデント管理システム1が行う処理の概要について説明する。
図1に示したように、まず、アプリケーション監視サーバ200のアプリケーション監視プログラム210は、アプリケーション実行サーバ100が検知した、リソース115(アプリケーション)で発生した障害に関する情報(以下、障害情報という)を、アプリケーション実行サーバ100から受信する(F101)。
【0049】
アプリケーション監視サーバ200は、受信した障害情報に基づき、その障害をインシデントとして通知するインシデント通知をインシデント管理サーバ300に送信し、インシデント管理サーバ300のインシデント管理プログラム310は、このインシデント通知を受信する(F102)。
【0050】
インシデント管理プログラム310は、受信したインシデント通知に基づき、障害の復旧を要求する情報(以下、インシデント情報という)を作成する。インシデント管理プログラム310は、作成したインシデント情報を管理者端末501に送信する(F103)。その後、管理者端末501のリソース管理者は、管理者端末501が受信したインデント情報に基づき、適切な障害対応ユーザを特定する業務を行う。管理者端末501は、リ
ソース管理者が特定した障害対応ユーザの情報をインシデント管理サーバ300に送信する(F104)。なお、管理者端末501は、障害対応ユーザの特定を検知してその障害対応ユーザの情報をインシデント管理サーバ300に自動的に送信してもよい。
【0051】
また、インシデント管理プログラム310は、アプリケーション実行基盤110に、特定された障害対応ユーザ及びそのアクセス権限に関する情報を含む要求情報(以下、設定要求という)を送信する(F105)。アプリケーション実行基盤110のユーザ管理プログラム112及びリソースアクセス権限管理プログラム113は、受信した設定要求に基づき、障害対応ユーザ、リソース、及びアクセス権限等の情報を、アクセス権限管理情報119に設定する。
【0052】
さらに、インシデント管理プログラム310は、特定された障害対応ユーザが管理するユーザ端末502に、障害の復旧等の対応を依頼する旨の情報(以下、復旧依頼情報という)を送信する(F106)。
【0053】
当該ユーザ端末502は、復旧依頼情報を受信するとその内容を画面に表示し、これにより障害対応ユーザは、障害の復旧作業の必要性を認知する。そして、この障害対応ユーザの操作によりユーザ端末502は、ユーザ認証プログラム111の認証を通じてアプリケーション実行基盤110にログインする。ユーザ端末502は、インシデントが発生したリソース115(このリソース115に対するアクセス権限は、前記のF105によりアクセス権限管理情報119に設定されている)に対する操作命令を、リソース管理プログラム116に送信する(F107)。リソース管理プログラム116は、受信した操作命令に従って、上記リソース115に対する操作を実施する。これにより、障害発生リソースにおける障害が解消し、復旧作業は完了する。
【0054】
ここで、
図8は、アプリケーション実行サーバ100、アプリケーション監視サーバ200、インシデント管理サーバ300、管理者端末501、及びユーザ端末502の各情報処理装置が備えるハードウエア構成の一例を示す図である。各情報処理装置は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)、FPGA(Field-Programmable Gate Array)等の処理装置91(プロセッサ)と、ROM(Read Only Memory)、RAM(Random Access Memory)等の主記憶装置92(メモリ)と、HDD(Hard Disk Drive)、SSD(Solid State Drive)などの補助記憶装置93と、1以上の通信規
格(例えば、IEEE802.3)に対応する通信インタフェースである通信装置94とを備える。また、各情報処理装置は、マウスやキーボード等で構成される入力装置95、又は、液晶ディスプレイまたは有機EL(Electro-Luminescence)ディスプレイ等で構成される出力装置96を備えていてもよい。
【0055】
各情報処理装置の各機能は、処理装置91が、主記憶装置92又は補助記憶装置93に格納されているプログラムを読み出して実行することにより実現される。またこのプログラムは、例えば、記録媒体に記録して配布することができる。なお、各情報処理装置は、処理装置91及び主記憶装置92の組み合わせの代わりに、書き換え可能な論理回路であるFPGA(Field Programmable Gate Array)や特定用途向け集積回路であるASIC
(Application Specific Integrated Circuit)により実現されてもよい。また各情報処
理装置は、処理装置91及び主記憶装置92の組み合わせの代わりに、異なる構成の組み合わせ、たとえばCPU、ROM、RAM、及びFPGAの組み合わせにより実現されてもよい。
次に、インシデント管理サーバ300が行う処理の詳細について説明する。
【0056】
<インシデント情報追加処理>
図9は、インシデント情報追加処理の一例を説明するフローチャートである。インシデ
ント情報追加処理は、アプリケーション監視サーバ200からのインシデント通知を受信して(F102)その情報をインシデントテーブル313に登録する処理である。インシデント情報追加処理は、例えば、インシデント管理サーバ300の起動後繰り返し実行される。
【0057】
インシデント管理サーバ300のインシデント管理プログラム310は、アプリケーション監視サーバ200からの、障害情報を含むインシデント通知の受信を待機している。なお、障害情報は、例えば、障害が発生したアプリケーション実行基盤110のアプリケーション実行基盤ID、リソースID、及び障害のログを含む。
【0058】
インシデント通知を受信すると(S101)、インシデント管理プログラム310は、受信したインシデント通知の内容を、ログテーブル312に登録する(S102)。例えば、インシデント管理プログラム310は、ログテーブル312の、新規のログIDを設定した新たなレコードに、インシデント通知におけるログの内容を登録する。
【0059】
また、インシデント管理プログラム310は、受信したインシデント通知の内容を、インシデントテーブル313に登録する(S103)。例えば、インシデント管理プログラム310は、インシデントテーブル313の、新規のインシデントIDを設定した新たなレコードに、ログIDと、インシデント通知におけるアプリケーション実行基盤IDと、リソースIDとを設定する。また、インシデント管理プログラム310は、そのレコードの状態3135に「新規」を設定する。
【0060】
インシデント管理プログラム310は、リソース管理者テーブル314を参照することで、インシデント通知が示す障害(以下、発生インシデントという)に係るリソース(以下、障害発生リソースという)のリソース管理者のユーザIDを特定する。インシデント管理プログラム310は、特定したリソース管理者に係る管理者端末501に、インシデントに関する情報を送信する(S104)。
【0061】
例えば、インシデント管理プログラム310は、リソース管理者テーブル314を参照し、アプリケーション実行基盤ID3142及びリソースID3143に、インシデント通知におけるアプリケーション実行基盤ID及びリソースIDに対応する情報が設定されているレコードを特定し、そのレコードのユーザID3141の内容を取得する。インシデント管理プログラム310は、取得したユーザID3141に係るリソース管理者のメールアドレスに、S103で設定した情報(インシデントID、ログID、アプリケーション実行基盤ID、リソースID、及び状態情報)を送信する。以上でインシデント情報追加処理は終了する。
【0062】
<アクセス権限管理情報取得処理>
図10は、アクセス権限管理情報取得処理の一例を説明するフローチャートである。アクセス権限管理情報取得処理は、アプリケーション実行基盤110のアクセス権限管理情報119から障害発生リソースに関する情報を取得し、インシデントテーブル313に対して障害発生リソースへのアクセス権限の登録を行う処理である。アクセス権限管理情報取得処理は、例えば、インシデント情報追加処理の完了を契機として開始される。なお、アクセス権限管理情報取得処理は複数回繰り返し実行されてもよい。
【0063】
インシデント管理プログラム310は、アプリケーション実行基盤110のアクセス権限管理情報119から、障害発生リソースにおける障害及びアクセス権限の情報(以下、障害発生リソース情報という)を取得する。具体的には、インシデント管理プログラム310は、リソースアクセス権限管理プログラム113を呼び出すことで、アクセス権限管理情報119から、障害発生リソースに関する部分(例えば、障害発生リソースを担当す
るとして登録されているユーザ又はリソース管理者のユーザID及びそのアクセス権限)を取得する(S201)。
【0064】
インシデント管理プログラム310は、S201で取得した障害発生リソース情報に、障害発生リソースのリソース管理者以外のユーザのアクセス権の情報が含まれているか否かを確認する(S202)。
【0065】
障害発生リソースのリソース管理者以外のユーザのアクセス権の情報が含まれている場合は(S202:Yes)、インシデント管理プログラム310は、S203の処理を実行し、障害発生リソースのリソース管理者以外のユーザのアクセス権の情報が含まれていない場合は(S202:No)、インシデント管理プログラム310は、S204の処理を実行する。
【0066】
S203においてインシデント管理プログラム310は、インシデントテーブル313に、アクセス権限の情報を追加する。例えば、インシデント管理プログラム310は、インシデントテーブル313の、障害発生リソースに係るレコードのリソースアクセス権限設定情報3137に、S202で特定したリソース管理者以外のユーザに関する障害発生リソース情報(例えば、各ユーザのユーザID、障害発生リソースのリソースID、及びアクセス権限の情報)を追加する。以上でアクセス権限管理情報取得処理は終了する(S209)。
【0067】
一方、S204においてインシデント管理プログラム310は、インシデントテーブル313から、障害発生リソースに係るインシデントと同種の過去のインシデントを検索する。例えば、インシデント管理プログラム310は、インシデントテーブル313のアプリケーション実行基盤ID3133の内容及びリソースID3134の内容が障害発生リソースのアプリケーション実行基盤ID及びリソースIDとそれぞれ同じであり、インシデントテーブル313のインシデントID3131の内容又はログID3132が示すログ情報の内容が同じ又は類似するレコードを検索する(なお、類似性の判断は、例えば文字列又は単語の類似性を判断する周知の技術等で行えばよい)。
【0068】
障害発生リソースに係るインシデントと同種の過去のインシデントがある場合には(S204:Yes)、インシデント管理プログラム310は、S205の処理を実行し、障害発生リソースに係るインシデントと同種の過去のインシデントがない場合には(S204:No)、インシデント管理プログラム310は、S206の処理を実行する。
【0069】
S205においてインシデント管理プログラム310は、S204で検索したインシデントのうち最新のインシデントを特定し、そのインシデントのアクセス権限情報を取得する。そして、インシデント管理プログラム310は、その情報をインシデントテーブル313に追加する(S203)。以上でアクセス権限管理情報取得処理は終了する(S209)。
【0070】
例えば、インシデント管理プログラム310は、S204で検索したインシデントテーブル313のレコードのうち最新のレコードを特定し、特定したレコードのリソースアクセス権限設定情報3137の内容を取得する(S205)。インシデント管理プログラム310は、インシデントテーブル313の、障害発生リソースに係るレコードのリソースアクセス権限設定情報3137に、上記取得したリソースアクセス権限設定情報3137の内容を設定する(S203)。
【0071】
一方、S206においてインシデント管理プログラム310は、障害発生リソースに関連するリソース(以下、関連リソースという)を検出し、障害発生リソース及び関連リソ
ースからなるリソース群の構成の特徴を特定する。
【0072】
具体的には、インシデント管理プログラム310は、リソース間の参照及び被参照の関係、各リソースの環境情報に基づき、リソース構成の特徴を特定する。例えば、まず、インシデント管理プログラム310は、(1)障害発生リソースのコンテナ(例えば、Pod
)のイメージ名、(2)そのコンテナにアクセスするための環境情報(例えば、Secret、ConfigMap)の名称、及び(3)環境情報を参照するリソース(関連リソース)のコンテ
ナの全てのイメージ名を特定する。そして、インシデント管理プログラム310は、リソース構成の特徴として、例えば、環境情報及び関連リソースの数、種類、名称、及びデータ内容の類似性等を特定する(なお、類似性の判断は、例えば文字列又は単語の類似性を判断する周知の技術等で行えばよい)。
【0073】
なお、リソース構成の特徴(関連リソース及び環境情報)の特定の方法は上記の方法に限定されない。例えば、インシデント管理プログラム310は、リソース及び環境情報の構成の特徴を定義したデータを予め作成しておいてもよい。また、インシデント管理プログラム310は、インシデントテーブル313の各レコードのログID3132からログ情報を取得し、取得したログ情報を解析してもよい。また、インシデント管理プログラム310は、アプリケーション実行サーバ100が備える所定の管理プログラムを呼び出すことで特徴を特定してもよい。
【0074】
インシデント管理プログラム310は、インシデントテーブル313から、S206で特定したリソース構成の特徴と同じ特徴のリソース構成を有する他のリソース群を検索し、そのリソース群における、障害発生リソースに対応するリソースを検索する(S207)。
【0075】
例えば、インシデント管理プログラム310は、S206で特定した、リソースの参照被参照の関係及び環境情報と同じ関係及び環境情報を有するリソース群を全て検索し、検索した各リソース群における、障害発生リソースに対応するリソースを特定する。そして、インシデント管理プログラム310は、特定したリソースの情報が設定されているインシデントテーブル313のレコードを全て検索する。なお、インシデント管理プログラム310は、同じ参照被参照の関係及び環境情報だけでなく、一定の類似関係にある参照被参照の関係及び環境情報を有するリソース群を検索してもよい。
【0076】
S207でリソースを検索できなかった場合は(S207:No)、アクセス権限管理情報取得処理は終了する(S209)。
【0077】
一方、S207でリソースを検索できた場合は(S207:Yes)、インシデント管理プログラム310は、S208、S203の処理を実行する。
【0078】
例えば、インシデント管理プログラム310は、S206で検索したレコードのリソースアクセス権限設定情報3137の内容を取得する(S208)。インシデント管理プログラム310は、インシデントテーブル313の、障害発生リソースに係るレコードのリソースアクセス権限設定情報3137に、上記取得したリソースアクセス権限設定情報3137の内容を設定する(S203)。以上でアクセス権限管理情報取得処理は終了する(S209)。
【0079】
<インシデント情報更新処理>
図11は、インシデント情報更新処理の一例を説明するフローチャートである。インシデント情報更新処理は、リソース管理者からの入力に基づき、インシデントテーブル313のレコード内容を修正又は更新する処理である。インシデント情報更新処理は、例えば
、インシデントテーブル313の作成後、繰り返し実行される。
【0080】
インシデント管理サーバ300のインシデント管理プログラム310は、インシデントIDが付帯した、(リソース管理者等により決定された)障害対応ユーザのユーザID、障害対応ユーザの状態情報(例えば、「対応中」又は「完了」)、又は障害対応ユーザのアクセス権限の情報のいずれかの管理者端末501からの受信を待機する(S301)。なお、インシデント管理プログラム310は、これらの情報の入力を直接リソース管理者等から受け付けてもよい。
【0081】
インシデント管理プログラム310は、上記情報を受信すると(又は入力されると)(S301)、受信した情報に基づきインシデントテーブル313を更新する(S302)。
【0082】
例えば、インシデント管理プログラム310は、S301で受信した情報に付帯するインシデントIDに基づき、更新するインシデントテーブル313のレコードを特定する。インシデント管理プログラム310は、特定したレコードのユーザID3136、状態3135、又はリソースアクセス権限設定情報3137を、S301で受信した情報で更新する。以上でインシデント情報更新処理は終了する。
【0083】
<アクセス権限管理情報更新処理>
図12は、アクセス権限管理情報更新処理の一例を説明するフローチャートである。アクセス権限管理情報更新処理は、インシデントテーブル313の更新を契機に、アプリケーション実行基盤110のアクセス権限管理情報119を更新する処理である。
【0084】
インシデント管理サーバ300のインシデント管理プログラム310は、所定のタイミング(例えば、所定の時間間隔(10秒ごと)、所定の時刻)で、インシデントテーブル313のレコードの更新を監視する(S401)。なお、インシデントテーブル313のレコードの更新は、例えば、インシデント情報追加処理、アクセス権限管理情報取得処理、又はインシデント情報更新処理により行われる。
【0085】
インシデント管理プログラム310は、インシデントテーブル313の更新を検知すると、その更新内容を特定する。
【0086】
インシデント管理プログラム310は、その更新内容が、障害対応ユーザによる復旧の開始であるか否かを判定する(S402)。例えば、インシデント管理プログラム310は、ユーザID3136にユーザの情報(障害対応ユーザの情報)が既に設定又はその後変更されており、かつ状態3135が「新規」から「対応中」に変更されたインシデントテーブル313のレコードがあるか否かを判定する。
【0087】
更新内容が、障害対応ユーザによる復旧の開始である場合は(S402:Yes)、インシデント管理プログラム310は、S403の処理を実行し、更新内容が、障害対応ユーザによる復旧の開始でない場合は(S402:No)、インシデント管理プログラム310は、S406の処理を実行する。
【0088】
S403において、インシデント管理プログラム310は、障害対応ユーザの障害発生リソースへのアクセス権限が設定されているか否かを判定する。例えば、インシデント管理プログラム310は、S402で特定したレコードのリソースアクセス権限設定情報3137に、S402の処理中に特定された障害対応ユーザのユーザIDが含まれているか否かを判定する。
【0089】
障害対応ユーザのリソースへのアクセス権限が設定されている場合は(S403:Yes)、インシデント管理プログラム310はS404の処理を実行し、障害対応ユーザのリソースへのアクセス権限が設定されていない場合は(S403:No)、アクセス権限管理情報更新処理は終了する(S409)。
【0090】
S404において、インシデント管理プログラム310は、インシデントテーブル313のアクセス権限情報を更新する。例えば、インシデント管理プログラム310は、S402で特定したレコードのリソースアクセス権限設定情報3137に設定されているアクセス権限情報の障害対応ユーザのユーザIDの部分を、そのレコードのユーザID3136の内容に設定する。
【0091】
そして、インシデント管理プログラム310は、S404での更新内容の設定を要求する設定要求をアプリケーション実行基盤110に送信し(S405)、アクセス権限管理情報更新処理は終了する(S409)。
【0092】
例えば、インシデント管理プログラム310は、S404で更新したリソースアクセス権限設定情報3137の内容(障害対応ユーザのID、リソース、及びアクセス権限等の情報)を含む設定要求を、アプリケーション実行基盤110に送信する。この場合、インシデント管理プログラム310は、当該レコードのアプリケーション実行基盤ID3133の情報及びアプリケーション実行基盤テーブル311に基づきエンドポイントを特定し、特定したエンドポイントを呼び出すことで、設定要求を送信する。
【0093】
そして、アプリケーション実行基盤110のリソースアクセス権限管理プログラム113は、受信した設定要求におけるリソースアクセス権限設定情報3137の内容を、アクセス権限管理情報119に設定する。
【0094】
一方、S406において、インシデント管理プログラム310は、インシデントテーブル313の更新内容が、障害対応ユーザによる復旧の完了であるか否かを判断する(S402)。例えば、インシデント管理プログラム310は、状態3135が「対応中」から「完了」に変更されたインシデントテーブル313のレコードがあるか否かを判定する。
【0095】
インシデントテーブル313の更新内容が、障害対応ユーザによる復旧の完了である場合(S406:Yes)、インシデント管理プログラム310は、S407の処理を実行し、インシデントテーブル313の更新内容が、障害対応ユーザによる復旧の完了でない場合(S406:No)、アクセス権限管理情報更新処理は終了する(S409)。
【0096】
S407において、インシデント管理プログラム310は、復旧を行った障害対応ユーザの情報をアプリケーション実行基盤110(アクセス権限管理情報119)から削除するか否かを判断する。例えば、インシデント管理プログラム310は、S406で特定されたレコードのアプリケーション実行基盤ID3133の内容を取得し、アプリケーション実行基盤テーブル311においてアプリケーション実行基盤ID3131に上記取得した内容が設定されているレコードのユーザ情報自動削除3113が”true”であるかもしくは”false”であるかを確認する。
【0097】
復旧を行った障害対応ユーザの情報を削除する場合は(S407:Yes)、インシデント管理プログラム310は、S408の処理を実行し、復旧を行った障害対応ユーザの情報を削除しない場合は(S407:No)、アクセス権限管理情報更新処理は終了する(S409)。
【0098】
S408において、インシデント管理プログラム310は、アクセス権限管理情報11
9における、復旧を行った障害対応ユーザの情報の削除の要求をアプリケーション実行基盤110に送信し(S405)、アクセス権限管理情報更新処理は終了する(S409)。
【0099】
例えば、インシデント管理プログラム310は、S406で特定したレコードのユーザID3136に設定されている障害対応ユーザのIDの情報を含む削除要求を、アプリケーション実行基盤110に送信する。この場合、インシデント管理プログラム310は、上記レコードのアプリケーション実行基盤ID3133の情報に基づき、アプリケーション実行基盤テーブル311からエンドポイントを特定し、特定したエンドポイントを呼び出すことで、削除要求を送信する。
【0100】
その後、アプリケーション実行基盤110のリソースアクセス権限管理プログラム113は、受信した削除要求に対応するアクセス権限管理情報119の部分を削除する。
【0101】
(インシデント管理画面)
図13は、インシデント管理画面315の一例を示す図である。インシデント管理画面315は、インシデントID、アプリケーション実行基盤ID、障害発生リソースのID、障害発生リソースのログIDの値の各表示欄316を備える。また、インシデント管理画面315は、状態情報(「新規」、「対応中」、「完了」)のユーザからの設定を受け付ける設定欄317を備える。さらに、インシデント管理画面315は、ユーザから、担当者及びリソースアクセス権限設定情報の入力を受け付ける入力欄318を備える。
【0102】
以上説明したように、本実施形態のインシデント管理サーバ300は、アクセス権限管理情報119に基づき各リソースへ115のアクセスが管理されているアプリケーション実行サーバ100(アプリケーション実行基盤110)から、アプリケーション監視サーバ200を介してリソース115の障害情報を受信し、障害が発生したリソース115にアクセスする障害対応ユーザ及び障害対応ユーザのアクセス権限を特定し、特定した障害対応ユーザの情報及びアクセス権限の情報を、アクセス権限管理情報119に設定する。
【0103】
これにより、アプリケーション実行基盤110のリソース115で発生した障害(インシデント)の復旧を担当する障害対応ユーザ及び復旧作業に必要なアクセス権限の情報を、アプリケーション実行基盤110のアクセス権限管理情報119に反映することができる。これにより、障害対応ユーザは、障害が発生したアプリケーション実行基盤110のリソース115にアクセスし、障害を復旧することができる。
【0104】
例えば、アプリケーション実行基盤110のアクセス権限管理情報119に登録されている障害対応ユーザが途中で変更された場合であっても、障害を復旧するにあたり、適切な障害対応ユーザの情報及びアクセス権限の情報をアクセス権限管理情報119に反映することができる。
【0105】
以上のように、本実施形態のインシデント管理サーバ300によれば、発生したリソースの障害の復旧に必要な適切なアクセス権限の設定が可能となる。そして、リソースの障害対応のためのアクセス権限の管理コストを低減することができる。
【0106】
さらに、本実施形態のインシデント管理サーバ300は、障害が解消したか否かを判断し、その障害が解消したと判断した場合に、アクセス権限管理情報119に設定した障害対応ユーザの情報を削除する。
【0107】
これにより、障害が解消しリソースの修正が不要となったにも関わらず、障害対応ユーザによりリソース115が誤って改変されることを防ぐことができる。
【0108】
また、本実施形態のインシデント管理サーバ300は、アプリケーション実行サーバ100(アプリケーション監視サーバ200)から受信した障害情報に基づき、アクセス権限の情報を特定する。
【0109】
これにより、アプリケーション実行サーバ100(アプリケーション実行基盤110)の仕様及び運用に基づいた適切なアクセス権限の情報を特定することができる。
【0110】
また、本実施形態のインシデント管理サーバ300は、アプリケーション実行サーバ100(アプリケーション監視サーバ200)から過去に受信した障害情報に基づき、発生した障害に対応する障害を特定し、特定した障害の情報に基づき、アクセス権限の情報を特定する。
【0111】
これにより、アプリケーション実行サーバ100(アプリケーション実行基盤110)の過去の障害履歴に基づき、適切なアクセス権限の情報を特定することができる。
【0112】
また、本実施形態のインシデント管理サーバ300は、障害発生リソース及び関連リソースの関係性(リソース構成の特徴)を特定し、特定した関係性と同種の関係性を有するリソース群における、障害発生リソースに対応したリソースを特定し、特定したリソースと、過去に受信した障害情報とに基づき、アクセス権限の情報を特定する。
【0113】
これにより、過去に障害発生リソースに障害が発生していなかったような場合でも、障害発生リソースと同様のリソース構成を有する他のリソースに基づいて、適切なアクセス権限を特定することができる。
【0114】
また、本実施形態のインシデント管理サーバ300は、障害発生リソースにアクセスするユーザの情報の入力をリソース管理者から受け付ける画面を表示することで、障害対応ユーザを特定する。
【0115】
これにより、リソース管理者の判断に基づき、適宜な障害対応ユーザを設定することができる。
【0116】
本発明は上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲内で、任意の構成要素を用いて実施可能である。以上説明した実施形態や変形例はあくまで一例であり、発明の特徴が損なわれない限り、本発明はこれらの内容に限定されるものではない。また、上記では種々の実施形態や変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
【0117】
例えば、本実施形態の各装置が備える各機能の一部は他の装置に設けてもよいし、別装置が備える機能を同一の装置に設けてもよい。
【符号の説明】
【0118】
115 リソース
119 アクセス権限管理情報
300 インシデント管理サーバ
321 障害情報受信部
322 アクセス権限情報特定部
323 アクセス権限管理情報設定部
324 画面表示部