アプリケーションの設計


サーバーと Web にあるエージェントのセキュリティ
サーバーに保存された Lotus Notes のデータベースで作成および実行が行われるエージェント、または Web から実行されるエージェントの場合は、権限を持たないユーザーによる操作を防止するために、複数のレベルでセキュリティ管理を設定できます。

エージェントを作成できるユーザー

サーバーで実行されるエージェントを作成できるユーザーを管理するには、データベース ACL を使用します。

メモ Web ユーザーは、エージェントを作成できません。
作成するエージェント必要なアクセス権限
個人エージェント[読者] 以上のアクセス権があり、ACL で [個人エージェントの作成] が有効になっている必要があります。
LotusScript および Java を使用する個人エージェント[読者] 以上のアクセス権があり、ACL で [個人エージェントの作成] と [LotusScript/Java エージェントの作成] が有効になっている必要があります。
シンプルアクションおよび式を使用する共有エージェント[設計者] 以上のアクセス権が必要です。
LotusScript または Java エージェントを使用する共有エージェント[設計者] 以上のアクセス権があり、ACL で [LotusScript/Java エージェントの作成] が有効になっている必要があります。

エージェントを実行できるユーザー

サーバー上でエージェントを実行できるユーザーを制御するには、IBM(R) Lotus Domino(R) ディレクトリのサーバー文書とデータベース ACL を使用します。詳しくは『Lotus Domino Administrator 7 ヘルプ』の「サーバー上で実行されるエージェントを制御する」を参照してください。

個人エージェント

個人エージェントを実行できるユーザーを管理するには、Domino ディレクトリのサーバー文書を開いて、[セキュリティ] タブをクリックします。[可能なプログラムの制限] セクションで、次の操作を実行します。


Web ユーザーの場合、個人エージェントを実行することはできません。

共有エージェント

共有エージェントを実行できるユーザーを管理するには、データベース ACL を使用します。[読者] 以上のアクセス権を持つユーザーは、共有エージェントを実行することができます。


LotusScript/Java エージェント

LotusScript と Java には、サーバーのシステムに完全にアクセスし、システムの時刻、ファイルの入出力、および OS のコマンドを操作するための機能があります。制約なしのアクセス権を持つユーザーまたはグループは、このような LotusScript や Java のコンポーネントが含まれるエージェントを実行することができます。制限付きアクセス権を持つユーザーまたはグループは、ほとんどの操作を実行できます。 唯一の制限コマンドは、サーバーのシステムへのアクセスが可能なコマンドです。

注意 Java および LotusScript の制約なしエージェントは、セキュリティを侵害する可能性があります。信頼の置けるユーザーの人数を制限して、そうしたユーザーに限り、制限なしの権利を持たせるようにします。

エージェントの実行場所

エージェントをサーバー上で実行できるようにするかどうかを管理するには、Domino ディレクトリのサーバー文書を使用します。[セキュリティ] タブをクリックします。[サーバーアクセス] セクションで、次の作業を行います。


エージェントで実行できる操作

エージェントが処理できる文書を制御するため、IBM(R) Lotus Domino(R) では、次の内容に従って、文書が保存されているデータベースのアクセス制御リストが確認されます。


エージェントによるデータベースの作成を認めるかどうかを管理するには、Domino ディレクトリのサーバー文書を使用します。[セキュリティ] タブをクリックします。[サーバーアクセス] セクションで、次の作業を行います。
制限を点検する状況

Lotus Domino では、エージェントが実行中かどうかによって、異なった内容のセキュリティ制限が点検されます。


Lotus Notes でローカルに実行される場合

次の場合、エージェントはローカルで実行されます。


エージェントがローカルで実行されると、Lotus Notes によるセキュリティ制限の点検は行われません。ただし、[このデータベースのレプリカはすべて共通のアクセス制御リストを用いる] オプションを設定している場合は、Lotus Notes によりセキュリティ制限が点検されます。([このデータベースのレプリカはすべて共通のアクセス制御リストを用いる] オプションを設定するには、[ファイル] - [データベース] - [アクセス制御] を選択して、[詳細] アイコンをクリックします。)

サーバー上で実行される場合

エージェントがサーバー上で実行されるのは、エージェントがサーバーに保存されたデータベースで実行され、次のいずれかのタイミングで起動された場合です。


エージェントがサーバー上で実行されると、Lotus Domino によりすべてのセキュリティ制限が点検されます。

フォアグラウンドまたはバックグラウンド

エージェントがフォアグラウンドで実行されるのは、ユーザーがアクションを Lotus Notes の [アクション] メニューから起動した場合、Designer の [エージェント] リストから選択した場合、または [アクション] ボタンをクリックした場合です。エージェントがフォアグラウンドで実行されると、セキュリティ制限は点検されません。

エージェントがバックグラウンドで実行されるのは、エージェントが予定されたものである場合、文書が変更されたときなどのイベントによって起動された場合、または agent.runonserver によって呼び出された場合です。エージェントがバックグラウンドで実行されると、Lotus Domino によりセキュリティ制限が点検されます。

Lotus Notes クライアントまたは Web

エージェントは有効なユーザーに基づいて Lotus Notes クライアントまたは Web で実行されます。有効なユーザーとは、そのユーザーの権限でエージェントが実行されるユーザーです。有効なユーザーはエージェントが実行される環境によって異なります。
エージェントの種類有効なユーザー
Lotus Notes クライアントエージェント現在のユーザー ID
Web エージェント次のいずれかです。
  • 現在の Web ユーザー
  • エージェントの署名者 (エージェントの所有者)
  • [代理で実行] ([エージェントのプロパティ] インフォボックスの [セキュリティ] タブで設定します。)
定期エージェント次のいずれかを行います。
  • エージェントの署名者 (エージェントの所有者)
  • [代理で実行] ([エージェントのプロパティ] インフォボックスの [セキュリティ] タブで設定します。)
ユーザーがエージェントを Lotus Notes クライアントから実行すると、エージェントは現在のユーザー ID である有効なユーザーの権限によって実行されます。

Web ユーザーがエージェントを実行すると、エージェントは有効なユーザーの権限によって実行され、Lotus Domino により有効なユーザーのデータベースに対するアクセス権が点検されます。ただし、有効なユーザーの権限ではなく、呼び出し者のデータベースに対するアクセス権を点検するように、エージェントを設定できます。呼び出し者の権限を点検することにより、セキュリティをさらに強化できます。

Lotus Domino が呼び出し者のデータベースに対するアクセス権を確認するように指定するには、次の操作を行います。

1. エージェントリストでエージェント名をダブルクリックします。

2. [セキュリティ] タブをクリックします。

3. [Web ユーザーで実行] チェックボックスをオンにします。

[Web ユーザーで実行] チェックボックスをオンにすると、Web ユーザーがエージェントを実行しようとしたときに、Lotus Domino により名前とパスワードが要求されます。Lotus Domino では、ログイン情報を使用して、呼び出し者のデータベース ACL での権限が点検されます。

エージェントに呼び出されるエージェントのセキュリティ管理

エージェントが他のエージェントを呼び出すと、Lotus Domino によりエージェントごとのセキュリティ制限が点検されます。ただし、エージェントの署名者が同一人物でない場合は、次の状況に応じてセキュリティが点検されます。


関連項目