JP2013182310A - アクセス制御装置及びアクセス制御方法及びプログラム - Google Patents

アクセス制御装置及びアクセス制御方法及びプログラム Download PDF

Info

Publication number
JP2013182310A
JP2013182310A JP2012043936A JP2012043936A JP2013182310A JP 2013182310 A JP2013182310 A JP 2013182310A JP 2012043936 A JP2012043936 A JP 2012043936A JP 2012043936 A JP2012043936 A JP 2012043936A JP 2013182310 A JP2013182310 A JP 2013182310A
Authority
JP
Japan
Prior art keywords
tenant
database
application
parameter
type
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.)
Granted
Application number
JP2012043936A
Other languages
English (en)
Other versions
JP5773910B2 (ja
Inventor
Masaru Kosugi
優 小杉
Koji Ogawa
康志 小川
Nobukatsu Irifuji
経勝 入不二
Mitsuyoshi Yamatari
光義 山足
Naohiko Katsuyama
尚彦 勝山
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.)
Mitsubishi Electric Corp
Mitsubishi Electric Information Technology Corp
Original Assignee
Mitsubishi Electric Corp
Mitsubishi Electric Information Technology Corp
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 Mitsubishi Electric Corp, Mitsubishi Electric Information Technology Corp filed Critical Mitsubishi Electric Corp
Priority to JP2012043936A priority Critical patent/JP5773910B2/ja
Publication of JP2013182310A publication Critical patent/JP2013182310A/ja
Application granted granted Critical
Publication of JP5773910B2 publication Critical patent/JP5773910B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】既存アプリケーションからマルチテナント対応型のデータベースへのアクセスを制御する際に、テナントのニーズ等に合わせてデータベースの種類を切り替える。
【解決手段】マルチテナント管理データベース300はテナントごとにテナントIDとデータベースの種類とを記憶する。UI接続部210はテナントIDをマルチテナント管理データベース300から読み出して既存パラメータに埋め込み、その既存パラメータを既存アプリケーション500に入力する。DB接続部240は既存アプリケーション500から出力される既存パラメータに埋め込まれているテナントIDに対応するテナントのデータベースの種類をマルチテナント管理データベース300から読み出し、マルチテナント型データベース400の当該種類のデータベースに格納された当該テナントの個別のデータへのアクセスを既存アプリケーション500に行わせる。
【選択図】図1

Description

