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

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

▶ 富士通株式会社の特許一覧

特許7468284情報処理装置、配信制御プログラム、及び、情報処理システム
<>
  • 特許-情報処理装置、配信制御プログラム、及び、情報処理システム 図1
  • 特許-情報処理装置、配信制御プログラム、及び、情報処理システム 図2
  • 特許-情報処理装置、配信制御プログラム、及び、情報処理システム 図3
  • 特許-情報処理装置、配信制御プログラム、及び、情報処理システム 図4
  • 特許-情報処理装置、配信制御プログラム、及び、情報処理システム 図5
  • 特許-情報処理装置、配信制御プログラム、及び、情報処理システム 図6
  • 特許-情報処理装置、配信制御プログラム、及び、情報処理システム 図7
  • 特許-情報処理装置、配信制御プログラム、及び、情報処理システム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-08
(45)【発行日】2024-04-16
(54)【発明の名称】情報処理装置、配信制御プログラム、及び、情報処理システム
(51)【国際特許分類】
   G06F 21/33 20130101AFI20240409BHJP
   G06F 21/62 20130101ALI20240409BHJP
【FI】
G06F21/33 350
G06F21/62
【請求項の数】 8
(21)【出願番号】P 2020168260
(22)【出願日】2020-10-05
(65)【公開番号】P2022060666
(43)【公開日】2022-04-15
【審査請求日】2023-07-07
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100092978
【弁理士】
【氏名又は名称】真田 有
(74)【代理人】
【識別番号】100189201
【弁理士】
【氏名又は名称】横田 功
(72)【発明者】
【氏名】大石 亮介
(72)【発明者】
【氏名】金丸 将平
【審査官】小林 秀和
(56)【参考文献】
【文献】特開2013-033449(JP,A)
【文献】特開2007-128330(JP,A)
【文献】特開2006-155585(JP,A)
【文献】特開2016-091117(JP,A)
【文献】特開2018-037025(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/33
G06F 21/62
(57)【特許請求の範囲】
【請求項1】
ユーザの認証を行なう認証システムによる認証結果に基づき前記ユーザに発行されたアクセストークンを含むデータ取得要求の受信に応じて、前記アクセストークンに対応付けられた1以上の契約情報であって契約の有効期限及び契約の対象部門の情報を含む前記1以上の契約情報と、前記データ取得要求の対象となるデータとに基づき、前記ユーザの所属確認を行なうか否かを判定し、
前記ユーザの所属確認を行なうと判定した場合、前記1以上の契約情報に対応付けられた1以上の認証システムのそれぞれに前記ユーザの所属確認を要求して得られた所属情報に基づき、前記データ取得要求の対象となる前記データを前記ユーザに配信する、制御部を備える
情報処理装置。
【請求項2】
前記制御部は、前記判定する処理において、前記1以上の契約情報について、前記有効期限が到来しておらず、且つ、前記対象部門が限定されている場合、前記ユーザの所属確認を行なうと判定する、
請求項1に記載の情報処理装置。
【請求項3】
前記制御部は、
前記判定する処理において、前記1以上の契約情報について、前記有効期限が到来しておらず、且つ、前記対象部門が限定されていない場合、前記ユーザの所属確認を行なわないと判定し、
前記配信する処理において、前記1以上の認証システムへの前記所属確認の要求を抑止して前記データを前記ユーザに配信する、
請求項2に記載の情報処理装置。
【請求項4】
前記制御部は、前記配信する処理において、前記所属情報と、少なくとも1つの前記契約情報に含まれる前記対象部門とが一致する場合、前記データを前記ユーザに配信する、
請求項1~請求項3のいずれか1項に記載の情報処理装置。
【請求項5】
前記制御部は、前記判定する処理において、前記アクセストークンに対応付けられた前記契約情報に含まれる前記有効期限が到来している場合、又は、前記アクセストークンに対応付けられた契約情報が存在しない場合、前記データの配信を抑制する、
請求項1~請求項4のいずれか1項に記載の情報処理装置。
【請求項6】
前記契約情報は、アクセスが許可される記憶領域に関する情報を含み、
前記制御部は、前記判定する処理において、前記1以上の契約情報について、前記記憶領域が前記データの格納先と一致しない場合、前記ユーザの所属確認を行なわないと判定し、前記データの配信を抑制する、
請求項1~請求項5のいずれか1項に記載の情報処理装置。
【請求項7】
ユーザの認証を行なう認証システムによる認証結果に基づき前記ユーザに発行されたアクセストークンを含むデータ取得要求の受信に応じて、前記アクセストークンに対応付けられた1以上の契約情報であって契約の有効期限及び契約の対象部門の情報を含む前記1以上の契約情報と、前記データ取得要求の対象となるデータとに基づき、前記ユーザの所属確認を行なうか否かを判定し、
前記ユーザの所属確認を行なうと判定した場合、前記1以上の契約情報に対応付けられた1以上の認証システムのそれぞれに前記ユーザの所属確認を要求して得られた所属情報に基づき、前記データ取得要求の対象となる前記データを前記ユーザに配信する、処理をコンピュータに実行させる、配信制御プログラム。
【請求項8】
複数の認証システムと、情報処理装置と、を備え、
前記情報処理装置は、
ユーザの認証を行なう認証システムによる認証結果に基づき前記ユーザに発行されたアクセストークンを含むデータ取得要求の受信に応じて、前記アクセストークンに対応付けられた1以上の契約情報であって契約の有効期限及び契約の対象部門の情報を含む前記1以上の契約情報と、前記データ取得要求の対象となるデータとに基づき、前記ユーザの所属確認を行なうか否かを判定し、
前記ユーザの所属確認を行なうと判定した場合、前記1以上の契約情報に対応付けられた1以上の認証システムのそれぞれに前記ユーザの所属確認を要求して得られた所属情報に基づき、前記データ取得要求の対象となる前記データを前記ユーザに配信する、制御部を備える
情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、配信制御プログラム、及び、情報処理システムに関する。
【背景技術】
【0002】
仮想化技術を利用したサービスとして、コンテナ配信サービスが知られている。コンテナは、仮想的なOS空間を提供する技術である。コンテナ配信サービスのサービス提供者は、契約者ごとにコンテナを取得(例えばダウンロード)するための環境を提供する。
【0003】
ユーザによるコンテナの取得及び取得したコンテナの実行は、CUI(Character User Interface)で実行されることがある。例えば、CI(Continuous Integration)/CD(Continuous Delivery)及びバッチ処理等では、当該取得及び実行が人手を介さずに自動で繰り返し実施される場合がある。
【0004】
繰り返しの実施が継続される繰り返し期間は、数日程度の場合もあるが、1年間等の長期間に亘る場合もある。当該繰り返し期間にコンテナがバージョンアップされた場合、サービス提供者は、最新版のコンテナを配信し、ユーザは、CI/CD及びバッチ処理等により、配信された最新版のコンテナを自動で取得及び実行する。
【0005】
コンテナ配信サービスでは、アクセス制御を行なうサーバは、ユーザがサービスにログインする際に、ユーザ及び契約者の属性の情報に基づきユーザのアクセス権限を確認(認証)する。契約者は、ユーザが所属する会社、部署等であってよい。ユーザがアクセス権限を有している場合、サーバは、ユーザの認証に成功したことを証明する証明情報、例えばトークンをユーザに配布する。ユーザは、配布されたトークンを利用することで、認証をスキップして、コンテナ配信サービスへのアクセス、例えばコンテナの取得を行なうことができる。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2013-008229号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
繰り返し期間にコンテナがバージョンアップされた場合、ユーザは、トークンを利用して、配信される最新版のコンテナを取得し、取得したコンテナを実行する。このとき、ユーザが最後にログインをしてから(認証を行なってから)、最新版のコンテナを取得するまでの間に、ユーザ及び契約者の一方又は双方に関する属性に変更が生じる場合がある。繰り返し期間が1年間等の長期間に亘る場合、属性に変更が生じる可能性が高くなる。
【0008】
例えば、属性の変更により、最新版のコンテナを取得する際のユーザは、認証が行なわれたとすれば認証失敗となる、換言すればコンテナの配信対象外となる場合がある。しかし、トークンによりユーザの認証が省略されるため、属性の変更により配信対象外となるユーザであっても、コンテナを取得できてしまう場合がある。
【0009】
上述した不都合は、サービスの利用者の属性に基づく制約に応じて利用者にデータを配信する種々のシステムであって、利用者の認証とデータの配信とが互いに異なるタイミングとなる種々のシステムにおいても同様に生じ得る。
【0010】
1つの側面では、本発明は、適切な利用者にデータを配信することを目的の1つとする。
【課題を解決するための手段】
【0011】
1つの側面では、情報処理装置は、制御部を備えてよい。前記制御部は、ユーザの認証を行なう認証システムによる認証結果に基づき前記ユーザに発行されたアクセストークンを含むデータ取得要求の受信に応じて、前記アクセストークンに対応付けられた1以上の契約情報であって契約の有効期限及び契約の対象部門の情報を含む前記1以上の契約情報と、前記データ取得要求の対象となるデータとに基づき、前記ユーザの所属確認を行なうか否かを判定してよい。また、前記制御部は、前記ユーザの所属確認を行なうと判定した場合、前記1以上の契約情報に対応付けられた1以上の認証システムのそれぞれに前記ユーザの所属確認を要求して得られた所属情報に基づき、前記データ取得要求の対象となる前記データを前記ユーザに配信してよい。
【発明の効果】
【0012】
1つの側面では、本発明は、適切な利用者にデータを配信できる。
【図面の簡単な説明】
【0013】
図1】一実施形態に係るシステムの構成例を示すブロック図である。
図2】権限管理サーバによるログイン処理の動作例を説明するためのフローチャートである。
図3】権限管理サーバによるログイン処理の動作例を説明するためのシーケンス図である。
図4】契約データデータベース(DB)の一例を示す図である。
図5】アクセス制御DBの一例を示す図である。
図6】権限管理サーバによるダウンロード(DL)処理の動作例を説明するためのフローチャートである。
図7】権限管理サーバによるDL処理の動作例を説明するためのシーケンス図である。
図8】コンテナ配信システムの機能を実現するコンピュータのハードウェア(HW)構成例を示すブロック図である。
【発明を実施するための形態】
【0014】
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形又は技術の適用を排除する意図はない。例えば、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。なお、以下の説明で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。
【0015】
〔1〕一実施形態
〔1-1〕一実施形態に係るシステムの説明
図1は、一実施形態に係るシステム1の構成例を示すブロック図である。図1に示すように、システム1は、情報処理システムの一例であり、例示的に、コンテナ配信システム2、複数(図1の例では3つ)のユーザ端末5a~5c、並びに、複数(図1の例では3つ)の認証システム6a~6cを備えてよい。
【0016】
コンテナ配信システム2は、コンテナをユーザ(利用者)に配信する情報処理装置の一例である。
【0017】
図1に示すように、コンテナ配信システム2は、例示的に、権限管理サーバ3、契約データDB(Database)34、アクセス制御DB35、並びに、複数(図1の例では3つ)のリポジトリ4a~4cを備えてよい。
【0018】
以下、リポジトリ4a~4c、ユーザ端末5a~5c及び認証システム6a~6cのそれぞれについて、互いに区別しない場合には、単にリポジトリ4、ユーザ端末5及び認証システム6と表記する。
【0019】
リポジトリ4は、データを格納する記憶領域であり、例えばDB等であってよい。例えば、リポジトリ4a~4c(リポジトリX、Y、Zと表記)は、それぞれ、1以上のコンテナイメージ40a~40c(コンテナイメージX1…、Y1…、Z1…と表記)を格納してよい。コンテナ配信システム2は、リポジトリ4に格納されたコンテナイメージ40をユーザに配信してよい。ユーザによるコンテナ配信サービスへのアクセスは、例えば、契約者ごとに設定されたリポジトリ4単位のアクセス制限に応じて制御されてよい。
【0020】
ユーザ端末5は、ユーザが利用するPC(Personal Computer)等のコンピュータであってよい。ユーザ端末5は、図示しないネットワークを介してコンテナ配信システム2とアクセス可能に接続されてよく、例えば、コンテナ配信システム2へのログイン、コンテナ配信システム2からのコンテナイメージ40のダウンロード、コンテナイメージ40の実行等の処理を行なってよい。
【0021】
認証システム6は、ユーザの認証を行なうシステムであり、例えば、A社、B社、C社等の契約者ごとに存在してよい。図1の例では、A社認証システム6aがA社に所属するユーザの認証を行ない、B社認証システム6bがB社に所属するユーザの認証を行ない、C社認証システム6cがC社に所属するユーザの認証を行なう。各認証システム6は、契約者が有するシステムであってもよい。認証システム6は、図示しないネットワークを介してコンテナ配信システム2とアクセス可能に接続されてよい。
【0022】
コンテナ配信システム2とユーザ端末5との間、及び、コンテナ配信システム2と認証システム6との間を接続するネットワークは、それぞれ、種々のネットワークであってよい。当該ネットワークは、例えば、インターネット、及び、セルラ網等のモバイルネットワークの一方又は双方であってもよい。また、当該ネットワークは、LAN(Local Area Network)等のイントラネットを含んでもよい。
【0023】
権限管理サーバ3は、制御部の一例であり、ユーザ及び契約者の属性の情報に応じて、コンテナ配信サービスから各ユーザにデータを配信するための管理及び制御を行なう。例えば、権限管理サーバ3は、ユーザ端末5を介したユーザによるコンテナ配信サービスへのログインの際に、ユーザ及び契約者の属性の情報に基づき、認証システム6を利用してユーザのアクセス権限を確認(認証)する。ユーザがアクセス権限を有している場合、サーバは、ユーザの認証に成功したことを証明する証明情報、例えばトークンをユーザに配布する。
【0024】
例えば、権限管理サーバ3は、各ドメインと契約者の契約とを対応付けて管理する契約データDB34、及び、ユーザのアクセス制御に利用されるアクセス制御DB35に従い、アクセス制御を行なってよい。これにより、コンテナ配信システム2の管理者(コンテナの配布者)によるユーザ個別の設定作業を不要とすることができ、ユーザの変更に柔軟に対応することができる。ユーザは、配布されたトークンを利用することで、認証をスキップして、コンテナ配信サービスへのアクセスを要求する。権限管理サーバ3は、トークンに基づく認証処理後、ユーザにアクセスを許可する。
【0025】
ところで、セキュリティ上の観点から、ユーザによるコンテナ配信サービスへのログインは、CI/CD又はバッチ処理の繰り返し実行の前に手動で行なわれ、自動実行スクリプトにはログインに用いられるパスワードが設定されないことがある。例えば、ユーザがログインに成功し、コンテナのダウンロード用のトークンを付与された場合、自動実行スクリプトは、スクリプト実行時にトークンを参照することで、ユーザによる再ログイン作業、スクリプトへのパスワードの付与を省略できる。従って、ユーザは、長期間に亘って、最新のコンテナを安全に繰り返し取得することができる。
【0026】
しかし、上述したように、繰り返し期間が長期間になると、ログインのタイミングとダウンロードのタイミングとの間に時間差(例えば数日~1年等)が生じる場合がある。このような時間差の期間にユーザの他部署への異動、組織改変等が発生し、ユーザの所属会社、所属部署等の属性が変更されることがある。このような場合、例えば、契約において、コンテナの配布が特定の部署のユーザに限定されていると、ユーザがデータの配布対象外になることがある。
【0027】
そこで、一実施形態に係るコンテナ配信システム2は、ユーザのログインの際に、ユーザの所属会社の認証システム6へのアクセス情報をユーザと対応付けて管理する。そして、コンテナ配信システム2は、ユーザからコンテナのダウンロード要求を受信すると、アクセス情報に基づき認証システム6にアクセスし、認証システム6からユーザの所属部署等の属性に関する情報を取得し、データの配信の可否を判断する。
【0028】
これにより、コンテナ配信システム2は、例えば、所属会社、所属部署等の属性が変更され配布対象外となったユーザへのコンテナ配信サービスへのログイン及びコンテナのダウンロードを不許可とすることが可能となる。
【0029】
〔1-2〕コンテナ配信システムの機能構成例
次に、図1を参照して、一実施形態に係るコンテナ配信システム2の機能構成例を説明する。コンテナ配信システム2の権限管理サーバ3は、契約データDB34及びアクセス制御DB35に基づき、ユーザによるコンテナ配信システム2へのアクセスの制御を行なう。当該制御には、例えば、ユーザからのログイン要求の受信に応じたログイン処理、及び、コンテナのダウンロード要求に応じたダウンロード(DL;Download)処理が含まれてよい。ログイン処理及びDL処理の詳細は後述する。
【0030】
図1に例示するように、アクセス制御部31、契約情報照会部32及び契約管理部33を備えてよい。
【0031】
アクセス制御部31は、ユーザ端末5からのログイン要求及びDL要求の受信、契約データDB34の取得要求、アクセス制御DB35の作成及び更新、並びに、ログイン及びDLに関するアクセスの制御等の種々の制御を行なう。
【0032】
契約情報照会部32は、アクセス制御部31からの要求に応じて、契約管理部33に対して、契約データDB34の照会を依頼する。
【0033】
契約管理部33は、契約データDB34の管理を行なう。例えば、契約管理部33は、契約情報照会部32からの依頼に応じて、特定のユーザ又は契約者に対応する契約情報を契約データDB34から取得し、契約情報照会部32に応答してよい。契約管理部33は、例えば、アクセス制御部31及び契約情報照会部32とは異なるアプリケーションプログラム又はモジュールとして実装されるシステム(契約管理システム)であってもよい。
【0034】
契約データDB34及びアクセス制御DB35は、それぞれDBであってよく、例えば、それぞれDBサーバとして実装されてもよい。契約データDB34及びアクセス制御DB35の一方又は双方は、権限管理サーバ3に含まれてもよい。契約データDB34及びアクセス制御DB35の詳細は後述する。
【0035】
〔1-3〕コンテナ配信システムの動作例
以下、コンテナ配信システム2、例えば権限管理サーバ3における、ログイン処理及びコンテナのDL処理のそれぞれの動作例を、フローチャート及びシーケンス図を参照しながら説明する。
【0036】
(ログイン処理)
図2は、権限管理サーバ3によるログイン処理の動作例を説明するためのフローチャートであり、図3は、権限管理サーバ3によるログイン処理の動作例を説明するためのシーケンス図である。
【0037】
図2に例示するように、権限管理サーバ3のアクセス制御部31は、ユーザ端末5からコンテナ配信システム2へのログイン要求を受信する(ステップS1;図3の処理P1)。ここで、ログイン要求には、ユーザのメールアドレス及びパスワードが含まれてよい。メールアドレス及びパスワードは、例えば、ユーザに対応する認証システム6、又は、コンテナ配信サービスのユーザアカウント情報であってもよい。以下の説明では、メールアドレスが“foo@bar.jp”であり、パスワードが“p3rcli29_4”であるものとする。
【0038】
アクセス制御部31は、ログイン要求に基づき、ユーザの所属(例えば会社、組織、部署等の契約者)を特定し、契約情報照会部32を介して契約管理部33に、特定した所属の情報を含む契約情報照会要求を送信する(ステップS2)。契約情報の照会は、例えば、ユーザの所属ごとに行なわれてもよいし、当該ユーザ(所属)にアクセスが許可されるリポジトリ4又はコンテナイメージ40ごとに行なわれてもよい。
【0039】
例えば、アクセス制御部31は、ログイン要求に含まれるユーザのメールアドレスのドメインである“bar.jp”をユーザの所属として特定し、照会要求に含めてよい(図3の処理P2)。
【0040】
契約情報照会部32は、アクセス制御部31から受信した照会要求を契約管理部33に送信(転送)する(図3の処理P3)。
【0041】
契約管理部33は、受信した照会要求と契約データDB34とに基づき、契約データDB34の照会結果を契約情報照会部32に応答する(図3の処理P4)。
【0042】
図4は、契約データDB34の一例を示す図である。図4に示すように、契約データDB34は、例示的に、「契約ID(Identifier)」、「ドメイン」、「認証システムのURI(Uniform Resource Indicator)」、「契約部門」、「契約期間」、及び、「リポジトリ」の項目を含んでよい。
【0043】
「契約ID」は、コンテナ配信サービスの契約を識別するための識別情報である。1つの契約者に対して、複数の契約が存在してもよい。
【0044】
「ドメイン」は、契約に対応付けて設定されるドメインである。契約に基づきコンテナ配信サービスを利用するユーザは、当該契約に対応するドメインを含むメールアドレスを利用するものとする。
【0045】
「認証システムのURI」は、契約に対応付けて設定される認証システム6のURIである。契約者は、1以上の認証システム6を有してよく、当該契約者の契約ごとに、利用する認証システム6のURIが異なってもよい。
【0046】
「契約部門」は、契約の対象部門の一例であり、契約においてコンテナ配信サービスの利用が許可される所属範囲を示す。例えば、図4において、契約ID“001”の契約では、A社の第一開発部にコンテナ配信サービスの利用が許可されている。また、契約ID“002”の契約では、部署の指定がなく、B社の全ての部署(すなわち全社)にコンテナ配信サービスの利用が許可されている。
【0047】
ここで、図4の契約ID“001”及び“004”のエントリに示すように、複数の契約において、同一のドメイン“a.jp”が設定されてもよく、この場合において、認証システム6のURI及び契約部門(会社)のそれぞれは、互いに異なってもよい。また、図4の契約ID“003”及び“004”のエントリに示すように、複数の契約において、同一の認証システム6のURI“ldap://ldap.c.jp:389/”及び同一の契約部門“C社)業務本部”が設定されてもよく、この場合において、ドメインは互いに異なってもよい。
【0048】
「契約期間」は、契約が有効である期間であり、契約の有効期限の一例である。「契約期間」は、契約の始期及び終期の一方又は双方を含んでよい。
【0049】
「リポジトリ」は、アクセスが許可される記憶領域に関する情報の一例であり、契約においてコンテナ配信サービスで利用が許可されるリポジトリ4を示す。例えば、「リポジトリ」には、コンテナ配信システム2が備えるリポジトリ4(リポジトリX、Y、Z)ごとに、各契約においてアクセス可能か否かが設定されてよい。図4の例では、アクセスが許可されるリポジトリ4には“True”(例えば“1”)が設定され、アクセスが拒否されるリポジトリ4には“False”(例えば“0”)が設定されてよい。
【0050】
図2の説明に戻り、契約管理部33は、契約情報照会部32から受信した照会要求に含まれるユーザの所属ドメインに対応する契約、例えば所属ドメインと一致する「ドメイン」を含む契約のエントリの情報を契約データDB34から所得してよい。そして、契約管理部33は、例えば、契約の有無と、契約がある場合にはユーザの所属ドメインと対応付けられた1以上の契約情報の一覧とを含む照会結果を契約情報照会部32に送信してよい。契約情報には、エントリの情報、一例として、以下のような契約ID、ドメイン、認証システム6のURI、契約部門、及び、契約期間が含まれてよい。
・契約ID:契約00x
・ドメイン:bar.jp, foo.jp,…
・認証システム6のURI:ldap://ldap.bar.jp:389
・契約部門:第一業務本部)第二開発部
・契約期間:2019/4/1-2021/3/31
【0051】
なお、照会結果には、複数の契約情報が含まれる場合がある。また、ユーザが複数の所属を有するケースにおいて、有効な契約の一覧中に2つ以上の認証システム6のURIが含まれ、且つ、これら全ての認証システム6に対応するドメイン(例えばメールアドレス)が同じである場合、契約管理部33は、当該2つ以上の認証システム6のURIを含む契約情報を照会結果に含めてよい。
【0052】
契約情報照会部32は、照会結果に基づき、認証システム6への問い合わせ要否を判定する(図3の処理P5)。
【0053】
例えば、契約情報照会部32は、照会結果に基づき、ユーザに対して1つ以上有効な契約があるか否かを判定する(ステップS3)。
【0054】
有効な契約が1つも存在しない場合(ステップS3でNO)、契約情報照会部32は、アクセス制御部31に契約がない旨を応答する。アクセス制御部31は、ユーザ端末5にログイン拒否を応答し(ステップS4)、ログイン処理が終了する。有効な契約が1つも存在しない場合としては、例えば、照会結果において契約がないことが示されている場合、契約が1つ以上あるがこれら全ての契約の契約期間が満了している(現在日時が契約期間内にない)場合、等が挙げられる。
【0055】
一方、ユーザに対して1つ以上有効な契約がある場合(ステップS3でYES)、契約情報照会部32は、有効な契約に係る認証システム6のURIの情報、例えば“ldap://ldap.bar.jp:389”をアクセス制御部31に送信する(図3の処理P6)。また、契約情報照会部32は、有効な契約に係る契約部門の情報をアクセス制御部31に送信してよい。
【0056】
アクセス制御部31は、未認証の(未だ認証システム6の認証が行なわれていない)有効な契約情報があるか否かを判定する(ステップS5)。
【0057】
未認証の有効な契約情報がある場合(ステップS5でYES)、アクセス制御部31は、1つの有効な契約に対応する認証システム6のURIに対して、ユーザの認証要求を送信する(ステップS6;図3の処理P7)。認証要求には、例えば、ユーザのメールアドレス“foo@bar.jp”及びパスワード“p3rcli29_4”が含まれてよい。
【0058】
このように、権限管理サーバ3は、契約データDB34及びアクセス制御DB35に基づき、契約情報の有効性(有効期限等)を判定することで、認証システム6への不要な認証要求を抑制できる。これにより、認証システム6への認証要求の頻度を低下させることができ、権限管理サーバ3及び認証システム6の処理負荷、並びに、権限管理サーバ3と認証システム6との間のネットワークの通信負荷等を低減させることができる。
【0059】
認証システム6は、受信した認証要求に基づきユーザの認証処理を行ない、認証結果を含む応答をアクセス制御部31に送信する(図3の処理P8)。認証結果には、例えば、認証の可否、及び、現在認証システム6に登録されているユーザの所属“第一業務本部)第二開発部”が含まれてよい。
【0060】
アクセス制御部31は、応答が認証可(OK)を示すか否かを判定する(ステップS7)。認証不可(NG)を示す場合(ステップS7でNO)、処理がステップS5に移行し、アクセス制御部31は、他の未認証の有効な契約情報があるか否かを判定する。
【0061】
このように、アクセス制御部31は、ユーザに対して複数の有効な契約が存在し、複数の認証システム6のURIを取得した場合(契約ごとにURIが異なる場合)、取得した認証システム6のURIのそれぞれに対してユーザの認証要求を送信してよい。認証システム6のURIは、ユーザごと又は所属ごとに異なる可能性があるため、認証システム6ごとに認証要求を送信することで、複数の認証システム6に対応でき、ユーザの複数の所属に対応可能となる。
【0062】
応答が認証可(OK)を示す場合(ステップS7でYES)、アクセス制御部31は、後述するように、認証可の契約情報及び認証情報(ユーザ情報)をアクセス制御DB35に記録し(ステップS8;図3の処理P9)、処理がステップS5に移行する。
【0063】
ステップS5において、未認証の有効な契約情報がない(例えば全ての契約情報について認証要求を送信した)場合(ステップS5でNO)、アクセス制御部31は、認証システム6から認証可の応答があるか否かを判定する(ステップS9;図3の処理P10)。
【0064】
認証可の応答がない場合(ステップS9でNO)、処理がステップS4に移行する。一方、認証可の応答がある場合(ステップS9でYES)、アクセス制御部31は、ユーザのログインを許可するか否かを判定する(ステップS10)。
【0065】
例えば、アクセス制御部31は、1つ以上の認証システム6から認証可の応答があった場合でも、応答に含まれる所属の情報と、契約情報照会部32から取得した照会結果に含まれる1つ以上の契約部門とが一致しない場合、ログインを拒否すると判定してよい。ログインを拒否する場合(ステップS10でNO)、処理がステップS4に移行する。
【0066】
応答に含まれる所属の情報と、契約情報照会部32から取得した照会結果に含まれる契約部門のうちの少なくとも1つとが一致し、アクセス制御部31がログインを許可すると判定した場合(ステップS10でYES)、処理がステップS11に移行する。
【0067】
ステップS11では、アクセス制御部31は、ユーザに対してトークン(例えば“8932eb6a8c9b001e5d”)を発行し(図3の処理P11)、トークンをアクセス制御DB35に格納して、ログイン処理が終了する。
【0068】
図5は、アクセス制御DB35の一例を示す図である。図5に示すように、アクセス制御DB35は、例示的に、「No.」、「メールアドレス」、「トークン」、「契約ID」、「ログイン認証」及び「認証システムが応答したユーザの所属」の項目を含んでよい。
【0069】
「No.」は、「メールアドレス」に応じたエントリを識別するための識別情報である。「メールアドレス」は、ログイン要求に含まれるメールアドレスであり、一実施形態では、ユーザを識別するための識別情報の一例である。
【0070】
「トークン」は、ステップS11で発行されるトークンであり、証明情報の一例である。また、例えば、「トークン」は、認証システム6による認証結果に基づきユーザに発行されたアクセストークンの一例である。
【0071】
「契約ID」は、ステップS10でログインが許可された契約を識別するための識別情報であり、契約データDB34のエントリに対応してよい。
【0072】
「ログイン認証」は、ユーザのログインの際のログイン認証において、ユーザが認証されたか否か、換言すれば、ユーザがアクセス権限を有しているか否かを示す情報である。例えば、「ログイン認証」には、ステップS10において、ログインが許可された場合、「OK」(例えば“1”)が設定され、拒否された場合、「NG」(例えば“0”)が設定されてよい。
【0073】
「認証システムが応答したユーザの所属」は、後述するDL処理において、アクセス制御部31が認証システム6に問い合わせた結果に含まれる、ユーザの所属に関する情報である。なお、アクセス制御DB35には、当該項目に加えて、ログイン処理のステップS6で認証システム6から取得した認証結果に含まれるユーザの所属が記録されてもよい。
【0074】
(DL処理)
図6は、権限管理サーバ3によるDL処理の動作例を説明するためのフローチャートであり、図7は、権限管理サーバ3によるDL処理の動作例を説明するためのシーケンス図である。
【0075】
図6に例示するように、権限管理サーバ3のアクセス制御部31は、ユーザ端末5からコンテナ、例えばコンテナイメージ40のDL要求を受信する(ステップS21;図7の処理P21)。DL要求は、認証システム6による認証結果に基づきユーザに発行されたトークンを含むデータ取得要求の一例である。DL要求には、アクセス制御部31から発行されたトークン、DL対象であるコンテナのURI、及び、DL対象であるコンテナのタグが含まれてよい。なお、コンテナのタグは、コンテナのURIの一部として記述されてもよい(コンテナのURIに含まれてもよい)。以下の説明では、トークンが“8932eb6a8c9b001e5d”であり、コンテナのURIが、コンテナのタグ“20200401R01”を含む“https://re.gi.st/ry/container:20200401R01”であるものとする。
【0076】
アクセス制御部31は、アクセス制御DB35等からトークンに対応する契約情報を取得する(ステップS22)。トークンに対応する契約情報が複数存在する場合、アクセス制御部31は、トークンに対応する全ての契約情報を取得してよい。
【0077】
例えば、アクセス制御部31は、アクセス制御DB35から、トークン“8932eb6a8c9b001e5d”に対応するメールアドレス“foo@bar.jp”及び契約ID“契約00x”を取得してよい(図7の処理P22)。
【0078】
また、アクセス制御部31は、契約情報照会部32に対して、契約情報の照会要求を送信する(図7の処理P23)。当該照会要求には、メールアドレス“foo@bar.jp”から取得したユーザの所属ドメイン“bar.jp”、DL対象であるコンテナのURI(及びタグ)“https://re.gi.st/ry/container:20200401R01”が含まれてよい。
【0079】
契約情報照会部32は、アクセス制御部31から受信した照会要求を契約管理部33に送信(転送)する(図7の処理P24)。
【0080】
契約管理部33は、受信した照会要求と契約データDB34とに基づき、契約データDB34の照会結果を契約情報照会部32に応答する(図7の処理P25)。
【0081】
例えば、契約管理部33は、契約情報照会部32から受信した照会要求に含まれるユーザの所属ドメイン“bar.jp”に対応する契約、例えば所属ドメインと一致する「ドメイン」を含む契約のエントリの情報を契約データDB34から所得してよい。
【0082】
このとき、契約管理部33は、契約データDB34から情報を取得するエントリを、受信した照会要求に含まれるコンテナのURIに対応するリポジトリ4が“True”に設定されたエントリに制限してよい。例えば、権限管理サーバ3は、1以上の契約情報について、アクセスが許可されるリポジトリ4がDL対象のコンテナの格納先と一致しない場合、後述のように、ユーザの所属確認を行なわないと判定し、コンテナの配信を抑制してよい。
【0083】
そして、契約管理部33は、例えば、ユーザの所属ドメイン“bar.jp”と対応付けられ、DL対象のコンテナへのアクセスが可能である1以上の契約情報の一覧を含む照会結果を契約情報照会部32に送信してよい。契約情報には、エントリの情報、一例として、以下のような契約ID、認証システム6のURI、契約部門、及び、契約期間が含まれてよい。
・契約ID:契約00x
・認証システム6のURI:ldap://ldap.bar.jp:389
・契約部門:第一業務本部)第二開発部
・契約期間:2019/4/1-2021/3/31
【0084】
なお、契約データDB34から複数の契約情報が取得された場合、契約管理部33は、当該複数の契約情報を照会結果に含めて、契約情報照会部32に送信してよい。
【0085】
契約情報照会部32は、照会結果に基づき、トークン及びDL対象のコンテナの組に対して1つ以上有効な契約があるか否かを判定する(ステップS23;図7の処理P26)。
【0086】
有効な契約が1つも存在しない場合(ステップS23でNO)、契約情報照会部32は、アクセス制御部31に契約がない旨を応答する。アクセス制御部31は、ユーザ端末5に対して、ログイン許可を取り消す旨を応答し、ログイン許可を取り消して(ステップS24)、DL処理が終了する。ステップS24では、アクセス制御部31は、例えば、トークンの無効化を行なってよい。トークンの無効化の手法としては、例えば、DL要求内のメールアドレスに対応するアクセス制御DB35のエントリに対する、トークンの削除、及び、ログイン認証へのNGの設定、の一方又は双方が含まれてもよい。
【0087】
なお、有効な契約が1つも存在しない場合としては、例えば、照会結果に契約情報が含まれない場合等が挙げられる。
【0088】
一方、ユーザに対して1つ以上有効な契約がある場合(ステップS23でYES)、契約情報照会部32は、有効な契約に係る契約情報、例えば、認証システム6のURI、及び、契約部門の情報をアクセス制御部31に送信する(図7の処理P27)。なお、契約部門の情報は、部門(部署)がない、換言すれば、全社が対象である場合がある。
【0089】
アクセス制御部31は、契約情報照会部32から受信した契約情報に基づき、ユーザの所属未確認、且つ、有効期限内である契約情報があるか否か、換言すれば、コンテナをDL可能な契約情報があるか否かを判定する(ステップS25;図7の処理P28)。
【0090】
例えば、アクセス制御部31は、ユーザの所属が未確認である(未だ認証システム6に所属を問い合わせていない)契約情報であって、契約期間が満了していない(現在日時が契約期間内にある)契約情報を特定してよい。
【0091】
一例として、アクセス制御部31は、契約情報照会部32から取得した契約情報を展開したメモリ上で、各契約情報のエントリにユーザの所属を確認済みであるか否かの情報、例えばフラグを付加することで、ユーザの所属が未確認か否かを判定してよい。
【0092】
なお、契約情報照会部32から取得した契約情報について、契約期間が満了していない契約情報の特定は、ステップS23において契約情報照会部32により実行されてもよい。例えば、契約情報照会部32は、ステップS23において、図2のステップS3と同様に、契約が1つ以上あるがこれら全ての契約の契約期間が満了している(現在日時が契約期間内にない)場合は、有効な契約がないと判定してよい。
【0093】
ステップS25において、ユーザの所属未確認、且つ、有効期限内である契約情報がない場合(ステップS25でNO)、処理がステップS24に移行する。
【0094】
このように、権限管理サーバ3は、トークンに対応付けられた契約情報に含まれる有効期限が到来している場合、又は、トークンに対応付けられた契約情報が存在しない場合、ステップS24に示すように、データの配信を抑制してよい。
【0095】
一方、ステップS25において、ユーザの所属未確認、且つ、有効期限内である契約情報がある場合(ステップS25でYES)、アクセス制御部31は、当該契約情報が全社契約の契約情報であるか否かを判定する(ステップS26)。
【0096】
全社契約の契約情報ではない場合(ステップS26でNO)、アクセス制御部31は、当該契約情報に対応する認証システム6のURIの各々に対して、ユーザの所属の問い合わせを送信する(ステップS27;図7の処理P29)。当該問い合わせには、例えば、アクセス制御DB35から取得したユーザのメールアドレス、並びに、ユーザの所属を参照するための参照用のID(例えば“ref_admin”)及びパスワード(例えば“snt3x'49X0”)が含まれてよい。参照用のID及びパスワードは、例えば、認証システム6へのユーザの所属の問い合わせに利用可能な参照用アカウントであってよい。
【0097】
このように、権限管理サーバ3は、DL要求の受信に応じて、ステップS23及びS25において、アクセス制御部31及び契約情報照会部32により、以下の情報に基づきユーザの所属確認を行なうか否かを判定する。例えば、権限管理サーバ3は、トークンに対応付けられた1以上の契約情報であって契約期間及び契約部門を含む1以上の契約情報と、DL要求の対象となるデータとに基づき、所属確認を行なうか否かを判定する。一例として、ステップS25でYESの場合、権限管理サーバ3は、1以上の契約情報について、有効期限が到来しておらず、且つ、対象部門が限定されている場合、ユーザの所属確認を行なうと判定してよい。
【0098】
以上のように、権限管理サーバ3は、契約データDB34及びアクセス制御DB35に基づき、契約情報の有効性(有効期限等)を判定することで、認証システム6への不要な問い合わせを抑制できる。これにより、認証システム6への問い合わせ頻度を低下させることができ、権限管理サーバ3及び認証システム6の処理負荷、並びに、権限管理サーバ3と認証システム6との間のネットワークの通信負荷等を低減させることができる。
【0099】
認証システム6は、受信した問い合わせに基づき、ユーザの所属に関する所属情報を含む応答をアクセス制御部31に送信する(図7の処理P30)。例えば、認証システム6は、受信した問い合わせに含まれる参照用アカウントが有効である場合に、問い合わせに含まれるメールアドレスに対応する所属情報、例えば“第一業務本部)第二開発部”を取得し、当該所属情報を応答に含めてよい。
【0100】
アクセス制御部31は、応答内のユーザの所属が契約情報内のユーザの所属(契約部門)と一致するか否かを判定する(ステップS28)。一致しない場合(ステップS28でNO)、処理がステップS25に移行する。
【0101】
応答内のユーザの所属が契約情報内のユーザの所属(契約部門)と一致する場合(ステップS28でYES)、アクセス制御部31は、ユーザによるDLを許可する(ステップS29)、換言すればデータをユーザに配信し、DL処理が終了する。例えば、ステップS29において、アクセス制御部31は、DL対象のコンテナが属するリポジトリ4に対する、ユーザ端末5によるコンテナのDLを許可してよい。
【0102】
このように、権限管理サーバ3は、ステップS23及びS25においてユーザの所属確認を行なうと判定した場合、1以上の契約情報に対応付けられた1以上の認証システム6のそれぞれにユーザの所属確認を要求して得られた所属情報に基づき、DL要求の対象となるデータをユーザに配信する。例えば、権限管理サーバ3は、所属情報と、少なくとも1つの契約情報に含まれる契約部門とが一致する場合、データをユーザに配信してよい。
【0103】
また、ステップS26において、契約情報が全社契約の契約情報である場合(ステップS26でYES)、アクセス制御部31は、認証システム6への問い合わせをスキップしてよい。この場合、処理がステップS29に移行する。
【0104】
このように、アクセス制御部31は、ユーザがDLを要求したコンテナ(配布データ)の配布対象が全社である場合、ユーザの所属情報の取得を不要と判断し、認証システム6へのアクセスを省略して、コンテナの配布を許可してよい。換言すれば、権限管理サーバ3は、1以上の契約情報について、有効期限が到来しておらず、且つ、対象部門が限定されていない場合、ユーザの所属確認を行なわないと判定し、1以上の認証システム6への所属確認の要求を抑止してデータをユーザに配信する。これにより、DL処理において認証システム6への問い合わせを行なう一実施形態における、認証システム6へのアクセス数の増加を抑制することができる。
【0105】
〔1-4〕DL処理における処理例
次に、DL処理における、ユーザの所属の変化に応じた権限管理サーバ3による処理例を説明する。
【0106】
(第1のパターン)
メールアドレス“user01@a.jp”のユーザがDL要求を行なった場合(図5のNo.“1”参照)、契約ID“契約001”が有効である。契約ID“契約001”は、図4に示すように、全社契約ではないため、権限管理サーバ3は、当該契約IDに対応する“ldap://ldap.a.jp:389”の認証システム6に所属確認を行なう。
【0107】
権限管理サーバ3は、所属確認により認証システム6から取得した所属情報と契約データDB34から取得した契約部門とがいずれも“A社)第一開発部”(図4及び図5参照)であり両者が一致するため、DL要求を許可する。
【0108】
(第2のパターン)
メールアドレス“user02@b.jp”のユーザがDL要求を行なった場合(図5のNo.“2”参照)、契約ID“契約002”が有効である。契約ID“契約002”は、図4に示すように、全社契約であるため、権限管理サーバ3は、認証システム6への所属確認を省略し、DL要求を許可する。
【0109】
(第3のパターン)
メールアドレス“taro@b.jp”のユーザがDL要求を行なった場合(図5のNo.“3”参照)、契約ID“契約003”が有効である。契約ID“003”は、図4に示すように、全社契約ではないため、権限管理サーバ3は、“ldap://ldap.b.jp:389”の認証システム6に所属確認を行なう。
【0110】
権限管理サーバ3は、所属確認により認証システム6から取得した所属情報“C社)第二開発部”(図5参照)と契約データDB34から取得した契約部門“C社)業務本部”(図4参照)とが一致しないため、DL要求を拒否する。
【0111】
(第4のパターン)
メールアドレス“hanako@a.jp”のユーザがDL要求を行なった場合(図5のNo.“4”参照)、契約ID“契約001”及び“契約004”の2つの契約が有効であるため、権限管理サーバ3は、それぞれの契約について判定を行なう。
【0112】
例えば、契約ID“001”は、図4に示すように、全社契約ではないため、権限管理サーバ3は、“ldap://ldap.a.jp:389”の認証システム6に所属確認を行なう。この場合、権限管理サーバ3は、所属確認により認証システム6から取得した所属情報“A社)第二開発部”(図5参照)と契約データDB34から取得した契約部門“A社)第一開発部”(図4参照)とが一致しない。
【0113】
契約ID“004”は、図4に示すように、全社契約ではないため、権限管理サーバ3は、“ldap://ldap.c.jp:389”の認証システム6に所属確認を行なう。この場合、権限管理サーバ3は、所属確認により認証システム6から取得した所属情報と契約データDB34から取得した契約部門とがいずれも“C社)業務本部”(図4及び図5参照)であり両者が一致するため、DL要求を許可する。
【0114】
〔1-5〕ハードウェア構成例
上述したコンテナ配信システム2を実現する装置は、仮想サーバ(VM;Virtual Machine)であってもよいし、物理サーバであってもよい。また、コンテナ配信システム2の機能は、1台のコンピュータにより実現されてもよいし、2台以上のコンピュータにより実現されてもよい。さらに、コンテナ配信システム2の機能のうちの少なくとも一部は、クラウド環境により提供されるHW(Hardware)リソース及びNW(Network)リソースを用いて実現されてもよい。
【0115】
図8は、コンテナ配信システム2の機能を実現するコンピュータ10のハードウェア(HW)構成例を示すブロック図である。コンテナ配信システム2の機能を実現するHWリソースとして、複数のコンピュータが用いられる場合は、各コンピュータが図8に例示するHW構成を備えてよい。
【0116】
図8に示すように、コンピュータ10は、HW構成として、例示的に、プロセッサ10a、メモリ10b、記憶部10c、IF(Interface)部10d、I/O(Input / Output)部10e、及び読取部10fを備えてよい。
【0117】
プロセッサ10aは、種々の制御や演算を行なう演算処理装置の一例である。プロセッサ10aは、コンピュータ10内の各ブロックとバス10iで相互に通信可能に接続されてよい。なお、プロセッサ10aは、複数のプロセッサを含むマルチプロセッサであってもよいし、複数のプロセッサコアを有するマルチコアプロセッサであってもよく、或いは、マルチコアプロセッサを複数有する構成であってもよい。
【0118】
プロセッサ10aとしては、例えば、CPU、MPU、GPU、APU、DSP、ASIC、FPGA等の集積回路(IC;Integrated Circuit)が挙げられる。なお、プロセッサ10aとして、これらの集積回路の2以上の組み合わせが用いられてもよい。CPUはCentral Processing Unitの略称であり、MPUはMicro Processing Unitの略称である。GPUはGraphics Processing Unitの略称であり、APUはAccelerated Processing Unitの略称である。DSPはDigital Signal Processorの略称であり、ASICはApplication Specific ICの略称であり、FPGAはField-Programmable Gate Arrayの略称である。
【0119】
メモリ10bは、種々のデータやプログラム等の情報を格納するHWの一例である。メモリ10bとしては、例えばDRAM(Dynamic Random Access Memory)等の揮発性メモリ、及び、PM(Persistent Memory)等の不揮発性メモリ、の一方又は双方が挙げられる。
【0120】
記憶部10cは、種々のデータやプログラム等の情報を格納するHWの一例である。記憶部10cとしては、HDD(Hard Disk Drive)等の磁気ディスク装置、SSD(Solid State Drive)等の半導体ドライブ装置、不揮発性メモリ等の各種記憶装置が挙げられる。不揮発性メモリとしては、例えば、フラッシュメモリ、SCM(Storage Class Memory)、ROM(Read Only Memory)等が挙げられる。
【0121】
なお、図1に示す契約データDB34、アクセス制御DB35、及び、リポジトリ4a~4cの情報は、メモリ10b及び記憶部10cの一方又は双方が有する記憶領域に格納されてもよい。また、契約データDB34、アクセス制御DB35、及び、リポジトリ4a~4cのそれぞれは、記憶部10cとしての複数の記憶装置により実現されるディスクアレイ装置等のストレージ装置により実現されてもよい。
【0122】
また、記憶部10cは、コンピュータ10の各種機能の全部若しくは一部を実現するプログラム10g(配信制御プログラム)を格納してよい。例えば、コンテナ配信システム2(一例として権限管理サーバ3)のプロセッサ10aは、記憶部10cに格納されたプログラム10gをメモリ10bに展開して実行することにより、図1に例示するアクセス制御部31、契約情報照会部32及び契約管理部33としての機能を実現できる。
【0123】
IF部10dは、コンテナ配信システム2と各ユーザ端末5との間のネットワーク、及び、コンテナ配信システム2と各認証システム6との間のネットワークの一方又は双方との間の接続及び通信の制御等を行なう通信IFの一例である。例えば、IF部10dは、イーサネット(登録商標)等のLAN、或いは、FC(Fibre Channel)等の光通信等に準拠したアダプタを含んでよい。当該アダプタは、無線及び有線の一方又は双方の通信方式に対応してよい。例えば、コンテナ配信システム2は、IF部10dを介して、ユーザ端末5及び認証システム6の各々と相互に通信可能に接続されてよい。また、例えば、プログラム10gは、当該通信IFを介して、ネットワークからコンピュータ10にダウンロードされ、記憶部10cに格納されてもよい。
【0124】
I/O部10eは、入力装置、及び、出力装置、の一方又は双方を含んでよい。入力装置としては、例えば、キーボード、マウス、タッチパネル等が挙げられる。出力装置としては、例えば、モニタ、プロジェクタ、プリンタ等が挙げられる。
【0125】
読取部10fは、記録媒体10hに記録されたデータやプログラムの情報を読み出すリーダの一例である。読取部10fは、記録媒体10hを接続可能又は挿入可能な接続端子又は装置を含んでよい。読取部10fとしては、例えば、USB(Universal Serial Bus)等に準拠したアダプタ、記録ディスクへのアクセスを行なうドライブ装置、SDカード等のフラッシュメモリへのアクセスを行なうカードリーダ等が挙げられる。なお、記録媒体10hにはプログラム10gが格納されてもよく、読取部10fが記録媒体10hからプログラム10gを読み出して記憶部10cに格納してもよい。
【0126】
記録媒体10hとしては、例示的に、磁気/光ディスクやフラッシュメモリ等の非一時的なコンピュータ読取可能な記録媒体が挙げられる。磁気/光ディスクとしては、例示的に、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスク、HVD(Holographic Versatile Disc)等が挙げられる。フラッシュメモリとしては、例示的に、USBメモリやSDカード等の半導体メモリが挙げられる。
【0127】
上述したコンピュータ10のHW構成は例示である。従って、コンピュータ10内でのHWの増減(例えば任意のブロックの追加や削除)、分割、任意の組み合わせでの統合、又は、バスの追加若しくは削除等は適宜行なわれてもよい。例えば、コンテナ配信システム2において、I/O部10e及び読取部10fの少なくとも一方は、省略されてもよい。
【0128】
なお、ユーザ端末5、及び、認証システム6のそれぞれは、上述したコンピュータ10と同様のHW構成により実現されてもよい。
【0129】
〔2〕その他
上述した一実施形態に係る技術は、以下のように変形、変更して実施することができる。
【0130】
例えば、図1に示すシステム1において、リポジトリ4、ユーザ端末5及び認証システム6のそれぞれの数が3であるものとしたが、これに限定されるものではなく、それぞれ、2以下、又は、4以上であってもよい。
【0131】
また、図1に示す権限管理サーバ3が備えるアクセス制御部31、契約情報照会部32及び契約管理部33は、任意の組み合わせで併合してもよく、それぞれ分割してもよい。さらに、図1に示すコンテナ配信システム2が記憶する契約データDB34及びアクセス制御DB35は、併合してもよく、それぞれ分割してもよい。
【0132】
さらに、図1に示すコンテナ配信システム2は、複数の装置がネットワークを介して互いに連携することにより、各処理機能を実現する構成であってもよい。例えば、図1に示す複数の機能ブロックのそれぞれは、Webサーバ、アプリケーションサーバ、DBサーバ等のサーバに分散して配置されてよい。この場合、Webサーバ、アプリケーションサーバ及びDBサーバが、ネットワークを介して互いに連携することにより、コンテナ配信システム2としての各処理機能を実現してもよい。
【0133】
また、認証システム6は、コンテナ配信サービスの提供者により、会社、組織、部署等の契約者ごとに用意されるシステムであってもよい。
【0134】
〔3〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
【0135】
(付記1)
ユーザの認証を行なう認証システムによる認証結果に基づき前記ユーザに発行されたアクセストークンを含むデータ取得要求の受信に応じて、前記アクセストークンに対応付けられた1以上の契約情報であって契約の有効期限及び契約の対象部門の情報を含む前記1以上の契約情報と、前記データ取得要求の対象となるデータとに基づき、前記ユーザの所属確認を行なうか否かを判定し、
前記ユーザの所属確認を行なうと判定した場合、前記1以上の契約情報に対応付けられた1以上の認証システムのそれぞれに前記ユーザの所属確認を要求して得られた所属情報に基づき、前記データ取得要求の対象となる前記データを前記ユーザに配信する、制御部を備える
情報処理装置。
【0136】
(付記2)
前記制御部は、前記判定する処理において、前記1以上の契約情報について、前記有効期限が到来しておらず、且つ、前記対象部門が限定されている場合、前記ユーザの所属確認を行なうと判定する、
付記1に記載の情報処理装置。
【0137】
(付記3)
前記制御部は、
前記判定する処理において、前記1以上の契約情報について、前記有効期限が到来しておらず、且つ、前記対象部門が限定されていない場合、前記ユーザの所属確認を行なわないと判定し、
前記配信する処理において、前記1以上の認証システムへの前記所属確認の要求を抑止して前記データを前記ユーザに配信する、
付記2に記載の情報処理装置。
【0138】
(付記4)
前記制御部は、前記配信する処理において、前記所属情報と、少なくとも1つの前記契約情報に含まれる前記対象部門とが一致する場合、前記データを前記ユーザに配信する、
付記1~付記3のいずれか1項に記載の情報処理装置。
【0139】
(付記5)
前記制御部は、前記判定する処理において、前記アクセストークンに対応付けられた前記契約情報に含まれる前記有効期限が到来している場合、又は、前記アクセストークンに対応付けられた契約情報が存在しない場合、前記データの配信を抑制する、
付記1~付記4のいずれか1項に記載の情報処理装置。
【0140】
(付記6)
前記契約情報は、アクセスが許可される記憶領域に関する情報を含み、
前記制御部は、前記判定する処理において、前記1以上の契約情報について、前記記憶領域が前記データの格納先と一致しない場合、前記ユーザの所属確認を行なわないと判定し、前記データの配信を抑制する、
付記1~付記5のいずれか1項に記載の情報処理装置。
【0141】
(付記7)
ユーザの認証を行なう認証システムによる認証結果に基づき前記ユーザに発行されたアクセストークンを含むデータ取得要求の受信に応じて、前記アクセストークンに対応付けられた1以上の契約情報であって契約の有効期限及び契約の対象部門の情報を含む前記1以上の契約情報と、前記データ取得要求の対象となるデータとに基づき、前記ユーザの所属確認を行なうか否かを判定し、
前記ユーザの所属確認を行なうと判定した場合、前記1以上の契約情報に対応付けられた1以上の認証システムのそれぞれに前記ユーザの所属確認を要求して得られた所属情報に基づき、前記データ取得要求の対象となる前記データを前記ユーザに配信する、処理をコンピュータに実行させる、配信制御プログラム。
【0142】
(付記8)
前記判定する処理は、前記1以上の契約情報について、前記有効期限が到来しておらず、且つ、前記対象部門が限定されている場合、前記ユーザの所属確認を行なうと判定する処理を含む、
付記7に記載の配信制御プログラム。
【0143】
(付記9)
前記判定する処理は、前記1以上の契約情報について、前記有効期限が到来しておらず、且つ、前記対象部門が限定されていない場合、前記ユーザの所属確認を行なわないと判定する処理を含み、
前記配信する処理は、前記1以上の認証システムへの前記所属確認の要求を抑止して前記データを前記ユーザに配信する処理を含む、
付記8に記載の配信制御プログラム。
【0144】
(付記10)
前記配信する処理は、前記所属情報と、少なくとも1つの前記契約情報に含まれる前記対象部門とが一致する場合、前記データを前記ユーザに配信する処理を含む、
付記7~付記9のいずれか1項に記載の配信制御プログラム。
【0145】
(付記11)
前記判定する処理は、前記アクセストークンに対応付けられた前記契約情報に含まれる前記有効期限が到来している場合、又は、前記アクセストークンに対応付けられた契約情報が存在しない場合、前記データの配信を抑制する処理を含む、
付記7~付記10のいずれか1項に記載の配信制御プログラム。
【0146】
(付記12)
前記契約情報は、アクセスが許可される記憶領域に関する情報を含み、
前記判定する処理は、前記1以上の契約情報について、前記記憶領域が前記データの格納先と一致しない場合、前記ユーザの所属確認を行なわないと判定し、前記データの配信を抑制する処理を含む、
付記7~付記11のいずれか1項に記載の配信制御プログラム。
【0147】
(付記13)
複数の認証システムと、情報処理装置と、を備え、
前記情報処理装置は、
ユーザの認証を行なう認証システムによる認証結果に基づき前記ユーザに発行されたアクセストークンを含むデータ取得要求の受信に応じて、前記アクセストークンに対応付けられた1以上の契約情報であって契約の有効期限及び契約の対象部門の情報を含む前記1以上の契約情報と、前記データ取得要求の対象となるデータとに基づき、前記ユーザの所属確認を行なうか否かを判定し、
前記ユーザの所属確認を行なうと判定した場合、前記1以上の契約情報に対応付けられた1以上の認証システムのそれぞれに前記ユーザの所属確認を要求して得られた所属情報に基づき、前記データ取得要求の対象となる前記データを前記ユーザに配信する、制御部を備える
情報処理システム。
【0148】
(付記14)
前記制御部は、前記判定する処理において、前記1以上の契約情報について、前記有効期限が到来しておらず、且つ、前記対象部門が限定されている場合、前記ユーザの所属確認を行なうと判定する、
付記13に記載の情報処理システム。
【0149】
(付記15)
前記制御部は、
前記判定する処理において、前記1以上の契約情報について、前記有効期限が到来しておらず、且つ、前記対象部門が限定されていない場合、前記ユーザの所属確認を行なわないと判定し、
前記配信する処理において、前記1以上の認証システムへの前記所属確認の要求を抑止して前記データを前記ユーザに配信する、
付記14に記載の情報処理システム。
【0150】
(付記16)
前記制御部は、前記配信する処理において、前記所属情報と、少なくとも1つの前記契約情報に含まれる前記対象部門とが一致する場合、前記データを前記ユーザに配信する、
付記13~付記15のいずれか1項に記載の情報処理システム。
【0151】
(付記17)
前記制御部は、前記判定する処理において、前記アクセストークンに対応付けられた前記契約情報に含まれる前記有効期限が到来している場合、又は、前記アクセストークンに対応付けられた契約情報が存在しない場合、前記データの配信を抑制する、
付記13~付記16のいずれか1項に記載の情報処理システム。
【0152】
(付記18)
前記契約情報は、アクセスが許可される記憶領域に関する情報を含み、
前記制御部は、前記判定する処理において、前記1以上の契約情報について、前記記憶領域が前記データの格納先と一致しない場合、前記ユーザの所属確認を行なわないと判定し、前記データの配信を抑制する、
付記13~付記17のいずれか1項に記載の情報処理システム。
【符号の説明】
【0153】
1 システム
2 コンテナ配信システム
3 権限管理サーバ
31 アクセス制御部
32 契約情報照会部
33 契約管理部
34 契約データDB
35 アクセス制御DB
4、4a~4c リポジトリ
40、40a~40c コンテナイメージ
5、5a~5c ユーザ端末
6、6a~6c 認証システム
図1
図2
図3
図4
図5
図6
図7
図8