サーバーと Web にあるエージェントのセキュリティ

このタスクについて

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

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

このタスクについて

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

注: Web ユーザーは、エージェントを作成できません。

作成するエージェント

必要なアクセス権限

個人エージェント

[読者] 以上のアクセス権があり、ACL で [個人エージェントの作成] が有効になっている必要があります。

LotusScript® および Java™ を使用する個人エージェント

[読者] 以上のアクセス権があり、ACL で [個人エージェントの作成] と [LotusScript/Java エージェントの作成] が有効になっている必要があります。

シンプルアクションと式を使用する共有エージェント

[設計者] 以上のアクセス権が必要です。

LotusScript または Java エージェントを使用する共有エージェント

[設計者] 以上のアクセス権があり、ACL で [LotusScript/Java エージェントの作成] が有効になっている必要があります。

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

手順

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

個人エージェント

このタスクについて

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

  • サーバーにアクセスできるユーザー全員が個人エージェントを実行できる場合は、[個人エージェントの実行] を空白のままにしておく。
  • 特定のユーザーに限り個人エージェントを実行できる場合は、[個人エージェントの実行] で名前を指定する。

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

共有エージェント

このタスクについて

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

  • ユーザーに共有エージェントの実行を認める場合は、そのユーザーに [読者] 以上のアクセス権を指定する。
  • ユーザーに共有エージェントの実行を認めない場合は、ACL に名前を指定しないか、 [投稿者] アクセス権を指定する。

LotusScript/Java エージェント

このタスクについて

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

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

エージェントの実行場所

このタスクについて

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

  • サーバーにアクセスするエージェントを実行するユーザー全員に、サーバーへのアクセスを認めている場合は、[サーバーへのアクセス可] を空白のままにしておきます。
  • 直接またはエージェントを通してユーザーがサーバーにアクセスできないようにする場合は、[サーバーへのアクセス可] にユーザー名を指定します。これにより、指定されていないユーザーがサーバーにアクセスするエージェントを実行しようとした場合にも、エージェントは実行されません。また、[サーバーへのアクセス不可] でユーザー名を指定することもできます。
    注: これらの制限は、他のサーバーまたはクライアントから実行しているエージェントに適用されます。[サーバーアクセス] セクションは、サーバー上ですでに実行が予定されているエージェントには影響しません。

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

このタスクについて

エージェントが処理できる文書を制御するために、Domino では、文書が保管されているデータベースの ACL を次のように確認します。

  • シンプルアクション、LotusScript、または Java を使用するエージェントの場合は、Domino によりユーザーの ACL が調べられます。
  • 式を使用するエージェントの場合は、Domino により、エージェントが作成されたデータベースの複製 ID が調べられます。したがって、エージェントが式を使用して別のデータベースにある文書にアクセスできるようにするには、エージェントがアクセスするデータベースごとにデータベース複製 ID を記述しておく必要があります。

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

  • すべてのユーザーに対してデータベースの作成を認める場合は、[データベースとテンプレートの作成] を空白のままにしておきます。これにより、新規データベースを作成するエージェントを実行するユーザーは、誰でもサーバー上で新規データベースを作成できます。
  • データベースの作成をすべてのユーザーに認めるわけではない場合は、[データベースとテンプレートの作成] で、データベースの作成を許可するユーザーの名前を指定します。 これにより、指定されていないユーザーがデータベースを作成するエージェントを実行すると、エラーが通知されて、データベースは作成されません。

制限を点検する状況

このタスクについて

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

  • ローカルまたはサーバー上で実行中の場合
  • フォアグラウンドまたはバックグラウンドで実行中の場合
  • エージェントが Web または Notes クライアントから起動される場合

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

このタスクについて

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

  • Notes クライアントデータベースの中で実行される場合
  • 定期エージェントの [実行] リストから [ローカル] を選択した場合
  • ユーザーがエージェントの起動を Notes クライアントの [アクション] メニュー、Domino Designer の [エージェント] - [実行] メニュー、[文書が貼り付けられたとき] トリガー、または agent.run によるエージェントの呼び出しから行う場合

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

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

このタスクについて

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

  • 新規メールを受信する前にトリガーします。
  • 新規メールが届いたとき
  • 文書が作成または更新されたとき
  • 1 日 1 回以上をスケジュールで
  • 毎日
  • 毎週
  • 毎月
  • agent.runonserver 経由でエージェントによって呼び出された場合 (呼び出されるエージェントはサーバーに存在する必要があります。)

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

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

このタスクについて

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

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

Notes クライアントまたは Web

このタスクについて

エージェントは有効なユーザーに基づいて Notes クライアントまたは Web で実行されます。有効なユーザーとは、そのユーザーの権限でエージェントが実行されるユーザーです。有効なユーザーはエージェントが実行される環境によって異なります。

エージェントの種類

有効なユーザー

Notes クライアントエージェント

現在のユーザー ID

Web エージェント

次のいずれかです。

  • 現在の Web ユーザー
  • エージェントの署名者 (エージェントの所有者)
  • [代理で実行] ([エージェントのプロパティ] インフォボックスの [セキュリティ] タブで設定します。)

定期エージェント

次のいずれかを行います。

  • エージェントの署名者 (エージェントの所有者)
  • [代理で実行] ([エージェントのプロパティ] インフォボックスの [セキュリティ] タブで設定します。)

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

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

手順

  1. エージェントリストでエージェント名をダブルクリックします。
  2. [セキュリティ] タブをクリックします。
  3. [Web ユーザーで実行] チェックボックスをオンにします。

タスクの結果

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

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

このタスクについて

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

  • 最初のエージェントがシンプルアクションまたは式を使用する場合
  • 最初のエージェントが LotusScript または Java を使用する場合