第46章 ケース管理のセキュリティー

ケースは、ケー出力ルを使用して、ケース定義レベルで設定されます。これは、ケース処理に関与する一般的な参加者です。このようなロールはユーザータスクに割り当てられるか、連絡先参照として使用されます。ロールは、特定のユーザーまたはグループにはハードコードされず、ケース定義を、指定したケースインスタンスに関与する実際のアクターとは独立させます。ケースインスタンスがアクティブである限り、いつでもケー出力ル割り当てを修正できます。ただし、ロール割り当ては、以前のロール割り当てに基づいて作成されているタスクには影響を及ぼしません。

ケースインスタンスのセキュリティーはデフォルトで有効になります。ケース定義は、そのケースに属していないユーザーがケースデータにアクセスしないようにします。ユーザーにケー出力ル割り当て (ユーザーまたはグループメンバーとしての割り当て) がない場合は、ケースインスタンスにアクセスできません。

ケースのセキュリティーは、ケースインスタンスを開始する場合に、ケー出力ルを割り当てることが推奨される理由の 1 つです。これにより、ケースにアクセスできないユーザーにタスクが割り当てられないようにします。

46.1. ケース管理のセキュリティーの設定

以下のシステムプロパティーを false に設定すると、ケースインスタンスの認証を無効にできます。

org.jbpm.cases.auth.enabled

システムプロパティーは、ケースインスタンスに対するセキュリティーコンポーネントの 1 つでしかありません。さらに、case-authorization.properties ファイルを使用して実行サーバーレベルでケース操作を設定できます。これは、実行サーバーアプリケーションのクラスパスの root (kie-server.war/WEB-INF/classes) で利用できます。

可能なすべてのケース定義に簡易な設定ファイルを使用すると、ケース管理はドメイン固有のものとして見なされます。ケースセキュリティーの AuthorizationManager はプラグ可能で、特定のセキュリティー処理にカスタムコードを追加できます。

以下のケースインスタンス操作をケー出力ルに制限できます。

  • CANCEL_CASE
  • DESTROY_CASE
  • REOPEN_CASE
  • ADD_TASK_TO_CASE
  • ADD_PROCESS_TO_CASE
  • ADD_DATA
  • REMOVE_DATA
  • MODIFY_ROLE_ASSIGNMENT
  • MODIFY_COMMENT

前提条件

  • Red Hat Process Automation Manager の KIE Server が実行されていない。

手順

  1. 任意のエディターで、JBOSS_HOME/standalone/deployments/kie-server.war/WEB-INF/classes/case-authorization.properties ファイルを開きます。

    デフォルトでは、ファイルには以下の操作制限が含まれます。

    CLOSE_CASE=owner,admin
    CANCEL_CASE=owner,admin
    DESTROY_CASE=owner,admin
    REOPEN_CASE=owner,admin
  2. 必要に応じて、この操作に対するロールパーミッションを追加または削除します。

    1. ロールが操作を実行するためのパーミッションを削除するには、case-authorization.properties ファイルでその操作に対して認証されているロールの一覧から削除します。たとえば、admin ロールを CLOSE_CASE 操作から削除すると、すべてのケースで、そのケース所有者に対してケースを閉じるパーミッションに制限がかかります。
    2. ケース操作を実行するロールパーミッションを付与するには、case-authorization.properties ファイルでその操作に対して承認されているロールの一覧に追加します。たとえば、manager ロールがあれば CLOSE_CASE 操作を実行できるように許可する場合は、ロールの一覧に、コンマ区切りのロールを追加できます。

      CLOSE_CASE=owner,admin,manager

  3. ファイルに挙げられているその他のケース操作にロール制限を追加するには、行から # を削除し、以下の形式でロール名を一覧表示します。

    OPERATION=role1,role2,roleN

    ファイル内で # で始まる操作の制限は無視され、ケースに関与するユーザーは誰でも実行できます。

  4. ロールパーミッションの割り当てを終了したら、case-authorization.properties ファイルを保存して閉じます。
  5. 実行サーバーを開始します。

    ケース認証設定は、実行サーバーのすべてのケースに適用します。