(57)【要約】【課題】異なる種類のデータベース管理システムの権限管理方法、権限認証方法を共通化し、管理および操作を容易にする。【解決手段】複数種類のデータベースからなるデータベース群３と、操作者にユーザ識別情報４と操作情報５を入力させ権限操作を要求する認証要求部１１を有するクライアント１と、ユーザ識別情報４と認証情報２１を比較しユーザを認証する認証部２２と、権限操作情報５と権限情報２３から権限操作内容を決定する判定部２４と、データベースに接続しアクセス権限操作を実行するデータベース操作部２６とを備えた権限管理サーバ２とを備え、前記認証部２２はユーザ識別情報５１と認証情報２１とが一致した場合にのみデータベース操作を実行可能とし、前記判定部２４は、権限情報２３から実行対象の権限操作を抽出し、前記データベース操作部２６は、データベースの権限を付与または取消しを実行する。【選択図】図１
2007041829.tif 000002
【特許請求の範囲】
【請求項１】
複数種類のデータベースからなるデータベース群と、
操作者にユーザ識別情報と操作情報を入力させ権限操作を要求する認証要求部を有するクライアントと、
ユーザ識別情報と認証情報を比較しユーザを認証する認証部と、権限操作情報と権限情報から権限操作内容を決定する判定部と、データベースに接続しアクセス権限操作を実行するデータベース操作部とを備えた権限管理サーバとを備え、
前記認証部はユーザ識別情報と認証情報とが一致した場合にのみデータベース操作を実行可能とし、前記判定部は、ユーザ識別情報と権限操作情報を元に権限情報から実行対象の権限操作を抽出し、前記データベース操作部は、異なる種類のデータベースへのログインパラメタを記載したログインパラメタ情報を用いて、データベースの権限を付与または取消しを実行することを特徴としたデータベース権限管理システム。
【請求項２】
前記権限情報には、さらに権限付与または取消し可能な時間または日付の範囲を定めた実行可能スケジュール情報を含み、前記判定部は、現在日時と実行可能スケジュール情報と比較し、実行可能範囲でなければ権限のデータベース操作を実行しないことを特徴とする請求項１記載のデータベース権限管理システム。
【請求項３】
前記権限情報には、さらに前記実行可能スケジュール情報に基づき権限操作を自動実行することを指示する自動実行フラグ情報を含み、自動実行フラグ情報が自動実行を指示する内容であった場合、前記判定部は実行可能スケジュールに従い、前記データベース操作なると自動実行日時データに基づき、データベースの権限を付与または取消しを実行することを特徴とした請求項２記載のデータベース権限管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース権限管理システムに関するものである。
【背景技術】
【０００２】
一般に、データベースシステムでは、データの操作の種類や操作対象のオブジェクト及びそれらの組み合わせ条件毎に、処理の実行を許可する機能を持ち、必要最低限の権限のみをユーザに与え、ユーザの役割に応じて操作範囲を制限することで、データの安全性を高めるものがある。この方法によれば、ユーザは、データベースへのログイン認証によってログインが成功すると、あらかじめデータベース管理者によって付与されている権限が使用可能となる。
【０００３】
さらに、データベースにはあらかじめ付与された権限はログイン時に有効化されず、有効化するためにログイン認証とは別の権限認証を必要とする権限認証機能を持つものが知られている。この方法によれば、ログイン認証だけでは権限を行使することができないため、データベースの安全性を高めることに有効である。
【０００４】
【特許文献１】特開２００２−１６３２６０
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、従来、権限認証機能についてはデータベース毎に機能が異なり、特に、権限認証機能を持たないデータベースは権限認証機能を利用することができない。そのため、これら複数種類のデータベースを運用しようとする場合、権限の認証については操作手順を共通化できず、データベースの機能相違を考慮した権限管理、権限認証方法を変えなければならないため、権限管理者およびユーザ操作手順が煩雑であるという問題があった。
【０００６】
さらに、従来、データベースの権限はユーザに常時付与されていたため、権限認証機能を持たないデータベースは勿論、権限認証機能を持つデータベースにおいても認証さえ受ければ時間的な制約はなく、例えば夜間や休日などに不正アクセスを防止するための方法は考慮されていなかった。そのため、データベース管理者やセキュリティ管理者不在時にはデータベースへの不正アクセスを行い易くなったり、不正アクセスが成功してしまった場合においてはその発見が遅れるというセキュリティ上の問題があった。
【０００７】
したがって、本発明の第１の目的は、権限認証機能を持たないデータベースに、データベースの機能を変更することなく権限認証を可能とさせ、異なる種類のデータベースの権限管理方法、権限認証方法を共通化され、権限管理および操作が容易なデータベース権限管理システムを提供することである。
【０００８】
また、本発明の第２の目的は、権限の付与および取消しを許可するスケジュールをあらかじめ決めておき、許可されたスケジュール外には、権限を与えないようにすることで、セキュリティの向上したデータベース権限管理システムを提供することである。
【０００９】
また、本発明の第３の目的は、権限の付与および取消しを許可するスケジュールをあらかじめ決めておき、スケジュールによる権限付与および取り消しを自動的に行い、許可されたスケジュール外には権限を与えないようにし、セキュリティと操作性の向上したデータベース権限管理システムを提供することである。
【課題を解決するための手段】
【００１０】
本発明は権限管理サーバが、外部よりデータベース群の権限を一元的に操作することで、本来異なる種類のデータベースの権限操作方法を共通化させることを特徴とする。
【００１１】
さらに本発明は、権限管理サーバからの権限操作を、あらかじめ作成された権限の許可されたスケジュール情報を含む権限情報を備え、クライアントからの権限操作要求の時間を判定することにより、許可された時間外の権限操作はできないよう制限することを特徴とする。
【００１２】
さらに本発明は前記認証部はスケジュール情報を含む権限情報に従い、権限付与または取り消しを自動実行することを特徴とする。
【発明の効果】
【００１３】
本発明のデータベース権限管理システムは、権限認証機能を持たないデータベースに対してデータベースの機能を変更することなく、権限認証機能を利用可能とさせ、権限認証機能を持つデータベースとの操作を共通化できるため、権限管理および権限認証操作が容易になるという利点がある。
また、本発明のデータベース権限管理システムは、あらかじめ作成された権限の許可されたスケジュール情報を含む権限情報を備え、クライアントからの権限操作要求の時間を判定することにより、許可された時間外の権限操作はできないよう制限できるため、データベースのセキュリティが向上するという利点がある。
また、本発明のデータベース権限管理システムは、前述のスケジュールに従いデータベース権限操作を自動化したことにより、データベースのセキュリティを向上させかつ操作性を向上するという利点がある。
【発明を実施するための最良の形態】
【００１４】
本発明の第１の目的である、権限認証機能を持たないデータベースに、データベースの機能を変更することなく権限認証を可能とさせ、異なる種類のデータベースの権限管理方法、権限認証方法を共通化することと、本発明の第２の目的である、権限の付与および取消しを許可するスケジュールをあらかじめ決めておき、許可されたスケジュール外には、権限を与えないようにすること、を実現するため、データベース群とは独立した権限管理サーバから各データベースの権限操作を一元的に実行するようにし、スケジュールにしたがって実行の可否を判定する判定部を同一サーバ内に備えるよう構成した。
【実施例１】
【００１５】
以下、図１〜図５を用いて、本発明の第１の実施形態によるデータベース権限管理システムの構成について説明する。
【００１６】
図１は本発明の第１の実施形態によるデータベース権限管理のブロック図である。このデータベース権限管理システムは、クライアント１、権限管理サーバ２、データベース群３から構成される。データベース群３は異なる複数種類のデータベースにて構成される。
【００１７】
クライアント１は、操作者に認証ＩＤ４１、パスワード４２からなるユーザ識別情報４と、操作種別情報５１、データベース識別子５２からなる権限操作情報５入力させ、それらを権限管理サーバ２に送出し、権限管理サーバ２への認証を要求する認証部１１を備える。本実施例では、クライアント１は、データベース群３に通常のアクセスを行うクライアント機能を持つデータベースクライアントと同一コンピュータであることを想定しているが、別の装置上で実現してもよい。
ユーザ識別情報４の認証ＩＤ４１およびパスワード４２は、権限管理サーバ２に対する権限割り当てを要求するためのもので、データベース群３にユーザがログインするためのユーザＩＤ、パスワードとは異なるものである。操作種別情報５１は、権限を付与するのか、取り消すのかを指示する情報で、本実施例では、例えば付与を指示するときは”１”、取り消しを指示するときには”０”とする。データベース識別子５２は、操作者が権限操作を要求する対象となるデータベースをデータベース群３の中から特定する識別子であり、データベース毎に重複しないよう決める。
【００１８】
権限管理サーバ２は、データベース３とは独立したサーバ装置であり、認証情報２１、認証部２２、権限情報２３、判定部２４、ログインパラメタ情報２５、データベース操作部２６を備える。
【００１９】
図２は権限管理サーバ２の動作の概略を示すフローチャートである。以下、図２に沿って権限管理サーバ２の動作を説明する。
【００２０】
ステップＳ１００では、権限管理サーバ２の認証部２２は、常時、クライアント１からの認証要求受付のため待機しており、クライアントの認証部１１からの認証要求を受付けると、認証ＩＤ４１、パスワード４２、操作種別情報５１、データベース識別情報５２を取得する。
【００２１】
ステップＳ１０１では、認証部２２は、ステップＳ１００にて取得した認証ＩＤ４１およびパスワード４２を、図３に例示する認証情報２１と比較し一致するものがあるかどうか検索する。図３に例示したとおり、認証情報２１は認証ＩＤ２１ａおよびパスワード２１ｂからなる表であり、あらかじめ権限管理者によって作成されておく必要がある。なお、認証ＩＤ２１ａには重複はあってはならない。パスワード２１ｂはセキュリティの問題上、暗号化して保存されるが、説明の都合上、特に説明しない。
【００２２】
ステップＳ１０２では、ステップＳ１０１の認証部２２での認証結果を判定する。すなわち、前述の認証テーブル２１内に、クライアントから送出された認証ＩＤ４１およびパスワード４２の組み合わせが存在すれば認証成功とし、存在しなければ認証失敗とする。認証が失敗した場合は、何らデータベース権限の変更は行わず、直ちに処理を終了し、ステップＳ１００の認証要求受付待機状態に戻る。認証が成功した場合、取得済みの情報のうち、認証ＩＤ４１、操作種別情報５１、データベース識別情報５２を、認証部２２から判定部２４に渡す。
【００２３】
ステップＳ１０３では、判定部２４は、図４に例示する権限情報２３を読み込み、条件にあてはまる行を抽出する。図４に例示したとおり、権限情報２３は、認証ＩＤ２３ａ、ＤＢ識別子２３b、操作種別２３c、ＳＱＬ２３ｄ、実行可能時間２３ｅの各列からなる表であり、あらかじめ管理者によって作成されておく必要がある。ＳＱＬ２３ｄの列には、ＳＱＬと呼ばれる標準化されたデータベース操作言語格納される。それらの意味するものは、該当する権限を付与または取消す操作である。条件による行の抽出は、認証部２２から渡された認証ＩＤ４１および操作種別情報５１およびデータベース識別情報５２が権限・条件テーブル２３の認証ＩＤ２３ａ、ＤＢ識別子２３b、操作種別２３cのそれぞれと一致するものについてなされる。
【００２４】
ステップＳ１０４では、判定部２４は、Ｓ１０３で抽出された権限情報２３の各行の実行可能スケジュール２３ｅが、現在日時内であるかどうかを全行について判定する。例えば、実行可能時間が７：３０から１９：００となっており、現在時刻が１９：２０であれば失敗と判定される。例えば、同条件で、現在時刻が９：００であれば成功と判定される。成功と判定された場合、ステップＳ１０３の抽出結果をデータベース操作部２６に渡し、ステップＳ１０５へ進み、１行でも失敗があれば、直ちに処理を中止し、ステップＳ１００に戻る。なお、本実施例では、権限・条件テーブルの各行のうち、１行でも失敗があれば、直ちに処理を中止し、ステップＳ１００に戻るとしたが、成功した行だけをデータベース操作部２６に渡し、ステップＳ１０５に進むようにしてもよい。また、本実施例では、実行可能スケジュール情報は時間情報のみとしたが、日付情報、曜日情報を含み、曜日、あるいは休日の条件、あるいはそれらの組み合わせによって判定してもよい。例えば、ある権限の実行可能スケジュールは、月曜日から金曜日は９：００〜１７：００とし、土曜日と日曜日は１３：００〜１７：００とし、うち、特定の休日には実行不可とするといった内容を表現してもよい。また、実行可能時間ではなく、実行禁止時間として、実行を許可しない時間を記述してもよい。この場合、判定部２４は現在日時が許可しない時間に含まれた場合、失敗と判定する。
【００２５】
ステップＳ１０５では、データベース操作部２６がログインパラメタ情報２５を読み込み、データベース群３へのログインパラメタを取得する。ログインパラメタ情報２５は、図５に例示するように、ＤＢ識別子２５ａ、ＵＲＬ２５ｂ、ログインユーザ２５ｃ、パスワード２５ｄからなる。ＤＢ識別子２５ａは操作者が入力したデータベース識別情報５２と比較し、特定するために使われる。ＵＲＬ２５ｂは権限管理対象データベース群３へのアクセスに必要となる情報である。本実施例によれば、データベース操作部２６は、一般的なプログラム言語で記述され、データベース群３の提供者が提供するドライバを介してデータベースにログインし、ＳＱＬ文を渡すプログラムとして実現される。一般的に、ドライバのプログラムインタフェースはドライバの仕様によって決まるため、ＵＲＬに記載する内容はドライバに合わせて記載する必要がある。ログインユーザ２５ｃおよびパスワードは、データベース群３の管理者によってデータベース群３上に予め作成された権限管理用ユーザである。この権限管理用ユーザには、権限管理サーバ２からログインするための権限と、データベース群３内で権限を付与および取消しを実行するための権限を与えておく必要がある。一般的に、これらのユーザ作成方法および権限付与方法は、データベース毎に異なる。例えばあるデータベースでは、ログイン可能とする権限はＣＲＥＡＴＥ  ＳＥＳＳＩＯＮ権限であり、権限を付与および取消しを可能とする権限はＧＲＡＮＴ ＡＮＹ ＰＲＩＶＩＬＥＧＥまたはＧＲＡＮＴ ＡＮＹ ＯＢＪＥＣＴ ＰＲＩＶＩＬＥＧＥであり、あるデータベースでは、データベース管理者またはスーパユーザと呼ばれる、データベースの全ての操作が可能な権限である必要であるものがある。これらのユーザ作成方法および権限の付与方法は、データベースの供給者によって詳細に開示されている。これらの権限は操作対象となるデータベース毎に、それぞれのデータベース管理者によって行われる必要がある。
【００２６】
ステップＳ１０６では、ステップＳ１０５で取得したＵＲＬ、ログインユーザ、パスワードを使い、データベース操作部２６にがデータベース群３のうちの１つのデータベースに権限管理用ユーザとしてログインする。
【００２７】
ステップＳ１０７では、ステップＳ１０３で抽出された、実行対象のＳＱＬ文をデータベース操作部２６が実行する。具体的には、データベースドライバへＳＱＬ文を渡す処理を実行することで実現される。
【００２８】
ステップＳ１０８では、ステップＳ１０６で生成したデータベースとの接続を切断する。
ステップＳ１０９では、全ての権限操作が終了したかどうかを判定する。全て終了すれば、権限操作を終了し、ステップＳ１００に戻る。まだ実行されていないＳＱＬが残っている場合、ステップＳ１０６に戻り、データベース群３内の別のデータベースに対し処理を行う。このように、判定部２４が抽出した全てのＳＱＬの実行が完了するまで、ログイン、ＳＱＬ実行、ログアウトを繰り返す。
【００２９】
以上のように本実施形態によれば、権限認証機能のないデータベースに、データベースに機能追加することなく権限認証を可能とさせ、権限認証機能のあるデータベースとの権限認証方法を共通化することにより、異なる種類の複数のデータベースを運用する際、権限管理および権限操作手順を容易にすることが可能となる。
【実施例２】
【００３０】
実施例１では、操作者による認証要求をトリガとして、権限管理サーバが権限を付与または取消す場合の例について説明した。これに対し、実施例２では、操作者の認証要求なしに、権限管理サーバが自動的にスケジュールに基づいて権限を付与または取消す方法を実施例１のデータベース権限管理サーバに付け加える場合について以下、図１、図２、図４、図６、図７、図８用いて説明する。
【００３１】
図６は本発明の実施例２における権限管理サーバのもつ権限情報の一例を示した図で、図４に示す実施例１の権限情報に、さらに、自動実行フラグ情報２３ｆが追加された構成となる。本自動実行フラグ情報２３ｆは、該当する権限操作を、スケジュールに従って自動実行するかしないかを示し、自動実行する場合を”１”、しない場合を”０”と表記する。
【００３２】
図７は、実施例２における判定部２３に追加される自動実行動作の例を示したフローチャートである。図２に示した実施例１における操作者からの認証要求に対応する判定部２４の動作Ｓ２に、さらに、スケジュールを自動実行する判定部の自動実行動作Ｓ４が追加される。Ｓ４は認証要求に対応する判定部２４の動作Ｓ２とは非同期に動作し、ステップＳ２００、Ｓ２０１からなる。
【００３３】
ステップ２００では、図６に示した実施例２の権限情報から、図８に示したスケジュール表２７を作成する。本例によれば、まず、権限情報２３の１行目と５行目の自動実行フラグ情報２３ｆに”１”が記述されており、自動実行の対象権限操作であることが判別できる。次に、実行可能時間２３ｅより、対象権限操作の開始時間、終了時間を特定し、開始時間には権限付与動作、すなわち操作種別２３ｃが”１”である行を、終了時間には権限取消し動作、すなわち操作種別２３ｃが”０”である行を選択する。このように選択された行を時間でソートすることにより、スケジュール表２７を得ることができる。
【００３４】
ステップ２０１では、ステップ２００で作成したスケジュール表２７に基づき、現在時刻が自動実行時間２７ｃと一致するかどうかを監視する。すなわち、図８のスケジュール表の例によれば、現在時刻が7:30、9:00、17:00、19:00になったとき、該当する行が選択される。選択された行の情報は、データベース操作部２６に渡され、データベース操作部２６によって権限操作が実行される。
【００３５】
また、実施例２では、クライアント１からの認証要求による権限操作と、スケジュールによる自動権限操作を同時に実現する例について説明したが、より簡易にスケジュールによる自動権限操作のみを実現するため、クライアント１からの認証要求による権限操作を必要しないよう構成することも可能であり、この場合、クライアント１、認証情報２１、認証部２２を備えず、また、判定部の動作は、スケジュール自動実行動作部分、すなわち、図７のＳ４部分を備え、Ｓ１部分を備えない構成とすることができる。
【００３６】
本実施例によれば、あらかじめ決められたスケジュールで権限を付与、取り消しを行うことができ、許可されていないスケジュールでユーザがデータベースにログインしても権限がないため操作できない、安全性の向上したデータベース権限管理システムを提供することができる。
【図面の簡単な説明】
【００３７】
【図１】本発明に係るデータベース権限管理システムの一実施形態を示すブロック図である。（実施例１）
【図２】同実施形態における権限管理サーバの動作例を示したフローチャートである。
【図３】同実施形態における認証情報の一例を示す表である。
【図４】同実施形態における権限情報の一例を示す表である。
【図５】同実施形態におけるログインパラメタ情報の一例を示す表である。
【図６】本発明に係るデータベース権限管理システムにおける権限管理情報を示す表である。（実施例２）
【図７】同実施形態における権限管理サーバの判定部の動作例の一部を示す表である。
【図８】同実施形態における権限管理サーバの判定部の生成するスケジュール表の一例を示す表である。
【符号の説明】
【００３８】
１    クライアント装置
２    権限管理サーバ
３    データベース
４    ユーザ識別情報
５    権限操作情報
１１  認証要求部
２１  認証情報
２２  認証部
２３  権限情報
２４  判定部
２５  ログインパラメタ情報
２６  データベース操作部
２７  スケジュール表
【図１】
2007041829.tif 000003
【図２】
2007041829.tif 000004
【図３】
2007041829.tif 000005
【図４】
2007041829.tif 000006
【図５】
2007041829.tif 000007
【図６】
2007041829.tif 000008
【図７】
2007041829.tif 000009
【図８】
2007041829.tif 000010