本発明は、アクセス制御装置及びアクセス制御方法及びプログラムに関するものである。本発明は、特に、マルチテナント対応のアクセス制御装置、方法、プログラムに関するものである。
クラウドサービスの普及に伴い、単一のアプリケーションを複数の企業(テナント)で共用する「マルチテナント」型のアプリケーションのサービス形態が普及しつつある。
「マルチテナント」とは、ハードウェアやソフトウェアを複数の企業で共用可能にした形態のことを指す。クラウドサービスを提供する上で重要となるのは、いかにして低価格でサービスを提供するかである。複数の企業に対して同じサービスを提供する場合、同一のアプリケーションを複数企業に対して提供する「マルチテナント技術」を適用することでソフトウェアやハードウェアのリソースを削減できるため、低価格でのサービス提供が可能になる。
シングルテナント型からマルチテナント型のアプリケーションへ移行する際には、コンピュータ資源(PC(パーソナルコンピュータ)サーバ、ハードディスク、APP(アプリケーション)サーバソフトウエア、DBMS(データベース管理システム)等)を複数のテナントで共有する必要がある。このときアプリケーションやデータベース側でテナントを識別し、テナント別のデータアクセスを実現する必要がある。既存のシングルテナント型アプリケーションに改修を加える場合、アプリケーションやデータベースの構造に手を加える必要があるため、一般的に改修コストが膨大になる可能性がある。そこで、既存アプリケーションを可能な限り流用したまま、マルチテナント化することの可能なフレームワークが求められている。
従来技術では、既存アプリケーションを用いてマルチテナント対応型のデータベースからデータを読み出す場合、セッション情報からテナントID(識別子)、オーナーID、組織名といったテナントを特定するための情報を取得し、取得した情報に基づいて当該テナントに対応するテーブルを特定したり、読み出すデータを当該テナントに係るデータに絞り込んだりしている(例えば、特許文献1〜3参照)。
特開2010−26653号公報 特開2011−60174号公報 特開2011−113103号公報
マルチテナントアプリケーションでは、データの分離レベルに応じてデータベース分離モデルが以下の通り定義される。
(1)表共有型:1つのテーブル内に複数のテナントの情報が混在する。
(2)スキーマ分離型:テナントごとに専用のスキーマを用意する。
(3)インスタンス分離型:テナントごとに専用のデータベースインスタンスを生成する。
従来技術では、表共有モデルのみ、あるいは、スキーマ分離モデルのみを対象としており、「集約度を上げたい」、「独自のスキーマを使いたい」といった利用者の様々なニーズに合わせてモデルを切り替えるような方式を実現できないという課題があった。
本発明は、例えば、既存アプリケーションからマルチテナント対応型のデータベースへのアクセスを制御する際に、テナントのニーズ等に合わせてデータベースの種類を切り替えることを目的とする。
本発明の一の態様に係るアクセス制御装置は、
ユーザが少なくとも1人ずつ属する複数のテナントによって共用されるアプリケーションから、前記複数のテナントそれぞれの個別のデータを格納するマルチテナント対応型の少なくとも2種類のデータベースへのアクセスを制御するアクセス制御装置であって、
テナントごとに、テナントを一意に識別するテナント識別子と、アクセス対象とするデータベースの種類とを記憶装置により予め記憶するマルチテナント管理データベースと、
前記アプリケーションに入力されると前記アプリケーションが前記少なくとも2種類のデータベースへのアクセス時に出力するパラメータの入力を、前記複数のテナントのいずれかに属するユーザから入力装置により受け付け、当該ユーザが属するテナントのテナント識別子を前記マルチテナント管理データベースから読み出して当該パラメータに埋め込み、当該パラメータを前記アプリケーションに入力するユーザインタフェース接続部と、
前記ユーザインタフェース接続部により入力されたパラメータが前記アプリケーションから出力された場合、当該パラメータに埋め込まれているテナント識別子を取り出し、取り出したテナント識別子に対応するテナントのデータベースの種類を前記マルチテナント管理データベースから読み出し、前記少なくとも2種類のデータベースのうち、読み出した種類のデータベースに格納された当該テナントの個別のデータへのアクセスを前記アプリケーションに行わせるデータベース接続部とを備える。
本発明の一の態様において、アクセス制御装置のユーザインタフェース接続部は、ユーザが属するテナントのテナント識別子をパラメータに埋め込み、当該パラメータをアプリケーションに入力する。アクセス制御装置のデータベース接続部は、ユーザインタフェース接続部により入力されたパラメータがアプリケーションから出力された場合、当該パラメータに埋め込まれているテナント識別子を取り出し、取り出したテナント識別子に対応するテナントのアクセス対象として決められた種類のデータベースに格納された当該テナントの個別のデータへのアクセスをアプリケーションに行わせる。そのため、本発明の一の態様によれば、既存アプリケーションからマルチテナント対応型のデータベースへのアクセスを制御する際に、テナントのニーズ等に合わせてデータベースの種類を切り替えることが可能となる。
実施の形態1に係るアクセス制御装置の構成を示すブロック図。 実施の形態1に係るアクセス制御装置のハードウェア構成の一例を示す図。 実施の形態1に係るマルチテナント管理データベースのテナント管理テーブル、テナント情報結合設定テーブル、データベース接続設定テーブルの構成例を示す図。 実施の形態1に係る表共有型データベースの構成例を示す図。 実施の形態1に係るスキーマ分離型データベースの構成例を示す図。 実施の形態1に係るインスタンス分離型データベースの構成例を示す図。 実施の形態1に係るアクセス制御装置の動作を示すシーケンス図。 実施の形態1に係るアクセス制御装置の動作を示すシーケンス図。 実施の形態1に係るアクセス制御装置の動作を示すシーケンス図。 実施の形態1に係るアクセス制御装置の動作を示すシーケンス図。 実施の形態1に係るアクセス制御装置の動作を示すシーケンス図。 実施の形態2に係るアクセス制御装置の動作を示すシーケンス図。 実施の形態3に係るアクセス制御装置の構成を示すブロック図。 実施の形態3に係るマルチテナント管理データベースのデータベース接続設定テーブルの構成例を示す図。 実施の形態3に係るアクセス制御装置の動作を示すシーケンス図。 実施の形態3に係るデータチェック部の動作例を示す図。
以下、本発明の実施の形態について、図を用いて説明する。
実施の形態1.
図1は、本実施の形態に係るアクセス制御装置100の構成を示すブロック図である。
図1において、アクセス制御装置100は、シングルテナントで利用されていた既存アプリケーション500(マルチテナント非対応型のアプリケーション)から、複数のテナントの情報を一元管理しているマルチテナント型データベース400(マルチテナント対応型のデータベース)へのアクセスを制御する。
既存アプリケーション500は、複数のテナントによって共用されるアプリケーションの一例である。各テナントには、ユーザが少なくとも1人ずつ属するものとする。本実施の形態では、既存アプリケーション500が、テナントA、テナントB、テナントC、テナントDのユーザによって利用されるクライアントシステム101と通信を行って各種サービス(例えば、ウェブサービス)を提供する。クライアントシステム101は、テナントごとに設置される。なお、テナントの数は4つに限らず、2つでも、3つでも、5つ以上でも構わない。本実施の形態では、さらに、既存アプリケーション500が、システム管理者によって利用されるクライアントシステム102と通信を行って保守管理用のサービスを提供する。
マルチテナント型データベース400は、複数のテナントそれぞれの個別のデータを格納する少なくとも2種類のデータベースの一例である。本実施の形態では、マルチテナント型データベース400が、表共有型データベース410とスキーマ分離型データベース420とインスタンス分離型データベース430との3種類のデータベースを組み合わせて構成されている。即ち、マルチテナント型データベース400は、マルチテナント対応のための構成が互いに異なる3種類のデータベースである。なお、マルチテナント型データベース400は、表共有型データベース410とスキーマ分離型データベース420とインスタンス分離型データベース430とのうち、2種類のデータベースのみで構成されていてもよいし、その他の種類のデータベースを含む4種類以上のデータベースで構成されていてもよい。
アクセス制御装置100は、既存アプリケーション500をマルチテナント化するためのマルチテナントアプリケーション基盤200と、マルチテナントアプリケーション(マルチテナントアプリケーション基盤200と既存アプリケーション500との組み合わせ)を運用する上で必要な情報を管理するマルチテナント管理データベース300とを備える。
マルチテナントアプリケーション基盤200は、UI(ユーザインタフェース)接続部210、マルチテナント制御部220、コネクション保持部230、DB(データベース)接続部240を備える。
UI接続部210は、クライアントシステム101からサービスのリクエストを受け付け、そのクライアントシステム101が設置されたテナントのテナントIDを既存パラメータに埋め込む処理を行う。テナントIDとは、テナントを一意に識別するテナント識別子のことである。既存パラメータとは、既存アプリケーション500に入力されると既存アプリケーション500がマルチテナント型データベース400へのアクセス時に出力するパラメータのことである。
マルチテナント制御部220は、テナントの登録・削除等のテナントの管理を行う。
コネクション保持部230は、マルチテナントアプリケーションからマルチテナント型データベース400へのアクセス時のコネクションを管理する。
DB接続部240は、マルチテナントアプリケーションからマルチテナント型データベース400へのアクセスを制御する。DB接続部240は、テナント分離部241、モデル切替部242、表共有型接続部243、スキーマ分離型接続部244、インスタンス分離型接続部245を有する。テナント分離部241は、既存パラメータからテナントIDを取得する。モデル切替部242は、テナントごとにアクセスするデータベースを切り替える。表共有型接続部243は、表共有型データベース410へのアクセスを実現する。スキーマ分離型接続部244は、スキーマ分離型データベース420へのアクセスを実現する。インスタンス分離型接続部245は、インスタンス分離型データベース430へのアクセスを実現する。
マルチテナント管理データベース300は、テナント管理テーブル310、テナント情報結合設定テーブル320、データベース接続設定テーブル330を有する。テナント管理テーブル310は、マルチテナントアプリケーションを利用するテナントの情報を管理する。テナント情報結合設定テーブル320は、テナントIDを既存アプリケーション500に受け渡す際のルールを管理する。データベース接続設定テーブル330は、テナントごとのデータベースへの接続情報を管理する。
図1には示していないが、アクセス制御装置100は、処理装置、記憶装置、入力装置、出力装置等のハードウェアを備える。ハードウェアはアクセス制御装置100の各部によって利用される。例えば、処理装置は、アクセス制御装置100の各部でデータや情報の演算、加工、読み取り、書き込み等を行うために利用される。記憶装置は、そのデータや情報を記憶するために利用される。また、入力装置は、そのデータや情報を入力するために、出力装置は、そのデータや情報を出力するために利用される。
図2は、アクセス制御装置100のハードウェア構成の一例を示す図である。
図2において、アクセス制御装置100は、コンピュータであり、LCD901(Liquid・Crystal・Display)、キーボード902(K/B)、マウス903、FDD904(Flexible・Disk・Drive)、CDD905(Compact・Disc・Drive)、プリンタ906といったハードウェアデバイスを備えている。これらのハードウェアデバイスはケーブルや信号線で接続されている。LCD901の代わりに、CRT(Cathode・Ray・Tube)、あるいは、その他の表示装置が用いられてもよい。マウス903の代わりに、タッチパネル、タッチパッド、トラックボール、ペンタブレット、あるいは、その他のポインティングデバイスが用いられてもよい。
アクセス制御装置100は、プログラムを実行するCPU911(Central・Processing・Unit)を備えている。CPU911は、処理装置の一例である。CPU911は、バス912を介してROM913(Read・Only・Memory)、RAM914(Random・Access・Memory)、通信ボード915、LCD901、キーボード902、マウス903、FDD904、CDD905、プリンタ906、HDD920(Hard・Disk・Drive)と接続され、これらのハードウェアデバイスを制御する。HDD920の代わりに、フラッシュメモリ、光ディスク装置、メモリカードリーダライタ、あるいは、その他の記録媒体が用いられてもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、HDD920は、不揮発性メモリの一例である。これらは、記憶装置の一例である。通信ボード915、キーボード902、マウス903、FDD904、CDD905は、入力装置の一例である。また、通信ボード915、LCD901、プリンタ906は、出力装置の一例である。
通信ボード915は、LAN(Local・Area・Network)等に接続されている。通信ボード915は、LANに限らず、IP−VPN(Internet・Protocol・Virtual・Private・Network)、広域LAN、ATM(Asynchronous・Transfer・Mode)ネットワークといったWAN(Wide・Area・Network)、あるいは、インターネットに接続されていても構わない。LAN、WAN、インターネットは、ネットワークの一例である。
HDD920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。プログラム群923には、本実施の形態の説明において「〜部」として説明する機能を実行するプログラムが含まれている。プログラムは、CPU911により読み出され実行される。ファイル群924には、本実施の形態の説明において、「〜データ」、「〜情報」、「〜ID(識別子)」、「〜フラグ」、「〜結果」として説明するデータや情報や信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」や「〜テーブル」の各項目として含まれている。「〜ファイル」や「〜データベース」や「〜テーブル」は、RAM914やHDD920等の記録媒体に記憶される。RAM914やHDD920等の記録媒体に記憶されたデータや情報や信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出、検索、参照、比較、演算、計算、制御、出力、印刷、表示といったCPU911の処理(動作)に用いられる。抽出、検索、参照、比較、演算、計算、制御、出力、印刷、表示といったCPU911の処理中、データや情報や信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
本実施の形態の説明において用いるブロック図やフローチャートの矢印の部分は主としてデータや信号の入出力を示す。データや信号は、RAM914等のメモリ、FDD904のフレキシブルディスク(FD)、CDD905のコンパクトディスク(CD)、HDD920の磁気ディスク、光ディスク、DVD(Digital・Versatile・Disc)、あるいは、その他の記録媒体に記録される。また、データや信号は、バス912、信号線、ケーブル、あるいは、その他の伝送媒体により伝送される。
本実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜工程」、「〜手順」、「〜処理」であってもよい。即ち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。あるいは、「〜部」として説明するものは、ソフトウェアのみ、あるいは、素子、デバイス、基板、配線といったハードウェアのみで実現されていても構わない。あるいは、「〜部」として説明するものは、ソフトウェアとハードウェアとの組み合わせ、あるいは、ソフトウェアとハードウェアとファームウェアとの組み合わせで実現されていても構わない。ファームウェアとソフトウェアは、プログラムとして、フレキシブルディスク、コンパクトディスク、磁気ディスク、光ディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。即ち、プログラムは、本実施の形態の説明で述べる「〜部」としてコンピュータを機能させるものである。あるいは、プログラムは、本実施の形態の説明で述べる「〜部」の手順や方法をコンピュータに実行させるものである。
図3は、マルチテナント管理データベース300のテナント管理テーブル310、テナント情報結合設定テーブル320、データベース接続設定テーブル330の構成例を示す図である。
図3において、テナント管理テーブル310は、テナントID、テナント名のカラムを含む。テナント管理テーブル310は、例えば、テナントID「A」に対応付けて、テナント名「テナントA」を格納している。
テナント情報結合設定テーブル320は、結合元パラメータ、結合先パラメータ、セパレータのカラムを含む。結合先パラメータは、UI接続部210によりテナントIDを埋め込む対象とする既存パラメータを示す。結合元パラメータ及びセパレータは、テナントIDを埋め込んだ後の既存パラメータの形式を示す。本例において、テナント情報結合設定テーブル320は、結合元パラメータ「ユーザID、テナントID」、結合先パラメータ「ユーザID」、セパレータ「−−」を格納している。ユーザIDは、ユーザを一意に識別するユーザ識別子である。例えば、テナントAのユーザがユーザID「USER01」を既存アプリケーション500に入力しようとすると、ユーザIDがUI接続部210により「A−−USER01」に変換されてから既存アプリケーション500に入力されることになる。なお、結合先パラメータとしては、ユーザIDに限らず、ユーザ名、サービスの受付番号、後述する組織ID等、別の既存パラメータを用いても構わない。結合元パラメータ、セパレータについても、上記したものは一例であって、種々の変更が可能である。
データベース接続設定テーブル330は、テナントID、接続先DBモデル、プールID、DBチェック情報のカラムを含む。接続先DBモデルは、テナントのアクセス対象として決められたデータベースの種類を示す。プールIDは、データベースのコネクションプール(データベースとの接続)を一意に識別する接続識別子を示す。接続先DBモデルが表共有型データベース410の場合、コネクションプールは各テナントに共通のものが割り当てられる。接続先DBモデルがスキーマ分離型データベース420又はインスタンス分離型データベース430の場合、コネクションプールは各テナントに個別のものが割り当てられる。DBチェック情報は、特定のテーブルに格納されるデータについて設定された条件を示す。この条件は、接続先DBモデルが表共有型データベース410の場合のみ設定される。なお、DBチェック情報は、本実施の形態では使用しないものとする。データベース接続設定テーブル330は、例えば、テナントID「A」に対応付けて、接続先DBモデル「表共有型」(表共有型データベース410を示す)、プールID「poolCommon」(共通のコネクションプールを示す)を格納している。
上記のように、本実施の形態において、マルチテナント管理データベース300は、テナントごとに、少なくともテナントIDとデータベースの種類(接続先DBモデルやプールIDによって示される)とを記憶装置により予め記憶する。
図4は、表共有型データベース410の構成例を示す図である。
図4において、表共有型データベース410は、複数のテナントそれぞれの個別のデータを、テナントIDのカラムを含む共通のテーブルに格納することによりマルチテナント対応を行う第1種類のデータベースの一例である。表共有型データベース410は、各テナントに共通のテーブルとして、個人情報テーブル(ユーザ一覧)、組織情報テーブル(組織一覧)、配属情報テーブル(配属一覧)、認証情報テーブル(パスワード一覧)を有する。
個人情報テーブル(ユーザ一覧)は、テナントID、ユーザID、ユーザ名のカラムを含む。本例では、ユーザIDが(シングルテナントアプリケーションのように)全テナント間でユーザを一意に識別するものとするが、ユーザが属するテナント内のみでユーザを一意に識別できればよい。個人情報テーブル(ユーザ一覧)は、例えば、テナントID「A」に対応付けて、ユーザID「USER01」、ユーザ名「ユーザ1」を格納している。
組織情報テーブル(組織一覧)は、テナントID、組織ID、組織名のカラムを含む。組織IDは、テナントの組織(部署等)を一意に識別する組織識別子である。組織情報テーブル(組織一覧)は、例えば、テナントID「A」に対応付けて、組織ID「ORG1」、組織名「組織1」を格納している。
配属情報テーブル(配属一覧)は、テナントID、配属ID、ユーザID、組織IDのカラムを含む。配属IDは、ユーザと組織との対応付け(即ち、配属)を一意に識別する配属識別子である。配属情報テーブル(配属一覧)は、例えば、テナントID「A」に対応付けて、配属ID「1」、ユーザID「USER01」、組織ID「ORG1」を格納している。
認証情報テーブル(パスワード一覧)は、テナントID、ユーザID、パスワードのカラムを含む。認証情報テーブル(パスワード一覧)は、例えば、テナントID「A」に対応付けて、ユーザID「USER01」、パスワード「xxxxxxxx」を格納している。
図5は、スキーマ分離型データベース420の構成例を示す図である。
図5において、スキーマ分離型データベース420は、テナントごとに、テナントの個別のデータを個別のテーブルに格納することによりマルチテナント対応を行う第2種類のデータベースの一例である。スキーマ分離型データベース420は、各テナントの個別のテーブルとして、個人情報テーブル(テナントA_ユーザ一覧、テナントB_ユーザ一覧)、組織情報テーブル(テナントA_組織一覧、テナントB_組織一覧)、配属情報テーブル(テナントA_配属一覧、テナントB_配属一覧)を有する。図示していないが、スキーマ分離型データベース420は、認証情報テーブル(テナントA_パスワード一覧、テナントB_パスワード一覧)も有する。
個人情報テーブル(テナントA_ユーザ一覧、テナントB_ユーザ一覧)、組織情報テーブル(テナントA_組織一覧、テナントB_組織一覧)、配属情報テーブル(テナントA_配属一覧、テナントB_配属一覧)、認証情報テーブル(テナントA_パスワード一覧、テナントB_パスワード一覧)の各テーブルは、テナントIDのカラムを含む代わりに、テーブル名にテナント名(テナントIDでもよい)を含んでいる。各テーブルに含まれるカラムについては、図4に示した表共有型データベース410のものと同様である。
図6は、インスタンス分離型データベース430の構成例を示す図である。
図6において、インスタンス分離型データベース430は、テナントごとに、テナントの個別のデータを格納する個別のデータベースインスタンスが存在することによりマルチテナント対応を行う第3種類のデータベースの一例である。インスタンス分離型データベース430のテナントA用インスタンス及びテナントB用インスタンスは、それぞれ個人情報テーブル(ユーザ一覧)、組織情報テーブル(組織一覧)、配属情報テーブル(配属一覧)を有する。図示していないが、テナントA用インスタンス及びテナントB用インスタンスは、それぞれ認証情報テーブル(パスワード一覧)も有する。
個人情報テーブル(ユーザ一覧)、組織情報テーブル(組織一覧)、配属情報テーブル(配属一覧)、認証情報テーブル(パスワード一覧)の各テーブルは、テナントIDのカラムを含んだり、テーブル名にテナント名を含んだりする代わりに、テナントごとにデータベースインスタンスが分かれている。各テーブルに含まれるカラムについては、図4に示した表共有型データベース410のものと同様である。
以下では、図7〜図9を用いて、テナントAのクライアントシステム101からサービスのリクエストが送信されたときのアクセス制御装置100の動作(本実施の形態に係るアクセス制御方法、本実施の形態に係るプログラムの処理手順)について説明する。
図7は、既存アプリケーション500にテナントIDを意識させずに既存アプリケーション500を利用するために、既存パラメータに対するテナントIDの結合及び分離を行う流れを示すシーケンス図である。
S101において、テナントAのクライアントシステム101は、UI接続部210に対し、ログイン要求を出す。このとき、クライアントシステム101は、UI接続部210に対し、テナントID、ユーザID、パスワードを送信するものとする。UI接続部210は、テナントID、ユーザID、パスワードを入力装置により受信する。
S102において、UI接続部210は、受信したテナントIDが正しいものか、及び、テナントIDをどのように既存パラメータに埋め込むのか(結合ルール)に関する情報を入手するために、マルチテナント制御部220にテナントID確認通知とテナント情報結合情報取得要求を出す。
S103において、マルチテナント制御部220は、マルチテナント管理データベース300に対し、テナント管理テーブル310にUI接続部210から受け取ったテナントIDが含まれているかどうか問い合わせる。また、テナント情報結合設定テーブル320の結合ルールを問い合わせる。
S104において、マルチテナント管理データベース300は、マルチテナント制御部220の問い合わせに対し、テナント管理テーブル310、テナント情報結合設定テーブル320を検索し、結果を返す。
S105において、マルチテナント制御部220は、UI接続部210に対し、検索結果を返す。
S106において、UI接続部210は、マルチテナント制御部220経由で取得した結合ルールを基に、既存パラメータに対し、テナントIDを処理装置により埋め込む。本例では、図3に示したように、結合ルールとして、結合元パラメータ「ユーザID、テナントID」、結合先パラメータ「ユーザID」、セパレータ「−−」が設定されているものとする。そのため、テナントIDが「A」、ユーザIDが「USER01」のユーザの場合、既存パラメータのユーザIDは「A−−USER01」となる。テナントIDを埋め込んだ後に、UI接続部210は、既存アプリケーション500に対し、ユーザIDを「A−−USER01」とした上でリクエストを送信する。
S107において、既存アプリケーション500は、シングルテナントの場合と同様の処理を実施する。具体的には、既存アプリケーション500は、マルチテナント型データベース400に対するクエリ(第1のクエリ)を発行する。
S108において、既存アプリケーション500は、DB接続部240のテナント分離部241に対してデータベース接続要求を出す。データベース接続要求には、パラメータとしてユーザIDが含まれている。
S109において、テナント分離部241は、既存アプリケーション500から受け取ったデータベース接続要求のパラメータからテナントIDを抽出するための情報を取得するために、マルチテナント制御部220に対し、テナント情報結合情報取得要求を出す。
S110において、マルチテナント制御部220は、テナント分離部241から受け取ったテナント情報結合情報取得要求を基に、マルチテナント管理データベース300に対して、結合ルールを問い合わせる。
S111において、マルチテナント管理データベース300は、マルチテナント制御部220の問い合わせに対し、テナント情報結合設定テーブル320を検索し、結果を返す。
S112において、マルチテナント制御部220は、テナント分離部241に対し、検索結果を返す。
S113において、テナント分離部241は、結合ルールを基に、既存パラメータからテナントIDを処理装置により取得する。本例では、ユーザIDからテナントIDを取得する。
S114において、テナント分離部241は、DB接続部240のモデル切替部242に対し、既存アプリケーション500から受け取ったデータベース接続要求を、テナントIDを付与した状態で渡す。モデル切替部242は、データベース接続要求を受け取る。
上記のように、本実施の形態において、UI接続部210は、既存パラメータの入力を、複数のテナントのいずれかに属するユーザから入力装置により受け付ける。UI接続部210は、当該ユーザが属するテナントのテナントIDをマルチテナント管理データベース300から読み出して、当該ユーザから入力された既存パラメータに処理装置により埋め込む。そして、UI接続部210は、テナントIDを埋め込んだ既存パラメータを既存アプリケーション500に入力する。本例において、UI接続部210は、当該ユーザから、既存パラメータとして、当該ユーザのユーザIDの入力を受け付け、当該ユーザが属するテナントのテナントIDを、当該ユーザから入力されたユーザIDに連結することにより、テナントIDを既存パラメータに埋め込む。
また、本実施の形態において、DB接続部240は、UI接続部210により入力された既存パラメータが既存アプリケーション500から出力された場合、出力された既存パラメータに埋め込まれているテナントIDを処理装置により取り出す。
図8は、表共有型データベース410へのアクセスの流れを示すシーケンス図である。
S201において、モデル切替部242は、受け取ったデータベース接続要求からテナントIDを取得し、どのようにデータベースへアクセスするのかに関する情報を取得するため、取得したテナントIDをマルチテナント制御部220に通知する。
S202において、マルチテナント制御部220は、通知されたテナントIDのテナントがどのようにデータベースにアクセスするのかをマルチテナント管理データベース300に対して問い合わせる。
S203において、マルチテナント管理データベース300は、マルチテナント制御部220の問い合わせに対し、データベース接続設定テーブル330を検索し、結果を返す。この結果には、プールIDが含まれている。
S204において、マルチテナント制御部220は、マルチテナント管理データベース300より取得したプールIDを基に、コネクション保持部230に対し、コネクションプールの取得を要求する。このとき、マルチテナント制御部220は、コネクション保持部230に対し、プールIDを送信するものとする。
S205において、コネクション保持部230は、受け取ったプールIDのコネクションプールを返す。
S206において、マルチテナント制御部220は、モデル切替部242より受け取ったテナントIDのテナントが使用するデータベースのコネクションプールをモデル切替部242に返す。
S207において、モデル切替部242は、マルチテナント制御部220から受け取ったコネクションプール(接続先情報)を基に、接続先を切り替える。本例では、図3に示したように、テナントAの接続先DBモデルとして、表共有型データベース410が設定されているものとする。そのため、モデル切替部242は、表共有型接続部243に接続する。
S208において、表共有型接続部243は、コネクション保持部230より取得したコネクションプールを用いてマルチテナント型データベース400の表共有型データベース410に接続し、検索要求を出す。具体的には、表共有型接続部243は、既存アプリケーション500により発行されたクエリ(例えば、SQLのSELECT文)に、アクセス対象となるテーブルのテナントIDとモデル切替部242が取得したテナントIDとが一致することを条件(例えば、WHERE句)として追加した上で、そのクエリを表共有型データベース410に対して発行する。
S209において、表共有型データベース410は、検索結果(具体的には、クエリの結果)を表共有型接続部243へ返す。
S210において、表共有型接続部243は、表共有型データベース410から返ってきた検索結果をモデル切替部242へ返す。モデル切替部242は、検索結果を受信する。
上記のように、本実施の形態において、DB接続部240は、既存アプリケーション500から出力された既存パラメータに埋め込まれているテナントIDを取り出した後、取り出したテナントIDに対応するテナントのデータベースの種類をマルチテナント管理データベース300から読み出す。そして、DB接続部240は、マルチテナント型データベース400を構成する3種類のデータベースのうち、読み出した種類のデータベースに格納された当該テナントの個別のデータへのアクセスを既存アプリケーション500に行わせる。
図9は、マルチテナント型データベース400の検索結果をクライアントシステム101へ返す処理の流れを示すシーケンス図である。
S301において、モデル切替部242は、受信したマルチテナント型データベース400の検索結果をテナント分離部241へ渡す。
S302において、テナント分離部241は、既存アプリケーション500へモデル切替部242から取得したマルチテナント型データベース400の検索結果を渡す。
S303において、既存アプリケーション500は、受け取ったマルチテナント型データベース400の検索結果を基に、シングルテナントの場合と同様の処理を実施する。具体的には、既存アプリケーション500は、マルチテナント型データベース400に対するクエリの結果に基づいて、所定の処理(例えば、ウェブサービスのための処理)を実行する。
S304において、既存アプリケーション500は、処理の実施結果をUI接続部210に返す。
S305において、UI接続部210は、処理の実施結果をテナントAのクライアントシステム101に返す。
以上説明した動作により、マルチテナントアプリケーションからテナントAのユーザへのサービス提供が行われる。テナントBのクライアントシステム101からサービスのリクエストが送信されたときにも、同様の動作により、マルチテナントアプリケーションからテナントBのユーザへのサービス提供が行われる。
以下では、図10を用いて、テナントCのクライアントシステム101からサービスのリクエストが送信されたときのアクセス制御装置100の動作(本実施の形態に係るアクセス制御方法、本実施の形態に係るプログラムの処理手順)について説明する。
既存アプリケーション500にテナントIDを意識させずに既存アプリケーション500を利用するために、既存パラメータに対するテナントIDの結合及び分離を行う流れは、図7に示したものと同様である。
図10は、スキーマ分離型データベース420へのアクセスの流れを示すシーケンス図である。
S401〜S406の処理については、図8に示したS201〜S206の処理と同様である。
S407において、モデル切替部242は、マルチテナント制御部220から受け取ったコネクションプール(接続先情報)を基に、接続先を切り替える。本例では、図3に示したように、テナントCの接続先DBモデルとして、スキーマ分離型データベース420が設定されているものとする。そのため、モデル切替部242は、スキーマ分離型接続部244に接続する。
S408において、スキーマ分離型接続部244は、コネクション保持部230より取得したコネクションプールを用いてマルチテナント型データベース400のスキーマ分離型データベース420に接続し、検索要求を出す。具体的には、スキーマ分離型接続部244は、既存アプリケーション500により発行されたクエリ(例えば、SQLのSELECT文)でアクセス対象として指定されたテーブルのテーブル名に、モデル切替部242が取得したテナントIDに対応するテナント名(テナントIDそのものでもよい)を所定の形式で追加(連結)した上で、そのクエリをスキーマ分離型データベース420に対して発行する。
S209において、スキーマ分離型データベース420は、検索結果(具体的には、クエリの結果)をスキーマ分離型接続部244へ返す。
S210において、スキーマ分離型接続部244は、スキーマ分離型データベース420から返ってきた検索結果をモデル切替部242へ返す。モデル切替部242は、検索結果を受信する。
マルチテナント型データベース400の検索結果をクライアントシステム101へ返す処理の流れは、図9に示したものと同様である。
以下では、図11を用いて、テナントDのクライアントシステム101からサービスのリクエストが送信されたときのアクセス制御装置100の動作(本実施の形態に係るアクセス制御方法、本実施の形態に係るプログラムの処理手順)について説明する。
既存アプリケーション500にテナントIDを意識させずに既存アプリケーション500を利用するために、既存パラメータに対するテナントIDの結合及び分離を行う流れは、図7に示したものと同様である。
図11は、インスタンス分離型データベース430へのアクセスの流れを示すシーケンス図である。
S501〜S506の処理については、図8に示したS201〜S206の処理と同様である。
S507において、モデル切替部242は、マルチテナント制御部220から受け取ったコネクションプール(接続先情報)を基に、接続先を切り替える。本例では、図3に示したように、テナントDの接続先DBモデルとして、インスタンス分離型データベース430が設定されているものとする。そのため、モデル切替部242は、インスタンス分離型接続部245に接続する。
S508において、インスタンス分離型接続部245は、コネクション保持部230より取得したコネクションプールを用いてマルチテナント型データベース400のインスタンス分離型データベース430に接続し、検索要求を出す。具体的には、インスタンス分離型接続部245は、既存アプリケーション500により発行されたクエリ(例えば、SQLのSELECT文)を、インスタンス分離型データベース430のテナントA用インスタンスに対して発行する。
S509において、インスタンス分離型データベース430は、検索結果(具体的には、クエリの結果)をインスタンス分離型接続部245へ返す。
S510において、インスタンス分離型接続部245は、インスタンス分離型データベース430から返ってきた検索結果をモデル切替部242へ返す。モデル切替部242は、検索結果を受信する。
マルチテナント型データベース400の検索結果をクライアントシステム101へ返す処理の流れは、図9に示したものと同様である。
以上説明したように、本実施の形態では、既存アプリケーション500を可能な限り流用した状態でマルチテナント化するために、既存アプリケーション500の前後のインタフェース部分でテナントID(テナントごとに一意に割り振られる識別子)の埋め込み/取り出しを行う。
マルチテナント対応でない既存アプリケーション500ではテナントIDを扱うことができない。そこで、既存アプリケーション500で利用しているパラメータ(例えば、ユーザID)にテナントIDを結合する。例えば、結合元パラメータ「ユーザID、テナントID」、結合先パラメータ「ユーザID」、セパレータ「−−」のように設定された結合ルールでテナントIDが「A」、ユーザIDが「USER01」のユーザの場合、既存パラメータのユーザIDは「A−−USER01」となる。このとき結合ルールを固定とするのではなく、柔軟に設定可能とすることで、例えば既存アプリケーション500のユーザIDの文字数に制限がある場合は、ユーザ名のパラメータを結合先にするといったことが可能となる。また、マルチテナント化する既存アプリケーション500が複数あり、既存アプリケーション500の利用しているパラメータが異なる場合でも、既存アプリケーション500ごとにルールを設定することで対応可能となる。
本実施の形態に係るアクセス制御装置100は、マルチテナントアプリケーションを実現するためのソフトウェア及びそれを格納・実行するハードウェアからなり、UI接続部210、DB接続部240、テナント情報結合設定テーブル320を備える。UI接続部210は、ユーザの所属するテナントのテナントIDを、テナント情報結合設定を基に、既存アプリケーション500で使用されているパラメータに埋め込む。DB接続部240は、データベースのアクセスに必要なテナントIDを、テナント情報結合設定を基に、パラメータから取り出す。テナント情報結合設定テーブル320は、テナント情報結合設定として、テナントIDを埋め込むパラメータや、埋め込むための条件を管理する。
従来技術では、既存アプリケーション500を用いてデータベースからデータを読み出す場合、セッション情報からテナントID等を取得していたため、既存アプリケーション500を通したデータとテナントIDとの対応付けがうまくいかない可能性がある。既存アプリケーション500とデータベースとの間でセッションIDを取得できないと、テナントIDを取得することはできない。これに対し、本実施の形態では、UI接続部210からDB接続部240にセッション情報(セッションID)を渡していない状態であっても、既存アプリケーション500がテナントIDを意識する必要なく、DB接続部240にてテナントIDを取得することが可能である。
また、本実施の形態では、データベースのモデルとして、表共有型、スキーマ分離型、インスタンス分離型が混在しているマルチテナント型データベース400を利用する。
複数テナントの情報を持つデータベースのモデルは、データベースの表の構成やインスタンスの構成によって、表共有型、スキーマ分離型、インスタンス分離型に分けられる。既存アプリケーション500をマルチテナント化するにあたって、複数テナントのそれぞれが利用しているデータベースの形式はテナントによって異なる可能性が高く、対応可能なモデルが1つの場合は、データベースを移行する手間がかかってしまう。また、「集約度を上げたい」、「独自のスキーマを使いたい」といった利用者の様々なニーズに合わせてモデルを切り替えるような方式を実現できない。これに対し、本実施の形態では、データベース接続設定テーブル330でテナントごとに利用するデータベースのモデルが何かを管理し、マルチテナント型データベース400へ接続する際にモデルを切り替える。モデルの切替時には、予めテナントごとに利用可能なデータベースへのコネクションを保持するコネクションプールを用意し、マルチテナント型データベース400への接続時にはテナントに割り当てられたコネクションを選択することで、モデルの切替が可能となる。
実施の形態2.
本実施の形態について、主に実施の形態1との差異を説明する。
本実施の形態に係るアクセス制御装置100の構成は、図1に示した実施の形態1のものと同様である。
以下では、図12を用いて、マルチテナントアプリケーションを利用するテナントを追加する際のアクセス制御装置100の動作(本実施の形態に係るアクセス制御方法、本実施の形態に係るプログラムの処理手順)について説明する。
図12は、システム管理者のクライアントシステム102から新規にテナントを追加する処理の流れを示すシーケンス図である。
S601において、システム管理者のクライアントシステム102は、マルチテナント制御部220に対し、テナントの登録要求を出す。このとき、テナント名及びテナントの利用するデータベースのモデルについてマルチテナント制御部220に通知する。
S602において、マルチテナント制御部220は、マルチテナント管理データベース300に対し、テナント管理テーブル310にテナント名を登録し、テナントIDを発行するよう要求する。
S603において、マルチテナント管理データベース300は、テナントを登録し、発行したテナントIDを返す。
S604において、マルチテナント制御部220は、コネクション保持部230に対し、追加したテナント用のコネクションプールを発行するように要求する。
S605において、コネクション保持部230は、新規テナント用のコネクションプールを生成し、プールIDを返す。ただし、テナントの利用するデータベースのモデルが表共有型データベース410だった場合、コネクション保持部230は、新規コネクションプールを生成せず、表共有型データベース410の共通のコネクションプールに対応するプールIDを返す。
S606において、マルチテナント制御部220は、マルチテナント管理データベース300に対し、データベース接続設定テーブル330に新規テナントのテナントID、接続先DBモデル、プールIDを追加する更新を要求する。
S607において、マルチテナント管理データベース300は、データベース接続設定テーブル330の更新を行い、結果を返す。
S608において、マルチテナント制御部220は、マルチテナント型データベース400に対し、新規テナント用のデータ領域を追加するよう要求する。
S609において、マルチテナント型データベース400は、新規テナントのデータ領域を追加し、成否をマルチテナント制御部220に通知する。
S610において、マルチテナント制御部220は、システム管理者のクライアントシステム102に対し、登録の成否を通知する。
以上の動作により、マルチテナントアプリケーションを利用したいという新規テナントに対して、即時でアプリケーションの利用を開放することが可能となる。
以上説明したように、本実施の形態では、マルチテナントサービスを提供する上で、マルチテナントアプリケーションを利用していなかったテナントが利用を希望する場合に、既存アプリケーション500の改修なく、テナントの追加が可能である。そのために、本実施の形態では、マルチテナントアプリケーションのシステム管理者が管理用アプリケーションでテナントを登録した場合、マルチテナント制御部220によって新規テナントが利用するのに必要な設定を自動で行う。具体的には、マルチテナント型データベース400に新規テナント用のデータ領域を確保し、データベースアクセス用のコネクションの設定を用意する。
実施の形態3.
本実施の形態について、主に実施の形態1との差異を説明する。
図13は、本実施の形態に係るアクセス制御装置100の構成を示すブロック図である。
図13において、アクセス制御装置100は、DB接続部240の表共有型接続部243に、表共有型データベース410から受信した結果の整合性を確認するためのデータチェック部246を備える。その他の構成は、図1に示した実施の形態1のものと同様である。
図14は、マルチテナント管理データベース300のデータベース接続設定テーブル330の構成例を示す図である。
図14において、データベース接続設定テーブル330は、図3に示した実施の形態1のものと同様に、テナントID、接続先DBモデル、プールID、DBチェック情報のカラムを含む。DBチェック情報は、前述したように、特定のテーブルに格納されるデータについて設定された条件を示す。この条件は、接続先DBモデルが表共有型データベース410の場合のみ設定される。本例において、データベース接続設定テーブル330は、テナントID「A」に対応付けて、テナントAのデータについてのチェック条件をDBチェック情報として格納している。また、データベース接続設定テーブル330は、テナントID「B」に対応付けて、テナントBのデータについてのチェック条件をDBチェック情報として格納している。
上記のように、本実施の形態において、マルチテナント管理データベース300は、表共有型データベース410をアクセス対象とするテナントごとに、各テナントに共通のテーブルに格納されるデータについて設定された条件を記憶装置により予め記憶する。
以下では、図15を用いて、テナントAのクライアントシステム101からサービスのリクエストが送信されたときのアクセス制御装置100の動作(本実施の形態に係るアクセス制御方法、本実施の形態に係るプログラムの処理手順)について説明する。
既存アプリケーション500にテナントIDを意識させずに既存アプリケーション500を利用するために、既存パラメータに対するテナントIDの結合及び分離を行う流れは、図7に示した実施の形態1のものと同様である。
図15は、表共有型データベース410へのアクセスの流れを示すシーケンス図である。
S701〜S709の処理については、図8に示したS201〜S209の処理と同様である。
S710において、表共有型接続部243は、表共有型データベース410からの検索結果に対し、データチェック部246を用いて他のテナントの情報が混ざっていないかどうか確認する。
S711において、データチェック部246は、データベース接続設定テーブル330のDBチェック情報を基に、表共有型データベース410からの検索結果に対し、他のテナントの情報がないかどうかを処理装置により確認する。データチェック部246は、他のテナントの情報が混ざっていることを検知した場合、その情報を削除するか、あるいは、エラーを通知する。
S712の処理については、図8に示したS210の処理と同様である。なお、S711でデータチェック部246がエラーを通知した場合は、検索結果としてエラーをモデル切替部242へ通知する。
マルチテナント型データベース400の検索結果をクライアントシステム101へ返す処理の流れは、図9に示したものと同様である。
以上説明した動作により、マルチテナントアプリケーションからテナントAのユーザへのサービス提供が行われる。テナントBのクライアントシステム101からサービスのリクエストが送信されたときにも、同様の動作により、マルチテナントアプリケーションからテナントBのユーザへのサービス提供が行われる。
図16は、S711におけるデータチェック部246の動作例を示す図である。
図16において、データチェック部246は、既存パラメータから取り出されたテナントIDに対応するDBチェック情報により設定された条件を含むクエリ(第2のクエリ)を表共有型データベース410に対して発行する。データチェック部246は、発行したクエリ(第2のクエリ)の結果と、S708で表共有型接続部243を介して既存アプリケーション500により発行されたクエリ(第1のクエリ)の結果とを比較する。そして、データチェック部246は、比較の結果に基づいて、S708で表共有型接続部243を介して既存アプリケーション500により発行されたクエリ(第1のクエリ)の結果の正否を処理装置により判定する。
ここで、第1例として、データベース接続設定テーブル330において、テナントAのDBチェック情報により、クエリのアクセス対象とするテーブル全てのテナントIDが「A」であることがチェック条件として設定されているとする。そして、既存アプリケーション500が、個人情報テーブル(ユーザ一覧)、組織情報テーブル(組織一覧)、配属情報テーブル(配属一覧)をアクセス対象として指定して、テナントID、ユーザ名、組織名を抽出する第1クエリを発行したとする。この場合、S708において、表共有型接続部243は、既存アプリケーション500により発行された第1クエリ(例えば、SQLのSELECT文)に、個人情報テーブル(ユーザ一覧)、組織情報テーブル(組織一覧)、配属情報テーブル(配属一覧)のテナントIDが「A」であることを条件(例えば、WHERE句)として追加した上で、その第1クエリを表共有型データベース410に対して発行する。S711において、データチェック部246は、データベース接続設定テーブル330のDBチェック情報に基づき、個人情報テーブル(ユーザ一覧)、組織情報テーブル(組織一覧)、配属情報テーブル(配属一覧)のテナントIDが「A」であることを条件として含み、第1クエリと同様に、個人情報テーブル(ユーザ一覧)、組織情報テーブル(組織一覧)、配属情報テーブル(配属一覧)をアクセス対象として指定して、テナントID、ユーザ名、組織名を抽出する第2のクエリを表共有型データベース410に対して発行する(この第1例では、第2クエリは、表共有型接続部243により発行される第1クエリと同一のクエリとなる)。データチェック部246は、第2のクエリの結果と第1のクエリの結果とを比較する。第2のクエリの結果と第1のクエリの結果とは一致するため、データチェック部246は、第1のクエリの結果が正しいと判定する。
また、第2例として、データベース接続設定テーブル330において、テナントAのDBチェック情報により、ユーザIDが「USER01」又は「USER02」であることがチェック条件として設定されているとする。そして、既存アプリケーション500が、上記第1例と同じ第1クエリを発行したとする。この場合、S708において、表共有型接続部243は、既存アプリケーション500により発行された第1クエリ(例えば、SQLのSELECT文)に、上記第1例と同じ条件を追加した上で、その第1クエリを表共有型データベース410に対して発行する。S711において、データチェック部246は、データベース接続設定テーブル330のDBチェック情報に基づき、個人情報テーブル(ユーザ一覧)、配属情報テーブル(配属一覧)のユーザIDが「USER01」又は「USER02」であることを条件として含み、第1クエリと同様に、個人情報テーブル(ユーザ一覧)、組織情報テーブル(組織一覧)、配属情報テーブル(配属一覧)をアクセス対象として指定して、テナントID、ユーザ名、組織名を抽出する第2のクエリを表共有型データベース410に対して発行する。データチェック部246は、第2のクエリの結果と第1のクエリの結果とを比較する。第2のクエリの結果と第1のクエリの結果とは一致するため、データチェック部246は、第1のクエリの結果が正しいと判定する。
以上説明したように、本実施の形態では、表共有型データベース410へアクセスする際に検索結果に他のテナントの情報が混ざることなく、対象のテナントの情報のみを確実に取得するためのチェック機能を実現する。
マルチテナントアプリケーションのデータベースが表共有型モデルの場合、データベースのテーブル上では複数のテナントの情報が混在しているため、検索のSQLでWHERE句により別のテナントが混ざらないようにする必要がある。しかしながら、検索のSQLが複雑になってくる場合、単純にWHERE句にテナント条件を追加するだけではテナントの情報を分離しきれないケースも考えられる。例えば、検索の際に複数のテーブルをJOIN句により結合したSQLを用いる場合、他のテナントの情報が紛れ込んでしまう可能性がある。これに対し、本実施の形態では、データベースの検索結果に対し、テナントごとの条件をWHERE句に記述したSQLで再度検索をかけることにより、別のテナントの情報が含まれるのを防ぐことが可能になる。
以上、本発明の実施の形態について説明したが、これらの実施の形態のうち、2つ以上を組み合わせて実施しても構わない。あるいは、これらの実施の形態のうち、1つを部分的に実施しても構わない。あるいは、これらの実施の形態のうち、2つ以上を部分的に組み合わせて実施しても構わない。なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
100 アクセス制御装置、101,102 クライアントシステム、200 マルチテナントアプリケーション基盤、210 UI接続部、220 マルチテナント制御部、230 コネクション保持部、240 DB接続部、241 テナント分離部、242 モデル切替部、243 表共有型接続部、244 スキーマ分離型接続部、245 インスタンス分離型接続部、246 データチェック部、300 マルチテナント管理データベース、310 テナント管理テーブル、320 テナント情報結合設定テーブル、330 データベース接続設定テーブル、400 マルチテナント型データベース、410 表共有型データベース、420 スキーマ分離型データベース、430 インスタンス分離型データベース、500 既存アプリケーション、901 LCD、902 キーボード、903 マウス、904 FDD、905 CDD、906 プリンタ、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 HDD、921 オペレーティングシステム、922 ウィンドウシステム、923 プログラム群、924 ファイル群。

