JP2023518158A - アプリケーション・ロボットによるログイン方法、システム、プログラム - Google Patents

アプリケーション・ロボットによるログイン方法、システム、プログラム Download PDF

Info

Publication number
JP2023518158A
JP2023518158A JP2022549097A JP2022549097A JP2023518158A JP 2023518158 A JP2023518158 A JP 2023518158A JP 2022549097 A JP2022549097 A JP 2022549097A JP 2022549097 A JP2022549097 A JP 2022549097A JP 2023518158 A JP2023518158 A JP 2023518158A
Authority
JP
Japan
Prior art keywords
computer system
application process
security zone
login
computer
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.)
Pending
Application number
JP2022549097A
Other languages
English (en)
Inventor
ザイツ、ウーヴェ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2023518158A publication Critical patent/JP2023518158A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0209Architectural arrangements, e.g. perimeter networks or demilitarized zones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Stored Programmes (AREA)
  • Manipulator (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Automatic Assembly (AREA)
  • Safety Devices In Control Systems (AREA)

Abstract

アプリケーション・ロボットによるログイン方法であって、第1のコンピュータ・システム上でのアプリケーション・プロセスの実行を含み、第1のコンピュータ・システムは第1のセキュリティ・ゾーン内に配置され、アプリケーション・プロセスのアクセス資格情報はストレージ・デバイスに記憶され、ストレージ・デバイスは第2のセキュリティ・ゾーン内に配置される。アプリケーション・プロセスはさらなるアプリケーション・プロセスと対話し、さらなるアプリケーション・プロセスは第3のコンピュータ・システム上で実行され、さらなるアプリケーション・プロセスはさらなるアプリケーション・プロセスのGUIによって制御される。アプリケーション・ロボットが第1のコンピュータ・システム上で実行され、アプリケーション・ロボットはアプリケーション・プロセスを実行し、アクセス資格情報を使用してアプリケーション・プロセスへのアクセスを取得するために第2のコンピュータ・システムから第1のコンピュータ・システムへのログインが実行される。

Description

本発明は、ワークステーション上でユーザによって実行されるプロセスの自動化の分野に関する。
通常、サービス・ネットワーク内に配置されたコンピュータ・システムによって、自動化されたプロセスを実行することができる。自動化されたプロセスを開始するには、ユーザは典型的には企業ネットワークからサービス・ネットワークにログインする必要があり、サービス・ネットワークは企業ネットワークの外部に配置されている。企業ネットワークはハッカーの標的になり得る。そのため、企業ネットワークに関連するセキュリティの問題は、サービス・ネットワークに関連するセキュリティの問題にも影響を与え得る。サービス・ネットワークは、いくつかの自動化されたプロセスをサービス提供するいくつかの異なるクライアントに使用され得る。そのため、単一のクライアントが危険にさらされた場合、サービス・ネットワークも危険にさらされ、いくつかの自動化されたプロセスによって処理されたデータが覗き見(spied out)されるリスクがある。
様々な実施形態は、独立請求項の主題によって記載する、コンピュータ実装方法、コンピュータ・プログラム製品、およびコンピュータ・システムを提供する。有利な実施形態を従属請求項に記載する。本発明の実施形態は、相互に排他的でなければ、互いに自由に組み合わせることができる。
一態様では、本発明はコンピュータ実装方法に関する。この方法は、第1のコンピュータ・システム上でアプリケーション・プロセスを実行することであって、第1のコンピュータ・システムは第1のセキュリティ・ゾーン内に配置される、実行することと、アプリケーション・プロセスのアクセス資格情報(access credential)をストレージ・デバイスに記憶することであって、ストレージ・デバイスは第2のセキュリティ・ゾーン内に配置され、第1のセキュリティ・ゾーンおよび第2のセキュリティ・ゾーンはファイアウォールを介して通信可能に結合され、第1のセキュリティ・ゾーンは第3のセキュリティ・ゾーンと通信可能に結合され、アプリケーション・プロセスはさらなるアプリケーション・プロセスと対話し、第3のコンピュータ・システム上でさらなるアプリケーション・プロセスを実行し、さらなるアプリケーション・プロセスは、さらなるアプリケーション・プロセスのグラフィカル・ユーザ・インターフェースによって制御され、第3のコンピュータ・システムは第3のセキュリティ・ゾーン内に配置される、記憶することと、第1のコンピュータ・システム上でアプリケーション・ロボットを実行することであって、第1のコンピュータ・システムは第3のコンピュータ・システムと通信可能に結合され、アプリケーション・ロボットはアプリケーション・プロセスを実行し、アプリケーション・プロセスを実行することは、第1の架空のユーザ(imaginary user)がさらなるアプリケーション・プロセスのグラフィカル・ユーザ・インターフェースを使用するステップをシミュレートすることを含む、実行することと、アクセス資格情報を使用してアプリケーション・プロセスへのアクセスを取得するために第2のコンピュータ・システムから第1のコンピュータ・システムへのログインを実行することであって、第2のコンピュータ・システムは第2のセキュリティ・ゾーン内に配置され、アプリケーション・プロセスへのアクセスを取得することによって、アプリケーション・プロセスを初期化(initialize)することができる、実行することと、を含む。
他の態様では、本発明は、コンピュータ可読プログラム・コードを具現化するコンピュータ可読記憶媒体を含むコンピュータ・プログラム製品であって、コンピュータ可読プログラム・コードは先行する実施形態による方法の特徴を実装するように構成される、コンピュータ・プログラム製品に関する。
本発明による他の態様では、コンピュータ・プログラム製品は、プログラム命令を具現化するコンピュータ可読記憶媒体を含み、プログラム命令は、コンピュータによって実行可能であり、コンピュータに、コンピュータによって、第1のコンピュータ・システム上でアプリケーション・プロセスを実行することであって、第1のコンピュータ・システムは第1のセキュリティ・ゾーン内に配置される、実行することと、コンピュータによって、アプリケーション・プロセスのアクセス資格情報をストレージ・デバイスに記憶することであって、ストレージ・デバイスは第2のセキュリティ・ゾーン内に配置され、第1のセキュリティ・ゾーンおよび第2のセキュリティ・ゾーンはファイアウォールを介して通信可能に結合され、第1のセキュリティ・ゾーンは第3のセキュリティ・ゾーンと通信可能に結合され、アプリケーション・プロセスはさらなるアプリケーション・プロセスと対話し、第3のコンピュータ・システム上でさらなるアプリケーション・プロセスを実行し、さらなるアプリケーション・プロセスは、さらなるアプリケーション・プロセスのグラフィカル・ユーザ・インターフェースによって制御され、第3のコンピュータ・システムは第3のセキュリティ・ゾーン内に配置される、記憶することと、コンピュータによって、第1のコンピュータ・システム上でアプリケーション・ロボットを実行することであって、第1のコンピュータ・システムは第3のコンピュータ・システムと通信可能に結合され、アプリケーション・ロボットはアプリケーション・プロセスを実行し、アプリケーション・プロセスを実行することは、第1の架空のユーザがさらなるアプリケーション・プロセスのグラフィカル・ユーザ・インターフェースを使用するステップをシミュレートすることを含む、実行することと、コンピュータによって、アクセス資格情報を使用してアプリケーション・プロセスへのアクセスを取得するために第2のコンピュータ・システムから第1のコンピュータ・システムへのログインを実行することであって、第2のコンピュータ・システムは第2のセキュリティ・ゾーン内に配置され、アプリケーション・プロセスへのアクセスを取得することによって、アプリケーション・プロセスを初期化することができる、実行することと、を行わせる。
他の態様では、本発明は、コンピュータ・プロセッサと、コンピュータ可読記憶媒体と、コンピュータ可読記憶媒体に記憶されたプログラム命令と、を含むコンピュータ・システムを含み、プログラム命令は、プロセッサによって実行可能であり、コンピュータ・システムに、第1のコンピュータ・システム上でアプリケーション・プロセスを実行することであって、第1のコンピュータ・システムは第1のセキュリティ・ゾーン内に配置される、実行することと、アプリケーション・プロセスのアクセス資格情報をストレージ・デバイスに記憶することであって、ストレージ・デバイスは第2のセキュリティ・ゾーン内に配置され、第1のセキュリティ・ゾーンおよび第2のセキュリティ・ゾーンはファイアウォールを介して通信可能に結合され、第1のセキュリティ・ゾーンは第3のセキュリティ・ゾーンと通信可能に結合され、アプリケーション・プロセスはさらなるアプリケーション・プロセスと対話し、第3のコンピュータ・システム上でさらなるアプリケーション・プロセスを実行し、さらなるアプリケーション・プロセスは、さらなるアプリケーション・プロセスのグラフィカル・ユーザ・インターフェースによって制御され、第3のコンピュータ・システムは第3のセキュリティ・ゾーン内に配置される、記憶することと、第1のコンピュータ・システム上でアプリケーション・ロボットを実行することであって、第1のコンピュータ・システムは第3のコンピュータ・システムと通信可能に結合され、アプリケーション・ロボットはアプリケーション・プロセスを実行し、アプリケーション・プロセスを実行することは、第1の架空のユーザがさらなるアプリケーション・プロセスのグラフィカル・ユーザ・インターフェースを使用するステップをシミュレートすることを含む、実行することと、アクセス資格情報を使用してアプリケーション・プロセスへのアクセスを取得するために第2のコンピュータ・システムから第1のコンピュータ・システムへのログインを実行することであって、第2のコンピュータ・システムは第2のセキュリティ・ゾーン内に配置され、アプリケーション・プロセスへのアクセスを取得することによって、アプリケーション・プロセスを初期化することができる、実行することと、を行わせる、システムに関する。
以下、本発明の実施形態を単なる例として、図面を参照してより詳細に説明する。
第1のコンピュータ・システム、第2のコンピュータ・システム、および第3のコンピュータ・システムを含むコンピュータ・システムのブロック図である。 図1に示す第1のコンピュータ・システム、第2のコンピュータ・システム、および第3のコンピュータ・システムの詳細なブロック図である。 図2に示す第2のコンピュータ・システムから図2に示す第1のコンピュータ・システムへのログインを実行するための方法のフローチャートである。
本発明の様々な実施形態の説明は、例示の目的で提示しているが、網羅的であることも、開示した実施形態に限定されることも意図していない。記載した実施形態の範囲および思想から逸脱することなく、多くの修正および変形が当業者には明らかであろう。本明細書で使用する用語は、実施形態の原理、実際の適用、または市場に見られる技術に対する技術的改善を最もよく説明するために、または当業者が本明細書に開示した実施形態を理解できるようにするために選択している。
本発明の方法は、第1のコンピュータ・システムへのログインを実行するためにアクセス資格情報が第1のセキュリティ・ゾーン内に記憶される必要があることを防止し得る。これにより、第3のセキュリティ・ゾーンに侵入し、第3のセキュリティ・ゾーンを介して第1のセキュリティ・ゾーンに入ることによって、アクセス資格情報が覗き見されるリスクが減少し得る。そのため、本発明の方法は、第3のセキュリティ・ゾーンに入ったハッカーが第1のコンピュータ・システムにログインし、アプリケーション・プロセスを開始し、さらなるアプリケーション・プロセスのグラフィカル・ユーザ・インターフェース(GUI)へのアクセスを取得することによって、第3のコンピュータ・システムで処理されるデータへのアクセスを取得し得ることを防止し得る。
本明細書で使用する「コンピュータ・システム」という用語は、コンピュータ可読プログラム・コードを実行することが可能なエンティティを指す。たとえば、「コンピュータ・システム」は、仮想コンピュータ・システム、またはハードウェア・コンポーネントを有するコンピュータ・システムであり得る。
本明細書で使用する「さらなるアプリケーション・プロセス」という用語は、第3のセキュリティ・ゾーン内でデータを処理するコンピュータ制御プロセスを指す。データは、製品の数量の値、材料の数量の値などの産業データであり得る。たとえば、さらなるアプリケーション・プロセスは、コンピュータ・プログラム製品の任意のアプリケーション・プロセスであり得る。
本明細書で使用する「アプリケーション・プロセス」という用語はコンピュータ制御プロセスを指し、アプリケーション・プロセスを実行すると、さらなるアプリケーション・プロセスのGUIの自動化された制御が引き起こされる。アプリケーション・プロセスは、ロボット・プロセス自動化(robot process automation)の分野で使用される任意のタイプのコンピュータ・プログラム製品を使用してプログラムされ得る。アプリケーション・プロセスは、第1のコンピュータ・システム上で実行可能なコンピュータ・プログラム製品によって実行され得る。実行可能なコンピュータ・プログラム製品は、ロボット・プロセス自動化の分野で使用されるコンピュータ・プログラム製品によって記述されたコンピュータ・コードをコンパイルすることによって得られる。
本明細書で使用する「アプリケーション・プロセスのアクセス資格情報」という用語は、アプリケーション・プロセスへのアクセスを取得するのに必要な情報、たとえば、パスワードまたは証明書などを指す。
第1のセキュリティ・ゾーンは、第1のコンピュータ・システムおよびいくつかのさらなる第1のコンピュータ・システムからなる第1のネットワークによって形成され得る。第1のネットワーク内で、第1のネットワークのコンピュータ・システムは、たとえば、SSH(セキュア・シェル)トンネル、VPN(仮想プライベート・ネットワーク)接続、または任意のタイプの暗号化された接続などの第1の安全な接続を介して第1のネットワークの外部からアクセス可能であり得る。
第2のセキュリティ・ゾーンは、第2のコンピュータ・システムおよびいくつかのさらなる第2のコンピュータ・システムからなる第2のネットワークによって形成され得る。第2のネットワーク内で、第2のネットワークのコンピュータ・システムは、たとえばVPN接続または任意のタイプの暗号化された接続などの第2の安全な接続を介して第2のネットワークの外部からアクセス可能であり得る。
第3のセキュリティ・ゾーンは、第3のコンピュータ・システムおよびいくつかのさらなる第3のコンピュータ・システムからなる第3のネットワークによって形成され得る。第3のネットワーク内で、第3のネットワークのコンピュータ・システムは、たとえばVPN接続または任意のタイプの暗号化された接続などの第3の安全な接続を介して第3のネットワークの外部からアクセス可能であり得る。
本明細書で使用する「ファイアウォール」という用語は、第1のセキュリティ・ゾーンと第2のセキュリティ・ゾーンとの間、好ましくは第1のコンピュータ・システムと第2のコンピュータ・システムとの間のデータ・トラフィックの制限を可能にする、第1もしくは第2またはその両方のコンピュータ・システムの任意のハードウェアもしくはソフトウェアまたはその両方、あるいは第1もしくは第2またはその両方のコンピュータ・システムのハードウェアもしくはソフトウェアまたはその両方の設定を指す。たとえば、ファイアウォールは、ストレージ・デバイスに記憶されたアクセス資格情報に第1のセキュリティ・ゾーンからアクセス不可能になるように構成され得る。ファイアウォールは、第1のセキュリティ・ゾーン内、第2のセキュリティ・ゾーン内、または第1のセキュリティ・ゾーンと第2のセキュリティ・ゾーンとの間に配置され得る。
一実施形態によれば、ファイアウォールは、第1のコンピュータ・システムへのログインが第2のコンピュータ・システムからのみ実行できるように構成される。ファイアウォールのそのような構成により、第1のセキュリティ・ゾーン、または第2のセキュリティ・ゾーンを除く他のセキュリティ・ゾーン内に配置されたコンピュータ・システムによってアプリケーション・プロセスが危険にさらされるリスクがさらに減少し得る。
一実施形態によれば、ログインはログイン・ロボットによって実行され、ログイン・ロボットは、第2の架空のユーザが第2のコンピュータ・システムから第1のコンピュータ・システムへのログインを実行するステップをシミュレートする。この実施形態により、ログイン・ロボットを使用してログインを自動化することが可能になる。ログインが自動化される場合、第1のユーザが第2のセキュリティ・ゾーン内に位置するデスクトップを使用することなどによってログインが手動で実行される実施形態と比較して、より複雑なアクセス資格情報が使用され得る。さらに、第2の架空のユーザが第1のコンピュータ・システムへのログインを実行するステップをシミュレートすることにより、第1のユーザの代わりになり得る。それに加えて、ログイン・ロボットは、例示的な実行スクリプト(run script)を介して自動的に初期化され得る。
本明細書で使用する「ロボット」という用語は、例示的なコンピュータ・システム、および例示的なコンピュータ・システム上で実行される例示的なコンピュータ・プログラム製品を含むエンティティを指し、例示的なコンピュータ・プログラム製品を実行すると、架空のユーザが例示的なアプリケーション・プロセスのインターフェース上で実行するアクションがシミュレートされる。例示的なアプリケーション・プロセスは、例示的なコンピュータ・システムまたはさらなる例示的なコンピュータ・システム上で実行され得る。インターフェースは、例示的なアプリケーション・プロセスの例示的なGUIであるか、または例示的なコンピュータ・システムもしくはさらなる例示的なコンピュータ・システムの例示的なコマンド入力型シェル(command-oriented shell)であり得、例示的なGUIまたは例示的なコマンド入力型シェルを介して記入(enter)された記入データ(entry data)は例示的なアプリケーション・プロセスによって処理され得る。アプリケーション・ロボットに言及する場合、例示的なアプリケーション・プロセスはさらなるアプリケーション・プロセスであり得る。ログイン・ロボットに言及する場合、例示的なアプリケーション・プロセスは、ログインを実行するためのアプリケーション、たとえばリモート・デスクトップ・アプリケーションをサポートするコンピュータ・プログラム製品であり得る。
一実施形態によれば、アプリケーション・プロセスはGUIを含む。アプリケーション・プロセスのグラフィカル・ユーザ・インターフェースは、コマンド入力型シェルを介した使用法と比較して、アプリケーション・プロセスの簡単な使用法を提供し得る。
一実施形態によれば、アプリケーション・プロセスはグラフィカル・ユーザ・インターフェースを含み、ログインはログイン・ロボットによって実行され、ログイン・ロボットは第2の架空のユーザが第2のコンピュータ・システムから第1のコンピュータ・システムへのログインを実行するステップをシミュレートし、ログイン・ロボットはアプリケーション・プロセスのGUIへのアクセスを取得し、アプリケーション・プロセスのGUIを使用してアプリケーション・プロセスを初期化する。この実施形態により、アプリケーション・プロセスがGUIを含む場合に、ログイン・ロボットを使用してログインを自動化することが可能になり得る。
一実施形態によれば、この方法は、第2のコンピュータ・システムと第1のコンピュータ・システムとの間に安全な接続を確立し、安全な接続を使用して第1のコンピュータ・システムにアクセス情報を提供することをさらに含み、アクセス情報はさらなるアプリケーション・プロセスへのアクセスを提供し、アクセス情報を受信したことに応答して、アプリケーション・ロボットは、第1の架空のユーザがさらなるアプリケーション・プロセスのGUIを使用するステップをシミュレートし、アクセス情報を使用してさらなるアプリケーション・プロセスへのログインを実行する。この実施形態によれば、第1のセキュリティ・ゾーン内で、アクセス情報は安全な接続を介して第2のセキュリティ・ゾーンからのみ受信することができる。この実施形態は、アクセス情報のソースとして第2のセキュリティ・ゾーンを使用し得る。これにより、アクセス情報が第1のセキュリティ・ゾーン内に記憶される必要があることが防止され得る。これにより、第1のセキュリティ・ゾーン内に配置されたコンピュータ・システムによってさらなるアプリケーション・プロセスが危険にさらされるリスクが減少し得る。これにより、さらなるアプリケーション・プロセスによって処理される機密データが覗き見されるリスクが減少し得る。安全な接続は、たとえば、SSHトンネル、VPN接続、または任意のタイプの暗号化された接続を含み得る。
一実施形態によれば、第1のコンピュータ・システムは、専用アプリケーション・サーバとして実現される。専用サーバは、アプリケーション・プロセスおよびさらなるアプリケーション・プロセスを実行するようにのみ構成され得る。これにより、アプリケーション・プロセスおよびさらなるアプリケーション・プロセスに関して、第1のコンピュータ・システムのソフトウェアおよびハードウェア・コンポーネントを最適化する可能性が与えられ得る。
一実施形態によれば、第3のコンピュータ・システムは、非専用アプリケーション・サーバとして実現される。その実施形態によれば、第3のコンピュータ・システムは、さらなるアプリケーション・プロセスのみでなく、少なくとも他のアプリケーション・プロセスも実行するように構成される。これにより、本発明の方法の柔軟な実装が提供され得る。
一実施形態によれば、第2のセキュリティ・ゾーンおよび第3のセキュリティ・ゾーンは、第1のセキュリティ・ゾーンを介して間接的にのみ通信可能に結合される。これにより、第3のセキュリティ・ゾーンが危険にさらされた場合に第2のセキュリティ・ゾーンが危険にさらされるリスクが減少し得る。
一実施形態によれば、第1のセキュリティ・ゾーンから実行される第1のコンピュータ・システムへの対話型ログイン(interactive login)が無効化される。本明細書で使用する「第1のセキュリティ・ゾーンから実行される」という用語は、第1のセキュリティ・ゾーン内に配置されたデバイスから対話型ログインを実行することを指す。第1のセキュリティ・ゾーン内に配置されたデバイスからの対話型ログインを無効化することにより、第1のコンピュータ・システムが危険にさらされるリスクがさらに減少し得る。対話型ログインは、第1のコンピュータ・システムのコマンド入力型シェルまたは第1のコンピュータ・システムのGUIもしくはアプリケーション・プロセスのGUIを介した対話型ログインを含み得る。
一実施形態によれば、ログインを実行することおよびアプリケーション・ロボットを実行することは、実行スクリプトを介してキューにスケジュールされ、実行スクリプトは第1のセキュリティ・ゾーン内で実行され、実行スクリプトを実行することは、ログインの実行、続いてアプリケーション・ロボットの実行を提供する。これにより、第2のセキュリティ・ゾーンの外部から、たとえば第1のセキュリティ・ゾーンからログインを開始することが可能になり得る。さらに、実行スクリプトを介してログインを実行することおよびアプリケーション・ロボットを実行することを順にスケジュールすることにより、ログインが発生する前にアプリケーション・プロセスの実行が開始されることが防止され得る。これにより、ログインを実行せずにアプリケーション・ロボットが初期化されることが防止され得る。本明細書で使用する「実行スクリプト」という用語は、スケジュールされたやり方でのログインの実行とアプリケーション・ロボットの実行とを可能にする任意のソフトウェアを指す。実行スクリプトは、シェル・スクリプト、コンピュータ可読プログラム・コード、または記憶された順序付きリストとして構成され得る。
一実施形態によれば、この方法は、第4のコンピュータ・システム上で第2のアプリケーション・ロボットを実行することをさらに含み、第4のコンピュータ・システムは第1のセキュリティ・ゾーン内に配置され、第5のコンピュータ・システムと通信可能に結合され、第2のアプリケーション・ロボットは第2のアプリケーション・プロセスを実行し、第2のアプリケーション・プロセスを実行することは、第2のさらなるアプリケーション・プロセスのGUIを使用することと、さらなる第1の架空のユーザが第2のさらなるアプリケーション・プロセスのGUIを使用するステップをシミュレートすることとを含み、第2のさらなるアプリケーション・プロセスは第5のコンピュータ・システム上で動作し、第2のさらなるアプリケーション・プロセスは第2のさらなるアプリケーション・プロセスのGUIによって制御され、第5のコンピュータ・システムは第3のセキュリティ・ゾーンに配置される。この方法のこの実施形態は、第2のアプリケーション・プロセスへのアクセスを取得するために第4のコンピュータ・システムへのログインを実行することをさらに含み、第2のアプリケーション・プロセスへのアクセスを取得することによって第2のアプリケーション・プロセスを初期化することができ、第4のコンピュータ・システムへのログインは第2のアクセス資格情報を使用して第2のセキュリティ・ゾーンから第2のログイン・ロボットによって実行され、第2のログイン・ロボットは、さらなる第2の架空のユーザが第4のコンピュータ・システムへのログインを実行するステップをシミュレートし、第1のコンピュータ・システムへのログインを実行することおよび第4のコンピュータ・システムへのログインを実行することは実行スクリプトを介してスケジュールされ、第2のアクセス資格情報は第2のセキュリティ・ゾーン内に記憶される。
この実施形態は、本発明の方法の柔軟な実装を提供し得る。たとえば、アプリケーション・ロボットの実行のみでなく、第2のアプリケーション・ロボットの実行も、実行スクリプトを介して自動的に開始され得る。それによって、さらなるアプリケーション・プロセスおよび第2のさらなるアプリケーション・プロセスは、実行スクリプトを介して自動的にキュー内でまたは並行して実行され得る。これにより、いくつかのプロセスの自動化機能が強化され、人的資源の量が削減され得る。
一実施形態によれば、この方法は、ジャンプ・サーバを介してログイン・ロボットを起動することをさらに含み、ジャンプ・サーバは、第1のセキュリティ・ゾーン内に配置され、第1のセキュリティ・ゾーンと第3のセキュリティ・ゾーンとの間のさらなる安全な接続を介して通信可能に結合され、ログイン・ロボットを起動するためにさらなる安全な接続を介して第3のセキュリティ・ゾーンからアクセス可能である。さらなる安全な接続は、SSHトンネルまたはVPN接続を含み得る。さらなる安全な接続を使用することにより、第3のセキュリティ・ゾーンからジャンプ・サーバにログインするための安全な方法が提供され得る。ジャンプ・サーバを介してログイン・ロボットを起動することにより、ユーザは、第1のコンピュータ・システムへのアクセスを取得する必要なく、さらなる安全な接続を介して第3のセキュリティ・ゾーンからさらなるアプリケーション・プロセスを開始することが可能になり得る。これは、第3のセキュリティ・ゾーンを介して第1のコンピュータ・システムを危険にさらすリスクが低いままであり得る一方で、ユーザが第3のセキュリティ・ゾーンからさらなるアプリケーション・プロセスを開始することが可能であり得るので、有利な実施形態である。
一実施形態によれば、この方法は、ジャンプ・サーバを介して実行スクリプトを制御することをさらに含み、ジャンプ・サーバは、第1のセキュリティ・ゾーン内に配置され、第1のセキュリティ・ゾーンと第3のセキュリティ・ゾーンとの間のさらなる安全な接続によって通信可能に結合され、ジャンプ・サーバを介して実行スクリプトを制御するためにさらなる安全な接続を介して第3のセキュリティ・ゾーンからアクセス可能である。これにより、第1のコンピュータ・システムへのアクセスを取得する必要なく、第3のセキュリティ・ゾーンから実行スクリプトを開始することが可能になり得る。これは、第3のセキュリティ・ゾーンを介して第1のコンピュータ・システムを危険にさらすリスクが低いままであり得る一方で、第3のセキュリティ・ゾーンから実行スクリプトを開始することが可能であり得るので、さらなる有利な実施形態であり得る。
一実施形態によれば、この方法は、第2のセキュリティ・ゾーン内に暗号で保護されたアクセス情報を記憶することをさらに含む。これにより、アクセス情報が覗き見されるリスクが防止され得る。
一実施形態によれば、この方法は、ログイン・ロボット・アクセス資格情報を使用してログイン・ロボットへのログインを実行することをさらに含み、ログイン・ロボットはログイン・ロボット・アクセス資格情報を使用することによってのみアクセス可能であり、ログイン・ロボット・アクセス資格情報は第2のセキュリティ・ゾーン内に記憶される。この実施形態により、ログイン・ロボットの使用のセキュリティが強化され得る。結果として、この実施形態により、アプリケーション・ロボットの使用のセキュリティが強化され、その理由は、その実施形態によれば、アクセス資格情報およびログイン・ロボット・アクセス資格情報を使用することによってのみアプリケーション・ロボットが実行されるためである。
図1は、コンピュータ・システム10のブロック図である。コンピュータ・システム10は、本開示に含まれる方法ステップを実装するのに適している。コンピュータ・システムは少なくとも、第1のコンピュータ・システム100、第2のコンピュータ・システム120、および第3のコンピュータ・システム140を含む。
図2は、第1のコンピュータ・システム100、第2のコンピュータ・システム120、および第3のコンピュータ・システム140をより詳細に示している。第1のコンピュータ・システム100は、第1のバス106によって相互に結合された第1のプロセッサ102、第1のメモリ103、第1のI/O(入力/出力)回路104、および第1のネットワーク・インターフェース105を含み得る。
第1のプロセッサ102は、1つまたは複数のプロセッサ(たとえば、マイクロプロセッサ)を表し得る。第1のメモリ103は、揮発性メモリ素子(たとえば、ランダム・アクセス・メモリ(RAM、たとえば、DRAM、SRAM、SDRAMなど))、および不揮発性メモリ素子(たとえば、ROM、消去可能プログラム可能読み取り専用メモリ(EPROM)、電子的消去可能プログラム可能読み取り専用メモリ(EEPROM)、プログラム可能読み取り専用メモリ(PROM))の任意の1つまたは組み合わせを含み得る。第1のメモリ103は、様々な構成要素が互いに離れて位置するが、第1のプロセッサ102によってアクセスされる分散アーキテクチャを有し得ることに留意されたい。
第1の永続ストレージ・デバイス107と組み合わせた第1のメモリ103が、ローカルのデータおよび命令の記憶のために使用され得る。第1のストレージ・デバイス107は、第1のI/O回路104によって制御される1つまたは複数の永続ストレージ・デバイスおよび媒体を含む。第1のストレージ・デバイス107は、たとえば、固定のまたは取り外し可能な媒体を有する、デジタル・データ記憶用の磁気、光学、光磁気、またはソリッド・ステート装置を含み得る。サンプルのデバイスには、ハード・ディスク・ドライブ、光ディスク・ドライブ、およびフロッピー(R)ディスク・ドライブが含まれる。サンプルの媒体には、ハード・ディスク・プラッタ、CD-ROM、DVD-ROM、BD-ROM、フロッピー(R)ディスクなどが含まれる。
第1のメモリ103は1つまたは複数の別々のプログラムを含み得、各プログラムは、論理的機能、特に例に含まれる機能を実装するための実行可能命令の順序付きリストを含む。第1のメモリ103内のソフトウェアはまた、典型的には、第1の適切なオペレーティング・システム(OS)108を含み得る。第1のOS108は基本的に、本明細書に記載の方法の少なくとも一部を実装するための他のコンピュータ・プログラムの実行を制御する。
第2のコンピュータ・システム120は、第2のバス126によって相互に結合された第2のプロセッサ122、第2のメモリ123、第2のI/O回路124、および第2のネットワーク・インターフェース125を含み得る。
第2のプロセッサ122は、1つまたは複数のプロセッサ(たとえば、マイクロプロセッサ)を表し得る。第2のメモリ123は、揮発性メモリ素子(たとえば、ランダム・アクセス・メモリ(RAM、たとえば、DRAM、SRAM、SDRAMなど))、および不揮発性メモリ素子(たとえば、ROM、消去可能プログラム可能読み取り専用メモリ(EPROM)、電子的消去可能プログラム可能読み取り専用メモリ(EEPROM)、プログラム可能読み取り専用メモリ(PROM))の任意の1つまたは組み合わせを含み得る。第2のメモリ123は、様々な構成要素が互いに離れて位置するが、第2のプロセッサ122によってアクセスされる分散アーキテクチャを有し得ることに留意されたい。
第2の永続ストレージ・デバイス127と組み合わせた第2のメモリ123が、ローカルのデータおよび命令の記憶のために使用され得る。第2のストレージ・デバイス127は、第2のI/O回路124によって制御される1つまたは複数の永続ストレージ・デバイスおよび媒体を含む。第2のストレージ・デバイス127は、たとえば、固定のまたは取り外し可能な媒体を有する、デジタル・データ記憶用の磁気、光学、光磁気、またはソリッド・ステート装置を含み得る。サンプルのデバイスには、ハード・ディスク・ドライブ、光ディスク・ドライブ、およびフロッピー(R)ディスク・ドライブが含まれる。サンプルの媒体には、ハード・ディスク・プラッタ、CD-ROM、DVD-ROM、BD-ROM、フロッピー(R)ディスクなどが含まれる。
第2のメモリ123は1つまたは複数の別々のプログラムを含み得、各プログラムは、論理的機能、特に例に含まれる機能を実装するための実行可能命令の順序付きリストを含む。第2のメモリ123内のソフトウェアはまた、典型的には、第2の適切なオペレーティング・システム(OS)128を含み得る。第2のOS128は基本的に、本明細書に記載の方法の少なくとも一部を実装するための他のコンピュータ・プログラムの実行を制御する。
第3のコンピュータ・システム140は、第3のバス146によって相互に結合された第3のプロセッサ142、第3のメモリ143、第3のI/O回路144、および第3のネットワーク・インターフェース145を含み得る。
第3のプロセッサ142は、1つまたは複数のプロセッサ(たとえば、マイクロプロセッサ)を表し得る。第3のメモリ143は、揮発性メモリ素子(たとえば、ランダム・アクセス・メモリ(RAM、たとえば、DRAM、SRAM、SDRAMなど))、および不揮発性メモリ素子(たとえば、ROM、消去可能プログラム可能読み取り専用メモリ(EPROM)、電子的消去可能プログラム可能読み取り専用メモリ(EEPROM)、プログラム可能読み取り専用メモリ(PROM))の任意の1つまたは組み合わせを含み得る。第3のメモリ143は、様々な構成要素が互いに離れて位置するが、第3のプロセッサ142によってアクセスされる分散アーキテクチャを有し得ることに留意されたい。
第3の永続ストレージ・デバイス147と組み合わせた第3のメモリ143が、ローカルのデータおよび命令の記憶のために使用され得る。第3のストレージ・デバイス147は、第3のI/O回路144によって制御される1つまたは複数の永続ストレージ・デバイスおよび媒体を含む。第3のストレージ・デバイス147は、たとえば、固定のまたは取り外し可能な媒体を有する、デジタル・データ記憶用の磁気、光学、光磁気、またはソリッド・ステート装置を含み得る。サンプルのデバイスには、ハード・ディスク・ドライブ、光ディスク・ドライブ、およびフロッピー(R)ディスク・ドライブが含まれる。サンプルの媒体には、ハード・ディスク・プラッタ、CD-ROM、DVD-ROM、BD-ROM、フロッピー(R)ディスクなどが含まれる。
第3のメモリ143は1つまたは複数の別々のプログラムを含み得、各プログラムは、論理的機能、特に例に含まれる機能を実装するための実行可能命令の順序付きリストを含む。第3のメモリ143内の第3のソフトウェアはまた、典型的には、第3の適切なオペレーティング・システム(OS)148を含み得る。第3のOS148は基本的に、本明細書に記載の方法の少なくとも一部を実装するための他のコンピュータ・プログラムの実行を制御する。
第1のコンピュータ・システム100、第2のコンピュータ・システム120、および第3のコンピュータ・システム140は、独立したコンピュータ・ハードウェア・プラットフォームであり得る。全てのコンピュータ・システム100、120および140は、データの各自のコピーを管理する責任があり得る。
第1のコンピュータ・システム100は、対応するネットワーク・インターフェース105、125、145を介して、第1の接続151を介して第3のコンピュータ・システム140と通信し、第2の接続152を介して第2のコンピュータ・システム120と通信し得る。第1の接続151は、上記の第3の安全な接続を提供し得る。第2の接続152は、ローカル・エリア・ネットワーク(LAN)または一般的なワイド・エリア・ネットワーク(WAN)を含み得る。第2の接続152は、上記の第1の安全な接続および第2の安全な接続を提供し得る。第1の接続151は、たとえば、インターネットなどの、一般的なワイド・エリア・ネットワーク(WAN)またはパブリック・ネットワークあるいはその両方を含み得る。図2に示すように、第2のコンピュータ・システム120と第3のコンピュータ・システム140との間にハードウェア接続がなくてもよい。ただし、第2のコンピュータ・システム120は、第1のセキュリティ・ゾーンを介して第3のコンピュータ・システム140と間接的にのみ通信可能に結合され得る。したがって、第2のセキュリティ・ゾーン2および第3のセキュリティ・ゾーン3は、第1のセキュリティ・ゾーン1を介して間接的にのみ通信可能に結合される。
第1のコンピュータ・システム100は、第1のセキュリティ・ゾーン1内に配置され得る。第2のコンピュータ・システム120は、第2のセキュリティ・ゾーン2内に配置され得る。第3のコンピュータ・システム140は、第3のセキュリティ・ゾーン3内に配置され得る。第1のセキュリティ・ゾーン1、第2のセキュリティ・ゾーン2、および第3のセキュリティ・ゾーンはそれぞれ、図1に示していないさらなるデバイス、たとえば、ストレージ・デバイスまたはさらなるコンピュータ・システムを含み得る。第1のセキュリティ・ゾーン1は、たとえば第1の接続151を介して、第3のセキュリティ・ゾーン3と通信可能に結合され得る。
第1のコンピュータ・システム100および第1のセキュリティ・ゾーン1のさらなるデバイスは、第1のコンピュータ・ネットワーク11を形成し得る。第2のコンピュータ・システム120および第2のセキュリティ・ゾーン2のさらなるデバイス、ならびに第3のコンピュータ・システム140および第3のセキュリティ・ゾーン3のさらなるデバイスは、それぞれ第2のコンピュータ・ネットワーク12および第3のコンピュータ・ネットワーク13を形成し得る。図1に示すように、第2のネットワーク12は、第2のセキュリティ・ゾーン2内に配置されるストレージ・デバイス4を含み得る。第1のセキュリティ・ゾーン1および第2のセキュリティ・ゾーン2は第2の接続152を介して通信可能に結合され、第2の接続152は好ましくはファイアウォール5を含む。図1は、第1のセキュリティ・ゾーン1と第2のセキュリティ・ゾーン2との間に配置されたファイアウォール5を示している。
第3のネットワーク13は上記のように企業ネットワークと見なされ、第1のネットワーク11は、第3のネットワーク13にプロセスの実行をサービス提供し得るサービング・ネットワークと見なされ得る。第2のネットワーク12は、第1のネットワーク11内で実行されるプロセスのためのアクセス・データを提供する安全なネットワークと見なされ得る。
コンピュータ・システム10は、以下で第1の機能と呼ぶ、第1のコンピュータ・システム100上でアプリケーション・プロセスを実行すること、以下で第2の機能と呼ぶ、アプリケーション・プロセスのアクセス資格情報をストレージ・デバイス4に記憶すること、以下で第3の機能と呼ぶ、さらなるアプリケーション・プロセスを実行すること、以下で第4の機能と呼ぶ、第1のコンピュータ・システム100上でアプリケーション・ロボットを実行すること、以下で第5の機能と呼ぶ、第1の架空のユーザがさらなるアプリケーション・プロセスのGUIを使用するステップをシミュレートすること、以下で第6の機能と呼ぶ、アプリケーション・プロセスへのアクセスを取得するために第2のコンピュータ・システム120から第1のコンピュータ・システム100へのログインを実行すること、などの機能に合わせて構成され得る。
さらに、コンピュータ・システム10は、以下で機能201と呼ぶ、第2のコンピュータ・システム120上でログイン自動化プロセスを実行すること、以下で機能202と呼ぶ、ログイン自動化プロセスのためのログイン・ロボット・アクセス資格情報をストレージ・デバイス4に記憶すること、以下で機能203と呼ぶ、リモート・ログイン・アプリケーションを実行すること、以下で機能204と呼ぶ、第2のコンピュータ・システム120上でログイン・ロボットを実行すること、以下で機能205と呼ぶ、第2の架空のユーザが第2のコンピュータ・システム120から第1のコンピュータ・システム100へのログインを実行するステップをシミュレートすること、以下で機能206と呼ぶ、ログイン自動化プロセスへのアクセスを取得するために第2のコンピュータ・システム120へのログインを実行すること、などの機能に合わせて構成され得る。
コンピュータ・システム10は、第1のプログラム21、第2のプログラム22、第3のプログラム23、第4のプログラム24、第5のプログラム25、および第6のプログラム26を実行することによって、それぞれ第1、第2、第3、第4、第5、および第6の機能を実行し得る。
同様に、コンピュータ・システム10は、プログラム221、プログラム222、プログラム223、プログラム224、プログラム225、およびプログラム226を実行することによって、それぞれ機能201、機能202、機能203、機能204、機能205、および機能206を実行し得る。
本明細書で使用する「プログラム」という用語は、プロセッサ102、122、142のうちの少なくとも1つがコマンドを読み取り得る場合に、プロセッサ102、122、142のうちの少なくとも1つによって実行されるアクションを引き起こすコマンドを含む命令のセットを指す。命令のセットは、コンピュータ可読プログラム、ルーチン、サブルーチン、またはライブラリの一部の形式であり得、これらはプロセッサ102、122、142のうちの少なくとも1つによって実行され、またはプロセッサ102、122、142のうちの少なくとも1つによって実行されるさらなるプログラムによって呼び出され、あるいはその両方が行われ得る。好ましくは、プログラム21、22、23、24、25、26、221、222、223、224、225、226は、それぞれコンピュータ・システム100、120、140のハードウェア・プラットフォームのタイプに従ってコンパイルされる実行可能プログラムであり得る。
第1のメモリ103は、第1のプログラム21を記憶するためのスペースを含み得、以下、このスペースを第1の機能メモリ115と呼ぶ。第1のプログラム21は、以下でロボット・プロセス自動化プログラムと呼ぶ、ロボット・プロセス自動化の分野で知られている上記のコンピュータ・プログラム製品のうちの1つのサブルーチン、ライブラリ、またはモジュール、あるいはそれらの組み合わせを少なくとも使用することによって生成され得る。OS108は、第1のプログラム21を実行するためのロボット・プロセス自動化プログラムのうちの1つの実行可能プログラム・コードを含み得る。
さらに、第1の機能メモリ115は第4のプログラム24を含み得る。第1のプロセッサ102は第4のプログラム24を実行し得る。第4のプログラム24を実行することは、第1のメモリ103上に仮想ワークステーションをセット・アップし、仮想ワークステーション上でアプリケーション・ロボットを起動および実行することを含み得、アプリケーション・ロボットを実行することは、アプリケーション・ロボットによってアプリケーション・プロセスを実行することを含み得る。アプリケーション・プロセスを実行するために、アプリケーション・ロボットは第1のプログラム21を実行し得る。これを実現するために、仮想ワークステーション、ひいては第1のプロセッサ102は、第1のプログラム21を実行し得る。アプリケーション・ロボットは、仮想ワークステーションと、仮想ワークステーション上で実行される第1のプログラム21とを含むアプリケーション・エンティティと見なされ得る。仮想ワークステーションは、第3のネットワーク13のユーザのワークステーションのコピーであり得る。一例によれば、第4のプログラム24は、仮想ワークステーションをセット・アップし、アプリケーション・ロボットを起動および実行するためのシェル・スクリプトまたは他の任意の命令のセットの形式であり得る。
アプリケーション・プロセスを実行することは、第5の機能を実行すること、すなわち、第1の架空のユーザがさらなるアプリケーション・プロセスのGUIを使用するステップをシミュレートすることを含み得る。これは、アプリケーション・ロボットによって第1のプログラム21が実行された場合に、第5のプログラム25を呼び出すことによって実現され得る。第5のプログラム25は、第1の機能メモリ115に記憶され得る。
仮想ワークステーションは、仮想ハードウェア要素、たとえば、仮想プロセッサ、第1のプログラム21、第4のプログラム24、第5のプログラム25、および好ましくは第3のプログラム23を含む仮想機能メモリを含む仮想メモリ、仮想I/O回路、仮想バス、仮想ストレージ・デバイス、および仮想ネットワーク・インターフェースなどの形態で、図2に示す第1のコンピュータ・システム100の全てのハードウェア要素を含み得る。
仮想ワークステーションをセット・アップすることは、単なる1つの可能な実施形態であり得る。他の例では、第1のプログラム21、第4のプログラム24、第5のプログラム25、および好ましくは第3のプログラム23は、第1のプロセッサ102上に仮想ワークステーションをセット・アップすることなく、上記および下記のように第1のプロセッサ102で実行され得る。
第1の例によれば、さらなるアプリケーション・プロセスは、第1のプロセッサ102上で、好ましくは仮想ワークステーション上で実行され得る。この第1の例では、第1の機能メモリ115は第3のプログラム23も含み得る。第3のプログラム23は、上記のようにSAPなどの産業データを処理するためのアプリケーション・プログラムであり得る。第1のプロセッサ102で第3のプログラム23を実行することにより、さらなるアプリケーション・プロセスが実行され、第3のセキュリティ・ゾーン内に記憶されたデータが第1のプロセッサ102上で、好ましくは仮想ワークステーションで処理され得る。データは上記のように産業データであり得る。第2のネットワーク12は、第3のネットワーク13のユーザにサービスを提供するサービング・ネットワークと見なされ得る。したがって、以下ではこのデータをクライアント・データと呼ぶ。第1のコンピュータ・システム100上でクライアント・データを処理するために、アプリケーション・ロボットは、第1の架空のユーザがさらなるアプリケーション・プロセスのGUIを使用するステップをシミュレートすることを含む第1のプログラム21を実行し得る。
第1のプログラム21および好ましくは第5のプログラム25を実行することは、第3のセキュリティ・ゾーン3からクライアント・データを取り出すために第1の接続151を介して第1のコンピュータ・システム100から第3のコンピュータ・システム140へのログインを実行することを含み得る。第3のコンピュータ・システム140は、さらなるアプリケーション・プロセスを実行すると共に、第3のセキュリティ・ゾーン3と第1のセキュリティ・ゾーン1との間の産業データの第1のデータ・トラフィックを可能にするための第3のプログラム23を実行し得る。第3のメモリ143は、第3のプロセッサ142上でさらなるアプリケーション・プロセスを実行するための第3のプログラム23を記憶する第3の機能メモリ155を含み得る。第3のプロセッサ142および第1のプロセッサ102で実行される第3のプログラム23によって等しいデータ構造が使用されるので、第1のプロセッサ102および第3のプロセッサ142でさらなるアプリケーション・プロセスを実行することは、第1のデータ・トラフィックを実現するのに有利であり得る。第3のコンピュータ・システム140は、図1に示していない第3のネットワーク13のクライアント・コンピュータ・システムにサービスを提供するサーバとして構成され得る。
第2の例によれば、さらなるアプリケーション・プロセスのフロント・エンド・アプリケーションが第1のプロセッサ102上で実行され、好ましくは第3のプログラム23または第3のプログラム23のサブルーチンを第1のプロセッサ102上で実行することによって実行され得る。第3のプログラム23またはそのサブルーチンは、さらなるアプリケーション・プロセスのGUIの機能を実行するための命令を含み得る。
第1の例ならびに第2の例において、第1のプロセッサ102上でさらなるアプリケーション・プロセスのGUIを実行するために、第3のプログラム23および好ましくはそのサブルーチンが第1のプロセッサ102上で実行され得る。
本明細書で使用する「第1のプロセッサ102上でさらなるアプリケーション・プロセスのGUIを実行する」という用語は、第1のプロセッサ102上でさらなるアプリケーション・プロセスのGUIをセット・アップするための第3のプログラム23またはそのサブルーチンあるいはその両方を実行することを含み得る。さらなるアプリケーション・プロセスのGUIをセット・アップすることは、ユーザ入力データを読み込むためのそのGUIの少なくとも1つの入力機能のアクティブ化を含み得る。入力機能は、ユーザ入力データのソースとは無関係にユーザ入力データを読み込むことが可能であり得る。
第5のプログラム25は、第1のプロセッサ102上で第3のプログラム23またはそのサブルーチンあるいはその両方と並行して実行され得る。第5のプログラム25は、マウス出力データまたはキーボード出力データあるいはその両方をシミュレートする出力信号を作成し、出力信号を入力機能に送信し得る。出力信号を入力機能に送信することは、アプリケーション・プロセスがさらなるアプリケーション・プロセスと対話することの一例であり得る。入力機能は、上記のユーザ入力データと同様に、出力信号を読み込み、出力信号を処理し得る。第3のネットワーク13のユーザが、第3のネットワーク13または第2のネットワーク12のデバイスのうちの1つでさらなるアプリケーション・プロセスを使用する場合に、マウス出力データまたはキーボード出力データあるいはその両方が記録され得る。第5のプログラム25と、第3のプログラム23またはそのサブルーチンあるいはその両方とを並列に実行し、出力信号を入力機能に送信することにより、第1の架空のユーザ、たとえば第3のネットワーク13のユーザが、さらなるアプリケーション・プロセスのGUIを使用するステップがシミュレートされ得る。
第1の架空のユーザのステップは、さらなるアプリケーション・プロセスのGUIのフィールドに記入データを記入すること、さらなるアプリケーション・プロセスのGUIのボックスにチェックを入れること、またはさらなるアプリケーション・プロセスのGUIの他の任意の使用法を含み得る。第5のプログラム25を実行する前に、ロボット・プロセス自動化プログラムのうちの1つを使用して、マウス出力データまたはキーボード出力データあるいはその両方の記録が実行され得る。記入データは、第3のプロセッサ142で第3のプログラム23を実行することによって第3のプロセッサ142で実行されるさらなるアプリケーション・プロセスへのアクセスを提供するアクセス情報を含み得る。
第5のプログラム25と、第3のプログラム23またはそのサブルーチンあるいはその両方とを第1のプロセッサ102で実行することにより、第3のプロセッサ142で実行されるさらなるアプリケーション・プロセスの入力データが、第3のプロセッサ142で処理されるために生成され得る。第5のプログラム25は、第1のプロセッサ102で第1のプログラム21を実行することによって開始され得る。第3のセキュリティ・ゾーン3と第1のセキュリティ・ゾーン1との間に第2のデータ・トラフィックを確立することによって、入力データが第3のコンピュータ・システム140に転送され得る。第2のデータ・トラフィックを確立するために、アプリケーション・ロボットは、第1の接続151を介して第3のコンピュータ・システム140にログインして、入力データを第3のセキュリティ・ゾーン3に転送し得る。入力データは、第3のセキュリティ・ゾーン3内の第3のコンピュータ・システム140上の第3のプログラム23によって処理され得る。上述のように入力データを生成し、第3のコンピュータ・システム140上の第3のプログラム23によって入力データを処理することは、さらなるアプリケーション・プロセスが第3のコンピュータ・システム140上で動作し、さらなるアプリケーション・プロセスがさらなるアプリケーション・プロセスのGUIによって制御される一例であり得る。
アプリケーション・ロボットは、記入データに含まれるアクセス情報を使用して第3のコンピュータ・システム140にログインし得る。アクセス情報は、ストレージ・デバイス4、または第2のセキュリティ・ゾーン2内に配置された第2のストレージ・デバイス6に記憶され得る。アクセス資格情報またはアクセス情報あるいはその両方は、第2のセキュリティ・ゾーン内のストレージ・デバイス4または第2のストレージ・デバイス6のいずれかに暗号で保護されて記憶され得る。アクセス資格情報をストレージ・デバイス4に記憶し、アクセス情報を第2のストレージ・デバイスに記憶することにより、セキュリティが高まり得る。
記入データ、出力信号、または入力データは、理論的には、画面を含む他のコンピュータから第1のコンピュータ・システム100にログインし、シャドウ・セッションを開始することによって見えるようになり得る。しかしながら、ファイアウォール5は、第1のコンピュータ・システム100へのログインが第2のコンピュータ・システム120からのみ実行されるように構成され得る。これには、第1のセキュリティ・ゾーン1から実行される第1のコンピュータ・システム100への対話型ログインが無効化されることが含まれ得る。これにより、第1のネットワーク11の任意のデバイスから第1のコンピュータ・システム100にログインする可能性が防止され得る。
第2のメモリ123は、第6のプログラム26を記憶するためのスペースを含み得る。第6のプログラム26は、リモート・デスクトップ・アプリケーションであり得る。第6のプログラム26は、第2の接続152を介して第2のネットワーク・インターフェース125から第1のネットワーク・インターフェース105に制御データを送信するための第1の通信プロトコルの適用をトリガし得る。第1の通信プロトコルは、リモート・デスクトップ・プロトコルであり得る。第1のネットワーク・インターフェース105から、制御データは、第1のバス106を介して第1のプロセッサ102に送信され、第1のプロセッサ102によって処理され得る。制御データを処理することにより、第1のプロセッサ102は、制御データによって制御され得る。制御データは、第2のプロセッサ122によって生成され、第2のバス126を介して第2のネットワーク・インターフェース125に送信され得る。制御データは、第1のコンピュータ・システム100と第2のコンピュータ・システム120との間の通信をセット・アップするためのアクセス資格情報または通信データあるいはその両方を含み得る。
第1の例では、制御データは、第2のI/O回路124を介してキーボード入力信号を処理することによって生成され得る。キーボード入力信号は、第2のネットワーク12のユーザがアクセス資格情報をタイプすることによって生成され得る。第2の例では、制御データは、ログイン・ロボットを実行することによって自動的に生成され得る。この第2の例では、ログイン・ロボットは、第2の架空のユーザ、すなわち第2のネットワーク12のユーザが、第2のコンピュータ・システム120から第1のコンピュータ・システム100へのログインを実行するステップをシミュレートする。第2の架空のユーザのステップは、キーボードを使用してアクセス資格情報をタイプすることを含み得る。この例では、キーボードは必要ない。
第6のプログラム26を実行する場合、アクセス資格情報を第1の検証データと比較することによって、アクセス資格情報が検証され得る。第1の検証データは、アクセス資格情報のコピー、好ましくは暗号化されたコピーを含み得る。
第1の例では、第1の検証データは、第1のセキュリティ・ゾーン1内に、たとえば第1のストレージ・デバイス107に記憶され、好ましくは暗号化されて記憶され得る。その第1の例では、アクセス資格情報は、第1のプロセッサ102によって第1の検証データと比較され得る。
第2の例では、第1の検証データは、第2のセキュリティ・ゾーン2内に、たとえば、第2のストレージ・デバイス127、または図1に示していない第2のネットワーク12のさらなるストレージ・デバイスに記憶され、第2のプロセッサ122によってアクセス資格情報と比較され得る。これには、アクセス資格情報も第1の検証データも第2のセキュリティ・ゾーン12の外部に記憶される必要がないため、第2のセキュリティ・ゾーン2の外部から第1のコンピュータ・システム100へのログインを実行するリスクが減少するという利点がある。
第1のプロセッサ102によって制御データが処理されることにより、第1のプロセッサ102によってフィードバック・データが生成され得る。フィードバック・データは、確認データまたは第1の検証データあるいはその両方を含み得る。後者の場合、第1のコンピュータ・システム100は、第1の検証データを第2のコンピュータ・システム120に送信し得、第2のプロセッサ102は、アクセス資格情報を第1の検証データと比較し得る。これは、アクセス資格情報が第1のセキュリティ・ゾーン1に送信されることが不要であり得、第2のセキュリティ・ゾーン2内に留まり得るので有利である。好ましくは、第1の検証データは、第2のセキュリティ・ゾーン2の公開鍵で暗号化され得る。第2のプロセッサ102は、第2のセキュリティ・ゾーン2の秘密鍵を使用することによって、第1の検証データを復号し得る。第2のセキュリティ・ゾーン2の秘密鍵は、ストレージ・デバイス4に記憶され、要求によって第2のコンピュータ・システム120に送信され得る。
確認データは、第1のコンピュータ・システム100と第2のコンピュータ・システム120との間の通信の初期化をトリガする情報を含み得る。第1のプロセッサ102は、フィードバック・データを生成するために第6のプログラム26を使用し得る。フィードバック・データは、第1のプロセッサ102から第1のバス106を介して第1のネットワーク・インターフェース105に送信され、第1の通信プロトコルを使用して第1のネットワーク・インターフェース105から第2のネットワーク・インターフェース125に送信され得る。フィードバック・データは、第2のネットワーク・インターフェース124から第2のバス126を介して第2のプロセッサ122に送信され得る。
アクセス資格情報を使用した第2のコンピュータ・システム120と第1のコンピュータ・システム100との間の制御データおよびフィードバック・データの上記の交換により、第2のコンピュータ・システム120から第1のコンピュータ・システム100へのログインが可能になり得る。第2のコンピュータ・システム120から第1のコンピュータ・システム100へのログインは、アクセス資格情報と第1の検証データとの比較の成功によって、正常に実現され得る。そのような比較は、第1のプロセッサ102または第2のプロセッサ122によって実行され得る。後者の場合、この方法によって、第2のセキュリティ・ゾーン2の外部から第1のコンピュータ・システム100へのログインを実行するリスクが減少し得る。第2のコンピュータ・システム120から第1のコンピュータ・システム100への正常に実現されたログインに応答して、第2のコンピュータ・システム120から第1のコンピュータ・システム100に開始コマンドを送信することによって、アプリケーション・プロセスが開始され得る。
ファイアウォール5は、データが第2のコンピュータ・システム120から送信される場合にのみ、第1のコンピュータ・システム100が第1の通信プロトコルを介して転送されたデータを処理可能になり得るように構成され得る。この例では、ファイアウォール5は、データが第2のコンピュータ・システム120から送信される場合にのみ第1の通信プロトコルを介して転送されるデータを処理できるように、第1のコンピュータ・システム100を制限する第1のOS128の設定に関連付けられ得る。そのため、ファイアウォール5は、第1のコンピュータ・システム100内に配置され得る。図1は、第1のセキュリティ・ゾーン1と第2のセキュリティ・ゾーン2との間に配置されたファイアウォール5を示している。図1はブロック図であるので、図1のファイアウォール5の位置は、物理的な位置ではなく、機能的な位置のみを表している。
以下の例では、第2のコンピュータ・システム120から第1のコンピュータ・システム100へのログインが、ログイン・ロボットによってどのように実行されるかを説明する。この例では、ログイン・ロボットは制御データを自動的に生成し得る。
第2のメモリ103はプログラム201を記憶するためのスペースを含み得、以下、このスペースを第2の機能メモリ135と呼ぶ。プログラム201は、上記のロボット・プロセス自動化プログラムのうちの1つのサブルーチン、ライブラリ、またはモジュール、あるいはそれらの組み合わせを少なくとも使用することによって生成され得る。OS128は、プログラム201を実行するためのロボット・プロセス自動化プログラムのうちの1つの第2の実行可能プログラム・コードを含み得る。
さらに、第2の機能メモリ135は、プログラム204を含み得る。第2のプロセッサ122は、プログラム204を実行し得る。プログラム204を実行することは、第2のプロセッサ122上でログイン・ロボットを起動および実行することを含み得、ログイン・ロボットを実行することは、ログイン・ロボットによってログイン自動化プロセスを実行することを含み得る。ログイン自動化プロセスを実行するために、ログイン・ロボットは、プログラム201を実行し得る。これを実現するために、第2のプロセッサ122は、プログラム201を実行し得る。ログイン・ロボットは、第2のコンピュータ・システム120と、第2のコンピュータ・システム120上で実行されるプログラム201とを含むアプリケーション・エンティティと見なされ得る。一例によれば、プログラム204は、ログイン・ロボットを起動および実行するためのシェル・スクリプトまたは他の任意の命令のセットの形式であり得る。
ログイン自動化プロセスを実行することは機能205を実行することを含み得、これは、第2の架空のユーザがリモート・ログイン・アプリケーションのインターフェース、好ましくはGUIを使用するステップをシミュレートすることであり得る。これは、プログラム201がログイン・ロボットによって実行された場合に、プログラム205を呼び出すことによって実現され得る。プログラム205、201、204は、第2の機能メモリ135に記憶され得る。
ログイン・ロボットが第2のプロセッサ122によって実行される場合、プログラム203が第2のプロセッサ122上で実行され得る。プログラム203は、第2のプロセッサ122上でリモート・ログイン・アプリケーションのGUIの機能を実行するための命令を含み得る。
本明細書で使用する「第2のプロセッサ122上でリモート・ログイン・アプリケーションのGUIを実行する」という用語は、第2のプロセッサ122上でリモート・ログイン・アプリケーションのGUIをセット・アップするためのプログラム203またはそのサブルーチンあるいはその両方を実行することを含み得る。リモート・ログイン・アプリケーションのGUIをセット・アップすることは、第2のユーザ入力データを読み込むためのそのGUIの少なくとも1つの第2の入力機能のアクティブ化を含み得る。第2の入力機能は、第2のユーザ入力データのソースとは無関係に第2のユーザ入力データを読み込むことが可能であり得る。
プログラム205は、第2のプロセッサ122上で、プログラム203またはそのサブルーチンあるいはその両方と並行して実行され得る。プログラム205は、第2のマウス出力データまたは第2のキーボード出力データあるいはその両方をシミュレートする第2の出力信号を作成し、第2の出力信号を第2の入力機能に送信し得る。第2の入力機能は、上記の第2のユーザ入力データと同様に、第2の出力信号を読み込み得、第2の出力信号を処理し得る。第2のネットワーク12の第2のユーザが第2のネットワーク12のデバイスのうちの1つでリモート・ログイン・アプリケーションを使用する場合に、第2のマウス出力データまたは第2のキーボード出力データあるいはその両方が記録され得る。プログラム205およびプログラム203を並行して実行し、第2の出力信号を第2の入力機能に送信することにより、第2の架空のユーザ、たとえば第2のネットワーク12のユーザがリモート・ログイン・アプリケーションのGUIを使用するステップがシミュレートされ得る。さらに、第2の出力信号を第2の入力機能に送信することは、ログイン自動化プロセスがリモート・ログイン・アプリケーションと対話し得る方法の一例であり得る。
第2の架空のユーザのステップは、リモート・ログイン・アプリケーションのGUIのフィールドにアクセス資格情報を記入することを含み得る。プログラム205を実行する前に、ロボット・プロセス自動化プログラムの1つを使用して、第2のマウス出力データまたは第2のキーボード出力データあるいはその両方の記録が実行され得る。
リモート・ログイン・アプリケーションは、ネットワーク・レベルの認証手順を含み得る。これにより、第2のセキュリティ・ゾーンの外部からの第1のコンピュータ・システム100へのログインが実行されるリスクがさらに減少し得る。
図3は、第2のコンピュータ・システム120から第1のコンピュータ・システム100へのログインを実行するための方法のフローチャートである。この方法は、以下の動作または機能を含み得る。
ブロック301において、第1のコンピュータ・システム100上でアプリケーション・プロセスが実行され、第1のコンピュータ・システム100は第1のセキュリティ・ゾーン1内に配置される。
ブロック302において、アプリケーション・プロセスのアクセス資格情報がストレージ・デバイス4に記憶され得る。
ブロック303において、第3のコンピュータ・システム140上でさらなるアプリケーション・プロセスが実行され得る。
ブロック304において、上述のように、さらなるアプリケーション・プロセスのグラフィカル・ユーザ・インターフェースによってさらなるアプリケーション・プロセスが制御され得る。
ブロック305において、上述のように、アプリケーション・プロセスはさらなるアプリケーション・プロセスと対話し得る。
ブロック306において、上述のように、第1のコンピュータ・システム100上でアプリケーション・ロボットが実行され、第1のコンピュータ・システム100は第3のコンピュータ・システム140と通信可能に結合される。
ブロック307において、アプリケーション・ロボットはアプリケーション・プロセスを実行し得、アプリケーション・プロセスを実行することは、上述のように、第1の架空のユーザがさらなるアプリケーション・プロセスのグラフィカル・ユーザ・インターフェースを使用するステップをシミュレートすることを含む。
ブロック308において、アクセス資格情報を使用してアプリケーション・プロセスへのアクセスを取得するために第2のコンピュータ・システム120から第1のコンピュータ・システム100へのログインが実行され得る。上述のように、ログインはログイン・ロボットによって自動的に実行され得る。
ブロック309において、アプリケーション・プロセスが初期化され得る。たとえば、第2のプロセッサ122から第1のプロセッサ102に開始コマンドを送信することによって、アプリケーション・プロセスが初期化され得る。ステップまたは機能ブロックの番号付けは、ステップの実行順序を規定するものではない。好ましくは、ステップ301、302、303、304、305、306、307、308を実行する前に、ステップ309が実行され得る。アプリケーション・プロセスとさらなるアプリケーション・プロセスとの間の簡単で時間の節約になる対話を可能にするために、ステップ301およびステップ303は好ましくは並行して実行され得る。ステップ301およびステップ303の順次実行は可能であり得るが、より時間がかかり得る。ステップ302は、他の全てのステップ301、303、304、305、306、307、308、309の実行中に実行され得る。
一例では、第2のコンピュータ・システム120と第1のコンピュータ・システム100との間の安全な接続が確立され得る。安全な接続を使用して第1のコンピュータ・システム100にアクセス情報が提供され得る。アクセス情報は、さらなるアプリケーション・プロセスへのアクセスを提供し得る。アクセス情報を受信したことに応答して、アプリケーション・ロボットは、第1の架空のユーザがさらなるアプリケーション・プロセスのグラフィカル・ユーザ・インターフェースを使用するステップをシミュレートし、アクセス情報を使用してさらなるアプリケーション・プロセスへのログインを実行し得る。第1のセキュリティ・ゾーン内で、アクセス情報は、安全な接続を介して第2のセキュリティ・ゾーンからのみ受信され得る。安全な接続は、リモート・デスクトップ・アプリケーションによって提供され得る。たとえば、安全な接続は、上記の第1の通信プロトコルを含み得る。この場合、アクセス情報は、第1の通信プロトコルを使用して送信され得る。
他の例では、ログイン・ロボットはジャンプ・サーバ7を介して起動され得る。ジャンプ・サーバ7は、第1のセキュリティ・ゾーン1内に配置され、第1のセキュリティ・ゾーン1と第3のセキュリティ・ゾーン3との間のさらなる安全な接続8を介して通信可能に結合され、さらなる安全な接続8を介して第3のセキュリティ・ゾーン3からアクセス可能であり得る。さらなる安全な接続は、VPN接続であり得る。たとえば、第3のネットワーク13のユーザは、第3のネットワーク13のワークステーション9からジャンプ・サーバ7にログインし得る。ジャンプ・サーバ7へのログインに応答して、第3のネットワーク13のユーザは、ロボット・プロセス自動化プログラムのうちの1つの特定の機能へのアクセスを有し得、その機能の1つは制御機能であり得る。
制御機能により、第3のネットワーク13のユーザは、ジャンプ・サーバ7を介してログイン・ロボットを起動することが可能になり得る。これを実現するために、ジャンプ・サーバ7から第2のコンピュータ・システム120にロボット起動コマンドが送信され得る。
他の例では、ジャンプ・サーバ7を介して実行スクリプトが制御され、好ましくは開始され得る。実行スクリプトは、ジャンプ・サーバ7にログインしている第3のネットワーク13のユーザによってプログラム可能または制御可能あるいはその両方であり得る。たとえば、実行スクリプトは、第2のコンピュータ・システム120から第1のコンピュータ・システム100へのログインの実行およびアプリケーション・ロボットの実行がキューにスケジュールされるようにプログラムされ得る。実行スクリプトは、図1に示していない第4のコンピュータ・システム上で第2のアプリケーション・ロボットを起動するための初期化コマンドも含み得る。好ましくは、第1のコンピュータ・システム100へのログインの実行および第4のコンピュータ・システムへのログインの実行が、実行スクリプトを介してスケジュールされる。これらの2つの異なるログインは並行して実行され得る。第4のコンピュータにアクセスするための第2のアクセス資格情報は、ストレージ・デバイス4に記憶され得る。実行スクリプトを開始することにより、第3のネットワーク13のユーザは、第1のコンピュータ・システム100にログインせずに、また、第4のコンピュータ・システムにログインせずに、さらなるアプリケーション・プロセスおよび第2のさらなるアプリケーション・プロセスを開始し得る。
本発明は、任意の可能な技術的詳細レベルの統合におけるシステム、方法、またはコンピュータ・プログラム製品、あるいはそれらの組み合わせであり得る。コンピュータ・プログラム製品は、本発明の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読記憶媒体(または複数の媒体)を含み得る。コンピュータ可読記憶媒体は、命令実行デバイスによる使用のために命令を保持および記憶可能な有形のデバイスとすることができる。
コンピュータ可読記憶媒体は、たとえば、限定はしないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組み合わせであり得る。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラム可能読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリー・スティック(R)、フロッピー(R)・ディスク、命令が記録されたパンチ・カードまたは溝の隆起構造などの機械的にコード化されたデバイス、およびこれらの任意の適切な組み合わせが含まれる。コンピュータ可読記憶媒体は、本明細書で使用する場合、たとえば、電波または他の自由に伝搬する電磁波、導波管もしくは他の伝送媒体を伝搬する電磁波(たとえば、光ファイバ・ケーブルを通過する光パルス)、または有線で伝送される電気信号などの一過性の信号自体であると解釈されるべきではない。
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、あるいは、たとえば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、もしくは無線ネットワーク、またはそれらの組み合わせなどのネットワークを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅線伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはそれらの組み合わせを含み得る。各コンピューティング/処理デバイスのネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、コンピュータ可読プログラム命令を転送して、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶する。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路の構成データ、あるいは、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または類似のプログラミング言語などの手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組み合わせで書かれたソース・コードまたはオブジェクト・コードであり得る。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロン・ソフトウェア・パッケージとして、部分的にユーザのコンピュータ上かつ部分的にリモート・コンピュータ上で、あるいは完全にリモート・コンピュータまたはサーバ上で実行され得る。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続され、または(たとえば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータへの接続がなされ得る。いくつかの実施形態では、たとえば、プログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路は、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用してコンピュータ可読プログラム命令を実行することによって、電子回路を個人向けにし得る。
本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して本明細書で説明している。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方におけるブロックの組み合わせが、コンピュータ可読プログラム命令によって実装できることは理解されよう。
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/行為を実装するための手段が生成されるように、コンピュータまたは他のプログラム可能データ処理装置のプロセッサに提供されてマシンを生成するものであってよい。また、これらのコンピュータ可読プログラム命令は、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/行為の態様を実装する命令を含む製造品を構成するように、コンピュータ可読記憶媒体に記憶され、コンピュータ、プログラム可能データ処理装置、または他のデバイス、あるいはそれらの組み合わせに特定の方法で機能するように指示することができるものであってもよい。
また、コンピュータ可読プログラム命令は、コンピュータ、他のプログラム可能装置、または他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/行為を実装するように、コンピュータ実装プロセスを生成すべく、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラム可能装置、または他のデバイス上で一連の動作ステップを実行させるものであってもよい。
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能、および動作を示している。これに関して、フローチャートまたはブロック図の各ブロックは、指定された論理的機能を実装するための1つまたは複数の実行可能命令を含むモジュール、セグメント、または命令の一部を表し得る。いくつかの代替的実装形態では、ブロックに記載した機能は、図示した順序以外で行われ得る。たとえば、関与する機能に応じて、連続して示した2つのブロックは、実際には、1つのステップとして実現され、同時に、実質的に同時に、部分的にまたは完全に時間的に重なるように実行され、またはそれらのブロックは、場合により逆の順序で実行され得る。ブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方におけるブロックの組み合わせは、指定された機能もしくは行為を実行するか、または専用ハードウェアおよびコンピュータ命令の組み合わせを実行する専用のハードウェア・ベースのシステムによって実装できることにも気付くであろう。

Claims (18)

  1. コンピュータ実装方法であって、
    第1のコンピュータ・システム上でアプリケーション・プロセスを実行することであって、前記第1のコンピュータ・システムは第1のセキュリティ・ゾーン内に配置される、前記実行することと、
    前記アプリケーション・プロセスのアクセス資格情報をストレージ・デバイスに記憶することであって、前記ストレージ・デバイスは第2のセキュリティ・ゾーン内に配置され、前記第1のセキュリティ・ゾーンおよび前記第2のセキュリティ・ゾーンはファイアウォールを介して通信可能に結合され、前記第1のセキュリティ・ゾーンは第3のセキュリティ・ゾーンと通信可能に結合され、前記アプリケーション・プロセスはさらなるアプリケーション・プロセスと対話し、第3のコンピュータ・システム上で前記さらなるアプリケーション・プロセスを実行し、前記さらなるアプリケーション・プロセスは、前記さらなるアプリケーション・プロセスのグラフィカル・ユーザ・インターフェースによって制御され、前記第3のコンピュータ・システムは前記第3のセキュリティ・ゾーン内に配置される、前記記憶することと、
    前記第1のコンピュータ・システム上でアプリケーション・ロボットを実行することであって、前記第1のコンピュータ・システムは前記第3のコンピュータ・システムと通信可能に結合され、前記アプリケーション・ロボットは前記アプリケーション・プロセスを実行し、前記アプリケーション・プロセスを実行することは、第1の架空のユーザが前記さらなるアプリケーション・プロセスの前記グラフィカル・ユーザ・インターフェースを使用するステップをシミュレートすることを含む、前記実行することと、
    前記アクセス資格情報を使用して前記アプリケーション・プロセスへのアクセスを取得するために第2のコンピュータ・システムから前記第1のコンピュータ・システムへのログインを実行することであって、前記第2のコンピュータ・システムは前記第2のセキュリティ・ゾーン内に配置され、前記アプリケーション・プロセスへのアクセスを取得することによって、前記アプリケーション・プロセスを初期化することができる、前記実行することと、
    を含む、コンピュータ実装方法。
  2. 前記ファイアウォールは、前記第1のコンピュータ・システムへの前記ログインが前記第2のコンピュータ・システムからのみ実行できるように構成される、請求項1に記載の方法。
  3. 前記ログインはログイン・ロボットによって実行され、前記ログイン・ロボットは、第2の架空のユーザが前記第2のコンピュータ・システムから前記第1のコンピュータ・システムへの前記ログインを実行するステップをシミュレートする、請求項1に記載の方法。
  4. 前記アプリケーション・プロセスはグラフィカル・ユーザ・インターフェースを含む、請求項1に記載の方法。
  5. 前記アプリケーション・プロセスはグラフィカル・ユーザ・インターフェースを含み、前記ログインはログイン・ロボットによって実行され、前記ログイン・ロボットは、第2の架空のユーザが前記第2のコンピュータ・システムから前記第1のコンピュータ・システムへの前記ログインを実行するステップをシミュレートし、前記ログイン・ロボットは、前記アプリケーション・プロセスの前記グラフィカル・ユーザ・インターフェースへのアクセスを取得し、前記アプリケーション・プロセスの前記グラフィカル・ユーザ・インターフェースを使用して前記アプリケーション・プロセスを初期化する、請求項1に記載の方法。
  6. 前記第2のコンピュータ・システムと前記第1のコンピュータ・システムとの間に安全な接続を確立し、前記安全な接続を使用して前記第1のコンピュータ・システムにアクセス情報を提供すること
    をさらに含み、前記アクセス情報は前記さらなるアプリケーション・プロセスへのアクセスを提供し、前記アクセス情報を受信したことに応答して、前記アプリケーション・ロボットは、前記第1の架空のユーザが前記さらなるアプリケーション・プロセスの前記グラフィカル・ユーザ・インターフェースを使用する前記ステップをシミュレートし、前記アクセス情報を使用して前記さらなるアプリケーション・プロセスへのログインを実行し、前記第1のセキュリティ・ゾーン内で、前記アクセス情報は前記安全な接続を介して前記第2のセキュリティ・ゾーンからのみ受信することができる、請求項1に記載の方法。
  7. 前記第1のコンピュータ・システムは専用アプリケーション・サーバとして実現される、請求項1に記載の方法。
  8. 前記第3のコンピュータ・システムは非専用アプリケーション・サーバとして実現される、請求項1に記載の方法。
  9. 前記第2のセキュリティ・ゾーンおよび前記第3のセキュリティ・ゾーンは、前記第1のセキュリティ・ゾーンを介して間接的にのみ通信可能に結合される、請求項1に記載の方法。
  10. 前記第1のセキュリティ・ゾーンから実行される前記第1のコンピュータ・システムへの対話型ログインが無効化される、請求項1に記載の方法。
  11. 前記ログインを実行することおよび前記アプリケーション・ロボットを実行することは、実行スクリプトを介してキューにスケジュールされ、前記実行スクリプトは前記第1のセキュリティ・ゾーン内で実行され、前記実行スクリプトを実行することは、前記ログインの実行、続いて前記アプリケーション・ロボットの実行を提供する、請求項3に記載の方法。
  12. 第4のコンピュータ・システム上で第2のアプリケーション・ロボットを実行すること
    をさらに含み、前記第4のコンピュータ・システムは前記第1のセキュリティ・ゾーン内に配置され、第5のコンピュータ・システムと通信可能に結合され、前記第2のアプリケーション・ロボットは第2のアプリケーション・プロセスを実行し、前記第2のアプリケーション・プロセスを実行することは、第2のさらなるアプリケーション・プロセスのグラフィカル・ユーザ・インターフェースを使用することと、さらなる第1の架空のユーザが前記第2のさらなるアプリケーション・プロセスの前記グラフィカル・ユーザ・インターフェースを使用するステップをシミュレートすることとを含み、前記第2のさらなるアプリケーション・プロセスは前記第5のコンピュータ・システム上で動作し、前記第2のさらなるアプリケーション・プロセスは前記第2のさらなるアプリケーション・プロセスの前記グラフィカル・ユーザ・インターフェースによって制御され、前記第5のコンピュータ・システムは前記第3のセキュリティ・ゾーンに配置され、前記第2のアプリケーション・プロセスへのアクセスを取得するために前記第4のコンピュータ・システムへのログインを実行し、前記第2のアプリケーション・プロセスへのアクセスを取得することによって前記第2のアプリケーション・プロセスを初期化することができ、前記第4のコンピュータ・システムへの前記ログインは第2のアクセス資格情報を使用して前記第2のセキュリティ・ゾーンから第2のログイン・ロボットによって実行され、前記第2のログイン・ロボットはさらなる第2の架空のユーザが前記第4のコンピュータ・システムへの前記ログインを実行するステップをシミュレートし、前記第1のコンピュータ・システムへの前記ログインを実行することおよび前記第4のコンピュータ・システムへの前記ログインを実行することは実行スクリプトを介してスケジュールされ、前記第2のアクセス資格情報は前記第2のセキュリティ・ゾーン内に記憶される、請求項1に記載の方法。
  13. ジャンプ・サーバを介して前記ログイン・ロボットを起動すること
    をさらに含み、前記ジャンプ・サーバは、前記第1のセキュリティ・ゾーン内に配置され、前記第1のセキュリティ・ゾーンと前記第3のセキュリティ・ゾーンとの間のさらなる安全な接続を介して通信可能に結合され、前記ジャンプ・サーバを介して前記ログイン・ロボットを起動するために前記さらなる安全な接続を介して前記第3のセキュリティ・ゾーンからアクセス可能である、請求項3に記載の方法。
  14. ジャンプ・サーバを介して前記実行スクリプトを制御すること
    をさらに含み、前記ジャンプ・サーバは、前記第1のセキュリティ・ゾーン内に配置され、前記第1のセキュリティ・ゾーンと前記第3のセキュリティ・ゾーンとの間のさらなる安全な接続によって通信可能に結合され、前記ジャンプ・サーバを介して前記実行スクリプトを制御するために前記さらなる安全な接続を介して前記第3のセキュリティ・ゾーンからアクセス可能である、請求項11に記載の方法。
  15. 前記第2のセキュリティ・ゾーン内に暗号で保護された前記アクセス情報を記憶すること
    をさらに含む、請求項4に記載の方法。
  16. ログイン・ロボット・アクセス資格情報を使用して前記ログイン・ロボットへのログインを実行すること
    をさらに含み、前記ログイン・ロボットは前記ログイン・ロボット・アクセス資格情報を使用することによってのみアクセス可能であり、前記ログイン・ロボット・アクセス資格情報は前記第2のセキュリティ・ゾーン内に記憶される、請求項3に記載の方法。
  17. プログラム命令を具現化するコンピュータ可読記憶媒体を含むコンピュータ・プログラム製品であって、前記プログラム命令は、コンピュータによって実行可能であり、前記コンピュータに、
    前記コンピュータによって、第1のコンピュータ・システム上でアプリケーション・プロセスを実行することであって、前記第1のコンピュータ・システムは第1のセキュリティ・ゾーン内に配置される、前記実行することと、
    前記コンピュータによって、前記アプリケーション・プロセスのアクセス資格情報をストレージ・デバイスに記憶することであって、前記ストレージ・デバイスは第2のセキュリティ・ゾーン内に配置され、前記第1のセキュリティ・ゾーンおよび前記第2のセキュリティ・ゾーンはファイアウォールを介して通信可能に結合され、前記第1のセキュリティ・ゾーンは第3のセキュリティ・ゾーンと通信可能に結合され、前記アプリケーション・プロセスはさらなるアプリケーション・プロセスと対話し、第3のコンピュータ・システム上で前記さらなるアプリケーション・プロセスを実行し、前記さらなるアプリケーション・プロセスは、前記さらなるアプリケーション・プロセスのグラフィカル・ユーザ・インターフェースによって制御され、前記第3のコンピュータ・システムは前記第3のセキュリティ・ゾーン内に配置される、前記記憶することと、
    前記コンピュータによって、前記第1のコンピュータ・システム上でアプリケーション・ロボットを実行することであって、前記第1のコンピュータ・システムは前記第3のコンピュータ・システムと通信可能に結合され、前記アプリケーション・ロボットは前記アプリケーション・プロセスを実行し、前記アプリケーション・プロセスを実行することは、第1の架空のユーザが前記さらなるアプリケーション・プロセスの前記グラフィカル・ユーザ・インターフェースを使用するステップをシミュレートすることを含む、前記実行することと、
    前記コンピュータによって、前記アクセス資格情報を使用して前記アプリケーション・プロセスへのアクセスを取得するために第2のコンピュータ・システムから前記第1のコンピュータ・システムへのログインを実行することであって、前記第2のコンピュータ・システムは前記第2のセキュリティ・ゾーン内に配置され、前記アプリケーション・プロセスへのアクセスを取得することによって、前記アプリケーション・プロセスを初期化することができる、前記実行することと、
    を行わせる、コンピュータ・プログラム製品。
  18. システムであって、
    コンピュータ・プロセッサと、コンピュータ可読記憶媒体と、前記コンピュータ可読記憶媒体に記憶されたプログラム命令と、を含むコンピュータ・システム
    を備え、前記プログラム命令は、前記プロセッサによって実行可能であり、前記コンピュータ・システムに、
    第1のコンピュータ・システム上でアプリケーション・プロセスを実行することであって、前記第1のコンピュータ・システムは第1のセキュリティ・ゾーン内に配置される、前記実行することと、
    前記アプリケーション・プロセスのアクセス資格情報をストレージ・デバイスに記憶することであって、前記ストレージ・デバイスは第2のセキュリティ・ゾーン内に配置され、前記第1のセキュリティ・ゾーンおよび前記第2のセキュリティ・ゾーンはファイアウォールを介して通信可能に結合され、前記第1のセキュリティ・ゾーンは第3のセキュリティ・ゾーンと通信可能に結合され、前記アプリケーション・プロセスはさらなるアプリケーション・プロセスと対話し、第3のコンピュータ・システム上で前記さらなるアプリケーション・プロセスを実行し、前記さらなるアプリケーション・プロセスは、前記さらなるアプリケーション・プロセスのグラフィカル・ユーザ・インターフェースによって制御され、前記第3のコンピュータ・システムは前記第3のセキュリティ・ゾーン内に配置される、前記記憶することと、
    前記第1のコンピュータ・システム上でアプリケーション・ロボットを実行することであって、前記第1のコンピュータ・システムは前記第3のコンピュータ・システムと通信可能に結合され、前記アプリケーション・ロボットは前記アプリケーション・プロセスを実行し、前記アプリケーション・プロセスを実行することは、第1の架空のユーザが前記さらなるアプリケーション・プロセスの前記グラフィカル・ユーザ・インターフェースを使用するステップをシミュレートすることを含む、前記実行することと、
    前記アクセス資格情報を使用して前記アプリケーション・プロセスへのアクセスを取得するために第2のコンピュータ・システムから前記第1のコンピュータ・システムへのログインを実行することであって、前記第2のコンピュータ・システムは前記第2のセキュリティ・ゾーン内に配置され、前記アプリケーション・プロセスへのアクセスを取得することによって、前記アプリケーション・プロセスを初期化することができる、前記実行することと、
    を行わせる、システム。
JP2022549097A 2020-03-09 2021-03-01 アプリケーション・ロボットによるログイン方法、システム、プログラム Pending JP2023518158A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/812,838 US11184330B2 (en) 2020-03-09 2020-03-09 Automated secured login for robot process automation applications
US16/812,838 2020-03-09
PCT/IB2021/051680 WO2021181194A1 (en) 2020-03-09 2021-03-01 Automated secured login for robot process automation applications

Publications (1)

Publication Number Publication Date
JP2023518158A true JP2023518158A (ja) 2023-04-28

Family

ID=77556304

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022549097A Pending JP2023518158A (ja) 2020-03-09 2021-03-01 アプリケーション・ロボットによるログイン方法、システム、プログラム

Country Status (9)

Country Link
US (1) US11184330B2 (ja)
JP (1) JP2023518158A (ja)
CN (1) CN115066864A (ja)
AU (1) AU2021233213B2 (ja)
CA (1) CA3166006C (ja)
DE (1) DE112021001518T5 (ja)
GB (1) GB2608557A (ja)
IL (1) IL294930A (ja)
WO (1) WO2021181194A1 (ja)

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7143025B2 (en) * 2002-12-13 2006-11-28 Sun Microsystems, Inc. Web simulator
CN101456183A (zh) 2007-12-14 2009-06-17 鸿富锦精密工业(深圳)有限公司 机器人及操控该机器人的无线通讯装置
US20090319247A1 (en) * 2008-06-18 2009-12-24 Eads Na Defense Security And Systems Solutions Inc Systems and Methods for A Simulated Network Environment and Operation Thereof
CN101359225B (zh) 2008-08-29 2010-10-06 北京大学 一种多水下机器人协作控制系统
US8522212B1 (en) * 2010-07-21 2013-08-27 Google Inc. Auto generation of test utility bots using compile time heuristics of user interface source code
US9747436B2 (en) * 2010-11-29 2017-08-29 Biocatch Ltd. Method, system, and device of differentiating among users based on responses to interferences
US9785454B2 (en) * 2013-07-25 2017-10-10 Login VSI B.V. Virtual session benchmarking tool for measuring performance and/or scalability of centralized desktop environments
US11194914B2 (en) * 2016-07-04 2021-12-07 Mcafee, Llc Method and apparatus to detect security vulnerabilities in a web application
US9817967B1 (en) 2017-01-13 2017-11-14 Accenture Global Solutions Limited Integrated robotics and access management for target systems
US20190033858A1 (en) 2017-07-28 2019-01-31 Engineering Services Inc. Telepresence robot
US10659482B2 (en) 2017-10-25 2020-05-19 Bank Of America Corporation Robotic process automation resource insulation system
US10437984B2 (en) 2017-10-26 2019-10-08 Bank Of America Corporation Authentication protocol elevation triggering system
US20190155225A1 (en) 2017-11-21 2019-05-23 Accenture Global Solutions Limited Bot management framework for robotic process automation systems
CN108189029B (zh) 2017-12-19 2020-10-30 北京可以科技有限公司 模块化机器人的控制系统、模块化机器人系统及控制模块化机器人的方法
US10642647B2 (en) 2018-03-19 2020-05-05 Accenture Global Solutions Limited Concurrent queueing and control command feedback loop in unified automation platforms

Also Published As

Publication number Publication date
CA3166006A1 (en) 2021-09-16
AU2021233213B2 (en) 2024-03-07
GB2608557A (en) 2023-01-04
WO2021181194A1 (en) 2021-09-16
CA3166006C (en) 2024-03-19
IL294930A (en) 2022-09-01
CN115066864A (zh) 2022-09-16
US11184330B2 (en) 2021-11-23
GB202214685D0 (en) 2022-11-23
US20210281547A1 (en) 2021-09-09
DE112021001518T5 (de) 2023-01-05
AU2021233213A1 (en) 2022-08-25

Similar Documents

Publication Publication Date Title
JP7100939B2 (ja) アプリケーション・プログラミング・インターフェースを介する1段階認証から2段階認証への自動アップグレード
EP3356981B1 (en) Single sign-on method for appliance secure shell
US20190199707A1 (en) Using a service-provider password to simulate f-sso functionality
TWI497337B (zh) 用於直接存取網路之網路位置確定的方法、系統及電腦可讀取媒體
US11442755B1 (en) Secure access to a corporate application using a facade
JP7023377B2 (ja) 仮想アプリケーションの即時起動
JP2022547485A (ja) サービスとしてのインフラストラクチャの機密保護のためのハニーポット
US8280955B1 (en) Systems and methods for handling client-server communications
US20150067399A1 (en) Analysis, recovery and repair of devices attached to remote computing systems
JP2022531872A (ja) きめの細かいトークン・ベースのアクセス制御
US11503028B2 (en) Secure remote troubleshooting of private cloud
JP6967074B2 (ja) 不正なクライアント・アプリケーションからのウェブ・サーバの保護
US10757104B1 (en) System and method for authentication in a computing system
LaBarge et al. Cloud penetration testing
JP2022537739A (ja) 管理されたコンテナ環境における共有機密情報へのアクセス方法、システム、プログラム
JP2022506847A (ja) 仮想デスクトップのための自動キーボードマッピング
US11367445B2 (en) Virtualized speech in a distributed network environment
JP2023518158A (ja) アプリケーション・ロボットによるログイン方法、システム、プログラム
JP7027612B2 (ja) ヘルパを介したクライアントデバイスの匿名セッションへの接続
Sharma et al. Hands-on red team tactics: a practical guide to mastering red team operations
TW202123041A (zh) 同一用戶的多重登入系統及其方法
Sinha et al. Exploiting targets
Gaukel Security and Usability Testing of Smartphone Security (S2) Lab
Bauer Paranoid penguin: secured remote desktop/application sessions
Need et al. Certified OpenStack Administrator Study Guide

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220914

RD16 Notification of change of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7436

Effective date: 20220824

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230810