第2章 セキュリティー管理

セキュリティー管理とは、ユーザー、グループ、パーミッションを管理するプロセスです。Business Central セキュリティー管理ページから Business Central のリソースおよび機能へのアクセスを制御できます。

Business Central は、ユーザー、グループ、およびロールのセキュリティー管理のエンティティーを 3 種類定義します。パーミッションは、ロールにもグループにも両方割り当てることができます。ユーザーは、所属するグループおよびロールのパーミッションを継承します。

2.1. セキュリティー管理プロバイダー

レルムは、セキュリティー管理のコンテキストで各種アプリケーションリソースへのアクセスを制限します。レルムには、ユーザー、グループ、ロール、パーミッションに関する情報が含まれます。特定のレルムに対する具体的なユーザーおよびグループ管理サービスの実装は、セキュリティー管理プロバイダーと呼ばれます。

組み込みのセキュリティー管理プロバイダーがアプリケーションセキュリティーレルムの要件を満たさない場合は、独自のセキュリティー管理プロバイダーを構築して登録できます。

注記

セキュリティー管理プロバイダーがインストールされていない場合は、セキュリティーレルムを管理するユーザーインターフェイスは利用できません。セキュリティー管理プロバイダーをインストールして設定した後に、セキュリティー管理ユーザーインターフェイスでユーザーおよびグループの管理機能は自動的に有効になります。

Business Central には、application-users.properties または application-roles.properties プロパティーファイルの内容を基にレルムタイプをサポートする Red Hat JBoss EAP セキュリティー管理プロバイダーが含まれます。

2.1.1. プロパティーファイルを基にした Red Hat JBoss EAP セキュリティー管理プロバイダーの設定

独自の Red Hat JBoss EAP セキュリティー管理プロバイダーを構築して登録できます。プロパティーファイルを基にして Red Hat JBoss EAP セキュリティー管理プロバイダーを使用するには、以下の手順を行います。

前提条件

  • Red Hat JBoss EAP がインストールされている。

手順

  1. Red Hat JBoss EAP インスタンスの既存のユーザーまたはロールプロパティーファイルを使用するには、以下の例で示すように、EAP_HOME/standalone/configuration/application-users.properties および EAP_HOME/standalone/configuration/application-roles.properties ファイルに以下のシステムプロパティーを含めます。

    <property name="org.uberfire.ext.security.management.wildfly.properties.realm" value="ApplicationRealm"/>
    <property name="org.uberfire.ext.security.management.wildfly.properties.users-file-path" value="/standalone/configuration/application-users.properties"/>
    <property name="org.uberfire.ext.security.management.wildfly.properties.groups-file-path" value="/standalone/configuration/application-roles.properties"/>

    以下の表は、これらのプロパティーの説明とデフォルト値を示しています。

    表2.1 プロパティーファイルを基にする Red Hat JBoss EAP セキュリティー管理プロバイダー

    プロパティー説明デフォルト値

    org.uberfire.ext.security.management.wildfly.properties.realm

    レルムの名前このプロパティーは必須ではありません。

    ApplicationRealm

    org.uberfire.ext.security.management.wildfly.properties.users-file-path

    ユーザープロパティーファイルの絶対パス。このプロパティーは必須です。

    ./standalone/configuration/application-users.properties

    org.uberfire.ext.security.management.wildfly.properties.groups-file-path

    グループプロパティーファイルの絶対パス。このプロパティーは必須です。

    ./standalone/configuration/application-roles.properties

  2. アプリケーションのルートディレクトリーに security-management.properties ファイルを作成します。たとえば、以下のファイルを作成します。

    src/main/resources/security-management.properties
  3. security-management.properties ファイルの値として、以下のシステムプロパティーおよびセキュリティープロバイダー名を入力します。

    <property name="org.uberfire.ext.security.management.api.userManagementServices" value="WildflyUserManagementService"/>

2.1.2. プロパティーファイルと CLI モードを基にした Red Hat JBoss EAP セキュリティー管理プロバイダーの設定

プロパティーファイルと CLI モードを基に Red Hat JBoss EAP セキュリティー管理プロバイダーを使用するには、以下の手順を行います。

前提条件

  • Red Hat JBoss EAP がインストールされている。

手順

  1. Red Hat JBoss EAP インスタンスの既存のユーザーまたはロールプロパティーファイルを使用するには、以下の例で示すように、EAP_HOME/standalone/configuration/application-users.properties および EAP_HOME/standalone/configuration/application-roles.properties ファイルに以下のシステムプロパティーを含めます。

    <property name="org.uberfire.ext.security.management.wildfly.cli.host" value="localhost"/>
    <property name="org.uberfire.ext.security.management.wildfly.cli.port" value="9990"/>
    <property name="org.uberfire.ext.security.management.wildfly.cli.user" value="<USERNAME>"/>
    <property name="org.uberfire.ext.security.management.wildfly.cli.password" value="<USER_PWD>"/>
    <property name="org.uberfire.ext.security.management.wildfly.cli.realm" value="ApplicationRealm"/>

    以下の表は、これらのプロパティーの説明とデフォルト値を示しています。

    表2.2 プロパティーファイルと CLI モードを基にする Red Hat JBoss EAP セキュリティー管理プロバイダー

    プロパティー説明デフォルト値

    org.uberfire.ext.security.management.wildfly.cli.host

    ネイティブ管理インターフェイスホスト。

    localhost

    org.uberfire.ext.security.management.wildfly.cli.port

    ネイティブ管理インターフェイスポート。

    9990

    org.uberfire.ext.security.management.wildfly.cli.user

    ネイティブ管理インターフェイスのユーザー名。

    NA

    org.uberfire.ext.security.management.wildfly.cli.password

    ネイティブ管理インターフェイスのユーザーのパスワード。

    NA

    org.uberfire.ext.security.management.wildfly.cli.realm

    アプリケーションのセキュリティーコンテキストで使用されるレルム。

    ApplicationRealm

  2. アプリケーションのルートディレクトリーに security-management.properties ファイルを作成します。たとえば、以下のファイルを作成します。

    src/main/resources/security-management.properties
  3. security-management.properties ファイルの値として、以下のシステムプロパティーおよびセキュリティープロバイダー名を入力します。

    <property name="org.uberfire.ext.security.management.api.userManagementServices" value="WildflyCLIUserManagementService"/>