(57)【要約】【課題】外部へ接続する際に、ユーザのアカウント情報が漏洩することを防止するワークフローシステム、処理システム、方法及びプログラムを提供すること。【解決手段】本発明に係るワークフローシステム１００は、ワークフロー定義を登録し、ワークフロー定義に従ってワークフローを実行するワークフローシステム１００であって、ワークフロー定義の登録時に、ワークフローシステム１００を使用するユーザＵのアカウント情報Ａｃに対応したトークンＴを取得する取得部１７０と、ワークフローの実行時に、トークンＴが認証済みか否かの確認を行う認証部１４０と、トークンＴが認証済みの場合、認証済みのトークンＴａで認証を行い外部システム６００に対する処理を実行する実行部１３０と、を備える。【選択図】図１
2018160098.tif 000002
【特許請求の範囲】
【請求項１】
ワークフロー定義を登録し、前記ワークフロー定義に従ってワークフローを実行するワークフローシステムであって、
前記ワークフロー定義の登録時に、自システムを使用するユーザのアカウント情報に対応したトークンを取得する取得部と、
前記ワークフローの実行時に、前記トークンが認証済みか否かの確認を行う認証部と、
前記トークンが認証済みの場合、前記認証済みのトークンで認証を行い外部システムに対する処理を実行する実行部と、
を備えるワークフローシステム。
【請求項２】
前記認証部は、前記ワークフロー定義内に前記外部システムに対する処理が有る場合、前記トークンが認証済みか否かの確認を行う、
請求項１に記載のワークフローシステム。
【請求項３】
前記取得部は、前記トークンの有効期限を取得し、
前記認証部は、前記トークンが前記有効期限内の場合、前記トークンが認証済みか否かの確認を行う、
請求項１又は２に記載のワークフローシステム。
【請求項４】
前記取得部は、前記外部システムに接続可能な実行回数を取得し、
前記実行部は、前記外部システムに対する接続を前記実行回数だけ実行する、
請求項１乃至３のいずれか１つに記載のワークフローシステム。
【請求項５】
前記取得部は、前記外部システムに対する処理を実行する際の実行元を特定する情報を取得し、
前記実行部は、前記実行元から実行要求があった場合、前記外部システムに対する処理を実行する、
請求項１乃至４のいづれか１つに記載のワークフローシステム。
【請求項６】
前記取得部は、前記外部システムに対する処理を実行する前に前記トークンを取得する、
請求項１乃至５のいずれか１つに記載のワークフローシステム。
【請求項７】
前記認証済みのトークンを記憶し、前記アカウント情報を記憶しない記憶部をさらに備えた、
請求項１乃至６のいずれか１つに記載のワークフローシステム。
【請求項８】
ワークフローシステムと、前記ワークフローシステムを使用するユーザのアカウント情報を認証する認証システムと、前記ワークフローシステムが要求する処理を実行する外部システムと、を備えた処理システムであって、
前記ワークフローシステムは、
ワークフロー定義の登録時に、前記ワークフローシステムを使用するユーザのアカウント情報に対応したトークンを取得する取得部と、
前記ワークフロー定義に従ったワークフローの実行時に、前記トークンが認証済みか否かの確認を前記認証システムに対して行う認証部と、
前記トークンが認証済みの場合、前記認証済みのトークンで認証を行い外部システムに対する処理を実行する実行部と、を備え、
前記認証システムは、
前記アカウント情報に対応した前記トークンを発行する発行部と、
前記トークンが認証済みか否かの確認の結果を前記認証部に対して通知する確認部と、を備え、
前記外部システムは、
前記ワークフローシステムが要求する処理を実行する実行処理部を備える、
処理システム。
【請求項９】
ワークフロー定義を登録し、前記ワークフロー定義に従ってワークフローを実行するワークフローシステムの方法であって、
前記ワークフロー定義の登録時に、自システムを使用するユーザのアカウント情報に対応したトークンを取得するステップと、
前記ワークフローの実行時に、前記トークンが認証済みか否かの確認を行うステップと、
前記トークンが認証済みの場合、前記認証済みのトークンで認証を行い外部システムに対する処理を実行するステップと、
を備える方法。
【請求項１０】
ワークフロー定義を登録し、前記ワークフロー定義に従ってワークフローを実行するワークフローシステムの方法であって、
前記ワークフロー定義の登録時に、自システムを使用するユーザのアカウント情報に対応したトークンを取得するステップと、
前記ワークフローの実行時に、前記トークンが認証済みか否かの確認を行うステップと、
前記トークンが認証済みの場合、前記認証済みのトークンで認証を行い外部システムに対する処理を実行するステップと、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークフローシステム、処理システム、方法及びプログラムに関するものであり、特に、外部へ接続する際に、ユーザのアカウント情報が漏洩することを防止するワークフローシステム、処理システム、方法及びプログラムに関する。
【背景技術】
【０００２】
ユーザが所望する順序やタイミングで業務処理を行う方法として、ワークフローシステムが挙げられる。ワークフローシステムでは、ユーザが業務処理の各タスクの実行順序や実行タイミングをワークフロー定義として登録し、登録されたワークフロー定義に従ってワークフロー処理を実行する。タスクの内容によっては、ワークフローシステム外部のオンラインサービスやコンピューティングシステムに接続する必要がある。このとき、外部に接続するために必要なアカウント情報は、ワークフロー定義に含めることが可能である。尚、アカウント情報としては、例えば、ユーザＩＤ(identification)やパスワードなどがある。また、実行タイミングは、既定の時刻でも良いし、別のシステムからの通知をトリガとしても良いし、ユーザが指示しても良い。
【０００３】
ワークフローシステムには、複数の顧客がお互いを意識することなくシステムを利用することができるマルチテナント環境での動作をサポートするものも存在する。マルチテナント環境で動作するワークフローシステムには、自身が所属するテナントで作成し登録したワークフロー定義を、別のテナントに共有できる機能を有するものがある。ワークフロー定義を、別のテナントが共有する場合、アカウント情報がワークフロー定義内に含まれていると、アカウント情報を含む接続に関する情報が外部に漏洩する可能性がある。
【０００４】
ワークフローシステム内から異なる業務システムに対してＡＰＩ(Application Programming Interface)接続やログイン等を行う場合、アカウント情報が必要となる。ワークフロー定義内にアカウント情報が含まれていると、別のテナントの利用者から該アカウント情報の参照が可能となり、意図しない形で該アカウント情報が漏洩する可能性がある。このため、ワークフロー定義内では接続に関する情報に対する参照指示のみを記載することで、該接続に関する情報の外部への漏洩を防ぐ方法も存在する。しかしながら、参照指示のみを記載する方法は、ユーザがアカウント情報を変更した際に、認証システムで同期が取れなくなることがある。また、ワークフローシステム内にアカウント情報が保持されているので、そのことによるセキュリティリスクが存在する。
【０００５】
アカウント情報などのセキュリティに関する情報の外部への漏洩という問題を回避するため、ワークフローシステムにはアカウント情報を保持せず、ワークフロー定義内からアカウント情報が隠蔽される状態であっても、処理対象への接続を行うことができる方法が必要である。
【０００６】
特許文献１には、サービスが依存する認証サーバーが別のシステムに変わった場合、ユーザーに再度認可操作を求めることなく認可トークンを自動更新する方法が開示されている。しかしながら、特許文献１には、外部へ接続する際に、ユーザのアカウント情報が漏洩することを防止することは開示されていない。
【０００７】
特許文献２には、クラウド環境下において動作する装置からのサービスの利用要求を削除する方法が開示されている。しかしながら、特許文献２には、外部へ接続する際に、ユーザのアカウント情報が漏洩することを防止することは開示されていない。
【０００８】
特許文献３には、利便性を確保し、かつシナリオ上不必要になったリソースへのアクセスを防ぐことができるアクセストークン検証システム及びアクセストークン検証方法が開示されている。しかしながら、特許文献３には、外部へ接続する際に、ユーザのアカウント情報が漏洩することを防止することは開示されていない。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１６−２２４６８４号公報
【特許文献２】特開２０１５−０３２０４１号公報
【特許文献３】特開２０１３−２５４２５２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上述のように、ワークフローシステムにおいては、アカウント情報などのセキュリティに関する情報が外部に漏洩するという問題があった。
【００１１】
本発明は、このような問題を解決するためになされたものであり、外部へ接続する際に、ユーザのアカウント情報が漏洩することを防止するワークフローシステム、処理システム、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明に係るワークフローシステムは、
ワークフロー定義を登録し、前記ワークフロー定義に従ってワークフローを実行するワークフローシステムであって、
前記ワークフロー定義の登録時に、自システムを使用するユーザのアカウント情報に対応したトークンを取得する取得部と、
前記ワークフローの実行時に、前記トークンが認証済みか否かの確認を行う認証部と、
前記トークンが認証済みの場合、前記認証済みのトークンで認証を行い外部システムに対する処理を実行する実行部と、
を備える。
【００１３】
本発明に係る処理システムは、
ワークフローシステムと、前記ワークフローシステムを使用するユーザのアカウント情報を認証する認証システムと、前記ワークフローシステムが要求する処理を実行する外部システムと、を備えた処理システムであって、
前記ワークフローシステムは、
ワークフロー定義の登録時に、前記ワークフローシステムを使用するユーザのアカウント情報に対応したトークンを取得する取得部と、
前記ワークフロー定義に従ったワークフローの実行時に、前記トークンが認証済みか否かの確認を前記認証システムに対して行う認証部と、
前記トークンが認証済みの場合、前記認証済みのトークンで認証を行い外部システムに対する処理を実行する実行部と、を備え、
前記認証システムは、
前記アカウント情報に対応した前記トークンを発行する発行部と、
前記トークンが認証済みか否かの確認の結果を前記認証部に対して通知する確認部と、を備え、
前記外部システムは、
前記ワークフローシステムが要求する処理を実行する実行処理部を備える。
【００１４】
本発明に係る方法は、
ワークフロー定義を登録し、前記ワークフロー定義に従ってワークフローを実行するワークフローシステムの方法であって、
前記ワークフロー定義の登録時に、自システムを使用するユーザのアカウント情報に対応したトークンを取得するステップと、
前記ワークフローの実行時に、前記トークンが認証済みか否かの確認を行うステップと、
前記トークンが認証済みの場合、前記認証済みのトークンで認証を行い外部システムに対する処理を実行するステップと、
を備える。
【００１５】
本発明に係るプログラムは、
ワークフロー定義を登録し、前記ワークフロー定義に従ってワークフローを実行するワークフローシステムの方法であって、
前記ワークフロー定義の登録時に、自システムを使用するユーザのアカウント情報に対応したトークンを取得するステップと、
前記ワークフローの実行時に、前記トークンが認証済みか否かの確認を行うステップと、
前記トークンが認証済みの場合、前記認証済みのトークンで認証を行い外部システムに対する処理を実行するステップと、
をコンピュータに実行させる。
【発明の効果】
【００１６】
本発明によれば、外部へ接続する際に、ユーザのアカウント情報が漏洩することを防止するワークフローシステム、処理システム、方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００１７】
【図１】実施の形態１に係るワークフローシステムを例示するブロック図である。
【図２】実施の形態１に係る処理システムを例示するブロック図である。
【図３】実施の形態１に係るタスクを例示する図である。
【図４】実施の形態１に係る処理システムを例示するブロック図である。
【図５】実施の形態１に係る処理システムを例示するブロック図である。
【図６】実施の形態１に係る処理フローを例示するフローチャートである。
【図７】実施の形態１に係る処理システムを例示するブロック図である。
【図８】実施の形態１に係る処理フローを例示するフローチャートである。
【図９】比較例に係る処理システムを例示するブロック図である。
【図１０】比較例に係る処理システムを例示するブロック図である。
【図１１】比較例に係る処理システムを例示するブロック図である。
【図１２】実施の形態２に係る認証トークン属性情報を例示した図である。
【図１３】認証トークンを与えるタイミングを例示した図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照して本発明の実施の形態について説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明を省略する。
【００１９】
［実施の形態１］
先ず、実施の形態１に係るワークフローシステムの概要について説明する。
図１は、実施の形態１に係るワークフローシステムを例示するブロック図である。
【００２０】
図１に示すように、実施の形態１に係るワークフローシステム１００は、取得部１７０と認証部１４０と実行部１３０とを備える。ワークフローシステム１００は、ワークフロー定義を登録し、ワークフロー定義に従ってワークフローを実行するワークフローシステムである。
【００２１】
取得部１７０は、ワークフロー定義の登録時に、ワークフローシステム１００を使用するユーザＵのアカウント情報Ａｃに対応したトークンＴを取得する。具体的には、後述する認証システム２００においてアカウント情報Ａｃによる認証が成功した場合、取得部１７０は、トークンＴを取得する。
【００２２】
認証部１４０は、ワークフローの実行時に、取得したトークンＴが認証済みか否かの確認を行う。具体的には、認証部１４０は、後述する認証システム２００に対してトークンＴが認証済みか否かの確認要求を行い、その確認結果を取得することでトークンＴが認証済みか否かの確認を行う。
【００２３】
実行部１３０は、トークンＴが認証済みの場合、認証済みトークンＴａで認証を行い外部システム６００に対して処理を実行する。
【００２４】
尚、認証済みトークンを認証トークンと称する。また、取得部を実行時認証トークン取得部と称し、実行部をワークフロー実行部と称することもある。
【００２５】
また、取得部１７０は、外部システム６００に対する処理を実行する前に、トークンＴを取得する。
【００２６】
また、認証部１４０は、ワークフロー定義内に外部システム６００に対する処理が有る場合、トークンＴが認証済みか否かの確認を行ってもよい。
【００２７】
また、ワークフローシステム１００は記憶部１９０を備え、記憶部１９０は認証済みのトークンＴａは記憶するが、アカウント情報Ａｃは記憶しない。記憶部を認証情報記憶部と称することもある。
【００２８】
図２は、実施の形態１に係る処理システムを例示するブロック図である。
【００２９】
ワークフローシステム１００は、ワークフロー実行時に外部システム６００に接続し、外部システム６００に対して処理を実行する場合があるが、この場合、セキュリティを確保する必要がある。そこで、ワークフローシステム１００は、外部システム６００に接続する場合、アカウント情報Ａｃはなく認証トークンＴａを使用する。以下に詳細に説明する。
【００３０】
図２に示すように、処理システム１０は、ワークフローシステム１００と、ワークフローシステム１００を使用するユーザＵのアカウント情報Ａｃを認証する認証システム２００と、ワークフローシステム１００が要求する処理を実行する外部システム６００と、を備える。
【００３１】
認証システム２００は、アカウント情報Ａｃに対応したトークンＴを発行する発行部２４０と、トークンＴが認証済みか否かの確認の結果を認証部１４０に対して通知する確認部２３０と、を備える。また、外部システム６００は、ワークフローシステム１００が要求する処理を実行する実行処理部６１０を備える。
【００３２】
尚、発行部を認証トークン発行部と称し、確認部を認証トークン確認部と称することもある。
【００３３】
ワークフローシステム１００は、認証システム２００に対してアカウント情報Ａｃを送付する。認証システム２００は、アカウント情報Ａｃを認証しアカウント情報Ａｃに対応した認証トークンＴａをワークフローシステム１００に返却する。ワークフローシステム１００は、返却された認証トークンＴａを認証情報記憶部１９０に記憶する。
【００３４】
尚、ワークフローシステム１００は、認証トークンＴａと共に認証トークンＴａの属性情報である認証トークン属性情報Ｔｂも認証情報記憶部１９０に記憶する。認証トークンＴａと認証トークン属性情報を含む情報を認証情報Ｔｈと称する。
【００３５】
認証トークン属性情報Ｔｂは、認証トークンＴａ自身の特性を示す情報であり、例えば、認証トークンＴａの有効期限等である。
【００３６】
ワークフローシステム１００は、ワークフロー定義に従って、既に記憶された認証情報Ｔｈを参照してワークフローの実行を行う。
【００３７】
前述したように、認証トークンＴａは、認証システム２００においてアカウント情報Ａｃによる認証が成功した場合、認証システム２００から返却されるトークンである。アカウント情報Ａｃの認証によりユーザを特定できるので、アカウント情報Ａｃに対応した認証トークンＴａにより認証済みのユーザを特定できる。このため、認証トークンＴａを外部システム６００に接続する際に必要なアクセスキーとして使用できる。尚、アカウント情報Ａｃは、例えば、ユーザＩＤやパスワードなどである。
【００３８】
外部システム６００は、ワークフローシステム１００が接続した際に、認証トークンＴａを取得する。外部システム６００は、認証システム２００に対して取得した認証トークンＴａが既に認証済みか否かの確認の要求を行う。外部システム６００は、認証システム２００から認証トークンＴａの確認結果を取得し、この確認結果に基づいてユーザＵが外部システム６００を利用できるユーザか否かの判定を行う。
【００３９】
尚、ユーザＵは、ワークフロー定義の登録時に、ワークフロー定義とアカウント情報Ａｃを登録するが、このとき、ワークフロー定義の有効期限やトークンＴの有効期限を登録してもよい。そして、取得部１７０はトークンＴの有効期限を取得し、トークンＴが有効期限内の場合、認証部１４０はトークンＴが認証済みか否かの確認を行ってもよい。認証トークンＴａに有効期間期限を設けることにより、ユーザＵによるワークフローシステム１００の使用を適切な期限に制限するので、セキュリティを向上できる。トークンＴの有効期限は、認証トークン属性情報Ｔｂとして登録されてもよい。
【００４０】
図３は、実施の形態１に係るタスクを例示する図である。
図３に示すように、認証情報記憶部１９０には認証情報Ｔｈが記憶され、ワークフロー定義記憶部１８０にはワークフロー定義が記憶される。
【００４１】
認証情報Ｔｈには、認証トークンＴａと認証トークン属性情報Ｔｂが含まれる。認証トークン属性情報Ｔｂは、認証トークンＴａの有効期限や実行回数などを含む。
【００４２】
ワークフロー定義には、実行するタスクが記載される。タスクには、タスクＩＤやタスクの内容などが含まれる。そして、ワークフロー定義内にはアカウント情報Ａｃが必要となるタスクに対して、アカウント情報との紐付けが可能な参照指示が付与される。
【００４３】
例えば、アカウント情報Ａｃに対してタスク１が紐付された場合、図３に示す参照指示Ｒｅ１に示すようなことが与えられる。これにより、ワークフローシステム１００は、タスク１を実行する場合、タスクＩＤを「１２３４５」とし、認証トークンの番号を「ＺＹＸ０７０３１Ｘ１」とし、該認証トークンの有効期限を「２０１６年１２月７日」とし、該認証トークンで処理を実行する際の実行回数を「１００」まで可能としてワークフローを実行する。
【００４４】
ここで、実施の形態１の特徴を以下に示す。
ワークフローシステム１００は、ワークフロー定義の登録時に認証システム２００に対して、正しいアカウント情報Ａｃであるか否かの確認のための認証要求を行う。ワークフローシステム１００は、認証が成功した際に返却される認証トークンＴａと認証トークン属性情報Ｔｂを認証情報記憶部１９０に記憶し、ワークフロー定義をワークフロー定義記憶部１８０に記憶する。このとき、ユーザＩＤやパスワード等のアカウント情報Ａｃを記憶しないことにより、セキュリティに関する情報が外部に漏洩することを防止する。
【００４５】
その結果、実施の形態１によれば、外部へ接続する際に、ユーザのアカウント情報が漏洩することを防止するワークフローシステム、処理システム、方法及びプログラムを提供することができる。
【００４６】
また、ワークフローシステム１００は、アカウント情報Ａｃが必要なタスクを実行する際に、認証トークン属性情報Ｔｂを確認し、有効期限等の問題がなければ認証情報記憶部１９０に記憶されている認証トークンＴａを使用して外部システム６００に接続を行い、外部システム６００に対して処理を実行する。認証トークンＴａに有効期間期限を設けることにより、ユーザＵによるワークフローシステム１００の使用を適切な期限に制限するので、セキュリティを向上できる。
【００４７】
ユーザＵは、認証トークンＴａを使用することにより、自身の権限では実行できないワークフロー定義の実行が可能となる。また、他のユーザＷであっても認証トークンＴａを使用することにより、ワークフロー登録を行い、自身のアカウント情報を隠ぺいした状態でワークフロー定義に従ったワークフローを実行することができる。すなわち、ユーザＷと他のユーザＷとでワークフロー定義を共有化できる。
【００４８】
実施の形態１に係るシステムの詳細について説明する。
この例では、ワークフローシステムを使用して、ワークフロー定義を登録しワークフロー実行を行うことについて説明する。
【００４９】
処理システムの構成について説明する。
図４は、実施の形態１に係る処理システムを例示するブロック図である。
【００５０】
図４に示すように、ワークフローシステム１００は、処理受付部１１０と認証部１４０とワークフロー登録部１２０と登録時認証照合部１５０とワークフロー定義記憶部１８０と認証情報記憶部１９０とワークフロー実行部１３０と実行時属性情報判定部１６０と実行時認証トークン取得部１７０を備える。
【００５１】
処理受付部１１０は、ユーザＵからの処理要求や外部システム６００からの処理要求を受付ける。外部システム６００は、例えば、オンラインサービス４００とコンピューティングシステム５００である。
【００５２】
認証部１４０は、処理要求を行ったユーザＵの認証処理を行う。ワークフロー登録部１２０は、ワークフロー登録処理を制御し、ワークフロー定義を登録する。
【００５３】
実行時認証トークン取得部１７０は、ワークフロー定義に従ったワークフローの実行時に認証トークンＴａを取得する。認証トークンＴａが必要なタスクは、例えば、外部システム６００に接続するタスクである。
【００５４】
ワークフロー定義記憶部１８０は、ワークフロー定義を記憶する。認証情報記憶部１９０は、認証トークンＴａと認証トークン属性情報Ｔｂを記憶する。ワークフロー実行部１３０は、ワークフローの実行を制御する。実行時属性情報判定部１６０は、ワークフロー実行時に、認証トークン属性情報Ｔｂを参照し、認証トークンＴａの有効期限切れ等が発生していないかを確認する。実行時認証トークン取得部１７０は、ワークフロー実行時に、タスクで使用する認証トークンＴａを認証情報記憶部１９０から取得する。
【００５５】
認証システム２００は、ユーザＵの認証処理を実行するシステムである。認証システム２００は、処理受付部２１０と認証部２２０と認証トークン確認部２３０と認証トークン発行部２４０と認証トークン属性情報発行部２５０とアカウント情報記憶部２６０と認証情報記憶部２７０を有する。
【００５６】
処理受付部２１０は、ユーザＵからの認証要求や外部システム６００からの認証要求を受付ける。認証部２２０は、認証処理を行う。認証トークン確認部２３０は、認証トークンＴａが既に発行されているか否かを確認する。認証トークン発行部２４０は、認証トークンＴａを発行する。認証トークン属性情報発行部２５０は、認証トークン属性情報Ｔｂを発行する。アカウント情報記憶部２６０は、認証に必要なユーザＩＤやパスワードなどのアカウント情報Ａｃを記憶する。認証情報記憶部２７０は、発行済みの認証トークンＴａと発行済みの認証トークン属性情報Ｔｂを記憶する。
【００５７】
ネットワーク３００は、ローカルネットワークやインターネットワークなどのネットワークである。
【００５８】
オンラインサービス４００とコンピューティングシステム５００は、ワークフローシステム１００の外部システム６００として様々なサービスやリソースの提供を行うシステムである。
【００５９】
ワークフローシステム１００、認証システム２００、オンラインサービス４００及びコンピューティングシステム５００は、ネットワーク３００を介して相互に接続される。外部システム６００に接続するタスクが実行された場合、ワークフローシステム１００は、ネットワーク３００を介して外部システム６００に接続する。
【００６０】
ワークフローシステム１００の動作について説明する。ワークフローシステム１００の動作には、認証動作と登録動作と実行動作がある。認証動作について説明する。
【００６１】
図５は、実施の形態１に係る処理システムを例示するブロック図である。
図６は、実施の形態１に係る処理システムの処理フローを例示するフローチャートである。
【００６２】
ワークフローシステム１００を使用してワークフローを定義しワークフローを実行させるためには、最初に認証を行う必要がある。このため、図５に示すように、ワークフローシステム１００を使用するユーザＵは、ワークフローシステム１００に接続する前に、認証システム２００に自身のアカウント情報Ａｃを含めた認証要求を送信する（ステップＳ１０１）。尚、ユーザを利用者と称することもある。
【００６３】
認証システム２００の処理受付部２１０は、ユーザＵからの認証要求を受付ける。処理受付部２１０は、認証要求に含まれるアカウント情報Ａｃを認証部２２０に送信する。
【００６４】
認証部２２０は、アカウント情報Ａｃとアカウント情報記憶部２６０に予め記憶されているアカウント情報Ａｃｃとを照合し、送信されてきたアカウント情報Ａｃが正しいか否かを判定する。認証部２２０は、判定の結果を認証トークン発行部２４０に通知する。
【００６５】
認証トークン発行部２４０は、送信されてきたアカウント情報Ａｃが正しい場合、認証情報記憶部２７０に認証トークンＴａを記憶する（ステップＳ１０３）。また、認証トークン発行部２４０は、ユーザＵが操作するワークフローシステム１００に対して認証トークンＴａを発行する（ステップＳ１０２）。
【００６６】
ワークフロー定義の登録動作について説明する。
図５及び図６に示すように、ユーザＵがワークフロー定義の登録を行う場合、ワークフローシステム１００の処理受付部１１０に対して登録要求を出す。
【００６７】
ワークフロー定義の登録要求を行う際には、ワークフローシステム１００を使用するため、ユーザＵが認証されている必要がある。このため、ユーザＵは、ワークフロー定義の登録要求と共に、認証トークンＴａと自身のアカウント情報Ａｃと認証トークン属性情報Ｔｂを処理受付部１１０に対して送信する。
【００６８】
ここで、認証トークンＴａは、ステップＳ１０２において発行されたものであり、認証システム２００で予め認証されたものである。アカウント情報Ａｃは、通常、ワークフロー実行時に外部システム６００に接続するために必要な情報である。実施の形態１においては、アカウント情報Ａｃではなく、認証トークンＴａを使用して接続する。また、認証トークン属性情報Ｔｂは、認証トークンＴａの属性情報であり、認証トークンＴａと共に払出されてもよい。
【００６９】
処理受付部１１０は、登録要求を受付ける（ステップＳ２０１）。処理受付部１１０は、認証トークンＴａを認証部１４０に送信する。
【００７０】
認証部１４０は、認証トークンＴａが認証システム２００が発行したものであることを確認するため、認証システム２００に対して認証トークンＴａの確認要求を行う（ステップＳ２０２）。
【００７１】
認証システム２００は、認証トークンＴａが既に認証済みか否かを確認することで、ワークフロー実行の権限を有するユーザか否かを確認する（ステップＳ２０３）。すなわち、認証トークンＴａの正当性を確認する。認証システム２００は、認証トークンＴａの正当性を確認した結果を認証部１４０に通知する。
【００７２】
ワークフロー実行の権限を有するユーザではない場合（ステップＳ２０３：Ｎｏ）、処理を終了する。
【００７３】
ワークフロー実行の権限を有するユーザである場合（ステップＳ２０３：Ｙｅｓ）、登録時認証照合部１５０は、ワークフロー定義内にアカウント情報Ａｃを必要とするタスクがないか否かを確認する（ステップＳ２０４）。
【００７４】
登録時認証照合部１５０は、アカウント情報Ａｃを必要とするタスクが有る場合（ステップＳ２０５：Ｙｅｓ）、ステップＳ２０１において取得したアカウント情報Ａｃを認証システム２００に送信し、認証要求を行う（ステップＳ２０６）。
【００７５】
登録時認証照合部１５０は、アカウント情報Ａｃを必要とするタスクが無い場合（ステップＳ２０５：Ｎｏ）、処理を終了する。
【００７６】
認証システム２００の処理受付部２１０は、認証要求を受付け、アカウント情報Ａｃを認証部２２０に通知する。
【００７７】
認証部２２０は、送られてきたアカウント情報Ａｃが、アカウント情報記憶部２６０に予め記憶されたアカウント情報Ａｃｃの中に存在するか否かを確認する（ステップＳ２０７）。具体的には、認証部２２０は、送られてきたアカウント情報Ａｃと、アカウント情報記憶部２６０に予め記憶されたアカウント情報Ａｃｃとの照合を行い、アカウント情報Ａｃが正しいか否かを確認する。
【００７８】
アカウント情報Ａｃが正しい場合、すなわち、アカウント情報Ａｃに誤りが無い場合（ステップＳ２０８：Ｙｅｓ）、認証トークン発行部２４０は認証トークンＴａを発行し、認証トークン属性情報発行部２５０は認証トークン属性情報Ｔｂを発行する（ステップＳ２０９）。発行された認証トークンＴａと認証トークン属性情報Ｔｂは、認証要求の応答としてワークフローシステム１００に送信される。認証情報記憶部２７０は、認証トークンＴａと認証トークン属性情報Ｔｂを記憶する。尚、図５に示す認証情報発行部２８０は、認証トークン発行部２４０と認証トークン属性情報発行部２５０を含む。
【００７９】
ワークフローシステム１００は、認証システム２００からの応答として認証トークンＴａと認証トークン属性情報Ｔｂを取得する。ワークフローシステム１００のワークフロー登録部１２０は、取得した認証トークンＴａと認証トークン属性情報Ｔｂを認証情報記憶部１９０に記憶する（ステップＳ２１０）。また、ワークフロー登録部１２０は、認証トークンＴａと認証トークン属性情報Ｔｂを取得したことで、次にワークフローを実行するため、ワークフロー定義をワークフロー定義記憶部１８０に記憶し登録する（ステップＳ２１１）。
【００８０】
ワークフロー実行動作について説明する。
図７は、実施の形態１に係る処理システムを例示するブロック図である。
図８は、実施の形態１に係る処理システムの処理フローを例示するフローチャートである。
【００８１】
ユーザＵは、ワークフローシステム１００の処理受付部１１０に対してワークフロー実行要求を行う。ワークフロー実行要求を行う際、ワークフロー実行要求と共にワークフローシステム１００を使用するための認証トークンＴａを送信する。処理受付部１１０は、ワークフロー実行要求を受付ける（ステップＳ３０１）。
【００８２】
処理受付部１１０は、認証トークンＴａが既に発行済みか否かを確認するため、認証部１４０に取得した認証トークンの確認依頼を行う。認証部１４０は、認証システム２００に認証トークンＴａの確認要求を行う（ステップＳ３０２）。
【００８３】
認証システム２００は、認証トークンＴａが既に発行済みか否かを確認し、ユーザＵがワークフロー実行の権限を有するユーザか否かを確認する（ステップＳ３０３）。既に発行済みの認証トークンの中に認証トークンＴａが有る場合、ユーザＵはワークフロー実行の権限を有するユーザであるものとする。また、既に発行済みの認証トークンの中に認証トークンＴａが無い場合、ユーザＵは、ワークフロー実行の権限を有するユーザではないものとする。
【００８４】
認証システム２００は、ステップＳ３０３の確認結果をワークフローシステム１００に送信する（ステップＳ３０４）。
【００８５】
ユーザＵがワークフロー実行の権限を有するユーザである場合（ステップＳ３０３：Ｙｅｓ）、ワークフローシステム１００は、ワークフロー実行部１３０にワークフロー実行を依頼する（ステップＳ３０５）。
【００８６】
ユーザＵがワークフロー実行の権限を有するユーザでない場合（ステップＳ３０３：Ｎｏ）、ワークフローシステム１００は、ワークフローを実行せずに終了する。
【００８７】
ワークフロー実行部１３０は、ワークフロー定義記憶部１８０から実行要求で指示のあったワークフロー定義を取得する（ステップＳ３０６）。
【００８８】
実行時属性情報判定部１６０は、ワークフロー実行時にユーザＵのアカウント情報Ａｃが必要かどうかを確認する（ステップＳ３０７）。
【００８９】
ワークフロー実行時にアカウント情報Ａｃが必要な場合（ステップＳ３０８：Ｙｅｓ）、実行時属性情報判定部１６０は、認証情報記憶部１９０から認証トークンＴａと認証トークン属性情報Ｔｂを取得する（ステップＳ３０９）。これは、ワークフロー実行時に、アカウント情報Ａｃの代わりに認証トークンＴａと認証トークン属性情報Ｔｂを使用するためである。
【００９０】
ワークフロー実行時にアカウント情報Ａｃが必要でない場合（ステップＳ３０８：Ｎｏ）、ワークフロー実行部１３０は、ワークフロー定義に従ってワークフローを実行する（ステップＳ３１３）。
【００９１】
ステップＳ３０９の後、実行時属性情報判定部１６０は、取得した認証トークン属性情報Ｔｂの内容を確認する。すなわち、実行時属性情報判定部１６０は、認証トークン属性情報Ｔｂがワークフロー実行時の条件を満たしているか否かを確認する（ステップＳ３１０）。認証トークン属性情報Ｔｂが、例えば、認証トークンＴａの有効期限である場合、実行時属性情報判定部１６０は、認証トークンＴａの有効期限が切れていないか否かを確認する。
【００９２】
認証トークン属性情報Ｔｂがワークフロー実行時の条件を満たしている場合（ステップＳ３１１：Ｙｅｓ）、ワークフロー実行部１３０は、認証トークンＴａをセットし、ワークフロー定義に従ってワークフローを実行する（ステップＳ３１２）。
【００９３】
認証トークン属性情報Ｔｂがワークフロー実行時の条件を満たしていない場合（ステップＳ３１１：Ｎｏ）、ワークフローシステム１００は、ワークフローを実行せずに終了する。
【００９４】
実施の形態１においては、ワークフロー実行時に認証トークンＴａを使用して外部システム６００に接続し処理を実行する。このため、ワークフロー定義内もしくはワークフローシステム１００の認証情報記憶部に、外部システム６００に接続するためのアカウント情報Ａｃを記憶する必要がない。このため、ワークフローシステム１００からユーザＩＤやパスワードなどのアカウント情報Ａｃが外部に漏洩することを防止することができる。
【００９５】
ワークフロー定義を他のユーザＷ（他の利用者）に使用させたい場合がある。例えば、事業者テナント（システム管理者）が定義したワークフロー定義を公開し、公開したワークフロー定義を新規利用者の申請や新規ユーザの追加などの各種申請に利用する場合である。テナントの新規利用者の申請やユーザ追加依頼などの作業は、一般的には事業者のみが許された作業であり、特別な権利が必要な作業である。また、このような作業は、申請毎に事業者の運用保守作業者によって手作業で行われる場合がある。
【００９６】
このような作業に対して実施の形態１を適用し、他のテナントからワークフロー実行を行って各種申請を行うことで事業者の手間をかけずに処理の自動化、運用コストの低減をすることができる。
【００９７】
［比較例］
比較例に係るワークフローシステムについて説明する。
【００９８】
図９は、比較例に係る処理システムを例示するブロック図である。
図１０は、比較例に係る処理システムを例示するブロック図である。
図１１は、比較例に係る処理システムを例示するブロック図である。
【００９９】
図９乃至図１１に示すように、比較例に係る処理システム１５内のワークフローシステム１０５は、実施の形態１に係るワークフローシステム１００と比べて、ワークフローシステム１０５内に、登録時認証照合部１５０と実行時属性情報判定部１６０と実行時認証トークン取得部１７０が設けられていない。
【０１００】
このため、ワークフローシステム１０５は、外部システム６００に接続する際に必要なユーザＩＤ、パスワードなどのアカウント情報Ａｃをワークフローシステム１０５内に記憶し、この情報を使用して外部システム６００に接続する。
【０１０１】
ワークフローシステム１０５においては、アカウント情報Ａｃを記憶するので、この情報が外部に漏洩することがある。その結果、外部へ接続する際に、ユーザのアカウント情報が漏洩することを防止するワークフローシステム、処理システム、方法及びプログラムを提供することは難しい。
【０１０２】
［実施の形態２］
図１２は、実施の形態２に係る認証トークン属性情報を例示した図である。
図１２に示すように、実施の形態２に係る認証トークン属性情報は、実施の形態１に係る認証トークン属性情報と比べて、認証トークン属性情報Ｔｂが、認証トークンＴａの有効期間、認証トークンＴａで外部システム６００に接続することが可能な実行回数、認証トークンＴａを使用し外部システム６００に対して実行する処理内容、及び外部システム６００に対する処理を実行する際の実行元を特定する情報を含む点が異なる。
【０１０３】
取得部１７０はトークンＴの有効期間を取得し、認証部１４０はトークンＴが有効期間内の場合、トークンＴが認証済みか否かの確認を行う。
【０１０４】
取得部１７０は外部システム６００に接続可能な実行回数を取得し、実行部１３０は外部システムに対する接続を実行回数だけ実行する。
【０１０５】
取得部１７０は認証トークンＴａを使用して実行する処理内容を取得し、実行部１３０は処理内容に従った処理を実行する。
【０１０６】
取得部１７０は外部システム６００に対する処理を実行する際の実行元を特定する情報を取得し、実行部１３０は実行元から実行要求があった場合、外部システム６００に対する処理を実行する。実行元を特定する情報は、例えば、実行元のＩＰアドレスなどである。
【０１０７】
認証トークン属性情報Ｔｂが有効期間を含むことにより、認証トークンＴａに有効期間を設けることができる。これにより、ユーザＵによるワークフローシステム１００の使用を適切な期間に制限し、セキュリティを向上できる。有効期間は、日や時間などで指定する。
【０１０８】
認証トークン属性情報Ｔｂが実行回数を含むことにより、接続可能な実行回数を指定して他のユーザＷが不正にワークフローを実行することを防止できる。
【０１０９】
認証トークン属性情報Ｔｂが処理内容を含むことにより、認証トークンＴａを使用して実行する処理のうち、特定の処理を指定して他のユーザＷが不正に実行することを防止できる。特定の処理は、例えば、ＡＰＩの処理などである。
【０１１０】
認証トークン属性情報Ｔｂが実行元を特定する情報を含むことにより、特定のシステムからの実行処理を許可しないようにできる。例えば、実行元のＩＰアドレスを指定し、該ＩＰアドレスからの実行処理を許可しない。
【０１１１】
認証トークン属性情報Ｔｂがこれらの情報を含むことにより、セキュリティの観点から他のユーザＷがワークフローシステム１００を不正に使用することを防止できる。また、認証トークンＴａ発行元のユーザＵが認証トークン属性情報Ｔｂを任意に指定することもできるので、利便性がさらに向上する。
【０１１２】
［実施の形態３］
図１３は、認証トークンを与えるタイミングを例示した図である。
図１３は、ワークフロー実行時に必要な認証トークンＴａを与えるタイミングを示す。尚、ワークフローをＷＦと称することもある。
【０１１３】
図１３において、前述の実施の形態１及び実施の形態２は、認証トークンＴａを与えるタイミングが「ＷＦ登録時」に該当する。これに対して実施の形態３は、認証トークンＴａを与えるタイミングが「ＷＦ実行開始時」又は「ＷＦ実行中」である。
【０１１４】
「ＷＦ実行開始時」に認証トークンＴａを与える方法は、ＷＦ登録時にＷＦ定義とアカウント情報ＡｃをユーザＵが入力して得られる認証トークンＴａをユーザＵ自身が保持する。そして、ＷＦ実行時に認証トークンＴａを与えてＷＦ実行を行う方法である。
【０１１５】
「ＷＦ実行開始時」の方法は、予め認証情報記憶部１９０に認証トークンＴａを記憶する必要が無い。すなわち、「ＷＦ実行開始時」の方法は、ワークフローシステム１００内にアカウント情報Ａｃ及び認証トークンＴａを記憶しない方法である。
【０１１６】
「ＷＦ実行開始時」の方法は、ＷＦ実行時以外はアカウント情報Ａｃ及び認証トークンＴａをワークフローシステム１００内に保持しないので、セキュリティ面で有利である。また、「ＷＦ実行開始時」の方法は、ＷＦ実行時に認証トークンＴａを何らかの方法で与える必要があるため、ワークフローシステム１００がスケジューリングしたタイミングでＷＦ実行を行う自動実行処理は難しい。人手による実行や外部システムからの実行に適している。
【０１１７】
「ＷＦ実行中」に認証トークンＴａを与える方法は、ＷＦ実行中に認証トークンＴａが必要となったタイミングで実行元に問い合わせし回答があるまで待つ対話式の方法である。
【０１１８】
「ＷＦ実行中」の方法は、認証トークンＴａが必要となったタイミングで初めて認証トークンＴａを与える。このため、「ＷＦ実行中」の方法において、ワークフローシステム１００内で保持する認証トークンＴａの時間は、「ＷＦ登録時」の方法、及び「ＷＦ実行開始時」の方法と比べて小さくなる。
【０１１９】
「ＷＦ実行中」の方法は、必要となったタイミングまでアカウント情報Ａｃ及び認証トークンＴａをワークフローシステム１００内に保持しないので、セキュリティ面で有利である。また、「ＷＦ実行中」の方法は、ユーザＵによってワークフローシステム１００の操作を行う場合に適するが、対話式での実行となるため自動実行処理は難しい。
【０１２０】
尚、「ＷＦ登録時」に認証トークンＴａを与える方法は、既に認証トークン等を与えているので、ＷＦ実行時に改めて認証トークン等を与える必要が無く自動実行処理に適している。
【０１２１】
また、「ＷＦ実行開始時」と「ＷＦ実行中」の方法は、ＷＦ登録時に認証トークンＴａをワークフローシステム１００内に保持せず、ユーザＵに返却する方法である。登録時認証照合部１５０から認証システム２００に認証要求し、これに対して認証システム２００から返却される認証トークンＴａは、認証情報記憶部１９０には記憶されずに、ユーザＵに返却される。
【０１２２】
また、上記の実施の形態では、本発明をハードウェアの構成として説明したが、本発明はこれに限定されるものではない。本発明は、各構成要素の処理を、ＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現することも可能である。
【０１２３】
上記の実施の形態において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実態のある記録媒体(trangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programable ROM）、ＥＰＲＯＭ(Erasable PROM)）、フラッシュＲＯＭ、ＲＡＭ(Random Access Memory)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【０１２４】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【０１２５】
１…タスク  １０、１５…処理システム  １００…ワークフローシステム  １１０…処理受付部  １２０…ワークフロー登録部  １３０…ワークフロー実行部  １４０…認証部  １５０…登録時認証照合部  １６０…実行時属性情報判定部  １７０…実行時認証トークン取得部  １８０…ワークフロー定義記憶部  １９０…認証情報記憶部  ２００…認証システム  ２１０…処理受付部  ２２０…認証部  ２３０…認証トークン確認部  ２４０…認証トークン発行部  ２５０…認証トークン属性情報発行部  ２６０…アカウント情報記憶部  ２７０…認証情報記憶部  ２８０…認証情報発行部  ３００…ネットワーク  ４００…オンラインサービス  ５００…コンピューティングシステム  ６００…外部システム  ６１０…実行処理部  Ａｃ、Ａｃｃ…アカウント情報  Ｒｅ１…参照指示  Ｔ…トークン  Ｔａ…認証トークン  Ｔｂ…認証トークン属性情報  Ｔｈ…認証情報  Ｕ、Ｗ…ユーザ
【図１】
2018160098.tif 000003
【図２】
2018160098.tif 000004
【図３】
2018160098.tif 000005
【図４】
2018160098.tif 000006
【図５】
2018160098.tif 000007
【図６】
2018160098.tif 000008
【図７】
2018160098.tif 000009
【図８】
2018160098.tif 000010
【図９】
2018160098.tif 000011
【図１０】
2018160098.tif 000012
【図１１】
2018160098.tif 000013
【図１２】
2018160098.tif 000014
【図１３】
2018160098.tif 000015