JP6183034B2 - アクセス制御プログラム、アクセス制御方法およびシステム - Google Patents

アクセス制御プログラム、アクセス制御方法およびシステム Download PDF

Info

Publication number
JP6183034B2
JP6183034B2 JP2013157734A JP2013157734A JP6183034B2 JP 6183034 B2 JP6183034 B2 JP 6183034B2 JP 2013157734 A JP2013157734 A JP 2013157734A JP 2013157734 A JP2013157734 A JP 2013157734A JP 6183034 B2 JP6183034 B2 JP 6183034B2
Authority
JP
Japan
Prior art keywords
access
permission
information
time
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013157734A
Other languages
English (en)
Other versions
JP2015028698A (ja
Inventor
則一 磯村
則一 磯村
嵩 齊藤
嵩 齊藤
尚洋 伊藤
尚洋 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013157734A priority Critical patent/JP6183034B2/ja
Priority to US14/297,752 priority patent/US9325722B2/en
Publication of JP2015028698A publication Critical patent/JP2015028698A/ja
Application granted granted Critical
Publication of JP6183034B2 publication Critical patent/JP6183034B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/107Network architectures or network communication protocols for network security for controlling access to devices or network resources wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Description

本発明は、アクセス制御プログラム、アクセス制御方法およびシステムに関する。
データベースに対するアクセスは、例えば、主体と客体との関係において定義される権限で管理される。主体は、アクセスを管理するシステムによって認証されるユーザである。ユーザの認証には、例えば、ユーザ識別文字列とパスワード文字列の一致判定等の様々な認証手段が使われる。客体は、アクセス対象のデータベース実体である。客体は、例えば、テーブルを構成するカラムにより構造化され、特定の客体を対象としないデータベース管理システムに対する操作コマンドにより抽象化されることがある。
アクセス権限管理は、多くのシステムで行われるシステム運用であり、従来のユーザ識別文字列とパスワード文字列だけでは不十分な場合がある。例えば、夜間のデータベースへのアクセスを完全に抑止するために、夜間はサーバを止めるなどの運用が行われる場合があるため、アクセス権限に有効な時間(時刻)という考え方を導入することがある。
アクセス権限管理に、権限の有効な時間の概念を導入するためには、例えば、テーブルアクセス時に現在時刻を毎回取得して判断することになる。また、データベースの場合、複数のテーブルに対して結合を指示するクエリー等が指定されることがあるため、アクセス対象テーブル単位に時刻確認を含むアクセス権限チェックを行うことになる。
関連する先行技術としては、例えば、クエリーを発行したプロセスに設定されたユーザ名と、クエリーにより指定されたデータベース名、ファイル名および項目名と、クエリーが発行された時刻に基づいて、データベースに対する参照の可否を決定するものがある。また、アクセス属性ファイルに時間情報を含むアクセス属性を設定しておき、アクセス対象ファイルのアクセス時に必ず起動されるファイルアクセス機能によってアクセス属性ファイルを参照し、時間情報を含めたアクセス許可の判定を行う技術がある。また、ファイルへのアクセス要求があった場合、アクセス要求に含まれる情報と、アクセス管理テーブルに登録されたユーザID、パスワード、許可時間帯および端末IDを基にアクセス可否を判定する技術がある。また、前回の走査時以降プロセッサによってアクセスされていないページフレームを解放した後、スリープ状態となるページアウトデーモンプロセスを所定の間隔でディスパッチする技術がある。
特開平10−289134号公報 特開平8−314786号公報 特開2000−259567号公報 特開平9−269902号公報
しかしながら、従来技術によれば、データベースシステムのアクセス権限管理に時間の概念を導入すると、データアクセスにかかる処理負荷が増大する。例えば、データベースサーバがデータにアクセスする度に、OS(Operating System)のシステムコールを呼び出して現在時刻を取得し、許可された時間帯であるかをチェックする場合、アクセス回数に比例してOSのシステムコール呼び出し回数が増加し、データアクセスにかかる処理負荷が増大する。
一つの側面では、本発明は、時間帯に基づくアクセス制御にかかる処理負荷の増大を抑制することができるアクセス制御プログラム、アクセス制御方法およびシステムを提供することを目的とする。
本発明の一側面によれば、アクセス権限が有効となる時間帯を設定可能なデータに対するアクセスを許可する時間帯を示す許可時間帯に基づいて、前記データに対するアクセスを許可するか否かを示すアクセス許可情報を更新し、前記アクセス許可情報に基づいて、前記データに対するアクセスを制御するアクセス制御プログラム、アクセス制御方法およびシステムが提案される。
本発明の一態様によれば、時間帯に基づくアクセス制御にかかる処理負荷の増大を抑制することができるという効果を奏する。
図1は、実施の形態1にかかるアクセス制御方法の一実施例を示す説明図である。 図2は、システム200のシステム構成例を示す説明図である。 図3は、データベースサーバ101のハードウェア構成例を示すブロック図である。 図4は、権限設定情報400の記憶内容の一例を示す説明図である。 図5は、データベースサーバ101の機能的構成例を示すブロック図である。 図6は、権限設定情報400のユーザ登録処理手順の一例を示すフローチャートである。 図7は、図6のフローチャートにより登録されたユーザ情報401の一例を示す説明図である。 図8は、権限設定情報400のユーザ権限登録処理手順の一例を示すフローチャートである。 図9は、図8のフローチャートにより登録されたユーザAのユーザ権限の一例を示す説明図である。 図10は、権限設定情報400のユーザ許可時間帯登録処理手順の一例を示すフローチャートである。 図11は、図10のフローチャートにより登録されたユーザAの情報の一例を示す説明図である。 図12は、アクセス許可情報の更新処理手順の一例を示すフローチャートである。 図13は、データベースサーバ101によるアクセス権限の検査処理手順の一例を示すフローチャートである。 図14は、実施の形態2にかかる権限設定情報400の記憶内容の一例を示す説明図である。 図15は、実施の形態2にかかる権限設定情報400のユーザ許可時間帯登録処理手順の一例を示すフローチャートである。 図16は、図15のフローチャートにより登録されたユーザAとユーザBの情報の一例を示す説明図である。 図17は、実施の形態3にかかるデータベースサーバ101の機能的構成例を示すブロック図である。 図18は、実施の形態3にかかるデータベースサーバ101によるアクセス権限の検査処理手順の一例を示すフローチャートである。
以下に図面を参照して、本発明にかかるアクセス制御プログラム、アクセス制御方法およびシステムの実施の形態を詳細に説明する。
(実施の形態1)
(アクセス制御方法の一実施例)
図1は、実施の形態1にかかるアクセス制御方法の一実施例を示す説明図である。図1において、データベースサーバ101は、クライアント端末102からデータベースへのアクセス要求(クエリー)、例えばSQL(Structured Query Language)文を受け付け、クライアント端末102にクエリーの結果を返答するコンピュータである。
クライアント端末102は、ユーザ操作によりクエリーを発行するコンピュータである。また、データベースは、複数のアプリケーションやユーザによって共有されるデータを記憶する。例えば、リレーショナルデータベースは、データの集まりを、カラムを有するテーブルの形で表現する。複数のアプリケーションやユーザは、テーブル間に関連を設定することでテーブルを連結させて、データの検索および更新を行うことができる。
本実施の形態では、データベースのアクセス権限管理機構を拡張して、アクセス権限に時間の概念を導入する。具体的には、データベースのデータに、アクセス権限が有効となる時間帯を設定する。ただし、以下の説明では、データベースのデータの一例として、データベースのテーブルを例に挙げて説明する。時間に関するアクセス権限は、剥奪操作が行われなくても、規定された時間外になると無効になる。
データベースサーバ101は、SQL文のデータ・アクセス・プラン決定時(SQL文の翻訳時)に、SQL文で指定されたテーブルのアクセス権限を検査し、時間に関するアクセス権限の検査をテーブルアクセス時に実施する。以下、データベースサーバ101のアクセス制御処理例について説明する。
(1)データベースサーバ101は、権限情報テーブル110に、テーブルに対するアクセスを許可する時間帯を示す許可時間帯111と、現時刻において、当該テーブルに対するアクセスを許可するか否かを示すアクセス許可情報112を付与する。権限情報テーブル110は、例えば、ユーザごとに設けられる。
また、アクセス許可情報112は、例えば、テーブルに対するアクセス許否を示すフラグ情報である。以下の説明では、テーブルに対するアクセスを許可することを示すアクセス許可情報112を「アクセス許可(○)」と表記し、テーブルに対するアクセスを許可しないことを示すアクセス許可情報112を「アクセス不許可(×)」と表記する場合がある。アクセス許可情報112は、初期状態ではアクセス不許可(×)である。
図1の例では、ユーザAの権限情報テーブル110にテーブル(1)、テーブル(2)、・・・、テーブル(n)の許可時間帯111が定義されている。具体的には、例えば、テーブル(1)は、「9:00〜17:00」の時間帯だけアクセスが許可され、テーブル(2)は、「18:00〜22:00」の時間帯だけアクセスが許可され、テーブル(n)は、「22:00〜24:00」の時間帯だけアクセスが許可される。現時刻において、テーブル(1)、テーブル(2)、・・・、テーブル(n)のアクセス許可情報112は、すべてアクセス不許可(×)である。
(2)データベースサーバ101は、権限情報テーブル110を更新する。具体的には、例えば、データベースサーバ101は、バックグラウンドで、テーブルに定義された許可時間帯111の開始時刻になった場合、当該テーブルのアクセス許可情報112をアクセス許可(○)に更新する。また、データベースサーバ101は、バックグラウンドで、テーブルに定義された許可時間帯111の終了時刻になった場合、当該テーブルのアクセス許可情報112をアクセス不許可(×)に更新する。
図1の例では、データベースサーバ101は、例えば、「9:00」になるとテーブル(1)のアクセス許可情報112をアクセス許可(○)に更新する。また、データベースサーバ101は、例えば、「17:00」になるとテーブル(1)のアクセス許可情報112をアクセス不許可(×)に更新する。
(3)データベースサーバ101は、クライアント端末102からデータベースに対するアクセス要求を受け付ける。ここでは、データベースサーバ101が、「9:00〜17:00」の時間帯に、ユーザAが使用するクライアント端末102から、データベース内のテーブル(1)に対するアクセス要求を受け付けた場合を想定する。
(4)データベースサーバ101は、クライアント端末102を使用するユーザの権限情報テーブル110を参照することにより、データベース内のテーブルに対するアクセスを制御する。具体的には、例えば、データベースサーバ101は、テーブルのアクセス許可情報112がアクセス不許可(×)である場合、許可時間外のためアクセスを不許可として、エラー復帰する。一方、テーブルのアクセス許可情報112がアクセス許可(○)である場合、データベースサーバ101は、アクセスを許可し、データアクセスを続行する。図1の例では、データベースサーバ101は、ユーザAの権限情報テーブル110を参照して、テーブル(1)のアクセス許可情報112がアクセス許可(○)であるため、テーブル(1)に対するアクセスを許可する。
このように、データベースサーバ101によれば、テーブルの許可時間帯111に基づいて、当該テーブルに対するアクセスを許可するか否かを示すアクセス許可情報112を更新することができる。また、データベースサーバ101によれば、クライアント端末102からアクセス要求を受け付けた時は、アクセス先のテーブルのアクセス許可情報112に基づいて、当該テーブルに対するアクセスを制御することができる。これにより、テーブルへのアクセス時に毎回現在時刻の取得を行うことなく時間帯に基づくアクセス制御を行うことが可能となり、大きなオーバーヘッドを持ち込むことなく、アクセス権限に時間の概念を導入することができる。
(システム200のシステム構成例)
図2は、システム200のシステム構成例を示す説明図である。図2において、システム200は、データベースサーバ101と、クライアント端末102と、管理端末203と、データベース210と、を含む。システム200において、データベースサーバ101、クライアント端末102および管理端末203は、有線または無線のネットワーク220を介して接続される。ネットワーク220は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。
データベースサーバ101は、データベース210にアクセス可能なコンピュータである。データベースサーバ101は、例えば、クライアント端末102からデータの検索要求を受信すると、データベース210からデータをメモリ(例えば、後述の図3に示すメモリ302)に読み込む。そして、データベースサーバ101は、メモリに読み込まれたデータに対して検索を行い、その検索結果をクライアント端末102に送信する。
クライアント端末102は、システム200のユーザが使用するコンピュータである。管理端末203は、システム200の管理者が使用するコンピュータである。具体的には、例えば、クライアント端末102は、PC(Personal Computer)、ノートPC、スマートフォン、携帯電話機、タブレット型PCなどである。
(データベースサーバ101のハードウェア構成例)
図3は、データベースサーバ101のハードウェア構成例を示すブロック図である。図3において、データベースサーバ101は、CPU(Central Processing Unit)301と、メモリ302と、I/F(Interface)303と、磁気ディスクドライブ304と、磁気ディスク305と、を有する。また、各構成部は、バス300によってそれぞれ接続される。
ここで、CPU301は、データベースサーバ101の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
I/F303は、通信回線を通じてネットワーク220に接続され、ネットワーク220を介して他のコンピュータ(例えば、図2に示したクライアント端末102および管理端末203)に接続される。そして、I/F303は、ネットワーク220と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。I/F303には、例えば、モデムやLANアダプタなどを採用することができる。
磁気ディスクドライブ304は、CPU301の制御にしたがって磁気ディスク305に対するデータのリード/ライトを制御する。磁気ディスク305は、磁気ディスクドライブ304の制御で書き込まれたデータを記憶する。
なお、データベースサーバ101は、上述した構成部のほか、例えば、SSD(Solid State Drive)、キーボード、マウス、ディスプレイなどを有することにしてもよい。また、図2に示したクライアント端末102および管理端末203についても、上述したデータベースサーバ101と同様のハードウェア構成例により実現することができる。
(権限設定情報400の記憶内容)
つぎに、データベースサーバ101が用いる権限設定情報400の記憶内容について説明する。権限設定情報400は、例えば、図3に示したメモリ302、磁気ディスク305などの記憶装置に記憶される。
図4は、権限設定情報400の記憶内容の一例を示す説明図である。図4において、権限設定情報400は、ユーザ情報401(例えば、ユーザ情報401−1,401−2)と権限情報テーブル402(例えば、権限情報テーブル402−1,402−2)とを含む構成である。
ユーザ情報401は、ユーザ名、テーブル数、および権限情報テーブルポインタのフィールドを有し、各フィールドに情報を設定することにより、ユーザごとのテーブルに関する情報を記憶する。
ここで、ユーザ名は、データベースサーバ101にアクセスする権限を有するユーザを一意に識別するユーザの識別子である。テーブル数は、ユーザに対する権限が規定されたテーブルの数を示す。権限情報テーブルポインタは、ユーザ情報401と、当該ユーザの権限が設定された権限情報テーブル402との対応関係を示す対応情報である。権限情報テーブルポインタは、例えば、権限情報テーブル402のメモリ302上のアドレスを示すポインタである。
例えば、ユーザ情報401−1は、ユーザ名にユーザA、テーブル数に3、権限情報テーブルポインタに権限情報テーブル402−1へのポインタを記憶している。また、ユーザ情報401−2は、ユーザ名にユーザB、テーブル数に2、権限情報テーブルポインタに権限情報テーブル402−2へのポインタを記憶している。
権限情報テーブル402は、テーブル名、権限、許可時間帯、およびアクセス許可情報のフィールドを有し、各フィールドに情報を設定することにより、テーブルごとに、ユーザの権限に関する情報を記憶する。
ここで、テーブル名は、データベース210に記憶されるテーブルを一意に識別するテーブルの識別子である。権限は、権限情報テーブル402と対応しているユーザ情報401におけるユーザに、当該テーブルに対して許可されている権限を示す。権限には、例えば、参照、更新等が存在する。許可時間帯は、ユーザに当該テーブルに対してアクセスを許可する時間帯を示す。例えば、許可する時間帯は、許可開始時刻と許可終了時刻で示すことができる。アクセス許可情報は、現時刻において、ユーザに当該テーブルに対してアクセスを許可するか否かを示す。例えば、アクセス許可情報に、「○」が設定された場合、アクセスを許可し、「×」が設定された場合、アクセスを許可しないとすることができる。
例えば、権限情報テーブル402−1は、テーブル名として、テーブル(1)からテーブル(3)を有する。権限情報テーブル402−1は、ユーザAがテーブル(1)とテーブル(2)に対して、参照、更新が可能であること、9:00〜17:00の時間帯にアクセスが許可されていること、アクセス許可情報が「○」であり、現時刻において、アクセスが許可されていることを示す。同様に、ユーザAが、テーブル(3)に対して、参照が可能であること、18:00〜22:00の時間帯にアクセスが許可されていること、アクセス許可情報が「×」であり、現時刻において、アクセスが許可されていないことを示す。
(データベースサーバ101の機能的構成例)
図5は、データベースサーバ101の機能的構成例を示すブロック図である。図5において、データベースサーバ101は、受付部501と、SQL翻訳部502と、権限検査部503と、アクセス許可検査部504と、データアクセス部505と、権限情報管理部506と、権限設定更新部507とを含む構成である。各機能部は、具体的には、例えば、図2に示したメモリ302、磁気ディスク305などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F303により、その機能を実現する。各機能部の処理結果は、例えば、図3に示したメモリ302、磁気ディスク305などの記憶装置に記憶される。
受付部501は、クライアント端末102からのデータのアクセス要求を受け付ける機能を有する。例えば、ユーザはSQL文を実行し、ネットワーク220を介してデータベース210のデータにアクセスを要求し、受付部501は、このデータアクセス要求を受け付ける。
SQL翻訳部502は、データアクセス要求からデータのアクセス手順を作成する機能を有する。例えば、SQL文からデータにアクセスするユーザ名、データアクセスに必要なテーブル名等を抽出する。
権限検査部503は、権限情報テーブル402の権限フィールドを参照して、ユーザのテーブルへのアクセス要求の許可および不許可を判断する機能を有する。権限検査部503は、アクセス要求を許可と判断した場合、アクセス許可検査部504に制御を移し、アクセス要求を不許可と判断した場合、データアクセス要求をエラー終了させる。
例えば、ユーザAがSQL文でテーブル(1)に対して参照アクセスを要求した場合、権限検査部503は、ユーザAのテーブル(1)の権限を示す権限情報テーブル402−1を参照し、権限に参照が存在するため、アクセス要求を許可と判断する。また、ユーザAがSQL文でテーブル(3)に対して更新アクセスを要求した場合、権限検査部503は、ユーザAのテーブル(3)の権限を示す権限情報テーブル402−1を参照し、権限に更新が存在しないため、アクセス要求を不許可と判断する。
アクセス許可検査部504は、権限情報テーブル402のアクセス許可情報を参照して、許可された時間帯であるか否かを判断する機能を有する。アクセス許可検査部504は、許可された時間帯であると判断した場合、データアクセス部505に制御を移し、許可された時間帯でないと判断した場合、データアクセス要求をエラー終了させる。つまり、アクセス許可検査部504は、データアクセス時に毎回、現在時刻を取得することなく、アクセス許可情報の状態で許可された時間帯であるか否かを判断する。
例えば、ユーザAがSQL文でテーブル(1)に対して参照アクセスを要求した場合、アクセス許可検査部504は、ユーザAのテーブル(1)のアクセス許可を示す権限情報テーブル402−1を参照し、アクセス許可情報が○であるため、許可された時間帯であると判断する。また、ユーザAがSQL文でテーブル(3)に対して参照アクセスを要求した場合、アクセス許可検査部504は、ユーザAのテーブル(3)のアクセス許可を示す権限情報テーブル402−1を参照し、アクセス許可情報は×であるため、許可された時間帯でないと判断する。
データアクセス部505は、SQL翻訳部502によって作成されたアクセス手順に従ってデータベース210にアクセスし、データアクセス結果を受付部501に返信する機能を有する。受付部501はデータアクセス結果をクライアント端末102に送信する。
権限情報管理部506は、権限設定情報400のユーザ情報401における、ユーザ名、テーブル数、および権限情報テーブルポインタのフィールドを登録、更新する機能を有する。また、権限情報管理部506は、権限設定情報400の権限情報テーブル402における、テーブル名、権限、および許可時間帯を登録、更新する機能を有する。さらに、権限情報管理部506は、権限設定情報400の権限情報テーブル402におけるアクセス許可情報を登録する機能を有する。例えば、管理端末203から管理者が、データベースサーバ101にコマンド操作を行うことにより、登録、更新することができる。
権限設定更新部507は、権限設定情報400の権限情報テーブル402におけるアクセス許可情報を許可時間帯に基づいて、定期的に更新する機能を有する。例えば、権限設定更新部507は、バックグラウンドで動作するプロセス(デーモン、サービス等)として実現され、データベースシステム起動時、または権限情報が更新時に起動される。例えば、権限情報テーブル402−1であった場合、9:00になると、アクセス許可情報を○に更新して、17:00になると×に更新する。
(権限設定情報の登録および更新)
図6は、権限設定情報400のユーザ登録処理手順の一例を示すフローチャートである。まず、権限情報管理部506は、利用者登録文(CREATE USER文)とユーザ情報401を参照する(ステップS601)。利用者登録文は例えば、
CREATE USER ユーザA
CREATE USER ユーザB
CREATE USER ユーザX
で記述される。
次に、権限情報管理部506は、当該ユーザがすでに定義済みかどうか確認する(ステップS602)。ここで、ユーザが定義済みである場合(ステップS602:Yes)、ステップS605に移行し、ユーザが未定義である場合(ステップS602:No)、ステップS603に移行する。
ユーザが未定義である場合、権限情報管理部506は、利用者登録文を基にユーザ情報401にユーザ名を登録する(ステップS603)。次に、テーブル数、権限情報テーブルポインタをゼロで初期化する(ステップS604)。一方、ユーザが定義済みである場合、既に定義済みであるため、エラー終了する(ステップS605)。これにより、本フローチャートによる一連の処理は終了する。本フローチャートを実行することにより、ユーザ情報401にユーザ名が登録される。図7は、図6のフローチャートにより登録されたユーザ情報401の一例を示す説明図である。
図8は、権限設定情報400のユーザ権限登録処理手順の一例を示すフローチャートである。まず、権限情報管理部506は、権限登録文(GRANT文)を基に、当該ユーザ名と合致するユーザ情報401を参照する(ステップS801)。権限登録文は例えば、
GRANT SELECT ON マスタ表 TO ユーザA,ユーザB,ユーザX
GRANT INSERT ON 取引履歴表 TO ユーザA,ユーザB,ユーザX
で記述される。
次に、権限情報管理部506は、ユーザ情報401のテーブル数が0であるかどうか確認する(ステップS802)。ここで、ユーザ情報401のテーブル数が0である場合(ステップS802:Yes)、ステップS803に移行し、0でない場合(ステップS802:No)、ステップS806に移行する。
ユーザ情報401のテーブル数が0である場合、権限情報管理部506は、権限情報テーブル402を作成し(ステップS803)、権限登録文で指定された「テーブル名」と「権限」を登録する(ステップS804)。なお、「許可時間帯」と「アクセス許可情報」には、何も設定しない。次に、権限情報管理部506は、ユーザ情報401の「テーブル数」と「権限情報テーブルポインタ」を設定する(ステップS805)。
一方、ユーザ情報401のテーブル数が0でない場合、権限情報管理部506は、権限登録文を基に、当該テーブル名と合致する権限情報テーブル402を参照し(ステップS806)、当該テーブル名が登録済みの場合、登録済みの「権限」に権限登録文で指定された「権限」を追加し、当該テーブル名が未登録の場合、権限登録文で指定された「テーブル名」「権限」を追加する(ステップS807)。この場合も、「許可時間帯」と「アクセス許可情報」は、何も設定しない。これにより、本フローチャートによる一連の処理は終了する。本フローチャートを実行することにより、権限情報テーブル402にテーブル名および権限が登録される。図9は、図8のフローチャートにより登録されたユーザAのユーザ権限の一例を示す説明図である。
図10は、権限設定情報400のユーザ許可時間帯登録処理手順の一例を示すフローチャートである。まず、権限情報管理部506は、権限登録文(GRANT文)を基に、当該ユーザ名とテーブル名に合致するユーザ情報401、および権限情報テーブル402を参照する(ステップS1001)。権限登録文は例えば、
GRANT PERMISSION_TIME TO ユーザA ON TABLE マスタ表,取引履歴表 WITH TIME_RANGE (9:00,17:00)
GRANT PERMISSION_TIME TO ユーザB ON TABLE マスタ表,取引履歴表 WITH TIME_RANGE (9:00,17:00)
で記述される。
次に、権限情報管理部506は、合致するユーザ名とテーブル名があるかどうか確認する(ステップS1002)。ここで、ユーザ名とテーブル名が存在する場合(ステップS1002:Yes)、ステップS1003に移行し、存在しない場合(ステップS1002:No)、ステップS1005に移行する。
ユーザ名とテーブル名が存在する場合、権限情報管理部506は、権限情報テーブル402に許可時間帯フィールドに権限登録文に指定された時間帯を設定し、アクセス許可情報をアクセス不許可(×)に設定する(ステップS1003)。その後、権限情報管理部506は、権限設定更新部507に権限情報テーブル402の変更を通知する(ステップS1004)。一方、ユーザ名とテーブル名が存在しない場合、未登録のため、エラー終了する(ステップS1005)。これにより、本フローチャートによる一連の処理は終了する。本フローチャートを実行することにより、権限情報テーブル402に許可時間帯およびアクセス許可情報が登録される。図11は、図10のフローチャートにより登録されたユーザAの情報の一例を示す説明図である。
(権限設定更新部507によるアクセス許可情報の更新)
図12は、アクセス許可情報の更新処理手順の一例を示すフローチャートである。まず、権限設定更新部507は、権限情報テーブル402の許可時間帯の参照を行う(ステップS1201)。その後、権限設定更新部507は、現在時刻を取得し(ステップS1202)、許可時間帯の開始時刻および終了時刻の中から、最も現在時刻に近い時刻を抽出すると共に、その時刻が許可開始時刻か許可終了時刻かを判断して待避する(ステップS1203)。権限設定更新部507は、現在時刻から抽出した時刻までの時間差を算出し(ステップS1204)、抽出した時刻までスリープする(ステップS1205)。例えば、権限設定更新部507は、時間差分sleepを使用することができる。その後、抽出した時刻に達すると、権限設定更新部507は、スリープから解除され、当該許可時間帯のアクセス許可情報を更新する(ステップS1206)。先に待避した時刻が許可開始時刻である場合、アクセス許可情報を○に更新し、待避した時刻が許可終了時刻である場合、アクセス許可情報を×に更新する。これにより、本フローチャートによる一連の処理は終了する。本フローチャートを実行することにより、権限情報テーブル402のアクセス許可情報が更新される。
(データベースサーバ101におけるアクセス制御)
図13は、データベースサーバ101によるアクセス権限の検査処理手順の一例を示すフローチャートである。受付部501は、クライアント端末102からデータベースサーバ101へのデータアクセス要求(SQL文)を受け付ける。SQL翻訳部502は、SQL文からデータにアクセスするユーザ名、データアクセスに必要なテーブル名等を抽出する(ステップS1301)。次に権限検査部503は、ユーザ情報401と当該ユーザの権限が設定された権限情報テーブル402との対応関係を示す権限情報テーブルポインタから、当該ユーザに対応する権限情報テーブル402を特定し、権限設定情報400の特定した権限情報テーブル402の権限を参照して、ユーザがテーブルにアクセス可能であるかを検査する(ステップS1302)。ここで、ユーザがテーブルにアクセス可能である場合(ステップS1302:Yes)、ステップS1303に移行し、アクセス不可能な場合(ステップS1302:No)、ステップS1304に移行する。
ユーザがテーブルにアクセス可能である場合、アクセス許可検査部504は、権限情報テーブル402のアクセス許可情報を参照して、許可された時間帯であるか否かを判断する(ステップS1303)。ここで、許可された時間帯である場合(ステップS1303:Yes)、ステップS1305に移行し、許可された時間帯でない場合(ステップS1303:No)、ステップS1304に移行する。
許可された時間帯である場合、データアクセス部505は、アクセス手順に従ってデータベース210をアクセスし、結果を受付部501に返信する(ステップS1305)。逆に、ユーザがテーブルにアクセス不可能である場合、または許可された時間帯でない場合、データアクセス部505は、アクセス不許可でエラーを返す(ステップS1304)。
この場合、業務アプリケーションにエラー復帰するが、このトランザクションの扱いは利用システムの運用ポリシーに任せ、トランザクション継続、あるいはトランザクションキャンセルか、のいずれかが選択できるようにしておくことができる(既存のSQL文エラー発生時のSQL文単位のキャンセルと同等の扱いとする)。これにより、本フローチャートによる一連の処理は終了する。本フローチャートを実行することにより、テーブルの権限およびアクセス許可情報が検査される。
以上説明したように、実施の形態1によるデータベースサーバ101は、テーブルに対するアクセスを許可する時間帯を示す許可時間帯と、現時刻において、ユーザに当該テーブルに対してアクセスを許可するか否かを示すアクセス許可情報を権限情報テーブル110に付与する。データベースサーバ101は、バックグラウンドでアクセス許可情報を更新する。データベースサーバ101は、クライアント端末102からデータアクセス時に、アクセス許可情報を参照することでアクセス許可を判断する。このため、データベースサーバ101は、データアクセス時に現在時刻の取得を行うことがない。これにより、データアクセスにかかる処理時間を増大することなく、時間帯に基づくアクセス権の制御を実行することが可能となる。また、高頻度・大量データ・高速処理が要求されるデータベースシステム、例えば、利用者の処理要求に基づいてデータを処理し、処理結果を即座に利用者に送り返すオンライントランザクション処理に、アクセス権限管理に有効な時間の概念を導入できる。
また、データベースサーバ101は、権限の有効な時間という考え方を導入することで、動的な権限関係が実現できる。例えば、ある時間帯に関しては特定の利用者や利用資源に限定するなど、データアクセスを確実に抑止することができ、利便性向上とセキュリティが強化(ガード機構)される。また、データアクセス制御の中でアクセス許可を検査することで、データベースサーバ101は、データアクセス中の中断を行うことができる。このため、夜間バッチの処理遅延に伴う終了予定時刻の超過、翌朝のオンライン業務の開始時間の遅れを回避するなど、運用性が向上する。
また、データベースサーバ101は、許可時間帯の開始時刻に、テーブルに対するアクセス許可情報をアクセス許可に更新し、許可時間帯の終了時刻に、テーブルに対するアクセス許可情報をアクセス不許可に更新し、アクセス許可情報がアクセス許可である場合に、テーブルに対するアクセスを許可する。これにより、データベースサーバ101が、OSのシステムコールを呼び出して現在時刻を取得する回数は、許可時間帯の開始時刻と終了時刻の回数に限定される。
また、データベースサーバ101は、現在時刻を取得し、許可時間帯の開始時刻および終了時刻のうちの、取得した現在時刻に、最も近い時刻を抽出し、抽出した時刻になるまでスリープし、抽出した時刻になった場合、前記アクセス許可情報を更新する。これにより、データベースサーバ101は、許可時間帯の開始時刻と終了時刻の間に、スリープすることができる。
(時間規定の権限定義)
アクセスを許可する時間帯を規定する時間規定は、時間規定オブジェクトを新たに作り、時間規定オブジェクトを権限付与時に指定することによって実現することができる。例えば、21時から日をまたがって翌朝3時までを夜間と定義(夜間T)し、あるバッチ処理を実現する業務アプリケーション(ユーザA)を夜間だけ実行させたい場合には、以下のように、GRANT SQL文にON句を拡張することで、毎日21時から27時だけ実行可能とさせることができる。なお、日をまたがった場合は、前日から継続する場合という意味で、23時、24時、25時、26時…と指定する。
CREATE TIME RANGE 夜間T (21:00,27:00)
GRANT 起動権限 TO ユーザA ON 夜間T
なお、時間の概念は連続性を持つために、不用意に取り込むと、定義関係に矛盾を起こす場合がある。例えば、ユーザAがユーザCに21時から25時までの間だけ権限を与え、ユーザBが同じユーザCに24時から28時までの間だけ権限を与えたとすると、21時から24時、24時から25時、25時から28時までの3つの期間をどのように解釈するのかの仕組みが必要となる。そこで、時間規定(TIME RANGE)というオブジェクトを新たに用意し、システム内では、分離した時間規定しか許さないことにすることもできる。この場合、21時から25時、24時から28時という2つの重複期間を持つ時間規定は定義できず、21時から24時、24時から25時、25時から28時までの3つの時間規定を使い回すことになる。
(実施の形態2)
つぎに、実施の形態2にかかるデータベースサーバ101について説明する。なお、実施の形態1で説明した箇所と同一箇所については、図示および説明を省略する。
実施の形態1では、データベースサーバ101が、時間帯によるアクセスの許可を、テーブルごとのアクセス許可情報で判断する。しかし、データベース210は対象テーブルの数が多くなる特徴がある。このため、対象テーブル数の増加に比例して、許可時間帯とアクセス許可情報の情報量が増加し、メモリ使用量の増大化を招いてしまう。さらに、データベースサーバ101は、許可時間帯とアクセス許可情報の検索と更新のための時間を使用する。そこで、実施の形態2では、許可時間帯およびアクセス許可情報のフィールドを、許可時間帯を基に許可時間表1403に集約する。これにより、データベースサーバ101は、許可時間帯およびアクセス許可情報の縮小化を実現する。
図14は、実施の形態2にかかる権限設定情報400の記憶内容の一例を示す説明図である。図14において、権限設定情報400は、ユーザ情報1401と、権限情報テーブル1402と、許可時間表1403とを含む構成である。ここで、ユーザ情報1401は、図4による実施の形態1のユーザ情報401と同じ構成である。
図14において、権限情報テーブル1402は、テーブル名、権限、許可時間表ポインタを有し、各フィールドに情報を設定することにより、テーブルごとに、ユーザの権限情報を記憶している。
ここで、テーブル名と権限は、図4による実施の形態1と同じ機能を有する。許可時間表ポインタは、当該テーブルの許可時間帯が設定される許可時間表1403のカラムとの対応関係を示す対応情報である。許可時間表ポインタは、当該テーブルの許可時間帯が設定される許可時間表1403のカラムのメモリ302上のアドレスを示すポインタである。例えば、図14において、権限情報テーブル1402−1のテーブル(1)の許可時間表ポインタは、テーブル(1)の許可時間帯が9:00−17:00であるため、当該許可時間帯が設定された許可時間表1403の許可時間帯9:00−17:00のカラムのアドレスを示す。同様に、権限情報テーブル1402−1のテーブル(2)の許可時間表ポインタは、許可時間表1403の許可時間帯9:00−17:00のカラムのアドレスを示す。一方、権限情報テーブル1402−1のテーブル(3)の許可時間表ポインタは、許可時間表1403の許可時間帯18:00−22:00のカラムのアドレスを示す。
図14において、許可時間表1403は、許可時間帯およびアクセス許可情報のフィールドを有し、各フィールドに情報を設定することにより、許可時間帯ごとのアクセス許可情報を記憶している。許可時間表1403は、許可時間帯およびアクセス許可情報を有する許可時間情報であるカラムから構成され、各カラムは、許可時間表ポインタによる対応関係を有するテーブルの許可時間帯およびアクセス許可情報を示す。許可時間帯とアクセス許可情報は、図4による実施の形態1の権限情報テーブル402が有する許可時間帯とアクセス許可情報と同じ機能を有する。
例えば、図14において、権限情報テーブル1402−1は、テーブル名として、テーブル(1)からテーブル(3)を有する。権限情報テーブル1402−1は、ユーザAがテーブル(1)に対して、参照、更新が可能であることを示し、許可時間表ポインタにより、許可時間表1403の許可時間帯9:00〜17:00のカラムに対応することを示す。許可時間表1403は、9:00〜17:00の時間帯にアクセスが許可されていること、アクセス許可情報が○であり、現時刻において、アクセスが許可されていることを示す。同様に、権限情報テーブル1402−1は、ユーザAが、テーブル(3)に対して、参照が可能であることを示し、許可時間表ポインタにより、許可時間表1403の許可時間帯18:00〜22:00のカラムに対応することを示す。許可時間表1403は、18:00〜22:00の時間帯にアクセスが許可されていること、アクセス許可情報が×であり、現時刻において、アクセスが許可されていないことを示す。
なお、図14の権限設定情報400の場合、データベースサーバ101のアクセス許可検査部504は、テーブル名と、当該テーブルの許可時間帯が設定される許可時間表1403のカラムとの対応関係を示す許可時間表ポインタから、許可時間表1403のカラムを特定し、当該カラムのアクセス許可情報を参照して、許可された時間帯であるか否かを判断する。
図14の権限設定情報400は、図4の権限情報テーブル402が有する許可時間帯およびアクセス許可情報のフィールドを、許可時間帯を基に許可時間表1403に集約したものである。これは、データベースサーバ101のデータベース210がテーブル正規化でグループ化される特徴を有することを利用して、集約することができる。この集約(グループ化)により、許可時間帯およびアクセス許可情報の縮小化を実現できる。これにより、データベースサーバ101は、許可時間帯およびアクセス許可情報の検索と更新に必要な時間を少なくすることができる。例えば、図4の権限設定情報400では、権限設定更新部507は、5つの許可時間帯、アクセス許可情報を参照、更新する必要があるが、図14の権限設定情報400では、権限設定更新部507は、2つの許可時間帯、アクセス許可情報のみを参照、更新するだけでよい。
なお、権限情報テーブル1402のテーブル名ごとにある許可時間表ポインタは、一つのテーブル名に複数持たせることもできる。これにより、権限情報テーブル1402は、9:00〜11:00と15:00〜17:00のように1つのテーブルに複数の時間帯を許可することが可能になる。
図15は、実施の形態2にかかる権限設定情報400のユーザ許可時間帯登録処理手順の一例を示すフローチャートである。なお、権限設定情報400のユーザ登録および権限設定情報400のユーザ権限登録は、図4の権限設定情報400と同じフローチャートで実現できる。
まず、権限情報管理部506は、権限登録文(GRANT文)を基に、当該ユーザ名とテーブル名に合致するユーザ情報401、および権限情報テーブル402を参照する(ステップS1501)。権限登録文は例えば、
GRANT PERMISSION_TIME TO ユーザA ON TABLE マスタ表,取引履歴表 WITH TIME_RANGE (9:00,17:00)
GRANT PERMISSION_TIME TO ユーザB ON TABLE マスタ表,取引履歴表 WITH TIME_RANGE (9:00,17:00)
で記述される。
次に、権限情報管理部506は、合致するユーザ名とテーブル名があるかどうか確認する(ステップS1502)。ここで、ユーザ名とテーブル名が存在する場合(ステップS1502:Yes)、ステップS1503に移行し、存在しない場合(ステップS1502:No)、ステップS1504に移行する。
ユーザ名とテーブル名が存在する場合、権限情報管理部506は、許可時間表1403を参照し、権限登録文の許可時間帯と合致する許可時間帯が存在するかどうか確認する(ステップS1503)。ここで、合致する許可時間帯が存在する場合、ステップS1505に移行し、存在しない場合、ステップS1506に移行する。一方、ユーザ名とテーブル名が存在しない場合、未登録のため、エラー終了する(ステップS1504)。
合致する許可時間帯が存在する場合、権限情報管理部506は、合致した許可時間帯のアドレスを権限情報テーブル1402の許可時間表ポインタに設定する(ステップS1505)。逆に、合致する許可時間帯が存在しない場合、権限情報管理部506は、許可時間表1403に、今回指定された許可時間帯を登録し、アクセス許可情報をアクセス不許可(×)に設定する(ステップS1506)。その後、権限情報管理部506は、登録した許可時間帯のアドレスを権限情報テーブル1402の許可時間表ポインタに設定し(ステップS1507)、権限設定更新部507に権限情報テーブル402の変更を通知する(ステップS1508)。これにより、本フローチャートによる一連の処理は終了する。本フローチャートを実行することにより、許可時間表1403に許可時間帯およびアクセス許可情報が登録される。図16は、図15のフローチャートにより登録されたユーザAとユーザBの情報の一例を示す説明図である。
以上説明したように、実施の形態2にかかるデータベースサーバ101は、許可時間帯とアクセス許可情報とを対応付けて表すカラムを有する許可時間表1403に基づいて、アクセス許可情報を許可時間帯に応じて更新する。データベースサーバ101は、テーブル名と、許可時間表1403の中でテーブルの許可時間帯が設定されるカラムとの対応関係を示すポインタから、テーブル名に対応するカラムを特定し、特定したカラムのアクセス許可情報に基づいて、テーブルに対するアクセスを制御する。これにより、許可時間帯およびアクセス許可情報の縮小化を実現でき、データベースサーバ101は、許可時間帯およびアクセス許可情報の検索と更新に使用する時間を少なくすることができる。
(実施の形態3)
つぎに、実施の形態3にかかるデータベースサーバ101について説明する。なお、実施の形態1,2で説明した箇所と同一箇所については、図示および説明を省略する。
実施の形態1および2では、データベースサーバ101は、すべてのユーザに対して、時間帯によるアクセスの許可を判断する。このため、時間規定が付与されないユーザはデータアクセスを行うことができない。そこで、実施の形態3では、時間規定付与の有無を検査することより、時間規定が付与されないユーザにデータアクセスを可能とする。
図17は、実施の形態3にかかるデータベースサーバ101の機能的構成例を示すブロック図である。図17において、データベースサーバ101は、受付部501と、SQL翻訳部502と、権限検査部503と、時間規定確認部1701と、アクセス許可検査部504と、データアクセス部505と、権限情報管理部506と、権限設定更新部507とを含む構成である。各機能部は、図5に示した機能部と同様に実行され、処理結果が記憶される。
時間規定確認部1701は、ユーザの情報を参照し、時間規定付与の有無を検査する機能を有する。当該ユーザに時間規定付与が無ければ、アクセス許可検査部504の検査を行うことなく、当該ユーザにデータアクセスを許可する。時間規定付与の有無は、例えば、当該実行ユーザの権限情報テーブル402に許可時間帯が設定されているか、または当該ユーザの権限情報テーブル1402の許可時間表ポインタに値が設定されているかどうかで判断することができる。
図18は、実施の形態3にかかるデータベースサーバ101によるアクセス権限の検査処理手順の一例を示すフローチャートである。ステップS1801とステップS1802は、それぞれ、図13におけるステップS1301とステップS1302と同じ処理を実行するステップである。ユーザがテーブルにアクセス可能である場合、時間規定確認部1701は、ユーザの情報を参照し、時間規定付与の有無を検査する(ステップ1803)。ここで、ユーザに時間規定付与がある場合(ステップS1803:Yes)、ステップS1804に移行し、時間規定付与がない場合(ステップS1803:No)、ステップS1806に移行する。
ユーザに時間規定付与がある場合、図13のステップS1303以降と同じ処理が実行される(ステップS1804〜S1806)。逆に、時間規定付与がない場合、アクセス手順に従ってデータベース210をアクセスし、結果を受付部501に返信する(ステップS1806)。これにより、本フローチャートによる一連の処理は終了する。本フローチャートを実行することにより、テーブルの権限、時間規定の付与およびアクセス許可情報が検査される。
以上説明したように、実施の形態3にかかるデータベースサーバ101は、ユーザ名と権限情報テーブル402との対応関係を示すポインタから、ユーザ名に対応する権限情報テーブル402を特定する処理を実行させる。データベースサーバ101は、特定した権限情報テーブル402に、許可時間表1403の中でテーブルの許可時間帯が設定されるカラムとの対応関係を示すポインタが設定されている場合に、当該ポインタからテーブル名に対応する許可時間情報を特定する。これにより、時間規定確認部1701がユーザの情報を参照し、時間規定付与の有無を検査することにより、データベースサーバ101は、時間規定付与がないユーザにデータアクセスを行うことを可能にする。
なお、本実施の形態で説明したアクセス制御プログラムは、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本アクセス制御プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本アクセス制御プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
アクセス権限が有効となる時間帯を設定可能なデータに対するアクセスを許可する時間帯を示す許可時間帯に基づいて、前記データに対するアクセスを許可するか否かを示すアクセス許可情報を更新し、
前記アクセス許可情報に基づいて、前記データに対するアクセスを制御する、
処理を実行させることを特徴とするアクセス制御プログラム。
(付記2)前記更新する処理は、
前記許可時間帯と前記アクセス許可情報とを対応付けて表す許可時間情報を有する許可時間表に基づいて、前記アクセス許可情報を前記許可時間帯に応じて更新し、
前記制御する処理は、
前記データの識別子と、前記許可時間表の中で前記データの許可時間帯が設定される前記許可時間情報との対応関係を示す対応情報から、前記データの識別子に対応する前記許可時間情報を特定し、特定した前記許可時間情報の前記アクセス許可情報に基づいて、前記データに対するアクセスを制御することを特徴とする付記1に記載のアクセス制御プログラム。
(付記3)前記更新する処理は、
前記許可時間帯の開始時刻に、当該許可時間帯に対応する前記アクセス許可情報をアクセス許可に更新し、前記許可時間帯の終了時刻に、当該許可時間帯に対応する前記アクセス許可情報をアクセス不許可に更新し、
前記制御する処理は、
前記アクセス許可情報がアクセス許可である場合に、前記データに対するアクセスを許可することを特徴とする付記2に記載のアクセス制御プログラム。
(付記4)前記更新する処理は、
現在時刻を取得し、前記許可時間帯の開始時刻および終了時刻のうちの、取得した前記現在時刻に、最も近い時刻を抽出し、前記抽出した時刻になった場合、前記アクセス許可情報を更新することを特徴とする付記3に記載のアクセス制御プログラム。
(付記5)前記更新する処理は、
前記アクセス許可情報が更新された場合、および前記許可時間帯が変更された場合に実行されることを特徴とする付記4に記載のアクセス制御プログラム。
(付記6)前記コンピュータに、
ユーザの識別子と前記データの識別子との対応関係を示す対応情報から、アクセス要求元のユーザの識別子に対応する前記データの識別子を特定する処理を実行させ、
前記制御する処理は、
特定した前記データの識別子と、前記許可時間表の中で前記データの許可時間帯が設定される前記許可時間情報との対応関係を示す対応情報が設定されている場合に、当該対応情報から前記データの識別子に対応する前記許可時間情報を特定することを特徴とする付記2〜5のいずれか一つに記載のアクセス制御プログラム。
(付記7)コンピュータに、
アクセス権限が有効となる時間帯を設定可能なデータに対するアクセスを許可する時間帯を示す許可時間帯に基づいて、前記データに対するアクセスを許可するか否かを示すアクセス許可情報を更新し、
前記アクセス許可情報に基づいて、前記データに対するアクセスを制御する、
処理を実行させるアクセス制御プログラムを記録したことを特徴とする前記コンピュータに読み取り可能な記録媒体。
(付記8)コンピュータが、
アクセス権限が有効となる時間帯を設定可能なデータに対するアクセスを許可する時間帯を示す許可時間帯に基づいて、前記データに対するアクセスを許可するか否かを示すアクセス許可情報を更新し、
前記アクセス許可情報に基づいて、前記データに対するアクセスを制御する、
処理を実行することを特徴とするアクセス制御方法。
(付記9)アクセス権限が有効となる時間帯を設定可能なデータに対するアクセスを許可する時間帯を示す許可時間帯に基づいて、前記データに対するアクセスを許可するか否かを示すアクセス許可情報を更新する更新部と、
前記アクセス許可情報に基づいて、前記データに対するアクセスを制御する制御部と、
を有することを特徴とするシステム。
101 データベースサーバ
102 クライアント端末
200 システム
203 管理端末
210 データベース
220 ネットワーク
501 受付部
502 SQL翻訳部
503 権限検査部
504 アクセス許可検査部
505 データアクセス部
506 権限情報管理部
507 権限設定更新部
1701 時間規定確認部

Claims (8)

  1. コンピュータに、
    アクセス権限が有効となる時間帯を設定可能なデータに対するアクセスを許可する時間帯を示す許可時間帯に基づいて、前記データに対するアクセスを許可するか否かを示すアクセス許可情報を更新し、
    前記データの識別子と、前記データの許可時間帯が設定される許可時間情報との対応関係を示す対応情報から、前記データの識別子に対応する前記許可時間情報を特定し、特定した前記許可時間情報の前記アクセス許可情報に基づいて、前記データに対するアクセスを制御する、
    処理を実行させることを特徴とするアクセス制御プログラム。
  2. 前記更新する処理は、
    前記許可時間帯と前記アクセス許可情報とを対応付けて表す許可時間情報を有する許可時間表に基づいて、前記アクセス許可情報を前記許可時間帯に応じて更新し、
    前記制御する処理は、
    前記データの識別子と、前記許可時間表の中で前記データの許可時間帯が設定される前記許可時間情報との対応関係を示す対応情報から、前記データの識別子に対応する前記許可時間情報を特定し、特定した前記許可時間情報の前記アクセス許可情報に基づいて、前記データに対するアクセスを制御することを特徴とする請求項1に記載のアクセス制御プログラム。
  3. 前記更新する処理は、
    前記許可時間帯の開始時刻に、当該許可時間帯に対応する前記アクセス許可情報をアクセス許可に更新し、前記許可時間帯の終了時刻に、当該許可時間帯に対応する前記アクセス許可情報をアクセス不許可に更新し、
    前記制御する処理は、
    前記アクセス許可情報がアクセス許可である場合に、前記データに対するアクセスを許可することを特徴とする請求項2に記載のアクセス制御プログラム。
  4. 前記更新する処理は、
    現在時刻を取得し、前記許可時間帯の開始時刻および終了時刻のうちの、取得した前記現在時刻に、最も近い時刻を抽出し、前記抽出した時刻になった場合、前記アクセス許可情報を更新することを特徴とする請求項3に記載のアクセス制御プログラム。
  5. 前記更新する処理は、
    前記アクセス許可情報が更新された場合、および前記許可時間帯が変更された場合に実行されることを特徴とする請求項4に記載のアクセス制御プログラム。
  6. 前記コンピュータに、
    ユーザの識別子と前記データの識別子との対応関係を示す対応情報から、アクセス要求元のユーザの識別子に対応する前記データの識別子を特定する処理を実行させ、
    前記制御する処理は、
    特定した前記データの識別子と、前記許可時間表の中で前記データの許可時間帯が設定される前記許可時間情報との対応関係を示す対応情報が設定されている場合に、当該対応情報から前記データの識別子に対応する前記許可時間情報を特定することを特徴とする請求項2〜5のいずれか一つに記載のアクセス制御プログラム。
  7. コンピュータが、
    アクセス権限が有効となる時間帯を設定可能なデータに対するアクセスを許可する時間帯を示す許可時間帯に基づいて、前記データに対するアクセスを許可するか否かを示すアクセス許可情報を更新し、
    前記データの識別子と、前記データの許可時間帯が設定される許可時間情報との対応関係を示す対応情報から、前記データの識別子に対応する前記許可時間情報を特定し、特定した前記許可時間情報の前記アクセス許可情報に基づいて、前記データに対するアクセスを制御する、
    処理を実行することを特徴とするアクセス制御方法。
  8. アクセス権限が有効となる時間帯を設定可能なデータに対するアクセスを許可する時間帯を示す許可時間帯に基づいて、前記データに対するアクセスを許可するか否かを示すアクセス許可情報を更新する更新部と、
    前記データの識別子と、前記データの許可時間帯が設定される許可時間情報との対応関係を示す対応情報から、前記データの識別子に対応する前記許可時間情報を特定し、特定した前記許可時間情報の前記アクセス許可情報に基づいて、前記データに対するアクセスを制御する制御部と、
    を有することを特徴とするシステム。
JP2013157734A 2013-07-30 2013-07-30 アクセス制御プログラム、アクセス制御方法およびシステム Active JP6183034B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013157734A JP6183034B2 (ja) 2013-07-30 2013-07-30 アクセス制御プログラム、アクセス制御方法およびシステム
US14/297,752 US9325722B2 (en) 2013-07-30 2014-06-06 Apparatus, method, and computer-readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013157734A JP6183034B2 (ja) 2013-07-30 2013-07-30 アクセス制御プログラム、アクセス制御方法およびシステム

Publications (2)

Publication Number Publication Date
JP2015028698A JP2015028698A (ja) 2015-02-12
JP6183034B2 true JP6183034B2 (ja) 2017-08-23

Family

ID=52428939

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013157734A Active JP6183034B2 (ja) 2013-07-30 2013-07-30 アクセス制御プログラム、アクセス制御方法およびシステム

Country Status (2)

Country Link
US (1) US9325722B2 (ja)
JP (1) JP6183034B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101781494B1 (ko) * 2015-12-18 2017-09-27 주식회사 시큐아이 보안 장비 및 그 제어 방법
CA3013093C (en) * 2016-04-08 2019-12-17 Husqvarna Ab Intelligent watering system
JP7251142B2 (ja) * 2018-12-28 2023-04-04 京セラドキュメントソリューションズ株式会社 電子機器及び画像形成装置
JP7293654B2 (ja) * 2018-12-28 2023-06-20 京セラドキュメントソリューションズ株式会社 電子機器及び画像形成装置
CN110795367B (zh) * 2019-10-23 2021-10-29 北京达佳互联信息技术有限公司 一种存储访问控制方法和装置
US11789911B1 (en) * 2021-07-27 2023-10-17 Amazon Technologies, Inc. Scalable permissions management for granular levels of database access

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04123146A (ja) * 1990-09-14 1992-04-23 Hitachi Ltd 区分編成ファイルの書き込み保護方法
JPH08314786A (ja) 1995-05-16 1996-11-29 Nec Corp ファイルアクセス制御方式
JP3023316B2 (ja) 1996-01-31 2000-03-21 株式会社東芝 情報処理装置の資源管理装置、及び情報処理システムにおける資源管理方法
US6038571A (en) 1996-01-31 2000-03-14 Kabushiki Kaisha Toshiba Resource management method and apparatus for information processing system of multitasking facility
JP3873363B2 (ja) 1997-04-14 2007-01-24 カシオ計算機株式会社 アクセス管理装置及び記録媒体
US20010044901A1 (en) * 1998-03-24 2001-11-22 Symantec Corporation Bubble-protected system for automatic decryption of file data on a per-use basis and automatic re-encryption
JP2000259567A (ja) 1999-03-09 2000-09-22 Toshiba Corp アクセス制御装置、アクセス制御方法および記憶媒体
CN100444128C (zh) * 2002-02-27 2008-12-17 科学园株式会社 计算机文件系统驱动器的控制方法和计算机系统
US7797679B2 (en) * 2006-08-31 2010-09-14 Research In Motion Limited System and method for providing a parameter for an application operating on an electronic device
JP5250482B2 (ja) * 2009-05-21 2013-07-31 株式会社日立製作所 省電力制御装置及び方法
US9801095B2 (en) * 2010-07-26 2017-10-24 At&T Mobility Ii Llc Automated wireless access point resource allocation and optimization
JP5763903B2 (ja) * 2010-09-30 2015-08-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation アクセス権を管理する方法、並びにそのシステム及びコンピュータ・プログラム
US9769161B2 (en) * 2011-07-12 2017-09-19 Assa Abloy Ab Event driven second factor credential authentication

Also Published As

Publication number Publication date
US9325722B2 (en) 2016-04-26
JP2015028698A (ja) 2015-02-12
US20150040186A1 (en) 2015-02-05

Similar Documents

Publication Publication Date Title
JP6183034B2 (ja) アクセス制御プログラム、アクセス制御方法およびシステム
JP6151256B2 (ja) コンピューティングデバイス、作動方法及びコンピュータプログラム
WO2021051612A1 (zh) 数据授权脱敏自动化方法、系统、装置及存储介质
JP5963957B2 (ja) 開発環境システム、開発環境装置、開発環境提供方法及びプログラム
KR101806499B1 (ko) 파일 관리 방법 및 이를 이용한 파일 관리 장치
JP5439337B2 (ja) 情報処理システム、情報処理システムの制御方法、検索制御装置
US20200285763A1 (en) Referenced access control list
US9158932B2 (en) Modeled authorization check implemented with UI framework
US10491635B2 (en) Access policies based on HDFS extended attributes
CN111931140A (zh) 权限管理方法、资源访问控制方法、装置和电子设备
JP6962723B2 (ja) ジョブ共有許可装置、ジョブ共有許可方法およびジョブ共有許可プログラム
US9329784B2 (en) Managing policies using a staging policy and a derived production policy
US10152522B1 (en) Globally distributed compliance enforcement
JP5283600B2 (ja) 情報検索プログラム、情報検索システム
EP3458979B1 (en) Reconciling foreign key references and table security policies
WO2019052328A1 (zh) 一种匿名账户的鉴权方法及服务器
CA2447458A1 (en) System and method for managing query access to information
US20120110011A1 (en) Managing application access on a computing device
US11010346B2 (en) Methods and apparatus for managing access to file content
JP7116323B2 (ja) 情報処理システム、制御方法、プログラム
US11625365B2 (en) Method for managing virtual file, apparatus for the same, computer program for the same, and recording medium storing computer program thereof
JPS628247A (ja) デ−タの機密保護制御方式
Coppieters et al. An open implementation of cloud types for the web
US20240256525A1 (en) Decentralized policy-based transactional object management for federated workflows
JP5707214B2 (ja) ファイル管理システム及びファイル管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160405

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170315

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170404

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170605

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170627

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170710

R150 Certificate of patent or registration of utility model

Ref document number: 6183034

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150