Claims (7)

  1. ユーザが少なくとも1人ずつ属する複数のテナントによって共用されるアプリケーションから、前記複数のテナントそれぞれの個別のデータを格納するマルチテナント対応型の少なくとも2種類のデータベースへのアクセスを制御するアクセス制御装置であって、
    テナントごとに、テナントを一意に識別するテナント識別子と、アクセス対象とするデータベースの種類とを記憶装置により予め記憶するマルチテナント管理データベースと、
    前記アプリケーションに入力されると前記アプリケーションが前記少なくとも2種類のデータベースへのアクセス時に出力するパラメータの入力を、前記複数のテナントのいずれかに属するユーザから入力装置により受け付け、当該ユーザが属するテナントのテナント識別子を前記マルチテナント管理データベースから読み出して当該パラメータに埋め込み、当該パラメータを前記アプリケーションに入力するユーザインタフェース接続部と、
    前記ユーザインタフェース接続部により入力されたパラメータが前記アプリケーションから出力された場合、当該パラメータに埋め込まれているテナント識別子を取り出し、取り出したテナント識別子に対応するテナントのデータベースの種類を前記マルチテナント管理データベースから読み出し、前記少なくとも2種類のデータベースのうち、読み出した種類のデータベースに格納された当該テナントの個別のデータへのアクセスを前記アプリケーションに行わせるデータベース接続部と
    を備えることを特徴とするアクセス制御装置。
  2. 前記少なくとも2種類のデータベースは、マルチテナント対応のための構成が互いに異なる複数種類のデータベースからなることを特徴とする請求項1のアクセス制御装置。
  3. 前記複数種類のデータベースは、前記複数のテナントそれぞれの個別のデータを、テナント識別子のカラムを含む共通のテーブルに格納することによりマルチテナント対応を行う第1種類のデータベースと、テナントごとに、テナントの個別のデータを個別のテーブルに格納することによりマルチテナント対応を行う第2種類のデータベースと、テナントごとに、テナントの個別のデータを格納する個別のデータベースインスタンスが存在することによりマルチテナント対応を行う第3種類のデータベースとであることを特徴とする請求項2のアクセス制御装置。
  4. 前記アプリケーションは、前記複数種類のデータベースに対して第1のクエリを発行することにより前記複数種類のデータベースへのアクセスを行うアプリケーションであり、
    前記マルチテナント管理データベースは、前記第1種類のデータベースをアクセス対象とするテナントごとに、前記共通のテーブルに格納されるデータについて設定された条件を予め記憶し、
    前記データベース接続部は、前記マルチテナント管理データベースから読み出したデータベースの種類が前記第1種類のデータベースである場合、前記パラメータから取り出したテナント識別子に対応するテナントの条件を前記マルチテナント管理データベースから読み出し、前記第1種類のデータベースに対して当該条件を含む第2のクエリを発行し、前記アプリケーションにより発行された第1のクエリの結果と当該第2のクエリの結果とを比較し、比較した結果に基づいて当該第1のクエリの結果の正否を処理装置により判定することを特徴とする請求項3のアクセス制御装置。
  5. 前記ユーザインタフェース接続部は、前記複数のテナントのいずれかに属するユーザから、前記パラメータとして、当該ユーザを一意に識別するユーザ識別子の入力を受け付け、当該ユーザが属するテナントのテナント識別子を前記マルチテナント管理データベースから読み出して当該ユーザ識別子に連結することにより、当該テナント識別子を前記パラメータに埋め込むことを特徴とする請求項1から4のいずれかのアクセス制御装置。
  6. ユーザが少なくとも1人ずつ属する複数のテナントによって共用されるアプリケーションから、前記複数のテナントそれぞれの個別のデータを格納するマルチテナント対応型の少なくとも2種類のデータベースへのアクセスを制御するアクセス制御方法であって、
    テナントごとに、テナントを一意に識別するテナント識別子と、アクセス対象とするデータベースの種類とを記憶装置により予め記憶するマルチテナント管理データベースを備えるコンピュータが、前記アプリケーションに入力されると前記アプリケーションが前記少なくとも2種類のデータベースへのアクセス時に出力するパラメータの入力を、前記複数のテナントのいずれかに属するユーザから入力装置により受け付け、当該ユーザが属するテナントのテナント識別子を前記マルチテナント管理データベースから読み出して当該パラメータに埋め込み、当該パラメータを前記アプリケーションに入力し、
    前記コンピュータが、入力したパラメータが前記アプリケーションから出力された場合、当該パラメータに埋め込まれているテナント識別子を取り出し、取り出したテナント識別子に対応するテナントのデータベースの種類を前記マルチテナント管理データベースから読み出し、前記少なくとも2種類のデータベースのうち、読み出した種類のデータベースに格納された当該テナントの個別のデータへのアクセスを前記アプリケーションに行わせることを特徴とするアクセス制御方法。
  7. ユーザが少なくとも1人ずつ属する複数のテナントによって共用されるアプリケーションから、前記複数のテナントそれぞれの個別のデータを格納するマルチテナント対応型の少なくとも2種類のデータベースへのアクセスを制御するプログラムであって、
    テナントごとに、テナントを一意に識別するテナント識別子と、アクセス対象とするデータベースの種類とを記憶装置により予め記憶するマルチテナント管理データベースを備えるコンピュータを、
    前記アプリケーションに入力されると前記アプリケーションが前記少なくとも2種類のデータベースへのアクセス時に出力するパラメータの入力を、前記複数のテナントのいずれかに属するユーザから入力装置により受け付け、当該ユーザが属するテナントのテナント識別子を前記マルチテナント管理データベースから読み出して当該パラメータに埋め込み、当該パラメータを前記アプリケーションに入力するユーザインタフェース接続部と、
    前記ユーザインタフェース接続部により入力されたパラメータが前記アプリケーションから出力された場合、当該パラメータに埋め込まれているテナント識別子を取り出し、取り出したテナント識別子に対応するテナントのデータベースの種類を前記マルチテナント管理データベースから読み出し、前記少なくとも2種類のデータベースのうち、読み出した種類のデータベースに格納された当該テナントの個別のデータへのアクセスを前記アプリケーションに行わせるデータベース接続部
    として機能させるためのプログラム。
