ランタイム・ユーザーの可用性とライフサイクル

使用する IBM® Business Process Manager の環境で必要に応じて、ユーザーの作成や保守を行うことができます。 ただし、ユーザーが IBM BPM のランタイム操作を実行できるようにするには、IBM BPM データベース内でそれらのユーザーを使用可能な状態にしておく必要があります。

IBM BPM は、WebSphere® Application Server のユーザー・レジストリーからユーザー情報を取得します。 同様に、WebSphere Application Server は、構成済みユーザー・レジストリー (LDAP やカスタムのユーザー・レジストリーなど) からユーザー情報を取得します。詳しくは、IBM Business Process Manager セキュリティーの概要を参照してください。

ユーザーのアクティブ化

ユーザーは、ユーザー・レジストリー内で使用可能な状態になっている場合に限り、IBM BPM データベース内でアクティブにすることができます。以下のようなランタイム操作を実行すると、ユーザーがアクティブになります。
  • ユーザーが IBM BPM にログインした場合。
  • 管理者が、usersSync コマンドまたは usersFullSync コマンドを使用して、IBM BPM データベースをユーザー・レジストリーに同期化した場合。詳しくは、『ユーザーの同期化』を参照してください。
  • 管理者が、Process Admin Console のユーザー管理セクションを使用して、WebSphere Application Server のデフォルトのファイル・リポジトリー内にユーザーを作成した場合。
  • refreshUser パラメーターを使用して、user または users REST API リソースを呼び出した場合。
これらの操作を実行して、非アクティブなユーザーをアクティブにすることもできます。通常、特定のユーザーがいずれかのランタイム API を実行して初めて別のユーザーを参照した場合も、それらのユーザーがアクティブになります。
IBM BPM バージョン 8570 累積フィックス 2016.09

ユーザーの非アクティブ化

制約事項: Web サービス API を使用してトリガーされたアクションの場合、ユーザーの非アクティブ化は考慮されません。そのため、Web サービス API を使用する場合は、syncExistingUsers コマンドなど、ユーザーの非アクティブ化が要素として関係する操作を実行しないでください。

ユーザー・レジストリーからユーザーを削除することはできますが、IBM BPM データベースからユーザー・エントリーを削除することはできません。 そのため、非アクティブなユーザーにタスクを割り当てたり、非アクティブなユーザーをコラボレーションに招待することは引き続き可能です。syncExistingUsers コマンドを実行すると、こうしたユーザーを完全に非アクティブ化することができます。 このコマンドを実行すると、ユーザー・レジストリー内に存在しないユーザーについて、データベース内で非アクティブのフラグが付きます。このコマンドを実行するたびに、ユーザーのアクティブ化状況が、ユーザー・レジストリー内の対応するユーザーの可用性と同期されます。詳しくは、ユーザーの同期化を参照してください。

非アクティブ化フラグは、REST API 呼び出しまたは JavaScript API 呼び出しによってトリガーされた新しい実行時割り当てとコラボレーションの招待について確認されます。または、BPD タスクの割り当て時にシステムによって確認されます。
API 呼び出しによる割り当てと招待
非アクティブなユーザーにタスクを再割り当てしたり、コラボレーションの招待を送信したりすると、そのアクションが拒否され、エラー・メッセージが返されます。その場合は、別のユーザーにタスクを再割り当てしたり、別のユーザーをコラボレーションに招待したり、目的のユーザーの可用性を元に戻したりすることができます。

非アクティブなユーザーをクライアント側で操作する目的で、REST API メソッドと JavaScript API メソッドから返されるユーザー詳細オブジェクトに、ユーザーの可用性状況を示すフラグが組み込まれています。また、ユーザーを検索する既存の REST API メソッドを使用して、検索結果をアクティブなユーザーや非アクティブなユーザーだけに制限することもできます。非アクティブなユーザーを特定するには、非アクティブなユーザーに割り当てられている可能性のあるタスクを検索するためのメソッドを使用して、そのユーザーの割り当て状況を確認します。

BPD タスク割り当て
通常、ユーザー・メンバーシップを動的に判断する BPD タスク割り当てオプション (チーム・フィルター・サービスやチーム取得サービスなど) では、非アクティブなユーザーにタスクが割り当てられることはありません。これらのオプションを使用すると、対応するメッセージが systemOut.log ファイルに記録されます。どの割り当てオプションで非アクティブなユーザーを使用しても、そのオプションで定義されている動作が変わることはありません。例えば、アクティブなユーザーが存在しない場合、「ユーザー・リスト」オプションを使用するとエラーが発生しますが、チーム取得サービスは空のチームにタスクを割り当てます。タスク割り当ての定義について詳しくは、BPD アクティビティーへのチームの割り当てを参照してください。

場合によっては、非アクティブなユーザーや空のグループにタスクが割り当てられることがあります。そのため、BPMServerSecurityUsers 構成オブジェクトの userToOwnTask プロパティーを設定して、こうしたタスクを所有するための代替ユーザーを定義しておくことをお勧めします。userToOwnTask ユーザーも非アクティブになった場合は、代替ユーザーにタスクが割り当てられるため、こうしたタスクを簡単に探すことができます。詳しくは、Security configuration propertiesを参照してください。

注: すべての BPD タスク割り当てオプションで、アクティブなユーザーと非アクティブなユーザーが区別されるわけではありません。例えば、複数のチームやグループにメンバーを手動で追加した場合、それらのメンバーが非アクティブであるかどうかに関係なくタスクが割り当てられます。