JP2012043936A 2012-02-29 2012-02-29 アクセス制御装置及びアクセス制御方法及びプログラム Active JP5773910B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012043936A JP5773910B2 (ja) 2012-02-29 2012-02-29 アクセス制御装置及びアクセス制御方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012043936A JP5773910B2 (ja) 2012-02-29 2012-02-29 アクセス制御装置及びアクセス制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2013182310A true JP2013182310A (ja) 2013-09-12
JP5773910B2 JP5773910B2 (ja) 2015-09-02

Family

ID=49272939

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012043936A Active JP5773910B2 (ja) 2012-02-29 2012-02-29 アクセス制御装置及びアクセス制御方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5773910B2 (ja)

Cited By (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017090142A1 (ja) * 2015-11-26 2017-06-01 株式会社野村総合研究所 サービス提供システム
CN106960348A (zh) * 2017-03-24 2017-07-18 泰华智慧产业集团股份有限公司 支付对接方法及支付对接系统
JP2018156658A (ja) * 2016-05-11 2018-10-04 オラクル・インターナショナル・コーポレイション マルチテナントアイデンティティおよびデータセキュリティ管理クラウドサービス
US10200358B2 (en) 2016-05-11 2019-02-05 Oracle International Corporation Microservices based multi-tenant identity and data security management cloud service
US10218705B2 (en) 2016-05-11 2019-02-26 Oracle International Corporation Multi-tenant identity and data security management cloud service
US10255061B2 (en) 2016-08-05 2019-04-09 Oracle International Corporation Zero down time upgrade for a multi-tenant identity and data security management cloud service
US10261836B2 (en) 2017-03-21 2019-04-16 Oracle International Corporation Dynamic dispatching of workloads spanning heterogeneous services
US10263947B2 (en) 2016-08-05 2019-04-16 Oracle International Corporation LDAP to SCIM proxy service
JP2019087176A (ja) * 2017-11-10 2019-06-06 株式会社明電舎 監視システム、監視方法、監視システム用プログラム
US10341410B2 (en) 2016-05-11 2019-07-02 Oracle International Corporation Security tokens for a multi-tenant identity and data security management cloud service
US10341354B2 (en) 2016-09-16 2019-07-02 Oracle International Corporation Distributed high availability agent architecture
US10348858B2 (en) 2017-09-15 2019-07-09 Oracle International Corporation Dynamic message queues for a microservice based cloud service
US10425386B2 (en) 2016-05-11 2019-09-24 Oracle International Corporation Policy enforcement point for a multi-tenant identity and data security management cloud service
US10445395B2 (en) 2016-09-16 2019-10-15 Oracle International Corporation Cookie based state propagation for a multi-tenant identity cloud service
US10454940B2 (en) 2016-05-11 2019-10-22 Oracle International Corporation Identity cloud service authorization model
US10454915B2 (en) 2017-05-18 2019-10-22 Oracle International Corporation User authentication using kerberos with identity cloud service
US10484243B2 (en) 2016-09-16 2019-11-19 Oracle International Corporation Application management for a multi-tenant identity cloud service
US10484382B2 (en) 2016-08-31 2019-11-19 Oracle International Corporation Data management for a multi-tenant identity cloud service
US10505941B2 (en) 2016-08-05 2019-12-10 Oracle International Corporation Virtual directory system for LDAP to SCIM proxy service
US10511589B2 (en) 2016-09-14 2019-12-17 Oracle International Corporation Single logout functionality for a multi-tenant identity and data security management cloud service
US10530578B2 (en) 2016-08-05 2020-01-07 Oracle International Corporation Key store service
US10567364B2 (en) 2016-09-16 2020-02-18 Oracle International Corporation Preserving LDAP hierarchy in a SCIM directory using special marker groups
US10581820B2 (en) 2016-05-11 2020-03-03 Oracle International Corporation Key generation and rollover
US10585682B2 (en) 2016-08-05 2020-03-10 Oracle International Corporation Tenant self-service troubleshooting for a multi-tenant identity and data security management cloud service
US10594684B2 (en) 2016-09-14 2020-03-17 Oracle International Corporation Generating derived credentials for a multi-tenant identity cloud service
US10616224B2 (en) 2016-09-16 2020-04-07 Oracle International Corporation Tenant and service management for a multi-tenant identity and data security management cloud service
US10693861B2 (en) 2016-05-11 2020-06-23 Oracle International Corporation Task segregation in a multi-tenant identity and data security management cloud service
US10705823B2 (en) 2017-09-29 2020-07-07 Oracle International Corporation Application templates and upgrade framework for a multi-tenant identity cloud service
US10715564B2 (en) 2018-01-29 2020-07-14 Oracle International Corporation Dynamic client registration for an identity cloud service
US10735394B2 (en) 2016-08-05 2020-08-04 Oracle International Corporation Caching framework for a multi-tenant identity and data security management cloud service
US10764273B2 (en) 2018-06-28 2020-09-01 Oracle International Corporation Session synchronization across multiple devices in an identity cloud service
US10791087B2 (en) 2016-09-16 2020-09-29 Oracle International Corporation SCIM to LDAP mapping using subtype attributes
US10798165B2 (en) 2018-04-02 2020-10-06 Oracle International Corporation Tenant data comparison for a multi-tenant identity cloud service
US10834137B2 (en) 2017-09-28 2020-11-10 Oracle International Corporation Rest-based declarative policy management
US10831789B2 (en) 2017-09-27 2020-11-10 Oracle International Corporation Reference attribute query processing for a multi-tenant cloud service
US10846390B2 (en) 2016-09-14 2020-11-24 Oracle International Corporation Single sign-on functionality for a multi-tenant identity and data security management cloud service
US10878079B2 (en) 2016-05-11 2020-12-29 Oracle International Corporation Identity cloud service authorization model with dynamic roles and scopes
US10904074B2 (en) 2016-09-17 2021-01-26 Oracle International Corporation Composite event handler for a multi-tenant identity cloud service
US10931656B2 (en) 2018-03-27 2021-02-23 Oracle International Corporation Cross-region trust for a multi-tenant identity cloud service
US11012444B2 (en) 2018-06-25 2021-05-18 Oracle International Corporation Declarative third party identity provider integration for a multi-tenant identity cloud service
US11061929B2 (en) 2019-02-08 2021-07-13 Oracle International Corporation Replication of resource type and schema metadata for a multi-tenant identity cloud service
JP2021518021A (ja) * 2018-05-14 2021-07-29 ネッツユニオン クリアリング コーポレーション データ処理方法、装置及びコンピュータ読み取り可能な記憶媒体
US11165634B2 (en) 2018-04-02 2021-11-02 Oracle International Corporation Data replication conflict detection and resolution for a multi-tenant identity cloud service
US11258775B2 (en) 2018-04-04 2022-02-22 Oracle International Corporation Local write for a multi-tenant identity cloud service
US11271969B2 (en) 2017-09-28 2022-03-08 Oracle International Corporation Rest-based declarative policy management
US11321187B2 (en) 2018-10-19 2022-05-03 Oracle International Corporation Assured lazy rollback for a multi-tenant identity cloud service
US11321343B2 (en) 2019-02-19 2022-05-03 Oracle International Corporation Tenant replication bootstrap for a multi-tenant identity cloud service
US11356454B2 (en) 2016-08-05 2022-06-07 Oracle International Corporation Service discovery for a multi-tenant identity and data security management cloud service
WO2022157912A1 (ja) * 2021-01-22 2022-07-28 楽天モバイル株式会社 コンピュータシステムおよびユーザ管理方法
US11423111B2 (en) 2019-02-25 2022-08-23 Oracle International Corporation Client API for rest based endpoints for a multi-tenant identify cloud service
CN115118765A (zh) * 2022-06-20 2022-09-27 北京京东乾石科技有限公司 服务处理的方法、装置、电子设备和存储介质
US11611548B2 (en) 2019-11-22 2023-03-21 Oracle International Corporation Bulk multifactor authentication enrollment
US11651357B2 (en) 2019-02-01 2023-05-16 Oracle International Corporation Multifactor authentication without a user footprint
US11669321B2 (en) 2019-02-20 2023-06-06 Oracle International Corporation Automated database upgrade for a multi-tenant identity cloud service
US11687378B2 (en) 2019-09-13 2023-06-27 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration and bridge high availability
US11693835B2 (en) 2018-10-17 2023-07-04 Oracle International Corporation Dynamic database schema allocation on tenant onboarding for a multi-tenant identity cloud service
US11792226B2 (en) 2019-02-25 2023-10-17 Oracle International Corporation Automatic api document generation from scim metadata
US11870770B2 (en) 2019-09-13 2024-01-09 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007531941A (ja) * 2004-04-02 2007-11-08 セールスフォース ドット コム インコーポレイティッド マルチテナント・データベース・システムにおけるカスタム・エンティティおよびフィールド
JP2009145972A (ja) * 2007-12-11 2009-07-02 Hitachi Information Systems Ltd データべースシステム及びデータべースシステムの制御方法
JP2009217315A (ja) * 2008-03-07 2009-09-24 Nec Corp 情報処理装置、情報処理装置の制御方法および情報処理装置の制御用プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007531941A (ja) * 2004-04-02 2007-11-08 セールスフォース ドット コム インコーポレイティッド マルチテナント・データベース・システムにおけるカスタム・エンティティおよびフィールド
JP2009145972A (ja) * 2007-12-11 2009-07-02 Hitachi Information Systems Ltd データべースシステム及びデータべースシステムの制御方法
JP2009217315A (ja) * 2008-03-07 2009-09-24 Nec Corp 情報処理装置、情報処理装置の制御方法および情報処理装置の制御用プログラム

Cited By (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017090142A1 (ja) * 2015-11-26 2017-06-01 株式会社野村総合研究所 サービス提供システム
US10581820B2 (en) 2016-05-11 2020-03-03 Oracle International Corporation Key generation and rollover
JP2018156658A (ja) * 2016-05-11 2018-10-04 オラクル・インターナショナル・コーポレイション マルチテナントアイデンティティおよびデータセキュリティ管理クラウドサービス
JP2018534653A (ja) * 2016-05-11 2018-11-22 オラクル・インターナショナル・コーポレイション マルチテナントアイデンティティおよびデータセキュリティ管理クラウドサービス
US10200358B2 (en) 2016-05-11 2019-02-05 Oracle International Corporation Microservices based multi-tenant identity and data security management cloud service
US10218705B2 (en) 2016-05-11 2019-02-26 Oracle International Corporation Multi-tenant identity and data security management cloud service
US10425386B2 (en) 2016-05-11 2019-09-24 Oracle International Corporation Policy enforcement point for a multi-tenant identity and data security management cloud service
US10878079B2 (en) 2016-05-11 2020-12-29 Oracle International Corporation Identity cloud service authorization model with dynamic roles and scopes
US10693861B2 (en) 2016-05-11 2020-06-23 Oracle International Corporation Task segregation in a multi-tenant identity and data security management cloud service
US10454940B2 (en) 2016-05-11 2019-10-22 Oracle International Corporation Identity cloud service authorization model
US10341410B2 (en) 2016-05-11 2019-07-02 Oracle International Corporation Security tokens for a multi-tenant identity and data security management cloud service
US10848543B2 (en) 2016-05-11 2020-11-24 Oracle International Corporation Security tokens for a multi-tenant identity and data security management cloud service
US11088993B2 (en) 2016-05-11 2021-08-10 Oracle International Corporation Policy enforcement point for a multi-tenant identity and data security management cloud service
US10255061B2 (en) 2016-08-05 2019-04-09 Oracle International Corporation Zero down time upgrade for a multi-tenant identity and data security management cloud service
US11601411B2 (en) 2016-08-05 2023-03-07 Oracle International Corporation Caching framework for a multi-tenant identity and data security management cloud service
US10735394B2 (en) 2016-08-05 2020-08-04 Oracle International Corporation Caching framework for a multi-tenant identity and data security management cloud service
US10721237B2 (en) 2016-08-05 2020-07-21 Oracle International Corporation Hierarchical processing for a virtual directory system for LDAP to SCIM proxy service
US10505941B2 (en) 2016-08-05 2019-12-10 Oracle International Corporation Virtual directory system for LDAP to SCIM proxy service
US11356454B2 (en) 2016-08-05 2022-06-07 Oracle International Corporation Service discovery for a multi-tenant identity and data security management cloud service
US10530578B2 (en) 2016-08-05 2020-01-07 Oracle International Corporation Key store service
US10263947B2 (en) 2016-08-05 2019-04-16 Oracle International Corporation LDAP to SCIM proxy service
US10579367B2 (en) 2016-08-05 2020-03-03 Oracle International Corporation Zero down time upgrade for a multi-tenant identity and data security management cloud service
US10585682B2 (en) 2016-08-05 2020-03-10 Oracle International Corporation Tenant self-service troubleshooting for a multi-tenant identity and data security management cloud service
US11258797B2 (en) 2016-08-31 2022-02-22 Oracle International Corporation Data management for a multi-tenant identity cloud service
US10484382B2 (en) 2016-08-31 2019-11-19 Oracle International Corporation Data management for a multi-tenant identity cloud service
US10511589B2 (en) 2016-09-14 2019-12-17 Oracle International Corporation Single logout functionality for a multi-tenant identity and data security management cloud service
US11258786B2 (en) 2016-09-14 2022-02-22 Oracle International Corporation Generating derived credentials for a multi-tenant identity cloud service
US10846390B2 (en) 2016-09-14 2020-11-24 Oracle International Corporation Single sign-on functionality for a multi-tenant identity and data security management cloud service
US10594684B2 (en) 2016-09-14 2020-03-17 Oracle International Corporation Generating derived credentials for a multi-tenant identity cloud service
US10341354B2 (en) 2016-09-16 2019-07-02 Oracle International Corporation Distributed high availability agent architecture
US10616224B2 (en) 2016-09-16 2020-04-07 Oracle International Corporation Tenant and service management for a multi-tenant identity and data security management cloud service
US10484243B2 (en) 2016-09-16 2019-11-19 Oracle International Corporation Application management for a multi-tenant identity cloud service
US10567364B2 (en) 2016-09-16 2020-02-18 Oracle International Corporation Preserving LDAP hierarchy in a SCIM directory using special marker groups
US11023555B2 (en) 2016-09-16 2021-06-01 Oracle International Corporation Cookie based state propagation for a multi-tenant identity cloud service
US10791087B2 (en) 2016-09-16 2020-09-29 Oracle International Corporation SCIM to LDAP mapping using subtype attributes
US10445395B2 (en) 2016-09-16 2019-10-15 Oracle International Corporation Cookie based state propagation for a multi-tenant identity cloud service
US10904074B2 (en) 2016-09-17 2021-01-26 Oracle International Corporation Composite event handler for a multi-tenant identity cloud service
US10261836B2 (en) 2017-03-21 2019-04-16 Oracle International Corporation Dynamic dispatching of workloads spanning heterogeneous services
CN106960348A (zh) * 2017-03-24 2017-07-18 泰华智慧产业集团股份有限公司 支付对接方法及支付对接系统
US10454915B2 (en) 2017-05-18 2019-10-22 Oracle International Corporation User authentication using kerberos with identity cloud service
US10348858B2 (en) 2017-09-15 2019-07-09 Oracle International Corporation Dynamic message queues for a microservice based cloud service
US10831789B2 (en) 2017-09-27 2020-11-10 Oracle International Corporation Reference attribute query processing for a multi-tenant cloud service
US11308132B2 (en) 2017-09-27 2022-04-19 Oracle International Corporation Reference attributes for related stored objects in a multi-tenant cloud service
US10834137B2 (en) 2017-09-28 2020-11-10 Oracle International Corporation Rest-based declarative policy management
US11271969B2 (en) 2017-09-28 2022-03-08 Oracle International Corporation Rest-based declarative policy management
US10705823B2 (en) 2017-09-29 2020-07-07 Oracle International Corporation Application templates and upgrade framework for a multi-tenant identity cloud service
JP2019087176A (ja) * 2017-11-10 2019-06-06 株式会社明電舎 監視システム、監視方法、監視システム用プログラム
US11463488B2 (en) 2018-01-29 2022-10-04 Oracle International Corporation Dynamic client registration for an identity cloud service
US10715564B2 (en) 2018-01-29 2020-07-14 Oracle International Corporation Dynamic client registration for an identity cloud service
US10931656B2 (en) 2018-03-27 2021-02-23 Oracle International Corporation Cross-region trust for a multi-tenant identity cloud service
US11528262B2 (en) 2018-03-27 2022-12-13 Oracle International Corporation Cross-region trust for a multi-tenant identity cloud service
US10798165B2 (en) 2018-04-02 2020-10-06 Oracle International Corporation Tenant data comparison for a multi-tenant identity cloud service
US11165634B2 (en) 2018-04-02 2021-11-02 Oracle International Corporation Data replication conflict detection and resolution for a multi-tenant identity cloud service
US11652685B2 (en) 2018-04-02 2023-05-16 Oracle International Corporation Data replication conflict detection and resolution for a multi-tenant identity cloud service
US11258775B2 (en) 2018-04-04 2022-02-22 Oracle International Corporation Local write for a multi-tenant identity cloud service
JP2021518021A (ja) * 2018-05-14 2021-07-29 ネッツユニオン クリアリング コーポレーション データ処理方法、装置及びコンピュータ読み取り可能な記憶媒体
JP7133647B2 (ja) 2018-05-14 2022-09-08 ネッツユニオン クリアリング コーポレーション データ処理方法、装置及びコンピュータ読み取り可能な記憶媒体
US11012444B2 (en) 2018-06-25 2021-05-18 Oracle International Corporation Declarative third party identity provider integration for a multi-tenant identity cloud service
US11411944B2 (en) 2018-06-28 2022-08-09 Oracle International Corporation Session synchronization across multiple devices in an identity cloud service
US10764273B2 (en) 2018-06-28 2020-09-01 Oracle International Corporation Session synchronization across multiple devices in an identity cloud service
US11693835B2 (en) 2018-10-17 2023-07-04 Oracle International Corporation Dynamic database schema allocation on tenant onboarding for a multi-tenant identity cloud service
US11321187B2 (en) 2018-10-19 2022-05-03 Oracle International Corporation Assured lazy rollback for a multi-tenant identity cloud service
US11651357B2 (en) 2019-02-01 2023-05-16 Oracle International Corporation Multifactor authentication without a user footprint
US11061929B2 (en) 2019-02-08 2021-07-13 Oracle International Corporation Replication of resource type and schema metadata for a multi-tenant identity cloud service
US11321343B2 (en) 2019-02-19 2022-05-03 Oracle International Corporation Tenant replication bootstrap for a multi-tenant identity cloud service
US11669321B2 (en) 2019-02-20 2023-06-06 Oracle International Corporation Automated database upgrade for a multi-tenant identity cloud service
US11423111B2 (en) 2019-02-25 2022-08-23 Oracle International Corporation Client API for rest based endpoints for a multi-tenant identify cloud service
US11792226B2 (en) 2019-02-25 2023-10-17 Oracle International Corporation Automatic api document generation from scim metadata
US11687378B2 (en) 2019-09-13 2023-06-27 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration and bridge high availability
US11870770B2 (en) 2019-09-13 2024-01-09 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration
US11611548B2 (en) 2019-11-22 2023-03-21 Oracle International Corporation Bulk multifactor authentication enrollment
WO2022157912A1 (ja) * 2021-01-22 2022-07-28 楽天モバイル株式会社 コンピュータシステムおよびユーザ管理方法
CN115118765A (zh) * 2022-06-20 2022-09-27 北京京东乾石科技有限公司 服务处理的方法、装置、电子设备和存储介质
CN115118765B (zh) * 2022-06-20 2024-04-05 北京京东乾石科技有限公司 服务处理的方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
JP5773910B2 (ja) 2015-09-02

Similar Documents

Publication Publication Date Title
JP5773910B2 (ja) アクセス制御装置及びアクセス制御方法及びプログラム
AU2016225864B2 (en) Local server for synced online content management system
US9294485B2 (en) Controlling access to shared content in an online content management system
RU2598324C2 (ru) Средства управления доступом к онлайновой службе с использованием внемасштабных признаков каталога
WO2021197432A1 (zh) 一种数据库集群的路由方法和装置
US20140195514A1 (en) Unified interface for querying data in legacy databases and current databases
US8275962B2 (en) User roles controlling execution of operations on copy pair volumes
CN110678845A (zh) 用于大数据分析的分布式文件系统中的多租户数据服务
KR20120062514A (ko) SaaS 환경에서의 권한 관리 장치 및 방법
JP4912996B2 (ja) 情報処理装置及び計算機システム
JP5911448B2 (ja) 移行支援装置、移行支援方法およびプログラム
US10880159B1 (en) Centralized access of configuration data for computing resources
TW201512990A (zh) 虛擬機器的拓樸架構管理方法及其系統
KR101714412B1 (ko) 클라우드 환경에서 데이터베이스 시스템을 구성하는 방법 및 장치
JP6889372B2 (ja) ログ管理装置、情報処理システムおよびプログラム
US11048543B2 (en) Computer system and resource access control method for securely controlling access using roles with a plurality of users
CN109729071A (zh) 一种适用于多云管理的vmware多租户管理方法
JP6012504B2 (ja) ワークフロー管理システム及びワークフロー管理方法及びプログラム
JP2020119147A (ja) システム、テナントの移動方法、情報処理装置およびその制御方法、認可サーバーおよびその制御方法、並びにプログラム
JP2004303023A (ja) アクセス管理方法
JP2018022336A (ja) 情報処理システム、情報処理装置及びプログラム
US20210089500A1 (en) File sharing aliasing service
JP6716929B2 (ja) 情報処理装置及び情報処理プログラム
US11709845B2 (en) Federation of data during query time in computing systems
JP2015132972A (ja) データ再配置システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141003

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150520

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: 20150602

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150630

R150 Certificate of patent or registration of utility model

Ref document number: 5773910

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250